QSIG fully implemented
[obnox/wireshark/wip.git] / epan / dissectors / packet-qsig.c
index a58d63272b7d6acc3cb591b41679ae2b89f60cb3..b66e7d09b6476a5393d99bf306ca8a08486f6fbe 100644 (file)
@@ -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 -b -T -X -e -p qsig -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 */
+/* ../../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 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 */
 
@@ -278,13 +278,42 @@ static const gint32 op2srv_tab[] = {
 };                                 
 
 static const value_string qsig_str_operation[] = {
+
+/*--- Included file: packet-qsig-table10.c ---*/
+#line 1 "packet-qsig-table10.c"
+
+/* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
+
+/* Unknown or empty loop list OPERATION */
+
+/* --- Module Name-Operations-asn1-97 --- --- ---                             */
+
   {   0, "callingName" },
   {   1, "calledName" },
   {   2, "connectedName" },
   {   3, "busyName" },
+
+/* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
+
+  {  15, "activateDiversionQ" },
+  {  16, "deactivateDiversionQ" },
+  {  17, "interrogateDiversionQ" },
+  {  18, "checkRestriction" },
+  {  19, "callRerouteing" },
+  {  20, "divertingLegInformation1" },
+  {  21, "divertingLegInformation2" },
+  {  22, "divertingLegInformation3" },
+  {  23, "cfnrDivertedLegFailed" },
+
+/* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
+
+  {  86, "pathReplaceInvite" },
   {   4, "pathReplacePropose" },
   {   5, "pathReplaceSetup" },
   {   6, "pathReplaceRetain" },
+
+/* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
+
   {   7, "callTransferIdentify" },
   {   8, "callTransferAbandon" },
   {   9, "callTransferInitiate" },
@@ -293,18 +322,10 @@ static const value_string qsig_str_operation[] = {
   {  12, "callTransferComplete" },
   {  13, "callTransferUpdate" },
   {  14, "subaddressTransfer" },
-  {  15, "activateDiversionQ" },
-  {  16, "deactivateDiversionQ" },
-  {  17, "interrogateDiversionQ" },
-  {  18, "checkRestriction" },
-  {  19, "callRerouteing" },
-  {  20, "divertingLegInformation1" },
-  {  21, "divertingLegInformation2" },
-  {  22, "divertingLegInformation3" },
-  {  23, "cfnrDivertedLegFailed" },
-/*   24        Reserved (corresponding integer value used by ISO for MLPP) */   
-/*   25        Reserved (corresponding integer value used by ISO for MLPP) */   
-/*   26        Reserved (corresponding integer value used by ISO for MLPP) */   
+
+/* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
+
+  {  40, "ccbsRequest" },
   {  27, "ccnrRequest" },
   {  28, "ccCancel" },
   {  29, "ccExecPossible" },
@@ -312,106 +333,337 @@ static const value_string qsig_str_operation[] = {
   {  31, "ccRingout" },
   {  32, "ccSuspend" },
   {  33, "ccResume" },
+
+/* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
+
+  {  41, "pathRetain" },
+  {  42, "serviceAvailable" },
   {  34, "callOfferRequest" },
+  {  49, "cfbOverride" },
+
+/* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
+
   {  35, "doNotDisturbActivateQ" },
   {  36, "doNotDisturbDeactivateQ" },
   {  37, "doNotDisturbInterrogateQ" },
   {  38, "doNotDisturbOverrideQ" },
+  {  41, "pathRetain" },
+  {  42, "serviceAvailable" },
   {  39, "doNotDisturbOvrExecuteQ" },
-  {  40, "ccbsRequest" },
-  {  41, "pathRetain" },        /* common for QSIG-CO, QSIG-DND(O), QSIG-CI */
-  {  42, "serviceAvailable" },  /* common for QSIG-CO, QSIG-DND(O), QSIG-CI */
+
+/* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
+
+  {  41, "pathRetain" },
+  {  42, "serviceAvailable" },
   {  43, "callIntrusionRequest" },
   {  44, "callIntrusionGetCIPL" },
-  {  45, "callIntrusionIsolate" },
   {  46, "callIntrusionForcedRelease" },
+  {  45, "callIntrusionIsolate" },
   {  47, "callIntrusionWOBRequest" },
   {  48, "callIntrusionCompleted" },
-  {  49, "cfbOverride" },       /* common for QSIG-CO, QSIG-CI */
-  {  50, "locUpdate" },
-  {  51, "locDelete" },
-  {  52, "locDeReg" },
-  {  53, "pisnEnquiry" },
-  {  54, "wtmiEnquiry" },
-  {  55, "wtmiDivert" },
-  {  56, "wtmiInform" },
-  {  57, "recallAlerting" },
-  {  58, "recallAnswered" },
+  {  49, "cfbOverride" },
+
+/* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
+
+  {  63, "aocRate" },
+  {  62, "aocInterim" },
+  {  61, "aocFinal" },
   {  59, "chargeRequest" },
   {  60, "getFinalCharge" },
-  {  61, "aocFinal" },
-  {  62, "aocInterim" },
-  {  63, "aocRate" },
   {  64, "aocComplete" },
   {  65, "aocDivChargeReq" },
+
+/* --- Module Recall-Operations-asn1-97 --- --- ---                           */
+
+  {  57, "recallAlerting" },
+  {  58, "recallAnswered" },
+
+/* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
+
   {  66, "cintLegInformation1" },
   {  67, "cintLegInformation2" },
   {  68, "cintCondition" },
   {  69, "cintDisable" },
   {  70, "cintEnable" },
-  {  71, "wtmoCall" },
-  {  72, "authWtmUser" },
-  {  73, "getWtatParam" },
-  {  74, "wtatParamEnq" },
-  {  75, "getWtanParam" },
-  {  76, "wtanParamEnq" },
-  {  77, "transferAuthParam" },
-  {  78, "synchronizationRequest" },
-  {  79, "synchronizationInfo" },
-  {  80, "mwiActivate/mCMNewMsg" },        /* common for QSIG-MWI, QSIG-MCM */
-  {  81, "mwiDeactivate/mCMNoNewMsg" },    /* common for QSIG-MWI, QSIG-MCM */
-  {  82, "mwiInterrogate/mCMUpdateReq" },  /* common for QSIG-MWI, QSIG-MCM */
-/*   83        Reserved (corresponding integer value used by ISO for RRC)      ISO/IEC 13241 */
+
+/* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
+
   {  84, "cmnRequest" },
   {  85, "cmnInform" },
-  {  86, "pathReplaceInvite" },
+
+/* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
+
   {  87, "callInterruptionRequest" },
   {  88, "callProtectionRequest" },
+
+/* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
+
   {  89, "pumRegistr" },
   {  90, "pumDelReg" },
   {  91, "pumDe-reg" },
   {  92, "pumInterrog" },
+
+/* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
+
   {  93, "pumiEnquiry" },
   {  94, "pumiDivert" },
   {  95, "pumiInform" },
   {  96, "pumoCall" },
-  {  97, "getRRCInf" },
-  {  98, "locInfoCheck" },
+
+/* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
+
   {  99, "ssctInitiate" },
   { 100, "ssctSetup" },
   { 101, "ssctPostDial" },
   { 102, "ssctDigitInfo" },
+
+/* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
+
+  {  50, "locUpdate" },
+  {  51, "locDelete" },
+  {  52, "locDeReg" },
+  {  53, "pisnEnquiry" },
+  {  97, "getRRCInf" },
+  {  98, "locInfoCheck" },
+
+/* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
+
+  {  54, "wtmiEnquiry" },
+  {  55, "wtmiDivert" },
+  {  56, "wtmiInform" },
+  {  71, "wtmoCall" },
+
+/* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
+
+  {  72, "authWtmUser" },
+  {  73, "getWtatParam" },
+  {  74, "wtatParamEnq" },
+  {  75, "getWtanParam" },
+  {  76, "wtanParamEnq" },
+  {  77, "transferAuthParam" },
+
+/* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
+
   { 103, "display" },
   { 104, "keypad" },
+
+/* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
+
   { 105, "callIdentificationAssign" },
   { 106, "callIdentificationUpdate" },
+
+/* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
+
   { 107, "smsSubmit" },
   { 108, "smsDeliver" },
   { 109, "smsStatusReport" },
   { 110, "smsCommand" },
   { 111, "scAlert" },
+
+/* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
+
   { 112, "mCRequest" },
-  { 113, "mCAlerting" },
-  { 114, "mCInform" },
+  { 113, "mCInform" },
+  { 114, "mCAlerting" },
+
+/* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
+
+  {  80, "mCMNewMsg" },
+  {  81, "mCMNoNewMsg" },
   { 115, "mCMUpdate" },
+  {  82, "mCMUpdateReq" },
   { 116, "mCMService" },
   { 117, "mCMInterrogate" },
   { 118, "mCMailboxFull" },
+
+/* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
+
   { 119, "mIDMailboxAuth" },
   { 120, "mIDMailboxID" },
+
+/*--- End of included file: packet-qsig-table10.c ---*/
+#line 274 "packet-qsig-template.c"
   {   0, NULL}
 };
-                     
-typedef struct _qsig_op_t {
-  gint32 opcode;
-  new_dissector_t arg_pdu;
-  new_dissector_t res_pdu;
-} qsig_op_t;
 
+static const value_string qsig_str_error[] = {
+
+/*--- Included file: packet-qsig-table20.c ---*/
+#line 1 "packet-qsig-table20.c"
+
+/* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Name-Operations-asn1-97 --- --- ---                             */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
+
+  {   12, "invalidDivertedToNr" },
+  {   14, "specialServiceNr" },
+  {   15, "diversionToServedUserNr" },
+  {   24, "numberOfDiversionsExceeded" },
+  { 1000, "temporarilyUnavailable" },
+  { 1007, "notAuthorized" },
+  { 1008, "unspecified" },
+
+/* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
+
+  { 1000, "temporarilyUnavailable" },
+  { 1001, "collision" },
+  { 1002, "criteriaPermanentlyUnachievable" },
+  { 1003, "criteriaTemporarilyUnachievable" },
+  { 1004, "invalidRerouteingNumber" },
+  { 1005, "unrecognizedCallIdentity" },
+  { 1006, "establishmentFailure" },
+  { 1008, "unspecified" },
+
+/* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
+
+  { 1008, "unspecified" },
+  { 1004, "invalidRerouteingNumber" },
+  { 1005, "unrecognizedCallIdentity" },
+  { 1006, "establishmentFailure" },
+
+/* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
+
+  { 1008, "unspecified" },
+  { 1010, "shortTermRejection" },
+  { 1011, "longTermRejection" },
+  { 1012, "remoteUserBusyAgain" },
+  { 1013, "failureToMatch" },
+  { 1014, "failedDueToInterworking" },
+
+/* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
+
+  { 1009, "notBusy" },
+  { 1000, "temporarilyUnavailable" },
+  { 1008, "unspecified" },
+
+/* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
+
+  { 1000, "temporarilyUnavailable" },
+  {   43, "notActivated" },
+  { 1008, "unspecified" },
+
+/* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
+
+  { 1009, "notBusy" },
+  { 1000, "temporarilyUnavailable" },
+  { 1007, "notAuthorized" },
+  { 1008, "unspecified" },
+
+/* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
+
+  { 1008, "unspecified" },
+  { 1016, "freeOfCharge" },
+
+/* --- Module Recall-Operations-asn1-97 --- --- ---                           */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
+
+  { 1008, "unspecified" },
+  { 1007, "notAuthorized" },
+  { 1000, "temporarilyUnavailable" },
+  { 1019, "pumUserNotSubscribedToThisServiceOpt" },
+  { 1020, "pumUserFailedAuthentication" },
+  { 1021, "hostingAddrInvalid" },
+  { 1022, "pumUserNotRegistered" },
+
+/* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
+
+  { 1015, "locationNotKnown" },
+  { 1008, "unspecified" },
+
+/* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
+
+  { 1008, "unspecified" },
+
+/* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
+
+  { 1007, "notAuthorized" },
+  { 1000, "temporarilyUnavailable" },
+  { 1008, "unspecified" },
+
+/* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
+
+  { 1008, "unspecified" },
+  { 1015, "locationNotKnown" },
+
+/* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
+
+  { 1007, "notAuthorized" },
+  { 1017, "paramNotAvailable" },
+  { 1000, "temporarilyUnavailable" },
+  { 1008, "unspecified" },
+
+/* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
+
+  { 1008, "unspecified" },
+  { 1023, "noDisplayAvailable" },
+  { 1024, "displayTemporarilyNotAvailable" },
+  { 1025, "notPresentable" },
+
+/* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
+
+  { 1026, "smsDeliverError" },
+  { 1027, "smsSubmitError" },
+  { 1028, "smsStatusReportError" },
+  { 1029, "smsCommandError" },
+  { 1008, "unspecified" },
+
+/* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
+
+  { 1030, "invalidDestinationNumber" },
+  { 1031, "invalidCooperationNumber" },
+  { 1032, "mCRequestNotAllowed" },
+  { 1033, "mCExecutionNotAllowed" },
+  { 1034, "mCDestUserBusy" },
+  { 1035, "mCCoopUserBusy" },
+  { 1036, "mCCoopUserRejected" },
+  { 1008, "unspecified" },
+
+/* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
+
+  { 1037, "mCMModeNotProvided" },
+  { 1008, "unspecified" },
+
+/* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
+
+  { 1039, "invalidMailbox" },
+  { 1040, "authorizationFailed" },
+  { 1008, "unspecified" },
+
+/*--- End of included file: packet-qsig-table20.c ---*/
+#line 279 "packet-qsig-template.c"
+  {   0, NULL}
+};
+                     
 /* Initialize the protocol and registered fields */
 int proto_qsig = -1;
 static int hf_qsig_operation = -1;
 static int hf_qsig_service = -1;
+static int hf_qsig_error = -1;
 static int hf_qsig_ie_type = -1;
 static int hf_qsig_ie_type_cs4 = -1;
 static int hf_qsig_ie_type_cs5 = -1;
@@ -422,21 +674,9 @@ static int hf_qsig_pc = -1;
 
 /*--- Included file: packet-qsig-hf.c ---*/
 #line 1 "packet-qsig-hf.c"
-static int hf_qsig_NameArg_PDU = -1;              /* NameArg */
-static int hf_qsig_ARG_activateDiversionQ_PDU = -1;  /* ARG_activateDiversionQ */
-static int hf_qsig_RES_activateDiversionQ_PDU = -1;  /* RES_activateDiversionQ */
-static int hf_qsig_ARG_deactivateDiversionQ_PDU = -1;  /* ARG_deactivateDiversionQ */
-static int hf_qsig_RES_deactivateDiversionQ_PDU = -1;  /* RES_deactivateDiversionQ */
-static int hf_qsig_ARG_interrogateDiversionQ_PDU = -1;  /* ARG_interrogateDiversionQ */
-static int hf_qsig_IntResultList_PDU = -1;        /* IntResultList */
-static int hf_qsig_ARG_checkRestriction_PDU = -1;  /* ARG_checkRestriction */
-static int hf_qsig_RES_checkRestriction_PDU = -1;  /* RES_checkRestriction */
-static int hf_qsig_ARG_callRerouteing_PDU = -1;   /* ARG_callRerouteing */
-static int hf_qsig_RES_callRerouteing_PDU = -1;   /* RES_callRerouteing */
-static int hf_qsig_ARG_divertingLegInformation1_PDU = -1;  /* ARG_divertingLegInformation1 */
-static int hf_qsig_ARG_divertingLegInformation2_PDU = -1;  /* ARG_divertingLegInformation2 */
-static int hf_qsig_ARG_divertingLegInformation3_PDU = -1;  /* ARG_divertingLegInformation3 */
-static int hf_qsig_ARG_cfnrDivertedLegFailed_PDU = -1;  /* ARG_cfnrDivertedLegFailed */
+
+/* --- 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_extensionArgument = -1;        /* T_extensionArgument */
 static int hf_qsig_presentationAllowedAddressS = -1;  /* AddressScreened */
@@ -466,64 +706,837 @@ static int hf_qsig_userSpecifiedSubaddress = -1;  /* UserSpecifiedSubaddress */
 static int hf_qsig_nSAPSubaddress = -1;           /* NSAPSubaddress */
 static int hf_qsig_subaddressInformation = -1;    /* SubaddressInformation */
 static int hf_qsig_oddCountIndicator = -1;        /* BOOLEAN */
