For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.
[obnox/wireshark/wip.git] / epan / dissectors / packet-qsig.c
index 939dd4a16f78ba66aad96dba09906bf1a1c0e61e..59d71a40db6d35dedd632ac50d5252a082246b18 100644 (file)
@@ -1,11 +1,11 @@
 /* Do not modify this file.                                                   */
 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
 /* packet-qsig.c                                                              */
-/* ../../tools/asn2wrs.py -e -c ./qsig.cnf -s ./packet-qsig-template -D . qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn SYNC-SIG.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn */
+/* ../../tools/asn2wrs.py -c ./qsig.cnf -s ./packet-qsig-template -D . -O ../../epan/dissectors General-Error-List.asn qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn SYNC-SIG.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn */
 
 /* Input file: packet-qsig-template.c */
 
-#line 1 "packet-qsig-template.c"
+#line 1 "../../asn1/qsig/packet-qsig-template.c"
 /* packet-qsig.c
  * Routines for QSIG packet dissection
  * 2007  Tomas Kukosa
@@ -152,133 +152,137 @@ static const value_string qsig_str_service_name[] = {
 
 #define NO_SRV (-1)
 static const gint32 op2srv_tab[] = {
-  /*   0 */ 13868, 
-  /*   1 */ 13868, 
-  /*   2 */ 13868, 
-  /*   3 */ 13868, 
-  /*   4 */ 13874, 
-  /*   5 */ 13874, 
-  /*   6 */ 13874, 
-  /*   7 */ 13869, 
-  /*   8 */ 13869, 
-  /*   9 */ 13869, 
-  /*  10 */ 13869, 
-  /*  11 */ 13869, 
-  /*  12 */ 13869, 
-  /*  13 */ 13869, 
-  /*  14 */ 13869, 
-  /*  15 */ 13873, 
-  /*  16 */ 13873, 
-  /*  17 */ 13873, 
-  /*  18 */ 13873, 
-  /*  19 */ 13873, 
-  /*  20 */ 13873, 
-  /*  21 */ 13873, 
-  /*  22 */ 13873, 
-  /*  23 */ 13873, 
+  /*   0 */ 13868,
+  /*   1 */ 13868,
+  /*   2 */ 13868,
+  /*   3 */ 13868,
+  /*   4 */ 13874,
+  /*   5 */ 13874,
+  /*   6 */ 13874,
+  /*   7 */ 13869,
+  /*   8 */ 13869,
+  /*   9 */ 13869,
+  /*  10 */ 13869,
+  /*  11 */ 13869,
+  /*  12 */ 13869,
+  /*  13 */ 13869,
+  /*  14 */ 13869,
+  /*  15 */ 13873,
+  /*  16 */ 13873,
+  /*  17 */ 13873,
+  /*  18 */ 13873,
+  /*  19 */ 13873,
+  /*  20 */ 13873,
+  /*  21 */ 13873,
+  /*  22 */ 13873,
+  /*  23 */ 13873,
   /*  24 */ NO_SRV,
   /*  25 */ NO_SRV,
   /*  26 */ NO_SRV,
-  /*  27 */ 13870, 
-  /*  28 */ 13870, 
-  /*  29 */ 13870, 
-  /*  30 */ 13870, 
-  /*  31 */ 13870, 
-  /*  32 */ 13870, 
-  /*  33 */ 13870, 
-  /*  34 */ 14843, 
-  /*  35 */ 14844, 
-  /*  36 */ 14844, 
-  /*  37 */ 14844, 
-  /*  38 */ 14844, 
-  /*  39 */ 14844, 
-  /*  40 */ 13870, 
-  /*  41 */ 90001, 
-  /*  42 */ 90001, 
-  /*  43 */ 14846, 
-  /*  44 */ 14846, 
-  /*  45 */ 14846, 
-  /*  46 */ 14846, 
-  /*  47 */ 14846, 
-  /*  48 */ 14846, 
-  /*  49 */ 90001, 
-  /*  50 */ 15429, 
-  /*  51 */ 15429, 
-  /*  52 */ 15429, 
-  /*  53 */ 15429, 
-  /*  54 */ 15431, 
-  /*  55 */ 15431, 
-  /*  56 */ 15431, 
-  /*  57 */ 15052, 
-  /*  58 */ 15052, 
-  /*  59 */ 15050, 
-  /*  60 */ 15050, 
-  /*  61 */ 15050, 
-  /*  62 */ 15050, 
-  /*  63 */ 15050, 
-  /*  64 */ 15050, 
-  /*  65 */ 15050, 
-  /*  66 */ 15054, 
-  /*  67 */ 15054, 
-  /*  68 */ 15054, 
-  /*  69 */ 15054, 
-  /*  70 */ 15054, 
-  /*  71 */ 15431, 
-  /*  72 */ 15433, 
-  /*  73 */ 15433, 
-  /*  74 */ 15433, 
-  /*  75 */ 15433, 
-  /*  76 */ 15433, 
-  /*  77 */ 15433, 
-  /*  78 */ 15507, 
-  /*  79 */ 15507, 
-  /*  80 */  3471, 
-  /*  81 */  3471, 
-  /*  82 */  3471, 
+  /*  27 */ 13870,
+  /*  28 */ 13870,
+  /*  29 */ 13870,
+  /*  30 */ 13870,
+  /*  31 */ 13870,
+  /*  32 */ 13870,
+  /*  33 */ 13870,
+  /*  34 */ 14843,
+  /*  35 */ 14844,
+  /*  36 */ 14844,
+  /*  37 */ 14844,
+  /*  38 */ 14844,
+  /*  39 */ 14844,
+  /*  40 */ 13870,
+  /*  41 */ 90001,
+  /*  42 */ 90001,
+  /*  43 */ 14846,
+  /*  44 */ 14846,
+  /*  45 */ 14846,
+  /*  46 */ 14846,
+  /*  47 */ 14846,
+  /*  48 */ 14846,
+  /*  49 */ 90001,
+  /*  50 */ 15429,
+  /*  51 */ 15429,
+  /*  52 */ 15429,
+  /*  53 */ 15429,
+  /*  54 */ 15431,
+  /*  55 */ 15431,
+  /*  56 */ 15431,
+  /*  57 */ 15052,
+  /*  58 */ 15052,
+  /*  59 */ 15050,
+  /*  60 */ 15050,
+  /*  61 */ 15050,
+  /*  62 */ 15050,
+  /*  63 */ 15050,
+  /*  64 */ 15050,
+  /*  65 */ 15050,
+  /*  66 */ 15054,
+  /*  67 */ 15054,
+  /*  68 */ 15054,
+  /*  69 */ 15054,
+  /*  70 */ 15054,
+  /*  71 */ 15431,
+  /*  72 */ 15433,
+  /*  73 */ 15433,
+  /*  74 */ 15433,
+  /*  75 */ 15433,
+  /*  76 */ 15433,
+  /*  77 */ 15433,
+  /*  78 */ 15507,
+  /*  79 */ 15507,
+  /*  80 */  3471,
+  /*  81 */  3471,
+  /*  82 */  3471,
   /*  83 */ NO_SRV,
