aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2009-12-18 06:26:20 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2009-12-18 06:26:20 +0000
commit163d319f5ba928768e2ca7448f19e82085be23a1 (patch)
tree643b2c77bd989265d73d48b19b96aa02035f5c0f
parent62a5d4deebaa8958b0651d80d905f1016c15a3f7 (diff)
Dissect NumberPortabilityRequest return result.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@31306 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--asn1/ansi_map/ansi_map.asn9
-rw-r--r--asn1/ansi_map/packet-ansi_map-template.c8
-rw-r--r--epan/dissectors/packet-ansi_map.c44
3 files changed, 58 insertions, 3 deletions
diff --git a/asn1/ansi_map/ansi_map.asn b/asn1/ansi_map/ansi_map.asn
index e8942cb385..55f60f7ad1 100644
--- a/asn1/ansi_map/ansi_map.asn
+++ b/asn1/ansi_map/ansi_map.asn
@@ -1,4 +1,4 @@
--- Copyright 2005 - 2007 Anders Broman
+-- Copyright 2005 - 2009 Anders Broman
-- $Id$
MAP-Protocol{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version5 (5) }
@@ -3089,6 +3089,7 @@ TMSIDirectiveRes ::= [PRIVATE 18] SET {
-- O
}
+--X.S0004-540-E v2.0 2.42 NumberPortabilityRequest
-- 6.4.2.g NumberPortabilityRequest Updated with N.S0023-0 v 1.0
NumberPortabilityRequest ::= [PRIVATE 18] SET {
digits [4] IMPLICIT Digits,
@@ -3103,6 +3104,11 @@ NumberPortabilityRequest ::= [PRIVATE 18] SET {
-- (Originating) O 6.5.2.bv c
}
+NumberPortabilityRequestRes ::= [PRIVATE 18] SET {
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL
+ -- O 2.209
+ }
+
-- 6.4.2.h ServiceRequest Updated with N.S0023-0 v 1.0
ServiceRequest ::= [PRIVATE 18] SET {
@@ -8368,6 +8374,7 @@ ReturnData ::= SEQUENCE {
changeServiceRes ChangeServiceRes,
parameterRequestRes ParameterRequestRes,
tMSIDirectiveRes TMSIDirectiveRes,
+ numberPortabilityRequestRes NumberPortabilityRequestRes,
serviceRequestRes ServiceRequestRes,
analyzedInformationRes AnalyzedInformationRes,
facilitySelectedAndAvailableRes FacilitySelectedAndAvailableRes,
diff --git a/asn1/ansi_map/packet-ansi_map-template.c b/asn1/ansi_map/packet-ansi_map-template.c
index 1985683d5d..c029e4fc22 100644
--- a/asn1/ansi_map/packet-ansi_map-template.c
+++ b/asn1/ansi_map/packet-ansi_map-template.c
@@ -4201,6 +4201,7 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 56: /*OTASP Request 6.4.2.CC*/
offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes);
break;
+ /* 57 Information Backward*/
case 58: /*Change Facilities*/
offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes);
break;
@@ -4213,6 +4214,9 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 61: /*TMSI Directive*/
offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes);
break;
+ case 62: /*NumberPortabilityRequest */
+ offset = dissect_ansi_map_NumberPortabilityRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequestRes);
+ break;
case 63: /*Service Request*/
offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes);
break;
@@ -4220,9 +4224,13 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 64: /*Analyzed Information Request*/
offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes);
break;
+ /* 65 Connection Failure Report*/
+ /* 66 Connect Resource*/
+ /* 67 Disconnect Resource*/
case 68: /*Facility Selected and Available*/
offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes);
break;
+ /* 69 Instruction Request*/
case 70: /*Modify*/
offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes);
break;
diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c
index b2dd25b26e..7b36843eb1 100644
--- a/epan/dissectors/packet-ansi_map.c
+++ b/epan/dissectors/packet-ansi_map.c
@@ -849,6 +849,7 @@ static int hf_ansi_map_changeFacilitiesRes = -1; /* ChangeFacilitiesRes */
static int hf_ansi_map_changeServiceRes = -1; /* ChangeServiceRes */
static int hf_ansi_map_parameterRequestRes = -1; /* ParameterRequestRes */
static int hf_ansi_map_tMSIDirectiveRes = -1; /* TMSIDirectiveRes */
+static int hf_ansi_map_numberPortabilityRequestRes = -1; /* NumberPortabilityRequestRes */
static int hf_ansi_map_serviceRequestRes = -1; /* ServiceRequestRes */
static int hf_ansi_map_analyzedInformationRes = -1; /* AnalyzedInformationRes */
static int hf_ansi_map_facilitySelectedAndAvailableRes = -1; /* FacilitySelectedAndAvailableRes */
@@ -1008,6 +1009,7 @@ static gint ett_ansi_map_ParameterRequestRes_U = -1;
static gint ett_ansi_map_TMSIDirective_U = -1;
static gint ett_ansi_map_TMSIDirectiveRes_U = -1;
static gint ett_ansi_map_NumberPortabilityRequest_U = -1;
+static gint ett_ansi_map_NumberPortabilityRequestRes_U = -1;
static gint ett_ansi_map_ServiceRequest_U = -1;
static gint ett_ansi_map_ServiceRequestRes_U = -1;
static gint ett_ansi_map_AnalyzedInformation_U = -1;
@@ -11734,6 +11736,30 @@ dissect_ansi_map_NumberPortabilityRequest(gboolean implicit_tag _U_, tvbuff_t *t
}
+static const ber_sequence_t NumberPortabilityRequestRes_U_set[] = {
+ { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_ansi_map_NumberPortabilityRequestRes_U(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_set(implicit_tag, actx, tree, tvb, offset,
+ NumberPortabilityRequestRes_U_set, hf_index, ett_ansi_map_NumberPortabilityRequestRes_U);
+
+ return offset;
+}
+
+
+
+static int
+dissect_ansi_map_NumberPortabilityRequestRes(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_NumberPortabilityRequestRes_U);
+
+ return offset;
+}
+
+
static int
dissect_ansi_map_ServiceID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -15430,6 +15456,7 @@ static const ber_sequence_t ReturnData_sequence[] = {
{ &hf_ansi_map_changeServiceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeServiceRes },
{ &hf_ansi_map_parameterRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ParameterRequestRes },
{ &hf_ansi_map_tMSIDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TMSIDirectiveRes },
+ { &hf_ansi_map_numberPortabilityRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_NumberPortabilityRequestRes },
{ &hf_ansi_map_serviceRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ServiceRequestRes },
{ &hf_ansi_map_analyzedInformationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AnalyzedInformationRes },
{ &hf_ansi_map_facilitySelectedAndAvailableRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitySelectedAndAvailableRes },
@@ -16041,6 +16068,7 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 56: /*OTASP Request 6.4.2.CC*/
offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes);
break;
+ /* 57 Information Backward*/
case 58: /*Change Facilities*/
offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes);
break;
@@ -16053,6 +16081,9 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 61: /*TMSI Directive*/
offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes);
break;
+ case 62: /*NumberPortabilityRequest */
+ offset = dissect_ansi_map_NumberPortabilityRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequestRes);
+ break;
case 63: /*Service Request*/
offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes);
break;
@@ -16060,9 +16091,13 @@ static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_
case 64: /*Analyzed Information Request*/
offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes);
break;
+ /* 65 Connection Failure Report*/
+ /* 66 Connect Resource*/
+ /* 67 Disconnect Resource*/
case 68: /*Facility Selected and Available*/
offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes);
break;
+ /* 69 Instruction Request*/
case 70: /*Modify*/
offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes);
break;
@@ -19194,6 +19229,10 @@ void proto_register_ansi_map(void) {
{ "tMSIDirectiveRes", "ansi_map.tMSIDirectiveRes",
FT_NONE, BASE_NONE, NULL, 0,
"ansi_map.TMSIDirectiveRes", HFILL }},
+ { &hf_ansi_map_numberPortabilityRequestRes,
+ { "numberPortabilityRequestRes", "ansi_map.numberPortabilityRequestRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ansi_map.NumberPortabilityRequestRes", HFILL }},
{ &hf_ansi_map_serviceRequestRes,
{ "serviceRequestRes", "ansi_map.serviceRequestRes",
FT_NONE, BASE_NONE, NULL, 0,
@@ -19304,7 +19343,7 @@ void proto_register_ansi_map(void) {
"ansi_map.QualificationRequest2Res", HFILL }},
/*--- End of included file: packet-ansi_map-hfarr.c ---*/
-#line 5279 "packet-ansi_map-template.c"
+#line 5287 "packet-ansi_map-template.c"
};
/* List of subtrees */
@@ -19435,6 +19474,7 @@ void proto_register_ansi_map(void) {
&ett_ansi_map_TMSIDirective_U,
&ett_ansi_map_TMSIDirectiveRes_U,
&ett_ansi_map_NumberPortabilityRequest_U,
+ &ett_ansi_map_NumberPortabilityRequestRes_U,
&ett_ansi_map_ServiceRequest_U,
&ett_ansi_map_ServiceRequestRes_U,
&ett_ansi_map_AnalyzedInformation_U,
@@ -19564,7 +19604,7 @@ void proto_register_ansi_map(void) {
&ett_ansi_map_ReturnData,
/*--- End of included file: packet-ansi_map-ettarr.c ---*/
-#line 5312 "packet-ansi_map-template.c"
+#line 5320 "packet-ansi_map-template.c"
};