-static int hf_qsig_name = -1;                     /* Name */
-static int hf_qsig_nameSequence = -1;             /* T_nameSequence */
-static int hf_qsig_extensionNA = -1;              /* NameExtension */
-static int hf_qsig_single = -1;                   /* Extension */
-static int hf_qsig_multiple = -1;                 /* SEQUENCE_OF_Extension */
-static int hf_qsig_multiple_item = -1;            /* Extension */
-static int hf_qsig_namePresentationAllowed = -1;  /* NamePresentationAllowed */
-static int hf_qsig_namePresentationRestricted = -1;  /* NamePresentationRestricted */
-static int hf_qsig_nameNotAvailable = -1;         /* NameNotAvailable */
-static int hf_qsig_namePresentationAllowedSimple = -1;  /* NameData */
-static int hf_qsig_namePresentationAllowedExtended = -1;  /* NameSet */
-static int hf_qsig_namePresentationRestrictedSimple = -1;  /* NameData */
-static int hf_qsig_namePresentationRestrictedExtended = -1;  /* NameSet */
-static int hf_qsig_namePresentationRestrictedNull = -1;  /* NULL */
-static int hf_qsig_nameData = -1;                 /* NameData */
-static int hf_qsig_characterSet = -1;             /* CharacterSet */
-static int hf_qsig_procedure = -1;                /* Procedure */
-static int hf_qsig_basicService = -1;             /* BasicService */
-static int hf_qsig_divertedToAddress = -1;        /* Address */
-static int hf_qsig_servedUserNr = -1;             /* PartyNumber */
-static int hf_qsig_activatingUserNr = -1;         /* PartyNumber */
-static int hf_qsig_extensionAD = -1;              /* ADExtension */
-static int hf_qsig_null = -1;                     /* NULL */
-static int hf_qsig_deactivatingUserNr = -1;       /* PartyNumber */
-static int hf_qsig_extensionDD = -1;              /* DDExtension */
-static int hf_qsig_interrogatingUserNr = -1;      /* PartyNumber */
-static int hf_qsig_extensionID = -1;              /* IDExtension */
-static int hf_qsig_divertedToNr = -1;             /* PartyNumber */
-static int hf_qsig_extensionCHR = -1;             /* CHRExtension */
-static int hf_qsig_rerouteingReason = -1;         /* DiversionReason */
-static int hf_qsig_originalRerouteingReason = -1;  /* DiversionReason */
-static int hf_qsig_calledAddress = -1;            /* Address */
-static int hf_qsig_diversionCounter = -1;         /* INTEGER_1_15 */
-static int hf_qsig_pSS1InfoElement = -1;          /* PSS1InformationElement */
-static int hf_qsig_lastRerouteingNr = -1;         /* PresentedNumberUnscreened */
-static int hf_qsig_subscriptionOption = -1;       /* SubscriptionOption */
-static int hf_qsig_callingPartySubaddress = -1;   /* PartySubaddress */
-static int hf_qsig_callingNumber = -1;            /* PresentedNumberScreened */
-static int hf_qsig_callingName = -1;              /* Name */
-static int hf_qsig_originalCalledNr = -1;         /* PresentedNumberUnscreened */
-static int hf_qsig_redirectingName = -1;          /* Name */
-static int hf_qsig_originalCalledName = -1;       /* Name */
-static int hf_qsig_extensionCRR = -1;             /* CRRExtension */
-static int hf_qsig_diversionReason = -1;          /* DiversionReason */
-static int hf_qsig_nominatedNr = -1;              /* PartyNumber */
-static int hf_qsig_extensionDLI1 = -1;            /* DLI1Extension */
-static int hf_qsig_originalDiversionReason = -1;  /* DiversionReason */
-static int hf_qsig_divertingNr = -1;              /* PresentedNumberUnscreened */
-static int hf_qsig_extensionDLI2 = -1;            /* DLI2Extension */
-static int hf_qsig_presentationAllowedIndicator = -1;  /* PresentationAllowedIndicator */
-static int hf_qsig_redirectionName = -1;          /* Name */
-static int hf_qsig_extensionDLI3 = -1;            /* DLI3Extension */
-static int hf_qsig_IntResultList_item = -1;       /* IntResult */
-static int hf_qsig_remoteEnabled = -1;            /* BOOLEAN */
-static int hf_qsig_extensionIR = -1;              /* IRExtension */
+
+/* --- Module Name-Operations-asn1-97 --- --- ---                             */
+
+static int hf_qsig_na_qsig_na_NameArg_PDU = -1;   /* NameArg */
+static int hf_qsig_na_name = -1;                  /* Name */
+static int hf_qsig_na_nameSequence = -1;          /* T_nameSequence */
+static int hf_qsig_na_extensionNA = -1;           /* NameExtension */
+static int hf_qsig_na_single = -1;                /* Extension */
+static int hf_qsig_na_multiple = -1;              /* SEQUENCE_OF_Extension */
+static int hf_qsig_na_multiple_item = -1;         /* Extension */
+static int hf_qsig_na_namePresentationAllowed = -1;  /* NamePresentationAllowed */
+static int hf_qsig_na_namePresentationRestricted = -1;  /* NamePresentationRestricted */
+static int hf_qsig_na_nameNotAvailable = -1;      /* NameNotAvailable */
+static int hf_qsig_na_namePresentationAllowedSimple = -1;  /* NameData */
+static int hf_qsig_na_namePresentationAllowedExtended = -1;  /* NameSet */
+static int hf_qsig_na_namePresentationRestrictedSimple = -1;  /* NameData */
+static int hf_qsig_na_namePresentationRestrictedExtended = -1;  /* NameSet */
+static int hf_qsig_na_namePresentationRestrictedNull = -1;  /* NULL */
+static int hf_qsig_na_nameData = -1;              /* NameData */
+static int hf_qsig_na_characterSet = -1;          /* CharacterSet */
+
+/* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
+
+static int hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU = -1;  /* ARG_activateDiversionQ */
+static int hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU = -1;  /* RES_activateDiversionQ */
+static int hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU = -1;  /* ARG_deactivateDiversionQ */
+static int hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU = -1;  /* RES_deactivateDiversionQ */
+static int hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU = -1;  /* ARG_interrogateDiversionQ */
+static int hf_qsig_cf_qsig_cf_IntResultList_PDU = -1;  /* IntResultList */
+static int hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU = -1;  /* ARG_checkRestriction */
+static int hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU = -1;  /* RES_checkRestriction */
+static int hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU = -1;  /* ARG_callRerouteing */
+static int hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU = -1;  /* RES_callRerouteing */
+static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU = -1;  /* ARG_divertingLegInformation1 */
+static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU = -1;  /* ARG_divertingLegInformation2 */
+static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU = -1;  /* ARG_divertingLegInformation3 */
+static int hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU = -1;  /* ARG_cfnrDivertedLegFailed */
+static int hf_qsig_cf_qsig_cf_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_cf_procedure = -1;             /* Procedure */
+static int hf_qsig_cf_basicService = -1;          /* BasicService */
+static int hf_qsig_cf_divertedToAddress = -1;     /* Address */
+static int hf_qsig_cf_servedUserNr = -1;          /* PartyNumber */
+static int hf_qsig_cf_activatingUserNr = -1;      /* PartyNumber */
+static int hf_qsig_cf_extensionAD = -1;           /* ADExtension */
+static int hf_qsig_cf_single = -1;                /* Extension */
+static int hf_qsig_cf_multiple = -1;              /* SEQUENCE_OF_Extension */
+static int hf_qsig_cf_multiple_item = -1;         /* Extension */
+static int hf_qsig_cf_null = -1;                  /* NULL */
+static int hf_qsig_cf_deactivatingUserNr = -1;    /* PartyNumber */
+static int hf_qsig_cf_extensionDD = -1;           /* DDExtension */
+static int hf_qsig_cf_interrogatingUserNr = -1;   /* PartyNumber */
+static int hf_qsig_cf_extensionID = -1;           /* IDExtension */
+static int hf_qsig_cf_divertedToNr = -1;          /* PartyNumber */
+static int hf_qsig_cf_extensionCHR = -1;          /* CHRExtension */
+static int hf_qsig_cf_rerouteingReason = -1;      /* DiversionReason */
+static int hf_qsig_cf_originalRerouteingReason = -1;  /* DiversionReason */
+static int hf_qsig_cf_calledAddress = -1;         /* Address */
+static int hf_qsig_cf_diversionCounter = -1;      /* INTEGER_1_15 */
+static int hf_qsig_cf_pSS1InfoElement = -1;       /* PSS1InformationElement */
+static int hf_qsig_cf_lastRerouteingNr = -1;      /* PresentedNumberUnscreened */
+static int hf_qsig_cf_subscriptionOption = -1;    /* SubscriptionOption */
+static int hf_qsig_cf_callingPartySubaddress = -1;  /* PartySubaddress */
+static int hf_qsig_cf_callingNumber = -1;         /* PresentedNumberScreened */
+static int hf_qsig_cf_callingName = -1;           /* Name */
+static int hf_qsig_cf_originalCalledNr = -1;      /* PresentedNumberUnscreened */
+static int hf_qsig_cf_redirectingName = -1;       /* Name */
+static int hf_qsig_cf_originalCalledName = -1;    /* Name */
+static int hf_qsig_cf_extensionCRR = -1;          /* CRRExtension */
+static int hf_qsig_cf_diversionReason = -1;       /* DiversionReason */
+static int hf_qsig_cf_nominatedNr = -1;           /* PartyNumber */
+static int hf_qsig_cf_extensionDLI1 = -1;         /* DLI1Extension */
+static int hf_qsig_cf_originalDiversionReason = -1;  /* DiversionReason */
+static int hf_qsig_cf_divertingNr = -1;           /* PresentedNumberUnscreened */
+static int hf_qsig_cf_extensionDLI2 = -1;         /* DLI2Extension */
+static int hf_qsig_cf_presentationAllowedIndicator = -1;  /* PresentationAllowedIndicator */
+static int hf_qsig_cf_redirectionName = -1;       /* Name */
+static int hf_qsig_cf_extensionDLI3 = -1;         /* DLI3Extension */
+static int hf_qsig_cf_IntResultList_item = -1;    /* IntResult */
+static int hf_qsig_cf_remoteEnabled = -1;         /* BOOLEAN */
+static int hf_qsig_cf_extensionIR = -1;           /* IRExtension */
+
+/* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
+
+static int hf_qsig_pr_qsig_pr_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_pr_qsig_pr_PRProposeArg_PDU = -1;  /* PRProposeArg */
+static int hf_qsig_pr_qsig_pr_PRSetupArg_PDU = -1;  /* PRSetupArg */
+static int hf_qsig_pr_qsig_pr_DummyResult_PDU = -1;  /* DummyResult */
+static int hf_qsig_pr_qsig_pr_PRRetainArg_PDU = -1;  /* PRRetainArg */
+static int hf_qsig_pr_qsig_pr_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_pr_callIdentity = -1;          /* CallIdentity */
+static int hf_qsig_pr_rerouteingNumber = -1;      /* PartyNumber */
+static int hf_qsig_pr_extension = -1;             /* T_extension */
+static int hf_qsig_pr_single = -1;                /* Extension */
+static int hf_qsig_pr_multiple = -1;              /* SEQUENCE_OF_Extension */
+static int hf_qsig_pr_multiple_item = -1;         /* Extension */
+static int hf_qsig_pr_extension_01 = -1;          /* T_extension_01 */
+static int hf_qsig_pr_extension_02 = -1;          /* T_extension_02 */
+static int hf_qsig_pr_null = -1;                  /* NULL */
+
+/* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
+
+static int hf_qsig_ct_qsig_ct_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU = -1;  /* CTIdentifyRes */
+static int hf_qsig_ct_qsig_ct_CTInitiateArg_PDU = -1;  /* CTInitiateArg */
+static int hf_qsig_ct_qsig_ct_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_ct_qsig_ct_CTSetupArg_PDU = -1;  /* CTSetupArg */
+static int hf_qsig_ct_qsig_ct_CTActiveArg_PDU = -1;  /* CTActiveArg */
+static int hf_qsig_ct_qsig_ct_CTCompleteArg_PDU = -1;  /* CTCompleteArg */
+static int hf_qsig_ct_qsig_ct_CTUpdateArg_PDU = -1;  /* CTUpdateArg */
+static int hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU = -1;  /* SubaddressTransferArg */
+static int hf_qsig_ct_qsig_ct_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_ct_null = -1;                  /* NULL */
+static int hf_qsig_ct_single = -1;                /* Extension */
+static int hf_qsig_ct_multiple = -1;              /* SEQUENCE_OF_Extension */
+static int hf_qsig_ct_multiple_item = -1;         /* Extension */
+static int hf_qsig_ct_callIdentity = -1;          /* CallIdentity */
+static int hf_qsig_ct_rerouteingNumber = -1;      /* PartyNumber */
+static int hf_qsig_ct_resultExtension = -1;       /* T_resultExtension */
+static int hf_qsig_ct_argumentExtension = -1;     /* T_argumentExtension */
+static int hf_qsig_ct_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
+static int hf_qsig_ct_connectedAddress = -1;      /* PresentedAddressScreened */
+static int hf_qsig_ct_basicCallInfoElements = -1;  /* PSS1InformationElement */
+static int hf_qsig_ct_connectedName = -1;         /* Name */
+static int hf_qsig_ct_argumentExtension_02 = -1;  /* T_argumentExtension_02 */
+static int hf_qsig_ct_endDesignation = -1;        /* EndDesignation */
+static int hf_qsig_ct_redirectionNumber = -1;     /* PresentedNumberScreened */
+static int hf_qsig_ct_redirectionName = -1;       /* Name */
+static int hf_qsig_ct_callStatus = -1;            /* CallStatus */
+static int hf_qsig_ct_argumentExtension_03 = -1;  /* T_argumentExtension_03 */
+static int hf_qsig_ct_argumentExtension_04 = -1;  /* T_argumentExtension_04 */
+static int hf_qsig_ct_redirectionSubaddress = -1;  /* PartySubaddress */
+static int hf_qsig_ct_argumentExtension_05 = -1;  /* T_argumentExtension_05 */
+
+/* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
+
+static int hf_qsig_cc_qsig_cc_CcRequestArg_PDU = -1;  /* CcRequestArg */
+static int hf_qsig_cc_qsig_cc_CcRequestRes_PDU = -1;  /* CcRequestRes */
+static int hf_qsig_cc_qsig_cc_CcOptionalArg_PDU = -1;  /* CcOptionalArg */
+static int hf_qsig_cc_qsig_cc_CcExtension_PDU = -1;  /* CcExtension */
+static int hf_qsig_cc_qsig_cc_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_cc_numberA = -1;               /* PresentedNumberUnscreened */
+static int hf_qsig_cc_numberB = -1;               /* PartyNumber */
+static int hf_qsig_cc_service = -1;               /* PSS1InformationElement */
+static int hf_qsig_cc_subaddrA = -1;              /* PartySubaddress */
+static int hf_qsig_cc_subaddrB = -1;              /* PartySubaddress */
+static int hf_qsig_cc_can_retain_service = -1;    /* BOOLEAN */
+static int hf_qsig_cc_retain_sig_connection = -1;  /* BOOLEAN */
+static int hf_qsig_cc_extension = -1;             /* CcExtension */
+static int hf_qsig_cc_no_path_reservation = -1;   /* BOOLEAN */
+static int hf_qsig_cc_retain_service = -1;        /* BOOLEAN */
+static int hf_qsig_cc_fullArg = -1;               /* T_fullArg */
+static int hf_qsig_cc_numberA_01 = -1;            /* PartyNumber */
+static int hf_qsig_cc_extArg = -1;                /* CcExtension */
+static int hf_qsig_cc_none = -1;                  /* NULL */
+static int hf_qsig_cc_single = -1;                /* Extension */
+static int hf_qsig_cc_multiple = -1;              /* SEQUENCE_OF_Extension */
+static int hf_qsig_cc_multiple_item = -1;         /* Extension */
+
+/* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
+
+static int hf_qsig_co_qsig_co_PathRetainArg_PDU = -1;  /* PathRetainArg */
+static int hf_qsig_co_qsig_co_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
+static int hf_qsig_co_qsig_co_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_co_qsig_co_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_co_qsig_co_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_co_serviceList = -1;           /* ServiceList */
+static int hf_qsig_co_extendedServiceList = -1;   /* T_extendedServiceList */
+static int hf_qsig_co_extension = -1;             /* Extension */
+static int hf_qsig_co_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
+static int hf_qsig_co_null = -1;                  /* NULL */
+static int hf_qsig_co_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
+static int hf_qsig_co_sequenceOfExtn_item = -1;   /* Extension */
+/* named bits */
+static int hf_qsig_co_ServiceList_callOffer = -1;
+
+/* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
+
+static int hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU = -1;  /* DNDActivateArg */
+static int hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU = -1;  /* DNDActivateRes */
+static int hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU = -1;  /* DNDDeactivateArg */
+static int hf_qsig_dnd_qsig_dnd_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU = -1;  /* DNDInterrogateArg */
+static int hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU = -1;  /* DNDInterrogateRes */
+static int hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU = -1;  /* DNDOverrideArg */
+static int hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU = -1;  /* PathRetainArg */
+static int hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
+static int hf_qsig_dnd_qsig_dnd_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_dnd_qsig_dnd_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_dnd_null = -1;                 /* NULL */
+static int hf_qsig_dnd_extension = -1;            /* Extension */
+static int hf_qsig_dnd_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
+static int hf_qsig_dnd_sequenceOfExtn_item = -1;  /* Extension */
+static int hf_qsig_dnd_basicService = -1;         /* BasicService */
+static int hf_qsig_dnd_servedUserNr = -1;         /* PartyNumber */
+static int hf_qsig_dnd_argumentExtension = -1;    /* T_argumentExtension */
+static int hf_qsig_dnd_status = -1;               /* T_status */
+static int hf_qsig_dnd_status_item = -1;          /* T_status_item */
+static int hf_qsig_dnd_dndProtectionLevel = -1;   /* DNDProtectionLevel */
+static int hf_qsig_dnd_resultExtension = -1;      /* T_resultExtension */
+static int hf_qsig_dnd_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
+static int hf_qsig_dnd_argumentExtension_02 = -1;  /* T_argumentExtension_02 */
+static int hf_qsig_dnd_status_01 = -1;            /* T_status_01 */
+static int hf_qsig_dnd_status_item_01 = -1;       /* T_status_item_01 */
+static int hf_qsig_dnd_resultExtension_01 = -1;   /* T_resultExtension_01 */
+static int hf_qsig_dnd_dndoCapabilityLevel = -1;  /* DNDOCapabilityLevel */
+static int hf_qsig_dnd_argumentExtension_03 = -1;  /* T_argumentExtension_03 */
+static int hf_qsig_dnd_serviceList = -1;          /* ServiceList */
+static int hf_qsig_dnd_extendedServiceList = -1;  /* T_extendedServiceList */
+static int hf_qsig_dnd_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
+/* named bits */
+static int hf_qsig_dnd_ServiceList_dndo_low = -1;
+static int hf_qsig_dnd_ServiceList_dndo_medium = -1;
+static int hf_qsig_dnd_ServiceList_dndo_high = -1;
+
+/* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
+
+static int hf_qsig_ci_qsig_ci_PathRetainArg_PDU = -1;  /* PathRetainArg */
+static int hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
+static int hf_qsig_ci_qsig_ci_CIRequestArg_PDU = -1;  /* CIRequestArg */
+static int hf_qsig_ci_qsig_ci_CIRequestRes_PDU = -1;  /* CIRequestRes */
+static int hf_qsig_ci_qsig_ci_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU = -1;  /* CIGetCIPLRes */
+static int hf_qsig_ci_qsig_ci_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_ci_qsig_ci_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_ci_serviceList = -1;           /* ServiceList */
+static int hf_qsig_ci_extendedServiceList = -1;   /* T_extendedServiceList */
+static int hf_qsig_ci_extension = -1;             /* Extension */
+static int hf_qsig_ci_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
+static int hf_qsig_ci_null = -1;                  /* NULL */
+static int hf_qsig_ci_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
+static int hf_qsig_ci_sequenceOfExtn_item = -1;   /* Extension */
+static int hf_qsig_ci_ciCapabilityLevel = -1;     /* CICapabilityLevel */
+static int hf_qsig_ci_argumentExtension = -1;     /* T_argumentExtension */
+static int hf_qsig_ci_ciUnwantedUserStatus = -1;  /* CIUnwantedUserStatus */
+static int hf_qsig_ci_resultExtension = -1;       /* T_resultExtension */
+static int hf_qsig_ci_ciProtectionLevel = -1;     /* CIProtectionLevel */
+static int hf_qsig_ci_resultExtension_01 = -1;    /* T_resultExtension_01 */
+/* named bits */
+static int hf_qsig_ci_ServiceList_ci_low = -1;
+static int hf_qsig_ci_ServiceList_ci_medium = -1;
+static int hf_qsig_ci_ServiceList_ci_high = -1;
+
+/* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
+
+static int hf_qsig_aoc_qsig_aoc_AocRateArg_PDU = -1;  /* AocRateArg */
+static int hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU = -1;  /* AocInterimArg */
+static int hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU = -1;  /* AocFinalArg */
+static int hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU = -1;  /* ChargeRequestArg */
+static int hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU = -1;  /* ChargeRequestRes */
+static int hf_qsig_aoc_qsig_aoc_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU = -1;  /* AocCompleteArg */
+static int hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU = -1;  /* AocCompleteRes */
+static int hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU = -1;  /* AocDivChargeReqArg */
+static int hf_qsig_aoc_qsig_aoc_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_aoc_aocRate = -1;              /* T_aocRate */
+static int hf_qsig_aoc_chargeNotAvailable = -1;   /* NULL */
+static int hf_qsig_aoc_aocSCurrencyInfoList = -1;  /* AOCSCurrencyInfoList */
+static int hf_qsig_aoc_rateArgExtension = -1;     /* T_rateArgExtension */
+static int hf_qsig_aoc_extension = -1;            /* Extension */
+static int hf_qsig_aoc_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
+static int hf_qsig_aoc_multipleExtension_item = -1;  /* Extension */
+static int hf_qsig_aoc_interimCharge = -1;        /* T_interimCharge */
+static int hf_qsig_aoc_freeOfCharge = -1;         /* NULL */
+static int hf_qsig_aoc_specificCurrency = -1;     /* T_specificCurrency */
+static int hf_qsig_aoc_recordedCurrency = -1;     /* RecordedCurrency */
+static int hf_qsig_aoc_interimBillingId = -1;     /* InterimBillingId */
+static int hf_qsig_aoc_interimArgExtension = -1;  /* T_interimArgExtension */
+static int hf_qsig_aoc_finalCharge = -1;          /* T_finalCharge */
+static int hf_qsig_aoc_specificCurrency_01 = -1;  /* T_specificCurrency_01 */
+static int hf_qsig_aoc_finalBillingId = -1;       /* FinalBillingId */
+static int hf_qsig_aoc_chargingAssociation = -1;  /* ChargingAssociation */
+static int hf_qsig_aoc_finalArgExtension = -1;    /* T_finalArgExtension */
+static int hf_qsig_aoc_AOCSCurrencyInfoList_item = -1;  /* AOCSCurrencyInfo */
+static int hf_qsig_aoc_chargedItem = -1;          /* ChargedItem */
+static int hf_qsig_aoc_rateType = -1;             /* T_rateType */
+static int hf_qsig_aoc_durationCurrency = -1;     /* DurationCurrency */
+static int hf_qsig_aoc_flatRateCurrency = -1;     /* FlatRateCurrency */
+static int hf_qsig_aoc_volumeRateCurrency = -1;   /* VolumeRateCurrency */
+static int hf_qsig_aoc_specialChargingCode = -1;  /* SpecialChargingCode */
+static int hf_qsig_aoc_currencyInfoNotAvailable = -1;  /* NULL */
+static int hf_qsig_aoc_freeOfChargefromBeginning = -1;  /* NULL */
+static int hf_qsig_aoc_dCurrency = -1;            /* Currency */
+static int hf_qsig_aoc_dAmount = -1;              /* Amount */
+static int hf_qsig_aoc_dChargingType = -1;        /* ChargingType */
+static int hf_qsig_aoc_dTime = -1;                /* Time */
+static int hf_qsig_aoc_dGranularity = -1;         /* Time */
+static int hf_qsig_aoc_fRCurrency = -1;           /* Currency */
+static int hf_qsig_aoc_fRAmount = -1;             /* Amount */
+static int hf_qsig_aoc_vRCurrency = -1;           /* Currency */
+static int hf_qsig_aoc_vRAmount = -1;             /* Amount */
+static int hf_qsig_aoc_vRVolumeUnit = -1;         /* VolumeUnit */
+static int hf_qsig_aoc_rCurrency = -1;            /* Currency */
+static int hf_qsig_aoc_rAmount = -1;              /* Amount */
+static int hf_qsig_aoc_currencyAmount = -1;       /* CurrencyAmount */
+static int hf_qsig_aoc_multiplier = -1;           /* Multiplier */
+static int hf_qsig_aoc_lengthOfTimeUnit = -1;     /* LengthOfTimeUnit */
+static int hf_qsig_aoc_scale = -1;                /* Scale */
+static int hf_qsig_aoc_chargeNumber = -1;         /* PartyNumber */
+static int hf_qsig_aoc_chargeIdentifier = -1;     /* ChargeIdentifier */
+static int hf_qsig_aoc_adviceModeCombinations = -1;  /* SEQUENCE_SIZE_0_7_OF_AdviceModeCombination */
+static int hf_qsig_aoc_adviceModeCombinations_item = -1;  /* AdviceModeCombination */
+static int hf_qsig_aoc_chargeReqArgExtension = -1;  /* T_chargeReqArgExtension */
+static int hf_qsig_aoc_adviceModeCombination = -1;  /* AdviceModeCombination */
+static int hf_qsig_aoc_chargeReqResExtension = -1;  /* T_chargeReqResExtension */
+static int hf_qsig_aoc_none = -1;                 /* NULL */
+static int hf_qsig_aoc_chargedUser = -1;          /* PartyNumber */
+static int hf_qsig_aoc_completeArgExtension = -1;  /* T_completeArgExtension */
+static int hf_qsig_aoc_chargingOption = -1;       /* ChargingOption */
+static int hf_qsig_aoc_completeResExtension = -1;  /* T_completeResExtension */
+static int hf_qsig_aoc_divertingUser = -1;        /* PartyNumber */
+static int hf_qsig_aoc_diversionType = -1;        /* DiversionType */
+static int hf_qsig_aoc_aocDivChargeReqArgExt = -1;  /* T_aocDivChargeReqArgExt */
+
+/* --- Module Recall-Operations-asn1-97 --- --- ---                           */
+
+static int hf_qsig_re_qsig_re_ReAlertingArg_PDU = -1;  /* ReAlertingArg */
+static int hf_qsig_re_qsig_re_ReAnswerArg_PDU = -1;  /* ReAnswerArg */
+static int hf_qsig_re_alertedNumber = -1;         /* PresentedNumberScreened */
+static int hf_qsig_re_alertedName = -1;           /* Name */
+static int hf_qsig_re_argumentExtension = -1;     /* T_argumentExtension */
+static int hf_qsig_re_extension = -1;             /* Extension */
+static int hf_qsig_re_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
+static int hf_qsig_re_multipleExtension_item = -1;  /* Extension */
+static int hf_qsig_re_connectedNumber = -1;       /* PresentedNumberScreened */
+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 Call-Interception-Operations-asn1-97 --- --- ---                */
+
+static int hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU = -1;  /* CintInformation1Arg */
+static int hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU = -1;  /* CintInformation2Arg */
+static int hf_qsig_cint_qsig_cint_CintCondArg_PDU = -1;  /* CintCondArg */
+static int hf_qsig_cint_qsig_cint_CintExtension_PDU = -1;  /* CintExtension */
+static int hf_qsig_cint_interceptionCause = -1;   /* CintCause */
+static int hf_qsig_cint_interceptedToNumber = -1;  /* PartyNumber */
+static int hf_qsig_cint_extension = -1;           /* CintExtension */
+static int hf_qsig_cint_calledNumber = -1;        /* PresentedNumberUnscreened */
+static int hf_qsig_cint_originalCalledNumber = -1;  /* PresentedNumberUnscreened */
+static int hf_qsig_cint_calledName = -1;          /* Name */
+static int hf_qsig_cint_originalCalledName = -1;  /* Name */
+static int hf_qsig_cint_interceptionCause_01 = -1;  /* Condition */
+static int hf_qsig_cint_none = -1;                /* NULL */
+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 Common-Information-Operations-asn1-97 --- --- ---               */
+
+static int hf_qsig_cmn_qsig_cmn_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_cmn_qsig_cmn_CmnArg_PDU = -1;  /* CmnArg */
+static int hf_qsig_cmn_featureIdentifier = -1;    /* FeatureIdList */
+static int hf_qsig_cmn_ssDNDOprotectionLevel = -1;  /* INTEGER_0_3 */
+static int hf_qsig_cmn_ssCIprotectionLevel = -1;  /* INTEGER_0_3 */
+static int hf_qsig_cmn_equipmentIdentity = -1;    /* EquipmentId */
+static int hf_qsig_cmn_partyCategory = -1;        /* PartyCategory */
+static int hf_qsig_cmn_extension = -1;            /* T_extension */
+static int hf_qsig_cmn_single = -1;               /* Extension */
+static int hf_qsig_cmn_multiple = -1;             /* SEQUENCE_OF_Extension */
+static int hf_qsig_cmn_multiple_item = -1;        /* Extension */
+static int hf_qsig_cmn_null = -1;                 /* NULL */
+static int hf_qsig_cmn_nodeId = -1;               /* IA5String_SIZE_1_10 */
+static int hf_qsig_cmn_groupId = -1;              /* IA5String_SIZE_1_10 */
+static int hf_qsig_cmn_unitId = -1;               /* IA5String_SIZE_1_10 */
+/* named bits */
+static int hf_qsig_cmn_FeatureIdList_reserved = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCCBSpossible = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCCNRpossible = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCOsupported = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCIforcedRelease = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCIisolation = -1;
+static int hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy = -1;
+static int hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx = -1;
+static int hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx = -1;
+static int hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx = -1;
+static int hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx = -1;
+static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate = -1;
+static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed = -1;
+static int hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported = -1;
+static int hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported = -1;
+static int hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported = -1;
+
+/* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
+
+static int hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU = -1;  /* CPIRequestArg */
+static int hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU = -1;  /* CPIPRequestArg */
+static int hf_qsig_cpi_cpiCapabilityLevel = -1;   /* CPICapabilityLevel */
+static int hf_qsig_cpi_argumentExtension = -1;    /* T_argumentExtension */
+static int hf_qsig_cpi_extension = -1;            /* Extension */
+static int hf_qsig_cpi_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
+static int hf_qsig_cpi_sequenceOfExtn_item = -1;  /* Extension */
+static int hf_qsig_cpi_cpiProtectionLevel = -1;   /* CPIProtectionLevel */
+static int hf_qsig_cpi_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
+
+/* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
+
+static int hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU = -1;  /* PumRegistrArg */
+static int hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU = -1;  /* PumRegistrRes */
+static int hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU = -1;  /* PumDelRegArg */
+static int hf_qsig_pumr_qsig_pumr_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU = -1;  /* PumDe_regArg */
+static int hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU = -1;  /* PumInterrogArg */
+static int hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU = -1;  /* PumInterrogRes */
+static int hf_qsig_pumr_qsig_pumr_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_pumr_pumUserId = -1;           /* T_pumUserId */
+static int hf_qsig_pumr_pumNumber = -1;           /* PartyNumber */
+static int hf_qsig_pumr_alternativeId = -1;       /* AlternativeId */
+static int hf_qsig_pumr_basicService = -1;        /* BasicService */
+static int hf_qsig_pumr_hostingAddr = -1;         /* PartyNumber */
+static int hf_qsig_pumr_activatingUserAddr = -1;  /* PartyNumber */
+static int hf_qsig_pumr_serviceOption = -1;       /* ServiceOption */
+static int hf_qsig_pumr_sessionParams = -1;       /* SessionParams */
+static int hf_qsig_pumr_userPin = -1;             /* T_userPin */
+static int hf_qsig_pumr_pumUserPin = -1;          /* UserPin */
+static int hf_qsig_pumr_activatingUserPin = -1;   /* UserPin */
+static int hf_qsig_pumr_argExtension = -1;        /* PumrExtension */
+static int hf_qsig_pumr_null = -1;                /* NULL */
+static int hf_qsig_pumr_extension = -1;           /* Extension */
+static int hf_qsig_pumr_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
+static int hf_qsig_pumr_sequOfExtn_item = -1;     /* Extension */
+static int hf_qsig_pumr_pumUserId_01 = -1;        /* T_pumUserId_01 */
+static int hf_qsig_pumr_pumUserId_02 = -1;        /* T_pumUserId_02 */
+static int hf_qsig_pumr_userPin_01 = -1;          /* T_userPin_01 */
+static int hf_qsig_pumr_pumUserId_03 = -1;        /* T_pumUserId_03 */
+static int hf_qsig_pumr_homeInfoOnly = -1;        /* BOOLEAN */
+static int hf_qsig_pumr_userPin_02 = -1;          /* T_userPin_02 */
+static int hf_qsig_pumr_PumInterrogRes_item = -1;  /* PumInterrogRes_item */
+static int hf_qsig_pumr_interrogParams = -1;      /* SessionParams */
+static int hf_qsig_pumr_durationOfSession = -1;   /* INTEGER */
+static int hf_qsig_pumr_numberOfOutgCalls = -1;   /* INTEGER */
+
+/* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
+
+static int hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU = -1;  /* EnquiryArg */
+static int hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU = -1;  /* EnquiryRes */
+static int hf_qsig_pumch_qsig_pumch_DivertArg_PDU = -1;  /* DivertArg */
+static int hf_qsig_pumch_qsig_pumch_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_pumch_qsig_pumch_InformArg_PDU = -1;  /* InformArg */
+static int hf_qsig_pumch_qsig_pumch_PumoArg_PDU = -1;  /* PumoArg */
+static int hf_qsig_pumch_qsig_pumch_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_pumch_pisnNumber = -1;         /* PartyNumber */
+static int hf_qsig_pumch_qSIGInfoElement = -1;    /* PSS1InformationElement */
+static int hf_qsig_pumch_argExtension = -1;       /* PumiExtension */
+static int hf_qsig_pumch_hostingAddr = -1;        /* PartyNumber */
+static int hf_qsig_pumch_callingNumber = -1;      /* PresentedNumberScreened */
+static int hf_qsig_pumch_pumIdentity = -1;        /* PumIdentity */
+static int hf_qsig_pumch_callingUserSub = -1;     /* PartySubaddress */
+static int hf_qsig_pumch_callingUserName = -1;    /* Name */
+static int hf_qsig_pumch_pumUserSub = -1;         /* PartySubaddress */
+static int hf_qsig_pumch_currLocation = -1;       /* CurrLocation */
+static int hf_qsig_pumch_cfuActivated = -1;       /* CfuActivated */
+static int hf_qsig_pumch_divToAddress = -1;       /* Address */
+static int hf_qsig_pumch_divOptions = -1;         /* SubscriptionOption */
+static int hf_qsig_pumch_pumName = -1;            /* Name */
+static int hf_qsig_pumch_null = -1;               /* NULL */
+static int hf_qsig_pumch_extension = -1;          /* Extension */
+static int hf_qsig_pumch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
+static int hf_qsig_pumch_sequOfExtn_item = -1;    /* Extension */
+static int hf_qsig_pumch_alternativeId = -1;      /* AlternativeId */
+static int hf_qsig_pumch_both = -1;               /* T_both */
+static int hf_qsig_pumch_destinationNumber = -1;  /* PartyNumber */
+static int hf_qsig_pumch_sendingComplete = -1;    /* NULL */
+static int hf_qsig_pumch_extension_01 = -1;       /* T_extension */
+static int hf_qsig_pumch_single = -1;             /* Extension */
+static int hf_qsig_pumch_multiple = -1;           /* SEQUENCE_OF_Extension */
+static int hf_qsig_pumch_multiple_item = -1;      /* Extension */
+
+/* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
+
+static int hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU = -1;  /* SSCTInitiateArg */
+static int hf_qsig_ssct_qsig_ssct_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU = -1;  /* SSCTSetupArg */
+static int hf_qsig_ssct_qsig_ssct_DummyArg_PDU = -1;  /* DummyArg */
+static int hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU = -1;  /* SSCTDigitInfoArg */
+static int hf_qsig_ssct_qsig_ssct_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_ssct_null = -1;                /* NULL */
+static int hf_qsig_ssct_single = -1;              /* Extension */
+static int hf_qsig_ssct_multiple = -1;            /* SEQUENCE_OF_Extension */
+static int hf_qsig_ssct_multiple_item = -1;       /* Extension */
+static int hf_qsig_ssct_rerouteingNumber = -1;    /* PartyNumber */
+static int hf_qsig_ssct_transferredAddress = -1;  /* PresentedAddressScreened */
+static int hf_qsig_ssct_awaitConnect = -1;        /* AwaitConnect */
+static int hf_qsig_ssct_transferredName = -1;     /* Name */
+static int hf_qsig_ssct_transferringAddress = -1;  /* PresentedAddressScreened */
+static int hf_qsig_ssct_transferringName = -1;    /* Name */
+static int hf_qsig_ssct_argumentExtension = -1;   /* T_argumentExtension */
+static int hf_qsig_ssct_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
+static int hf_qsig_ssct_reroutingNumber = -1;     /* PartyNumber */
+static int hf_qsig_ssct_sendingComplete = -1;     /* NULL */
+static int hf_qsig_ssct_argumentExtension_02 = -1;  /* T_argumentExtension_02 */
+
+/* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
+
+static int hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU = -1;  /* LocUpdArg */
+static int hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU = -1;  /* LocDelArg */
+static int hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU = -1;  /* LocDeRegArg */
+static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU = -1;  /* PisnEnqArg */
+static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU = -1;  /* PisnEnqRes */
+static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU = -1;  /* GetRRCInfArg */
+static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU = -1;  /* GetRRCInfRes */
+static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU = -1;  /* LocInfoCheckArg */
+static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU = -1;  /* LocInfoCheckRes */
+static int hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_wtmlr_wtmUserId = -1;          /* WtmUserId */
+static int hf_qsig_wtmlr_basicService = -1;       /* BasicService */
+static int hf_qsig_wtmlr_visitPINX = -1;          /* PartyNumber */
+static int hf_qsig_wtmlr_argExtension = -1;       /* LrExtension */
+static int hf_qsig_wtmlr_null = -1;               /* NULL */
+static int hf_qsig_wtmlr_extension = -1;          /* Extension */
+static int hf_qsig_wtmlr_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
+static int hf_qsig_wtmlr_sequOfExtn_item = -1;    /* Extension */
+static int hf_qsig_wtmlr_alternativeId = -1;      /* AlternativeId */
+static int hf_qsig_wtmlr_resExtension = -1;       /* LrExtension */
+static int hf_qsig_wtmlr_rrClass = -1;            /* RRClass */
+static int hf_qsig_wtmlr_checkResult = -1;        /* CheckResult */
+static int hf_qsig_wtmlr_pisnNumber = -1;         /* PartyNumber */
+
+/* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
+
+static int hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU = -1;  /* EnquiryArg */
+static int hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU = -1;  /* EnquiryRes */
+static int hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU = -1;  /* DivertArg */
+static int hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_wtmch_qsig_wtmch_InformArg_PDU = -1;  /* InformArg */
+static int hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU = -1;  /* WtmoArg */
+static int hf_qsig_wtmch_qsig_wtmch_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_wtmch_pisnNumber = -1;         /* PartyNumber */
+static int hf_qsig_wtmch_qSIGInfoElement = -1;    /* PSS1InformationElement */
+static int hf_qsig_wtmch_argExtension = -1;       /* WtmiExtension */
+static int hf_qsig_wtmch_visitPINX = -1;          /* PartyNumber */
+static int hf_qsig_wtmch_callingNumber = -1;      /* PresentedNumberScreened */
+static int hf_qsig_wtmch_wtmIdentity = -1;        /* WtmIdentity */
+static int hf_qsig_wtmch_callingUserSub = -1;     /* PartySubaddress */
+static int hf_qsig_wtmch_callingName = -1;        /* Name */
+static int hf_qsig_wtmch_wtmUserSub = -1;         /* PartySubaddress */
+static int hf_qsig_wtmch_currLocation = -1;       /* CurrLocation */
+static int hf_qsig_wtmch_cfuActivated = -1;       /* CfuActivated */
+static int hf_qsig_wtmch_divToAddress = -1;       /* Address */
+static int hf_qsig_wtmch_divOptions = -1;         /* SubscriptionOption */
+static int hf_qsig_wtmch_wtmName = -1;            /* Name */
+static int hf_qsig_wtmch_null = -1;               /* NULL */
+static int hf_qsig_wtmch_extension = -1;          /* Extension */
+static int hf_qsig_wtmch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
+static int hf_qsig_wtmch_sequOfExtn_item = -1;    /* Extension */
+static int hf_qsig_wtmch_alternativeId = -1;      /* AlternativeId */
+static int hf_qsig_wtmch_both = -1;               /* T_both */
+static int hf_qsig_wtmch_destinationNumber = -1;  /* PartyNumber */
+static int hf_qsig_wtmch_sendingComplete = -1;    /* NULL */
+static int hf_qsig_wtmch_extension_01 = -1;       /* T_extension */
+static int hf_qsig_wtmch_single = -1;             /* Extension */
+static int hf_qsig_wtmch_multiple = -1;           /* SEQUENCE_OF_Extension */
+static int hf_qsig_wtmch_multiple_item = -1;      /* Extension */
+
+/* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
+
+static int hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU = -1;  /* AuthWtmArg */
+static int hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU = -1;  /* AuthWtmRes */
+static int hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU = -1;  /* WtatParamArg */
+static int hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU = -1;  /* WtatParamRes */
+static int hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU = -1;  /* WtanParamArg */
+static int hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU = -1;  /* WtanParamRes */
+static int hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU = -1;  /* ARG_transferAuthParam */
+static int hf_qsig_wtmau_qsig_wtmau_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_wtmau_wtmUserId = -1;          /* WtmUserId */
+static int hf_qsig_wtmau_calcWtatInfo = -1;       /* CalcWtatInfo */
+static int hf_qsig_wtmau_dummyExtension = -1;     /* DummyExtension */
+static int hf_qsig_wtmau_autWtmResValue = -1;     /* T_autWtmResValue */
+static int hf_qsig_wtmau_canCompute = -1;         /* CanCompute */
+static int hf_qsig_wtmau_authChallenge = -1;      /* AuthChallenge */
+static int hf_qsig_wtmau_wtatParamInfo = -1;      /* WtatParamInfo */
+static int hf_qsig_wtmau_authAlgorithm = -1;      /* AuthAlgorithm */
+static int hf_qsig_wtmau_pisnNumber = -1;         /* PartyNumber */
+static int hf_qsig_wtmau_alternativeId = -1;      /* AlternativeId */
+static int hf_qsig_wtmau_wtanParamInfo = -1;      /* WtanParamInfo */
+static int hf_qsig_wtmau_wtatParamInfoChoice = -1;  /* T_wtatParamInfoChoice */
+static int hf_qsig_wtmau_authSessionKeyInfo = -1;  /* AuthSessionKeyInfo */
+static int hf_qsig_wtmau_authKey = -1;            /* AuthKey */
+static int hf_qsig_wtmau_challLen = -1;           /* INTEGER_1_8 */
+static int hf_qsig_wtmau_calcWtanInfo = -1;       /* CalcWtanInfo */
+static int hf_qsig_wtmau_authSessionKey = -1;     /* AuthSessionKey */
+static int hf_qsig_wtmau_calculationParam = -1;   /* CalculationParam */
+static int hf_qsig_wtmau_CalcWtatInfo_item = -1;  /* CalcWtatInfoUnit */
+static int hf_qsig_wtmau_authResponse = -1;       /* AuthResponse */
+static int hf_qsig_wtmau_derivedCipherKey = -1;   /* DerivedCipherKey */
+static int hf_qsig_wtmau_extension = -1;          /* Extension */
+static int hf_qsig_wtmau_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
+static int hf_qsig_wtmau_sequOfExtn_item = -1;    /* Extension */
+static int hf_qsig_wtmau_authAlg = -1;            /* DefinedIDs */
+static int hf_qsig_wtmau_param = -1;              /* T_param */
+
+/* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
+
+static int hf_qsig_sd_qsig_sd_DisplayArg_PDU = -1;  /* DisplayArg */
+static int hf_qsig_sd_qsig_sd_KeypadArg_PDU = -1;  /* KeypadArg */
+static int hf_qsig_sd_qsig_sd_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_sd_displayString = -1;         /* DisplayString */
+static int hf_qsig_sd_extension = -1;             /* SDExtension */
+static int hf_qsig_sd_displayStringNormal = -1;   /* BMPStringNormal */
+static int hf_qsig_sd_displayStringExtended = -1;  /* BMPStringExtended */
+static int hf_qsig_sd_keypadString = -1;          /* BMPStringNormal */
+static int hf_qsig_sd_extension_01 = -1;          /* Extension */
+static int hf_qsig_sd_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
+static int hf_qsig_sd_multipleExtension_item = -1;  /* Extension */
+
+/* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
+
+static int hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU = -1;  /* CallIdentificationAssignArg */
+static int hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU = -1;  /* CallIdentificationUpdateArg */
+static int hf_qsig_cidl_globalCallID = -1;        /* CallIdentificationData */
+static int hf_qsig_cidl_threadID = -1;            /* CallIdentificationData */
+static int hf_qsig_cidl_legID = -1;               /* CallIdentificationData */
+static int hf_qsig_cidl_extension = -1;           /* ExtensionType */
+static int hf_qsig_cidl_switchingSubDomainName = -1;  /* SwitchingSubDomainName */
+static int hf_qsig_cidl_linkageID = -1;           /* T_linkageID */
+static int hf_qsig_cidl_subDomainID = -1;         /* SubDomainID */
+static int hf_qsig_cidl_globallyUniqueID = -1;    /* GloballyUniqueID */
+static int hf_qsig_cidl_timeStamp = -1;           /* TimeStamp */
+static int hf_qsig_cidl_extension_01 = -1;        /* Extension */
+static int hf_qsig_cidl_sequenceOfExt = -1;       /* SEQUENCE_OF_Extension */
+static int hf_qsig_cidl_sequenceOfExt_item = -1;  /* Extension */
+
+/* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
+
+static int hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU = -1;  /* SmsSubmitArg */
+static int hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU = -1;  /* SmsSubmitRes */
+static int hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU = -1;  /* SmsDeliverArg */
+static int hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU = -1;  /* SmsDeliverRes */
+static int hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU = -1;  /* SmsStatusReportArg */
+static int hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU = -1;  /* SmsStatusReportRes */
+static int hf_qsig_sms_qsig_sms_SmsCommandArg_PDU = -1;  /* SmsCommandArg */
+static int hf_qsig_sms_qsig_sms_SmsCommandRes_PDU = -1;  /* SmsCommandRes */
+static int hf_qsig_sms_qsig_sms_ScAlertArg_PDU = -1;  /* ScAlertArg */
+static int hf_qsig_sms_qsig_sms_DummyRes_PDU = -1;  /* DummyRes */
+static int hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU = -1;  /* PAR_smsDeliverError */
+static int hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU = -1;  /* PAR_smsSubmitError */
+static int hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU = -1;  /* PAR_smsStatusReportError */
+static int hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU = -1;  /* PAR_smsCommandError */
+static int hf_qsig_sms_qsig_sms_SmsExtension_PDU = -1;  /* SmsExtension */
+static int hf_qsig_sms_destinationAddress = -1;   /* PartyNumber */
+static int hf_qsig_sms_originatingAddress = -1;   /* PartyNumber */
+static int hf_qsig_sms_messageReference = -1;     /* MessageReference */
+static int hf_qsig_sms_smSubmitParameter = -1;    /* SmSubmitParameter */
+static int hf_qsig_sms_userData = -1;             /* UserData */
+static int hf_qsig_sms_smsExtension = -1;         /* SmsExtension */
+static int hf_qsig_sms_serviceCentreTimeStamp = -1;  /* ServiceCentreTimeStamp */
+static int hf_qsig_sms_protocolIdentifier = -1;   /* ProtocolIdentifier */
+static int hf_qsig_sms_originatingName = -1;      /* Name */
+static int hf_qsig_sms_smDeliverParameter = -1;   /* SmDeliverParameter */
+static int hf_qsig_sms_smsDeliverResponseChoice = -1;  /* SmsDeliverResChoice */
+static int hf_qsig_sms_dischargeTime = -1;        /* DischargeTime */
+static int hf_qsig_sms_recipientAddress = -1;     /* PartyNumber */
+static int hf_qsig_sms_recipientName = -1;        /* Name */
+static int hf_qsig_sms_status = -1;               /* Status */
+static int hf_qsig_sms_priority = -1;             /* BOOLEAN */
+static int hf_qsig_sms_moreMessagesToSend = -1;   /* BOOLEAN */
+static int hf_qsig_sms_statusReportQualifier = -1;  /* BOOLEAN */
+static int hf_qsig_sms_smsStatusReportResponseChoice = -1;  /* SmsStatusReportResponseChoice */
+static int hf_qsig_sms_messageNumber = -1;        /* MessageReference */
+static int hf_qsig_sms_commandType = -1;          /* CommandType */
+static int hf_qsig_sms_commandData = -1;          /* CommandData */
+static int hf_qsig_sms_statusReportRequest = -1;  /* BOOLEAN */
+static int hf_qsig_sms_null = -1;                 /* NULL */
+static int hf_qsig_sms_validityPeriod = -1;       /* ValidityPeriod */
+static int hf_qsig_sms_replyPath = -1;            /* BOOLEAN */
+static int hf_qsig_sms_rejectDuplicates = -1;     /* BOOLEAN */
+static int hf_qsig_sms_statusReportIndication = -1;  /* BOOLEAN */
+static int hf_qsig_sms_resChoiceSeq = -1;         /* ResChoiceSeq */
+static int hf_qsig_sms_single = -1;               /* Extension */
+static int hf_qsig_sms_multiple = -1;             /* SEQUENCE_OF_Extension */
+static int hf_qsig_sms_multiple_item = -1;        /* Extension */
+static int hf_qsig_sms_validityPeriodRel = -1;    /* ValidityPeriodRel */
+static int hf_qsig_sms_validityPeriodAbs = -1;    /* ValidityPeriodAbs */
+static int hf_qsig_sms_validityPeriodEnh = -1;    /* ValidityPeriodEnh */
+static int hf_qsig_sms_singleShotSM = -1;         /* BOOLEAN */
+static int hf_qsig_sms_enhancedVP = -1;           /* EnhancedVP */
+static int hf_qsig_sms_validityPeriodSec = -1;    /* INTEGER_0_255 */
+static int hf_qsig_sms_validityPeriodSemi = -1;   /* ValidityPeriodSemi */
+static int hf_qsig_sms_userDataHeader = -1;       /* UserDataHeader */
+static int hf_qsig_sms_class = -1;                /* INTEGER_0_3 */
+static int hf_qsig_sms_compressed = -1;           /* BOOLEAN */
+static int hf_qsig_sms_shortMessageText = -1;     /* ShortMessageText */
+static int hf_qsig_sms_shortMessageTextType = -1;  /* ShortMessageTextType */
+static int hf_qsig_sms_shortMessageTextData = -1;  /* ShortMessageTextData */
+static int hf_qsig_sms_UserDataHeader_item = -1;  /* UserDataHeaderChoice */
+static int hf_qsig_sms_smscControlParameterHeader = -1;  /* SmscControlParameterHeader */
+static int hf_qsig_sms_concatenated8BitSMHeader = -1;  /* Concatenated8BitSMHeader */
+static int hf_qsig_sms_concatenated16BitSMHeader = -1;  /* Concatenated16BitSMHeader */
+static int hf_qsig_sms_applicationPort8BitHeader = -1;  /* ApplicationPort8BitHeader */
+static int hf_qsig_sms_applicationPort16BitHeader = -1;  /* ApplicationPort16BitHeader */
+static int hf_qsig_sms_dataHeaderSourceIndicator = -1;  /* DataHeaderSourceIndicator */
+static int hf_qsig_sms_wirelessControlHeader = -1;  /* WirelessControlHeader */
+static int hf_qsig_sms_genericUserValue = -1;     /* GenericUserValue */
+static int hf_qsig_sms_concatenated8BitSMReferenceNumber = -1;  /* INTEGER_0_255 */
+static int hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
+static int hf_qsig_sms_sequenceNumberOf8BitSM = -1;  /* INTEGER_0_255 */
+static int hf_qsig_sms_concatenated16BitSMReferenceNumber = -1;  /* INTEGER_0_65536 */
+static int hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
+static int hf_qsig_sms_sequenceNumberOf16BitSM = -1;  /* INTEGER_0_255 */
+static int hf_qsig_sms_destination8BitPort = -1;  /* INTEGER_0_255 */
+static int hf_qsig_sms_originator8BitPort = -1;   /* INTEGER_0_255 */
+static int hf_qsig_sms_destination16BitPort = -1;  /* INTEGER_0_65536 */
+static int hf_qsig_sms_originator16BitPort = -1;  /* INTEGER_0_65536 */
+static int hf_qsig_sms_parameterValue = -1;       /* INTEGER_0_255 */
+static int hf_qsig_sms_genericUserData = -1;      /* OCTET_STRING */
+static int hf_qsig_sms_failureCause = -1;         /* FailureCause */
+static int hf_qsig_sms_scAddressSaved = -1;       /* BOOLEAN */
+/* named bits */
+static int hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted = -1;
+static int hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError = -1;
+static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying = -1;
+static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying = -1;
+static int hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM = -1;
+static int hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR = -1;
+
+/* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
+
+static int hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU = -1;  /* MCRequestArg */
+static int hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU = -1;  /* MCRequestResult */
+static int hf_qsig_mcr_qsig_mcr_MCInformArg_PDU = -1;  /* MCInformArg */
+static int hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU = -1;  /* MCAlertingArg */
+static int hf_qsig_mcr_qsig_mcr_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_mcr_callType = -1;             /* CallType */
+static int hf_qsig_mcr_retainOrigCall = -1;       /* BOOLEAN */
+static int hf_qsig_mcr_destinationAddress = -1;   /* PresentedAddressUnscreened */
+static int hf_qsig_mcr_requestingAddress = -1;    /* PresentedAddressUnscreened */
+static int hf_qsig_mcr_cooperatingAddress = -1;   /* PresentedAddressUnscreened */
+static int hf_qsig_mcr_correlation = -1;          /* Correlation */
+static int hf_qsig_mcr_extensions = -1;           /* MCRExtensions */
+static int hf_qsig_mcr_basicService = -1;         /* BasicService */
+static int hf_qsig_mcr_cisc = -1;                 /* NULL */
+static int hf_qsig_mcr_correlationData = -1;      /* CallIdentity */
+static int hf_qsig_mcr_correlationReason = -1;    /* CorrelationReason */
+static int hf_qsig_mcr_none = -1;                 /* NULL */
+static int hf_qsig_mcr_single = -1;               /* Extension */
+static int hf_qsig_mcr_multiple = -1;             /* SEQUENCE_OF_Extension */
+static int hf_qsig_mcr_multiple_item = -1;        /* Extension */
+
+/* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
+
+static int hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU = -1;  /* MCMNewMsgArg */
+static int hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU = -1;  /* MCMDummyRes */
+static int hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU = -1;  /* MCMNoNewMsgArg */
+static int hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU = -1;  /* MCMUpdateArg */
+static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU = -1;  /* MCMUpdateReqArg */
+static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU = -1;  /* MCMUpdateReqRes */
+static int hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU = -1;  /* MCMServiceArg */
+static int hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU = -1;  /* MCMInterrogateArg */
+static int hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU = -1;  /* MCMInterrogateRes */
+static int hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU = -1;  /* MCMailboxFullArg */
+static int hf_qsig_mcm_qsig_mcm_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_mcm_partyInfo = -1;            /* PartyInfo */
+static int hf_qsig_mcm_mailboxFullFor = -1;       /* MailboxFullFor */
+static int hf_qsig_mcm_extensions = -1;           /* MCMExtensions */
+static int hf_qsig_mcm_MailboxFullFor_item = -1;  /* MailboxFullPar */
+static int hf_qsig_mcm_messageType = -1;          /* MessageType */
+static int hf_qsig_mcm_capacityReached = -1;      /* INTEGER_0_100 */
+static int hf_qsig_mcm_mCMChange = -1;            /* MCMChange */
+static int hf_qsig_mcm_activateMCM = -1;          /* SEQUENCE_OF_MCMServiceInfo */
+static int hf_qsig_mcm_activateMCM_item = -1;     /* MCMServiceInfo */
+static int hf_qsig_mcm_deactivateMCM = -1;        /* SEQUENCE_OF_MessageType */
+static int hf_qsig_mcm_deactivateMCM_item = -1;   /* MessageType */
+static int hf_qsig_mcm_setToDefaultValues = -1;   /* NULL */
+static int hf_qsig_mcm_mCMModeNew = -1;           /* MCMMode */
+static int hf_qsig_mcm_mCMModeRetrieved = -1;     /* MCMMode */
+static int hf_qsig_mcm_interrogateInfo = -1;      /* SEQUENCE_OF_MessageType */
+static int hf_qsig_mcm_interrogateInfo_item = -1;  /* MessageType */
+static int hf_qsig_mcm_interrogateResult = -1;    /* SEQUENCE_OF_MCMServiceInfo */
+static int hf_qsig_mcm_interrogateResult_item = -1;  /* MCMServiceInfo */
+static int hf_qsig_mcm_servedUserNr = -1;         /* PartyNumber */
+static int hf_qsig_mcm_specificMessageType = -1;  /* MessageType */
+static int hf_qsig_mcm_msgCentreId = -1;          /* MsgCentreId */
+static int hf_qsig_mcm_nrOfMessages = -1;         /* NrOfMessages */
+static int hf_qsig_mcm_originatingNr = -1;        /* PartyNumber */
+static int hf_qsig_mcm_timestamp = -1;            /* TimeStamp */
+static int hf_qsig_mcm_priority = -1;             /* INTEGER_0_9 */
+static int hf_qsig_mcm_argumentExt = -1;          /* T_argumentExt */
+static int hf_qsig_mcm_extension = -1;            /* Extension */
+static int hf_qsig_mcm_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
+static int hf_qsig_mcm_multipleExtension_item = -1;  /* Extension */
+static int hf_qsig_mcm_argumentExt_01 = -1;       /* T_argumentExt_01 */
+static int hf_qsig_mcm_updateInfo = -1;           /* UpdateInfo */
+static int hf_qsig_mcm_moreInfoFollows = -1;      /* BOOLEAN */
+static int hf_qsig_mcm_argumentExt_02 = -1;       /* T_argumentExt_02 */
+static int hf_qsig_mcm_MCMUpdateReqRes_item = -1;  /* MCMUpdateReqResElt */
+static int hf_qsig_mcm_argumentExt_03 = -1;       /* T_argumentExt_03 */
+static int hf_qsig_mcm_messageCentreID = -1;      /* MsgCentreId */
+static int hf_qsig_mcm_newMsgInfoOnly = -1;       /* MessageInfo */
+static int hf_qsig_mcm_retrievedMsgInfoOnly = -1;  /* MessageInfo */
+static int hf_qsig_mcm_allMsgInfo = -1;           /* AllMsgInfo */
+static int hf_qsig_mcm_newMsgInfo = -1;           /* MessageInfo */
+static int hf_qsig_mcm_retrievedMsgInfo = -1;     /* MessageInfo */
+static int hf_qsig_mcm_completeInfo = -1;         /* CompleteInfo */
+static int hf_qsig_mcm_compressedInfo = -1;       /* CompressedInfo */
+static int hf_qsig_mcm_noMsgsOfMsgType = -1;      /* NULL */
+static int hf_qsig_mcm_CompleteInfo_item = -1;    /* AddressHeader */
+static int hf_qsig_mcm_originatorNr = -1;         /* PartyNumber */
+static int hf_qsig_mcm_timeStamp = -1;            /* TimeStamp */
+static int hf_qsig_mcm_priority_01 = -1;          /* Priority */
+static int hf_qsig_mcm_lastTimeStamp = -1;        /* TimeStamp */
+static int hf_qsig_mcm_highestPriority = -1;      /* Priority */
+static int hf_qsig_mcm_integer = -1;              /* INTEGER_0_65535 */
+static int hf_qsig_mcm_partyNumber = -1;          /* PartyNumber */
+static int hf_qsig_mcm_numericString = -1;        /* NumericString_SIZE_1_10 */
+static int hf_qsig_mcm_none = -1;                 /* NULL */
+
+/* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
+
+static int hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU = -1;  /* MIDMailboxAuthArg */
+static int hf_qsig_mid_qsig_mid_MIDDummyRes_PDU = -1;  /* MIDDummyRes */
+static int hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU = -1;  /* MIDMailboxIDArg */
+static int hf_qsig_mid_qsig_mid_Extension_PDU = -1;  /* Extension */
+static int hf_qsig_mid_partyInfo = -1;            /* PartyInfo */
+static int hf_qsig_mid_servedUserName = -1;       /* Name */
+static int hf_qsig_mid_mailBox = -1;              /* String */
+static int hf_qsig_mid_password = -1;             /* String */
+static int hf_qsig_mid_extensions = -1;           /* MIDExtensions */
+static int hf_qsig_mid_servedUserNr = -1;         /* PresentedAddressUnscreened */
+static int hf_qsig_mid_messageType = -1;          /* MessageType */
+static int hf_qsig_mid_messageCentreID = -1;      /* MsgCentreId */
+static int hf_qsig_mid_stringBmp = -1;            /* BMPString */
+static int hf_qsig_mid_stringUtf8 = -1;           /* UTF8String */
+static int hf_qsig_mid_none = -1;                 /* NULL */
+static int hf_qsig_mid_extension = -1;            /* Extension */
+static int hf_qsig_mid_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
+static int hf_qsig_mid_multipleExtension_item = -1;  /* Extension */
 
 /*--- End of included file: packet-qsig-hf.c ---*/