-  /*  84 */ 15772, 
-  /*  85 */ 15772, 
-  /*  86 */ 13874, 
-  /*  87 */ 15992, 
-  /*  88 */ 15992, 
-  /*  89 */ 17876, 
-  /*  90 */ 17876, 
-  /*  91 */ 17876, 
-  /*  92 */ 17876, 
-  /*  93 */ 17878, 
-  /*  94 */ 17878, 
-  /*  95 */ 17878, 
-  /*  96 */ 17878, 
-  /*  97 */ 15429, 
-  /*  98 */ 15429, 
-  /*  99 */ 19460, 
-  /* 100 */ 19460, 
-  /* 101 */ 19460, 
-  /* 102 */ 19460, 
-  /* 103 */ 21407, 
-  /* 104 */ 21407, 
-  /* 105 */ 21889, 
-  /* 106 */ 21889, 
-  /* 107 */   325, 
-  /* 108 */   325, 
-  /* 109 */   325, 
-  /* 110 */   325, 
-  /* 111 */   325, 
-  /* 112 */   344, 
-  /* 113 */   344, 
-  /* 114 */   344, 
-  /* 115 */  3471, 
-  /* 116 */  3471, 
-  /* 117 */  3471, 
-  /* 118 */  3471, 
-  /* 119 */  3472, 
-  /* 120 */  3472, 
-};                                 
+  /*  84 */ 15772,
+  /*  85 */ 15772,
+  /*  86 */ 13874,
+  /*  87 */ 15992,
+  /*  88 */ 15992,
+  /*  89 */ 17876,
+  /*  90 */ 17876,
+  /*  91 */ 17876,
+  /*  92 */ 17876,
+  /*  93 */ 17878,
+  /*  94 */ 17878,
+  /*  95 */ 17878,
+  /*  96 */ 17878,
+  /*  97 */ 15429,
+  /*  98 */ 15429,
+  /*  99 */ 19460,
+  /* 100 */ 19460,
+  /* 101 */ 19460,
+  /* 102 */ 19460,
+  /* 103 */ 21407,
+  /* 104 */ 21407,
+  /* 105 */ 21889,
+  /* 106 */ 21889,
+  /* 107 */   325,
+  /* 108 */   325,
+  /* 109 */   325,
+  /* 110 */   325,
+  /* 111 */   325,
+  /* 112 */   344,
+  /* 113 */   344,
+  /* 114 */   344,
+  /* 115 */  3471,
+  /* 116 */  3471,
+  /* 117 */  3471,
+  /* 118 */  3471,
+  /* 119 */  3472,
+  /* 120 */  3472,
+};
 
 static const value_string qsig_str_operation[] = {
 
 /*--- Included file: packet-qsig-table10.c ---*/
-#line 1 "packet-qsig-table10.c"
+#line 1 "../../asn1/qsig/packet-qsig-table10.c"
+
+/* --- Module General-Error-List --- --- ---                                  */
+
+/* Unknown or empty loop list OPERATION */
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -485,14 +489,30 @@ static const value_string qsig_str_operation[] = {
   { 120, "mIDMailboxID" },
 
 /*--- End of included file: packet-qsig-table10.c ---*/
-#line 272 "packet-qsig-template.c"
+#line 272 "../../asn1/qsig/packet-qsig-template.c"
   {   0, NULL}
 };
 
 static const value_string qsig_str_error[] = {
 
 /*--- Included file: packet-qsig-table20.c ---*/
-#line 1 "packet-qsig-table20.c"
+#line 1 "../../asn1/qsig/packet-qsig-table20.c"
+
+/* --- Module General-Error-List --- --- ---                                  */
+
+  {    0, "userNotSubscribed" },
+  {    1, "rejectedByNetwork" },
+  {    2, "rejectedByUser" },
+  {    3, "notAvailable" },
+  {    5, "insufficientInformation" },
+  {    6, "invalidServedUserNr" },
+  {    7, "invalidCallState" },
+  {    8, "basicServiceNotProvided" },
+  {    9, "notIncomingCall" },
+  {   10, "supplementaryServiceInteractionNotAllowed" },
+  {   11, "resourceUnavailable" },
+  {   25, "callFailure" },
+  {   43, "proceduralError" },
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -662,10 +682,10 @@ static const value_string qsig_str_error[] = {
   { 1008, "unspecified" },
 
 /*--- End of included file: packet-qsig-table20.c ---*/
-#line 277 "packet-qsig-template.c"
+#line 277 "../../asn1/qsig/packet-qsig-template.c"
   {   0, NULL}
 };
-                     
+
 /* Initialize the protocol and registered fields */
 static int proto_qsig = -1;
 static int hf_qsig_operation = -1;
@@ -680,7 +700,7 @@ static int hf_qsig_tc = -1;
 static int hf_qsig_pc = -1;
 
 /*--- Included file: packet-qsig-hf.c ---*/
-#line 1 "packet-qsig-hf.c"
+#line 1 "../../asn1/qsig/packet-qsig-hf.c"
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -1557,7 +1577,7 @@ 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 293 "packet-qsig-template.c"
+#line 293 "../../asn1/qsig/packet-qsig-template.c"
 
 static int *hf_qsig_ie_type_arr[] = {
   NULL,
@@ -1576,7 +1596,7 @@ static gint ett_qsig_ie = -1;
 static gint ett_qsig_unknown_extension = -1;
 
 /*--- Included file: packet-qsig-ett.c ---*/
-#line 1 "packet-qsig-ett.c"
+#line 1 "../../asn1/qsig/packet-qsig-ett.c"
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -2017,10 +2037,14 @@ 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 310 "packet-qsig-template.c"
+#line 310 "../../asn1/qsig/packet-qsig-template.c"
+static gint ett_cnq_PSS1InformationElement = -1;
 
 /* Preferences */
 
+/* Subdissectors */
+static dissector_handle_t q931_ie_handle = NULL;
+
 /* Global variables */
 static const char *extension_oid = NULL;
 static GHashTable *qsig_opcode2oid_hashtable = NULL;
@@ -2031,7 +2055,7 @@ static dissector_table_t extension_dissector_table;
 
 
 /*--- Included file: packet-qsig-fn.c ---*/
-#line 1 "packet-qsig-fn.c"
+#line 1 "../../asn1/qsig/packet-qsig-fn.c"
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -2048,7 +2072,7 @@ dissect_qsig_T_extensionId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
 
 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 146 "qsig.cnf"
+#line 146 "../../asn1/qsig/qsig.cnf"
     tvbuff_t *next_tvb;
 
     next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
@@ -2078,7 +2102,7 @@ static const ber_sequence_t qsig_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_) {
-#line 143 "qsig.cnf"
+#line 143 "../../asn1/qsig/qsig.cnf"
   extension_oid = NULL;
 
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -2090,9 +2114,18 @@ dissect_qsig_Extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 
 
 static int
-dissect_qsig_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_qsig_PSS1InformationElement_U(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 168 "../../asn1/qsig/qsig.cnf"
+  tvbuff_t *out_tvb = NULL;
+  proto_tree *data_tree;
+
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
-                                       NULL);
+                                       &out_tvb);
+
+  data_tree = proto_item_add_subtree(actx->created_item, ett_cnq_PSS1InformationElement); 
+  if (out_tvb && (tvb_length(out_tvb) > 0) && q931_ie_handle)
+    call_dissector(q931_ie_handle, out_tvb, actx->pinfo, data_tree);
+
 
   return offset;
 }
@@ -2102,7 +2135,7 @@ dissect_qsig_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
 static int
 dissect_qsig_PSS1InformationElement(gboolean implicit_tag _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_APP, 0, TRUE, dissect_qsig_OCTET_STRING);
+                                      hf_index, BER_CLASS_APP, 0, TRUE, dissect_qsig_PSS1InformationElement_U);
 
   return offset;
 }
