aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-qsig.c
diff options
context:
space:
mode:
authorTomas Kukosa <tomas.kukosa@siemens.com>2007-09-17 13:23:25 +0000
committerTomas Kukosa <tomas.kukosa@siemens.com>2007-09-17 13:23:25 +0000
commitc50da9f742a6e67be716ce34c3218e6b1d8b5a0e (patch)
treea735a6b0deb65c74ddf505a47744ee481e070fe3 /epan/dissectors/packet-qsig.c
parent72af3183ab319a86c636b3a9dbad8df8ad7614e1 (diff)
Support of QSIG Extensions
svn path=/trunk/; revision=22888
Diffstat (limited to 'epan/dissectors/packet-qsig.c')
-rw-r--r--epan/dissectors/packet-qsig.c542
1 files changed, 283 insertions, 259 deletions
diff --git a/epan/dissectors/packet-qsig.c b/epan/dissectors/packet-qsig.c
index 7286387ef0..bf0c5ff76d 100644
--- a/epan/dissectors/packet-qsig.c
+++ b/epan/dissectors/packet-qsig.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* ./packet-qsig.c */
-/* ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn QSIG-CINT.asn SYNC-SIG.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn */
+/* ../../tools/asn2wrs.py -e -c qsig.cnf -s packet-qsig-template qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn SYNC-SIG.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn */
/* Input file: packet-qsig-template.c */
@@ -378,6 +378,11 @@ static const value_string qsig_str_operation[] = {
{ 57, "recallAlerting" },
{ 58, "recallAnswered" },
+/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
+
+ { 78, "synchronizationRequest" },
+ { 79, "synchronizationInfo" },
+
/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
{ 66, "cintLegInformation1" },
@@ -386,11 +391,6 @@ static const value_string qsig_str_operation[] = {
{ 69, "cintDisable" },
{ 70, "cintEnable" },
-/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
-
- { 78, "synchronizationRequest" },
- { 79, "synchronizationInfo" },
-
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
{ 84, "cmnRequest" },
@@ -569,14 +569,14 @@ static const value_string qsig_str_error[] = {
/* Unknown or empty loop list ERROR */
-/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
-
-/* Unknown or empty loop list ERROR */
-
/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
{ 1008, "unspecified" },
+/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
/* Unknown or empty loop list ERROR */
@@ -686,7 +686,7 @@ static int hf_qsig_pc = -1;
/* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
-static int hf_qsig_extensionId = -1; /* OBJECT_IDENTIFIER */
+static int hf_qsig_extensionId = -1; /* T_extensionId */
static int hf_qsig_extensionArgument = -1; /* T_extensionArgument */
static int hf_qsig_presentationAllowedAddressS = -1; /* AddressScreened */
static int hf_qsig_presentationRestricted = -1; /* NULL */
@@ -1043,6 +1043,20 @@ static int hf_qsig_re_connectedSubaddress = -1; /* PartySubaddress */
static int hf_qsig_re_connectedName = -1; /* Name */
static int hf_qsig_re_argumentExtension_01 = -1; /* T_argumentExtension_01 */
+/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
+
+static int hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU = -1; /* SynchronizationReqArg */
+static int hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU = -1; /* SynchronizationReqRes */
+static int hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU = -1; /* SynchronizationInfoArg */
+static int hf_qsig_sync_qsig_sync_Extension_PDU = -1; /* Extension */
+static int hf_qsig_sync_action = -1; /* Action */
+static int hf_qsig_sync_argExtension = -1; /* ArgExtension */
+static int hf_qsig_sync_response = -1; /* BOOLEAN */
+static int hf_qsig_sync_stateinfo = -1; /* T_stateinfo */
+static int hf_qsig_sync_extension = -1; /* Extension */
+static int hf_qsig_sync_sequOfExtn = -1; /* SEQUENCE_OF_Extension */
+static int hf_qsig_sync_sequOfExtn_item = -1; /* Extension */
+
/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
static int hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU = -1; /* CintInformation1Arg */
@@ -1062,20 +1076,6 @@ static int hf_qsig_cint_single = -1; /* Extension */
static int hf_qsig_cint_multiple = -1; /* SEQUENCE_OF_Extension */
static int hf_qsig_cint_multiple_item = -1; /* Extension */
-/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
-
-static int hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU = -1; /* SynchronizationReqArg */
-static int hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU = -1; /* SynchronizationReqRes */
-static int hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU = -1; /* SynchronizationInfoArg */
-static int hf_qsig_sync_qsig_sync_Extension_PDU = -1; /* Extension */
-static int hf_qsig_sync_action = -1; /* Action */
-static int hf_qsig_sync_argExtension = -1; /* ArgExtension */
-static int hf_qsig_sync_response = -1; /* BOOLEAN */
-static int hf_qsig_sync_stateinfo = -1; /* T_stateinfo */
-static int hf_qsig_sync_extension = -1; /* Extension */
-static int hf_qsig_sync_sequOfExtn = -1; /* SEQUENCE_OF_Extension */
-static int hf_qsig_sync_sequOfExtn_item = -1; /* Extension */
-
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
static int hf_qsig_cmn_qsig_cmn_DummyArg_PDU = -1; /* DummyArg */
@@ -1575,6 +1575,7 @@ static int *hf_qsig_ie_type_arr[] = {
/* Initialize the subtree pointers */
static gint ett_qsig = -1;
static gint ett_qsig_ie = -1;
+static gint ett_qsig_unknown_extension = -1;
/*--- Included file: packet-qsig-ett.c ---*/
#line 1 "packet-qsig-ett.c"
@@ -1775,14 +1776,6 @@ static gint ett_qsig_re_SEQUENCE_OF_Extension = -1;
static gint ett_qsig_re_ReAnswerArg = -1;
static gint ett_qsig_re_T_argumentExtension_01 = -1;
-/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
-
-static gint ett_qsig_cint_CintInformation1Arg = -1;
-static gint ett_qsig_cint_CintInformation2Arg = -1;
-static gint ett_qsig_cint_CintCondArg = -1;
-static gint ett_qsig_cint_CintExtension = -1;
-static gint ett_qsig_cint_SEQUENCE_OF_Extension = -1;
-
/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
static gint ett_qsig_sync_SynchronizationReqArg = -1;
@@ -1791,6 +1784,14 @@ static gint ett_qsig_sync_SynchronizationInfoArg = -1;
static gint ett_qsig_sync_ArgExtension = -1;
static gint ett_qsig_sync_SEQUENCE_OF_Extension = -1;
+/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
+
+static gint ett_qsig_cint_CintInformation1Arg = -1;
+static gint ett_qsig_cint_CintInformation2Arg = -1;
+static gint ett_qsig_cint_CintCondArg = -1;
+static gint ett_qsig_cint_CintExtension = -1;
+static gint ett_qsig_cint_SEQUENCE_OF_Extension = -1;
+
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
static gint ett_qsig_cmn_CmnArg = -1;
@@ -2018,7 +2019,7 @@ static gint ett_qsig_mid_MIDExtensions = -1;
static gint ett_qsig_mid_SEQUENCE_OF_Extension = -1;
/*--- End of included file: packet-qsig-ett.c ---*/
-#line 311 "packet-qsig-template.c"
+#line 312 "packet-qsig-template.c"
/* Preferences */
@@ -2026,7 +2027,10 @@ static gint ett_qsig_mid_SEQUENCE_OF_Extension = -1;
static dissector_handle_t data_handle = NULL;
/* Gloabl variables */
+static const char *extension_oid = NULL;
+/* Dissector tables */
+static dissector_table_t extension_dissector_table;
/*--- Included file: packet-qsig-fn.c ---*/
@@ -2037,8 +2041,8 @@ static dissector_handle_t data_handle = NULL;
static int
-dissect_qsig_OBJECT_IDENTIFIER(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_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+dissect_qsig_T_extensionId(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_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &extension_oid);
return offset;
}
@@ -2047,8 +2051,22 @@ dissect_qsig_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_qsig_T_extensionArgument(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 145 "qsig.cnf"
+#line 148 "qsig.cnf"
+ tvbuff_t *next_tvb;
+
+ next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
+ if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) {
+ proto_item *item=NULL;
+ proto_tree *next_tree=NULL;
+
+ item=proto_tree_add_text(tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "QSIG: Dissector for extension with OID:%s not implemented.", extension_oid);
+ if(item){
+ next_tree=proto_item_add_subtree(item, ett_qsig_unknown_extension);
+ }
+ dissect_unknown_ber(actx->pinfo, next_tvb, offset, next_tree);
+ }
+ offset+=tvb_length_remaining(tvb, offset);
return offset;
@@ -2056,13 +2074,16 @@ dissect_qsig_T_extensionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static const ber_sequence_t qsig_Extension_sequence[] = {
- { &hf_qsig_extensionId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_qsig_OBJECT_IDENTIFIER },
+ { &hf_qsig_extensionId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionId },
{ &hf_qsig_extensionArgument, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionArgument },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_qsig_Extension(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 145 "qsig.cnf"
+ extension_oid = NULL;
+
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
qsig_Extension_sequence, hf_index, ett_qsig_Extension);
@@ -6475,37 +6496,18 @@ static int dissect_qsig_re_ReAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
}
-/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
+/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
-static const value_string qsig_cint_CintCause_vals[] = {
- { 0, "unknown" },
- { 1, "cintBnan" },
- { 2, "cintBus" },
- { 3, "cintCug" },
- { 4, "cintDnd" },
- { 5, "cintIbd" },
- { 6, "cintInn" },
- { 7, "cintMob1" },
- { 8, "cintMob2" },
- { 9, "cintMob3" },
- { 10, "cintNcmp" },
- { 11, "cintNcong" },
- { 12, "cintNre" },
- { 13, "cintOos" },
- { 14, "cintRrs" },
- { 15, "cintTbnan" },
- { 16, "cintTnre" },
- { 17, "cintTrans" },
- { 18, "cintUpl" },
- { 19, "cintInvDiv" },
- { 20, "cintHold" },
+static const value_string qsig_sync_Action_vals[] = {
+ { 0, "enslavement" },
+ { 1, "holdon" },
{ 0, NULL }
};
static int
-dissect_qsig_cint_CintCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_sync_Action(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);
@@ -6513,110 +6515,90 @@ dissect_qsig_cint_CintCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
}
-
-static int
-dissect_qsig_cint_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 qsig_cint_SEQUENCE_OF_Extension_sequence_of[1] = {
- { &hf_qsig_cint_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+static const ber_sequence_t qsig_sync_SEQUENCE_OF_Extension_sequence_of[1] = {
+ { &hf_qsig_sync_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
};
static int
-dissect_qsig_cint_SEQUENCE_OF_Extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_sync_SEQUENCE_OF_Extension(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_of(implicit_tag, actx, tree, tvb, offset,
- qsig_cint_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cint_SEQUENCE_OF_Extension);
+ qsig_sync_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sync_SEQUENCE_OF_Extension);
return offset;
}
-static const value_string qsig_cint_CintExtension_vals[] = {
- { 0, "none" },
- { 1, "single" },
- { 2, "multiple" },
+static const value_string qsig_sync_ArgExtension_vals[] = {
+ { 1, "extension" },
+ { 2, "sequOfExtn" },
{ 0, NULL }
};
-static const ber_choice_t qsig_cint_CintExtension_choice[] = {
- { 0, &hf_qsig_cint_none , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_NULL },
- { 1, &hf_qsig_cint_single , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
- { 2, &hf_qsig_cint_multiple , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cint_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_sync_ArgExtension_choice[] = {
+ { 1, &hf_qsig_sync_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+ { 2, &hf_qsig_sync_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sync_SEQUENCE_OF_Extension },
{ 0, NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_cint_CintExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_sync_ArgExtension(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,
- qsig_cint_CintExtension_choice, hf_index, ett_qsig_cint_CintExtension,
+ qsig_sync_ArgExtension_choice, hf_index, ett_qsig_sync_ArgExtension,
NULL);
return offset;
}
-static const ber_sequence_t qsig_cint_CintInformation1Arg_sequence[] = {
- { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
- { &hf_qsig_cint_interceptedToNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
- { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
+static const ber_sequence_t qsig_sync_SynchronizationReqArg_sequence[] = {
+ { &hf_qsig_sync_action , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
+ { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_cint_CintInformation1Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_sync_SynchronizationReqArg(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,
- qsig_cint_CintInformation1Arg_sequence, hf_index, ett_qsig_cint_CintInformation1Arg);
+ qsig_sync_SynchronizationReqArg_sequence, hf_index, ett_qsig_sync_SynchronizationReqArg);
return offset;
}
-static const ber_sequence_t qsig_cint_CintInformation2Arg_sequence[] = {
- { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
- { &hf_qsig_cint_calledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
- { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
- { &hf_qsig_cint_calledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
- { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
- { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
+
+static int
+dissect_qsig_sync_BOOLEAN(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+static const ber_sequence_t qsig_sync_SynchronizationReqRes_sequence[] = {
+ { &hf_qsig_sync_action , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
+ { &hf_qsig_sync_response , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_BOOLEAN },
+ { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_cint_CintInformation2Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_sync_SynchronizationReqRes(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,
- qsig_cint_CintInformation2Arg_sequence, hf_index, ett_qsig_cint_CintInformation2Arg);
+ qsig_sync_SynchronizationReqRes_sequence, hf_index, ett_qsig_sync_SynchronizationReqRes);
return offset;
}
-static const value_string qsig_cint_Condition_vals[] = {
- { 0, "unknown" },
- { 2, "cintBus" },
- { 3, "cintCug" },
- { 4, "cintDnd" },
- { 5, "cintIbd" },
- { 6, "cintInn" },
- { 7, "cintMob1" },
- { 8, "cintMob2" },
- { 9, "cintMob3" },
- { 10, "cintNcmp" },
- { 11, "cintNcong" },
- { 13, "cintOos" },
- { 14, "cintRrs" },
- { 17, "cintTrans" },
- { 18, "cintUpl" },
- { 19, "cintInvDiv" },
+static const value_string qsig_sync_T_stateinfo_vals[] = {
+ { 0, "freerunning" },
+ { 1, "idle" },
{ 0, NULL }
};
static int
-dissect_qsig_cint_Condition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_sync_T_stateinfo(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);
@@ -6624,67 +6606,83 @@ dissect_qsig_cint_Condition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
}
-static const ber_sequence_t qsig_cint_CintCondArg_sequence[] = {
- { &hf_qsig_cint_interceptionCause_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_Condition },
- { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
- { &hf_qsig_cint_calledName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
- { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
- { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
+static const ber_sequence_t qsig_sync_SynchronizationInfoArg_sequence[] = {
+ { &hf_qsig_sync_stateinfo , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_T_stateinfo },
+ { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_cint_CintCondArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_sync_SynchronizationInfoArg(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,
- qsig_cint_CintCondArg_sequence, hf_index, ett_qsig_cint_CintCondArg);
+ qsig_sync_SynchronizationInfoArg_sequence, hf_index, ett_qsig_sync_SynchronizationInfoArg);
return offset;
}
/*--- PDUs ---*/
-static int dissect_qsig_cint_CintInformation1Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_sync_SynchronizationReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_cint_CintInformation1Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU);
+ offset = dissect_qsig_sync_SynchronizationReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU);
return offset;
}
-static int dissect_qsig_cint_CintInformation2Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_sync_SynchronizationReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_cint_CintInformation2Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU);
+ offset = dissect_qsig_sync_SynchronizationReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU);
return offset;
}
-static int dissect_qsig_cint_CintCondArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_sync_SynchronizationInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_cint_CintCondArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintCondArg_PDU);
+ offset = dissect_qsig_sync_SynchronizationInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU);
return offset;
}
-static int dissect_qsig_cint_CintExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_sync_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_cint_CintExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintExtension_PDU);
+ offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_Extension_PDU);
return offset;
}
-/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
+/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
-static const value_string qsig_sync_Action_vals[] = {
- { 0, "enslavement" },
- { 1, "holdon" },
+static const value_string qsig_cint_CintCause_vals[] = {
+ { 0, "unknown" },
+ { 1, "cintBnan" },
+ { 2, "cintBus" },
+ { 3, "cintCug" },
+ { 4, "cintDnd" },
+ { 5, "cintIbd" },
+ { 6, "cintInn" },
+ { 7, "cintMob1" },
+ { 8, "cintMob2" },
+ { 9, "cintMob3" },
+ { 10, "cintNcmp" },
+ { 11, "cintNcong" },
+ { 12, "cintNre" },
+ { 13, "cintOos" },
+ { 14, "cintRrs" },
+ { 15, "cintTbnan" },
+ { 16, "cintTnre" },
+ { 17, "cintTrans" },
+ { 18, "cintUpl" },
+ { 19, "cintInvDiv" },
+ { 20, "cintHold" },
{ 0, NULL }
};
static int
-dissect_qsig_sync_Action(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_cint_CintCause(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);
@@ -6692,90 +6690,110 @@ dissect_qsig_sync_Action(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
}
-static const ber_sequence_t qsig_sync_SEQUENCE_OF_Extension_sequence_of[1] = {
- { &hf_qsig_sync_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+
+static int
+dissect_qsig_cint_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 qsig_cint_SEQUENCE_OF_Extension_sequence_of[1] = {
+ { &hf_qsig_cint_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
};
static int
-dissect_qsig_sync_SEQUENCE_OF_Extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_cint_SEQUENCE_OF_Extension(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_of(implicit_tag, actx, tree, tvb, offset,
- qsig_sync_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sync_SEQUENCE_OF_Extension);
+ qsig_cint_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cint_SEQUENCE_OF_Extension);
return offset;
}
-static const value_string qsig_sync_ArgExtension_vals[] = {
- { 1, "extension" },
- { 2, "sequOfExtn" },
+static const value_string qsig_cint_CintExtension_vals[] = {
+ { 0, "none" },
+ { 1, "single" },
+ { 2, "multiple" },
{ 0, NULL }
};
-static const ber_choice_t qsig_sync_ArgExtension_choice[] = {
- { 1, &hf_qsig_sync_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
- { 2, &hf_qsig_sync_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sync_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cint_CintExtension_choice[] = {
+ { 0, &hf_qsig_cint_none , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_NULL },
+ { 1, &hf_qsig_cint_single , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+ { 2, &hf_qsig_cint_multiple , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cint_SEQUENCE_OF_Extension },
{ 0, NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_sync_ArgExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_cint_CintExtension(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,
- qsig_sync_ArgExtension_choice, hf_index, ett_qsig_sync_ArgExtension,
+ qsig_cint_CintExtension_choice, hf_index, ett_qsig_cint_CintExtension,
NULL);
return offset;
}
-static const ber_sequence_t qsig_sync_SynchronizationReqArg_sequence[] = {
- { &hf_qsig_sync_action , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
- { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
+static const ber_sequence_t qsig_cint_CintInformation1Arg_sequence[] = {
+ { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
+ { &hf_qsig_cint_interceptedToNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+ { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_sync_SynchronizationReqArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_cint_CintInformation1Arg(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,
- qsig_sync_SynchronizationReqArg_sequence, hf_index, ett_qsig_sync_SynchronizationReqArg);
-
- return offset;
-}
-
-
-
-static int
-dissect_qsig_sync_BOOLEAN(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index);
+ qsig_cint_CintInformation1Arg_sequence, hf_index, ett_qsig_cint_CintInformation1Arg);
return offset;
}
-static const ber_sequence_t qsig_sync_SynchronizationReqRes_sequence[] = {
- { &hf_qsig_sync_action , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
- { &hf_qsig_sync_response , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_BOOLEAN },
- { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
+static const ber_sequence_t qsig_cint_CintInformation2Arg_sequence[] = {
+ { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
+ { &hf_qsig_cint_calledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
+ { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
+ { &hf_qsig_cint_calledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+ { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+ { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_sync_SynchronizationReqRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_cint_CintInformation2Arg(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,
- qsig_sync_SynchronizationReqRes_sequence, hf_index, ett_qsig_sync_SynchronizationReqRes);
+ qsig_cint_CintInformation2Arg_sequence, hf_index, ett_qsig_cint_CintInformation2Arg);
return offset;
}
-static const value_string qsig_sync_T_stateinfo_vals[] = {
- { 0, "freerunning" },
- { 1, "idle" },
+static const value_string qsig_cint_Condition_vals[] = {
+ { 0, "unknown" },
+ { 2, "cintBus" },
+ { 3, "cintCug" },
+ { 4, "cintDnd" },
+ { 5, "cintIbd" },
+ { 6, "cintInn" },
+ { 7, "cintMob1" },
+ { 8, "cintMob2" },
+ { 9, "cintMob3" },
+ { 10, "cintNcmp" },
+ { 11, "cintNcong" },
+ { 13, "cintOos" },
+ { 14, "cintRrs" },
+ { 17, "cintTrans" },
+ { 18, "cintUpl" },
+ { 19, "cintInvDiv" },
{ 0, NULL }
};
static int
-dissect_qsig_sync_T_stateinfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_cint_Condition(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);
@@ -6783,48 +6801,51 @@ dissect_qsig_sync_T_stateinfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
-static const ber_sequence_t qsig_sync_SynchronizationInfoArg_sequence[] = {
- { &hf_qsig_sync_stateinfo , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_T_stateinfo },
- { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
+static const ber_sequence_t qsig_cint_CintCondArg_sequence[] = {
+ { &hf_qsig_cint_interceptionCause_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_Condition },
+ { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
+ { &hf_qsig_cint_calledName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+ { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+ { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
{ NULL, 0, 0, 0, NULL }
};
static int
-dissect_qsig_sync_SynchronizationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_cint_CintCondArg(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,
- qsig_sync_SynchronizationInfoArg_sequence, hf_index, ett_qsig_sync_SynchronizationInfoArg);
+ qsig_cint_CintCondArg_sequence, hf_index, ett_qsig_cint_CintCondArg);
return offset;
}
/*--- PDUs ---*/
-static int dissect_qsig_sync_SynchronizationReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cint_CintInformation1Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_sync_SynchronizationReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU);
+ offset = dissect_qsig_cint_CintInformation1Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU);
return offset;
}
-static int dissect_qsig_sync_SynchronizationReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cint_CintInformation2Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_sync_SynchronizationReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU);
+ offset = dissect_qsig_cint_CintInformation2Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU);
return offset;
}
-static int dissect_qsig_sync_SynchronizationInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cint_CintCondArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_sync_SynchronizationInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU);
+ offset = dissect_qsig_cint_CintCondArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintCondArg_PDU);
return offset;
}
-static int dissect_qsig_sync_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cint_CintExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
- offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_Extension_PDU);
+ offset = dissect_qsig_cint_CintExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintExtension_PDU);
return offset;
}
@@ -9152,7 +9173,7 @@ dissect_qsig_wtmau_DefinedIDs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_qsig_wtmau_T_param(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 "qsig.cnf"
+#line 166 "qsig.cnf"
@@ -11878,7 +11899,7 @@ static int dissect_qsig_mid_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
/*--- End of included file: packet-qsig-fn.c ---*/
-#line 321 "packet-qsig-template.c"
+#line 325 "packet-qsig-template.c"
typedef struct _qsig_op_t {
gint32 opcode;
@@ -11987,6 +12008,11 @@ static const qsig_op_t qsig_op_tab[] = {
/* recallAlerting */ { 57, dissect_qsig_re_ReAlertingArg_PDU, NULL },
/* recallAnswered */ { 58, dissect_qsig_re_ReAnswerArg_PDU, NULL },
+/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
+
+ /* synchronizationRequest */ { 78, dissect_qsig_sync_SynchronizationReqArg_PDU, dissect_qsig_sync_SynchronizationReqRes_PDU },
+ /* synchronizationInfo */ { 79, dissect_qsig_sync_SynchronizationInfoArg_PDU, NULL },
+
/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
/* cintLegInformation1 */ { 66, dissect_qsig_cint_CintInformation1Arg_PDU, NULL },
@@ -11995,11 +12021,6 @@ static const qsig_op_t qsig_op_tab[] = {
/* cintDisable */ { 69, dissect_qsig_cint_CintExtension_PDU, NULL },
/* cintEnable */ { 70, dissect_qsig_cint_CintExtension_PDU, NULL },
-/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
-
- /* synchronizationRequest */ { 78, dissect_qsig_sync_SynchronizationReqArg_PDU, dissect_qsig_sync_SynchronizationReqRes_PDU },
- /* synchronizationInfo */ { 79, dissect_qsig_sync_SynchronizationInfoArg_PDU, NULL },
-
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
/* cmnRequest */ { 84, dissect_qsig_cmn_DummyArg_PDU, dissect_qsig_cmn_CmnArg_PDU },
@@ -12096,7 +12117,7 @@ static const qsig_op_t qsig_op_tab[] = {
/* mIDMailboxID */ { 120, dissect_qsig_mid_MIDMailboxIDArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
/*--- End of included file: packet-qsig-table11.c ---*/
-#line 330 "packet-qsig-template.c"
+#line 334 "packet-qsig-template.c"
};
typedef struct _qsig_err_t {
@@ -12182,14 +12203,14 @@ static const qsig_err_t qsig_err_tab[] = {
/* Unknown or empty loop list ERROR */
-/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
-
-/* Unknown or empty loop list ERROR */
-
/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
/* unspecified */ { 1008, dissect_qsig_sync_Extension_PDU },
+/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
/* Unknown or empty loop list ERROR */
@@ -12277,7 +12298,7 @@ static const qsig_err_t qsig_err_tab[] = {
/* unspecified */ { 1008, dissect_qsig_mid_Extension_PDU },
/*--- End of included file: packet-qsig-table21.c ---*/
-#line 339 "packet-qsig-template.c"
+#line 343 "packet-qsig-template.c"
};
static const qsig_op_t *get_op(gint32 opcode) {
@@ -12561,7 +12582,7 @@ void proto_register_qsig(void) {
{ &hf_qsig_extensionId,
{ "extensionId", "qsig.extensionId",
FT_OID, BASE_NONE, NULL, 0,
- "qsig.OBJECT_IDENTIFIER", HFILL }},
+ "qsig.T_extensionId", HFILL }},
{ &hf_qsig_extensionArgument,
{ "extensionArgument", "qsig.extensionArgument",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13881,6 +13902,53 @@ void proto_register_qsig(void) {
FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_01_vals), 0,
"qsig_re.T_argumentExtension_01", HFILL }},
+/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
+
+ { &hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU,
+ { "SynchronizationReqArg", "qsig.sync.SynchronizationReqArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "qsig_sync.SynchronizationReqArg", HFILL }},
+ { &hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU,
+ { "SynchronizationReqRes", "qsig.sync.SynchronizationReqRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "qsig_sync.SynchronizationReqRes", HFILL }},
+ { &hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU,
+ { "SynchronizationInfoArg", "qsig.sync.SynchronizationInfoArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "qsig_sync.SynchronizationInfoArg", HFILL }},
+ { &hf_qsig_sync_qsig_sync_Extension_PDU,
+ { "Extension", "qsig.sync.Extension",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "qsig.Extension", HFILL }},
+ { &hf_qsig_sync_action,
+ { "action", "qsig.sync.action",
+ FT_INT32, BASE_DEC, VALS(qsig_sync_Action_vals), 0,
+ "qsig_sync.Action", HFILL }},
+ { &hf_qsig_sync_argExtension,
+ { "argExtension", "qsig.sync.argExtension",
+ FT_UINT32, BASE_DEC, VALS(qsig_sync_ArgExtension_vals), 0,
+ "qsig_sync.ArgExtension", HFILL }},
+ { &hf_qsig_sync_response,
+ { "response", "qsig.sync.response",
+ FT_BOOLEAN, 8, NULL, 0,
+ "qsig_sync.BOOLEAN", HFILL }},
+ { &hf_qsig_sync_stateinfo,
+ { "stateinfo", "qsig.sync.stateinfo",
+ FT_INT32, BASE_DEC, VALS(qsig_sync_T_stateinfo_vals), 0,
+ "qsig_sync.T_stateinfo", HFILL }},
+ { &hf_qsig_sync_extension,
+ { "extension", "qsig.sync.extension",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "qsig.Extension", HFILL }},
+ { &hf_qsig_sync_sequOfExtn,
+ { "sequOfExtn", "qsig.sync.sequOfExtn",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "qsig_sync.SEQUENCE_OF_Extension", HFILL }},
+ { &hf_qsig_sync_sequOfExtn_item,
+ { "Item", "qsig.sync.sequOfExtn_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "qsig.Extension", HFILL }},
+
/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
{ &hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU,
@@ -13948,53 +14016,6 @@ void proto_register_qsig(void) {
FT_NONE, BASE_NONE, NULL, 0,
"qsig.Extension", HFILL }},
-/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
-
- { &hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU,
- { "SynchronizationReqArg", "qsig.sync.SynchronizationReqArg",
- FT_NONE, BASE_NONE, NULL, 0,
- "qsig_sync.SynchronizationReqArg", HFILL }},
- { &hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU,
- { "SynchronizationReqRes", "qsig.sync.SynchronizationReqRes",
- FT_NONE, BASE_NONE, NULL, 0,
- "qsig_sync.SynchronizationReqRes", HFILL }},
- { &hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU,
- { "SynchronizationInfoArg", "qsig.sync.SynchronizationInfoArg",
- FT_NONE, BASE_NONE, NULL, 0,
- "qsig_sync.SynchronizationInfoArg", HFILL }},
- { &hf_qsig_sync_qsig_sync_Extension_PDU,
- { "Extension", "qsig.sync.Extension",
- FT_NONE, BASE_NONE, NULL, 0,
- "qsig.Extension", HFILL }},
- { &hf_qsig_sync_action,
- { "action", "qsig.sync.action",
- FT_INT32, BASE_DEC, VALS(qsig_sync_Action_vals), 0,
- "qsig_sync.Action", HFILL }},
- { &hf_qsig_sync_argExtension,
- { "argExtension", "qsig.sync.argExtension",
- FT_UINT32, BASE_DEC, VALS(qsig_sync_ArgExtension_vals), 0,
- "qsig_sync.ArgExtension", HFILL }},
- { &hf_qsig_sync_response,
- { "response", "qsig.sync.response",
- FT_BOOLEAN, 8, NULL, 0,
- "qsig_sync.BOOLEAN", HFILL }},
- { &hf_qsig_sync_stateinfo,
- { "stateinfo", "qsig.sync.stateinfo",
- FT_INT32, BASE_DEC, VALS(qsig_sync_T_stateinfo_vals), 0,
- "qsig_sync.T_stateinfo", HFILL }},
- { &hf_qsig_sync_extension,
- { "extension", "qsig.sync.extension",
- FT_NONE, BASE_NONE, NULL, 0,
- "qsig.Extension", HFILL }},
- { &hf_qsig_sync_sequOfExtn,
- { "sequOfExtn", "qsig.sync.sequOfExtn",
- FT_UINT32, BASE_DEC, NULL, 0,
- "qsig_sync.SEQUENCE_OF_Extension", HFILL }},
- { &hf_qsig_sync_sequOfExtn_item,
- { "Item", "qsig.sync.sequOfExtn_item",
- FT_NONE, BASE_NONE, NULL, 0,
- "qsig.Extension", HFILL }},
-
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
{ &hf_qsig_cmn_qsig_cmn_DummyArg_PDU,
@@ -15790,13 +15811,14 @@ void proto_register_qsig(void) {
"qsig.Extension", HFILL }},
/*--- End of included file: packet-qsig-hfarr.c ---*/
-#line 614 "packet-qsig-template.c"
+#line 618 "packet-qsig-template.c"
};
/* List of subtrees */
static gint *ett[] = {
&ett_qsig,
&ett_qsig_ie,
+ &ett_qsig_unknown_extension,
/*--- Included file: packet-qsig-ettarr.c ---*/
#line 1 "packet-qsig-ettarr.c"
@@ -15997,14 +16019,6 @@ void proto_register_qsig(void) {
&ett_qsig_re_ReAnswerArg,
&ett_qsig_re_T_argumentExtension_01,
-/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
-
- &ett_qsig_cint_CintInformation1Arg,
- &ett_qsig_cint_CintInformation2Arg,
- &ett_qsig_cint_CintCondArg,
- &ett_qsig_cint_CintExtension,
- &ett_qsig_cint_SEQUENCE_OF_Extension,
-
/* --- Module Synchronization-Operations-asn1-97 --- --- --- */
&ett_qsig_sync_SynchronizationReqArg,
@@ -16013,6 +16027,14 @@ void proto_register_qsig(void) {
&ett_qsig_sync_ArgExtension,
&ett_qsig_sync_SEQUENCE_OF_Extension,
+/* --- Module Call-Interception-Operations-asn1-97 --- --- --- */
+
+ &ett_qsig_cint_CintInformation1Arg,
+ &ett_qsig_cint_CintInformation2Arg,
+ &ett_qsig_cint_CintCondArg,
+ &ett_qsig_cint_CintExtension,
+ &ett_qsig_cint_SEQUENCE_OF_Extension,
+
/* --- Module Common-Information-Operations-asn1-97 --- --- --- */
&ett_qsig_cmn_CmnArg,
@@ -16240,7 +16262,7 @@ void proto_register_qsig(void) {
&ett_qsig_mid_SEQUENCE_OF_Extension,
/*--- End of included file: packet-qsig-ettarr.c ---*/
-#line 621 "packet-qsig-template.c"
+#line 626 "packet-qsig-template.c"
};
/* Register protocol and dissector */
@@ -16250,6 +16272,8 @@ void proto_register_qsig(void) {
proto_register_field_array(proto_qsig, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ /* Register dissector tables */
+ extension_dissector_table = register_dissector_table("qsig.ext", "QSIG Extension", FT_STRING, BASE_NONE);
}