-#line 415 "packet-qsig-template.c"
+#line 295 "packet-qsig-template.c"
 
 static int *hf_qsig_ie_type_arr[] = {
   NULL,
@@ -542,6 +1555,9 @@ static gint ett_qsig_ie = -1;
 
 /*--- Included file: packet-qsig-ett.c ---*/
 #line 1 "packet-qsig-ett.c"
+
+/* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
+
 static gint ett_qsig_Extension = -1;
 static gint ett_qsig_PresentedAddressScreened = -1;
 static gint ett_qsig_PresentedAddressUnscreened = -1;
@@ -555,41 +1571,423 @@ static gint ett_qsig_PublicPartyNumber = -1;
 static gint ett_qsig_PrivatePartyNumber = -1;
 static gint ett_qsig_PartySubaddress = -1;
 static gint ett_qsig_UserSpecifiedSubaddress = -1;
-static gint ett_qsig_NameArg = -1;
-static gint ett_qsig_T_nameSequence = -1;
-static gint ett_qsig_NameExtension = -1;
-static gint ett_qsig_SEQUENCE_OF_Extension = -1;
-static gint ett_qsig_Name = -1;
-static gint ett_qsig_NamePresentationAllowed = -1;
-static gint ett_qsig_NamePresentationRestricted = -1;
-static gint ett_qsig_NameSet = -1;
-static gint ett_qsig_ARG_activateDiversionQ = -1;
-static gint ett_qsig_ADExtension = -1;
-static gint ett_qsig_RES_activateDiversionQ = -1;
-static gint ett_qsig_ARG_deactivateDiversionQ = -1;
-static gint ett_qsig_DDExtension = -1;
-static gint ett_qsig_RES_deactivateDiversionQ = -1;
-static gint ett_qsig_ARG_interrogateDiversionQ = -1;
-static gint ett_qsig_IDExtension = -1;
-static gint ett_qsig_ARG_checkRestriction = -1;
-static gint ett_qsig_CHRExtension = -1;
-static gint ett_qsig_RES_checkRestriction = -1;
-static gint ett_qsig_ARG_callRerouteing = -1;
-static gint ett_qsig_CRRExtension = -1;
-static gint ett_qsig_RES_callRerouteing = -1;
-static gint ett_qsig_ARG_divertingLegInformation1 = -1;
-static gint ett_qsig_DLI1Extension = -1;
-static gint ett_qsig_ARG_divertingLegInformation2 = -1;
-static gint ett_qsig_DLI2Extension = -1;
-static gint ett_qsig_ARG_divertingLegInformation3 = -1;
-static gint ett_qsig_DLI3Extension = -1;
-static gint ett_qsig_ARG_cfnrDivertedLegFailed = -1;
-static gint ett_qsig_IntResultList = -1;
-static gint ett_qsig_IntResult = -1;
-static gint ett_qsig_IRExtension = -1;
+
+/* --- Module Name-Operations-asn1-97 --- --- ---                             */
+
+static gint ett_qsig_na_NameArg = -1;
+static gint ett_qsig_na_T_nameSequence = -1;
+static gint ett_qsig_na_NameExtension = -1;
+static gint ett_qsig_na_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_na_Name = -1;
+static gint ett_qsig_na_NamePresentationAllowed = -1;
+static gint ett_qsig_na_NamePresentationRestricted = -1;
+static gint ett_qsig_na_NameSet = -1;
+
+/* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
+
+static gint ett_qsig_cf_ARG_activateDiversionQ = -1;
+static gint ett_qsig_cf_ADExtension = -1;
+static gint ett_qsig_cf_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_cf_RES_activateDiversionQ = -1;
+static gint ett_qsig_cf_ARG_deactivateDiversionQ = -1;
+static gint ett_qsig_cf_DDExtension = -1;
+static gint ett_qsig_cf_RES_deactivateDiversionQ = -1;
+static gint ett_qsig_cf_ARG_interrogateDiversionQ = -1;
+static gint ett_qsig_cf_IDExtension = -1;
+static gint ett_qsig_cf_ARG_checkRestriction = -1;
+static gint ett_qsig_cf_CHRExtension = -1;
+static gint ett_qsig_cf_RES_checkRestriction = -1;
+static gint ett_qsig_cf_ARG_callRerouteing = -1;
+static gint ett_qsig_cf_CRRExtension = -1;
+static gint ett_qsig_cf_RES_callRerouteing = -1;
+static gint ett_qsig_cf_ARG_divertingLegInformation1 = -1;
+static gint ett_qsig_cf_DLI1Extension = -1;
+static gint ett_qsig_cf_ARG_divertingLegInformation2 = -1;
+static gint ett_qsig_cf_DLI2Extension = -1;
+static gint ett_qsig_cf_ARG_divertingLegInformation3 = -1;
+static gint ett_qsig_cf_DLI3Extension = -1;
+static gint ett_qsig_cf_ARG_cfnrDivertedLegFailed = -1;
+static gint ett_qsig_cf_IntResultList = -1;
+static gint ett_qsig_cf_IntResult = -1;
+static gint ett_qsig_cf_IRExtension = -1;
+
+/* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
+
+static gint ett_qsig_pr_PRProposeArg = -1;
+static gint ett_qsig_pr_T_extension = -1;
+static gint ett_qsig_pr_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_pr_PRSetupArg = -1;
+static gint ett_qsig_pr_T_extension_01 = -1;
+static gint ett_qsig_pr_PRRetainArg = -1;
+static gint ett_qsig_pr_T_extension_02 = -1;
+static gint ett_qsig_pr_DummyResult = -1;
+static gint ett_qsig_pr_DummyArg = -1;
+
+/* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
+
+static gint ett_qsig_ct_DummyArg = -1;
+static gint ett_qsig_ct_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_ct_DummyRes = -1;
+static gint ett_qsig_ct_CTIdentifyRes = -1;
+static gint ett_qsig_ct_T_resultExtension = -1;
+static gint ett_qsig_ct_CTInitiateArg = -1;
+static gint ett_qsig_ct_T_argumentExtension = -1;
+static gint ett_qsig_ct_CTSetupArg = -1;
+static gint ett_qsig_ct_T_argumentExtension_01 = -1;
+static gint ett_qsig_ct_CTActiveArg = -1;
+static gint ett_qsig_ct_T_argumentExtension_02 = -1;
+static gint ett_qsig_ct_CTCompleteArg = -1;
+static gint ett_qsig_ct_T_argumentExtension_03 = -1;
+static gint ett_qsig_ct_CTUpdateArg = -1;
+static gint ett_qsig_ct_T_argumentExtension_04 = -1;
+static gint ett_qsig_ct_SubaddressTransferArg = -1;
+static gint ett_qsig_ct_T_argumentExtension_05 = -1;
+
+/* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
+
+static gint ett_qsig_cc_CcRequestArg = -1;
+static gint ett_qsig_cc_CcRequestRes = -1;
+static gint ett_qsig_cc_CcOptionalArg = -1;
+static gint ett_qsig_cc_T_fullArg = -1;
+static gint ett_qsig_cc_CcExtension = -1;
+static gint ett_qsig_cc_SEQUENCE_OF_Extension = -1;
+
+/* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
+
+static gint ett_qsig_co_PathRetainArg = -1;
+static gint ett_qsig_co_T_extendedServiceList = -1;
+static gint ett_qsig_co_ServiceAvailableArg = -1;
+static gint ett_qsig_co_T_extendedServiceList_01 = -1;
+static gint ett_qsig_co_ServiceList = -1;
+static gint ett_qsig_co_DummyArg = -1;
+static gint ett_qsig_co_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_co_DummyRes = -1;
+
+/* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
+
+static gint ett_qsig_dnd_DummyArg = -1;
+static gint ett_qsig_dnd_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_dnd_DummyRes = -1;
+static gint ett_qsig_dnd_DNDActivateArg = -1;
+static gint ett_qsig_dnd_T_argumentExtension = -1;
+static gint ett_qsig_dnd_DNDActivateRes = -1;
+static gint ett_qsig_dnd_T_status = -1;
+static gint ett_qsig_dnd_T_status_item = -1;
+static gint ett_qsig_dnd_T_resultExtension = -1;
+static gint ett_qsig_dnd_DNDDeactivateArg = -1;
+static gint ett_qsig_dnd_T_argumentExtension_01 = -1;
+static gint ett_qsig_dnd_DNDInterrogateArg = -1;
+static gint ett_qsig_dnd_T_argumentExtension_02 = -1;
+static gint ett_qsig_dnd_DNDInterrogateRes = -1;
+static gint ett_qsig_dnd_T_status_01 = -1;
+static gint ett_qsig_dnd_T_status_item_01 = -1;
+static gint ett_qsig_dnd_T_resultExtension_01 = -1;
+static gint ett_qsig_dnd_DNDOverrideArg = -1;
+static gint ett_qsig_dnd_T_argumentExtension_03 = -1;
+static gint ett_qsig_dnd_PathRetainArg = -1;
+static gint ett_qsig_dnd_T_extendedServiceList = -1;
+static gint ett_qsig_dnd_ServiceAvailableArg = -1;
+static gint ett_qsig_dnd_T_extendedServiceList_01 = -1;
+static gint ett_qsig_dnd_ServiceList = -1;
+
+/* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
+
+static gint ett_qsig_ci_PathRetainArg = -1;
+static gint ett_qsig_ci_T_extendedServiceList = -1;
+static gint ett_qsig_ci_ServiceAvailableArg = -1;
+static gint ett_qsig_ci_T_extendedServiceList_01 = -1;
+static gint ett_qsig_ci_ServiceList = -1;
+static gint ett_qsig_ci_DummyArg = -1;
+static gint ett_qsig_ci_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_ci_DummyRes = -1;
+static gint ett_qsig_ci_CIRequestArg = -1;
+static gint ett_qsig_ci_T_argumentExtension = -1;
+static gint ett_qsig_ci_CIRequestRes = -1;
+static gint ett_qsig_ci_T_resultExtension = -1;
+static gint ett_qsig_ci_CIGetCIPLRes = -1;
+static gint ett_qsig_ci_T_resultExtension_01 = -1;
+
+/* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
+
+static gint ett_qsig_aoc_AocRateArg = -1;
+static gint ett_qsig_aoc_T_aocRate = -1;
+static gint ett_qsig_aoc_T_rateArgExtension = -1;
+static gint ett_qsig_aoc_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_aoc_AocInterimArg = -1;
+static gint ett_qsig_aoc_T_interimCharge = -1;
+static gint ett_qsig_aoc_T_specificCurrency = -1;
+static gint ett_qsig_aoc_T_interimArgExtension = -1;
+static gint ett_qsig_aoc_AocFinalArg = -1;
+static gint ett_qsig_aoc_T_finalCharge = -1;
+static gint ett_qsig_aoc_T_specificCurrency_01 = -1;
+static gint ett_qsig_aoc_T_finalArgExtension = -1;
+static gint ett_qsig_aoc_AOCSCurrencyInfoList = -1;
+static gint ett_qsig_aoc_AOCSCurrencyInfo = -1;
+static gint ett_qsig_aoc_T_rateType = -1;
+static gint ett_qsig_aoc_DurationCurrency = -1;
+static gint ett_qsig_aoc_FlatRateCurrency = -1;
+static gint ett_qsig_aoc_VolumeRateCurrency = -1;
+static gint ett_qsig_aoc_RecordedCurrency = -1;
+static gint ett_qsig_aoc_Amount = -1;
+static gint ett_qsig_aoc_Time = -1;
+static gint ett_qsig_aoc_ChargingAssociation = -1;
+static gint ett_qsig_aoc_ChargeRequestArg = -1;
+static gint ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination = -1;
+static gint ett_qsig_aoc_T_chargeReqArgExtension = -1;
+static gint ett_qsig_aoc_ChargeRequestRes = -1;
+static gint ett_qsig_aoc_T_chargeReqResExtension = -1;
+static gint ett_qsig_aoc_DummyArg = -1;
+static gint ett_qsig_aoc_AocCompleteArg = -1;
+static gint ett_qsig_aoc_T_completeArgExtension = -1;
+static gint ett_qsig_aoc_AocCompleteRes = -1;
+static gint ett_qsig_aoc_T_completeResExtension = -1;
+static gint ett_qsig_aoc_AocDivChargeReqArg = -1;
+static gint ett_qsig_aoc_T_aocDivChargeReqArgExt = -1;
+
+/* --- Module Recall-Operations-asn1-97 --- --- ---                           */
+
+static gint ett_qsig_re_ReAlertingArg = -1;
+static gint ett_qsig_re_T_argumentExtension = -1;
+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 Common-Information-Operations-asn1-97 --- --- ---               */
+
+static gint ett_qsig_cmn_CmnArg = -1;
+static gint ett_qsig_cmn_T_extension = -1;
+static gint ett_qsig_cmn_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_cmn_DummyArg = -1;
+static gint ett_qsig_cmn_FeatureIdList = -1;
+static gint ett_qsig_cmn_EquipmentId = -1;
+
+/* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
+
+static gint ett_qsig_cpi_CPIRequestArg = -1;
+static gint ett_qsig_cpi_T_argumentExtension = -1;
+static gint ett_qsig_cpi_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_cpi_CPIPRequestArg = -1;
+static gint ett_qsig_cpi_T_argumentExtension_01 = -1;
+
+/* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
+
+static gint ett_qsig_pumr_PumRegistrArg = -1;
+static gint ett_qsig_pumr_T_pumUserId = -1;
+static gint ett_qsig_pumr_T_userPin = -1;
+static gint ett_qsig_pumr_PumRegistrRes = -1;
+static gint ett_qsig_pumr_DummyRes = -1;
+static gint ett_qsig_pumr_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_pumr_PumDelRegArg = -1;
+static gint ett_qsig_pumr_T_pumUserId_01 = -1;
+static gint ett_qsig_pumr_PumDe_regArg = -1;
+static gint ett_qsig_pumr_T_pumUserId_02 = -1;
+static gint ett_qsig_pumr_T_userPin_01 = -1;
+static gint ett_qsig_pumr_PumInterrogArg = -1;
+static gint ett_qsig_pumr_T_pumUserId_03 = -1;
+static gint ett_qsig_pumr_T_userPin_02 = -1;
+static gint ett_qsig_pumr_PumInterrogRes = -1;
+static gint ett_qsig_pumr_PumInterrogRes_item = -1;
+static gint ett_qsig_pumr_SessionParams = -1;
+static gint ett_qsig_pumr_PumrExtension = -1;
+
+/* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
+
+static gint ett_qsig_pumch_EnquiryArg = -1;
+static gint ett_qsig_pumch_DivertArg = -1;
+static gint ett_qsig_pumch_InformArg = -1;
+static gint ett_qsig_pumch_EnquiryRes = -1;
+static gint ett_qsig_pumch_CurrLocation = -1;
+static gint ett_qsig_pumch_CfuActivated = -1;
+static gint ett_qsig_pumch_DummyRes = -1;
+static gint ett_qsig_pumch_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_pumch_PumiExtension = -1;
+static gint ett_qsig_pumch_PumIdentity = -1;
+static gint ett_qsig_pumch_T_both = -1;
+static gint ett_qsig_pumch_PumoArg = -1;
+static gint ett_qsig_pumch_T_extension = -1;
+
+/* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
+
+static gint ett_qsig_ssct_DummyArg = -1;
+static gint ett_qsig_ssct_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_ssct_DummyRes = -1;
+static gint ett_qsig_ssct_SSCTInitiateArg = -1;
+static gint ett_qsig_ssct_T_argumentExtension = -1;
+static gint ett_qsig_ssct_SSCTSetupArg = -1;
+static gint ett_qsig_ssct_T_argumentExtension_01 = -1;
+static gint ett_qsig_ssct_SSCTDigitInfoArg = -1;
+static gint ett_qsig_ssct_T_argumentExtension_02 = -1;
+
+/* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
+
+static gint ett_qsig_wtmlr_LocUpdArg = -1;
+static gint ett_qsig_wtmlr_DummyRes = -1;
+static gint ett_qsig_wtmlr_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_wtmlr_LocDelArg = -1;
+static gint ett_qsig_wtmlr_LocDeRegArg = -1;
+static gint ett_qsig_wtmlr_PisnEnqArg = -1;
+static gint ett_qsig_wtmlr_PisnEnqRes = -1;
+static gint ett_qsig_wtmlr_GetRRCInfArg = -1;
+static gint ett_qsig_wtmlr_GetRRCInfRes = -1;
+static gint ett_qsig_wtmlr_LocInfoCheckArg = -1;
+static gint ett_qsig_wtmlr_LocInfoCheckRes = -1;
+static gint ett_qsig_wtmlr_WtmUserId = -1;
+static gint ett_qsig_wtmlr_LrExtension = -1;
+
+/* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
+
+static gint ett_qsig_wtmch_EnquiryArg = -1;
+static gint ett_qsig_wtmch_DivertArg = -1;
+static gint ett_qsig_wtmch_InformArg = -1;
+static gint ett_qsig_wtmch_EnquiryRes = -1;
+static gint ett_qsig_wtmch_CurrLocation = -1;
+static gint ett_qsig_wtmch_CfuActivated = -1;
+static gint ett_qsig_wtmch_DummyRes = -1;
+static gint ett_qsig_wtmch_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_wtmch_WtmiExtension = -1;
+static gint ett_qsig_wtmch_WtmIdentity = -1;
+static gint ett_qsig_wtmch_T_both = -1;
+static gint ett_qsig_wtmch_WtmoArg = -1;
+static gint ett_qsig_wtmch_T_extension = -1;
+
+/* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
+
+static gint ett_qsig_wtmau_AuthWtmArg = -1;
+static gint ett_qsig_wtmau_AuthWtmRes = -1;
+static gint ett_qsig_wtmau_WtatParamArg = -1;
+static gint ett_qsig_wtmau_WtatParamRes = -1;
+static gint ett_qsig_wtmau_WtanParamArg = -1;
+static gint ett_qsig_wtmau_WtmUserId = -1;
+static gint ett_qsig_wtmau_WtanParamRes = -1;
+static gint ett_qsig_wtmau_ARG_transferAuthParam = -1;
+static gint ett_qsig_wtmau_WtatParamInfo = -1;
+static gint ett_qsig_wtmau_T_wtatParamInfoChoice = -1;
+static gint ett_qsig_wtmau_WtanParamInfo = -1;
+static gint ett_qsig_wtmau_AuthSessionKeyInfo = -1;
+static gint ett_qsig_wtmau_CalcWtatInfo = -1;
+static gint ett_qsig_wtmau_CalcWtatInfoUnit = -1;
+static gint ett_qsig_wtmau_CalcWtanInfo = -1;
+static gint ett_qsig_wtmau_DummyExtension = -1;
+static gint ett_qsig_wtmau_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_wtmau_AuthAlgorithm = -1;
+
+/* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
+
+static gint ett_qsig_sd_DisplayArg = -1;
+static gint ett_qsig_sd_DisplayString = -1;
+static gint ett_qsig_sd_KeypadArg = -1;
+static gint ett_qsig_sd_SDExtension = -1;
+static gint ett_qsig_sd_SEQUENCE_OF_Extension = -1;
+
+/* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
+
+static gint ett_qsig_cidl_CallIdentificationAssignArg = -1;
+static gint ett_qsig_cidl_CallIdentificationUpdateArg = -1;
+static gint ett_qsig_cidl_CallIdentificationData = -1;
+static gint ett_qsig_cidl_T_linkageID = -1;
+static gint ett_qsig_cidl_ExtensionType = -1;
+static gint ett_qsig_cidl_SEQUENCE_OF_Extension = -1;
+
+/* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
+
+static gint ett_qsig_sms_SmsSubmitArg = -1;
+static gint ett_qsig_sms_SmsSubmitRes = -1;
+static gint ett_qsig_sms_SmsDeliverArg = -1;
+static gint ett_qsig_sms_SmsDeliverRes = -1;
+static gint ett_qsig_sms_SmsStatusReportArg = -1;
+static gint ett_qsig_sms_SmsStatusReportRes = -1;
+static gint ett_qsig_sms_SmsCommandArg = -1;
+static gint ett_qsig_sms_SmsCommandRes = -1;
+static gint ett_qsig_sms_ScAlertArg = -1;
+static gint ett_qsig_sms_DummyRes = -1;
+static gint ett_qsig_sms_SmSubmitParameter = -1;
+static gint ett_qsig_sms_SmDeliverParameter = -1;
+static gint ett_qsig_sms_SmsDeliverResChoice = -1;
+static gint ett_qsig_sms_ResChoiceSeq = -1;
+static gint ett_qsig_sms_SmsStatusReportResponseChoice = -1;
+static gint ett_qsig_sms_SmsExtension = -1;
+static gint ett_qsig_sms_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_sms_ValidityPeriod = -1;
+static gint ett_qsig_sms_ValidityPeriodEnh = -1;
+static gint ett_qsig_sms_EnhancedVP = -1;
+static gint ett_qsig_sms_UserData = -1;
+static gint ett_qsig_sms_ShortMessageText = -1;
+static gint ett_qsig_sms_UserDataHeader = -1;
+static gint ett_qsig_sms_UserDataHeaderChoice = -1;
+static gint ett_qsig_sms_SmscControlParameterHeader = -1;
+static gint ett_qsig_sms_Concatenated8BitSMHeader = -1;
+static gint ett_qsig_sms_Concatenated16BitSMHeader = -1;
+static gint ett_qsig_sms_ApplicationPort8BitHeader = -1;
+static gint ett_qsig_sms_ApplicationPort16BitHeader = -1;
+static gint ett_qsig_sms_GenericUserValue = -1;
+static gint ett_qsig_sms_PAR_smsDeliverError = -1;
+static gint ett_qsig_sms_PAR_smsSubmitError = -1;
+static gint ett_qsig_sms_PAR_smsStatusReportError = -1;
+static gint ett_qsig_sms_PAR_smsCommandError = -1;
+
+/* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
+
+static gint ett_qsig_mcr_MCRequestArg = -1;
+static gint ett_qsig_mcr_MCRequestResult = -1;
+static gint ett_qsig_mcr_MCInformArg = -1;
+static gint ett_qsig_mcr_MCAlertingArg = -1;
+static gint ett_qsig_mcr_CallType = -1;
+static gint ett_qsig_mcr_Correlation = -1;
+static gint ett_qsig_mcr_MCRExtensions = -1;
+static gint ett_qsig_mcr_SEQUENCE_OF_Extension = -1;
+
+/* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
+
+static gint ett_qsig_mcm_MCMailboxFullArg = -1;
+static gint ett_qsig_mcm_MailboxFullFor = -1;
+static gint ett_qsig_mcm_MailboxFullPar = -1;
+static gint ett_qsig_mcm_MCMServiceArg = -1;
+static gint ett_qsig_mcm_MCMChange = -1;
+static gint ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo = -1;
+static gint ett_qsig_mcm_SEQUENCE_OF_MessageType = -1;
+static gint ett_qsig_mcm_MCMServiceInfo = -1;
+static gint ett_qsig_mcm_MCMInterrogateArg = -1;
+static gint ett_qsig_mcm_MCMInterrogateRes = -1;
+static gint ett_qsig_mcm_MCMNewMsgArg = -1;
+static gint ett_qsig_mcm_T_argumentExt = -1;
+static gint ett_qsig_mcm_SEQUENCE_OF_Extension = -1;
+static gint ett_qsig_mcm_MCMNoNewMsgArg = -1;
+static gint ett_qsig_mcm_T_argumentExt_01 = -1;
+static gint ett_qsig_mcm_MCMUpdateArg = -1;
+static gint ett_qsig_mcm_MCMUpdateReqArg = -1;
+static gint ett_qsig_mcm_T_argumentExt_02 = -1;
+static gint ett_qsig_mcm_MCMUpdateReqRes = -1;
+static gint ett_qsig_mcm_MCMUpdateReqResElt = -1;
+static gint ett_qsig_mcm_T_argumentExt_03 = -1;
+static gint ett_qsig_mcm_PartyInfo = -1;
+static gint ett_qsig_mcm_UpdateInfo = -1;
+static gint ett_qsig_mcm_AllMsgInfo = -1;
+static gint ett_qsig_mcm_MessageInfo = -1;
+static gint ett_qsig_mcm_CompleteInfo = -1;
+static gint ett_qsig_mcm_AddressHeader = -1;
+static gint ett_qsig_mcm_CompressedInfo = -1;
+static gint ett_qsig_mcm_MsgCentreId = -1;
+static gint ett_qsig_mcm_MCMExtensions = -1;
+
+/* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
+
+static gint ett_qsig_mid_MIDMailboxAuthArg = -1;
+static gint ett_qsig_mid_MIDMailboxIDArg = -1;
+static gint ett_qsig_mid_PartyInfo = -1;
+static gint ett_qsig_mid_String = -1;
+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 431 "packet-qsig-template.c"
+#line 311 "packet-qsig-template.c"
 
 /* Preferences */
 
@@ -603,6 +2001,9 @@ static dissector_handle_t data_handle = NULL;
 /*--- Included file: packet-qsig-fn.c ---*/
 #line 1 "packet-qsig-fn.c"
 
+/* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
+
+
 
 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_) {
@@ -615,7 +2016,7 @@ 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 50 "qsig.cnf"
+#line 89 "qsig.cnf"
 
 
 
@@ -623,7 +2024,7 @@ dissect_qsig_T_extensionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
 }
 
 
-static const ber_sequence_t Extension_sequence[] = {
+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_extensionArgument, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionArgument },
   { NULL, 0, 0, 0, NULL }
@@ -632,7 +2033,7 @@ static const ber_sequence_t Extension_sequence[] = {
 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_) {
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
-                                   Extension_sequence, hf_index, ett_qsig_Extension);
+                                   qsig_Extension_sequence, hf_index, ett_qsig_Extension);
 
   return offset;
 }
@@ -689,7 +2090,7 @@ dissect_qsig_PublicTypeOfNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
 }
 
 
-static const ber_sequence_t PublicPartyNumber_sequence[] = {
+static const ber_sequence_t qsig_PublicPartyNumber_sequence[] = {
   { &hf_qsig_publicTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PublicTypeOfNumber },
   { &hf_qsig_publicNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
   { NULL, 0, 0, 0, NULL }
@@ -698,7 +2099,7 @@ static const ber_sequence_t PublicPartyNumber_sequence[] = {
 static int
 dissect_qsig_PublicPartyNumber(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,
-                                   PublicPartyNumber_sequence, hf_index, ett_qsig_PublicPartyNumber);
+                                   qsig_PublicPartyNumber_sequence, hf_index, ett_qsig_PublicPartyNumber);
 
   return offset;
 }
@@ -724,7 +2125,7 @@ dissect_qsig_PrivateTypeOfNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
 }
 
 
-static const ber_sequence_t PrivatePartyNumber_sequence[] = {
+static const ber_sequence_t qsig_PrivatePartyNumber_sequence[] = {
   { &hf_qsig_privateTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PrivateTypeOfNumber },
   { &hf_qsig_privateNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
   { NULL, 0, 0, 0, NULL }
@@ -733,7 +2134,7 @@ static const ber_sequence_t PrivatePartyNumber_sequence[] = {
 static int
 dissect_qsig_PrivatePartyNumber(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,
-                                   PrivatePartyNumber_sequence, hf_index, ett_qsig_PrivatePartyNumber);
+                                   qsig_PrivatePartyNumber_sequence, hf_index, ett_qsig_PrivatePartyNumber);
 
   return offset;
 }
@@ -749,7 +2150,7 @@ static const value_string qsig_PartyNumber_vals[] = {
   { 0, NULL }
 };
 
-static const ber_choice_t PartyNumber_choice[] = {
+static const ber_choice_t qsig_PartyNumber_choice[] = {
   {   0, &hf_qsig_unknownPartyNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
   {   1, &hf_qsig_publicPartyNumber, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_PublicPartyNumber },
   {   3, &hf_qsig_dataPartyNumber, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
@@ -762,7 +2163,7 @@ static const ber_choice_t PartyNumber_choice[] = {
 static int
 dissect_qsig_PartyNumber(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,
-                                 PartyNumber_choice, hf_index, ett_qsig_PartyNumber,
+                                 qsig_PartyNumber_choice, hf_index, ett_qsig_PartyNumber,
                                  NULL);
 
   return offset;
@@ -806,7 +2207,7 @@ dissect_qsig_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
 }
 
 
-static const ber_sequence_t UserSpecifiedSubaddress_sequence[] = {
+static const ber_sequence_t qsig_UserSpecifiedSubaddress_sequence[] = {
   { &hf_qsig_subaddressInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_SubaddressInformation },
   { &hf_qsig_oddCountIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_BOOLEAN },
   { NULL, 0, 0, 0, NULL }
@@ -815,7 +2216,7 @@ static const ber_sequence_t UserSpecifiedSubaddress_sequence[] = {
 static int
 dissect_qsig_UserSpecifiedSubaddress(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,
-                                   UserSpecifiedSubaddress_sequence, hf_index, ett_qsig_UserSpecifiedSubaddress);
+                                   qsig_UserSpecifiedSubaddress_sequence, hf_index, ett_qsig_UserSpecifiedSubaddress);
 
   return offset;
 }
@@ -837,7 +2238,7 @@ static const value_string qsig_PartySubaddress_vals[] = {
   { 0, NULL }
 };
 
-static const ber_choice_t PartySubaddress_choice[] = {
+static const ber_choice_t qsig_PartySubaddress_choice[] = {
   {   0, &hf_qsig_userSpecifiedSubaddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_UserSpecifiedSubaddress },
   {   1, &hf_qsig_nSAPSubaddress , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_NSAPSubaddress },
   { 0, NULL, 0, 0, 0, NULL }
@@ -846,14 +2247,14 @@ static const ber_choice_t PartySubaddress_choice[] = {
 static int
 dissect_qsig_PartySubaddress(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,
-                                 PartySubaddress_choice, hf_index, ett_qsig_PartySubaddress,
+                                 qsig_PartySubaddress_choice, hf_index, ett_qsig_PartySubaddress,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t AddressScreened_sequence[] = {
+static const ber_sequence_t qsig_AddressScreened_sequence[] = {
   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
@@ -863,7 +2264,7 @@ static const ber_sequence_t AddressScreened_sequence[] = {
 static int
 dissect_qsig_AddressScreened(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,
-                                   AddressScreened_sequence, hf_index, ett_qsig_AddressScreened);
+                                   qsig_AddressScreened_sequence, hf_index, ett_qsig_AddressScreened);
 
   return offset;
 }
@@ -886,7 +2287,7 @@ static const value_string qsig_PresentedAddressScreened_vals[] = {
   { 0, NULL }
 };
 
-static const ber_choice_t PresentedAddressScreened_choice[] = {
+static const ber_choice_t qsig_PresentedAddressScreened_choice[] = {
   {   0, &hf_qsig_presentationAllowedAddressS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
@@ -897,14 +2298,14 @@ static const ber_choice_t PresentedAddressScreened_choice[] = {
 static int
 dissect_qsig_PresentedAddressScreened(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,
-                                 PresentedAddressScreened_choice, hf_index, ett_qsig_PresentedAddressScreened,
+                                 qsig_PresentedAddressScreened_choice, hf_index, ett_qsig_PresentedAddressScreened,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t Address_sequence[] = {
+static const ber_sequence_t qsig_Address_sequence[] = {
   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
   { NULL, 0, 0, 0, NULL }
@@ -913,7 +2314,7 @@ static const ber_sequence_t Address_sequence[] = {
 static int
 dissect_qsig_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_) {
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
-                                   Address_sequence, hf_index, ett_qsig_Address);
+                                   qsig_Address_sequence, hf_index, ett_qsig_Address);
 
   return offset;
 }
@@ -927,7 +2328,7 @@ static const value_string qsig_PresentedAddressUnscreened_vals[] = {
   { 0, NULL }
 };
 
-static const ber_choice_t PresentedAddressUnscreened_choice[] = {
+static const ber_choice_t qsig_PresentedAddressUnscreened_choice[] = {
   {   0, &hf_qsig_presentationAllowedAddressU, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
@@ -938,14 +2339,14 @@ static const ber_choice_t PresentedAddressUnscreened_choice[] = {
 static int
 dissect_qsig_PresentedAddressUnscreened(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,
-                                 PresentedAddressUnscreened_choice, hf_index, ett_qsig_PresentedAddressUnscreened,
+                                 qsig_PresentedAddressUnscreened_choice, hf_index, ett_qsig_PresentedAddressUnscreened,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t NumberScreened_sequence[] = {
+static const ber_sequence_t qsig_NumberScreened_sequence[] = {
   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
   { NULL, 0, 0, 0, NULL }
@@ -954,7 +2355,7 @@ static const ber_sequence_t NumberScreened_sequence[] = {
 static int
 dissect_qsig_NumberScreened(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,
-                                   NumberScreened_sequence, hf_index, ett_qsig_NumberScreened);
+                                   qsig_NumberScreened_sequence, hf_index, ett_qsig_NumberScreened);
 
   return offset;
 }
@@ -968,7 +2369,7 @@ static const value_string qsig_PresentedNumberScreened_vals[] = {
   { 0, NULL }
 };
 
-static const ber_choice_t PresentedNumberScreened_choice[] = {
+static const ber_choice_t qsig_PresentedNumberScreened_choice[] = {
   {   0, &hf_qsig_presentationAllowedAddressNS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
@@ -979,7 +2380,7 @@ static const ber_choice_t PresentedNumberScreened_choice[] = {
 static int
 dissect_qsig_PresentedNumberScreened(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,
-                                 PresentedNumberScreened_choice, hf_index, ett_qsig_PresentedNumberScreened,
+                                 qsig_PresentedNumberScreened_choice, hf_index, ett_qsig_PresentedNumberScreened,
                                  NULL);
 
   return offset;
@@ -994,7 +2395,7 @@ static const value_string qsig_PresentedNumberUnscreened_vals[] = {
   { 0, NULL }
 };
 
-static const ber_choice_t PresentedNumberUnscreened_choice[] = {
+static const ber_choice_t qsig_PresentedNumberUnscreened_choice[] = {
   {   0, &hf_qsig_presentationAllowedAddressNU, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
@@ -1005,7 +2406,7 @@ static const ber_choice_t PresentedNumberUnscreened_choice[] = {
 static int
 dissect_qsig_PresentedNumberUnscreened(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,
-                                 PresentedNumberUnscreened_choice, hf_index, ett_qsig_PresentedNumberUnscreened,
+                                 qsig_PresentedNumberUnscreened_choice, hf_index, ett_qsig_PresentedNumberUnscreened,
                                  NULL);
 
   return offset;
@@ -1021,9 +2422,12 @@ dissect_qsig_PresentationAllowedIndicator(gboolean implicit_tag _U_, tvbuff_t *t
 }
 
 
+/* --- Module Name-Operations-asn1-97 --- --- ---                             */
+
+
 
 static int
-dissect_qsig_NameData(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_na_NameData(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);
 
@@ -1031,7 +2435,7 @@ dissect_qsig_NameData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
 }
 
 
-static const value_string qsig_CharacterSet_vals[] = {
+static const value_string qsig_na_CharacterSet_vals[] = {
   {   0, "unknown" },
   {   1, "iso8859-1" },
   {   3, "iso8859-2" },
@@ -1046,7 +2450,7 @@ static const value_string qsig_CharacterSet_vals[] = {
 
 
 static int
-dissect_qsig_CharacterSet(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_na_CharacterSet(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);
 
@@ -1054,61 +2458,70 @@ dissect_qsig_CharacterSet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
 }
 
 
-static const ber_sequence_t NameSet_sequence[] = {
-  { &hf_qsig_nameData       , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_NameData },
-  { &hf_qsig_characterSet   , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_CharacterSet },
+static const ber_sequence_t qsig_na_NameSet_sequence[] = {
+  { &hf_qsig_na_nameData    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameData },
+  { &hf_qsig_na_characterSet, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_CharacterSet },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_NameSet(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_na_NameSet(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,
-                                   NameSet_sequence, hf_index, ett_qsig_NameSet);
+                                   qsig_na_NameSet_sequence, hf_index, ett_qsig_na_NameSet);
 
   return offset;
 }
 
 
-static const value_string qsig_NamePresentationAllowed_vals[] = {
+static const value_string qsig_na_NamePresentationAllowed_vals[] = {
   {   0, "namePresentationAllowedSimple" },
   {   1, "namePresentationAllowedExtended" },
   { 0, NULL }
 };
 
-static const ber_choice_t NamePresentationAllowed_choice[] = {
-  {   0, &hf_qsig_namePresentationAllowedSimple, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NameData },
-  {   1, &hf_qsig_namePresentationAllowedExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NameSet },
+static const ber_choice_t qsig_na_NamePresentationAllowed_choice[] = {
+  {   0, &hf_qsig_na_namePresentationAllowedSimple, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
+  {   1, &hf_qsig_na_namePresentationAllowedExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_NamePresentationAllowed(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_na_NamePresentationAllowed(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,
-                                 NamePresentationAllowed_choice, hf_index, ett_qsig_NamePresentationAllowed,
+                                 qsig_na_NamePresentationAllowed_choice, hf_index, ett_qsig_na_NamePresentationAllowed,
                                  NULL);
 
   return offset;
 }
 
 
-static const value_string qsig_NamePresentationRestricted_vals[] = {
+
+static int
+dissect_qsig_na_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 qsig_na_NamePresentationRestricted_vals[] = {
   {   2, "namePresentationRestrictedSimple" },
   {   3, "namePresentationRestrictedExtended" },
   {   7, "namePresentationRestrictedNull" },
   { 0, NULL }
 };
 
-static const ber_choice_t NamePresentationRestricted_choice[] = {
-  {   2, &hf_qsig_namePresentationRestrictedSimple, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NameData },
-  {   3, &hf_qsig_namePresentationRestrictedExtended, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NameSet },
-  {   7, &hf_qsig_namePresentationRestrictedNull, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
+static const ber_choice_t qsig_na_NamePresentationRestricted_choice[] = {
+  {   2, &hf_qsig_na_namePresentationRestrictedSimple, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
+  {   3, &hf_qsig_na_namePresentationRestrictedExtended, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
+  {   7, &hf_qsig_na_namePresentationRestrictedNull, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_na_NULL },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_NamePresentationRestricted(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_na_NamePresentationRestricted(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,
-                                 NamePresentationRestricted_choice, hf_index, ett_qsig_NamePresentationRestricted,
+                                 qsig_na_NamePresentationRestricted_choice, hf_index, ett_qsig_na_NamePresentationRestricted,
                                  NULL);
 
   return offset;
@@ -1117,104 +2530,117 @@ dissect_qsig_NamePresentationRestricted(gboolean implicit_tag _U_, tvbuff_t *tvb
 
 
 static int
-dissect_qsig_NameNotAvailable(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_na_NameNotAvailable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
-                                      hf_index, BER_CLASS_CON, 4, TRUE, dissect_qsig_NULL);
+                                      hf_index, BER_CLASS_CON, 4, TRUE, dissect_qsig_na_NULL);
 
   return offset;
 }
 
 
-static const ber_choice_t Name_choice[] = {
-  {   0, &hf_qsig_namePresentationAllowed, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_NamePresentationAllowed },
-  {   1, &hf_qsig_namePresentationRestricted, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_NamePresentationRestricted },
-  {   2, &hf_qsig_nameNotAvailable, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_qsig_NameNotAvailable },
+static const ber_choice_t qsig_na_Name_choice[] = {
+  {   0, &hf_qsig_na_namePresentationAllowed, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationAllowed },
+  {   1, &hf_qsig_na_namePresentationRestricted, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationRestricted },
+  {   2, &hf_qsig_na_nameNotAvailable, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameNotAvailable },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 int
-dissect_qsig_Name(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_na_Name(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,
-                                 Name_choice, hf_index, ett_qsig_Name,
+                                 qsig_na_Name_choice, hf_index, ett_qsig_na_Name,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t SEQUENCE_OF_Extension_sequence_of[1] = {
-  { &hf_qsig_multiple_item  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+static const ber_sequence_t qsig_na_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_na_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
 };
 
 static int
-dissect_qsig_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_na_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,
-                                      SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_SEQUENCE_OF_Extension);
+                                      qsig_na_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_na_SEQUENCE_OF_Extension);
 
   return offset;
 }
 
 
-static const value_string qsig_NameExtension_vals[] = {
+static const value_string qsig_na_NameExtension_vals[] = {
   {   5, "single" },
   {   6, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t NameExtension_choice[] = {
-  {   5, &hf_qsig_single         , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   6, &hf_qsig_multiple       , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_na_NameExtension_choice[] = {
+  {   5, &hf_qsig_na_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   6, &hf_qsig_na_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_na_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_NameExtension(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_na_NameExtension(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,
-                                 NameExtension_choice, hf_index, ett_qsig_NameExtension,
+                                 qsig_na_NameExtension_choice, hf_index, ett_qsig_na_NameExtension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t T_nameSequence_sequence[] = {
-  { &hf_qsig_name           , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_Name },
-  { &hf_qsig_extensionNA    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_NameExtension },
+static const ber_sequence_t qsig_na_T_nameSequence_sequence[] = {
+  { &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_Name },
+  { &hf_qsig_na_extensionNA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_NameExtension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_T_nameSequence(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_na_T_nameSequence(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,
-                                   T_nameSequence_sequence, hf_index, ett_qsig_T_nameSequence);
+                                   qsig_na_T_nameSequence_sequence, hf_index, ett_qsig_na_T_nameSequence);
 
   return offset;
 }
 
 
-static const value_string qsig_NameArg_vals[] = {
+static const value_string qsig_na_NameArg_vals[] = {
   {   0, "name" },
   {   1, "nameSequence" },
   { 0, NULL }
 };
 
-static const ber_choice_t NameArg_choice[] = {
-  {   0, &hf_qsig_name           , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_Name },
-  {   1, &hf_qsig_nameSequence   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_T_nameSequence },
+static const ber_choice_t qsig_na_NameArg_choice[] = {
+  {   0, &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
+  {   1, &hf_qsig_na_nameSequence, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_na_T_nameSequence },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_NameArg(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_na_NameArg(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,
-                                 NameArg_choice, hf_index, ett_qsig_NameArg,
+                                 qsig_na_NameArg_choice, hf_index, ett_qsig_na_NameArg,
                                  NULL);
 
   return offset;
 }
 
+/*--- PDUs ---*/
+
+static int dissect_qsig_na_NameArg_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_na_NameArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_na_qsig_na_NameArg_PDU);
+  return offset;
+}
+
+
+/* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
 
-static const value_string qsig_Procedure_vals[] = {
+
+static const value_string qsig_cf_Procedure_vals[] = {
   {   0, "cfu" },
   {   1, "cfb" },
   {   2, "cfnr" },
@@ -1223,7 +2649,7 @@ static const value_string qsig_Procedure_vals[] = {
 
 
 static int
-dissect_qsig_Procedure(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_cf_Procedure(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);
 
@@ -1231,7 +2657,7 @@ dissect_qsig_Procedure(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 }
 
 
-static const value_string qsig_BasicService_vals[] = {
+static const value_string qsig_cf_BasicService_vals[] = {
   {   0, "allServices" },
   {   1, "speech" },
   {   2, "unrestrictedDigitalInformation" },
@@ -1246,7 +2672,7 @@ static const value_string qsig_BasicService_vals[] = {
 
 
 static int
-dissect_qsig_BasicService(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_cf_BasicService(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);
 
@@ -1254,239 +2680,261 @@ dissect_qsig_BasicService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
 }
 
 
-static const value_string qsig_ADExtension_vals[] = {
+static const ber_sequence_t qsig_cf_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_cf_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_cf_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_cf_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cf_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_cf_ADExtension_vals[] = {
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t ADExtension_choice[] = {
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_ADExtension_choice[] = {
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ADExtension(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_cf_ADExtension(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,
-                                 ADExtension_choice, hf_index, ett_qsig_ADExtension,
+                                 qsig_cf_ADExtension_choice, hf_index, ett_qsig_cf_ADExtension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_activateDiversionQ_sequence[] = {
-  { &hf_qsig_procedure      , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_Procedure },
-  { &hf_qsig_basicService   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_BasicService },
-  { &hf_qsig_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
-  { &hf_qsig_servedUserNr   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_activatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_extensionAD    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ADExtension },
+static const ber_sequence_t qsig_cf_ARG_activateDiversionQ_sequence[] = {
+  { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
+  { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
+  { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_activatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_extensionAD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_ADExtension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_activateDiversionQ(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_cf_ARG_activateDiversionQ(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,
-                                   ARG_activateDiversionQ_sequence, hf_index, ett_qsig_ARG_activateDiversionQ);
+                                   qsig_cf_ARG_activateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_activateDiversionQ);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_cf_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 qsig_RES_activateDiversionQ_vals[] = {
+static const value_string qsig_cf_RES_activateDiversionQ_vals[] = {
   {   0, "null" },
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t RES_activateDiversionQ_choice[] = {
-  {   0, &hf_qsig_null           , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_NULL },
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_RES_activateDiversionQ_choice[] = {
+  {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_RES_activateDiversionQ(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_cf_RES_activateDiversionQ(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,
-                                 RES_activateDiversionQ_choice, hf_index, ett_qsig_RES_activateDiversionQ,
+                                 qsig_cf_RES_activateDiversionQ_choice, hf_index, ett_qsig_cf_RES_activateDiversionQ,
                                  NULL);
 
   return offset;
 }
 
 
-static const value_string qsig_DDExtension_vals[] = {
+static const value_string qsig_cf_DDExtension_vals[] = {
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t DDExtension_choice[] = {
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_DDExtension_choice[] = {
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_DDExtension(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_cf_DDExtension(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,
-                                 DDExtension_choice, hf_index, ett_qsig_DDExtension,
+                                 qsig_cf_DDExtension_choice, hf_index, ett_qsig_cf_DDExtension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_deactivateDiversionQ_sequence[] = {
-  { &hf_qsig_procedure      , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_Procedure },
-  { &hf_qsig_basicService   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_BasicService },
-  { &hf_qsig_servedUserNr   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_deactivatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_extensionDD    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_DDExtension },
+static const ber_sequence_t qsig_cf_ARG_deactivateDiversionQ_sequence[] = {
+  { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
+  { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_deactivatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_extensionDD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DDExtension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_deactivateDiversionQ(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_cf_ARG_deactivateDiversionQ(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,
-                                   ARG_deactivateDiversionQ_sequence, hf_index, ett_qsig_ARG_deactivateDiversionQ);
+                                   qsig_cf_ARG_deactivateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_deactivateDiversionQ);
 
   return offset;
 }
 
 
-static const value_string qsig_RES_deactivateDiversionQ_vals[] = {
+static const value_string qsig_cf_RES_deactivateDiversionQ_vals[] = {
   {   0, "null" },
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t RES_deactivateDiversionQ_choice[] = {
-  {   0, &hf_qsig_null           , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_NULL },
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_RES_deactivateDiversionQ_choice[] = {
+  {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_RES_deactivateDiversionQ(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_cf_RES_deactivateDiversionQ(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,
-                                 RES_deactivateDiversionQ_choice, hf_index, ett_qsig_RES_deactivateDiversionQ,
+                                 qsig_cf_RES_deactivateDiversionQ_choice, hf_index, ett_qsig_cf_RES_deactivateDiversionQ,
                                  NULL);
 
   return offset;
 }
 
 
-static const value_string qsig_IDExtension_vals[] = {
+static const value_string qsig_cf_IDExtension_vals[] = {
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t IDExtension_choice[] = {
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_IDExtension_choice[] = {
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_IDExtension(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_cf_IDExtension(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,
-                                 IDExtension_choice, hf_index, ett_qsig_IDExtension,
+                                 qsig_cf_IDExtension_choice, hf_index, ett_qsig_cf_IDExtension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_interrogateDiversionQ_sequence[] = {
-  { &hf_qsig_procedure      , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_Procedure },
-  { &hf_qsig_basicService   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_BasicService },
-  { &hf_qsig_servedUserNr   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_interrogatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_extensionID    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_IDExtension },
+static const ber_sequence_t qsig_cf_ARG_interrogateDiversionQ_sequence[] = {
+  { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
+  { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_interrogatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_extensionID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IDExtension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_interrogateDiversionQ(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_cf_ARG_interrogateDiversionQ(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,
-                                   ARG_interrogateDiversionQ_sequence, hf_index, ett_qsig_ARG_interrogateDiversionQ);
+                                   qsig_cf_ARG_interrogateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_interrogateDiversionQ);
 
   return offset;
 }
 
 
-static const value_string qsig_CHRExtension_vals[] = {
+static const value_string qsig_cf_CHRExtension_vals[] = {
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t CHRExtension_choice[] = {
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_CHRExtension_choice[] = {
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_CHRExtension(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_cf_CHRExtension(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,
-                                 CHRExtension_choice, hf_index, ett_qsig_CHRExtension,
+                                 qsig_cf_CHRExtension_choice, hf_index, ett_qsig_cf_CHRExtension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_checkRestriction_sequence[] = {
-  { &hf_qsig_servedUserNr   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_basicService   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_BasicService },
-  { &hf_qsig_divertedToNr   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_extensionCHR   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_CHRExtension },
+static const ber_sequence_t qsig_cf_ARG_checkRestriction_sequence[] = {
+  { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_cf_divertedToNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_extensionCHR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CHRExtension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_checkRestriction(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_cf_ARG_checkRestriction(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,
-                                   ARG_checkRestriction_sequence, hf_index, ett_qsig_ARG_checkRestriction);
+                                   qsig_cf_ARG_checkRestriction_sequence, hf_index, ett_qsig_cf_ARG_checkRestriction);
 
   return offset;
 }
 
 
-static const value_string qsig_RES_checkRestriction_vals[] = {
+static const value_string qsig_cf_RES_checkRestriction_vals[] = {
   {   0, "null" },
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t RES_checkRestriction_choice[] = {
-  {   0, &hf_qsig_null           , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_NULL },
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_RES_checkRestriction_choice[] = {
+  {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_RES_checkRestriction(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_cf_RES_checkRestriction(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,
-                                 RES_checkRestriction_choice, hf_index, ett_qsig_RES_checkRestriction,
+                                 qsig_cf_RES_checkRestriction_choice, hf_index, ett_qsig_cf_RES_checkRestriction,
                                  NULL);
 
   return offset;
 }
 
 
-static const value_string qsig_DiversionReason_vals[] = {
+static const value_string qsig_cf_DiversionReason_vals[] = {
   {   0, "unknown" },
   {   1, "cfu" },
   {   2, "cfb" },
@@ -1496,7 +2944,7 @@ static const value_string qsig_DiversionReason_vals[] = {
 
 
 static int
-dissect_qsig_DiversionReason(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_cf_DiversionReason(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);
 
@@ -1506,7 +2954,7 @@ dissect_qsig_DiversionReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
 
 
 static int
-dissect_qsig_INTEGER_1_15(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_cf_INTEGER_1_15(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);
 
@@ -1514,7 +2962,7 @@ dissect_qsig_INTEGER_1_15(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
 }
 
 
-static const value_string qsig_SubscriptionOption_vals[] = {
+static const value_string qsig_cf_SubscriptionOption_vals[] = {
   {   0, "noNotification" },
   {   1, "notificationWithoutDivertedToNr" },
   {   2, "notificationWithDivertedToNr" },
@@ -1523,7 +2971,7 @@ static const value_string qsig_SubscriptionOption_vals[] = {
 
 
 static int
-dissect_qsig_SubscriptionOption(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_cf_SubscriptionOption(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);
 
@@ -1531,1123 +2979,12575 @@ dissect_qsig_SubscriptionOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
 }
 
 
-static const value_string qsig_CRRExtension_vals[] = {
+static const value_string qsig_cf_CRRExtension_vals[] = {
   {   9, "single" },
   {  10, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t CRRExtension_choice[] = {
-  {   9, &hf_qsig_single         , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {  10, &hf_qsig_multiple       , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_CRRExtension_choice[] = {
+  {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_CRRExtension(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_cf_CRRExtension(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,
-                                 CRRExtension_choice, hf_index, ett_qsig_CRRExtension,
+                                 qsig_cf_CRRExtension_choice, hf_index, ett_qsig_cf_CRRExtension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_callRerouteing_sequence[] = {
-  { &hf_qsig_rerouteingReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_DiversionReason },
-  { &hf_qsig_originalRerouteingReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_DiversionReason },
-  { &hf_qsig_calledAddress  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
-  { &hf_qsig_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_INTEGER_1_15 },
-  { &hf_qsig_pSS1InfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
-  { &hf_qsig_lastRerouteingNr, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_qsig_PresentedNumberUnscreened },
-  { &hf_qsig_subscriptionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SubscriptionOption },
-  { &hf_qsig_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
-  { &hf_qsig_callingNumber  , BER_CLASS_CON, 4, BER_FLAGS_NOTCHKTAG, dissect_qsig_PresentedNumberScreened },
-  { &hf_qsig_callingName    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_Name },
-  { &hf_qsig_originalCalledNr, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_PresentedNumberUnscreened },
-  { &hf_qsig_redirectingName, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_Name },
-  { &hf_qsig_originalCalledName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_Name },
-  { &hf_qsig_extensionCRR   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_CRRExtension },
+static const ber_sequence_t qsig_cf_ARG_callRerouteing_sequence[] = {
+  { &hf_qsig_cf_rerouteingReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
+  { &hf_qsig_cf_originalRerouteingReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
+  { &hf_qsig_cf_calledAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
+  { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
+  { &hf_qsig_cf_pSS1InfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_cf_lastRerouteingNr, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberUnscreened },
+  { &hf_qsig_cf_subscriptionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SubscriptionOption },
+  { &hf_qsig_cf_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_cf_callingNumber, BER_CLASS_CON, 4, 0, dissect_qsig_PresentedNumberScreened },
+  { &hf_qsig_cf_callingName , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
+  { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_cf_extensionCRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CRRExtension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_callRerouteing(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_cf_ARG_callRerouteing(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,
-                                   ARG_callRerouteing_sequence, hf_index, ett_qsig_ARG_callRerouteing);
+                                   qsig_cf_ARG_callRerouteing_sequence, hf_index, ett_qsig_cf_ARG_callRerouteing);
 
   return offset;
 }
 
 
-static const value_string qsig_RES_callRerouteing_vals[] = {
+static const value_string qsig_cf_RES_callRerouteing_vals[] = {
   {   0, "null" },
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t RES_callRerouteing_choice[] = {
-  {   0, &hf_qsig_null           , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_NULL },
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_RES_callRerouteing_choice[] = {
+  {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_RES_callRerouteing(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_cf_RES_callRerouteing(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,
-                                 RES_callRerouteing_choice, hf_index, ett_qsig_RES_callRerouteing,
+                                 qsig_cf_RES_callRerouteing_choice, hf_index, ett_qsig_cf_RES_callRerouteing,
                                  NULL);
 
   return offset;
 }
 
 
-static const value_string qsig_DLI1Extension_vals[] = {
+static const value_string qsig_cf_DLI1Extension_vals[] = {
   {   9, "single" },
   {  10, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t DLI1Extension_choice[] = {
-  {   9, &hf_qsig_single         , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {  10, &hf_qsig_multiple       , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_DLI1Extension_choice[] = {
+  {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_DLI1Extension(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_cf_DLI1Extension(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,
-                                 DLI1Extension_choice, hf_index, ett_qsig_DLI1Extension,
+                                 qsig_cf_DLI1Extension_choice, hf_index, ett_qsig_cf_DLI1Extension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_divertingLegInformation1_sequence[] = {
-  { &hf_qsig_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_DiversionReason },
-  { &hf_qsig_subscriptionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_SubscriptionOption },
-  { &hf_qsig_nominatedNr    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_extensionDLI1  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_DLI1Extension },
+static const ber_sequence_t qsig_cf_ARG_divertingLegInformation1_sequence[] = {
+  { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
+  { &hf_qsig_cf_subscriptionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_SubscriptionOption },
+  { &hf_qsig_cf_nominatedNr , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_extensionDLI1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI1Extension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_divertingLegInformation1(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_cf_ARG_divertingLegInformation1(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,
-                                   ARG_divertingLegInformation1_sequence, hf_index, ett_qsig_ARG_divertingLegInformation1);
+                                   qsig_cf_ARG_divertingLegInformation1_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation1);
 
   return offset;
 }
 
 
-static const value_string qsig_DLI2Extension_vals[] = {
+static const value_string qsig_cf_DLI2Extension_vals[] = {
   {   5, "single" },
   {   6, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t DLI2Extension_choice[] = {
-  {   5, &hf_qsig_single         , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   6, &hf_qsig_multiple       , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_DLI2Extension_choice[] = {
+  {   5, &hf_qsig_cf_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   6, &hf_qsig_cf_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_DLI2Extension(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_cf_DLI2Extension(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,
-                                 DLI2Extension_choice, hf_index, ett_qsig_DLI2Extension,
+                                 qsig_cf_DLI2Extension_choice, hf_index, ett_qsig_cf_DLI2Extension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_divertingLegInformation2_sequence[] = {
-  { &hf_qsig_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_INTEGER_1_15 },
-  { &hf_qsig_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_DiversionReason },
-  { &hf_qsig_originalDiversionReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_DiversionReason },
-  { &hf_qsig_divertingNr    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_PresentedNumberUnscreened },
-  { &hf_qsig_originalCalledNr, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_PresentedNumberUnscreened },
-  { &hf_qsig_redirectingName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_Name },
-  { &hf_qsig_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_Name },
-  { &hf_qsig_extensionDLI2  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_DLI2Extension },
+static const ber_sequence_t qsig_cf_ARG_divertingLegInformation2_sequence[] = {
+  { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
+  { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
+  { &hf_qsig_cf_originalDiversionReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
+  { &hf_qsig_cf_divertingNr , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
+  { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
+  { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_cf_extensionDLI2, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI2Extension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_divertingLegInformation2(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_cf_ARG_divertingLegInformation2(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,
-                                   ARG_divertingLegInformation2_sequence, hf_index, ett_qsig_ARG_divertingLegInformation2);
+                                   qsig_cf_ARG_divertingLegInformation2_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation2);
 
   return offset;
 }
 
 
-static const value_string qsig_DLI3Extension_vals[] = {
+static const value_string qsig_cf_DLI3Extension_vals[] = {
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t DLI3Extension_choice[] = {
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_DLI3Extension_choice[] = {
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_DLI3Extension(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_cf_DLI3Extension(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,
-                                 DLI3Extension_choice, hf_index, ett_qsig_DLI3Extension,
+                                 qsig_cf_DLI3Extension_choice, hf_index, ett_qsig_cf_DLI3Extension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t ARG_divertingLegInformation3_sequence[] = {
-  { &hf_qsig_presentationAllowedIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentationAllowedIndicator },
-  { &hf_qsig_redirectionName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_Name },
-  { &hf_qsig_extensionDLI3  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_DLI3Extension },
+static const ber_sequence_t qsig_cf_ARG_divertingLegInformation3_sequence[] = {
+  { &hf_qsig_cf_presentationAllowedIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentationAllowedIndicator },
+  { &hf_qsig_cf_redirectionName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_cf_extensionDLI3, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI3Extension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_divertingLegInformation3(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_cf_ARG_divertingLegInformation3(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,
-                                   ARG_divertingLegInformation3_sequence, hf_index, ett_qsig_ARG_divertingLegInformation3);
+                                   qsig_cf_ARG_divertingLegInformation3_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation3);
 
   return offset;
 }
 
 
-static const value_string qsig_ARG_cfnrDivertedLegFailed_vals[] = {
+static const value_string qsig_cf_ARG_cfnrDivertedLegFailed_vals[] = {
   {   0, "null" },
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t ARG_cfnrDivertedLegFailed_choice[] = {
-  {   0, &hf_qsig_null           , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_NULL },
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_ARG_cfnrDivertedLegFailed_choice[] = {
+  {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_ARG_cfnrDivertedLegFailed(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_cf_ARG_cfnrDivertedLegFailed(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,
-                                 ARG_cfnrDivertedLegFailed_choice, hf_index, ett_qsig_ARG_cfnrDivertedLegFailed,
+                                 qsig_cf_ARG_cfnrDivertedLegFailed_choice, hf_index, ett_qsig_cf_ARG_cfnrDivertedLegFailed,
                                  NULL);
 
   return offset;
 }
 
 
-static const value_string qsig_IRExtension_vals[] = {
+
+static int
+dissect_qsig_cf_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 value_string qsig_cf_IRExtension_vals[] = {
   {   1, "single" },
   {   2, "multiple" },
   { 0, NULL }
 };
 
-static const ber_choice_t IRExtension_choice[] = {
-  {   1, &hf_qsig_single         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
-  {   2, &hf_qsig_multiple       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_SEQUENCE_OF_Extension },
+static const ber_choice_t qsig_cf_IRExtension_choice[] = {
+  {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
   { 0, NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_IRExtension(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_cf_IRExtension(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,
-                                 IRExtension_choice, hf_index, ett_qsig_IRExtension,
+                                 qsig_cf_IRExtension_choice, hf_index, ett_qsig_cf_IRExtension,
                                  NULL);
 
   return offset;
 }
 
 
-static const ber_sequence_t IntResult_sequence[] = {
-  { &hf_qsig_servedUserNr   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
-  { &hf_qsig_basicService   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_BasicService },
-  { &hf_qsig_procedure      , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_Procedure },
-  { &hf_qsig_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
-  { &hf_qsig_remoteEnabled  , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_BOOLEAN },
-  { &hf_qsig_extensionIR    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_IRExtension },
+static const ber_sequence_t qsig_cf_IntResult_sequence[] = {
+  { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
+  { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
+  { &hf_qsig_cf_remoteEnabled, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BOOLEAN },
+  { &hf_qsig_cf_extensionIR , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IRExtension },
   { NULL, 0, 0, 0, NULL }
 };
 
 static int
-dissect_qsig_IntResult(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_cf_IntResult(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,
-                                   IntResult_sequence, hf_index, ett_qsig_IntResult);
+                                   qsig_cf_IntResult_sequence, hf_index, ett_qsig_cf_IntResult);
 
   return offset;
 }
 
 
-static const ber_sequence_t IntResultList_set_of[1] = {
-  { &hf_qsig_IntResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_IntResult },
+static const ber_sequence_t qsig_cf_IntResultList_set_of[1] = {
+  { &hf_qsig_cf_IntResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_IntResult },
 };
 
 static int
-dissect_qsig_IntResultList(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_cf_IntResultList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
-                                 IntResultList_set_of, hf_index, ett_qsig_IntResultList);
+                                 qsig_cf_IntResultList_set_of, hf_index, ett_qsig_cf_IntResultList);
 
   return offset;
 }
 
 /*--- PDUs ---*/
 
-static int dissect_NameArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_activateDiversionQ_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_NameArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_NameArg_PDU);
+  offset = dissect_qsig_cf_ARG_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU);
   return offset;
 }
-static int dissect_ARG_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_RES_activateDiversionQ_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_ARG_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_activateDiversionQ_PDU);
+  offset = dissect_qsig_cf_RES_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU);
   return offset;
 }
-static int dissect_RES_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_deactivateDiversionQ_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_RES_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_RES_activateDiversionQ_PDU);
+  offset = dissect_qsig_cf_ARG_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU);
   return offset;
 }
-static int dissect_ARG_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_RES_deactivateDiversionQ_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_ARG_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_deactivateDiversionQ_PDU);
+  offset = dissect_qsig_cf_RES_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU);
   return offset;
 }
-static int dissect_RES_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_interrogateDiversionQ_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_RES_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_RES_deactivateDiversionQ_PDU);
+  offset = dissect_qsig_cf_ARG_interrogateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU);
   return offset;
 }
-static int dissect_ARG_interrogateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_IntResultList_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_ARG_interrogateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_interrogateDiversionQ_PDU);
+  offset = dissect_qsig_cf_IntResultList(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_IntResultList_PDU);
   return offset;
 }
-static int dissect_IntResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_checkRestriction_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_IntResultList(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_IntResultList_PDU);
+  offset = dissect_qsig_cf_ARG_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU);
   return offset;
 }
-static int dissect_ARG_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_RES_checkRestriction_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_ARG_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_checkRestriction_PDU);
+  offset = dissect_qsig_cf_RES_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU);
   return offset;
 }
-static int dissect_RES_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_callRerouteing_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_RES_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_RES_checkRestriction_PDU);
+  offset = dissect_qsig_cf_ARG_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU);
   return offset;
 }
-static int dissect_ARG_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_RES_callRerouteing_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_ARG_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_callRerouteing_PDU);
+  offset = dissect_qsig_cf_RES_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU);
   return offset;
 }
-static int dissect_RES_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_divertingLegInformation1_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_RES_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_RES_callRerouteing_PDU);
+  offset = dissect_qsig_cf_ARG_divertingLegInformation1(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU);
   return offset;
 }
-static int dissect_ARG_divertingLegInformation1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_divertingLegInformation2_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_ARG_divertingLegInformation1(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_divertingLegInformation1_PDU);
+  offset = dissect_qsig_cf_ARG_divertingLegInformation2(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU);
   return offset;
 }
