aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-gsm_ipa.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/epan/dissectors/packet-gsm_ipa.c b/epan/dissectors/packet-gsm_ipa.c
index bfc7562ae7..bcd987febf 100644
--- a/epan/dissectors/packet-gsm_ipa.c
+++ b/epan/dissectors/packet-gsm_ipa.c
@@ -63,7 +63,7 @@ static dissector_handle_t sub_handles[SUB_MAX];
#define TCP_PORT_ABISIP_INST 3006
#define TCP_PORT_AIP_PRIM 5000
-#define ABISIP_RSL 0x00
+#define ABISIP_RSL_MAX 0x20
#define AIP_SCCP 0xfd
#define ABISIP_IPACCESS 0xfe
#define ABISIP_OML 0xff
@@ -206,10 +206,6 @@ dissect_ipa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
next_tvb = tvb_new_subset(tvb, offset+3, len, len);
switch (msg_type) {
- case ABISIP_RSL:
- /* hand this off to the standard A-bis RSL dissector */
- call_dissector(sub_handles[SUB_RSL], next_tvb, pinfo, tree);
- break;
case ABISIP_OML:
/* hand this off to the standard A-bis OML dissector */
if (sub_handles[SUB_OML])
@@ -223,6 +219,12 @@ dissect_ipa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* hand this off to the standard SCCP dissector */
call_dissector(sub_handles[SUB_SCCP], next_tvb, pinfo, tree);
break;
+ default:
+ if (msg_type < ABISIP_RSL_MAX) {
+ /* hand this off to the standard A-bis RSL dissector */
+ call_dissector(sub_handles[SUB_RSL], next_tvb, pinfo, tree);
+ }
+ break;
}
offset += len + 3;
}