diff options
author | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-09-17 13:23:25 +0000 |
---|---|---|
committer | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-09-17 13:23:25 +0000 |
commit | c50da9f742a6e67be716ce34c3218e6b1d8b5a0e (patch) | |
tree | a735a6b0deb65c74ddf505a47744ee481e070fe3 /epan/dissectors/packet-qsig.c | |
parent | 72af3183ab319a86c636b3a9dbad8df8ad7614e1 (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.c | 542 |
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); } |