-static int dissect_ARG_divertingLegInformation2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_divertingLegInformation3_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_ARG_divertingLegInformation2(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_divertingLegInformation2_PDU);
+  offset = dissect_qsig_cf_ARG_divertingLegInformation3(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU);
   return offset;
 }
-static int dissect_ARG_divertingLegInformation3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_ARG_cfnrDivertedLegFailed_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_ARG_divertingLegInformation3(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_divertingLegInformation3_PDU);
+  offset = dissect_qsig_cf_ARG_cfnrDivertedLegFailed(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU);
   return offset;
 }
-static int dissect_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_qsig_cf_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_ARG_cfnrDivertedLegFailed(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ARG_cfnrDivertedLegFailed_PDU);
+  offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_Extension_PDU);
   return offset;
 }
 
 
-/*--- End of included file: packet-qsig-fn.c ---*/
-#line 441 "packet-qsig-template.c"
-
-static const qsig_op_t qsig_tab[] = {
-  /*   0 */ {   0, dissect_NameArg_PDU, NULL },
-  /*   1 */ {   1, dissect_NameArg_PDU, NULL },
-  /*   2 */ {   2, dissect_NameArg_PDU, NULL },
-  /*   3 */ {   3, dissect_NameArg_PDU, NULL },
-  /*   4 */ {   4, NULL, NULL },
-  /*   5 */ {   5, NULL, NULL },
-  /*   6 */ {   6, NULL, NULL },
-  /*   7 */ {   7, NULL, NULL },
-  /*   8 */ {   8, NULL, NULL },
-  /*   9 */ {   9, NULL, NULL },
-  /*  10 */ {  10, NULL, NULL },
-  /*  11 */ {  11, NULL, NULL },
-  /*  12 */ {  12, NULL, NULL },
-  /*  13 */ {  13, NULL, NULL },
-  /*  14 */ {  14, NULL, NULL },
-  /*  15 */ {  15, dissect_ARG_activateDiversionQ_PDU, dissect_RES_activateDiversionQ_PDU },
-  /*  16 */ {  16, dissect_ARG_deactivateDiversionQ_PDU, dissect_RES_deactivateDiversionQ_PDU },
-  /*  17 */ {  17, dissect_ARG_interrogateDiversionQ_PDU, dissect_IntResultList_PDU },
-  /*  18 */ {  18, dissect_ARG_checkRestriction_PDU, dissect_RES_checkRestriction_PDU },
-  /*  19 */ {  19, dissect_ARG_callRerouteing_PDU, dissect_RES_callRerouteing_PDU },
-  /*  20 */ {  20, dissect_ARG_divertingLegInformation1_PDU, NULL },
-  /*  21 */ {  21, dissect_ARG_divertingLegInformation2_PDU, NULL },
-  /*  22 */ {  22, dissect_ARG_divertingLegInformation3_PDU, NULL },
-  /*  23 */ {  23, dissect_ARG_cfnrDivertedLegFailed_PDU, NULL },
-  /*  27 */ {  27, NULL, NULL },
-  /*  28 */ {  28, NULL, NULL },
-  /*  29 */ {  29, NULL, NULL },
-  /*  30 */ {  30, NULL, NULL },
-  /*  31 */ {  31, NULL, NULL },
-  /*  32 */ {  32, NULL, NULL },
-  /*  33 */ {  33, NULL, NULL },
-  /*  34 */ {  34, NULL, NULL },
-  /*  35 */ {  35, NULL, NULL },
-  /*  36 */ {  36, NULL, NULL },
-  /*  37 */ {  37, NULL, NULL },
-  /*  38 */ {  38, NULL, NULL },
-  /*  39 */ {  39, NULL, NULL },
-  /*  40 */ {  40, NULL, NULL },
-  /*  41 */ {  41, NULL, NULL },
-  /*  42 */ {  42, NULL, NULL },
-  /*  43 */ {  43, NULL, NULL },
-  /*  44 */ {  44, NULL, NULL },
-  /*  45 */ {  45, NULL, NULL },
-  /*  46 */ {  46, NULL, NULL },
-  /*  47 */ {  47, NULL, NULL },
-  /*  48 */ {  48, NULL, NULL },
-  /*  49 */ {  49, NULL, NULL },
-  /*  50 */ {  50, NULL, NULL },
-  /*  51 */ {  51, NULL, NULL },
-  /*  52 */ {  52, NULL, NULL },
-  /*  53 */ {  53, NULL, NULL },
-  /*  54 */ {  54, NULL, NULL },
-  /*  55 */ {  55, NULL, NULL },
-  /*  56 */ {  56, NULL, NULL },
-  /*  57 */ {  57, NULL, NULL },
-  /*  58 */ {  58, NULL, NULL },
-  /*  59 */ {  59, NULL, NULL },
-  /*  60 */ {  60, NULL, NULL },
-  /*  61 */ {  61, NULL, NULL },
-  /*  62 */ {  62, NULL, NULL },
-  /*  63 */ {  63, NULL, NULL },
-  /*  64 */ {  64, NULL, NULL },
-  /*  65 */ {  65, NULL, NULL },
-  /*  66 */ {  66, NULL, NULL },
-  /*  67 */ {  67, NULL, NULL },
-  /*  68 */ {  68, NULL, NULL },
-  /*  69 */ {  69, NULL, NULL },
-  /*  70 */ {  70, NULL, NULL },
-  /*  71 */ {  71, NULL, NULL },
-  /*  72 */ {  72, NULL, NULL },
-  /*  73 */ {  73, NULL, NULL },
-  /*  74 */ {  74, NULL, NULL },
-  /*  75 */ {  75, NULL, NULL },
-  /*  76 */ {  76, NULL, NULL },
-  /*  77 */ {  77, NULL, NULL },
-  /*  78 */ {  78, NULL, NULL },
-  /*  79 */ {  79, NULL, NULL },
-  /*  80 */ {  80, NULL, NULL },
-  /*  81 */ {  81, NULL, NULL },
-  /*  82 */ {  82, NULL, NULL },
-  /*  84 */ {  84, NULL, NULL },
-  /*  85 */ {  85, NULL, NULL },
-  /*  86 */ {  86, NULL, NULL },
-  /*  87 */ {  87, NULL, NULL },
-  /*  88 */ {  88, NULL, NULL },
-  /*  89 */ {  89, NULL, NULL },
-  /*  90 */ {  90, NULL, NULL },
-  /*  91 */ {  91, NULL, NULL },
-  /*  92 */ {  92, NULL, NULL },
-  /*  93 */ {  93, NULL, NULL },
-  /*  94 */ {  94, NULL, NULL },
-  /*  95 */ {  95, NULL, NULL },
-  /*  96 */ {  96, NULL, NULL },
-  /*  97 */ {  97, NULL, NULL },
-  /*  98 */ {  98, NULL, NULL },
-  /*  99 */ {  99, NULL, NULL },
-  /* 100 */ { 100, NULL, NULL },
-  /* 101 */ { 101, NULL, NULL },
-  /* 102 */ { 102, NULL, NULL },
-  /* 103 */ { 103, NULL, NULL },
-  /* 104 */ { 104, NULL, NULL },
-  /* 105 */ { 105, NULL, NULL },
-  /* 106 */ { 106, NULL, NULL },
-  /* 107 */ { 107, NULL, NULL },
-  /* 108 */ { 108, NULL, NULL },
-  /* 109 */ { 109, NULL, NULL },
-  /* 110 */ { 110, NULL, NULL },
-  /* 111 */ { 111, NULL, NULL },
-  /* 112 */ { 112, NULL, NULL },
-  /* 113 */ { 113, NULL, NULL },
-  /* 114 */ { 114, NULL, NULL },
-  /* 115 */ { 115, NULL, NULL },
-  /* 116 */ { 116, NULL, NULL },
-  /* 117 */ { 117, NULL, NULL },
-  /* 118 */ { 118, NULL, NULL },
-  /* 119 */ { 119, NULL, NULL },
-  /* 120 */ { 120, NULL, NULL },
-};                                 
+/* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
 
-static const qsig_op_t *get_op(gint32 opcode) {
-  int i;
 
-  /* search from the end to get the last occurence if the operation is redefined in some newer specification */
-  for (i = array_length(qsig_tab) - 1; i >= 0; i--)
-    if (qsig_tab[i].opcode == opcode)
-      return &qsig_tab[i];
-  return NULL;
-}
 
