summaryrefslogtreecommitdiff
path: root/asn1
diff options
context:
space:
mode:
Diffstat (limited to 'asn1')
-rw-r--r--asn1/gsm_map/gsm_map.cnf10
1 files changed, 7 insertions, 3 deletions
diff --git a/asn1/gsm_map/gsm_map.cnf b/asn1/gsm_map/gsm_map.cnf
index fb36358620..6d7294badc 100644
--- a/asn1/gsm_map/gsm_map.cnf
+++ b/asn1/gsm_map/gsm_map.cnf
@@ -334,11 +334,15 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
#.FN_BODY SM-DeliveryFailureCause
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ guint8 oct;
%(DEFAULT_BODY)s
- if (!actx->value_ptr)
- return offset;
- dissector_try_uint(sms_dissector_table, 0, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree);
+ if (!actx->value_ptr)
+ return offset;
+ /* Detailed diagnostic information contains either a SMS-SUBMIT-REPORT or a SMS-DELIVERY-REPORT */
+ oct = tvb_get_guint8((tvbuff_t*)actx->value_ptr, 0);
+ actx->pinfo->p2p_dir = ((oct & 0x03) == 0) ? P2P_DIR_RECV : P2P_DIR_SENT;
+ dissector_try_uint(sms_dissector_table, 0, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree);
#.FN_BODY ForwardSM-Arg