aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_map.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2008-04-17 07:47:02 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2008-04-17 07:47:02 +0000
commitae932282121e01ee468518579b9f52841ce63ef9 (patch)
tree4b56255bad54b7b48603d58bcf9c9b258963aed2 /epan/dissectors/packet-gsm_map.c
parent51baf7769acfe295b86bc7dc5ff39b922481b0e6 (diff)
From Vasil Velichkov (bug 2471):
Add ASN definition of MAP BeginSubscriberActivity operation. Add call to dissect function in packet template. svn path=/trunk/; revision=25094
Diffstat (limited to 'epan/dissectors/packet-gsm_map.c')
-rw-r--r--epan/dissectors/packet-gsm_map.c45
1 files changed, 41 insertions, 4 deletions
diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c
index c16e83e205..f14518aa4c 100644
--- a/epan/dissectors/packet-gsm_map.c
+++ b/epan/dissectors/packet-gsm_map.c
@@ -1327,6 +1327,9 @@ static int hf_gsm_ss_nameIndicator = -1; /* NameIndicator */
static int hf_gsm_ss_ccbs_Feature = -1; /* CCBS_Feature */
static int hf_gsm_ss_alertingPattern = -1; /* AlertingPattern */
static int hf_gsm_ss_multicall_Indicator = -1; /* Multicall_Indicator */
+static int hf_gsm_ss_imsi = -1; /* IMSI */
+static int hf_gsm_ss_originatingEntityNumber = -1; /* ISDN_AddressString */
+static int hf_gsm_ss_msisdn = -1; /* AddressString */
static int hf_gsm_ss_chargingInformation = -1; /* ChargingInformation */
static int hf_gsm_ss_e1 = -1; /* E1 */
static int hf_gsm_ss_e2 = -1; /* E2 */
@@ -1947,6 +1950,7 @@ static gint ett_gsm_old_SendRoutingInfoResV2 = -1;
/* --- Module SS-DataTypes --- --- --- */
static gint ett_gsm_ss_NotifySS_Arg = -1;
+static gint ett_gsm_ss_BeginSubscriberActivityArg = -1;
static gint ett_gsm_ss_ForwardChargeAdviceArg = -1;
static gint ett_gsm_ss_ChargingInformation = -1;
static gint ett_gsm_ss_ForwardCUG_InfoArg = -1;
@@ -15094,6 +15098,22 @@ dissect_gsm_ss_NotifySS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
}
+static const ber_sequence_t gsm_ss_BeginSubscriberActivityArg_sequence[] = {
+ { &hf_gsm_ss_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
+ { &hf_gsm_ss_originatingEntityNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
+ { &hf_gsm_ss_msisdn , BER_CLASS_PRI, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gsm_ss_BeginSubscriberActivityArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ gsm_ss_BeginSubscriberActivityArg_sequence, hf_index, ett_gsm_ss_BeginSubscriberActivityArg);
+
+ return offset;
+}
+
+
static int
dissect_gsm_ss_E1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -15798,6 +15818,7 @@ const value_string gsm_map_opr_code_strings[] = {
/* --- Module SS-Operations --- --- --- */
{ 19, "processUnstructuredSS_Data" },
+ { 54, "beginSubscriberActivity" },
{ 16, "notifySS" },
{ 125, "forwardChargeAdvice" },
{ 120, "forwardCUG_Info" },
@@ -16003,6 +16024,7 @@ static const value_string gsm_map_err_code_string_vals[] = {
/* --- Module SS-Operations --- --- --- */
{ 19, "processUnstructuredSS_Data" },
+ { 54, "beginSubscriberActivity" },
{ 16, "notifySS" },
{ 125, "forwardChargeAdvice" },
{ 120, "forwardCUG_Info" },
@@ -16343,7 +16365,9 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
break;
/* reserved traceSubscriberActivity (52) */
/* undefined 53 */
- /* reserved beginSubscriberActivity (54) */
+ case 54: /*beginSubscriberActivity*/
+ offset=dissect_gsm_ss_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
case 55: /*sendIdentification*/
offset=dissect_mc_message(tvb, offset, actx, tree,
FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi,
@@ -22258,6 +22282,18 @@ void proto_register_gsm_map(void) {
{ "multicall-Indicator", "gsm_ss.multicall_Indicator",
FT_UINT32, BASE_DEC, VALS(gsm_ss_Multicall_Indicator_vals), 0,
"gsm_ss.Multicall_Indicator", HFILL }},
+ { &hf_gsm_ss_imsi,
+ { "imsi", "gsm_ss.imsi",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "gsm_map.IMSI", HFILL }},
+ { &hf_gsm_ss_originatingEntityNumber,
+ { "originatingEntityNumber", "gsm_ss.originatingEntityNumber",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "gsm_map.ISDN_AddressString", HFILL }},
+ { &hf_gsm_ss_msisdn,
+ { "msisdn", "gsm_ss.msisdn",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "gsm_map.AddressString", HFILL }},
{ &hf_gsm_ss_chargingInformation,
{ "chargingInformation", "gsm_ss.chargingInformation",
FT_NONE, BASE_NONE, NULL, 0,
@@ -22504,7 +22540,7 @@ void proto_register_gsm_map(void) {
"gsm_map_lcs.LCS_QoS", HFILL }},
/*--- End of included file: packet-gsm_map-hfarr.c ---*/
-#line 2623 "packet-gsmmap-template.c"
+#line 2625 "packet-gsmmap-template.c"
};
/* List of subtrees */
@@ -23063,6 +23099,7 @@ void proto_register_gsm_map(void) {
/* --- Module SS-DataTypes --- --- --- */
&ett_gsm_ss_NotifySS_Arg,
+ &ett_gsm_ss_BeginSubscriberActivityArg,
&ett_gsm_ss_ForwardChargeAdviceArg,
&ett_gsm_ss_ChargingInformation,
&ett_gsm_ss_ForwardCUG_InfoArg,
@@ -23092,7 +23129,7 @@ void proto_register_gsm_map(void) {
/*--- End of included file: packet-gsm_map-ettarr.c ---*/
-#line 2651 "packet-gsmmap-template.c"
+#line 2653 "packet-gsmmap-template.c"
};
/* Register protocol */
@@ -23168,7 +23205,7 @@ void proto_register_gsm_map(void) {
/*--- End of included file: packet-gsm_map-dis-tab.c ---*/
-#line 2669 "packet-gsmmap-template.c"
+#line 2671 "packet-gsmmap-template.c"
oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" );
oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2");
/*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" );