-static gint32 get_service(gint32 opcode) {
-  if ((opcode < 0) || (opcode >= (int)array_length(op2srv_tab)))
-    return NO_SRV;
-  return op2srv_tab[opcode];
+static int
+dissect_qsig_pr_CallIdentity(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_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
+                                            actx, tree, tvb, offset, hf_index,
+                                            NULL);
+
+  return offset;
 }
-                  
-/*--- dissect_qsig_arg ------------------------------------------------------*/
-static int   
-dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
-  int offset;
-  rose_ctx_t *rctx;
-  gint32 opcode, service;
-  const qsig_op_t *op_ptr;
-  const gchar *p;
-  proto_item *ti, *ti_tmp;
-  proto_tree *qsig_tree;
 
-  offset = 0;
-  rctx = get_rose_ctx(pinfo->private_data);
-  DISSECTOR_ASSERT(rctx);
-  if (rctx->d.pdu != 1)  /* invoke */
-    return offset; 
-  if (rctx->d.code != 0)  /* local */
-    return offset; 
-  opcode = rctx->d.code_local;
-  op_ptr = get_op(opcode);
-  if (!op_ptr)
-    return offset; 
-  service = get_service(opcode);
 
-  ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
-  qsig_tree = proto_item_add_subtree(ti, ett_qsig); 
+static const ber_sequence_t qsig_pr_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_pr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
 