@@ -9170,7 +9203,7 @@ dissect_qsig_wtmau_DefinedIDs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
 
 static int
 dissect_qsig_wtmau_T_param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 164 "qsig.cnf"
+#line 164 "../../asn1/qsig/qsig.cnf"
 
 
 
@@ -11896,7 +11929,7 @@ static int dissect_qsig_mid_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
 
 
 /*--- End of included file: packet-qsig-fn.c ---*/
-#line 322 "packet-qsig-template.c"
+#line 326 "../../asn1/qsig/packet-qsig-template.c"
 
 typedef struct _qsig_op_t {
   gint32 opcode;
@@ -11907,7 +11940,11 @@ typedef struct _qsig_op_t {
 static const qsig_op_t qsig_op_tab[] = {
 
 /*--- Included file: packet-qsig-table11.c ---*/
-#line 1 "packet-qsig-table11.c"
+#line 1 "../../asn1/qsig/packet-qsig-table11.c"
+
+/* --- Module General-Error-List --- --- ---                                  */
+
+/* Unknown or empty loop list OPERATION */
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -12114,8 +12151,8 @@ static const qsig_op_t qsig_op_tab[] = {
   /* mIDMailboxID             */ { 120, dissect_qsig_mid_MIDMailboxIDArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
 
 /*--- End of included file: packet-qsig-table11.c ---*/
-#line 331 "packet-qsig-template.c"
-};                                 
+#line 335 "../../asn1/qsig/packet-qsig-template.c"
+};
 
 typedef struct _qsig_err_t {
   gint32 errcode;
@@ -12125,7 +12162,23 @@ typedef struct _qsig_err_t {
 static const qsig_err_t qsig_err_tab[] = {
 
 /*--- Included file: packet-qsig-table21.c ---*/
-#line 1 "packet-qsig-table21.c"
+#line 1 "../../asn1/qsig/packet-qsig-table21.c"
+
+/* --- Module General-Error-List --- --- ---                                  */
+
+  /* userNotSubscribed        */ {    0, NULL },
+  /* rejectedByNetwork        */ {    1, NULL },
+  /* rejectedByUser           */ {    2, NULL },
+  /* notAvailable             */ {    3, NULL },
+  /* insufficientInformation  */ {    5, NULL },
+  /* invalidServedUserNr      */ {    6, NULL },
+  /* invalidCallState         */ {    7, NULL },
+  /* basicServiceNotProvided  */ {    8, NULL },
+  /* notIncomingCall          */ {    9, NULL },
+  /* supplementaryServiceInteractionNotAllowed */ {   10, NULL },
+  /* resourceUnavailable      */ {   11, NULL },
+  /* callFailure              */ {   25, NULL },
+  /* proceduralError          */ {   43, NULL },
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -12295,8 +12348,8 @@ static const qsig_err_t qsig_err_tab[] = {
   /* unspecified              */ { 1008, dissect_qsig_mid_Extension_PDU },
 
 /*--- End of included file: packet-qsig-table21.c ---*/
-#line 340 "packet-qsig-template.c"
-};                                 
+#line 344 "../../asn1/qsig/packet-qsig-template.c"
+};
 
 static const qsig_op_t *get_op(gint32 opcode) {
   int i;
@@ -12323,9 +12376,9 @@ static const qsig_err_t *get_err(gint32 errcode) {
       return &qsig_err_tab[i];
   return NULL;
 }
-                  
+
 /*--- dissect_qsig_arg ------------------------------------------------------*/
-static int   
+static int
 dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
   int offset;
   rose_ctx_t *rctx;
@@ -12339,7 +12392,7 @@ dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
   rctx = get_rose_ctx(pinfo->private_data);
   DISSECTOR_ASSERT(rctx);
   if (rctx->d.pdu != 1)  /* invoke */
-    return offset; 
+    return offset;
   if (rctx->d.code == 0) {  /* local */
     opcode = rctx->d.code_local;
     op_ptr = get_op(opcode);
@@ -12347,14 +12400,14 @@ dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
     op_ptr = g_hash_table_lookup(qsig_oid2op_hashtable, rctx->d.code_global);
     if (op_ptr) opcode = op_ptr->opcode;
   } else {
-    return offset; 
+    return offset;
   }
   if (!op_ptr)
-    return offset; 
+    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); 
+  ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), ENC_NA);
+  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));
@@ -12371,7 +12424,7 @@ dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 
   if (op_ptr->arg_pdu)
     offset = op_ptr->arg_pdu(tvb, pinfo, qsig_tree);
-  else 
+  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);
@@ -12395,17 +12448,17 @@ dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
   rctx = get_rose_ctx(pinfo->private_data);
   DISSECTOR_ASSERT(rctx);
   if (rctx->d.pdu != 2)  /* returnResult */
