aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/MAP_Dialogue/Makefile.nmake4
-rw-r--r--asn1/Makefile.nmake2
-rw-r--r--asn1/cmip/Makefile.nmake4
-rw-r--r--asn1/ftam/Makefile.nmake4
-rw-r--r--asn1/ftbp/Makefile.nmake4
-rw-r--r--asn1/gnm/Makefile.nmake4
-rw-r--r--asn1/gsm_ss/Makefile.nmake4
-rw-r--r--asn1/gsmmap/GSMMAP.asn44
-rw-r--r--asn1/gsmmap/gsmmap.cnf13
-rw-r--r--asn1/gsmmap/packet-gsm_map-template.c5
-rw-r--r--asn1/gsmmap/packet-gsm_map-template.h2
-rw-r--r--asn1/logotype-cert-extn/Makefile.nmake4
-rw-r--r--asn1/mms/Makefile.nmake4
-rw-r--r--asn1/ns-cert-exts/Makefile.nmake4
-rw-r--r--asn1/ocsp/Makefile.nmake4
-rw-r--r--asn1/smrse/Makefile.nmake4
-rw-r--r--asn1/spnego/Makefile.nmake4
-rw-r--r--epan/dissectors/packet-gsm_map.c101
-rw-r--r--epan/dissectors/packet-gsm_map.h4
19 files changed, 173 insertions, 46 deletions
diff --git a/asn1/MAP_Dialogue/Makefile.nmake b/asn1/MAP_Dialogue/Makefile.nmake
index d18717a7a3..8bb63e1834 100644
--- a/asn1/MAP_Dialogue/Makefile.nmake
+++ b/asn1/MAP_Dialogue/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/Makefile.nmake b/asn1/Makefile.nmake
index ccd5147ef9..7e6b6bc370 100644
--- a/asn1/Makefile.nmake
+++ b/asn1/Makefile.nmake
@@ -51,7 +51,6 @@ all: \
wlancertextn \
x411 \
x420 \
- x501 \
x509af \
x509ce \
x509if \
@@ -260,7 +259,6 @@ ber: \
wlancertextn \
x411 \
x420 \
- x501 \
x509af \
x509ce \
x509if \
diff --git a/asn1/cmip/Makefile.nmake b/asn1/cmip/Makefile.nmake
index 6f21eb1a43..28ff717d0b 100644
--- a/asn1/cmip/Makefile.nmake
+++ b/asn1/cmip/Makefile.nmake
@@ -37,5 +37,5 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/ftam/Makefile.nmake b/asn1/ftam/Makefile.nmake
index 3c58aa3fbe..56388dfa7b 100644
--- a/asn1/ftam/Makefile.nmake
+++ b/asn1/ftam/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/ftbp/Makefile.nmake b/asn1/ftbp/Makefile.nmake
index 8fb08977e8..98f9f6640c 100644
--- a/asn1/ftbp/Makefile.nmake
+++ b/asn1/ftbp/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/gnm/Makefile.nmake b/asn1/gnm/Makefile.nmake
index c385cd1017..53ea858b5e 100644
--- a/asn1/gnm/Makefile.nmake
+++ b/asn1/gnm/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/gsm_ss/Makefile.nmake b/asn1/gsm_ss/Makefile.nmake
index 23c800c53e..5309456316 100644
--- a/asn1/gsm_ss/Makefile.nmake
+++ b/asn1/gsm_ss/Makefile.nmake
@@ -37,5 +37,5 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/gsmmap/GSMMAP.asn b/asn1/gsmmap/GSMMAP.asn
index bd76d58683..c1ece2596f 100644
--- a/asn1/gsmmap/GSMMAP.asn
+++ b/asn1/gsmmap/GSMMAP.asn
@@ -5410,6 +5410,50 @@ ExtensionContainer ::= SEQUENCE {
pcsExtensions [1] IMPLICIT PcsExtensions OPTIONAL,
... }
+-- Private extensions
+accessType-id OBJECT IDENTIFIER ::=
+ {1 3 12 2 1107 3 66 1 1}
+
+ --iso (1)
+ --identified-organization (3)
+ --ecma (12)
+ --member-company (2)
+ --siemens-units (1107)
+ --oen (3)
+ --mn (66)
+ --proprietary-extensions (1)
+ --accessType (1)
+
+accessTypeNotAllowed-id OBJECT IDENTIFIER ::=
+ {1 3 12 2 1107 3 66 1 2}
+
+ --iso (1)
+ --identified-organization (3)
+ --ecma (12)
+ --member-company (2)
+ --siemens-units (1107)
+ --oen (3)
+ --mn (66)
+ --proprietary-extensions (1)
+ --accessTypeNotAllowed (2)
+
+--accessType MAP-EXTENSION ::= {
+-- &ExtensionType AccessType,
+-- &extensionId accessType-id}
+
+AccessTypePriv ::= SEQUENCE {
+ access Access,
+ version Version,
+ ...}
+
+Access ::= ENUMERATED {
+ gsm (1),
+ geran (2),
+ utran (3),
+ ...}
+
+Version ::= INTEGER (1..20)
+
END
diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf
index 112c6783bd..ec1db9bdb5 100644
--- a/asn1/gsmmap/gsmmap.cnf
+++ b/asn1/gsmmap/gsmmap.cnf
@@ -445,9 +445,15 @@ Component
#----------------------------------------------------------------------------------------
#.FN_BODY PrivateExtension/extType
+
proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
- call_dissector(data_handle, tvb, pinfo, tree);
- offset = tvb_length_remaining(tvb,offset);
+ if (obj_id){
+ offset=call_ber_oid_callback(obj_id, tvb, offset, pinfo, tree);
+ }else{
+ call_dissector(data_handle, tvb, pinfo, tree);
+ offset = tvb_length_remaining(tvb,offset);
+ }
+
#.END
#.FN_FTR ForwardingOptions
@@ -583,6 +589,9 @@ Component
subtree = proto_item_add_subtree(item, ett_gsm_map_LAIFixedLength);
dissect_e212_mcc_mnc(parameter_tvb, subtree, 0);
+#.FN_PARS OBJECT_IDENTIFIER
+ FN_VARIANT = _str VAL_PTR = &obj_id
+
#----------------------------------------------------------------------------------------
#.TYPE_ATTR
SS-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
diff --git a/asn1/gsmmap/packet-gsm_map-template.c b/asn1/gsmmap/packet-gsm_map-template.c
index 487cd8a6aa..ba527a29e1 100644
--- a/asn1/gsmmap/packet-gsm_map-template.c
+++ b/asn1/gsmmap/packet-gsm_map-template.c
@@ -146,6 +146,7 @@ static proto_tree *top_tree;
static int application_context_version;
gint protocolId;
gint AccessNetworkProtocolId;
+const char *obj_id = NULL;
static int gsm_map_tap = -1;
/* Forward declarations */
@@ -1927,6 +1928,10 @@ void proto_register_gsm_map(void) {
BASE_DEC);
gsm_map_tap = register_tap("gsm_map");
+
+/* #include "packet-gsm_map-dis-tab.c" */
+ register_ber_oid_name("1.2.826.0.1249.58.1.0","iso(1) member-body(2) bsi(826) disc(0) ericsson(1249) gsmNetworkApplicationsDefinition(58) gsm-Map(1) gsm-Map-Ext(0)" );
+ register_ber_oid_name("1.3.12.2.1107.3.66.1.2","accessTypeNotAllowed-id" );
/*register_ber_oid_name("0.4.0.0.1.0.1.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)" );
*
* Register our configuration options, particularly our ssn:s
diff --git a/asn1/gsmmap/packet-gsm_map-template.h b/asn1/gsmmap/packet-gsm_map-template.h
index e58b2c4c60..4892d378ab 100644
--- a/asn1/gsmmap/packet-gsm_map-template.h
+++ b/asn1/gsmmap/packet-gsm_map-template.h
@@ -1,6 +1,6 @@
/* packet-gsm_map-template.h
* Routines for GSM MAP packet dissection
- * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
+ * Copyright 2004 - 2006, Anders Broman <anders.broman@ericsson.com>
*
* $Id$
*
diff --git a/asn1/logotype-cert-extn/Makefile.nmake b/asn1/logotype-cert-extn/Makefile.nmake
index ae5cb46c62..61b43654f3 100644
--- a/asn1/logotype-cert-extn/Makefile.nmake
+++ b/asn1/logotype-cert-extn/Makefile.nmake
@@ -37,5 +37,5 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/mms/Makefile.nmake b/asn1/mms/Makefile.nmake
index cd99128111..44b20e7f72 100644
--- a/asn1/mms/Makefile.nmake
+++ b/asn1/mms/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/ns-cert-exts/Makefile.nmake b/asn1/ns-cert-exts/Makefile.nmake
index 13469557af..62bc1e9c81 100644
--- a/asn1/ns-cert-exts/Makefile.nmake
+++ b/asn1/ns-cert-exts/Makefile.nmake
@@ -37,5 +37,5 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/ocsp/Makefile.nmake b/asn1/ocsp/Makefile.nmake
index efc1637df8..c0ce092994 100644
--- a/asn1/ocsp/Makefile.nmake
+++ b/asn1/ocsp/Makefile.nmake
@@ -37,5 +37,5 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/smrse/Makefile.nmake b/asn1/smrse/Makefile.nmake
index 9e6537ab51..90efacbefc 100644
--- a/asn1/smrse/Makefile.nmake
+++ b/asn1/smrse/Makefile.nmake
@@ -37,5 +37,5 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/spnego/Makefile.nmake b/asn1/spnego/Makefile.nmake
index 6cf110c046..d99f44207d 100644
--- a/asn1/spnego/Makefile.nmake
+++ b/asn1/spnego/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c
index d0eb142468..47445819c8 100644
--- a/epan/dissectors/packet-gsm_map.c
+++ b/epan/dissectors/packet-gsm_map.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-gsm_map.c */
+/* .\packet-gsm_map.c */
/* ../../tools/asn2eth.py -X -b -e -p gsm_map -c gsmmap.cnf -s packet-gsm_map-template GSMMAP.asn */
/* Input file: packet-gsm_map-template.c */
@@ -836,6 +836,8 @@ static int hf_gsm_map_diagnosticInfo = -1; /* SignalInfo */
static int hf_gsm_map_unauthorizedLCSClient_Diagnostic = -1; /* T_unauthorizedLCSClient_Diagnostic */
static int hf_gsm_map_positionMethodFailure_Diagnostic = -1; /* PositionMethodFailure_Diagnostic */
static int hf_gsm_map_pcsExtensions = -1; /* PcsExtensions */
+static int hf_gsm_map_access = -1; /* Access */
+static int hf_gsm_map_version = -1; /* Version */
/* named bits */
static int hf_gsm_map_SupportedCamelPhases_phase1 = -1;
static int hf_gsm_map_SupportedCamelPhases_phase2 = -1;
@@ -1358,6 +1360,7 @@ static gint ett_gsm_map_MM_EventNotSupported_Param = -1;
static gint ett_gsm_map_TargetCellOutsideGCA_Param = -1;
static gint ett_gsm_map_SecureTransportErrorParam = -1;
static gint ett_gsm_map_ExtensionContainer = -1;
+static gint ett_gsm_map_AccessTypePriv = -1;
/*--- End of included file: packet-gsm_map-ett.c ---*/
#line 132 "packet-gsm_map-template.c"
@@ -1378,6 +1381,7 @@ static proto_tree *top_tree;
static int application_context_version;
gint protocolId;
gint AccessNetworkProtocolId;
+const char *obj_id = NULL;
static int gsm_map_tap = -1;
/* Forward declarations */
@@ -1713,7 +1717,7 @@ static int dissect_localValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
static int
dissect_gsm_map_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+ offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &obj_id);
return offset;
}
@@ -2574,9 +2578,15 @@ static int
dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
#line 447 "gsmmap.cnf"
+
proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
- call_dissector(data_handle, tvb, pinfo, tree);
- offset = tvb_length_remaining(tvb,offset);
+ if (obj_id){
+ offset=call_ber_oid_callback(obj_id, tvb, offset, pinfo, tree);
+ }else{
+ call_dissector(data_handle, tvb, pinfo, tree);
+ offset = tvb_length_remaining(tvb,offset);
+ }
+
@@ -3074,7 +3084,7 @@ static int dissect_vlr_Capability_impl(packet_info *pinfo, proto_tree *tree, tvb
int
dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 525 "gsmmap.cnf"
+#line 531 "gsmmap.cnf"
tvbuff_t *parameter_tvb;
guint8 octet;
@@ -3470,7 +3480,7 @@ static int dissect_numberOfRequestedVectors(packet_info *pinfo, proto_tree *tree
int
dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 573 "gsmmap.cnf"
+#line 579 "gsmmap.cnf"
tvbuff_t *parameter_tvb;
proto_item *item;
@@ -5565,7 +5575,7 @@ static int
dissect_gsm_map_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_gsm_map_Ext_ForwOptions(implicit_tag, tvb, offset, pinfo, tree, hf_index);
-#line 460 "gsmmap.cnf"
+#line 466 "gsmmap.cnf"
proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
@@ -6994,7 +7004,7 @@ static int dissect_pdp_ContextIdentifier_impl(packet_info *pinfo, proto_tree *tr
static int
dissect_gsm_map_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 471 "gsmmap.cnf"
+#line 477 "gsmmap.cnf"
guint8 pdp_type_org;
tvbuff_t *parameter_tvb;
@@ -7043,7 +7053,7 @@ static int dissect_pdp_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff
int
dissect_gsm_map_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 497 "gsmmap.cnf"
+#line 503 "gsmmap.cnf"
tvbuff_t *parameter_tvb;
@@ -7089,7 +7099,7 @@ static int dissect_lcsAPN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *t
int
dissect_gsm_map_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 511 "gsmmap.cnf"
+#line 517 "gsmmap.cnf"
tvbuff_t *parameter_tvb;
@@ -8319,7 +8329,7 @@ dissect_gsm_map_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
NULL);
-#line 454 "gsmmap.cnf"
+#line 460 "gsmmap.cnf"
proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
@@ -9201,7 +9211,7 @@ static int dissect_subscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_
int
dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 555 "gsmmap.cnf"
+#line 561 "gsmmap.cnf"
tvbuff_t *parameter_tvb;
proto_item *item;
@@ -14456,6 +14466,54 @@ dissect_gsm_map_SecureTransportErrorParam(gboolean implicit_tag _U_, tvbuff_t *t
return offset;
}
+
+static const value_string gsm_map_Access_vals[] = {
+ { 1, "gsm" },
+ { 2, "geran" },
+ { 3, "utran" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gsm_map_Access(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_access(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_gsm_map_Access(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_access);
+}
+
+
+
+static int
+dissect_gsm_map_Version(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_version(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_gsm_map_Version(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_version);
+}
+
+
+static const ber_sequence_t AccessTypePriv_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_access },
+ { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_version },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_gsm_map_AccessTypePriv(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ AccessTypePriv_sequence, hf_index, ett_gsm_map_AccessTypePriv);
+
+ return offset;
+}
+
/*--- PDUs ---*/
static void dissect_Component_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
@@ -14464,7 +14522,7 @@ static void dissect_Component_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree
/*--- End of included file: packet-gsm_map-fn.c ---*/
-#line 350 "packet-gsm_map-template.c"
+#line 351 "packet-gsm_map-template.c"
const value_string gsm_map_opr_code_strings[] = {
{ 2, "updateLocation" },
@@ -18867,6 +18925,14 @@ void proto_register_gsm_map(void) {
{ "pcsExtensions", "gsm_map.pcsExtensions",
FT_NONE, BASE_NONE, NULL, 0,
"ExtensionContainer/pcsExtensions", HFILL }},
+ { &hf_gsm_map_access,
+ { "access", "gsm_map.access",
+ FT_UINT32, BASE_DEC, VALS(gsm_map_Access_vals), 0,
+ "AccessTypePriv/access", HFILL }},
+ { &hf_gsm_map_version,
+ { "version", "gsm_map.version",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "AccessTypePriv/version", HFILL }},
{ &hf_gsm_map_SupportedCamelPhases_phase1,
{ "phase1", "gsm_map.phase1",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -19285,7 +19351,7 @@ void proto_register_gsm_map(void) {
"", HFILL }},
/*--- End of included file: packet-gsm_map-hfarr.c ---*/
-#line 1898 "packet-gsm_map-template.c"
+#line 1899 "packet-gsm_map-template.c"
};
/* List of subtrees */
@@ -19702,9 +19768,10 @@ void proto_register_gsm_map(void) {
&ett_gsm_map_TargetCellOutsideGCA_Param,
&ett_gsm_map_SecureTransportErrorParam,
&ett_gsm_map_ExtensionContainer,
+ &ett_gsm_map_AccessTypePriv,
/*--- End of included file: packet-gsm_map-ettarr.c ---*/
-#line 1916 "packet-gsm_map-template.c"
+#line 1917 "packet-gsm_map-template.c"
};
/* Register protocol */
@@ -19719,6 +19786,10 @@ void proto_register_gsm_map(void) {
BASE_DEC);
gsm_map_tap = register_tap("gsm_map");
+
+/* #include "packet-gsm_map-dis-tab.c" */
+ register_ber_oid_name("1.2.826.0.1249.58.1.0","iso(1) member-body(2) bsi(826) disc(0) ericsson(1249) gsmNetworkApplicationsDefinition(58) gsm-Map(1) gsm-Map-Ext(0)" );
+ register_ber_oid_name("1.3.12.2.1107.3.66.1.2","accessTypeNotAllowed-id" );
/*register_ber_oid_name("0.4.0.0.1.0.1.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)" );
*
* Register our configuration options, particularly our ssn:s
diff --git a/epan/dissectors/packet-gsm_map.h b/epan/dissectors/packet-gsm_map.h
index 5641dbddff..9fb3fae17c 100644
--- a/epan/dissectors/packet-gsm_map.h
+++ b/epan/dissectors/packet-gsm_map.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-gsm_map.h */
+/* .\packet-gsm_map.h */
/* ../../tools/asn2eth.py -X -b -e -p gsm_map -c gsmmap.cnf -s packet-gsm_map-template GSMMAP.asn */
/* Input file: packet-gsm_map-template.h */
@@ -8,7 +8,7 @@
#line 1 "packet-gsm_map-template.h"
/* packet-gsm_map-template.h
* Routines for GSM MAP packet dissection
- * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
+ * Copyright 2004 - 2006, Anders Broman <anders.broman@ericsson.com>
*
* $Id$
*