-  proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
-  p = match_strval(opcode, VALS(qsig_str_operation));
-  if (p) {
-    proto_item_append_text(ti, ": %s", p);
-    proto_item_append_text(rctx->d.code_item, " - %s", p);
-    if (rctx->apdu_depth >= 0)
-      proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
-  }
+static int
+dissect_qsig_pr_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_pr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pr_SEQUENCE_OF_Extension);
 
-  ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
-  p = match_strval(service, VALS(qsig_str_service_name));
-  if (p) proto_item_append_text(ti_tmp, " - %s", p);
+  return offset;
+}
 
-  if (op_ptr->arg_pdu)
-    offset = op_ptr->arg_pdu(tvb, pinfo, qsig_tree);
-  else 
-    if (tvb_length_remaining(tvb, offset) > 0) {
-      proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ARGUMENT TYPE (QSIG)");
-      offset += tvb_length_remaining(tvb, offset);
-    }
+
+static const value_string qsig_pr_T_extension_vals[] = {
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pr_T_extension_choice[] = {
+  {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pr_T_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_choice(actx, tree, tvb, offset,
+                                 qsig_pr_T_extension_choice, hf_index, ett_qsig_pr_T_extension,
+                                 NULL);
 
   return offset;
 }
 
-/*--- dissect_qsig_res -------------------------------------------------------*/
+
+static const ber_sequence_t qsig_pr_PRProposeArg_sequence[] = {
+  { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
+  { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pr_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_T_extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
 static int
-dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
-  gint offset;
-  rose_ctx_t *rctx;
-  gint32 opcode, service;
-  const qsig_op_t *op_ptr;
-  const gchar *p;
-  proto_item *ti, *ti_tmp;
-  proto_tree *qsig_tree;
+dissect_qsig_pr_PRProposeArg(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_pr_PRProposeArg_sequence, hf_index, ett_qsig_pr_PRProposeArg);
 
-  offset = 0;
-  rctx = get_rose_ctx(pinfo->private_data);
-  DISSECTOR_ASSERT(rctx);
-  if (rctx->d.pdu != 2)  /* returnResult */
-    return offset; 
-  if (rctx->d.code != 0)  /* local */
-    return offset; 
-  opcode = rctx->d.code_local;
-  op_ptr = get_op(opcode);
-  if (!op_ptr)
-    return offset; 
-  service = get_service(opcode);
+  return offset;
+}
 
-  ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
-  qsig_tree = proto_item_add_subtree(ti, ett_qsig); 
 
-  proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
-  p = match_strval(opcode, VALS(qsig_str_operation));
-  if (p) {
-    proto_item_append_text(ti, ": %s", p);
-    proto_item_append_text(rctx->d.code_item, " - %s", p);
-    if (rctx->apdu_depth >= 0)
-      proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
-  }
+static const value_string qsig_pr_T_extension_01_vals[] = {
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
 
-  ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
-  p = match_strval(service, VALS(qsig_str_service_name));
-  if (p) proto_item_append_text(ti_tmp, " - %s", p);
+static const ber_choice_t qsig_pr_T_extension_01_choice[] = {
+  {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
 
-  if (op_ptr->res_pdu)
-    offset = op_ptr->res_pdu(tvb, pinfo, qsig_tree);
-  else 
-    if (tvb_length_remaining(tvb, offset) > 0) {
-      proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED RESULT TYPE (QSIG)");
-      offset += tvb_length_remaining(tvb, offset);
-    }
+static int
+dissect_qsig_pr_T_extension_01(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_pr_T_extension_01_choice, hf_index, ett_qsig_pr_T_extension_01,
+                                 NULL);
 
   return offset;
 }
 
-/*--- dissect_qsig_transit_counter_ie ---------------------------------------*/
+
+static const ber_sequence_t qsig_pr_PRSetupArg_sequence[] = {
+  { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
+  { &hf_qsig_pr_extension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_T_extension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
 static int
-dissect_qsig_transit_counter_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length  _U_) {
-  proto_tree_add_item(tree, hf_qsig_tc, tvb, offset, 1, FALSE);
-  offset++;
+dissect_qsig_pr_PRSetupArg(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_pr_PRSetupArg_sequence, hf_index, ett_qsig_pr_PRSetupArg);
+
   return offset;
 }
-/*--- dissect_qsig_party_category_ie ----------------------------------------*/
-static int 
-dissect_qsig_party_category_ie(tvbuff_t *tvb, int offset, packet_info *pinfo  _U_, proto_tree *tree, int length  _U_) {
-  proto_tree_add_item(tree, hf_qsig_pc, tvb, offset, 1, FALSE);
-  offset++;
+
+
+static const value_string qsig_pr_T_extension_02_vals[] = {
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pr_T_extension_02_choice[] = {
+  {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pr_T_extension_02(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_pr_T_extension_02_choice, hf_index, ett_qsig_pr_T_extension_02,
+                                 NULL);
+
   return offset;
 }
 
-/*--- dissect_qsig_ie -------------------------------------------------------*/
-static void
-dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset) {
-  gint offset;
-  proto_item *ti, *ti_ie;
-  proto_tree *ie_tree;
-  guint8 ie_type, ie_len;
 
-  offset = 0;
+static const ber_sequence_t qsig_pr_PRRetainArg_sequence[] = {
+  { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
+  { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pr_extension_02, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_T_extension_02 },
+  { NULL, 0, 0, 0, NULL }
+};
 
-  ti = proto_tree_add_item_hidden(tree, proto_qsig, tvb, offset, -1, FALSE);
+static int
+dissect_qsig_pr_PRRetainArg(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_pr_PRRetainArg_sequence, hf_index, ett_qsig_pr_PRRetainArg);
 
-  ie_type = tvb_get_guint8(tvb, offset);
-  ie_len = tvb_get_guint8(tvb, offset + 1);
+  return offset;
+}
 
-  ti_ie = proto_tree_add_text(tree, tvb, offset, -1, "%s",
-            val_to_str(ie_type, VALS(qsig_str_ie_type[codeset]), "unknown (0x%02X)"));
-  ie_tree = proto_item_add_subtree(ti_ie, ett_qsig_ie); 
-  proto_tree_add_item(ie_tree, *hf_qsig_ie_type_arr[codeset], tvb, offset, 1, FALSE);
-  proto_tree_add_item_hidden(ie_tree, hf_qsig_ie_type, tvb, offset, 1, FALSE);
-  proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, FALSE);
-  offset += 2;
-  if (tvb_length_remaining(tvb, offset) <= 0)
-    return;
-  switch ((codeset << 8) | ie_type) {
-    case CS4 | QSIG_IE_TRANSIT_COUNTER :
-      dissect_qsig_transit_counter_ie(tvb, offset, pinfo, ie_tree, ie_len);
-      break;
-    case CS5 | QSIG_IE_PARTY_CATEGORY :
-      dissect_qsig_party_category_ie(tvb, offset, pinfo, ie_tree, ie_len);
-      break;
-    default:
-      if (ie_len > 0) {
-        if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, FALSE);
-      }
-  }
+
+
+static int
+dissect_qsig_pr_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;
 }
-/*--- dissect_qsig_ie_cs4 ---------------------------------------------------*/
-static void
-dissect_qsig_ie_cs4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
-  dissect_qsig_ie(tvb, pinfo, tree, 4);
+
+
+static const value_string qsig_pr_DummyResult_vals[] = {
+  {   0, "null" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pr_DummyResult_choice[] = {
+  {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
+  {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pr_DummyResult(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_pr_DummyResult_choice, hf_index, ett_qsig_pr_DummyResult,
+                                 NULL);
+
+  return offset;
 }
-/*--- dissect_qsig_ie_cs5 ---------------------------------------------------*/
-static void
-dissect_qsig_ie_cs5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
-  dissect_qsig_ie(tvb, pinfo, tree, 5);
+
+
+static const value_string qsig_pr_DummyArg_vals[] = {
+  {   0, "null" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pr_DummyArg_choice[] = {
+  {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
+  {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pr_DummyArg(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_pr_DummyArg_choice, hf_index, ett_qsig_pr_DummyArg,
+                                 NULL);
+
+  return offset;
 }
 
-/*--- proto_register_qsig ---------------------------------------------------*/
-void proto_register_qsig(void) {
+/*--- PDUs ---*/
 
-  /* List of fields */
-  static hf_register_info hf[] = {
-    { &hf_qsig_operation, { "Operation", "qsig.operation",
-                           FT_UINT8, BASE_DEC, VALS(qsig_str_operation), 0x0,
-                           "Operation", HFILL }},
-    { &hf_qsig_service,   { "Service", "qsig.service",
-                           FT_UINT8, BASE_DEC, VALS(qsig_str_service), 0x0,
-                           "Supplementary Service", HFILL }},
-    { &hf_qsig_ie_type, { "Type", "qsig.ie.type",
-                          FT_UINT8, BASE_HEX, NULL, 0x0,
-                          "Information Element Type", HFILL }},
-    { &hf_qsig_ie_type_cs4, { "Type", "qsig.ie.type.cs4",
-                          FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs4), 0x0,
-                          "Information Element Type (Codeset 4)", HFILL }},
-    { &hf_qsig_ie_type_cs5, { "Type", "qsig.ie.type.cs5",
-                          FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs5), 0x0,
-                          "Information Element Type (Codeset 5)", HFILL }},
-    { &hf_qsig_ie_len,  { "Length", "qsig.ie.len",
-                          FT_UINT8, BASE_DEC, NULL, 0x0,
-                          "Information Element Length", HFILL }},
-    { &hf_qsig_ie_data, { "Data", "qsig.ie.data",
-                          FT_BYTES, BASE_HEX, NULL, 0x0,
-                          "Data", HFILL }},
-    { &hf_qsig_tc,      { "Transit count", "qsig.tc",
-                          FT_UINT8, BASE_DEC, NULL, 0x1F,
-                          "Transit count", HFILL }},
+static int dissect_qsig_pr_DummyArg_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_pr_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pr_PRProposeArg_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_pr_PRProposeArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRProposeArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pr_PRSetupArg_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_pr_PRSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRSetupArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pr_DummyResult_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_pr_DummyResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyResult_PDU);
+  return offset;
+}
+static int dissect_qsig_pr_PRRetainArg_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_pr_PRRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRRetainArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pr_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
+
+
+
+static int
+dissect_qsig_ct_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_ct_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_ct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_ct_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_ct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ct_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_DummyArg_vals[] = {
+  {   0, "null" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_DummyArg_choice[] = {
+  {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
+  {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_DummyArg(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_ct_DummyArg_choice, hf_index, ett_qsig_ct_DummyArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_DummyRes_choice[] = {
+  {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
+  {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_DummyRes(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_ct_DummyRes_choice, hf_index, ett_qsig_ct_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_ct_CallIdentity(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_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
+                                            actx, tree, tvb, offset, hf_index,
+                                            NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_T_resultExtension_vals[] = {
+  {   6, "single" },
+  {   7, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_T_resultExtension_choice[] = {
+  {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_T_resultExtension(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_ct_T_resultExtension_choice, hf_index, ett_qsig_ct_T_resultExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ct_CTIdentifyRes_sequence[] = {
+  { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
+  { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_ct_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_resultExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_CTIdentifyRes(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_ct_CTIdentifyRes_sequence, hf_index, ett_qsig_ct_CTIdentifyRes);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_T_argumentExtension_vals[] = {
+  {   6, "single" },
+  {   7, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_T_argumentExtension_choice[] = {
+  {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_T_argumentExtension(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_ct_T_argumentExtension_choice, hf_index, ett_qsig_ct_T_argumentExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ct_CTInitiateArg_sequence[] = {
+  { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
+  { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_ct_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_argumentExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_CTInitiateArg(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_ct_CTInitiateArg_sequence, hf_index, ett_qsig_ct_CTInitiateArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_T_argumentExtension_01_vals[] = {
+  {   0, "single" },
+  {   1, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_T_argumentExtension_01_choice[] = {
+  {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_T_argumentExtension_01(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_ct_T_argumentExtension_01_choice, hf_index, ett_qsig_ct_T_argumentExtension_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ct_CTSetupArg_sequence[] = {
+  { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
+  { &hf_qsig_ct_argumentExtension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_argumentExtension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_CTSetupArg(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_ct_CTSetupArg_sequence, hf_index, ett_qsig_ct_CTSetupArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_T_argumentExtension_02_vals[] = {
+  {   9, "single" },
+  {  10, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_T_argumentExtension_02_choice[] = {
+  {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_T_argumentExtension_02(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_ct_T_argumentExtension_02_choice, hf_index, ett_qsig_ct_T_argumentExtension_02,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ct_CTActiveArg_sequence[] = {
+  { &hf_qsig_ct_connectedAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
+  { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_ct_connectedName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
+  { &hf_qsig_ct_argumentExtension_02, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_argumentExtension_02 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_CTActiveArg(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_ct_CTActiveArg_sequence, hf_index, ett_qsig_ct_CTActiveArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_EndDesignation_vals[] = {
+  {   0, "primaryEnd" },
+  {   1, "secondaryEnd" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_ct_EndDesignation(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 qsig_ct_CallStatus_vals[] = {
+  {   0, "answered" },
+  {   1, "alerting" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_ct_CallStatus(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 qsig_ct_T_argumentExtension_03_vals[] = {
+  {   9, "single" },
+  {  10, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_T_argumentExtension_03_choice[] = {
+  {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_T_argumentExtension_03(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_ct_T_argumentExtension_03_choice, hf_index, ett_qsig_ct_T_argumentExtension_03,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ct_CTCompleteArg_sequence[] = {
+  { &hf_qsig_ct_endDesignation, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_EndDesignation },
+  { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
+  { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
+  { &hf_qsig_ct_callStatus  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallStatus },
+  { &hf_qsig_ct_argumentExtension_03, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_argumentExtension_03 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_CTCompleteArg(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_ct_CTCompleteArg_sequence, hf_index, ett_qsig_ct_CTCompleteArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_T_argumentExtension_04_vals[] = {
+  {   9, "single" },
+  {  10, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_T_argumentExtension_04_choice[] = {
+  {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_T_argumentExtension_04(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_ct_T_argumentExtension_04_choice, hf_index, ett_qsig_ct_T_argumentExtension_04,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ct_CTUpdateArg_sequence[] = {
+  { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
+  { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
+  { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_ct_argumentExtension_04, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_argumentExtension_04 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_CTUpdateArg(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_ct_CTUpdateArg_sequence, hf_index, ett_qsig_ct_CTUpdateArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ct_T_argumentExtension_05_vals[] = {
+  {   0, "single" },
+  {   1, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ct_T_argumentExtension_05_choice[] = {
+  {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_T_argumentExtension_05(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_ct_T_argumentExtension_05_choice, hf_index, ett_qsig_ct_T_argumentExtension_05,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ct_SubaddressTransferArg_sequence[] = {
+  { &hf_qsig_ct_redirectionSubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartySubaddress },
+  { &hf_qsig_ct_argumentExtension_05, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_argumentExtension_05 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ct_SubaddressTransferArg(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_ct_SubaddressTransferArg_sequence, hf_index, ett_qsig_ct_SubaddressTransferArg);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_ct_DummyArg_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_ct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_CTIdentifyRes_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_ct_CTIdentifyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_CTInitiateArg_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_ct_CTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTInitiateArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_DummyRes_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_ct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_CTSetupArg_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_ct_CTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTSetupArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_CTActiveArg_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_ct_CTActiveArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTActiveArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_CTCompleteArg_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_ct_CTCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTCompleteArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_CTUpdateArg_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_ct_CTUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTUpdateArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_SubaddressTransferArg_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_ct_SubaddressTransferArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ct_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
+
+
+
+static int
+dissect_qsig_cc_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 int
+dissect_qsig_cc_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_cc_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_cc_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_cc_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_cc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cc_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_cc_CcExtension_vals[] = {
+  {   0, "none" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_cc_CcExtension_choice[] = {
+  {   0, &hf_qsig_cc_none        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_NULL },
+  {   1, &hf_qsig_cc_single      , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cc_multiple    , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_qsig_cc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cc_CcExtension(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_cc_CcExtension_choice, hf_index, ett_qsig_cc_CcExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_cc_CcRequestArg_sequence[] = {
+  { &hf_qsig_cc_numberA     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberUnscreened },
+  { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_cc_can_retain_service, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
+  { &hf_qsig_cc_retain_sig_connection, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
+  { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cc_CcRequestArg(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_cc_CcRequestArg_sequence, hf_index, ett_qsig_cc_CcRequestArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_cc_CcRequestRes_sequence[] = {
+  { &hf_qsig_cc_no_path_reservation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
+  { &hf_qsig_cc_retain_service, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
+  { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cc_CcRequestRes(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_cc_CcRequestRes_sequence, hf_index, ett_qsig_cc_CcRequestRes);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_cc_T_fullArg_sequence[] = {
+  { &hf_qsig_cc_numberA_01  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cc_T_fullArg(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_cc_T_fullArg_sequence, hf_index, ett_qsig_cc_T_fullArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_cc_CcOptionalArg_vals[] = {
+  {   0, "fullArg" },
+  {   1, "extArg" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_cc_CcOptionalArg_choice[] = {
+  {   0, &hf_qsig_cc_fullArg     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_cc_T_fullArg },
+  {   1, &hf_qsig_cc_extArg      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_CcExtension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cc_CcOptionalArg(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_cc_CcOptionalArg_choice, hf_index, ett_qsig_cc_CcOptionalArg,
+                                 NULL);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_cc_CcRequestArg_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_cc_CcRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestArg_PDU);
+  return offset;
+}
+static int dissect_qsig_cc_CcRequestRes_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_cc_CcRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestRes_PDU);
+  return offset;
+}
+static int dissect_qsig_cc_CcOptionalArg_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_cc_CcOptionalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcOptionalArg_PDU);
+  return offset;
+}
+static int dissect_qsig_cc_CcExtension_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_cc_CcExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcExtension_PDU);
+  return offset;
+}
+static int dissect_qsig_cc_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
+
+
+static const asn_namedbit qsig_co_ServiceList_bits[] = {
+  {  0, &hf_qsig_co_ServiceList_callOffer, -1, -1, "callOffer", NULL },
+  { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_qsig_co_ServiceList(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_bitstring(implicit_tag, actx, tree, tvb, offset,
+                                    qsig_co_ServiceList_bits, hf_index, ett_qsig_co_ServiceList,
+                                    NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_co_T_extendedServiceList_sequence[] = {
+  { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
+  { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_co_T_extendedServiceList(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_co_T_extendedServiceList_sequence, hf_index, ett_qsig_co_T_extendedServiceList);
+
+  return offset;
+}
+
+
+static const value_string qsig_co_PathRetainArg_vals[] = {
+  {   0, "serviceList" },
+  {   1, "extendedServiceList" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_co_PathRetainArg_choice[] = {
+  {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
+  {   1, &hf_qsig_co_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_co_PathRetainArg(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_co_PathRetainArg_choice, hf_index, ett_qsig_co_PathRetainArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_co_T_extendedServiceList_01_sequence[] = {
+  { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
+  { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_co_T_extendedServiceList_01(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_co_T_extendedServiceList_01_sequence, hf_index, ett_qsig_co_T_extendedServiceList_01);
+
+  return offset;
+}
+
+
+static const value_string qsig_co_ServiceAvailableArg_vals[] = {
+  {   0, "serviceList" },
+  {   1, "extendedServiceList" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_co_ServiceAvailableArg_choice[] = {
+  {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
+  {   1, &hf_qsig_co_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList_01 },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_co_ServiceAvailableArg(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_co_ServiceAvailableArg_choice, hf_index, ett_qsig_co_ServiceAvailableArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_co_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_co_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_co_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_co_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_co_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_co_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_co_DummyArg_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_co_DummyArg_choice[] = {
+  {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
+  {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_co_DummyArg(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_co_DummyArg_choice, hf_index, ett_qsig_co_DummyArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_co_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_co_DummyRes_choice[] = {
+  {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
+  {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_co_DummyRes(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_co_DummyRes_choice, hf_index, ett_qsig_co_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_co_PathRetainArg_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_co_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_PathRetainArg_PDU);
+  return offset;
+}
+static int dissect_qsig_co_ServiceAvailableArg_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_co_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_ServiceAvailableArg_PDU);
+  return offset;
+}
+static int dissect_qsig_co_DummyArg_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_co_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_co_DummyRes_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_co_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_co_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
+
+
+
+static int
+dissect_qsig_dnd_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_dnd_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_dnd_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_dnd_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_dnd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_dnd_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_DummyArg_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_DummyArg_choice[] = {
+  {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DummyArg(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_dnd_DummyArg_choice, hf_index, ett_qsig_dnd_DummyArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_DummyRes_choice[] = {
+  {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DummyRes(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_dnd_DummyRes_choice, hf_index, ett_qsig_dnd_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_T_argumentExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_T_argumentExtension_choice[] = {
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_argumentExtension(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_dnd_T_argumentExtension_choice, hf_index, ett_qsig_dnd_T_argumentExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_DNDActivateArg_sequence[] = {
+  { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_dnd_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_argumentExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DNDActivateArg(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_dnd_DNDActivateArg_sequence, hf_index, ett_qsig_dnd_DNDActivateArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_DNDProtectionLevel_vals[] = {
+  {   0, "lowProtection" },
+  {   1, "mediumProtection" },
+  {   2, "highProtection" },
+  {   3, "fullProtection" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_dnd_DNDProtectionLevel(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 ber_sequence_t qsig_dnd_T_status_item_sequence[] = {
+  { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_status_item(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_dnd_T_status_item_sequence, hf_index, ett_qsig_dnd_T_status_item);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_T_status_set_of[1] = {
+  { &hf_qsig_dnd_status_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item },
+};
+
+static int
+dissect_qsig_dnd_T_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_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+                                 qsig_dnd_T_status_set_of, hf_index, ett_qsig_dnd_T_status);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_T_resultExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_T_resultExtension_choice[] = {
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_resultExtension(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_dnd_T_resultExtension_choice, hf_index, ett_qsig_dnd_T_resultExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_DNDActivateRes_sequence[] = {
+  { &hf_qsig_dnd_status     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status },
+  { &hf_qsig_dnd_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_resultExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DNDActivateRes(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_dnd_DNDActivateRes_sequence, hf_index, ett_qsig_dnd_DNDActivateRes);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_T_argumentExtension_01_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_T_argumentExtension_01_choice[] = {
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_argumentExtension_01(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_dnd_T_argumentExtension_01_choice, hf_index, ett_qsig_dnd_T_argumentExtension_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_DNDDeactivateArg_sequence[] = {
+  { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_dnd_argumentExtension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_argumentExtension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DNDDeactivateArg(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_dnd_DNDDeactivateArg_sequence, hf_index, ett_qsig_dnd_DNDDeactivateArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_T_argumentExtension_02_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_T_argumentExtension_02_choice[] = {
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_argumentExtension_02(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_dnd_T_argumentExtension_02_choice, hf_index, ett_qsig_dnd_T_argumentExtension_02,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_DNDInterrogateArg_sequence[] = {
+  { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_dnd_argumentExtension_02, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_argumentExtension_02 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DNDInterrogateArg(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_dnd_DNDInterrogateArg_sequence, hf_index, ett_qsig_dnd_DNDInterrogateArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_T_status_item_01_sequence[] = {
+  { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_status_item_01(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_dnd_T_status_item_01_sequence, hf_index, ett_qsig_dnd_T_status_item_01);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_T_status_01_set_of[1] = {
+  { &hf_qsig_dnd_status_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item_01 },
+};
+
+static int
+dissect_qsig_dnd_T_status_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+                                 qsig_dnd_T_status_01_set_of, hf_index, ett_qsig_dnd_T_status_01);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_T_resultExtension_01_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_T_resultExtension_01_choice[] = {
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_resultExtension_01(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_dnd_T_resultExtension_01_choice, hf_index, ett_qsig_dnd_T_resultExtension_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_DNDInterrogateRes_sequence[] = {
+  { &hf_qsig_dnd_status_01  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_01 },
+  { &hf_qsig_dnd_resultExtension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_resultExtension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DNDInterrogateRes(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_dnd_DNDInterrogateRes_sequence, hf_index, ett_qsig_dnd_DNDInterrogateRes);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_DNDOCapabilityLevel_vals[] = {
+  {   1, "overrideLowProt" },
+  {   2, "overrideMediumProt" },
+  {   3, "overrideHighProt" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_dnd_DNDOCapabilityLevel(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 qsig_dnd_T_argumentExtension_03_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_T_argumentExtension_03_choice[] = {
+  {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_argumentExtension_03(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_dnd_T_argumentExtension_03_choice, hf_index, ett_qsig_dnd_T_argumentExtension_03,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_DNDOverrideArg_sequence[] = {
+  { &hf_qsig_dnd_dndoCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDOCapabilityLevel },
+  { &hf_qsig_dnd_argumentExtension_03, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_argumentExtension_03 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_DNDOverrideArg(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_dnd_DNDOverrideArg_sequence, hf_index, ett_qsig_dnd_DNDOverrideArg);
+
+  return offset;
+}
+
+
+static const asn_namedbit qsig_dnd_ServiceList_bits[] = {
+  {  1, &hf_qsig_dnd_ServiceList_dndo_low, -1, -1, "dndo-low", NULL },
+  {  2, &hf_qsig_dnd_ServiceList_dndo_medium, -1, -1, "dndo-medium", NULL },
+  {  3, &hf_qsig_dnd_ServiceList_dndo_high, -1, -1, "dndo-high", NULL },
+  { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_qsig_dnd_ServiceList(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_bitstring(implicit_tag, actx, tree, tvb, offset,
+                                    qsig_dnd_ServiceList_bits, hf_index, ett_qsig_dnd_ServiceList,
+                                    NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_T_extendedServiceList_sequence[] = {
+  { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
+  { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_extendedServiceList(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_dnd_T_extendedServiceList_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_PathRetainArg_vals[] = {
+  {   0, "serviceList" },
+  {   1, "extendedServiceList" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_PathRetainArg_choice[] = {
+  {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
+  {   1, &hf_qsig_dnd_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_PathRetainArg(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_dnd_PathRetainArg_choice, hf_index, ett_qsig_dnd_PathRetainArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_dnd_T_extendedServiceList_01_sequence[] = {
+  { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
+  { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_T_extendedServiceList_01(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_dnd_T_extendedServiceList_01_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList_01);
+
+  return offset;
+}
+
+
+static const value_string qsig_dnd_ServiceAvailableArg_vals[] = {
+  {   0, "serviceList" },
+  {   1, "extendedServiceList" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_dnd_ServiceAvailableArg_choice[] = {
+  {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
+  {   1, &hf_qsig_dnd_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList_01 },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_dnd_ServiceAvailableArg(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_dnd_ServiceAvailableArg_choice, hf_index, ett_qsig_dnd_ServiceAvailableArg,
+                                 NULL);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_dnd_DNDActivateArg_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_dnd_DNDActivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_DNDActivateRes_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_dnd_DNDActivateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_DNDDeactivateArg_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_dnd_DNDDeactivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_DummyRes_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_dnd_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_DNDInterrogateArg_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_dnd_DNDInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_DNDInterrogateRes_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_dnd_DNDInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_DNDOverrideArg_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_dnd_DNDOverrideArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_PathRetainArg_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_dnd_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_ServiceAvailableArg_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_dnd_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_DummyArg_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_dnd_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_dnd_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
+
+
+static const asn_namedbit qsig_ci_ServiceList_bits[] = {
+  {  4, &hf_qsig_ci_ServiceList_ci_low, -1, -1, "ci-low", NULL },
+  {  5, &hf_qsig_ci_ServiceList_ci_medium, -1, -1, "ci-medium", NULL },
+  {  6, &hf_qsig_ci_ServiceList_ci_high, -1, -1, "ci-high", NULL },
+  { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_qsig_ci_ServiceList(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_bitstring(implicit_tag, actx, tree, tvb, offset,
+                                    qsig_ci_ServiceList_bits, hf_index, ett_qsig_ci_ServiceList,
+                                    NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ci_T_extendedServiceList_sequence[] = {
+  { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
+  { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_T_extendedServiceList(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_ci_T_extendedServiceList_sequence, hf_index, ett_qsig_ci_T_extendedServiceList);
+
+  return offset;
+}
+
+
+static const value_string qsig_ci_PathRetainArg_vals[] = {
+  {   0, "serviceList" },
+  {   1, "extendedServiceList" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ci_PathRetainArg_choice[] = {
+  {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
+  {   1, &hf_qsig_ci_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_PathRetainArg(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_ci_PathRetainArg_choice, hf_index, ett_qsig_ci_PathRetainArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ci_T_extendedServiceList_01_sequence[] = {
+  { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
+  { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_T_extendedServiceList_01(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_ci_T_extendedServiceList_01_sequence, hf_index, ett_qsig_ci_T_extendedServiceList_01);
+
+  return offset;
+}
+
+
+static const value_string qsig_ci_ServiceAvailableArg_vals[] = {
+  {   0, "serviceList" },
+  {   1, "extendedServiceList" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ci_ServiceAvailableArg_choice[] = {
+  {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
+  {   1, &hf_qsig_ci_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList_01 },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_ServiceAvailableArg(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_ci_ServiceAvailableArg_choice, hf_index, ett_qsig_ci_ServiceAvailableArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_ci_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_ci_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_ci_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_ci_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_ci_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ci_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_ci_DummyArg_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ci_DummyArg_choice[] = {
+  {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
+  {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_DummyArg(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_ci_DummyArg_choice, hf_index, ett_qsig_ci_DummyArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_ci_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ci_DummyRes_choice[] = {
+  {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
+  {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_DummyRes(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_ci_DummyRes_choice, hf_index, ett_qsig_ci_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_ci_CICapabilityLevel_vals[] = {
+  {   1, "intrusionLowProt" },
+  {   2, "intrusionMediumProt" },
+  {   3, "intrusionHighProt" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_ci_CICapabilityLevel(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 qsig_ci_T_argumentExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ci_T_argumentExtension_choice[] = {
+  {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_T_argumentExtension(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_ci_T_argumentExtension_choice, hf_index, ett_qsig_ci_T_argumentExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ci_CIRequestArg_sequence[] = {
+  { &hf_qsig_ci_ciCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CICapabilityLevel },
+  { &hf_qsig_ci_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_argumentExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_CIRequestArg(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_ci_CIRequestArg_sequence, hf_index, ett_qsig_ci_CIRequestArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ci_CIUnwantedUserStatus_vals[] = {
+  {   0, "unwantedUserIntruded" },
+  {   1, "unwantedUserIsolated" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_ci_CIUnwantedUserStatus(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 qsig_ci_T_resultExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ci_T_resultExtension_choice[] = {
+  {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_T_resultExtension(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_ci_T_resultExtension_choice, hf_index, ett_qsig_ci_T_resultExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ci_CIRequestRes_sequence[] = {
+  { &hf_qsig_ci_ciUnwantedUserStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIUnwantedUserStatus },
+  { &hf_qsig_ci_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_resultExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_CIRequestRes(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_ci_CIRequestRes_sequence, hf_index, ett_qsig_ci_CIRequestRes);
+
+  return offset;
+}
+
+
+static const value_string qsig_ci_CIProtectionLevel_vals[] = {
+  {   0, "lowProtection" },
+  {   1, "mediumProtection" },
+  {   2, "highProtection" },
+  {   3, "fullProtection" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_ci_CIProtectionLevel(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 qsig_ci_T_resultExtension_01_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ci_T_resultExtension_01_choice[] = {
+  {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_T_resultExtension_01(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_ci_T_resultExtension_01_choice, hf_index, ett_qsig_ci_T_resultExtension_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ci_CIGetCIPLRes_sequence[] = {
+  { &hf_qsig_ci_ciProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIProtectionLevel },
+  { &hf_qsig_ci_resultExtension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_resultExtension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ci_CIGetCIPLRes(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_ci_CIGetCIPLRes_sequence, hf_index, ett_qsig_ci_CIGetCIPLRes);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_ci_PathRetainArg_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_ci_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_PathRetainArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ci_ServiceAvailableArg_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_ci_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ci_CIRequestArg_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_ci_CIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ci_CIRequestRes_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_ci_CIRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestRes_PDU);
+  return offset;
+}
+static int dissect_qsig_ci_DummyArg_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_ci_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ci_CIGetCIPLRes_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_ci_CIGetCIPLRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU);
+  return offset;
+}
+static int dissect_qsig_ci_DummyRes_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_ci_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_ci_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
+
+
+
+static int
+dissect_qsig_aoc_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 qsig_aoc_ChargedItem_vals[] = {
+  {   0, "basicCommunication" },
+  {   1, "callAttempt" },
+  {   2, "callSetup" },
+  {   3, "userToUserInfo" },
+  {   4, "operationOfSupplementaryServ" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_ChargedItem(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_qsig_aoc_Currency(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+                                            actx, tree, tvb, offset, hf_index,
+                                            NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_aoc_CurrencyAmount(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 qsig_aoc_Multiplier_vals[] = {
+  {   0, "oneThousandth" },
+  {   1, "oneHundredth" },
+  {   2, "oneTenth" },
+  {   3, "one" },
+  {   4, "ten" },
+  {   5, "hundred" },
+  {   6, "thousand" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_Multiplier(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 ber_sequence_t qsig_aoc_Amount_sequence[] = {
+  { &hf_qsig_aoc_currencyAmount, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_CurrencyAmount },
+  { &hf_qsig_aoc_multiplier , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Multiplier },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_Amount(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_aoc_Amount_sequence, hf_index, ett_qsig_aoc_Amount);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_ChargingType_vals[] = {
+  {   0, "continuousCharging" },
+  {   1, "stepFunction" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_ChargingType(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_qsig_aoc_LengthOfTimeUnit(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 qsig_aoc_Scale_vals[] = {
+  {   0, "oneHundredthSecond" },
+  {   1, "oneTenthSecond" },
+  {   2, "oneSecond" },
+  {   3, "tenSeconds" },
+  {   4, "oneMinute" },
+  {   5, "oneHour" },
+  {   6, "twentyFourHours" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_Scale(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 ber_sequence_t qsig_aoc_Time_sequence[] = {
+  { &hf_qsig_aoc_lengthOfTimeUnit, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_LengthOfTimeUnit },
+  { &hf_qsig_aoc_scale      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Scale },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_Time(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_aoc_Time_sequence, hf_index, ett_qsig_aoc_Time);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_DurationCurrency_sequence[] = {
+  { &hf_qsig_aoc_dCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
+  { &hf_qsig_aoc_dAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
+  { &hf_qsig_aoc_dChargingType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_ChargingType },
+  { &hf_qsig_aoc_dTime      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
+  { &hf_qsig_aoc_dGranularity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_DurationCurrency(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_aoc_DurationCurrency_sequence, hf_index, ett_qsig_aoc_DurationCurrency);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_FlatRateCurrency_sequence[] = {
+  { &hf_qsig_aoc_fRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
+  { &hf_qsig_aoc_fRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_FlatRateCurrency(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_aoc_FlatRateCurrency_sequence, hf_index, ett_qsig_aoc_FlatRateCurrency);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_VolumeUnit_vals[] = {
+  {   0, "octet" },
+  {   1, "segment" },
+  {   2, "message" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_VolumeUnit(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 ber_sequence_t qsig_aoc_VolumeRateCurrency_sequence[] = {
+  { &hf_qsig_aoc_vRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
+  { &hf_qsig_aoc_vRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
+  { &hf_qsig_aoc_vRVolumeUnit, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeUnit },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_VolumeRateCurrency(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_aoc_VolumeRateCurrency_sequence, hf_index, ett_qsig_aoc_VolumeRateCurrency);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_aoc_SpecialChargingCode(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 qsig_aoc_T_rateType_vals[] = {
+  {   0, "durationCurrency" },
+  {   1, "flatRateCurrency" },
+  {   2, "volumeRateCurrency" },
+  {   3, "specialChargingCode" },
+  {   4, "freeOfCharge" },
+  {   5, "currencyInfoNotAvailable" },
+  {   6, "freeOfChargefromBeginning" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_rateType_choice[] = {
+  {   0, &hf_qsig_aoc_durationCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_DurationCurrency },
+  {   1, &hf_qsig_aoc_flatRateCurrency, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FlatRateCurrency },
+  {   2, &hf_qsig_aoc_volumeRateCurrency, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeRateCurrency },
+  {   3, &hf_qsig_aoc_specialChargingCode, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SpecialChargingCode },
+  {   4, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
+  {   5, &hf_qsig_aoc_currencyInfoNotAvailable, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
+  {   6, &hf_qsig_aoc_freeOfChargefromBeginning, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_rateType(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_aoc_T_rateType_choice, hf_index, ett_qsig_aoc_T_rateType,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AOCSCurrencyInfo_sequence[] = {
+  { &hf_qsig_aoc_chargedItem, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargedItem },
+  { &hf_qsig_aoc_rateType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateType },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_AOCSCurrencyInfo(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_aoc_AOCSCurrencyInfo_sequence, hf_index, ett_qsig_aoc_AOCSCurrencyInfo);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AOCSCurrencyInfoList_sequence_of[1] = {
+  { &hf_qsig_aoc_AOCSCurrencyInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfo },
+};
+
+static int
+dissect_qsig_aoc_AOCSCurrencyInfoList(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_aoc_AOCSCurrencyInfoList_sequence_of, hf_index, ett_qsig_aoc_AOCSCurrencyInfoList);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_aocRate_vals[] = {
+  {   0, "chargeNotAvailable" },
+  {   1, "aocSCurrencyInfoList" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_aocRate_choice[] = {
+  {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
+  {   1, &hf_qsig_aoc_aocSCurrencyInfoList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfoList },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_aocRate(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_aoc_T_aocRate_choice, hf_index, ett_qsig_aoc_T_aocRate,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_aoc_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_aoc_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_aoc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_rateArgExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_rateArgExtension_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_rateArgExtension(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_aoc_T_rateArgExtension_choice, hf_index, ett_qsig_aoc_T_rateArgExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AocRateArg_sequence[] = {
+  { &hf_qsig_aoc_aocRate    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocRate },
+  { &hf_qsig_aoc_rateArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateArgExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_AocRateArg(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_aoc_AocRateArg_sequence, hf_index, ett_qsig_aoc_AocRateArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_RecordedCurrency_sequence[] = {
+  { &hf_qsig_aoc_rCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
+  { &hf_qsig_aoc_rAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_RecordedCurrency(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_aoc_RecordedCurrency_sequence, hf_index, ett_qsig_aoc_RecordedCurrency);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_InterimBillingId_vals[] = {
+  {   0, "normalCharging" },
+  {   2, "creditCardCharging" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_InterimBillingId(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 ber_sequence_t qsig_aoc_T_specificCurrency_sequence[] = {
+  { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
+  { &hf_qsig_aoc_interimBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_InterimBillingId },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_specificCurrency(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_aoc_T_specificCurrency_sequence, hf_index, ett_qsig_aoc_T_specificCurrency);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_interimCharge_vals[] = {
+  {   0, "chargeNotAvailable" },
+  {   1, "freeOfCharge" },
+  {   2, "specificCurrency" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_interimCharge_choice[] = {
+  {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
+  {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
+  {   2, &hf_qsig_aoc_specificCurrency, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_interimCharge(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_aoc_T_interimCharge_choice, hf_index, ett_qsig_aoc_T_interimCharge,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_interimArgExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_interimArgExtension_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_interimArgExtension(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_aoc_T_interimArgExtension_choice, hf_index, ett_qsig_aoc_T_interimArgExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AocInterimArg_sequence[] = {
+  { &hf_qsig_aoc_interimCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimCharge },
+  { &hf_qsig_aoc_interimArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimArgExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_AocInterimArg(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_aoc_AocInterimArg_sequence, hf_index, ett_qsig_aoc_AocInterimArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_FinalBillingId_vals[] = {
+  {   0, "normalCharging" },
+  {   2, "creditCardCharging" },
+  {   3, "callForwardingUnconditional" },
+  {   4, "callForwardingBusy" },
+  {   5, "callForwardingNoReply" },
+  {   6, "callDeflection" },
+  {   7, "callTransfer" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_FinalBillingId(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 ber_sequence_t qsig_aoc_T_specificCurrency_01_sequence[] = {
+  { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
+  { &hf_qsig_aoc_finalBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FinalBillingId },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_specificCurrency_01(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_aoc_T_specificCurrency_01_sequence, hf_index, ett_qsig_aoc_T_specificCurrency_01);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_finalCharge_vals[] = {
+  {   0, "chargeNotAvailable" },
+  {   1, "freeOfCharge" },
+  {   2, "specificCurrency" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_finalCharge_choice[] = {
+  {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
+  {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
+  {   2, &hf_qsig_aoc_specificCurrency_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency_01 },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_finalCharge(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_aoc_T_finalCharge_choice, hf_index, ett_qsig_aoc_T_finalCharge,
+                                 NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_aoc_ChargeIdentifier(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 qsig_aoc_ChargingAssociation_vals[] = {
+  {   0, "chargeNumber" },
+  {   1, "chargeIdentifier" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_ChargingAssociation_choice[] = {
+  {   0, &hf_qsig_aoc_chargeNumber, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
+  {   1, &hf_qsig_aoc_chargeIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargeIdentifier },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_ChargingAssociation(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_aoc_ChargingAssociation_choice, hf_index, ett_qsig_aoc_ChargingAssociation,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_finalArgExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_finalArgExtension_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_finalArgExtension(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_aoc_T_finalArgExtension_choice, hf_index, ett_qsig_aoc_T_finalArgExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AocFinalArg_sequence[] = {
+  { &hf_qsig_aoc_finalCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalCharge },
+  { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
+  { &hf_qsig_aoc_finalArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalArgExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_AocFinalArg(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_aoc_AocFinalArg_sequence, hf_index, ett_qsig_aoc_AocFinalArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_AdviceModeCombination_vals[] = {
+  {   0, "rate" },
+  {   1, "rateInterim" },
+  {   2, "rateFinal" },
+  {   3, "interim" },
+  {   4, "final" },
+  {   5, "interimFinal" },
+  {   6, "rateInterimFinal" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_AdviceModeCombination(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 ber_sequence_t qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of[1] = {
+  { &hf_qsig_aoc_adviceModeCombinations_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
+};
+
+static int
+dissect_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination(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_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_chargeReqArgExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_chargeReqArgExtension_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_chargeReqArgExtension(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_aoc_T_chargeReqArgExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqArgExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_ChargeRequestArg_sequence[] = {
+  { &hf_qsig_aoc_adviceModeCombinations, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination },
+  { &hf_qsig_aoc_chargeReqArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqArgExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_ChargeRequestArg(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_aoc_ChargeRequestArg_sequence, hf_index, ett_qsig_aoc_ChargeRequestArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_chargeReqResExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_chargeReqResExtension_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_chargeReqResExtension(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_aoc_T_chargeReqResExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqResExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_ChargeRequestRes_sequence[] = {
+  { &hf_qsig_aoc_adviceModeCombination, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
+  { &hf_qsig_aoc_chargeReqResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqResExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_ChargeRequestRes(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_aoc_ChargeRequestRes_sequence, hf_index, ett_qsig_aoc_ChargeRequestRes);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_DummyArg_vals[] = {
+  {   0, "none" },
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_DummyArg_choice[] = {
+  {   0, &hf_qsig_aoc_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_DummyArg(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_aoc_DummyArg_choice, hf_index, ett_qsig_aoc_DummyArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_T_completeArgExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_completeArgExtension_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_completeArgExtension(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_aoc_T_completeArgExtension_choice, hf_index, ett_qsig_aoc_T_completeArgExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AocCompleteArg_sequence[] = {
+  { &hf_qsig_aoc_chargedUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
+  { &hf_qsig_aoc_completeArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeArgExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_AocCompleteArg(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_aoc_AocCompleteArg_sequence, hf_index, ett_qsig_aoc_AocCompleteArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_ChargingOption_vals[] = {
+  {   0, "aocFreeOfCharge" },
+  {   1, "aocContinueCharging" },
+  {   2, "aocStopCharging" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_ChargingOption(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 qsig_aoc_T_completeResExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_completeResExtension_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_completeResExtension(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_aoc_T_completeResExtension_choice, hf_index, ett_qsig_aoc_T_completeResExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AocCompleteRes_sequence[] = {
+  { &hf_qsig_aoc_chargingOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargingOption },
+  { &hf_qsig_aoc_completeResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeResExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_AocCompleteRes(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_aoc_AocCompleteRes_sequence, hf_index, ett_qsig_aoc_AocCompleteRes);
+
+  return offset;
+}
+
+
+static const value_string qsig_aoc_DiversionType_vals[] = {
+  {   0, "callForwardingUnconditional" },
+  {   1, "callForwardingBusy" },
+  {   2, "callForwardingNoReply" },
+  {   3, "callDeflection" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_aoc_DiversionType(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 qsig_aoc_T_aocDivChargeReqArgExt_vals[] = {
+  {   1, "extension" },
+  {   2, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_aoc_T_aocDivChargeReqArgExt_choice[] = {
+  {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_T_aocDivChargeReqArgExt(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_aoc_T_aocDivChargeReqArgExt_choice, hf_index, ett_qsig_aoc_T_aocDivChargeReqArgExt,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_aoc_AocDivChargeReqArg_sequence[] = {
+  { &hf_qsig_aoc_divertingUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
+  { &hf_qsig_aoc_diversionType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_DiversionType },
+  { &hf_qsig_aoc_aocDivChargeReqArgExt, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocDivChargeReqArgExt },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_aoc_AocDivChargeReqArg(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_aoc_AocDivChargeReqArg_sequence, hf_index, ett_qsig_aoc_AocDivChargeReqArg);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_aoc_AocRateArg_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_aoc_AocRateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocRateArg_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_AocInterimArg_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_aoc_AocInterimArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_AocFinalArg_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_aoc_AocFinalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_ChargeRequestArg_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_aoc_ChargeRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_ChargeRequestRes_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_aoc_ChargeRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_DummyArg_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_aoc_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_AocCompleteArg_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_aoc_AocCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_AocCompleteRes_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_aoc_AocCompleteRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_AocDivChargeReqArg_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_aoc_AocDivChargeReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU);
+  return offset;
+}
+static int dissect_qsig_aoc_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Recall-Operations-asn1-97 --- --- ---                           */
+
+
+static const ber_sequence_t qsig_re_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_re_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_re_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_re_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_re_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_re_T_argumentExtension_vals[] = {
+  {   6, "extension" },
+  {   7, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_re_T_argumentExtension_choice[] = {
+  {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_re_T_argumentExtension(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_re_T_argumentExtension_choice, hf_index, ett_qsig_re_T_argumentExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_re_ReAlertingArg_sequence[] = {
+  { &hf_qsig_re_alertedNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberScreened },
+  { &hf_qsig_re_alertedName , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_re_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_re_T_argumentExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_re_ReAlertingArg(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_re_ReAlertingArg_sequence, hf_index, ett_qsig_re_ReAlertingArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_re_T_argumentExtension_01_vals[] = {
+  {   6, "extension" },
+  {   7, "multipleExtension" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_re_T_argumentExtension_01_choice[] = {
+  {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_re_T_argumentExtension_01(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_re_T_argumentExtension_01_choice, hf_index, ett_qsig_re_T_argumentExtension_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_re_ReAnswerArg_sequence[] = {
+  { &hf_qsig_re_connectedNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberScreened },
+  { &hf_qsig_re_connectedSubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_re_connectedName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_re_argumentExtension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_re_T_argumentExtension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_re_ReAnswerArg(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_re_ReAnswerArg_sequence, hf_index, ett_qsig_re_ReAnswerArg);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_re_ReAlertingArg_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_re_ReAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAlertingArg_PDU);
+  return offset;
+}
+static int dissect_qsig_re_ReAnswerArg_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_re_ReAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAnswerArg_PDU);
+  return offset;
+}
+
+
+/* --- Module Call-Interception-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" },
+  { 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_) {
+  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+                                  NULL);
+
+  return offset;
+}
+
+
+
+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_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_cint_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cint_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_cint_CintExtension_vals[] = {
+  {   0, "none" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 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 },
+  { 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_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
+                                 qsig_cint_CintExtension_choice, hf_index, ett_qsig_cint_CintExtension,
+                                 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 },
+  { 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_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+                                   qsig_cint_CintInformation1Arg_sequence, hf_index, ett_qsig_cint_CintInformation1Arg);
+
+  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 },
+  { 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_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+                                   qsig_cint_CintInformation2Arg_sequence, hf_index, ett_qsig_cint_CintInformation2Arg);
+
+  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" },
+  { 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_) {
+  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+                                  NULL);
+
+  return offset;
+}
+
+
+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_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_cint_CintCondArg_sequence, hf_index, ett_qsig_cint_CintCondArg);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+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_cint_CintInformation1Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU);
+  return offset;
+}
+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_cint_CintInformation2Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU);
+  return offset;
+}
+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_cint_CintCondArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintCondArg_PDU);
+  return offset;
+}
+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_cint_CintExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintExtension_PDU);
+  return offset;
+}
+
+
+/* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
+
+
+static const asn_namedbit qsig_cmn_FeatureIdList_bits[] = {
+  {  0, &hf_qsig_cmn_FeatureIdList_reserved, -1, -1, "reserved", NULL },
+  {  1, &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported, -1, -1, "ssCFreRoutingSupported", NULL },
+  {  2, &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported, -1, -1, "ssCTreRoutingSupported", NULL },
+  {  3, &hf_qsig_cmn_FeatureIdList_ssCCBSpossible, -1, -1, "ssCCBSpossible", NULL },
+  {  4, &hf_qsig_cmn_FeatureIdList_ssCCNRpossible, -1, -1, "ssCCNRpossible", NULL },
+  {  5, &hf_qsig_cmn_FeatureIdList_ssCOsupported, -1, -1, "ssCOsupported", NULL },
+  {  6, &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease, -1, -1, "ssCIforcedRelease", NULL },
+  {  7, &hf_qsig_cmn_FeatureIdList_ssCIisolation, -1, -1, "ssCIisolation", NULL },
+  {  8, &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy, -1, -1, "ssCIwaitOnBusy", NULL },
+  {  9, &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx, -1, -1, "ssAOCsupportChargeRateProvAtGatewPinx", NULL },
+  { 10, &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx, -1, -1, "ssAOCsupportInterimChargeProvAtGatewPinx", NULL },
+  { 11, &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx, -1, -1, "ssAOCsupportFinalChargeProvAtGatewPinx", NULL },
+  { 12, &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx, -1, -1, "anfPRsupportedAtCooperatingPinx", NULL },
+  { 13, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate, -1, -1, "anfCINTcanInterceptImmediate", NULL },
+  { 14, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed, -1, -1, "anfCINTcanInterceptDelayed", NULL },
+  { 15, &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported, -1, -1, "anfWTMIreRoutingSupported", NULL },
+  { 16, &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported, -1, -1, "anfPUMIreRoutingSupported", NULL },
+  { 17, &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported, -1, -1, "ssSSCTreRoutingSupported", NULL },
+  { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_qsig_cmn_FeatureIdList(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_bitstring(implicit_tag, actx, tree, tvb, offset,
+                                    qsig_cmn_FeatureIdList_bits, hf_index, ett_qsig_cmn_FeatureIdList,
+                                    NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_cmn_INTEGER_0_3(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_qsig_cmn_IA5String_SIZE_1_10(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+                                            actx, tree, tvb, offset, hf_index,
+                                            NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_cmn_EquipmentId_sequence[] = {
+  { &hf_qsig_cmn_nodeId     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
+  { &hf_qsig_cmn_groupId    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
+  { &hf_qsig_cmn_unitId     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cmn_EquipmentId(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_cmn_EquipmentId_sequence, hf_index, ett_qsig_cmn_EquipmentId);
+
+  return offset;
+}
+
+
+static const value_string qsig_cmn_PartyCategory_vals[] = {
+  {   0, "unknown" },
+  {   1, "extension" },
+  {   2, "pisnAttendant" },
+  {   3, "emergExt" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_cmn_PartyCategory(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 ber_sequence_t qsig_cmn_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_cmn_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_cmn_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_cmn_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cmn_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_cmn_T_extension_vals[] = {
+  {   7, "single" },
+  {   8, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_cmn_T_extension_choice[] = {
+  {   7, &hf_qsig_cmn_single     , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   8, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cmn_T_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_choice(actx, tree, tvb, offset,
+                                 qsig_cmn_T_extension_choice, hf_index, ett_qsig_cmn_T_extension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_cmn_CmnArg_sequence[] = {
+  { &hf_qsig_cmn_featureIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_FeatureIdList },
+  { &hf_qsig_cmn_ssDNDOprotectionLevel, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
+  { &hf_qsig_cmn_ssCIprotectionLevel, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
+  { &hf_qsig_cmn_equipmentIdentity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_EquipmentId },
+  { &hf_qsig_cmn_partyCategory, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_PartyCategory },
+  { &hf_qsig_cmn_extension  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cmn_T_extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cmn_CmnArg(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_cmn_CmnArg_sequence, hf_index, ett_qsig_cmn_CmnArg);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_cmn_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 qsig_cmn_DummyArg_vals[] = {
+  {   0, "null" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_cmn_DummyArg_choice[] = {
+  {   0, &hf_qsig_cmn_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cmn_NULL },
+  {   1, &hf_qsig_cmn_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cmn_DummyArg(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_cmn_DummyArg_choice, hf_index, ett_qsig_cmn_DummyArg,
+                                 NULL);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_cmn_DummyArg_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_cmn_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_cmn_CmnArg_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_cmn_CmnArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_CmnArg_PDU);
+  return offset;
+}
+
+
+/* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
+
+
+static const value_string qsig_cpi_CPICapabilityLevel_vals[] = {
+  {   1, "interruptionLowPriority" },
+  {   2, "interruptionMediumPriority" },
+  {   3, "interruptionHighPriority" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_cpi_CPICapabilityLevel(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 ber_sequence_t qsig_cpi_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_cpi_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_cpi_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_cpi_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cpi_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_cpi_T_argumentExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_cpi_T_argumentExtension_choice[] = {
+  {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cpi_T_argumentExtension(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_cpi_T_argumentExtension_choice, hf_index, ett_qsig_cpi_T_argumentExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_cpi_CPIRequestArg_sequence[] = {
+  { &hf_qsig_cpi_cpiCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPICapabilityLevel },
+  { &hf_qsig_cpi_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cpi_T_argumentExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cpi_CPIRequestArg(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_cpi_CPIRequestArg_sequence, hf_index, ett_qsig_cpi_CPIRequestArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_cpi_CPIProtectionLevel_vals[] = {
+  {   0, "noProtection" },
+  {   1, "lowProtection" },
+  {   2, "mediumProtection" },
+  {   3, "totalProtection" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_cpi_CPIProtectionLevel(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 qsig_cpi_T_argumentExtension_01_vals[] = {
+  {   1, "extension" },
+  {   2, "sequenceOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_cpi_T_argumentExtension_01_choice[] = {
+  {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cpi_T_argumentExtension_01(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_cpi_T_argumentExtension_01_choice, hf_index, ett_qsig_cpi_T_argumentExtension_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_cpi_CPIPRequestArg_sequence[] = {
+  { &hf_qsig_cpi_cpiProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPIProtectionLevel },
+  { &hf_qsig_cpi_argumentExtension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cpi_T_argumentExtension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_cpi_CPIPRequestArg(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_cpi_CPIPRequestArg_sequence, hf_index, ett_qsig_cpi_CPIPRequestArg);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_cpi_CPIRequestArg_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_cpi_CPIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU);
+  return offset;
+}
+static int dissect_qsig_cpi_CPIPRequestArg_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_cpi_CPIPRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU);
+  return offset;
+}
+
+
+/* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
+
+
+
+static int
+dissect_qsig_pumr_AlternativeId(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);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_T_pumUserId_vals[] = {
+  {   0, "pumNumber" },
+  {   1, "alternativeId" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_T_pumUserId_choice[] = {
+  {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_T_pumUserId(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_pumr_T_pumUserId_choice, hf_index, ett_qsig_pumr_T_pumUserId,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_ServiceOption_vals[] = {
+  {   0, "inCallRegistration" },
+  {   1, "outCallRegistration" },
+  {   2, "allCallRegistration" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_pumr_ServiceOption(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_qsig_pumr_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 ber_sequence_t qsig_pumr_SessionParams_sequence[] = {
+  { &hf_qsig_pumr_durationOfSession, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
+  { &hf_qsig_pumr_numberOfOutgCalls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_SessionParams(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_pumr_SessionParams_sequence, hf_index, ett_qsig_pumr_SessionParams);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_pumr_UserPin(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);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_T_userPin_vals[] = {
+  {   6, "pumUserPin" },
+  {   7, "activatingUserPin" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_T_userPin_choice[] = {
+  {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
+  {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_T_userPin(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_pumr_T_userPin_choice, hf_index, ett_qsig_pumr_T_userPin,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_pumr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_pumr_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_pumr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumr_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_PumrExtension_vals[] = {
+  {   4, "extension" },
+  {   5, "sequOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_PumrExtension_choice[] = {
+  {   4, &hf_qsig_pumr_extension , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   5, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_PumrExtension(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_pumr_PumrExtension_choice, hf_index, ett_qsig_pumr_PumrExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_PumRegistrArg_sequence[] = {
+  { &hf_qsig_pumr_pumUserId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_pumUserId },
+  { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
+  { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
+  { &hf_qsig_pumr_userPin   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_userPin },
+  { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_PumRegistrArg(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_pumr_PumRegistrArg_sequence, hf_index, ett_qsig_pumr_PumRegistrArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_PumRegistrRes_sequence[] = {
+  { &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
+  { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
+  { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_PumRegistrRes(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_pumr_PumRegistrRes_sequence, hf_index, ett_qsig_pumr_PumRegistrRes);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_pumr_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 qsig_pumr_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_DummyRes_choice[] = {
+  {   0, &hf_qsig_pumr_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_NULL },
+  {   1, &hf_qsig_pumr_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_DummyRes(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_pumr_DummyRes_choice, hf_index, ett_qsig_pumr_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_T_pumUserId_01_vals[] = {
+  {   0, "pumNumber" },
+  {   1, "alternativeId" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_T_pumUserId_01_choice[] = {
+  {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_T_pumUserId_01(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_pumr_T_pumUserId_01_choice, hf_index, ett_qsig_pumr_T_pumUserId_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_PumDelRegArg_sequence[] = {
+  { &hf_qsig_pumr_pumUserId_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_pumUserId_01 },
+  { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
+  { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_PumDelRegArg(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_pumr_PumDelRegArg_sequence, hf_index, ett_qsig_pumr_PumDelRegArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_T_pumUserId_02_vals[] = {
+  {   0, "pumNumber" },
+  {   1, "alternativeId" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_T_pumUserId_02_choice[] = {
+  {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_T_pumUserId_02(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_pumr_T_pumUserId_02_choice, hf_index, ett_qsig_pumr_T_pumUserId_02,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_T_userPin_01_vals[] = {
+  {   6, "pumUserPin" },
+  {   7, "activatingUserPin" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_T_userPin_01_choice[] = {
+  {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
+  {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_T_userPin_01(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_pumr_T_userPin_01_choice, hf_index, ett_qsig_pumr_T_userPin_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_PumDe_regArg_sequence[] = {
+  { &hf_qsig_pumr_pumUserId_02, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_pumUserId_02 },
+  { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
+  { &hf_qsig_pumr_userPin_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_userPin_01 },
+  { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_PumDe_regArg(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_pumr_PumDe_regArg_sequence, hf_index, ett_qsig_pumr_PumDe_regArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumr_T_pumUserId_03_vals[] = {
+  {   0, "pumNumber" },
+  {   1, "alternativeId" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_T_pumUserId_03_choice[] = {
+  {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_T_pumUserId_03(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_pumr_T_pumUserId_03_choice, hf_index, ett_qsig_pumr_T_pumUserId_03,
+                                 NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_pumr_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 value_string qsig_pumr_T_userPin_02_vals[] = {
+  {   6, "pumUserPin" },
+  {   7, "activatingUserPin" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumr_T_userPin_02_choice[] = {
+  {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
+  {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_T_userPin_02(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_pumr_T_userPin_02_choice, hf_index, ett_qsig_pumr_T_userPin_02,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_PumInterrogArg_sequence[] = {
+  { &hf_qsig_pumr_pumUserId_03, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_pumUserId_03 },
+  { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_pumr_ServiceOption },
+  { &hf_qsig_pumr_homeInfoOnly, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_BOOLEAN },
+  { &hf_qsig_pumr_userPin_02, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_userPin_02 },
+  { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_PumInterrogArg(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_pumr_PumInterrogArg_sequence, hf_index, ett_qsig_pumr_PumInterrogArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_PumInterrogRes_item_sequence[] = {
+  { &hf_qsig_pumr_basicService, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_ServiceOption },
+  { &hf_qsig_pumr_interrogParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
+  { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumr_PumInterrogRes_item(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_pumr_PumInterrogRes_item_sequence, hf_index, ett_qsig_pumr_PumInterrogRes_item);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumr_PumInterrogRes_set_of[1] = {
+  { &hf_qsig_pumr_PumInterrogRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_PumInterrogRes_item },
+};
+
+static int
+dissect_qsig_pumr_PumInterrogRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+                                 qsig_pumr_PumInterrogRes_set_of, hf_index, ett_qsig_pumr_PumInterrogRes);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_pumr_PumRegistrArg_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_pumr_PumRegistrArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumr_PumRegistrRes_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_pumr_PumRegistrRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU);
+  return offset;
+}
+static int dissect_qsig_pumr_PumDelRegArg_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_pumr_PumDelRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumr_DummyRes_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_pumr_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_pumr_PumDe_regArg_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_pumr_PumDe_regArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumr_PumInterrogArg_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_pumr_PumInterrogArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumr_PumInterrogRes_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_pumr_PumInterrogRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU);
+  return offset;
+}
+static int dissect_qsig_pumr_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
+
+
+static const ber_sequence_t qsig_pumch_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_pumch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_pumch_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_pumch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumch_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumch_PumiExtension_vals[] = {
+  {   4, "extension" },
+  {   5, "sequOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumch_PumiExtension_choice[] = {
+  {   4, &hf_qsig_pumch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   5, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_PumiExtension(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_pumch_PumiExtension_choice, hf_index, ett_qsig_pumch_PumiExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumch_EnquiryArg_sequence[] = {
+  { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_EnquiryArg(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_pumch_EnquiryArg_sequence, hf_index, ett_qsig_pumch_EnquiryArg);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_pumch_AlternativeId(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);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumch_T_both_sequence[] = {
+  { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_AlternativeId },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_T_both(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_pumch_T_both_sequence, hf_index, ett_qsig_pumch_T_both);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumch_PumIdentity_vals[] = {
+  {   0, "pisnNumber" },
+  {   1, "alternativeId" },
+  {   2, "both" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumch_PumIdentity_choice[] = {
+  {   0, &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  {   1, &hf_qsig_pumch_alternativeId, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_AlternativeId },
+  {   2, &hf_qsig_pumch_both     , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_T_both },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_PumIdentity(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_pumch_PumIdentity_choice, hf_index, ett_qsig_pumch_PumIdentity,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumch_DivertArg_sequence[] = {
+  { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumch_callingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
+  { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
+  { &hf_qsig_pumch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_pumch_callingUserSub, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_pumch_callingUserName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_pumch_pumUserSub, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
+  { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_DivertArg(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_pumch_DivertArg_sequence, hf_index, ett_qsig_pumch_DivertArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumch_InformArg_sequence[] = {
+  { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
+  { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_InformArg(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_pumch_InformArg_sequence, hf_index, ett_qsig_pumch_InformArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumch_CurrLocation_sequence[] = {
+  { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
+  { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_CurrLocation(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_pumch_CurrLocation_sequence, hf_index, ett_qsig_pumch_CurrLocation);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumch_SubscriptionOption_vals[] = {
+  {   0, "noNotification" },
+  {   1, "notificationWithoutDivertedToNr" },
+  {   2, "notificationWithDivertedToNr" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_pumch_SubscriptionOption(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 ber_sequence_t qsig_pumch_CfuActivated_sequence[] = {
+  { &hf_qsig_pumch_divToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
+  { &hf_qsig_pumch_divOptions, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_SubscriptionOption },
+  { &hf_qsig_pumch_pumName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_CfuActivated(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_pumch_CfuActivated_sequence, hf_index, ett_qsig_pumch_CfuActivated);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumch_EnquiryRes_vals[] = {
+  {   1, "currLocation" },
+  {   2, "cfuActivated" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumch_EnquiryRes_choice[] = {
+  {   1, &hf_qsig_pumch_currLocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CurrLocation },
+  {   2, &hf_qsig_pumch_cfuActivated, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CfuActivated },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_EnquiryRes(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_pumch_EnquiryRes_choice, hf_index, ett_qsig_pumch_EnquiryRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_pumch_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 qsig_pumch_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumch_DummyRes_choice[] = {
+  {   0, &hf_qsig_pumch_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_NULL },
+  {   1, &hf_qsig_pumch_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_DummyRes(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_pumch_DummyRes_choice, hf_index, ett_qsig_pumch_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_pumch_T_extension_vals[] = {
+  {   3, "single" },
+  {   4, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_pumch_T_extension_choice[] = {
+  {   3, &hf_qsig_pumch_single   , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   4, &hf_qsig_pumch_multiple , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_T_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_choice(actx, tree, tvb, offset,
+                                 qsig_pumch_T_extension_choice, hf_index, ett_qsig_pumch_T_extension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_pumch_PumoArg_sequence[] = {
+  { &hf_qsig_pumch_destinationNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_pumch_pumIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
+  { &hf_qsig_pumch_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumch_NULL },
+  { &hf_qsig_pumch_extension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_T_extension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_pumch_PumoArg(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_pumch_PumoArg_sequence, hf_index, ett_qsig_pumch_PumoArg);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_pumch_EnquiryArg_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_pumch_EnquiryArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumch_EnquiryRes_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_pumch_EnquiryRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU);
+  return offset;
+}
+static int dissect_qsig_pumch_DivertArg_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_pumch_DivertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DivertArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumch_DummyRes_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_pumch_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_pumch_InformArg_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_pumch_InformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_InformArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumch_PumoArg_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_pumch_PumoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_PumoArg_PDU);
+  return offset;
+}
+static int dissect_qsig_pumch_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
+
+
+
+static int
+dissect_qsig_ssct_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_ssct_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_ssct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_ssct_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_ssct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ssct_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_ssct_DummyArg_vals[] = {
+  {   0, "null" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ssct_DummyArg_choice[] = {
+  {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
+  {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_DummyArg(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_ssct_DummyArg_choice, hf_index, ett_qsig_ssct_DummyArg,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const value_string qsig_ssct_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "single" },
+  {   2, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ssct_DummyRes_choice[] = {
+  {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
+  {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_DummyRes(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_ssct_DummyRes_choice, hf_index, ett_qsig_ssct_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_ssct_AwaitConnect(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 value_string qsig_ssct_T_argumentExtension_vals[] = {
+  {   4, "single" },
+  {   5, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ssct_T_argumentExtension_choice[] = {
+  {   4, &hf_qsig_ssct_single    , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   5, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_T_argumentExtension(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_ssct_T_argumentExtension_choice, hf_index, ett_qsig_ssct_T_argumentExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ssct_SSCTInitiateArg_sequence[] = {
+  { &hf_qsig_ssct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_ssct_transferredAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
+  { &hf_qsig_ssct_awaitConnect, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_AwaitConnect },
+  { &hf_qsig_ssct_transferredName, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
+  { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_ssct_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_T_argumentExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_SSCTInitiateArg(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_ssct_SSCTInitiateArg_sequence, hf_index, ett_qsig_ssct_SSCTInitiateArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ssct_T_argumentExtension_01_vals[] = {
+  {   3, "single" },
+  {   4, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ssct_T_argumentExtension_01_choice[] = {
+  {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_T_argumentExtension_01(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_ssct_T_argumentExtension_01_choice, hf_index, ett_qsig_ssct_T_argumentExtension_01,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ssct_SSCTSetupArg_sequence[] = {
+  { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
+  { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
+  { &hf_qsig_ssct_argumentExtension_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_T_argumentExtension_01 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_SSCTSetupArg(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_ssct_SSCTSetupArg_sequence, hf_index, ett_qsig_ssct_SSCTSetupArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_ssct_T_argumentExtension_02_vals[] = {
+  {   3, "single" },
+  {   4, "multiple" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_ssct_T_argumentExtension_02_choice[] = {
+  {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_T_argumentExtension_02(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_ssct_T_argumentExtension_02_choice, hf_index, ett_qsig_ssct_T_argumentExtension_02,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_ssct_SSCTDigitInfoArg_sequence[] = {
+  { &hf_qsig_ssct_reroutingNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
+  { &hf_qsig_ssct_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_ssct_NULL },
+  { &hf_qsig_ssct_argumentExtension_02, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_T_argumentExtension_02 },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_ssct_SSCTDigitInfoArg(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_ssct_SSCTDigitInfoArg_sequence, hf_index, ett_qsig_ssct_SSCTDigitInfoArg);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_ssct_SSCTInitiateArg_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_ssct_SSCTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ssct_DummyRes_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_ssct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_ssct_SSCTSetupArg_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_ssct_SSCTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ssct_DummyArg_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_ssct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ssct_SSCTDigitInfoArg_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_ssct_SSCTDigitInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU);
+  return offset;
+}
+static int dissect_qsig_ssct_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
+
+
+
+static int
+dissect_qsig_wtmlr_AlternativeId(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);
+
+  return offset;
+}
+
+
+static const value_string qsig_wtmlr_WtmUserId_vals[] = {
+  {   0, "pisnNumber" },
+  {   1, "alternativeId" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_wtmlr_WtmUserId_choice[] = {
+  {   0, &hf_qsig_wtmlr_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  {   1, &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_WtmUserId(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_wtmlr_WtmUserId_choice, hf_index, ett_qsig_wtmlr_WtmUserId,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_wtmlr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_wtmlr_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_wtmlr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmlr_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_wtmlr_LrExtension_vals[] = {
+  {   1, "extension" },
+  {   2, "sequOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_wtmlr_LrExtension_choice[] = {
+  {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_LrExtension(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_wtmlr_LrExtension_choice, hf_index, ett_qsig_wtmlr_LrExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_LocUpdArg_sequence[] = {
+  { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
+  { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_LocUpdArg(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_wtmlr_LocUpdArg_sequence, hf_index, ett_qsig_wtmlr_LocUpdArg);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_wtmlr_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 qsig_wtmlr_DummyRes_vals[] = {
+  {   0, "null" },
+  {   1, "extension" },
+  {   2, "sequOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_wtmlr_DummyRes_choice[] = {
+  {   0, &hf_qsig_wtmlr_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_NULL },
+  {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_DummyRes(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_wtmlr_DummyRes_choice, hf_index, ett_qsig_wtmlr_DummyRes,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_LocDelArg_sequence[] = {
+  { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
+  { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_LocDelArg(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_wtmlr_LocDelArg_sequence, hf_index, ett_qsig_wtmlr_LocDelArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_LocDeRegArg_sequence[] = {
+  { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
+  { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_LocDeRegArg(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_wtmlr_LocDeRegArg_sequence, hf_index, ett_qsig_wtmlr_LocDeRegArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_PisnEnqArg_sequence[] = {
+  { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_PisnEnqArg(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_wtmlr_PisnEnqArg_sequence, hf_index, ett_qsig_wtmlr_PisnEnqArg);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_PisnEnqRes_sequence[] = {
+  { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
+  { &hf_qsig_wtmlr_resExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_PisnEnqRes(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_wtmlr_PisnEnqRes_sequence, hf_index, ett_qsig_wtmlr_PisnEnqRes);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_GetRRCInfArg_sequence[] = {
+  { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
+  { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_GetRRCInfArg(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_wtmlr_GetRRCInfArg_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfArg);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_wtmlr_RRClass(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 ber_sequence_t qsig_wtmlr_GetRRCInfRes_sequence[] = {
+  { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
+  { &hf_qsig_wtmlr_rrClass  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_RRClass },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_GetRRCInfRes(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_wtmlr_GetRRCInfRes_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfRes);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmlr_LocInfoCheckArg_sequence[] = {
+  { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
+  { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
+  { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_LocInfoCheckArg(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_wtmlr_LocInfoCheckArg_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckArg);
+
+  return offset;
+}
+
+
+static const value_string qsig_wtmlr_CheckResult_vals[] = {
+  {   0, "locInfChk-correct" },
+  {   1, "locInfChk-incorrect" },
+  { 0, NULL }
+};
+
+
+static int
+dissect_qsig_wtmlr_CheckResult(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 ber_sequence_t qsig_wtmlr_LocInfoCheckRes_sequence[] = {
+  { &hf_qsig_wtmlr_checkResult, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_CheckResult },
+  { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmlr_LocInfoCheckRes(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_wtmlr_LocInfoCheckRes_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckRes);
+
+  return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_qsig_wtmlr_LocUpdArg_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_wtmlr_LocUpdArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_DummyRes_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_wtmlr_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_LocDelArg_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_wtmlr_LocDelArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_LocDeRegArg_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_wtmlr_LocDeRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_PisnEnqArg_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_wtmlr_PisnEnqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_PisnEnqRes_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_wtmlr_PisnEnqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_GetRRCInfArg_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_wtmlr_GetRRCInfArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_GetRRCInfRes_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_wtmlr_GetRRCInfRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_LocInfoCheckArg_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_wtmlr_LocInfoCheckArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_LocInfoCheckRes_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_wtmlr_LocInfoCheckRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU);
+  return offset;
+}
+static int dissect_qsig_wtmlr_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_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU);
+  return offset;
+}
+
+
+/* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
+
+
+static const ber_sequence_t qsig_wtmch_SEQUENCE_OF_Extension_sequence_of[1] = {
+  { &hf_qsig_wtmch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
+};
+
+static int
+dissect_qsig_wtmch_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_wtmch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmch_SEQUENCE_OF_Extension);
+
+  return offset;
+}
+
+
+static const value_string qsig_wtmch_WtmiExtension_vals[] = {
+  {   4, "extension" },
+  {   5, "sequOfExtn" },
+  { 0, NULL }
+};
+
+static const ber_choice_t qsig_wtmch_WtmiExtension_choice[] = {
+  {   4, &hf_qsig_wtmch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
+  {   5, &hf_qsig_wtmch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
+  { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmch_WtmiExtension(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_wtmch_WtmiExtension_choice, hf_index, ett_qsig_wtmch_WtmiExtension,
+                                 NULL);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmch_EnquiryArg_sequence[] = {
+  { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_wtmch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
+  { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmch_EnquiryArg(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_wtmch_EnquiryArg_sequence, hf_index, ett_qsig_wtmch_EnquiryArg);
+
+  return offset;
+}
+
+
+
+static int
+dissect_qsig_wtmch_AlternativeId(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);
+
+  return offset;
+}
+
+
+static const ber_sequence_t qsig_wtmch_T_both_sequence[] = {
+  { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
+  { &hf_qsig_wtmch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_AlternativeId },
+  { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_qsig_wtmch_T_both(gboolean