-    return offset; 
+    return offset;
   if (rctx->d.code != 0)  /* local */
-    return offset; 
+    return offset;
   opcode = rctx->d.code_local;
   op_ptr = get_op(opcode);
   if (!op_ptr)
-    return offset; 
+    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); 
+  ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), ENC_NA);
+  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));
@@ -12422,7 +12475,7 @@ dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 
   if (op_ptr->res_pdu)
     offset = op_ptr->res_pdu(tvb, pinfo, qsig_tree);
-  else 
+  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);
@@ -12432,7 +12485,7 @@ dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 }
 
 /*--- dissect_qsig_err ------------------------------------------------------*/
-static int   
+static int
 dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
   int offset;
   rose_ctx_t *rctx;
@@ -12446,16 +12499,16 @@ dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
   rctx = get_rose_ctx(pinfo->private_data);
   DISSECTOR_ASSERT(rctx);
   if (rctx->d.pdu != 3)  /* returnError */
-    return offset; 
+    return offset;
   if (rctx->d.code != 0)  /* local */
-    return offset; 
+    return offset;
   errcode = rctx->d.code_local;
   err_ptr = get_err(errcode);
   if (!err_ptr)
-    return offset; 
+    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); 
+  ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), ENC_NA);
+  qsig_tree = proto_item_add_subtree(ti, ett_qsig);
 
   proto_tree_add_uint(qsig_tree, hf_qsig_error, tvb, 0, 0, errcode);
   p = match_strval(errcode, VALS(qsig_str_error));
