aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/camel/CAP-GPRS-ReferenceNumber.asn5
-rw-r--r--asn1/camel/CAP-SMS-ops-args.asn4
-rw-r--r--asn1/camel/CAP-U-ABORT-Data.asn2
-rw-r--r--asn1/camel/CAP-classes.asn4
-rw-r--r--asn1/camel/CAP-datatypes.asn16
-rw-r--r--asn1/camel/CAP-errorcodes.asn2
-rw-r--r--asn1/camel/CAP-errortypes.asn2
-rw-r--r--asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn4
-rw-r--r--asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn19
-rw-r--r--asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn2
-rw-r--r--asn1/camel/CAP-object-identifiers.asn4
-rw-r--r--asn1/camel/CAP-operationcodes.asn2
-rw-r--r--asn1/camel/Makefile.common1
-rw-r--r--asn1/camel/camel.cnf3
-rw-r--r--asn1/gsm_map/gsm_map.cnf1
-rw-r--r--epan/dissectors/packet-camel.c112
-rw-r--r--epan/dissectors/packet-camel.h2
-rw-r--r--epan/dissectors/packet-gsm_map.c84
-rw-r--r--epan/dissectors/packet-gsm_map.h1
19 files changed, 134 insertions, 136 deletions
diff --git a/asn1/camel/CAP-GPRS-ReferenceNumber.asn b/asn1/camel/CAP-GPRS-ReferenceNumber.asn
index 746c4b4642..e62681e4c7 100644
--- a/asn1/camel/CAP-GPRS-ReferenceNumber.asn
+++ b/asn1/camel/CAP-GPRS-ReferenceNumber.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 8.1.1 GPRS Reference Number
CAP-GPRS-ReferenceNumber {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
umts-network(1) modules(3) cap-dialogueInformation(111) version5(4)}
@@ -30,6 +30,3 @@ CAP-GPRS-ReferenceNumber ::= SEQUENCE {
-- This parameter is used to identify the relationship between SGSN and the gsmSCF.
END -- of CAP-GPRS-ReferenceNumber
-
-
-
diff --git a/asn1/camel/CAP-SMS-ops-args.asn b/asn1/camel/CAP-SMS-ops-args.asn
index aa1cf411dd..460686526d 100644
--- a/asn1/camel/CAP-SMS-ops-args.asn
+++ b/asn1/camel/CAP-SMS-ops-args.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 7 SMS Control
-- 7.1 SMS operations and arguments
CAP-SMS-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-SMS-ops-args(105) version5(4)}
@@ -264,4 +264,4 @@ ResetTimerSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
...
}
-END \ No newline at end of file
+END
diff --git a/asn1/camel/CAP-U-ABORT-Data.asn b/asn1/camel/CAP-U-ABORT-Data.asn
index 308c9c5c78..2130987589 100644
--- a/asn1/camel/CAP-U-ABORT-Data.asn
+++ b/asn1/camel/CAP-U-ABORT-Data.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 5.7 User Abort Data
CAP-U-ABORT-Data {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-u-abort-data(110) version5(4)}
diff --git a/asn1/camel/CAP-classes.asn b/asn1/camel/CAP-classes.asn
index c3a5af36c6..1ce4612ca1 100644
--- a/asn1/camel/CAP-classes.asn
+++ b/asn1/camel/CAP-classes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 5.5 Classes
CAP-classes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1)
modules(3) cap-classes(54) version5(4)}
@@ -10,7 +10,7 @@ IMPORTS
ROS-OBJECT-CLASS,
Code
-FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+FROM Remote-Operations-Information-Objects ros-InformationObjects
id-rosObject-gprsSSF,
id-rosObject-gsmSRF,
diff --git a/asn1/camel/CAP-datatypes.asn b/asn1/camel/CAP-datatypes.asn
index 8760a300ac..db11a1914c 100644
--- a/asn1/camel/CAP-datatypes.asn
+++ b/asn1/camel/CAP-datatypes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 5 Common CAP Types
-- 5.1 Data types
CAP-datatypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-datatypes(52) version5(4)}
@@ -35,6 +35,7 @@ gsm-Network(1) modules(3) map-CommonDataTypes(18) version9(9)}
Ext-QoS-Subscribed,
Ext2-QoS-Subscribed,
+ Ext3-QoS-Subscribed,
GeographicalInformation,
LocationInformation,
LSAIdentity,
@@ -55,9 +56,6 @@ gsm-Network(1) modules(3) map-CH-DataTypes(13) version9(9)}
FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
- TCInvokeIdSet
-FROM TCAPMessages tc-Messages
-
EXTENSION,
PARAMETERS-BOUND,
SupportedExtensions
@@ -577,7 +575,7 @@ DpSpecificCriteria {PARAMETERS-BOUND : bound}::= CHOICE {
DpSpecificCriteriaAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
...,
- changeOfPositionControlInfo [0] ChangeOfPositionControlInfo {bound},
+ changeOfPositionControlInfo [0] ChangeOfPositionControlInfo {bound},
numberOfDigits [1] NumberOfDigits OPTIONAL,
interDigitTimeout [2] INTEGER (1..127) OPTIONAL
}
@@ -889,7 +887,9 @@ GPRS-QoS ::= CHOICE {
GPRS-QoS-Extension ::= SEQUENCE {
supplement-to-long-QoS-format [0] Ext2-QoS-Subscribed,
- ...
+ ...,
+ additionalSupplement [1] Ext3-QoS-Subscribed OPTIONAL
+
}
GPRSCause {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE
@@ -972,7 +972,7 @@ GPRSEventType ::= ENUMERATED {
detached (3),
pdp-ContextEstablishment (11),
pdp-ContextEstablishmentAcknowledgement (12),
- disconnect (13),
+ disonnect (13),
pdp-ContextChangeOfPosition (14)
}
@@ -1006,7 +1006,7 @@ InitiatorOfServiceChange ::= ENUMERATED {
b-side (1)
}
-InvokeID ::= TCInvokeIdSet
+InvokeID ::= INTEGER (-128..127)
IPRoutingAddress {PARAMETERS-BOUND : bound} ::= CalledPartyNumber {bound}
-- Indicates the routeing address for the IP.
diff --git a/asn1/camel/CAP-errorcodes.asn b/asn1/camel/CAP-errorcodes.asn
index 0cc296c5c9..d6f414b6b6 100644
--- a/asn1/camel/CAP-errorcodes.asn
+++ b/asn1/camel/CAP-errorcodes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 5.4 Error codes
CAP-errorcodes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errorcodes(57) version5(4)}
diff --git a/asn1/camel/CAP-errortypes.asn b/asn1/camel/CAP-errortypes.asn
index 5fc9e1c6de..c034f77902 100644
--- a/asn1/camel/CAP-errortypes.asn
+++ b/asn1/camel/CAP-errortypes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 5.2 Error types
CAP-errortypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errortypes(51) version5(4)}
diff --git a/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn b/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn
index 43bef51f5f..78b708397c 100644
--- a/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn
+++ b/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 8 GPRS Control
-- 8.1 gsmSCF/gprsSSF operations and arguments
CAP-gprsSSF-gsmSCF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
@@ -402,4 +402,4 @@ SendChargingInformationGPRSArg {PARAMETERS-BOUND: bound}::= SEQUENCE {
...
}
-END \ No newline at end of file
+END
diff --git a/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn b/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn
index 2ee4b37525..ef77138931 100644
--- a/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn
+++ b/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 6.2 gsmSCF/gsmSRF interface
-- 6.2.1 gsmSCF/gsmSRF operations and arguments
CAP-gsmSCF-gsmSRF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
@@ -15,14 +15,6 @@ DEFINITIONS IMPLICIT TAGS ::= BEGIN
IMPORTS
- ros-InformationObjects,
- operationcodes,
- datatypes,
- errortypes,
- classes
-FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
-umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
-
OPERATION
FROM Remote-Operations-Information-Objects ros-InformationObjects
@@ -61,6 +53,13 @@ FROM CAP-errortypes errortypes
PARAMETERS-BOUND
FROM CAP-classes classes
+ ros-InformationObjects,
+ operationcodes,
+ datatypes,
+ errortypes,
+ classes
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
;
@@ -146,4 +145,4 @@ SpecializedResourceReportArg ::= CHOICE {
firstAnnouncementStarted [51] NULL
}
-END \ No newline at end of file
+END
diff --git a/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn b/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn
index f5042456b6..52f60037ed 100644
--- a/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn
+++ b/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 6 Circuit Switched Call Control
-- 6.1 gsmSSF/CCF - gsmSCF Interface
-- 6.1.1 Operations and arguments
diff --git a/asn1/camel/CAP-object-identifiers.asn b/asn1/camel/CAP-object-identifiers.asn
index 6032cba9ce..aaa92c2c38 100644
--- a/asn1/camel/CAP-object-identifiers.asn
+++ b/asn1/camel/CAP-object-identifiers.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 5.6 Object IDentifiers (IDs)
CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
@@ -240,4 +240,4 @@ id-as-gsmSCF-gprsSSF-AS OBJECT IDENTIFIER ::= {id-as 51}
-- gprsSSF/gsmSCF or gsmSSF/gsmSCF Abstract Syntaxes
id-as-smsSSF-gsmSCF-AS OBJECT IDENTIFIER ::= {id-as 61}
-END \ No newline at end of file
+END
diff --git a/asn1/camel/CAP-operationcodes.asn b/asn1/camel/CAP-operationcodes.asn
index 03a3eab7b8..360c7efccb 100644
--- a/asn1/camel/CAP-operationcodes.asn
+++ b/asn1/camel/CAP-operationcodes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 3GPP TS 29.078 9.0.0 (2009-12)
-- 5.3 Operation codes
CAP-operationcodes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-operationcodes(53) version5(4)}
diff --git a/asn1/camel/Makefile.common b/asn1/camel/Makefile.common
index 63f664a111..ad3f7e0937 100644
--- a/asn1/camel/Makefile.common
+++ b/asn1/camel/Makefile.common
@@ -31,7 +31,6 @@ EXT_ASN_FILE_LIST_LATE = \
../ros/Remote-Operations-Generic-ROS-PDUs.asn
ASN_FILE_LIST = \
- TCAPMessages.asn \
CAP-object-identifiers.asn \
CAP-classes.asn \
CAP-datatypes.asn \
diff --git a/asn1/camel/camel.cnf b/asn1/camel/camel.cnf
index 166309008c..ba4cdf77f0 100644
--- a/asn1/camel/camel.cnf
+++ b/asn1/camel/camel.cnf
@@ -20,6 +20,9 @@ CS2-datatypes inap
#.ASSIGNED_OBJECT_IDENTIFIER sms-Operations
#.ASSIGNED_OBJECT_IDENTIFIER gsmSSF-gsmSCF-Protocol
#.ASSIGNED_OBJECT_IDENTIFIER gsmSCF-gsmSRF-Protocol
+#.ASSIGNED_OBJECT_IDENTIFIER operationcodes
+#.ASSIGNED_OBJECT_IDENTIFIER datatypes
+#.ASSIGNED_OBJECT_IDENTIFIER errortypes
#.OMIT_ASSIGNMENT Remote-Operations-Information-Objects
Bind
diff --git a/asn1/gsm_map/gsm_map.cnf b/asn1/gsm_map/gsm_map.cnf
index 232c96ff75..d4876f9752 100644
--- a/asn1/gsm_map/gsm_map.cnf
+++ b/asn1/gsm_map/gsm_map.cnf
@@ -71,6 +71,7 @@ Ext-BasicServiceCode
Ext-GeographicalInformation
Ext-QoS-Subscribed
Ext2-QoS-Subscribed
+Ext3-QoS-Subscribed
ExtensionContainer
GeographicalInformation
GetPasswordArg
diff --git a/epan/dissectors/packet-camel.c b/epan/dissectors/packet-camel.c
index fcb9a8ec60..438389552e 100644
--- a/epan/dissectors/packet-camel.c
+++ b/epan/dissectors/packet-camel.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-camel.c */
-/* ../../tools/asn2wrs.py -b -L -p camel -c ./camel.cnf -s ./packet-camel-template -D . TCAPMessages.asn CAP-object-identifiers.asn CAP-classes.asn CAP-datatypes.asn CAP-errorcodes.asn CAP-errortypes.asn CAP-operationcodes.asn CAP-GPRS-ReferenceNumber.asn CAP-gsmSCF-gsmSRF-ops-args.asn CAP-gsmSSF-gsmSCF-ops-args.asn CAP-gprsSSF-gsmSCF-ops-args.asn CAP-SMS-ops-args.asn CAP-U-ABORT-Data.asn ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn */
+/* ../../tools/asn2wrs.py -b -L -p camel -c ./camel.cnf -s ./packet-camel-template -D . CAP-object-identifiers.asn CAP-classes.asn CAP-datatypes.asn CAP-errorcodes.asn CAP-errortypes.asn CAP-operationcodes.asn CAP-GPRS-ReferenceNumber.asn CAP-gsmSCF-gsmSRF-ops-args.asn CAP-gsmSSF-gsmSCF-ops-args.asn CAP-gprsSSF-gsmSCF-ops-args.asn CAP-SMS-ops-args.asn CAP-U-ABORT-Data.asn ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn */
/* Input file: packet-camel-template.c */
@@ -342,6 +342,7 @@ static int hf_camel_GenericNumbers_item = -1; /* GenericNumber */
static int hf_camel_short_QoS_format = -1; /* QoS_Subscribed */
static int hf_camel_long_QoS_format = -1; /* Ext_QoS_Subscribed */
static int hf_camel_supplement_to_long_QoS_format = -1; /* Ext2_QoS_Subscribed */
+static int hf_camel_additionalSupplement = -1; /* Ext3_QoS_Subscribed */
static int hf_camel_gPRSEventType = -1; /* GPRSEventType */
static int hf_camel_attachChangeOfPositionSpecificInformation = -1; /* T_attachChangeOfPositionSpecificInformation */
static int hf_camel_locationInformationGPRS = -1; /* LocationInformationGPRS */
@@ -1262,56 +1263,6 @@ dissect_RP_cause_ie(tvbuff_t *tvb, guint32 offset, _U_ guint len,
static int
-dissect_camel_INTEGER(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_camel_NULL(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_null(implicit_tag, actx, tree, tvb, offset, hf_index);
-
- return offset;
-}
-
-
-static const value_string camel_InvokeId_vals[] = {
- { 0, "present" },
- { 1, "absent" },
- { 0, NULL }
-};
-
-static const ber_choice_t InvokeId_choice[] = {
- { 0, &hf_camel_present , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_camel_INTEGER },
- { 1, &hf_camel_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_camel_NULL },
- { 0, NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_camel_InvokeId(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_choice(actx, tree, tvb, offset,
- InvokeId_choice, hf_index, ett_camel_InvokeId,
- NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_camel_TCInvokeIdSet(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_camel_InvokeId(implicit_tag, tvb, offset, actx, tree, hf_index);
-
- return offset;
-}
-
-
-
-static int
dissect_camel_AccessPointName(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -1811,6 +1762,15 @@ dissect_camel_MidCallControlInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
}
+
+static int
+dissect_camel_NULL(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_null(implicit_tag, actx, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
static const ber_sequence_t ChangeOfLocationAlt_sequence[] = {
{ NULL, 0, 0, 0, NULL }
};
@@ -2095,14 +2055,15 @@ dissect_camel_CallSegmentFailure(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_camel_InvokeID(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_camel_TCInvokeIdSet(implicit_tag, tvb, offset, actx, tree, hf_index);
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
static const ber_sequence_t CallSegmentToCancel_sequence[] = {
- { &hf_camel_invokeID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_camel_InvokeID },
+ { &hf_camel_invokeID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_InvokeID },
{ &hf_camel_callSegmentID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_camel_CallSegmentID },
{ NULL, 0, 0, 0, NULL }
};
@@ -4298,6 +4259,7 @@ dissect_camel_GPRS_QoS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static const ber_sequence_t GPRS_QoS_Extension_sequence[] = {
{ &hf_camel_supplement_to_long_QoS_format, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
+ { &hf_camel_additionalSupplement, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
{ NULL, 0, 0, 0, NULL }
};
@@ -4326,7 +4288,7 @@ static const value_string camel_GPRSEventType_vals[] = {
{ 3, "detached" },
{ 11, "pdp-ContextEstablishment" },
{ 12, "pdp-ContextEstablishmentAcknowledgement" },
- { 13, "disconnect" },
+ { 13, "disonnect" },
{ 14, "pdp-ContextChangeOfPosition" },
{ 0, NULL }
};
@@ -5004,7 +4966,7 @@ dissect_camel_T_par_cancelFailedProblem(gboolean implicit_tag _U_, tvbuff_t *tvb
static const ber_sequence_t PAR_cancelFailed_sequence[] = {
{ &hf_camel_par_cancelFailedProblem, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_camel_T_par_cancelFailedProblem },
- { &hf_camel_operation , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_camel_InvokeID },
+ { &hf_camel_operation , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_camel_InvokeID },
{ NULL, 0, 0, 0, NULL }
};
@@ -6080,6 +6042,38 @@ dissect_camel_CAP_U_ABORT_REASON(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
+dissect_camel_INTEGER(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string camel_InvokeId_vals[] = {
+ { 0, "present" },
+ { 1, "absent" },
+ { 0, NULL }
+};
+
+static const ber_choice_t InvokeId_choice[] = {
+ { 0, &hf_camel_present , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_camel_INTEGER },
+ { 1, &hf_camel_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_camel_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_camel_InvokeId(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_choice(actx, tree, tvb, offset,
+ InvokeId_choice, hf_index, ett_camel_InvokeId,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
dissect_camel_InvokeId_present(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -7826,7 +7820,7 @@ void proto_register_camel(void) {
"camel.CallSegmentID", HFILL }},
{ &hf_camel_invokeID,
{ "invokeID", "camel.invokeID",
- FT_UINT32, BASE_DEC, VALS(camel_InvokeId_vals), 0,
+ FT_INT32, BASE_DEC, NULL, 0,
"camel.InvokeID", HFILL }},
{ &hf_camel_timeDurationCharging,
{ "timeDurationCharging", "camel.timeDurationCharging",
@@ -8348,6 +8342,10 @@ void proto_register_camel(void) {
{ "supplement-to-long-QoS-format", "camel.supplement_to_long_QoS_format",
FT_BYTES, BASE_NONE, NULL, 0,
"gsm_map_ms.Ext2_QoS_Subscribed", HFILL }},
+ { &hf_camel_additionalSupplement,
+ { "additionalSupplement", "camel.additionalSupplement",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "gsm_map_ms.Ext3_QoS_Subscribed", HFILL }},
{ &hf_camel_gPRSEventType,
{ "gPRSEventType", "camel.gPRSEventType",
FT_UINT32, BASE_DEC, VALS(camel_GPRSEventType_vals), 0,
@@ -8738,7 +8736,7 @@ void proto_register_camel(void) {
"camel.T_par_cancelFailedProblem", HFILL }},
{ &hf_camel_operation,
{ "operation", "camel.operation",
- FT_UINT32, BASE_DEC, VALS(camel_InvokeId_vals), 0,
+ FT_INT32, BASE_DEC, NULL, 0,
"camel.InvokeID", HFILL }},
{ &hf_camel_destinationReference,
{ "destinationReference", "camel.destinationReference",
diff --git a/epan/dissectors/packet-camel.h b/epan/dissectors/packet-camel.h
index f1249ade16..e1ce089d59 100644
--- a/epan/dissectors/packet-camel.h
+++ b/epan/dissectors/packet-camel.h
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-camel.h */
-/* ../../tools/asn2wrs.py -b -L -p camel -c ./camel.cnf -s ./packet-camel-template -D . TCAPMessages.asn CAP-object-identifiers.asn CAP-classes.asn CAP-datatypes.asn CAP-errorcodes.asn CAP-errortypes.asn CAP-operationcodes.asn CAP-GPRS-ReferenceNumber.asn CAP-gsmSCF-gsmSRF-ops-args.asn CAP-gsmSSF-gsmSCF-ops-args.asn CAP-gprsSSF-gsmSCF-ops-args.asn CAP-SMS-ops-args.asn CAP-U-ABORT-Data.asn ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn */
+/* ../../tools/asn2wrs.py -b -L -p camel -c ./camel.cnf -s ./packet-camel-template -D . CAP-object-identifiers.asn CAP-classes.asn CAP-datatypes.asn CAP-errorcodes.asn CAP-errortypes.asn CAP-operationcodes.asn CAP-GPRS-ReferenceNumber.asn CAP-gsmSCF-gsmSRF-ops-args.asn CAP-gsmSSF-gsmSCF-ops-args.asn CAP-gprsSSF-gsmSCF-ops-args.asn CAP-SMS-ops-args.asn CAP-U-ABORT-Data.asn ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn */
/* Input file: packet-camel-template.h */
diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c
index 1dd4de2b0d..e651f5a516 100644
--- a/epan/dissectors/packet-gsm_map.c
+++ b/epan/dissectors/packet-gsm_map.c
@@ -2781,7 +2781,7 @@ dissect_gsm_map_T_extId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 172 "gsm_map.cnf"
+#line 173 "gsm_map.cnf"
proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
if (obj_id){
offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, tree);
@@ -2896,7 +2896,7 @@ dissect_gsm_map_SLR_ArgExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *t
static int
dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 198 "gsm_map.cnf"
+#line 199 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
char *digit_str;
@@ -2919,7 +2919,7 @@ dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
int
dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 185 "gsm_map.cnf"
+#line 186 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -2989,7 +2989,7 @@ dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 279 "gsm_map.cnf"
+#line 280 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -3013,7 +3013,7 @@ static const ber_sequence_t gsm_map_ExternalSignalInfo_sequence[] = {
static int
dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 701 "gsm_map.cnf"
+#line 702 "gsm_map.cnf"
/*
-- Information about the internal structure is given in
-- clause 7.6.9.
@@ -3152,7 +3152,7 @@ dissect_gsm_map_AccessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 217 "gsm_map.cnf"
+#line 218 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
guint8 octet;
@@ -3233,7 +3233,7 @@ dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
int
dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 525 "gsm_map.cnf"
+#line 526 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
guint8 octet;
@@ -3374,7 +3374,7 @@ dissect_gsm_map_HLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
int
dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 782 "gsm_map.cnf"
+#line 783 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -3641,7 +3641,7 @@ dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_
int
dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 561 "gsm_map.cnf"
+#line 562 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -3767,7 +3767,7 @@ dissect_gsm_map_EMLPP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 377 "gsm_map.cnf"
+#line 378 "gsm_map.cnf"
/* Note Ext-SS-Status can have more than one byte */
tvbuff_t *parameter_tvb;
@@ -3890,7 +3890,7 @@ dissect_gsm_map_ss_RegisterSS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
int
dissect_gsm_map_ss_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 357 "gsm_map.cnf"
+#line 358 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
guint8 octet;
@@ -3924,7 +3924,7 @@ dissect_gsm_map_ss_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
-#line 468 "gsm_map.cnf"
+#line 469 "gsm_map.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);
@@ -4243,7 +4243,7 @@ dissect_gsm_map_ss_InterrogateSS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U
int
dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 400 "gsm_map.cnf"
+#line 401 "gsm_map.cnf"
/*The structure of the USSD-DataCodingScheme is defined by
* the Cell Broadcast Data Coding Scheme as described in
* TS 3GPP TS 23.038
@@ -4269,7 +4269,7 @@ dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tv
int
dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 415 "gsm_map.cnf"
+#line 416 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
int length;
@@ -4756,7 +4756,7 @@ static const ber_sequence_t gsm_map_er_SM_DeliveryFailureCause_sequence[] = {
static int
dissect_gsm_map_er_SM_DeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 286 "gsm_map.cnf"
+#line 287 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
gsm_map_er_SM_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_er_SM_DeliveryFailureCause);
@@ -5648,7 +5648,7 @@ dissect_gsm_map_sm_SM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_gsm_map_sm_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 275 "gsm_map.cnf"
+#line 276 "gsm_map.cnf"
actx->pinfo->p2p_dir = P2P_DIR_RECV;
offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -5662,7 +5662,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
static int
dissect_gsm_map_sm_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 267 "gsm_map.cnf"
+#line 268 "gsm_map.cnf"
actx->pinfo->p2p_dir = P2P_DIR_SENT;
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -5708,7 +5708,7 @@ static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Arg_sequence[] = {
static int
dissect_gsm_map_sm_MO_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 303 "gsm_map.cnf"
+#line 304 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -5733,7 +5733,7 @@ static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Res_sequence[] = {
static int
dissect_gsm_map_sm_MO_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 312 "gsm_map.cnf"
+#line 313 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -5761,7 +5761,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Arg_sequence[] = {
static int
dissect_gsm_map_sm_MT_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 321 "gsm_map.cnf"
+#line 322 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -5786,7 +5786,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Res_sequence[] = {
static int
dissect_gsm_map_sm_MT_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 330 "gsm_map.cnf"
+#line 331 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -5969,7 +5969,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence[] = {
static int
dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 339 "gsm_map.cnf"
+#line 340 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -6009,7 +6009,7 @@ static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence[] = {
static int
dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 348 "gsm_map.cnf"
+#line 349 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -7623,7 +7623,7 @@ dissect_gsm_map_ms_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tv
static int
dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 597 "gsm_map.cnf"
+#line 598 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
asn1_ctx_t asn1_ctx;
@@ -7646,7 +7646,7 @@ dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvb
static int
dissect_gsm_map_ms_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 609 "gsm_map.cnf"
+#line 610 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
asn1_ctx_t asn1_ctx;
@@ -7731,7 +7731,7 @@ dissect_gsm_map_ms_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *t
static int
dissect_gsm_map_ms_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 573 "gsm_map.cnf"
+#line 574 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -7802,7 +7802,7 @@ dissect_gsm_map_ms_BSSMAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *t
static int
dissect_gsm_map_ms_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 585 "gsm_map.cnf"
+#line 586 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
asn1_ctx_t asn1_ctx;
@@ -8582,7 +8582,7 @@ static int
dissect_gsm_map_ms_T_forwardingOptions(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_gsm_map_ms_Ext_ForwOptions(implicit_tag, tvb, offset, actx, tree, hf_index);
-#line 474 "gsm_map.cnf"
+#line 475 "gsm_map.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);
@@ -9768,7 +9768,7 @@ dissect_gsm_map_ms_VlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t
static int
dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 482 "gsm_map.cnf"
+#line 483 "gsm_map.cnf"
guint8 pdp_type_org;
tvbuff_t *parameter_tvb;
@@ -9801,7 +9801,7 @@ dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
int
dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 504 "gsm_map.cnf"
+#line 505 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
@@ -9823,7 +9823,7 @@ dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
int
dissect_gsm_map_ms_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 515 "gsm_map.cnf"
+#line 516 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
@@ -9862,7 +9862,7 @@ dissect_gsm_map_ms_Ext2_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb
-static int
+int
dissect_gsm_map_ms_Ext3_QoS_Subscribed(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -11355,7 +11355,7 @@ dissect_gsm_map_ms_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
int
dissect_gsm_map_ms_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 549 "gsm_map.cnf"
+#line 550 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -13687,7 +13687,7 @@ dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(gboolean implicit_tag _U_, tvb
int
dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 794 "gsm_map.cnf"
+#line 795 "gsm_map.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -14593,7 +14593,7 @@ static const value_string gsm_old_GSMMAPOperationLocalvalue_vals[] = {
static int
dissect_gsm_old_GSMMAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 156 "gsm_map.cnf"
+#line 157 "gsm_map.cnf"
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
&opcode);
@@ -14652,7 +14652,7 @@ dissect_gsm_old_MAP_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_gsm_old_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 143 "gsm_map.cnf"
+#line 144 "gsm_map.cnf"
offset = dissect_invokeData(tree, tvb, offset, actx);
@@ -14681,7 +14681,7 @@ dissect_gsm_old_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_gsm_old_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 146 "gsm_map.cnf"
+#line 147 "gsm_map.cnf"
offset = dissect_returnResultData(tree, tvb, offset, actx);
@@ -14824,7 +14824,7 @@ dissect_gsm_old_MAP_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
static int
dissect_gsm_old_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 149 "gsm_map.cnf"
+#line 150 "gsm_map.cnf"
offset = dissect_returnErrorData(tree, tvb, offset, actx);
@@ -15033,7 +15033,7 @@ static const ber_sequence_t gsm_old_Bss_APDU_sequence[] = {
static int
dissect_gsm_old_Bss_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 622 "gsm_map.cnf"
+#line 623 "gsm_map.cnf"
guint8 octet;
guint8 length;
tvbuff_t *next_tvb;
@@ -15643,7 +15643,7 @@ dissect_gsm_old_SM_RP_DAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_gsm_old_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 271 "gsm_map.cnf"
+#line 272 "gsm_map.cnf"
actx->pinfo->p2p_dir = P2P_DIR_RECV;
offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -15657,7 +15657,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
static int
dissect_gsm_old_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 263 "gsm_map.cnf"
+#line 264 "gsm_map.cnf"
actx->pinfo->p2p_dir = P2P_DIR_SENT;
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -15702,7 +15702,7 @@ static const ber_sequence_t gsm_old_ForwardSM_Arg_sequence[] = {
static int
dissect_gsm_old_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 294 "gsm_map.cnf"
+#line 295 "gsm_map.cnf"
/* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
diff --git a/epan/dissectors/packet-gsm_map.h b/epan/dissectors/packet-gsm_map.h
index 1fd1affbf4..835468f9f6 100644
--- a/epan/dissectors/packet-gsm_map.h
+++ b/epan/dissectors/packet-gsm_map.h
@@ -118,6 +118,7 @@ extern const value_string gsm_map_ms_SubscriberState_vals[];
int dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ms_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ms_Ext2_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_gsm_map_ms_Ext3_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ms_LSAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ms_CUG_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ms_CUG_Index(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);