aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-10-15 23:26:17 +0200
committerMichael Mann <mmann78@netscape.net>2016-10-25 19:19:55 +0000
commitff41263fe3f78cd5b080789e9ec50ce779ef6494 (patch)
tree5cf2ac66a1b54e12f715adeaf39b23d1fc127bf3
parentd8db5646efc17dec73426e3745a9c9ef704a91c7 (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.c8
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);