@@ -12468,7 +12521,7 @@ dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 
   if (err_ptr->err_pdu)
     offset = err_ptr->err_pdu(tvb, pinfo, qsig_tree);
-  else 
+  else
     if (tvb_length_remaining(tvb, offset) > 0) {
       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (QSIG)");
       offset += tvb_length_remaining(tvb, offset);
@@ -12480,14 +12533,14 @@ dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
 /*--- dissect_qsig_transit_counter_ie ---------------------------------------*/
 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);
+  proto_tree_add_item(tree, hf_qsig_tc, tvb, offset, 1, ENC_BIG_ENDIAN);
   offset++;
   return offset;
 }
 /*--- dissect_qsig_party_category_ie ----------------------------------------*/
-static int 
+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);
+  proto_tree_add_item(tree, hf_qsig_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
   offset++;
   return offset;
 }
@@ -12502,7 +12555,7 @@ dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset
 
   offset = 0;
 
-  ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, -1, FALSE);
+  ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, -1, ENC_NA);
   PROTO_ITEM_SET_HIDDEN(ti);
 
   ie_type = tvb_get_guint8(tvb, offset);
@@ -12510,11 +12563,11 @@ dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset
 
   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); 
+  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);
-  hidden_item = proto_tree_add_item(ie_tree, hf_qsig_ie_type, tvb, offset, 1, FALSE);
+  hidden_item = proto_tree_add_item(ie_tree, hf_qsig_ie_type, tvb, offset, 1, ENC_BIG_ENDIAN);
   PROTO_ITEM_SET_HIDDEN(hidden_item);
-  proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, FALSE);
+  proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, ENC_BIG_ENDIAN);
   offset += 2;
   if (tvb_length_remaining(tvb, offset) <= 0)
     return;
@@ -12527,7 +12580,7 @@ dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset
       break;
     default:
       if (ie_len > 0) {
-        if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, FALSE);
+        if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, ENC_NA);
       }
   }
 }
@@ -12605,18 +12658,18 @@ void proto_register_qsig(void) {
                           NULL, HFILL }},
 
 /*--- Included file: packet-qsig-hfarr.c ---*/
