diff options
-rw-r--r-- | epan/dissectors/packet-rsl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/epan/dissectors/packet-rsl.c b/epan/dissectors/packet-rsl.c index a98438157a..4785a77e7b 100644 --- a/epan/dissectors/packet-rsl.c +++ b/epan/dissectors/packet-rsl.c @@ -1355,6 +1355,8 @@ dissect_rsl_ie_L3_inf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o /* L3 PDUs carried on CCCH have L2 PSEUDO LENGTH octet or are RR Short PD format */ proto_tree_add_item(ie_tree, hf_rsl_llsdu_ccch, tvb, offset, length, ENC_NA); next_tvb = tvb_new_subset_length(tvb, offset, length); + /* The gsm_a_ccch dissector is the only one handling messages with L2 pseudo-length, + * so we pass it also downlink SACCH (SI5/SI6 and related) */ call_dissector(gsm_a_ccch_handle, next_tvb, pinfo, top_tree); } else if (type == L3_INF_SACCH) @@ -3729,7 +3731,7 @@ dissct_rsl_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) /* L3 Info (SYS INFO) 9.3.11 O 1) TLV 22 */ if (tvb_reported_length_remaining(tvb, offset) > 0) offset = dissect_rsl_ie_L3_inf(tvb, pinfo, tree, offset, FALSE, - (sys_info_type == 0x48) ? L3_INF_SACCH : L3_INF_OTHER); + (sys_info_type == 0x48) ? L3_INF_SACCH : L3_INF_CCCH); /* Starting Time 9.3.23 O 2) TV 3 */ if (tvb_reported_length_remaining(tvb, offset) > 0) offset = dissect_rsl_ie_starting_time(tvb, pinfo, tree, offset, FALSE); @@ -4022,7 +4024,7 @@ dissct_rsl_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) /* L3 Info 9.3.11 O 1) TLV 22 */ if (tvb_reported_length_remaining(tvb, offset) > 0) offset = dissect_rsl_ie_L3_inf(tvb, pinfo, tree, offset, FALSE, - (sys_info_type == 0x48) ? L3_INF_SACCH : L3_INF_OTHER); + (sys_info_type == 0x48) ? L3_INF_SACCH : L3_INF_CCCH); /* Starting Time 9.3.23 O 2) TV 3 */ if (tvb_reported_length_remaining(tvb, offset) > 0) offset = dissect_rsl_ie_starting_time(tvb, pinfo, tree, offset, FALSE); |