aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/gsmmap
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2008-03-25 21:49:55 +0000
committerAnders Broman <anders.broman@ericsson.com>2008-03-25 21:49:55 +0000
commit4d1463f62dce36a6183b36b6aa2b26b609fd7386 (patch)
tree5c4d734bb3cff56a1638fd2743fb82aef894fb78 /asn1/gsmmap
parentbf9a9b83a5d6f62eb22a2c518379937df0cea2dd (diff)
Export:
dissect_gsm_map_GlobalCellId dissect_gsm_map_lcs_Ext_GeographicalInformation Dissect GlobalCellId Fix offset in GeographicalInformation use parameter tvb when calling be_chan_type() svn path=/trunk/; revision=24728
Diffstat (limited to 'asn1/gsmmap')
-rw-r--r--asn1/gsmmap/gsmmap.cnf26
-rw-r--r--asn1/gsmmap/packet-gsmmap-template.c6
2 files changed, 30 insertions, 2 deletions
diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf
index ad41641e06..b1642c5f0e 100644
--- a/asn1/gsmmap/gsmmap.cnf
+++ b/asn1/gsmmap/gsmmap.cnf
@@ -61,6 +61,7 @@ Ext2-QoS-Subscribed
ExtensionContainer
GeographicalInformation
GetPasswordArg
+GlobalCellId
GPRSChargingID
GPRSMSClass
GSMMAPLocalErrorcode
@@ -508,7 +509,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation);
- be_chan_type(tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0);
+ be_chan_type(parameter_tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0);
#.FN_BODY RANAP-ServiceHandover VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
@@ -586,6 +587,29 @@ if (!actx->value_ptr)
break;
}
+#.FN_BODY GlobalCellId VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId);
+ be_cell_id_aux(parameter_tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0, 0);
+
+#.FN_BODY Ext-GeographicalInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation);
+ dissect_geographical_description(parameter_tvb, actx->pinfo, subtree);
#----------------------------------------------------------------------------------------
#.TYPE_ATTR
diff --git a/asn1/gsmmap/packet-gsmmap-template.c b/asn1/gsmmap/packet-gsmmap-template.c
index 115ad907a8..7c5586bcc0 100644
--- a/asn1/gsmmap/packet-gsmmap-template.c
+++ b/asn1/gsmmap/packet-gsmmap-template.c
@@ -178,6 +178,8 @@ static gint ett_gsm_map_MSNetworkCapability =-1;
static gint ett_gsm_map_MSRadioAccessCapability = -1;
static gint ett_gsm_map_externalsignalinfo = -1;
static gint ett_gsm_map_cbs_data_coding = -1;
+static gint ett_gsm_map_GlobalCellId = -1;
+static gint ett_gsm_map_GeographicalInformation = -1;
#include "packet-gsm_map-ett.c"
@@ -543,6 +545,7 @@ dissect_geographical_description(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
offset++;
/* Confidence */
proto_tree_add_item(tree, hf_gsm_map_geo_loc_confidence, tvb, offset, 1, FALSE);
+ offset++;
}else if(type_of_shape==8){
/* Ellipsoid Point with Altitude */
/*D: Direction of Altitude */
@@ -589,7 +592,6 @@ dissect_geographical_description(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
proto_tree_add_item(tree, hf_gsm_map_geo_loc_confidence, tvb, offset, 1, FALSE);
}else if(type_of_shape==10){
/* Ellipsoid Arc */
- offset++;
/* Inner radius */
proto_tree_add_item(tree, hf_gsm_map_geo_loc_inner_radius, tvb, offset, 2, FALSE);
offset= offset +2;
@@ -2665,6 +2667,8 @@ void proto_register_gsm_map(void) {
&ett_gsm_map_MSRadioAccessCapability,
&ett_gsm_map_externalsignalinfo,
&ett_gsm_map_cbs_data_coding,
+ &ett_gsm_map_GlobalCellId,
+ &ett_gsm_map_GeographicalInformation,
#include "packet-gsm_map-ettarr.c"
};