-#line 1 "packet-qsig-hfarr.c"
+#line 1 "../../asn1/qsig/packet-qsig-hfarr.c"
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
     { &hf_qsig_extensionId,
       { "extensionId", "qsig.extensionId",
         FT_OID, BASE_NONE, NULL, 0,
-        "T_extensionId", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_extensionArgument,
       { "extensionArgument", "qsig.extensionArgument",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_extensionArgument", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_presentationAllowedAddressS,
       { "presentationAllowedAddressS", "qsig.presentationAllowedAddressS",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -12624,11 +12677,11 @@ void proto_register_qsig(void) {
     { &hf_qsig_presentationRestricted,
       { "presentationRestricted", "qsig.presentationRestricted",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_numberNotAvailableDueToInterworking,
       { "numberNotAvailableDueToInterworking", "qsig.numberNotAvailableDueToInterworking",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_presentationRestrictedAddressS,
       { "presentationRestrictedAddressS", "qsig.presentationRestrictedAddressS",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -12739,7 +12792,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_na_nameSequence,
       { "nameSequence", "qsig.na.nameSequence",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_nameSequence", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_na_extensionNA,
       { "extension", "qsig.na.extension",
         FT_UINT32, BASE_DEC, VALS(qsig_na_NameExtension_vals), 0,
@@ -12787,7 +12840,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_na_namePresentationRestrictedNull,
       { "namePresentationRestrictedNull", "qsig.na.namePresentationRestrictedNull",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_na_nameData,
       { "nameData", "qsig.na.nameData",
         FT_STRING, BASE_NONE, NULL, 0,
@@ -13160,7 +13213,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_ct_resultExtension,
       { "resultExtension", "qsig.ct.resultExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_ct_T_resultExtension_vals), 0,
-        "T_resultExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_ct_argumentExtensionCTI,
       { "argumentExtension", "qsig.ct.argumentExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTIargumentExtension_vals), 0,
@@ -13283,7 +13336,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_cc_fullArg,
       { "fullArg", "qsig.cc.fullArg",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_fullArg", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_cc_numberA_01,
       { "numberA", "qsig.cc.numberA",
         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
@@ -13295,7 +13348,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_cc_none,
       { "none", "qsig.cc.none",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_cc_single,
       { "single", "qsig.cc.single",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13338,7 +13391,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_co_extendedServiceList,
       { "extendedServiceList", "qsig.co.extendedServiceList",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_extendedServiceList", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_co_extension,
       { "extension", "qsig.co.extension",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13441,11 +13494,11 @@ void proto_register_qsig(void) {
     { &hf_qsig_dnd_status,
       { "status", "qsig.dnd.status",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "T_status", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_dnd_status_item,
       { "status item", "qsig.dnd.status_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_status_item", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_dnd_dndProtectionLevel,
       { "dndProtectionLevel", "qsig.dnd.dndProtectionLevel",
         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDProtectionLevel_vals), 0,
@@ -13453,7 +13506,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_dnd_resultExtension,
       { "resultExtension", "qsig.dnd.resultExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_vals), 0,
-        "T_resultExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_dnd_argumentExtensionDNDD,
       { "argumentExtension", "qsig.dnd.argumentExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDDargumentExtension_vals), 0,
@@ -13489,7 +13542,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_dnd_extendedServiceList,
       { "extendedServiceList", "qsig.dnd.extendedServiceList",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_extendedServiceList", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_dnd_extendedServiceList_01,
       { "extendedServiceList", "qsig.dnd.extendedServiceList",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13548,7 +13601,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_ci_extendedServiceList,
       { "extendedServiceList", "qsig.ci.extendedServiceList",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_extendedServiceList", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_ci_extension,
       { "extension", "qsig.ci.extension",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13576,7 +13629,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_ci_argumentExtension,
       { "argumentExtension", "qsig.ci.argumentExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_argumentExtension_vals), 0,
-        "T_argumentExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_ci_ciUnwantedUserStatus,
       { "ciUnwantedUserStatus", "qsig.ci.ciUnwantedUserStatus",
         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIUnwantedUserStatus_vals), 0,
@@ -13584,7 +13637,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_ci_resultExtension,
       { "resultExtension", "qsig.ci.resultExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_vals), 0,
-        "T_resultExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_ci_ciProtectionLevel,
       { "ciProtectionLevel", "qsig.ci.ciProtectionLevel",
         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIProtectionLevel_vals), 0,
@@ -13651,11 +13704,11 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_aocRate,
       { "aocRate", "qsig.aoc.aocRate",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocRate_vals), 0,
-        "T_aocRate", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_chargeNotAvailable,
       { "chargeNotAvailable", "qsig.aoc.chargeNotAvailable",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_aocSCurrencyInfoList,
       { "aocSCurrencyInfoList", "qsig.aoc.aocSCurrencyInfoList",
         FT_UINT32, BASE_DEC, NULL, 0,
@@ -13663,7 +13716,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_rateArgExtension,
       { "rateArgExtension", "qsig.aoc.rateArgExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateArgExtension_vals), 0,
-        "T_rateArgExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_extension,
       { "extension", "qsig.aoc.extension",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13679,15 +13732,15 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_interimCharge,
       { "interimCharge", "qsig.aoc.interimCharge",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimCharge_vals), 0,
-        "T_interimCharge", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_freeOfCharge,
       { "freeOfCharge", "qsig.aoc.freeOfCharge",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_specificCurrency,
       { "specificCurrency", "qsig.aoc.specificCurrency",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_specificCurrency", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_recordedCurrency,
       { "recordedCurrency", "qsig.aoc.recordedCurrency",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13699,11 +13752,11 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_interimArgExtension,
       { "interimArgExtension", "qsig.aoc.interimArgExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimArgExtension_vals), 0,
-        "T_interimArgExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_finalCharge,
       { "finalCharge", "qsig.aoc.finalCharge",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalCharge_vals), 0,
-        "T_finalCharge", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_specificCurrency_01,
       { "specificCurrency", "qsig.aoc.specificCurrency",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13719,7 +13772,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_finalArgExtension,
       { "finalArgExtension", "qsig.aoc.finalArgExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalArgExtension_vals), 0,
-        "T_finalArgExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_AOCSCurrencyInfoList_item,
       { "AOCSCurrencyInfo", "qsig.aoc.AOCSCurrencyInfo",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13731,7 +13784,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_rateType,
       { "rateType", "qsig.aoc.rateType",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateType_vals), 0,
-        "T_rateType", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_durationCurrency,
       { "durationCurrency", "qsig.aoc.durationCurrency",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13751,11 +13804,11 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_currencyInfoNotAvailable,
       { "currencyInfoNotAvailable", "qsig.aoc.currencyInfoNotAvailable",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_freeOfChargefromBeginning,
       { "freeOfChargefromBeginning", "qsig.aoc.freeOfChargefromBeginning",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_dCurrency,
       { "dCurrency", "qsig.aoc.dCurrency",
         FT_STRING, BASE_NONE, NULL, 0,
@@ -13839,7 +13892,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_chargeReqArgExtension,
       { "chargeReqArgExtension", "qsig.aoc.chargeReqArgExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqArgExtension_vals), 0,
-        "T_chargeReqArgExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_adviceModeCombination,
       { "adviceModeCombination", "qsig.aoc.adviceModeCombination",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
@@ -13847,11 +13900,11 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_chargeReqResExtension,
       { "chargeReqResExtension", "qsig.aoc.chargeReqResExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqResExtension_vals), 0,
-        "T_chargeReqResExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_none,
       { "none", "qsig.aoc.none",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_chargedUser,
       { "chargedUser", "qsig.aoc.chargedUser",
         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
@@ -13859,7 +13912,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_completeArgExtension,
       { "completeArgExtension", "qsig.aoc.completeArgExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeArgExtension_vals), 0,
-        "T_completeArgExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_chargingOption,
       { "chargingOption", "qsig.aoc.chargingOption",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingOption_vals), 0,
@@ -13867,7 +13920,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_completeResExtension,
       { "completeResExtension", "qsig.aoc.completeResExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeResExtension_vals), 0,
-        "T_completeResExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_aoc_divertingUser,
       { "divertingUser", "qsig.aoc.divertingUser",
         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
@@ -13879,7 +13932,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_aoc_aocDivChargeReqArgExt,
       { "aocDivChargeReqArgExt", "qsig.aoc.aocDivChargeReqArgExt",
         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocDivChargeReqArgExt_vals), 0,
-        "T_aocDivChargeReqArgExt", HFILL }},
+        NULL, HFILL }},
 
 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
 
@@ -13902,7 +13955,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_re_argumentExtension,
       { "argumentExtension", "qsig.re.argumentExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_vals), 0,
-        "T_argumentExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_re_extension,
       { "extension", "qsig.re.extension",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -13965,7 +14018,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_sync_stateinfo,
       { "stateinfo", "qsig.sync.stateinfo",
         FT_INT32, BASE_DEC, VALS(qsig_sync_T_stateinfo_vals), 0,
-        "T_stateinfo", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_sync_extension,
       { "extension", "qsig.sync.extension",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -14032,7 +14085,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_cint_none,
       { "none", "qsig.cint.none",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_cint_single,
       { "single", "qsig.cint.single",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -14079,7 +14132,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_cmn_extension,
       { "extension", "qsig.cmn.extension",
         FT_UINT32, BASE_DEC, VALS(qsig_cmn_T_extension_vals), 0,
-        "T_extension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_cmn_single,
       { "single", "qsig.cmn.single",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -14198,7 +14251,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_cpi_argumentExtension,
       { "argumentExtension", "qsig.cpi.argumentExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_vals), 0,
-        "T_argumentExtension", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_cpi_extension,
       { "extension", "qsig.cpi.extension",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -14289,7 +14342,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_pumr_userPin,
       { "userPin", "qsig.pumr.userPin",
         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_vals), 0,
-        "T_userPin", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_pumr_pumUserPin,
       { "pumUserPin", "qsig.pumr.pumUserPin",
         FT_BYTES, BASE_NONE, NULL, 0,
@@ -14345,7 +14398,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_pumr_PumInterrogRes_item,
       { "PumInterrogRes item", "qsig.pumr.PumInterrogRes_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "PumInterrogRes_item", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_pumr_interrogParams,
       { "interrogParams", "qsig.pumr.interrogParams",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -14468,7 +14521,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_pumch_both,
       { "both", "qsig.pumch.both",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_both", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_pumch_destinationNumber,
       { "destinationNumber", "qsig.pumch.destinationNumber",
         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
@@ -14476,7 +14529,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_pumch_sendingComplete,
       { "sendingComplete", "qsig.pumch.sendingComplete",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_pumch_pumoaextension,
       { "extension", "qsig.pumch.extension",
         FT_UINT32, BASE_DEC, VALS(qsig_pumch_T_pumoaextension_vals), 0,
@@ -14575,7 +14628,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_ssct_sendingComplete,
       { "sendingComplete", "qsig.ssct.sendingComplete",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_ssct_argumentExtensionSSCTD,
       { "argumentExtension", "qsig.ssct.argumentExtension",
         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTDargumentExtension_vals), 0,
@@ -14789,7 +14842,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_wtmch_both,
       { "both", "qsig.wtmch.both",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_both", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_wtmch_destinationNumber,
       { "destinationNumber", "qsig.wtmch.destinationNumber",
         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
@@ -14797,7 +14850,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_wtmch_sendingComplete,
       { "sendingComplete", "qsig.wtmch.sendingComplete",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_wtmch_wtmoaextension,
       { "extension", "qsig.wtmch.extension",
         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_T_wtmoaextension_vals), 0,
@@ -14864,7 +14917,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_wtmau_autWtmResValue,
       { "autWtmResValue", "qsig.wtmau.autWtmResValue",
         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_autWtmResValue_vals), 0,
-        "T_autWtmResValue", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_wtmau_canCompute,
       { "canCompute", "qsig.wtmau.canCompute",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -14896,7 +14949,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_wtmau_wtatParamInfoChoice,
       { "wtatParamInfoChoice", "qsig.wtmau.wtatParamInfoChoice",
         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_wtatParamInfoChoice_vals), 0,
-        "T_wtatParamInfoChoice", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_wtmau_authSessionKeyInfo,
       { "authSessionKeyInfo", "qsig.wtmau.authSessionKeyInfo",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -14952,7 +15005,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_wtmau_param,
       { "param", "qsig.wtmau.param",
         FT_NONE, BASE_NONE, NULL, 0,
-        "T_param", HFILL }},
+        NULL, HFILL }},
 
 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
 
@@ -15034,7 +15087,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_cidl_linkageID,
       { "linkageID", "qsig.cidl.linkageID",
         FT_UINT32, BASE_DEC, VALS(qsig_cidl_T_linkageID_vals), 0,
-        "T_linkageID", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_cidl_subDomainID,
       { "subDomainID", "qsig.cidl.subDomainID",
         FT_BYTES, BASE_NONE, NULL, 0,
@@ -15476,7 +15529,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_mcr_cisc,
       { "cisc", "qsig.mcr.cisc",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_mcr_correlationData,
       { "correlationData", "qsig.mcr.correlationData",
         FT_STRING, BASE_NONE, NULL, 0,
@@ -15488,7 +15541,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_mcr_none,
       { "none", "qsig.mcr.none",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_mcr_single,
       { "single", "qsig.mcr.single",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -15595,7 +15648,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_mcm_setToDefaultValues,
       { "setToDefaultValues", "qsig.mcm.setToDefaultValues",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_mcm_mCMModeNew,
       { "mCMModeNew", "qsig.mcm.mCMModeNew",
         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
@@ -15723,7 +15776,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_mcm_noMsgsOfMsgType,
       { "noMsgsOfMsgType", "qsig.mcm.noMsgsOfMsgType",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_mcm_CompleteInfo_item,
       { "AddressHeader", "qsig.mcm.AddressHeader",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -15763,7 +15816,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_mcm_none,
       { "none", "qsig.mcm.none",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
 
 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
 
@@ -15826,7 +15879,7 @@ void proto_register_qsig(void) {
     { &hf_qsig_mid_none,
       { "none", "qsig.mid.none",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NULL", HFILL }},
+        NULL, HFILL }},
     { &hf_qsig_mid_extension,
       { "extension", "qsig.mid.extension",
         FT_NONE, BASE_NONE, NULL, 0,
@@ -15841,7 +15894,7 @@ void proto_register_qsig(void) {
         NULL, HFILL }},
 
 /*--- End of included file: packet-qsig-hfarr.c ---*/
-#line 648 "packet-qsig-template.c"
+#line 652 "../../asn1/qsig/packet-qsig-template.c"
   };
 
   /* List of subtrees */
@@ -15851,7 +15904,7 @@ void proto_register_qsig(void) {
     &ett_qsig_unknown_extension,
 
 /*--- Included file: packet-qsig-ettarr.c ---*/
-#line 1 "packet-qsig-ettarr.c"
+#line 1 "../../asn1/qsig/packet-qsig-ettarr.c"
 
 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
 
@@ -16292,7 +16345,8 @@ void proto_register_qsig(void) {
     &ett_qsig_mid_SEQUENCE_OF_Extension,
 
 /*--- End of included file: packet-qsig-ettarr.c ---*/
-#line 656 "packet-qsig-template.c"
+#line 660 "../../asn1/qsig/packet-qsig-template.c"
+    &ett_cnq_PSS1InformationElement,
   };
 
   /* Register protocol and dissector */
@@ -16314,19 +16368,20 @@ void proto_reg_handoff_qsig(void) {
   int i;
   gint key;
   const gchar *oid;
-  dissector_handle_t q931_handle; 
+  dissector_handle_t q931_handle;
   dissector_handle_t qsig_arg_handle;
   dissector_handle_t qsig_res_handle;
   dissector_handle_t qsig_err_handle;
   dissector_handle_t qsig_ie_handle;
 
   q931_handle = find_dissector("q931");
+  q931_ie_handle = find_dissector("q931.ie");
 
   qsig_arg_handle = new_create_dissector_handle(dissect_qsig_arg, proto_qsig);
   qsig_res_handle = new_create_dissector_handle(dissect_qsig_res, proto_qsig);
   for (i=0; i<(int)array_length(qsig_op_tab); i++) {
-    dissector_add("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle);
-    dissector_add("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle);
+    dissector_add_uint("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle);
+    dissector_add_uint("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle);
     key = qsig_op_tab[i].opcode;
     oid = g_hash_table_lookup(qsig_opcode2oid_hashtable, &key);
     if (oid) {
@@ -16336,16 +16391,16 @@ void proto_reg_handoff_qsig(void) {
   }
   qsig_err_handle = new_create_dissector_handle(dissect_qsig_err, proto_qsig);
   for (i=0; i<(int)array_length(qsig_err_tab); i++) {
-    dissector_add("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle);
+    dissector_add_uint("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle);
   }
 
   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs4, proto_qsig);
   /* QSIG-TC - Transit counter */
-  dissector_add("q931.ie", CS4 | QSIG_IE_TRANSIT_COUNTER, qsig_ie_handle);
+  dissector_add_uint("q931.ie", CS4 | QSIG_IE_TRANSIT_COUNTER, qsig_ie_handle);
 
   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs5, proto_qsig);
   /* SSIG-BC - Party category */
-  dissector_add("q931.ie", CS5 | QSIG_IE_PARTY_CATEGORY, qsig_ie_handle);
+  dissector_add_uint("q931.ie", CS5 | QSIG_IE_PARTY_CATEGORY, qsig_ie_handle);
 
   /* RFC 3204, 3.2 QSIG Media Type */
   dissector_add_string("media_type", "application/qsig", q931_handle);