aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rsl.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2008-04-15 20:40:06 +0000
committerAnders Broman <anders.broman@ericsson.com>2008-04-15 20:40:06 +0000
commitce1abe9f3b0aa11075243bc5a0803d25fa73a869 (patch)
tree35fc5b76df2fed6126aaf165a2a85776ad5f4e03 /epan/dissectors/packet-rsl.c
parenta7144cf536dcdecca697da3505ee701869ccf147 (diff)
Fix some typos etc.
svn path=/trunk/; revision=25053
Diffstat (limited to 'epan/dissectors/packet-rsl.c')
-rw-r--r--epan/dissectors/packet-rsl.c69
1 files changed, 47 insertions, 22 deletions
diff --git a/epan/dissectors/packet-rsl.c b/epan/dissectors/packet-rsl.c
index 51ccbac2ce..d250414732 100644
--- a/epan/dissectors/packet-rsl.c
+++ b/epan/dissectors/packet-rsl.c
@@ -143,7 +143,7 @@ static int ett_ie_resource_inf = -1;
static int ett_ie_rlm_cause =-1;
static int ett_ie_staring_time = -1;
static int ett_ie_timing_adv = -1;
-static int ett_ie_uplik_meas = -1;
+static int ett_ie_uplink_meas = -1;
static int ett_ie_full_imm_ass_inf = -1;
static int ett_ie_smscb_inf = -1;
static int ett_ie_ms_timing_offset = -1;
@@ -178,6 +178,8 @@ proto_tree *top_tree;
dissector_handle_t gsm_a_ccch_handle = NULL;
dissector_handle_t gsm_a_dtap_handle = NULL;
+static gboolean is_si2q = FALSE;
+
/* Forward declarations */
static int dissct_rsl_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset);
@@ -428,7 +430,7 @@ static const value_string rsl_ie_type_vals[] = {
{ 0x18, "Timing Advance" }, /* 9.3.24 */
{ 0x19, "Uplink Measurements" }, /* 9.3.25 */
{ 0x1a, "Cause" }, /* 9.3.26 */
- { 0x1b, "Measurement result number" }, /* 9.3.27 */
+ { 0x1b, "Measurement Result Number" }, /* 9.3.27 */
{ 0x1c, "Message Identifier" }, /* 9.3.28 */
{ 0x1d, "reserved" }, /* */
{ 0x1e, "System Info Type" }, /* 9.3.30 */
@@ -443,26 +445,26 @@ static const value_string rsl_ie_type_vals[] = {
{ 0x27, "Full BCCH Information" }, /* 9.3.39 */
{ 0x28, "Channel Needed" }, /* 9.3.40 */
{ 0x29, "CB Command type" }, /* 9.3.41 */
- { 0x2a, "SMSCB message" }, /* 9.3.42 */
+ { 0x2a, "SMSCB Message" }, /* 9.3.42 */
{ 0x2b, "Full Immediate Assign Info" }, /* 9.3.35 */
{ 0x2c, "SACCH Information" }, /* 9.3.29 */
{ 0x2d, "CBCH Load Information" }, /* 9.3.43 */
{ 0x2e, "SMSCB Channel Indicator" }, /* 9.3.44 */
- { 0x2f, "Group call reference" }, /* 9.3.45 */
- { 0x30, "Channel description" }, /* 9.3.46 */
- { 0x31, "NCH DRX information" }, /* 9.3.47 */
- { 0x32, "Command indicator" }, /* 9.3.48 */
+ { 0x2f, "Group Call Reference" }, /* 9.3.45 */
+ { 0x30, "Channel Description" }, /* 9.3.46 */
+ { 0x31, "NCH DRX Information" }, /* 9.3.47 */
+ { 0x32, "Command Indicator" }, /* 9.3.48 */
{ 0x33, "eMLPP Priority" }, /* 9.3.49 */
{ 0x34, "UIC" }, /* 9.3.50 */
- { 0x35, "Main channel reference" }, /* 9.3.51 */
- { 0x36, "MultiRate configuration" }, /* 9.3.52 */
+ { 0x35, "Main Channel Reference" }, /* 9.3.51 */
+ { 0x36, "MultiRate Configuration" }, /* 9.3.52 */
{ 0x37, "MultiRate Control" }, /* 9.3.53 */
{ 0x38, "Supported Codec Types" }, /* 9.3.54 */
{ 0x39, "Codec Configuration" }, /* 9.3.55 */
{ 0x3a, "Round Trip Delay" }, /* 9.3.56 */
{ 0x3b, "TFO Status" }, /* 9.3.57 */
{ 0x3c, "LLP APDU" }, /* 9.3.58 */
- { 0x3d, "TFO transparent container" }, /* 9.3.59 */
+ { 0x3d, "TFO Transparent Container" }, /* 9.3.59 */
/*
0 0 1 1 1 1 1 0
to
@@ -572,7 +574,7 @@ dissect_rsl_ie_link_id(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
return offset;
}
- ti = proto_tree_add_text(tree, tvb,offset,2,"Link Identifier IE ");
+ ti = proto_tree_add_text(tree, tvb,offset,2, "Link Identifier IE ");
ie_tree = proto_item_add_subtree(ti, ett_ie_link_id);
/* Element identifier */
@@ -935,10 +937,10 @@ dissect_rsl_ie_ch_mode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
proto_tree_add_text(ie_tree, tvb,offset,1,"Speech or data indicator != 1,2 or 3");
break;
}
+
offset++;
return ie_offset + length;
-
}
/*
@@ -987,7 +989,6 @@ dissect_rsl_ie_enc_inf(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
offset++;
/* Algorithm Identifier field (octet 3) */
-
proto_tree_add_item(ie_tree, hf_rsl_alg_id, tvb, offset, 1, FALSE);
/* key */
@@ -1129,12 +1130,11 @@ dissect_rsl_ie_L3_inf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int o
length = tvb_get_ntohs(tvb, offset);
proto_item_set_len(ti, length+3);
proto_tree_add_item(ie_tree, hf_rsl_ie_length, tvb, offset, 2, FALSE);
- offset= offset +2;
+ offset= offset+2;
/* Link Layer Service Data Unit (i.e. a layer 3 message
* as defined in 3GPP TS 24.008 or 3GPP TS 44.018)
*/
-
proto_tree_add_text(ie_tree, tvb,offset,length,"Link Layer Service Data Unit ( L3 Message)");
next_tvb = tvb_new_subset(tvb, offset, length, length);
call_dissector(gsm_a_dtap_handle, next_tvb, pinfo, top_tree);
@@ -1674,7 +1674,7 @@ dissect_rsl_ie_uplik_meas(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
}
ti = proto_tree_add_text(tree, tvb,offset,0,"Uplink Measurements IE");
- ie_tree = proto_item_add_subtree(ti, ett_ie_uplik_meas);
+ ie_tree = proto_item_add_subtree(ti, ett_ie_uplink_meas);
/* Element identifier */
proto_tree_add_item(ie_tree, hf_rsl_ie_id, tvb, offset, 1, FALSE);
@@ -1864,7 +1864,7 @@ dissect_rsl_ie_sys_info_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
{
proto_item *ti;
proto_tree *ie_tree;
- guint8 ie_id;
+ guint8 ie_id, sitype;
if(is_mandatory == FALSE){
ie_id = tvb_get_guint8(tvb,offset);
@@ -1880,9 +1880,16 @@ dissect_rsl_ie_sys_info_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
offset++;
/* Message Type */
proto_tree_add_item(tree, hf_rsl_sys_info_type, tvb, offset, 1, FALSE);
+ sitype = tvb_get_guint8(tvb, offset);
offset++;
+
+ /* Check if SI is 2q, if so set flag */
+ if (sitype==0x29) {
+ is_si2q = TRUE; }
+
return offset;
}
+
/*
* 9.3.35 Full Immediate Assign Info TLV 25
*/
@@ -2069,10 +2076,10 @@ dissect_rsl_ie_full_bcch_inf(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
proto_tree_add_item(ie_tree, hf_rsl_ie_id, tvb, offset, 1, FALSE);
offset++;
/* Length */
- length = tvb_get_ntohs(tvb, offset);
- proto_item_set_len(ti, length+3);
- proto_tree_add_item(ie_tree, hf_rsl_ie_length, tvb, offset, 2, FALSE);
- offset= offset +2;
+ length = tvb_get_guint8(tvb, offset);
+ proto_item_set_len(ti, length+2);
+ proto_tree_add_item(ie_tree, hf_rsl_ie_length, tvb, offset, 1, FALSE);
+ offset++;
/*
* Octets 3-25 contain the complete L3 message as defined in 3GPP TS 44.018.
@@ -2684,6 +2691,22 @@ dissect_rsl_ie_sup_codec_types(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
/*
* 9.3.55 Codec Configuration
*/
+/* The Active Codec Type field (bits 1-8, octet 3) indicates the type of codec in use. It is coded as follows: */
+/*
+0 0 0 0 . 0 0 0 0: Full Rate Codec in use
+0 0 0 0 . 0 0 0 1: Half Rate Codec in use
+0 0 0 0 . 0 0 1 0: Enhanced Full Rate Codec in use
+0 0 0 0 . 0 0 1 1: FR Adaptive Multi Rate Codec in use
+0 0 0 0 . 0 1 0 0: HR Adaptive Multi Rate Codec in use
+0 0 0 0 . 0 1 0 1: UMTS Adaptive Multi Rate Codec in use
+0 0 0 0 . 0 1 1 0: UMTS Adaptive Multi Rate 2 Codec in use
+0 0 0 0 . 1 0 0 1: Full Rate Adaptive Multi-Rate WideBand Codec in use
+0 0 0 0 1 0 1 0 UMTS Adaptive Multi-Rate WideBand Codec in use
+0 0 0 0 1 0 1 1 8PSK Half Rate Adaptive Multi-Rate Codec in use
+0 0 0 0 1 1 0 0 8PSK Full Rate Adaptive Multi-Rate WideBand Codec in use
+0 0 0 0 1 1 0 1 8PSK Half Rate Adaptive Multi-Rate WideBand Codec in use
+All other values are reserved for future use
+*/
static int
dissect_rsl_ie_codec_conf(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, gboolean is_mandatory)
{
@@ -2709,6 +2732,8 @@ dissect_rsl_ie_codec_conf(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
proto_tree_add_item(ie_tree, hf_rsl_ie_length, tvb, offset, 1, FALSE);
offset++;
+ /* Active Codec Type */
+
return offset + length;
}
@@ -3885,7 +3910,7 @@ void proto_register_rsl(void)
&ett_ie_rlm_cause,
&ett_ie_staring_time,
&ett_ie_timing_adv,
- &ett_ie_uplik_meas,
+ &ett_ie_uplink_meas,
&ett_ie_full_imm_ass_inf,
&ett_ie_smscb_inf,
&ett_ie_ms_timing_offset,