diff options
author | Harald Welte <laforge@gnumonks.org> | 2016-10-15 23:26:17 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-10-25 19:19:55 +0000 |
commit | ff41263fe3f78cd5b080789e9ec50ce779ef6494 (patch) | |
tree | 5cf2ac66a1b54e12f715adeaf39b23d1fc127bf3 | |
parent | d8db5646efc17dec73426e3745a9c9ef704a91c7 (diff) |
packet-rsl: Add some extensions to RSL shared by Osmocom + Ericsson
Activation of (dynamic) PDCH uses some slight extensions of the
definitions found in 3GPP TS 48.058 when used on Ericsson RBS2000 or
Osmocom OsmoBTS.
The extensions are backwards-compatible, so I don't think it's worth to
introduce a preference for this.
Change-Id: I8e28d75bd8be15044a605ced8825b9b074ffbb22
Reviewed-on: https://code.wireshark.org/review/18457
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | epan/dissectors/packet-rsl.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/epan/dissectors/packet-rsl.c b/epan/dissectors/packet-rsl.c index 3d7895ab11..9c0246c957 100644 --- a/epan/dissectors/packet-rsl.c +++ b/epan/dissectors/packet-rsl.c @@ -660,6 +660,8 @@ static const value_string rsl_ch_no_Cbits_vals[] = { { 0x10, "BCCH" }, { 0x11, "Uplink CCCH (RACH)" }, { 0x12, "Downlink CCCH (PCH + AGCH)" }, + /* used by Osmocom and Ericsson */ + { 0x18, "PDCH" }, { 0, NULL } }; static value_string_ext rsl_ch_no_Cbits_vals_ext = VALUE_STRING_EXT_INIT(rsl_ch_no_Cbits_vals); @@ -784,6 +786,8 @@ static const value_string rsl_a3a2_vals[] = { { 0x00, "Activation related to intra-cell channel change" }, { 0x01, "Activation related to inter-cell channel change (handover)" }, { 0x02, "Activation related to secondary channels" }, + /* non-standard value used by Ericsson */ + { 0x03, "Activation related to packet data channel" }, { 0, NULL } }; @@ -3464,7 +3468,9 @@ dissct_rsl_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) /* Activation Type 9.3.3 M TV 2 */ offset = dissect_rsl_ie_act_type(tvb, pinfo, tree, offset, TRUE); /* Channel Mode 9.3.6 M TLV 8-9 */ - offset = dissect_rsl_ie_ch_mode(tvb, pinfo, tree, offset, TRUE); + if (tvb_reported_length_remaining(tvb, offset) > 0) + /* mandatory in 48.008, but not in Ericsson + Osmocom */ + offset = dissect_rsl_ie_ch_mode(tvb, pinfo, tree, offset, TRUE); /* Channel Identification 9.3.5 O 7) TLV 8 */ if (tvb_reported_length_remaining(tvb, offset) > 0) offset = dissect_rsl_ie_ch_id(tvb, pinfo, tree, offset, FALSE); |