Postfix FT_NONE fields with "_element" string to reduce number of incompatible filter...
[metze/wireshark/wip.git] / epan / dissectors / packet-qsig.c
1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-qsig.c                                                              */
4 /* ../../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 */
5
6 /* Input file: packet-qsig-template.c */
7
8 #line 1 "../../asn1/qsig/packet-qsig-template.c"
9 /* packet-qsig.c
10  * Routines for QSIG packet dissection
11  * 2007  Tomas Kukosa
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License
21  * as published by the Free Software Foundation; either version 2
22  * of the License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program; if not, write to the Free Software
31  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
32  */
33
34 #include "config.h"
35
36 #include <epan/packet.h>
37 #include <epan/strutil.h>
38 #include <epan/asn1.h>
39
40 #include "packet-ber.h"
41 #include "packet-qsig.h"
42
43 #define PNAME  "QSIG"
44 #define PSNAME "QSIG"
45 #define PFNAME "qsig"
46
47 /* Shifted codeset values */
48 #define CS0 0x000
49 #define CS1 0x100
50 #define CS2 0x200
51 #define CS3 0x300
52 #define CS4 0x400
53 #define CS5 0x500
54 #define CS6 0x600
55 #define CS7 0x700
56
57 #define QSIG_IE_TRANSIT_COUNTER 0x31
58 #define QSIG_IE_PARTY_CATEGORY  0x32
59
60 void proto_register_qsig(void);
61 void proto_reg_handoff_qsig(void);
62
63 static const value_string qsig_str_ie_type_cs4[] = {
64   { QSIG_IE_TRANSIT_COUNTER , "Transit counter" },
65   { 0, NULL}
66 };
67 static const value_string qsig_str_ie_type_cs5[] = {
68   { QSIG_IE_PARTY_CATEGORY  , "Party category" },
69   { 0, NULL}
70 };
71 /* Codeset array */
72 static const value_string *qsig_str_ie_type[] = {
73   NULL,
74   NULL,
75   NULL,
76   NULL,
77   qsig_str_ie_type_cs4,
78   qsig_str_ie_type_cs5,
79   NULL,
80   NULL,
81 };
82
83
84 static const value_string qsig_str_pc[] = {
85   { 0x00 , "unknown" },
86   { 0x01 , "extension" },
87   { 0x02 , "operator" },
88   { 0x03 , "emergency extension" },
89   { 0, NULL}
90 };
91
92 static const value_string qsig_str_service[] = {
93   { 13868, "QSIG-NA" },
94   { 13873, "QSIG-CF" },
95   { 13874, "QSIG-PR" },
96   { 13869, "QSIG-CT" },
97   { 13870, "QSIG-CC" },
98   { 14843, "QSIG-CO" },
99   { 14844, "QSIG-DND(O)" },
100   { 14846, "QSIG-CI" },
101   { 15050, "QSIG-AOC" },
102   { 15052, "QSIG-RE" },
103   { 15054, "QSIG-CINT" },
104   { 15506, "QSIG-MWI" },
105   { 15507, "SYNC-SIG" },
106   { 15772, "QSIG-CMN" },
107   { 15992, "QSIG-CPI(P)" },
108   { 17876, "QSIG-PUMR" },
109   { 17878, "QSIG-PUMCH" },
110   { 19460, "QSIG-SSCT" },
111   { 15429, "QSIG-WTMLR" },
112   { 15431, "QSIG-WTMCH" },
113   { 15433, "QSIG-WTMAU" },
114   { 21407, "QSIG-SD" },
115   { 21889, "QSIG-CIDL" },
116   {   325, "QSIG-SMS" },
117   {   344, "QSIG-MCR" },
118   {  3471, "QSIG-MCM" },
119   {  3472, "QSIG-MID" },
120   {   0, NULL}
121 };
122
123 static const value_string qsig_str_service_name[] = {
124   { 13868, "Name-Operations" },
125   { 13873, "Call-Diversion-Operations" },
126   { 13874, "Path-Replacement-Operations" },
127   { 13869, "Call-Transfer-Operations" },
128   { 13870, "SS-CC-Operations" },
129   { 14843, "Call-Offer-Operations" },
130   { 14844, "Do-Not-Disturb-Operations" },
131   { 14846, "Call-Intrusion-Operations" },
132   { 15050, "SS-AOC-Operation" },
133   { 15052, "Recall-Operation" },
134   { 15054, "Call-Interception-Operations" },
135   { 15506, "SS-MWI-Operations" },
136   { 15507, "Synchronization-Operations" },
137   { 15772, "Common-Information-Operations" },
138   { 15992, "Call-Interruption-Operation" },
139   { 17876, "PUM-Registration-Operation" },
140   { 17878, "Private-User-Mobility-Call-Handling-Operations" },
141   { 19460, "Single-Step-Call-Transfer-Operations" },
142   { 15429, "WTM-Location-Registration-Operations" },
143   { 15431, "Wireless-Terminal-Call-Handling-Operations" },
144   { 15433, "WTM-Authentication-Operations" },
145   { 21407, "SS-SD-Operations" },
146   { 21889, "Call-Identification-and-Call-Linkage-Operations" },
147   {   325, "Short-Message-Service-Operations" },
148   {   344, "SS-MCR-Operations" },
149   {  3471, "SS-MCM-Operations" },
150   {  3472, "SS-MID-Operations" },
151   {   0, NULL}
152 };
153
154 #define NO_SRV (-1)
155 static const gint32 op2srv_tab[] = {
156   /*   0 */ 13868,
157   /*   1 */ 13868,
158   /*   2 */ 13868,
159   /*   3 */ 13868,
160   /*   4 */ 13874,
161   /*   5 */ 13874,
162   /*   6 */ 13874,
163   /*   7 */ 13869,
164   /*   8 */ 13869,
165   /*   9 */ 13869,
166   /*  10 */ 13869,
167   /*  11 */ 13869,
168   /*  12 */ 13869,
169   /*  13 */ 13869,
170   /*  14 */ 13869,
171   /*  15 */ 13873,
172   /*  16 */ 13873,
173   /*  17 */ 13873,
174   /*  18 */ 13873,
175   /*  19 */ 13873,
176   /*  20 */ 13873,
177   /*  21 */ 13873,
178   /*  22 */ 13873,
179   /*  23 */ 13873,
180   /*  24 */ NO_SRV,
181   /*  25 */ NO_SRV,
182   /*  26 */ NO_SRV,
183   /*  27 */ 13870,
184   /*  28 */ 13870,
185   /*  29 */ 13870,
186   /*  30 */ 13870,
187   /*  31 */ 13870,
188   /*  32 */ 13870,
189   /*  33 */ 13870,
190   /*  34 */ 14843,
191   /*  35 */ 14844,
192   /*  36 */ 14844,
193   /*  37 */ 14844,
194   /*  38 */ 14844,
195   /*  39 */ 14844,
196   /*  40 */ 13870,
197   /*  41 */ 90001,
198   /*  42 */ 90001,
199   /*  43 */ 14846,
200   /*  44 */ 14846,
201   /*  45 */ 14846,
202   /*  46 */ 14846,
203   /*  47 */ 14846,
204   /*  48 */ 14846,
205   /*  49 */ 90001,
206   /*  50 */ 15429,
207   /*  51 */ 15429,
208   /*  52 */ 15429,
209   /*  53 */ 15429,
210   /*  54 */ 15431,
211   /*  55 */ 15431,
212   /*  56 */ 15431,
213   /*  57 */ 15052,
214   /*  58 */ 15052,
215   /*  59 */ 15050,
216   /*  60 */ 15050,
217   /*  61 */ 15050,
218   /*  62 */ 15050,
219   /*  63 */ 15050,
220   /*  64 */ 15050,
221   /*  65 */ 15050,
222   /*  66 */ 15054,
223   /*  67 */ 15054,
224   /*  68 */ 15054,
225   /*  69 */ 15054,
226   /*  70 */ 15054,
227   /*  71 */ 15431,
228   /*  72 */ 15433,
229   /*  73 */ 15433,
230   /*  74 */ 15433,
231   /*  75 */ 15433,
232   /*  76 */ 15433,
233   /*  77 */ 15433,
234   /*  78 */ 15507,
235   /*  79 */ 15507,
236   /*  80 */  3471,
237   /*  81 */  3471,
238   /*  82 */  3471,
239   /*  83 */ NO_SRV,
240   /*  84 */ 15772,
241   /*  85 */ 15772,
242   /*  86 */ 13874,
243   /*  87 */ 15992,
244   /*  88 */ 15992,
245   /*  89 */ 17876,
246   /*  90 */ 17876,
247   /*  91 */ 17876,
248   /*  92 */ 17876,
249   /*  93 */ 17878,
250   /*  94 */ 17878,
251   /*  95 */ 17878,
252   /*  96 */ 17878,
253   /*  97 */ 15429,
254   /*  98 */ 15429,
255   /*  99 */ 19460,
256   /* 100 */ 19460,
257   /* 101 */ 19460,
258   /* 102 */ 19460,
259   /* 103 */ 21407,
260   /* 104 */ 21407,
261   /* 105 */ 21889,
262   /* 106 */ 21889,
263   /* 107 */   325,
264   /* 108 */   325,
265   /* 109 */   325,
266   /* 110 */   325,
267   /* 111 */   325,
268   /* 112 */   344,
269   /* 113 */   344,
270   /* 114 */   344,
271   /* 115 */  3471,
272   /* 116 */  3471,
273   /* 117 */  3471,
274   /* 118 */  3471,
275   /* 119 */  3472,
276   /* 120 */  3472,
277 };
278
279 static const value_string qsig_str_operation[] = {
280
281 /*--- Included file: packet-qsig-table10.c ---*/
282 #line 1 "../../asn1/qsig/packet-qsig-table10.c"
283
284 /* --- Module General-Error-List --- --- ---                                  */
285
286 /* Unknown or empty loop list OPERATION */
287
288 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
289
290 /* Unknown or empty loop list OPERATION */
291
292 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
293
294   {   0, "callingName" },
295   {   1, "calledName" },
296   {   2, "connectedName" },
297   {   3, "busyName" },
298
299 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
300
301   {  15, "activateDiversionQ" },
302   {  16, "deactivateDiversionQ" },
303   {  17, "interrogateDiversionQ" },
304   {  18, "checkRestriction" },
305   {  19, "callRerouteing" },
306   {  20, "divertingLegInformation1" },
307   {  21, "divertingLegInformation2" },
308   {  22, "divertingLegInformation3" },
309   {  23, "cfnrDivertedLegFailed" },
310
311 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
312
313   {  86, "pathReplaceInvite" },
314   {   4, "pathReplacePropose" },
315   {   5, "pathReplaceSetup" },
316   {   6, "pathReplaceRetain" },
317
318 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
319
320   {   7, "callTransferIdentify" },
321   {   8, "callTransferAbandon" },
322   {   9, "callTransferInitiate" },
323   {  10, "callTransferSetup" },
324   {  11, "callTransferActive" },
325   {  12, "callTransferComplete" },
326   {  13, "callTransferUpdate" },
327   {  14, "subaddressTransfer" },
328
329 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
330
331   {  40, "ccbsRequest" },
332   {  27, "ccnrRequest" },
333   {  28, "ccCancel" },
334   {  29, "ccExecPossible" },
335   {  30, "ccPathReserve" },
336   {  31, "ccRingout" },
337   {  32, "ccSuspend" },
338   {  33, "ccResume" },
339
340 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
341
342   {  41, "pathRetain" },
343   {  42, "serviceAvailable" },
344   {  34, "callOfferRequest" },
345   {  49, "cfbOverride" },
346
347 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
348
349   {  35, "doNotDisturbActivateQ" },
350   {  36, "doNotDisturbDeactivateQ" },
351   {  37, "doNotDisturbInterrogateQ" },
352   {  38, "doNotDisturbOverrideQ" },
353   {  41, "pathRetain" },
354   {  42, "serviceAvailable" },
355   {  39, "doNotDisturbOvrExecuteQ" },
356
357 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
358
359   {  41, "pathRetain" },
360   {  42, "serviceAvailable" },
361   {  43, "callIntrusionRequest" },
362   {  44, "callIntrusionGetCIPL" },
363   {  46, "callIntrusionForcedRelease" },
364   {  45, "callIntrusionIsolate" },
365   {  47, "callIntrusionWOBRequest" },
366   {  48, "callIntrusionCompleted" },
367   {  49, "cfbOverride" },
368
369 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
370
371   {  63, "aocRate" },
372   {  62, "aocInterim" },
373   {  61, "aocFinal" },
374   {  59, "chargeRequest" },
375   {  60, "getFinalCharge" },
376   {  64, "aocComplete" },
377   {  65, "aocDivChargeReq" },
378
379 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
380
381   {  57, "recallAlerting" },
382   {  58, "recallAnswered" },
383
384 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
385
386   {  78, "synchronizationRequest" },
387   {  79, "synchronizationInfo" },
388
389 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
390
391   {  66, "cintLegInformation1" },
392   {  67, "cintLegInformation2" },
393   {  68, "cintCondition" },
394   {  69, "cintDisable" },
395   {  70, "cintEnable" },
396
397 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
398
399   {  84, "cmnRequest" },
400   {  85, "cmnInform" },
401
402 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
403
404   {  87, "callInterruptionRequest" },
405   {  88, "callProtectionRequest" },
406
407 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
408
409   {  89, "pumRegistr" },
410   {  90, "pumDelReg" },
411   {  91, "pumDe-reg" },
412   {  92, "pumInterrog" },
413
414 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
415
416   {  93, "pumiEnquiry" },
417   {  94, "pumiDivert" },
418   {  95, "pumiInform" },
419   {  96, "pumoCall" },
420
421 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
422
423   {  99, "ssctInitiate" },
424   { 100, "ssctSetup" },
425   { 101, "ssctPostDial" },
426   { 102, "ssctDigitInfo" },
427
428 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
429
430   {  50, "locUpdate" },
431   {  51, "locDelete" },
432   {  52, "locDeReg" },
433   {  53, "pisnEnquiry" },
434   {  97, "getRRCInf" },
435   {  98, "locInfoCheck" },
436
437 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
438
439   {  54, "wtmiEnquiry" },
440   {  55, "wtmiDivert" },
441   {  56, "wtmiInform" },
442   {  71, "wtmoCall" },
443
444 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
445
446   {  72, "authWtmUser" },
447   {  73, "getWtatParam" },
448   {  74, "wtatParamEnq" },
449   {  75, "getWtanParam" },
450   {  76, "wtanParamEnq" },
451   {  77, "transferAuthParam" },
452
453 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
454
455   { 103, "display" },
456   { 104, "keypad" },
457
458 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
459
460   { 105, "callIdentificationAssign" },
461   { 106, "callIdentificationUpdate" },
462
463 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
464
465   { 107, "smsSubmit" },
466   { 108, "smsDeliver" },
467   { 109, "smsStatusReport" },
468   { 110, "smsCommand" },
469   { 111, "scAlert" },
470
471 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
472
473   { 112, "mCRequest" },
474   { 113, "mCInform" },
475   { 114, "mCAlerting" },
476
477 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
478
479   {  80, "mCMNewMsg" },
480   {  81, "mCMNoNewMsg" },
481   { 115, "mCMUpdate" },
482   {  82, "mCMUpdateReq" },
483   { 116, "mCMService" },
484   { 117, "mCMInterrogate" },
485   { 118, "mCMailboxFull" },
486
487 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
488
489   { 119, "mIDMailboxAuth" },
490   { 120, "mIDMailboxID" },
491
492 /*--- End of included file: packet-qsig-table10.c ---*/
493 #line 273 "../../asn1/qsig/packet-qsig-template.c"
494   {   0, NULL}
495 };
496
497 static const value_string qsig_str_error[] = {
498
499 /*--- Included file: packet-qsig-table20.c ---*/
500 #line 1 "../../asn1/qsig/packet-qsig-table20.c"
501
502 /* --- Module General-Error-List --- --- ---                                  */
503
504   {    0, "userNotSubscribed" },
505   {    1, "rejectedByNetwork" },
506   {    2, "rejectedByUser" },
507   {    3, "notAvailable" },
508   {    5, "insufficientInformation" },
509   {    6, "invalidServedUserNr" },
510   {    7, "invalidCallState" },
511   {    8, "basicServiceNotProvided" },
512   {    9, "notIncomingCall" },
513   {   10, "supplementaryServiceInteractionNotAllowed" },
514   {   11, "resourceUnavailable" },
515   {   25, "callFailure" },
516   {   43, "proceduralError" },
517
518 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
519
520 /* Unknown or empty loop list ERROR */
521
522 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
523
524 /* Unknown or empty loop list ERROR */
525
526 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
527
528   {   12, "invalidDivertedToNr" },
529   {   14, "specialServiceNr" },
530   {   15, "diversionToServedUserNr" },
531   {   24, "numberOfDiversionsExceeded" },
532   { 1000, "temporarilyUnavailable" },
533   { 1007, "notAuthorized" },
534   { 1008, "unspecified" },
535
536 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
537
538   { 1000, "temporarilyUnavailable" },
539   { 1001, "collision" },
540   { 1002, "criteriaPermanentlyUnachievable" },
541   { 1003, "criteriaTemporarilyUnachievable" },
542   { 1004, "invalidRerouteingNumber" },
543   { 1005, "unrecognizedCallIdentity" },
544   { 1006, "establishmentFailure" },
545   { 1008, "unspecified" },
546
547 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
548
549   { 1008, "unspecified" },
550   { 1004, "invalidRerouteingNumber" },
551   { 1005, "unrecognizedCallIdentity" },
552   { 1006, "establishmentFailure" },
553
554 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
555
556   { 1008, "unspecified" },
557   { 1010, "shortTermRejection" },
558   { 1011, "longTermRejection" },
559   { 1012, "remoteUserBusyAgain" },
560   { 1013, "failureToMatch" },
561   { 1014, "failedDueToInterworking" },
562
563 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
564
565   { 1009, "notBusy" },
566   { 1000, "temporarilyUnavailable" },
567   { 1008, "unspecified" },
568
569 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
570
571   { 1000, "temporarilyUnavailable" },
572   {   43, "notActivated" },
573   { 1008, "unspecified" },
574
575 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
576
577   { 1009, "notBusy" },
578   { 1000, "temporarilyUnavailable" },
579   { 1007, "notAuthorized" },
580   { 1008, "unspecified" },
581
582 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
583
584   { 1008, "unspecified" },
585   { 1016, "freeOfCharge" },
586
587 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
588
589 /* Unknown or empty loop list ERROR */
590
591 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
592
593   { 1008, "unspecified" },
594
595 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
596
597 /* Unknown or empty loop list ERROR */
598
599 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
600
601 /* Unknown or empty loop list ERROR */
602
603 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
604
605 /* Unknown or empty loop list ERROR */
606
607 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
608
609   { 1008, "unspecified" },
610   { 1007, "notAuthorized" },
611   { 1000, "temporarilyUnavailable" },
612   { 1019, "pumUserNotSubscribedToThisServiceOpt" },
613   { 1020, "pumUserFailedAuthentication" },
614   { 1021, "hostingAddrInvalid" },
615   { 1022, "pumUserNotRegistered" },
616
617 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
618
619   { 1015, "locationNotKnown" },
620   { 1008, "unspecified" },
621
622 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
623
624   { 1008, "unspecified" },
625
626 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
627
628   { 1007, "notAuthorized" },
629   { 1000, "temporarilyUnavailable" },
630   { 1008, "unspecified" },
631
632 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
633
634   { 1008, "unspecified" },
635   { 1015, "locationNotKnown" },
636
637 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
638
639   { 1007, "notAuthorized" },
640   { 1017, "paramNotAvailable" },
641   { 1000, "temporarilyUnavailable" },
642   { 1008, "unspecified" },
643
644 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
645
646   { 1008, "unspecified" },
647   { 1023, "noDisplayAvailable" },
648   { 1024, "displayTemporarilyNotAvailable" },
649   { 1025, "notPresentable" },
650
651 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
652
653 /* Unknown or empty loop list ERROR */
654
655 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
656
657   { 1026, "smsDeliverError" },
658   { 1027, "smsSubmitError" },
659   { 1028, "smsStatusReportError" },
660   { 1029, "smsCommandError" },
661   { 1008, "unspecified" },
662
663 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
664
665   { 1030, "invalidDestinationNumber" },
666   { 1031, "invalidCooperationNumber" },
667   { 1032, "mCRequestNotAllowed" },
668   { 1033, "mCExecutionNotAllowed" },
669   { 1034, "mCDestUserBusy" },
670   { 1035, "mCCoopUserBusy" },
671   { 1036, "mCCoopUserRejected" },
672   { 1008, "unspecified" },
673
674 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
675
676   { 1037, "mCMModeNotProvided" },
677   { 1008, "unspecified" },
678
679 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
680
681   { 1039, "invalidMailbox" },
682   { 1040, "authorizationFailed" },
683   { 1008, "unspecified" },
684
685 /*--- End of included file: packet-qsig-table20.c ---*/
686 #line 278 "../../asn1/qsig/packet-qsig-template.c"
687   {   0, NULL}
688 };
689
690 /* Initialize the protocol and registered fields */
691 static int proto_qsig = -1;
692 static int hf_qsig_operation = -1;
693 static int hf_qsig_service = -1;
694 static int hf_qsig_error = -1;
695 static int hf_qsig_ie_type = -1;
696 static int hf_qsig_ie_type_cs4 = -1;
697 static int hf_qsig_ie_type_cs5 = -1;
698 static int hf_qsig_ie_len = -1;
699 static int hf_qsig_ie_data = -1;
700 static int hf_qsig_tc = -1;
701 static int hf_qsig_pc = -1;
702
703 /*--- Included file: packet-qsig-hf.c ---*/
704 #line 1 "../../asn1/qsig/packet-qsig-hf.c"
705
706 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
707
708 static int hf_qsig_extensionId = -1;              /* T_extensionId */
709 static int hf_qsig_extensionArgument = -1;        /* T_extensionArgument */
710 static int hf_qsig_presentationAllowedAddressS = -1;  /* AddressScreened */
711 static int hf_qsig_presentationRestricted = -1;   /* NULL */
712 static int hf_qsig_numberNotAvailableDueToInterworking = -1;  /* NULL */
713 static int hf_qsig_presentationRestrictedAddressS = -1;  /* AddressScreened */
714 static int hf_qsig_presentationAllowedAddressU = -1;  /* Address */
715 static int hf_qsig_presentationRestrictedAddressU = -1;  /* Address */
716 static int hf_qsig_presentationAllowedAddressNS = -1;  /* NumberScreened */
717 static int hf_qsig_presentationRestrictedAddressNS = -1;  /* NumberScreened */
718 static int hf_qsig_presentationAllowedAddressNU = -1;  /* PartyNumber */
719 static int hf_qsig_presentationRestrictedAddressNU = -1;  /* PartyNumber */
720 static int hf_qsig_partyNumber = -1;              /* PartyNumber */
721 static int hf_qsig_screeningIndicator = -1;       /* ScreeningIndicator */
722 static int hf_qsig_partySubaddress = -1;          /* PartySubaddress */
723 static int hf_qsig_unknownPartyNumber = -1;       /* NumberDigits */
724 static int hf_qsig_publicPartyNumber = -1;        /* PublicPartyNumber */
725 static int hf_qsig_dataPartyNumber = -1;          /* NumberDigits */
726 static int hf_qsig_telexPartyNumber = -1;         /* NumberDigits */
727 static int hf_qsig_privatePartyNumber = -1;       /* PrivatePartyNumber */
728 static int hf_qsig_nationalStandardPartyNumber = -1;  /* NumberDigits */
729 static int hf_qsig_publicTypeOfNumber = -1;       /* PublicTypeOfNumber */
730 static int hf_qsig_publicNumberDigits = -1;       /* NumberDigits */
731 static int hf_qsig_privateTypeOfNumber = -1;      /* PrivateTypeOfNumber */
732 static int hf_qsig_privateNumberDigits = -1;      /* NumberDigits */
733 static int hf_qsig_userSpecifiedSubaddress = -1;  /* UserSpecifiedSubaddress */
734 static int hf_qsig_nSAPSubaddress = -1;           /* NSAPSubaddress */
735 static int hf_qsig_subaddressInformation = -1;    /* SubaddressInformation */
736 static int hf_qsig_oddCountIndicator = -1;        /* BOOLEAN */
737
738 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
739
740 static int hf_qsig_na_qsig_na_NameArg_PDU = -1;   /* NameArg */
741 static int hf_qsig_na_name = -1;                  /* Name */
742 static int hf_qsig_na_nameSequence = -1;          /* T_nameSequence */
743 static int hf_qsig_na_extensionNA = -1;           /* NameExtension */
744 static int hf_qsig_na_single = -1;                /* Extension */
745 static int hf_qsig_na_multiple = -1;              /* SEQUENCE_OF_Extension */
746 static int hf_qsig_na_multiple_item = -1;         /* Extension */
747 static int hf_qsig_na_namePresentationAllowed = -1;  /* NamePresentationAllowed */
748 static int hf_qsig_na_namePresentationRestricted = -1;  /* NamePresentationRestricted */
749 static int hf_qsig_na_nameNotAvailable = -1;      /* NameNotAvailable */
750 static int hf_qsig_na_namePresentationAllowedSimple = -1;  /* NameData */
751 static int hf_qsig_na_namePresentationAllowedExtended = -1;  /* NameSet */
752 static int hf_qsig_na_namePresentationRestrictedSimple = -1;  /* NameData */
753 static int hf_qsig_na_namePresentationRestrictedExtended = -1;  /* NameSet */
754 static int hf_qsig_na_namePresentationRestrictedNull = -1;  /* NULL */
755 static int hf_qsig_na_nameData = -1;              /* NameData */
756 static int hf_qsig_na_characterSet = -1;          /* CharacterSet */
757
758 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
759
760 static int hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU = -1;  /* ARG_activateDiversionQ */
761 static int hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU = -1;  /* RES_activateDiversionQ */
762 static int hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU = -1;  /* ARG_deactivateDiversionQ */
763 static int hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU = -1;  /* RES_deactivateDiversionQ */
764 static int hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU = -1;  /* ARG_interrogateDiversionQ */
765 static int hf_qsig_cf_qsig_cf_IntResultList_PDU = -1;  /* IntResultList */
766 static int hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU = -1;  /* ARG_checkRestriction */
767 static int hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU = -1;  /* RES_checkRestriction */
768 static int hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU = -1;  /* ARG_callRerouteing */
769 static int hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU = -1;  /* RES_callRerouteing */
770 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU = -1;  /* ARG_divertingLegInformation1 */
771 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU = -1;  /* ARG_divertingLegInformation2 */
772 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU = -1;  /* ARG_divertingLegInformation3 */
773 static int hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU = -1;  /* ARG_cfnrDivertedLegFailed */
774 static int hf_qsig_cf_qsig_cf_Extension_PDU = -1;  /* Extension */
775 static int hf_qsig_cf_procedure = -1;             /* Procedure */
776 static int hf_qsig_cf_basicService = -1;          /* BasicService */
777 static int hf_qsig_cf_divertedToAddress = -1;     /* Address */
778 static int hf_qsig_cf_servedUserNr = -1;          /* PartyNumber */
779 static int hf_qsig_cf_activatingUserNr = -1;      /* PartyNumber */
780 static int hf_qsig_cf_extensionAD = -1;           /* ADExtension */
781 static int hf_qsig_cf_single = -1;                /* Extension */
782 static int hf_qsig_cf_multiple = -1;              /* SEQUENCE_OF_Extension */
783 static int hf_qsig_cf_multiple_item = -1;         /* Extension */
784 static int hf_qsig_cf_null = -1;                  /* NULL */
785 static int hf_qsig_cf_deactivatingUserNr = -1;    /* PartyNumber */
786 static int hf_qsig_cf_extensionDD = -1;           /* DDExtension */
787 static int hf_qsig_cf_interrogatingUserNr = -1;   /* PartyNumber */
788 static int hf_qsig_cf_extensionID = -1;           /* IDExtension */
789 static int hf_qsig_cf_divertedToNr = -1;          /* PartyNumber */
790 static int hf_qsig_cf_extensionCHR = -1;          /* CHRExtension */
791 static int hf_qsig_cf_rerouteingReason = -1;      /* DiversionReason */
792 static int hf_qsig_cf_originalRerouteingReason = -1;  /* DiversionReason */
793 static int hf_qsig_cf_calledAddress = -1;         /* Address */
794 static int hf_qsig_cf_diversionCounter = -1;      /* INTEGER_1_15 */
795 static int hf_qsig_cf_pSS1InfoElement = -1;       /* PSS1InformationElement */
796 static int hf_qsig_cf_lastRerouteingNr = -1;      /* PresentedNumberUnscreened */
797 static int hf_qsig_cf_subscriptionOption = -1;    /* SubscriptionOption */
798 static int hf_qsig_cf_callingPartySubaddress = -1;  /* PartySubaddress */
799 static int hf_qsig_cf_callingNumber = -1;         /* PresentedNumberScreened */
800 static int hf_qsig_cf_callingName = -1;           /* Name */
801 static int hf_qsig_cf_originalCalledNr = -1;      /* PresentedNumberUnscreened */
802 static int hf_qsig_cf_redirectingName = -1;       /* Name */
803 static int hf_qsig_cf_originalCalledName = -1;    /* Name */
804 static int hf_qsig_cf_extensionCRR = -1;          /* CRRExtension */
805 static int hf_qsig_cf_diversionReason = -1;       /* DiversionReason */
806 static int hf_qsig_cf_nominatedNr = -1;           /* PartyNumber */
807 static int hf_qsig_cf_extensionDLI1 = -1;         /* DLI1Extension */
808 static int hf_qsig_cf_originalDiversionReason = -1;  /* DiversionReason */
809 static int hf_qsig_cf_divertingNr = -1;           /* PresentedNumberUnscreened */
810 static int hf_qsig_cf_extensionDLI2 = -1;         /* DLI2Extension */
811 static int hf_qsig_cf_presentationAllowedIndicator = -1;  /* PresentationAllowedIndicator */
812 static int hf_qsig_cf_redirectionName = -1;       /* Name */
813 static int hf_qsig_cf_extensionDLI3 = -1;         /* DLI3Extension */
814 static int hf_qsig_cf_IntResultList_item = -1;    /* IntResult */
815 static int hf_qsig_cf_remoteEnabled = -1;         /* BOOLEAN */
816 static int hf_qsig_cf_extensionIR = -1;           /* IRExtension */
817
818 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
819
820 static int hf_qsig_pr_qsig_pr_DummyArg_PDU = -1;  /* DummyArg */
821 static int hf_qsig_pr_qsig_pr_PRProposeArg_PDU = -1;  /* PRProposeArg */
822 static int hf_qsig_pr_qsig_pr_PRSetupArg_PDU = -1;  /* PRSetupArg */
823 static int hf_qsig_pr_qsig_pr_DummyResult_PDU = -1;  /* DummyResult */
824 static int hf_qsig_pr_qsig_pr_PRRetainArg_PDU = -1;  /* PRRetainArg */
825 static int hf_qsig_pr_qsig_pr_Extension_PDU = -1;  /* Extension */
826 static int hf_qsig_pr_callIdentity = -1;          /* CallIdentity */
827 static int hf_qsig_pr_rerouteingNumber = -1;      /* PartyNumber */
828 static int hf_qsig_pr_extensionPRP = -1;          /* PRPExtension */
829 static int hf_qsig_pr_single = -1;                /* Extension */
830 static int hf_qsig_pr_multiple = -1;              /* SEQUENCE_OF_Extension */
831 static int hf_qsig_pr_multiple_item = -1;         /* Extension */
832 static int hf_qsig_pr_extensionPRS = -1;          /* PRSExtension */
833 static int hf_qsig_pr_extensionPRR = -1;          /* PRRExtension */
834 static int hf_qsig_pr_null = -1;                  /* NULL */
835
836 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
837
838 static int hf_qsig_ct_qsig_ct_DummyArg_PDU = -1;  /* DummyArg */
839 static int hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU = -1;  /* CTIdentifyRes */
840 static int hf_qsig_ct_qsig_ct_CTInitiateArg_PDU = -1;  /* CTInitiateArg */
841 static int hf_qsig_ct_qsig_ct_DummyRes_PDU = -1;  /* DummyRes */
842 static int hf_qsig_ct_qsig_ct_CTSetupArg_PDU = -1;  /* CTSetupArg */
843 static int hf_qsig_ct_qsig_ct_CTActiveArg_PDU = -1;  /* CTActiveArg */
844 static int hf_qsig_ct_qsig_ct_CTCompleteArg_PDU = -1;  /* CTCompleteArg */
845 static int hf_qsig_ct_qsig_ct_CTUpdateArg_PDU = -1;  /* CTUpdateArg */
846 static int hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU = -1;  /* SubaddressTransferArg */
847 static int hf_qsig_ct_qsig_ct_Extension_PDU = -1;  /* Extension */
848 static int hf_qsig_ct_null = -1;                  /* NULL */
849 static int hf_qsig_ct_single = -1;                /* Extension */
850 static int hf_qsig_ct_multiple = -1;              /* SEQUENCE_OF_Extension */
851 static int hf_qsig_ct_multiple_item = -1;         /* Extension */
852 static int hf_qsig_ct_callIdentity = -1;          /* CallIdentity */
853 static int hf_qsig_ct_rerouteingNumber = -1;      /* PartyNumber */
854 static int hf_qsig_ct_resultExtension = -1;       /* T_resultExtension */
855 static int hf_qsig_ct_argumentExtensionCTI = -1;  /* CTIargumentExtension */
856 static int hf_qsig_ct_argumentExtensionCTS = -1;  /* CTSargumentExtension */
857 static int hf_qsig_ct_connectedAddress = -1;      /* PresentedAddressScreened */
858 static int hf_qsig_ct_basicCallInfoElements = -1;  /* PSS1InformationElement */
859 static int hf_qsig_ct_connectedName = -1;         /* Name */
860 static int hf_qsig_ct_argumentExtensionCTA = -1;  /* CTAargumentExtension */
861 static int hf_qsig_ct_endDesignation = -1;        /* EndDesignation */
862 static int hf_qsig_ct_redirectionNumber = -1;     /* PresentedNumberScreened */
863 static int hf_qsig_ct_redirectionName = -1;       /* Name */
864 static int hf_qsig_ct_callStatus = -1;            /* CallStatus */
865 static int hf_qsig_ct_argumentExtensionCTC = -1;  /* CTCargumentExtension */
866 static int hf_qsig_ct_argumentExtensionCTU = -1;  /* CTUargumentExtension */
867 static int hf_qsig_ct_redirectionSubaddress = -1;  /* PartySubaddress */
868 static int hf_qsig_ct_argumentExtensionST = -1;   /* STargumentExtension */
869
870 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
871
872 static int hf_qsig_cc_qsig_cc_CcRequestArg_PDU = -1;  /* CcRequestArg */
873 static int hf_qsig_cc_qsig_cc_CcRequestRes_PDU = -1;  /* CcRequestRes */
874 static int hf_qsig_cc_qsig_cc_CcOptionalArg_PDU = -1;  /* CcOptionalArg */
875 static int hf_qsig_cc_qsig_cc_CcExtension_PDU = -1;  /* CcExtension */
876 static int hf_qsig_cc_qsig_cc_Extension_PDU = -1;  /* Extension */
877 static int hf_qsig_cc_numberA = -1;               /* PresentedNumberUnscreened */
878 static int hf_qsig_cc_numberB = -1;               /* PartyNumber */
879 static int hf_qsig_cc_service = -1;               /* PSS1InformationElement */
880 static int hf_qsig_cc_subaddrA = -1;              /* PartySubaddress */
881 static int hf_qsig_cc_subaddrB = -1;              /* PartySubaddress */
882 static int hf_qsig_cc_can_retain_service = -1;    /* BOOLEAN */
883 static int hf_qsig_cc_retain_sig_connection = -1;  /* BOOLEAN */
884 static int hf_qsig_cc_extension = -1;             /* CcExtension */
885 static int hf_qsig_cc_no_path_reservation = -1;   /* BOOLEAN */
886 static int hf_qsig_cc_retain_service = -1;        /* BOOLEAN */
887 static int hf_qsig_cc_fullArg = -1;               /* T_fullArg */
888 static int hf_qsig_cc_numberA_01 = -1;            /* PartyNumber */
889 static int hf_qsig_cc_extArg = -1;                /* CcExtension */
890 static int hf_qsig_cc_none = -1;                  /* NULL */
891 static int hf_qsig_cc_single = -1;                /* Extension */
892 static int hf_qsig_cc_multiple = -1;              /* SEQUENCE_OF_Extension */
893 static int hf_qsig_cc_multiple_item = -1;         /* Extension */
894
895 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
896
897 static int hf_qsig_co_qsig_co_PathRetainArg_PDU = -1;  /* PathRetainArg */
898 static int hf_qsig_co_qsig_co_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
899 static int hf_qsig_co_qsig_co_DummyArg_PDU = -1;  /* DummyArg */
900 static int hf_qsig_co_qsig_co_DummyRes_PDU = -1;  /* DummyRes */
901 static int hf_qsig_co_qsig_co_Extension_PDU = -1;  /* Extension */
902 static int hf_qsig_co_serviceList = -1;           /* ServiceList */
903 static int hf_qsig_co_extendedServiceList = -1;   /* T_extendedServiceList */
904 static int hf_qsig_co_extension = -1;             /* Extension */
905 static int hf_qsig_co_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
906 static int hf_qsig_co_null = -1;                  /* NULL */
907 static int hf_qsig_co_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
908 static int hf_qsig_co_sequenceOfExtn_item = -1;   /* Extension */
909 /* named bits */
910 static int hf_qsig_co_ServiceList_callOffer = -1;
911
912 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
913
914 static int hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU = -1;  /* DNDActivateArg */
915 static int hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU = -1;  /* DNDActivateRes */
916 static int hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU = -1;  /* DNDDeactivateArg */
917 static int hf_qsig_dnd_qsig_dnd_DummyRes_PDU = -1;  /* DummyRes */
918 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU = -1;  /* DNDInterrogateArg */
919 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU = -1;  /* DNDInterrogateRes */
920 static int hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU = -1;  /* DNDOverrideArg */
921 static int hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU = -1;  /* PathRetainArg */
922 static int hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
923 static int hf_qsig_dnd_qsig_dnd_DummyArg_PDU = -1;  /* DummyArg */
924 static int hf_qsig_dnd_qsig_dnd_Extension_PDU = -1;  /* Extension */
925 static int hf_qsig_dnd_null = -1;                 /* NULL */
926 static int hf_qsig_dnd_extension = -1;            /* Extension */
927 static int hf_qsig_dnd_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
928 static int hf_qsig_dnd_sequenceOfExtn_item = -1;  /* Extension */
929 static int hf_qsig_dnd_basicService = -1;         /* BasicService */
930 static int hf_qsig_dnd_servedUserNr = -1;         /* PartyNumber */
931 static int hf_qsig_dnd_argumentExtensionDNDA = -1;  /* DNDAargumentExtension */
932 static int hf_qsig_dnd_status = -1;               /* T_status */
933 static int hf_qsig_dnd_status_item = -1;          /* T_status_item */
934 static int hf_qsig_dnd_dndProtectionLevel = -1;   /* DNDProtectionLevel */
935 static int hf_qsig_dnd_resultExtension = -1;      /* T_resultExtension */
936 static int hf_qsig_dnd_argumentExtensionDNDD = -1;  /* DNDDargumentExtension */
937 static int hf_qsig_dnd_argumentExtensionDNDI = -1;  /* DNDIargumentExtension */
938 static int hf_qsig_dnd_status_01 = -1;            /* T_status_01 */
939 static int hf_qsig_dnd_status_item_01 = -1;       /* T_status_item_01 */
940 static int hf_qsig_dnd_resultExtension_01 = -1;   /* T_resultExtension_01 */
941 static int hf_qsig_dnd_dndoCapabilityLevel = -1;  /* DNDOCapabilityLevel */
942 static int hf_qsig_dnd_argumentExtensionDNDO = -1;  /* DNDOargumentExtension */
943 static int hf_qsig_dnd_serviceList = -1;          /* ServiceList */
944 static int hf_qsig_dnd_extendedServiceList = -1;  /* T_extendedServiceList */
945 static int hf_qsig_dnd_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
946 /* named bits */
947 static int hf_qsig_dnd_ServiceList_dndo_low = -1;
948 static int hf_qsig_dnd_ServiceList_dndo_medium = -1;
949 static int hf_qsig_dnd_ServiceList_dndo_high = -1;
950
951 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
952
953 static int hf_qsig_ci_qsig_ci_PathRetainArg_PDU = -1;  /* PathRetainArg */
954 static int hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
955 static int hf_qsig_ci_qsig_ci_CIRequestArg_PDU = -1;  /* CIRequestArg */
956 static int hf_qsig_ci_qsig_ci_CIRequestRes_PDU = -1;  /* CIRequestRes */
957 static int hf_qsig_ci_qsig_ci_DummyArg_PDU = -1;  /* DummyArg */
958 static int hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU = -1;  /* CIGetCIPLRes */
959 static int hf_qsig_ci_qsig_ci_DummyRes_PDU = -1;  /* DummyRes */
960 static int hf_qsig_ci_qsig_ci_Extension_PDU = -1;  /* Extension */
961 static int hf_qsig_ci_serviceList = -1;           /* ServiceList */
962 static int hf_qsig_ci_extendedServiceList = -1;   /* T_extendedServiceList */
963 static int hf_qsig_ci_extension = -1;             /* Extension */
964 static int hf_qsig_ci_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
965 static int hf_qsig_ci_null = -1;                  /* NULL */
966 static int hf_qsig_ci_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
967 static int hf_qsig_ci_sequenceOfExtn_item = -1;   /* Extension */
968 static int hf_qsig_ci_ciCapabilityLevel = -1;     /* CICapabilityLevel */
969 static int hf_qsig_ci_argumentExtension = -1;     /* T_argumentExtension */
970 static int hf_qsig_ci_ciUnwantedUserStatus = -1;  /* CIUnwantedUserStatus */
971 static int hf_qsig_ci_resultExtension = -1;       /* T_resultExtension */
972 static int hf_qsig_ci_ciProtectionLevel = -1;     /* CIProtectionLevel */
973 static int hf_qsig_ci_resultExtension_01 = -1;    /* T_resultExtension_01 */
974 /* named bits */
975 static int hf_qsig_ci_ServiceList_ci_low = -1;
976 static int hf_qsig_ci_ServiceList_ci_medium = -1;
977 static int hf_qsig_ci_ServiceList_ci_high = -1;
978
979 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
980
981 static int hf_qsig_aoc_qsig_aoc_AocRateArg_PDU = -1;  /* AocRateArg */
982 static int hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU = -1;  /* AocInterimArg */
983 static int hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU = -1;  /* AocFinalArg */
984 static int hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU = -1;  /* ChargeRequestArg */
985 static int hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU = -1;  /* ChargeRequestRes */
986 static int hf_qsig_aoc_qsig_aoc_DummyArg_PDU = -1;  /* DummyArg */
987 static int hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU = -1;  /* AocCompleteArg */
988 static int hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU = -1;  /* AocCompleteRes */
989 static int hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU = -1;  /* AocDivChargeReqArg */
990 static int hf_qsig_aoc_qsig_aoc_Extension_PDU = -1;  /* Extension */
991 static int hf_qsig_aoc_aocRate = -1;              /* T_aocRate */
992 static int hf_qsig_aoc_chargeNotAvailable = -1;   /* NULL */
993 static int hf_qsig_aoc_aocSCurrencyInfoList = -1;  /* AOCSCurrencyInfoList */
994 static int hf_qsig_aoc_rateArgExtension = -1;     /* T_rateArgExtension */
995 static int hf_qsig_aoc_extension = -1;            /* Extension */
996 static int hf_qsig_aoc_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
997 static int hf_qsig_aoc_multipleExtension_item = -1;  /* Extension */
998 static int hf_qsig_aoc_interimCharge = -1;        /* T_interimCharge */
999 static int hf_qsig_aoc_freeOfCharge = -1;         /* NULL */
1000 static int hf_qsig_aoc_specificCurrency = -1;     /* T_specificCurrency */
1001 static int hf_qsig_aoc_recordedCurrency = -1;     /* RecordedCurrency */
1002 static int hf_qsig_aoc_interimBillingId = -1;     /* InterimBillingId */
1003 static int hf_qsig_aoc_interimArgExtension = -1;  /* T_interimArgExtension */
1004 static int hf_qsig_aoc_finalCharge = -1;          /* T_finalCharge */
1005 static int hf_qsig_aoc_specificCurrency_01 = -1;  /* T_specificCurrency_01 */
1006 static int hf_qsig_aoc_finalBillingId = -1;       /* FinalBillingId */
1007 static int hf_qsig_aoc_chargingAssociation = -1;  /* ChargingAssociation */
1008 static int hf_qsig_aoc_finalArgExtension = -1;    /* T_finalArgExtension */
1009 static int hf_qsig_aoc_AOCSCurrencyInfoList_item = -1;  /* AOCSCurrencyInfo */
1010 static int hf_qsig_aoc_chargedItem = -1;          /* ChargedItem */
1011 static int hf_qsig_aoc_rateType = -1;             /* T_rateType */
1012 static int hf_qsig_aoc_durationCurrency = -1;     /* DurationCurrency */
1013 static int hf_qsig_aoc_flatRateCurrency = -1;     /* FlatRateCurrency */
1014 static int hf_qsig_aoc_volumeRateCurrency = -1;   /* VolumeRateCurrency */
1015 static int hf_qsig_aoc_specialChargingCode = -1;  /* SpecialChargingCode */
1016 static int hf_qsig_aoc_currencyInfoNotAvailable = -1;  /* NULL */
1017 static int hf_qsig_aoc_freeOfChargefromBeginning = -1;  /* NULL */
1018 static int hf_qsig_aoc_dCurrency = -1;            /* Currency */
1019 static int hf_qsig_aoc_dAmount = -1;              /* Amount */
1020 static int hf_qsig_aoc_dChargingType = -1;        /* ChargingType */
1021 static int hf_qsig_aoc_dTime = -1;                /* Time */
1022 static int hf_qsig_aoc_dGranularity = -1;         /* Time */
1023 static int hf_qsig_aoc_fRCurrency = -1;           /* Currency */
1024 static int hf_qsig_aoc_fRAmount = -1;             /* Amount */
1025 static int hf_qsig_aoc_vRCurrency = -1;           /* Currency */
1026 static int hf_qsig_aoc_vRAmount = -1;             /* Amount */
1027 static int hf_qsig_aoc_vRVolumeUnit = -1;         /* VolumeUnit */
1028 static int hf_qsig_aoc_rCurrency = -1;            /* Currency */
1029 static int hf_qsig_aoc_rAmount = -1;              /* Amount */
1030 static int hf_qsig_aoc_currencyAmount = -1;       /* CurrencyAmount */
1031 static int hf_qsig_aoc_multiplier = -1;           /* Multiplier */
1032 static int hf_qsig_aoc_lengthOfTimeUnit = -1;     /* LengthOfTimeUnit */
1033 static int hf_qsig_aoc_scale = -1;                /* Scale */
1034 static int hf_qsig_aoc_chargeNumber = -1;         /* PartyNumber */
1035 static int hf_qsig_aoc_chargeIdentifier = -1;     /* ChargeIdentifier */
1036 static int hf_qsig_aoc_adviceModeCombinations = -1;  /* SEQUENCE_SIZE_0_7_OF_AdviceModeCombination */
1037 static int hf_qsig_aoc_adviceModeCombinations_item = -1;  /* AdviceModeCombination */
1038 static int hf_qsig_aoc_chargeReqArgExtension = -1;  /* T_chargeReqArgExtension */
1039 static int hf_qsig_aoc_adviceModeCombination = -1;  /* AdviceModeCombination */
1040 static int hf_qsig_aoc_chargeReqResExtension = -1;  /* T_chargeReqResExtension */
1041 static int hf_qsig_aoc_none = -1;                 /* NULL */
1042 static int hf_qsig_aoc_chargedUser = -1;          /* PartyNumber */
1043 static int hf_qsig_aoc_completeArgExtension = -1;  /* T_completeArgExtension */
1044 static int hf_qsig_aoc_chargingOption = -1;       /* ChargingOption */
1045 static int hf_qsig_aoc_completeResExtension = -1;  /* T_completeResExtension */
1046 static int hf_qsig_aoc_divertingUser = -1;        /* PartyNumber */
1047 static int hf_qsig_aoc_diversionType = -1;        /* DiversionType */
1048 static int hf_qsig_aoc_aocDivChargeReqArgExt = -1;  /* T_aocDivChargeReqArgExt */
1049
1050 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1051
1052 static int hf_qsig_re_qsig_re_ReAlertingArg_PDU = -1;  /* ReAlertingArg */
1053 static int hf_qsig_re_qsig_re_ReAnswerArg_PDU = -1;  /* ReAnswerArg */
1054 static int hf_qsig_re_alertedNumber = -1;         /* PresentedNumberScreened */
1055 static int hf_qsig_re_alertedName = -1;           /* Name */
1056 static int hf_qsig_re_argumentExtension = -1;     /* T_argumentExtension */
1057 static int hf_qsig_re_extension = -1;             /* Extension */
1058 static int hf_qsig_re_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1059 static int hf_qsig_re_multipleExtension_item = -1;  /* Extension */
1060 static int hf_qsig_re_connectedNumber = -1;       /* PresentedNumberScreened */
1061 static int hf_qsig_re_connectedSubaddress = -1;   /* PartySubaddress */
1062 static int hf_qsig_re_connectedName = -1;         /* Name */
1063 static int hf_qsig_re_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1064
1065 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1066
1067 static int hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU = -1;  /* SynchronizationReqArg */
1068 static int hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU = -1;  /* SynchronizationReqRes */
1069 static int hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU = -1;  /* SynchronizationInfoArg */
1070 static int hf_qsig_sync_qsig_sync_Extension_PDU = -1;  /* Extension */
1071 static int hf_qsig_sync_action = -1;              /* Action */
1072 static int hf_qsig_sync_argExtension = -1;        /* ArgExtension */
1073 static int hf_qsig_sync_response = -1;            /* BOOLEAN */
1074 static int hf_qsig_sync_stateinfo = -1;           /* T_stateinfo */
1075 static int hf_qsig_sync_extension = -1;           /* Extension */
1076 static int hf_qsig_sync_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1077 static int hf_qsig_sync_sequOfExtn_item = -1;     /* Extension */
1078
1079 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1080
1081 static int hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU = -1;  /* CintInformation1Arg */
1082 static int hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU = -1;  /* CintInformation2Arg */
1083 static int hf_qsig_cint_qsig_cint_CintCondArg_PDU = -1;  /* CintCondArg */
1084 static int hf_qsig_cint_qsig_cint_CintExtension_PDU = -1;  /* CintExtension */
1085 static int hf_qsig_cint_interceptionCause = -1;   /* CintCause */
1086 static int hf_qsig_cint_interceptedToNumber = -1;  /* PartyNumber */
1087 static int hf_qsig_cint_extension = -1;           /* CintExtension */
1088 static int hf_qsig_cint_calledNumber = -1;        /* PresentedNumberUnscreened */
1089 static int hf_qsig_cint_originalCalledNumber = -1;  /* PresentedNumberUnscreened */
1090 static int hf_qsig_cint_calledName = -1;          /* Name */
1091 static int hf_qsig_cint_originalCalledName = -1;  /* Name */
1092 static int hf_qsig_cint_interceptionCause_01 = -1;  /* Condition */
1093 static int hf_qsig_cint_none = -1;                /* NULL */
1094 static int hf_qsig_cint_single = -1;              /* Extension */
1095 static int hf_qsig_cint_multiple = -1;            /* SEQUENCE_OF_Extension */
1096 static int hf_qsig_cint_multiple_item = -1;       /* Extension */
1097
1098 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1099
1100 static int hf_qsig_cmn_qsig_cmn_DummyArg_PDU = -1;  /* DummyArg */
1101 static int hf_qsig_cmn_qsig_cmn_CmnArg_PDU = -1;  /* CmnArg */
1102 static int hf_qsig_cmn_featureIdentifier = -1;    /* FeatureIdList */
1103 static int hf_qsig_cmn_ssDNDOprotectionLevel = -1;  /* INTEGER_0_3 */
1104 static int hf_qsig_cmn_ssCIprotectionLevel = -1;  /* INTEGER_0_3 */
1105 static int hf_qsig_cmn_equipmentIdentity = -1;    /* EquipmentId */
1106 static int hf_qsig_cmn_partyCategory = -1;        /* PartyCategory */
1107 static int hf_qsig_cmn_extension = -1;            /* T_extension */
1108 static int hf_qsig_cmn_single = -1;               /* Extension */
1109 static int hf_qsig_cmn_multiple = -1;             /* SEQUENCE_OF_Extension */
1110 static int hf_qsig_cmn_multiple_item = -1;        /* Extension */
1111 static int hf_qsig_cmn_null = -1;                 /* NULL */
1112 static int hf_qsig_cmn_nodeId = -1;               /* IA5String_SIZE_1_10 */
1113 static int hf_qsig_cmn_groupId = -1;              /* IA5String_SIZE_1_10 */
1114 static int hf_qsig_cmn_unitId = -1;               /* IA5String_SIZE_1_10 */
1115 /* named bits */
1116 static int hf_qsig_cmn_FeatureIdList_reserved = -1;
1117 static int hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported = -1;
1118 static int hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported = -1;
1119 static int hf_qsig_cmn_FeatureIdList_ssCCBSpossible = -1;
1120 static int hf_qsig_cmn_FeatureIdList_ssCCNRpossible = -1;
1121 static int hf_qsig_cmn_FeatureIdList_ssCOsupported = -1;
1122 static int hf_qsig_cmn_FeatureIdList_ssCIforcedRelease = -1;
1123 static int hf_qsig_cmn_FeatureIdList_ssCIisolation = -1;
1124 static int hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy = -1;
1125 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx = -1;
1126 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx = -1;
1127 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx = -1;
1128 static int hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx = -1;
1129 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate = -1;
1130 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed = -1;
1131 static int hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported = -1;
1132 static int hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported = -1;
1133 static int hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported = -1;
1134
1135 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1136
1137 static int hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU = -1;  /* CPIRequestArg */
1138 static int hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU = -1;  /* CPIPRequestArg */
1139 static int hf_qsig_cpi_cpiCapabilityLevel = -1;   /* CPICapabilityLevel */
1140 static int hf_qsig_cpi_argumentExtension = -1;    /* T_argumentExtension */
1141 static int hf_qsig_cpi_extension = -1;            /* Extension */
1142 static int hf_qsig_cpi_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
1143 static int hf_qsig_cpi_sequenceOfExtn_item = -1;  /* Extension */
1144 static int hf_qsig_cpi_cpiProtectionLevel = -1;   /* CPIProtectionLevel */
1145 static int hf_qsig_cpi_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1146
1147 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1148
1149 static int hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU = -1;  /* PumRegistrArg */
1150 static int hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU = -1;  /* PumRegistrRes */
1151 static int hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU = -1;  /* PumDelRegArg */
1152 static int hf_qsig_pumr_qsig_pumr_DummyRes_PDU = -1;  /* DummyRes */
1153 static int hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU = -1;  /* PumDe_regArg */
1154 static int hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU = -1;  /* PumInterrogArg */
1155 static int hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU = -1;  /* PumInterrogRes */
1156 static int hf_qsig_pumr_qsig_pumr_Extension_PDU = -1;  /* Extension */
1157 static int hf_qsig_pumr_pumRUserId = -1;          /* RpumUserId */
1158 static int hf_qsig_pumr_pumNumber = -1;           /* PartyNumber */
1159 static int hf_qsig_pumr_alternativeId = -1;       /* AlternativeId */
1160 static int hf_qsig_pumr_basicService = -1;        /* BasicService */
1161 static int hf_qsig_pumr_hostingAddr = -1;         /* PartyNumber */
1162 static int hf_qsig_pumr_activatingUserAddr = -1;  /* PartyNumber */
1163 static int hf_qsig_pumr_serviceOption = -1;       /* ServiceOption */
1164 static int hf_qsig_pumr_sessionParams = -1;       /* SessionParams */
1165 static int hf_qsig_pumr_userPin = -1;             /* T_userPin */
1166 static int hf_qsig_pumr_pumUserPin = -1;          /* UserPin */
1167 static int hf_qsig_pumr_activatingUserPin = -1;   /* UserPin */
1168 static int hf_qsig_pumr_argExtension = -1;        /* PumrExtension */
1169 static int hf_qsig_pumr_null = -1;                /* NULL */
1170 static int hf_qsig_pumr_extension = -1;           /* Extension */
1171 static int hf_qsig_pumr_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1172 static int hf_qsig_pumr_sequOfExtn_item = -1;     /* Extension */
1173 static int hf_qsig_pumr_pumXUserId = -1;          /* XpumUserId */
1174 static int hf_qsig_pumr_pumDUserId = -1;          /* DpumUserId */
1175 static int hf_qsig_pumr_userPin_01 = -1;          /* T_userPin_01 */
1176 static int hf_qsig_pumr_pumIUserId = -1;          /* IpumUserId */
1177 static int hf_qsig_pumr_homeInfoOnly = -1;        /* BOOLEAN */
1178 static int hf_qsig_pumr_userPin_02 = -1;          /* T_userPin_02 */
1179 static int hf_qsig_pumr_PumInterrogRes_item = -1;  /* PumInterrogRes_item */
1180 static int hf_qsig_pumr_interrogParams = -1;      /* SessionParams */
1181 static int hf_qsig_pumr_durationOfSession = -1;   /* INTEGER */
1182 static int hf_qsig_pumr_numberOfOutgCalls = -1;   /* INTEGER */
1183
1184 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1185
1186 static int hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1187 static int hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1188 static int hf_qsig_pumch_qsig_pumch_DivertArg_PDU = -1;  /* DivertArg */
1189 static int hf_qsig_pumch_qsig_pumch_DummyRes_PDU = -1;  /* DummyRes */
1190 static int hf_qsig_pumch_qsig_pumch_InformArg_PDU = -1;  /* InformArg */
1191 static int hf_qsig_pumch_qsig_pumch_PumoArg_PDU = -1;  /* PumoArg */
1192 static int hf_qsig_pumch_qsig_pumch_Extension_PDU = -1;  /* Extension */
1193 static int hf_qsig_pumch_pisnNumber = -1;         /* PartyNumber */
1194 static int hf_qsig_pumch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1195 static int hf_qsig_pumch_argExtension = -1;       /* PumiExtension */
1196 static int hf_qsig_pumch_hostingAddr = -1;        /* PartyNumber */
1197 static int hf_qsig_pumch_callingNumber = -1;      /* PresentedNumberScreened */
1198 static int hf_qsig_pumch_pumIdentity = -1;        /* PumIdentity */
1199 static int hf_qsig_pumch_callingUserSub = -1;     /* PartySubaddress */
1200 static int hf_qsig_pumch_callingUserName = -1;    /* Name */
1201 static int hf_qsig_pumch_pumUserSub = -1;         /* PartySubaddress */
1202 static int hf_qsig_pumch_currLocation = -1;       /* CurrLocation */
1203 static int hf_qsig_pumch_cfuActivated = -1;       /* CfuActivated */
1204 static int hf_qsig_pumch_divToAddress = -1;       /* Address */
1205 static int hf_qsig_pumch_divOptions = -1;         /* SubscriptionOption */
1206 static int hf_qsig_pumch_pumName = -1;            /* Name */
1207 static int hf_qsig_pumch_null = -1;               /* NULL */
1208 static int hf_qsig_pumch_extension = -1;          /* Extension */
1209 static int hf_qsig_pumch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1210 static int hf_qsig_pumch_sequOfExtn_item = -1;    /* Extension */
1211 static int hf_qsig_pumch_alternativeId = -1;      /* AlternativeId */
1212 static int hf_qsig_pumch_both = -1;               /* T_both */
1213 static int hf_qsig_pumch_destinationNumber = -1;  /* PartyNumber */
1214 static int hf_qsig_pumch_sendingComplete = -1;    /* NULL */
1215 static int hf_qsig_pumch_pumoaextension = -1;     /* T_pumoaextension */
1216 static int hf_qsig_pumch_single = -1;             /* Extension */
1217 static int hf_qsig_pumch_multiple = -1;           /* SEQUENCE_OF_Extension */
1218 static int hf_qsig_pumch_multiple_item = -1;      /* Extension */
1219
1220 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1221
1222 static int hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU = -1;  /* SSCTInitiateArg */
1223 static int hf_qsig_ssct_qsig_ssct_DummyRes_PDU = -1;  /* DummyRes */
1224 static int hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU = -1;  /* SSCTSetupArg */
1225 static int hf_qsig_ssct_qsig_ssct_DummyArg_PDU = -1;  /* DummyArg */
1226 static int hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU = -1;  /* SSCTDigitInfoArg */
1227 static int hf_qsig_ssct_qsig_ssct_Extension_PDU = -1;  /* Extension */
1228 static int hf_qsig_ssct_null = -1;                /* NULL */
1229 static int hf_qsig_ssct_single = -1;              /* Extension */
1230 static int hf_qsig_ssct_multiple = -1;            /* SEQUENCE_OF_Extension */
1231 static int hf_qsig_ssct_multiple_item = -1;       /* Extension */
1232 static int hf_qsig_ssct_rerouteingNumber = -1;    /* PartyNumber */
1233 static int hf_qsig_ssct_transferredAddress = -1;  /* PresentedAddressScreened */
1234 static int hf_qsig_ssct_awaitConnect = -1;        /* AwaitConnect */
1235 static int hf_qsig_ssct_transferredName = -1;     /* Name */
1236 static int hf_qsig_ssct_transferringAddress = -1;  /* PresentedAddressScreened */
1237 static int hf_qsig_ssct_transferringName = -1;    /* Name */
1238 static int hf_qsig_ssct_argumentExtensionSSCTI = -1;  /* SSCTIargumentExtension */
1239 static int hf_qsig_ssct_argumentExtensionSSCTS = -1;  /* SSCTSargumentExtension */
1240 static int hf_qsig_ssct_reroutingNumber = -1;     /* PartyNumber */
1241 static int hf_qsig_ssct_sendingComplete = -1;     /* NULL */
1242 static int hf_qsig_ssct_argumentExtensionSSCTD = -1;  /* SSCTDargumentExtension */
1243
1244 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1245
1246 static int hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU = -1;  /* LocUpdArg */
1247 static int hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU = -1;  /* DummyRes */
1248 static int hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU = -1;  /* LocDelArg */
1249 static int hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU = -1;  /* LocDeRegArg */
1250 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU = -1;  /* PisnEnqArg */
1251 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU = -1;  /* PisnEnqRes */
1252 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU = -1;  /* GetRRCInfArg */
1253 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU = -1;  /* GetRRCInfRes */
1254 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU = -1;  /* LocInfoCheckArg */
1255 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU = -1;  /* LocInfoCheckRes */
1256 static int hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU = -1;  /* Extension */
1257 static int hf_qsig_wtmlr_wtmUserId = -1;          /* WtmUserId */
1258 static int hf_qsig_wtmlr_basicService = -1;       /* BasicService */
1259 static int hf_qsig_wtmlr_visitPINX = -1;          /* PartyNumber */
1260 static int hf_qsig_wtmlr_argExtension = -1;       /* LrExtension */
1261 static int hf_qsig_wtmlr_null = -1;               /* NULL */
1262 static int hf_qsig_wtmlr_extension = -1;          /* Extension */
1263 static int hf_qsig_wtmlr_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1264 static int hf_qsig_wtmlr_sequOfExtn_item = -1;    /* Extension */
1265 static int hf_qsig_wtmlr_alternativeId = -1;      /* AlternativeId */
1266 static int hf_qsig_wtmlr_resExtension = -1;       /* LrExtension */
1267 static int hf_qsig_wtmlr_rrClass = -1;            /* RRClass */
1268 static int hf_qsig_wtmlr_checkResult = -1;        /* CheckResult */
1269 static int hf_qsig_wtmlr_pisnNumber = -1;         /* PartyNumber */
1270
1271 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1272
1273 static int hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1274 static int hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1275 static int hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU = -1;  /* DivertArg */
1276 static int hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU = -1;  /* DummyRes */
1277 static int hf_qsig_wtmch_qsig_wtmch_InformArg_PDU = -1;  /* InformArg */
1278 static int hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU = -1;  /* WtmoArg */
1279 static int hf_qsig_wtmch_qsig_wtmch_Extension_PDU = -1;  /* Extension */
1280 static int hf_qsig_wtmch_pisnNumber = -1;         /* PartyNumber */
1281 static int hf_qsig_wtmch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1282 static int hf_qsig_wtmch_argExtension = -1;       /* WtmiExtension */
1283 static int hf_qsig_wtmch_visitPINX = -1;          /* PartyNumber */
1284 static int hf_qsig_wtmch_callingNumber = -1;      /* PresentedNumberScreened */
1285 static int hf_qsig_wtmch_wtmIdentity = -1;        /* WtmIdentity */
1286 static int hf_qsig_wtmch_callingUserSub = -1;     /* PartySubaddress */
1287 static int hf_qsig_wtmch_callingName = -1;        /* Name */
1288 static int hf_qsig_wtmch_wtmUserSub = -1;         /* PartySubaddress */
1289 static int hf_qsig_wtmch_currLocation = -1;       /* CurrLocation */
1290 static int hf_qsig_wtmch_cfuActivated = -1;       /* CfuActivated */
1291 static int hf_qsig_wtmch_divToAddress = -1;       /* Address */
1292 static int hf_qsig_wtmch_divOptions = -1;         /* SubscriptionOption */
1293 static int hf_qsig_wtmch_wtmName = -1;            /* Name */
1294 static int hf_qsig_wtmch_null = -1;               /* NULL */
1295 static int hf_qsig_wtmch_extension = -1;          /* Extension */
1296 static int hf_qsig_wtmch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1297 static int hf_qsig_wtmch_sequOfExtn_item = -1;    /* Extension */
1298 static int hf_qsig_wtmch_alternativeId = -1;      /* AlternativeId */
1299 static int hf_qsig_wtmch_both = -1;               /* T_both */
1300 static int hf_qsig_wtmch_destinationNumber = -1;  /* PartyNumber */
1301 static int hf_qsig_wtmch_sendingComplete = -1;    /* NULL */
1302 static int hf_qsig_wtmch_wtmoaextension = -1;     /* T_wtmoaextension */
1303 static int hf_qsig_wtmch_single = -1;             /* Extension */
1304 static int hf_qsig_wtmch_multiple = -1;           /* SEQUENCE_OF_Extension */
1305 static int hf_qsig_wtmch_multiple_item = -1;      /* Extension */
1306
1307 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1308
1309 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU = -1;  /* AuthWtmArg */
1310 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU = -1;  /* AuthWtmRes */
1311 static int hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU = -1;  /* WtatParamArg */
1312 static int hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU = -1;  /* WtatParamRes */
1313 static int hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU = -1;  /* WtanParamArg */
1314 static int hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU = -1;  /* WtanParamRes */
1315 static int hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU = -1;  /* ARG_transferAuthParam */
1316 static int hf_qsig_wtmau_qsig_wtmau_Extension_PDU = -1;  /* Extension */
1317 static int hf_qsig_wtmau_wtmUserId = -1;          /* WtmUserId */
1318 static int hf_qsig_wtmau_calcWtatInfo = -1;       /* CalcWtatInfo */
1319 static int hf_qsig_wtmau_dummyExtension = -1;     /* DummyExtension */
1320 static int hf_qsig_wtmau_autWtmResValue = -1;     /* T_autWtmResValue */
1321 static int hf_qsig_wtmau_canCompute = -1;         /* CanCompute */
1322 static int hf_qsig_wtmau_authChallenge = -1;      /* AuthChallenge */
1323 static int hf_qsig_wtmau_wtatParamInfo = -1;      /* WtatParamInfo */
1324 static int hf_qsig_wtmau_authAlgorithm = -1;      /* AuthAlgorithm */
1325 static int hf_qsig_wtmau_pisnNumber = -1;         /* PartyNumber */
1326 static int hf_qsig_wtmau_alternativeId = -1;      /* AlternativeId */
1327 static int hf_qsig_wtmau_wtanParamInfo = -1;      /* WtanParamInfo */
1328 static int hf_qsig_wtmau_wtatParamInfoChoice = -1;  /* T_wtatParamInfoChoice */
1329 static int hf_qsig_wtmau_authSessionKeyInfo = -1;  /* AuthSessionKeyInfo */
1330 static int hf_qsig_wtmau_authKey = -1;            /* AuthKey */
1331 static int hf_qsig_wtmau_challLen = -1;           /* INTEGER_1_8 */
1332 static int hf_qsig_wtmau_calcWtanInfo = -1;       /* CalcWtanInfo */
1333 static int hf_qsig_wtmau_authSessionKey = -1;     /* AuthSessionKey */
1334 static int hf_qsig_wtmau_calculationParam = -1;   /* CalculationParam */
1335 static int hf_qsig_wtmau_CalcWtatInfo_item = -1;  /* CalcWtatInfoUnit */
1336 static int hf_qsig_wtmau_authResponse = -1;       /* AuthResponse */
1337 static int hf_qsig_wtmau_derivedCipherKey = -1;   /* DerivedCipherKey */
1338 static int hf_qsig_wtmau_extension = -1;          /* Extension */
1339 static int hf_qsig_wtmau_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1340 static int hf_qsig_wtmau_sequOfExtn_item = -1;    /* Extension */
1341 static int hf_qsig_wtmau_authAlg = -1;            /* DefinedIDs */
1342 static int hf_qsig_wtmau_param = -1;              /* T_param */
1343
1344 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1345
1346 static int hf_qsig_sd_qsig_sd_DisplayArg_PDU = -1;  /* DisplayArg */
1347 static int hf_qsig_sd_qsig_sd_KeypadArg_PDU = -1;  /* KeypadArg */
1348 static int hf_qsig_sd_qsig_sd_Extension_PDU = -1;  /* Extension */
1349 static int hf_qsig_sd_displayString = -1;         /* DisplayString */
1350 static int hf_qsig_sd_sdextension = -1;           /* SDExtension */
1351 static int hf_qsig_sd_displayStringNormal = -1;   /* BMPStringNormal */
1352 static int hf_qsig_sd_displayStringExtended = -1;  /* BMPStringExtended */
1353 static int hf_qsig_sd_keypadString = -1;          /* BMPStringNormal */
1354 static int hf_qsig_sd_extension = -1;             /* Extension */
1355 static int hf_qsig_sd_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1356 static int hf_qsig_sd_multipleExtension_item = -1;  /* Extension */
1357
1358 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1359
1360 static int hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU = -1;  /* CallIdentificationAssignArg */
1361 static int hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU = -1;  /* CallIdentificationUpdateArg */
1362 static int hf_qsig_cidl_globalCallID = -1;        /* CallIdentificationData */
1363 static int hf_qsig_cidl_threadID = -1;            /* CallIdentificationData */
1364 static int hf_qsig_cidl_legID = -1;               /* CallIdentificationData */
1365 static int hf_qsig_cidl_extensiont = -1;          /* ExtensionType */
1366 static int hf_qsig_cidl_switchingSubDomainName = -1;  /* SwitchingSubDomainName */
1367 static int hf_qsig_cidl_linkageID = -1;           /* T_linkageID */
1368 static int hf_qsig_cidl_subDomainID = -1;         /* SubDomainID */
1369 static int hf_qsig_cidl_globallyUniqueID = -1;    /* GloballyUniqueID */
1370 static int hf_qsig_cidl_timeStamp = -1;           /* TimeStamp */
1371 static int hf_qsig_cidl_extension = -1;           /* Extension */
1372 static int hf_qsig_cidl_sequenceOfExt = -1;       /* SEQUENCE_OF_Extension */
1373 static int hf_qsig_cidl_sequenceOfExt_item = -1;  /* Extension */
1374
1375 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1376
1377 static int hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU = -1;  /* SmsSubmitArg */
1378 static int hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU = -1;  /* SmsSubmitRes */
1379 static int hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU = -1;  /* SmsDeliverArg */
1380 static int hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU = -1;  /* SmsDeliverRes */
1381 static int hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU = -1;  /* SmsStatusReportArg */
1382 static int hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU = -1;  /* SmsStatusReportRes */
1383 static int hf_qsig_sms_qsig_sms_SmsCommandArg_PDU = -1;  /* SmsCommandArg */
1384 static int hf_qsig_sms_qsig_sms_SmsCommandRes_PDU = -1;  /* SmsCommandRes */
1385 static int hf_qsig_sms_qsig_sms_ScAlertArg_PDU = -1;  /* ScAlertArg */
1386 static int hf_qsig_sms_qsig_sms_DummyRes_PDU = -1;  /* DummyRes */
1387 static int hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU = -1;  /* PAR_smsDeliverError */
1388 static int hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU = -1;  /* PAR_smsSubmitError */
1389 static int hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU = -1;  /* PAR_smsStatusReportError */
1390 static int hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU = -1;  /* PAR_smsCommandError */
1391 static int hf_qsig_sms_qsig_sms_SmsExtension_PDU = -1;  /* SmsExtension */
1392 static int hf_qsig_sms_destinationAddress = -1;   /* PartyNumber */
1393 static int hf_qsig_sms_originatingAddress = -1;   /* PartyNumber */
1394 static int hf_qsig_sms_messageReference = -1;     /* MessageReference */
1395 static int hf_qsig_sms_smSubmitParameter = -1;    /* SmSubmitParameter */
1396 static int hf_qsig_sms_userData = -1;             /* UserData */
1397 static int hf_qsig_sms_smsExtension = -1;         /* SmsExtension */
1398 static int hf_qsig_sms_serviceCentreTimeStamp = -1;  /* ServiceCentreTimeStamp */
1399 static int hf_qsig_sms_protocolIdentifier = -1;   /* ProtocolIdentifier */
1400 static int hf_qsig_sms_originatingName = -1;      /* Name */
1401 static int hf_qsig_sms_smDeliverParameter = -1;   /* SmDeliverParameter */
1402 static int hf_qsig_sms_smsDeliverResponseChoice = -1;  /* SmsDeliverResChoice */
1403 static int hf_qsig_sms_dischargeTime = -1;        /* DischargeTime */
1404 static int hf_qsig_sms_recipientAddress = -1;     /* PartyNumber */
1405 static int hf_qsig_sms_recipientName = -1;        /* Name */
1406 static int hf_qsig_sms_status = -1;               /* Status */
1407 static int hf_qsig_sms_priority = -1;             /* BOOLEAN */
1408 static int hf_qsig_sms_moreMessagesToSend = -1;   /* BOOLEAN */
1409 static int hf_qsig_sms_statusReportQualifier = -1;  /* BOOLEAN */
1410 static int hf_qsig_sms_smsStatusReportResponseChoice = -1;  /* SmsStatusReportResponseChoice */
1411 static int hf_qsig_sms_messageNumber = -1;        /* MessageReference */
1412 static int hf_qsig_sms_commandType = -1;          /* CommandType */
1413 static int hf_qsig_sms_commandData = -1;          /* CommandData */
1414 static int hf_qsig_sms_statusReportRequest = -1;  /* BOOLEAN */
1415 static int hf_qsig_sms_null = -1;                 /* NULL */
1416 static int hf_qsig_sms_validityPeriod = -1;       /* ValidityPeriod */
1417 static int hf_qsig_sms_replyPath = -1;            /* BOOLEAN */
1418 static int hf_qsig_sms_rejectDuplicates = -1;     /* BOOLEAN */
1419 static int hf_qsig_sms_statusReportIndication = -1;  /* BOOLEAN */
1420 static int hf_qsig_sms_resChoiceSeq = -1;         /* ResChoiceSeq */
1421 static int hf_qsig_sms_single = -1;               /* Extension */
1422 static int hf_qsig_sms_multiple = -1;             /* SEQUENCE_OF_Extension */
1423 static int hf_qsig_sms_multiple_item = -1;        /* Extension */
1424 static int hf_qsig_sms_validityPeriodRel = -1;    /* ValidityPeriodRel */
1425 static int hf_qsig_sms_validityPeriodAbs = -1;    /* ValidityPeriodAbs */
1426 static int hf_qsig_sms_validityPeriodEnh = -1;    /* ValidityPeriodEnh */
1427 static int hf_qsig_sms_singleShotSM = -1;         /* BOOLEAN */
1428 static int hf_qsig_sms_enhancedVP = -1;           /* EnhancedVP */
1429 static int hf_qsig_sms_validityPeriodSec = -1;    /* INTEGER_0_255 */
1430 static int hf_qsig_sms_validityPeriodSemi = -1;   /* ValidityPeriodSemi */
1431 static int hf_qsig_sms_userDataHeader = -1;       /* UserDataHeader */
1432 static int hf_qsig_sms_class = -1;                /* INTEGER_0_3 */
1433 static int hf_qsig_sms_compressed = -1;           /* BOOLEAN */
1434 static int hf_qsig_sms_shortMessageText = -1;     /* ShortMessageText */
1435 static int hf_qsig_sms_shortMessageTextType = -1;  /* ShortMessageTextType */
1436 static int hf_qsig_sms_shortMessageTextData = -1;  /* ShortMessageTextData */
1437 static int hf_qsig_sms_UserDataHeader_item = -1;  /* UserDataHeaderChoice */
1438 static int hf_qsig_sms_smscControlParameterHeader = -1;  /* SmscControlParameterHeader */
1439 static int hf_qsig_sms_concatenated8BitSMHeader = -1;  /* Concatenated8BitSMHeader */
1440 static int hf_qsig_sms_concatenated16BitSMHeader = -1;  /* Concatenated16BitSMHeader */
1441 static int hf_qsig_sms_applicationPort8BitHeader = -1;  /* ApplicationPort8BitHeader */
1442 static int hf_qsig_sms_applicationPort16BitHeader = -1;  /* ApplicationPort16BitHeader */
1443 static int hf_qsig_sms_dataHeaderSourceIndicator = -1;  /* DataHeaderSourceIndicator */
1444 static int hf_qsig_sms_wirelessControlHeader = -1;  /* WirelessControlHeader */
1445 static int hf_qsig_sms_genericUserValue = -1;     /* GenericUserValue */
1446 static int hf_qsig_sms_concatenated8BitSMReferenceNumber = -1;  /* INTEGER_0_255 */
1447 static int hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1448 static int hf_qsig_sms_sequenceNumberOf8BitSM = -1;  /* INTEGER_0_255 */
1449 static int hf_qsig_sms_concatenated16BitSMReferenceNumber = -1;  /* INTEGER_0_65536 */
1450 static int hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1451 static int hf_qsig_sms_sequenceNumberOf16BitSM = -1;  /* INTEGER_0_255 */
1452 static int hf_qsig_sms_destination8BitPort = -1;  /* INTEGER_0_255 */
1453 static int hf_qsig_sms_originator8BitPort = -1;   /* INTEGER_0_255 */
1454 static int hf_qsig_sms_destination16BitPort = -1;  /* INTEGER_0_65536 */
1455 static int hf_qsig_sms_originator16BitPort = -1;  /* INTEGER_0_65536 */
1456 static int hf_qsig_sms_parameterValue = -1;       /* INTEGER_0_255 */
1457 static int hf_qsig_sms_genericUserData = -1;      /* OCTET_STRING */
1458 static int hf_qsig_sms_failureCause = -1;         /* FailureCause */
1459 static int hf_qsig_sms_scAddressSaved = -1;       /* BOOLEAN */
1460 /* named bits */
1461 static int hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted = -1;
1462 static int hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError = -1;
1463 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying = -1;
1464 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying = -1;
1465 static int hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM = -1;
1466 static int hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR = -1;
1467
1468 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1469
1470 static int hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU = -1;  /* MCRequestArg */
1471 static int hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU = -1;  /* MCRequestResult */
1472 static int hf_qsig_mcr_qsig_mcr_MCInformArg_PDU = -1;  /* MCInformArg */
1473 static int hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU = -1;  /* MCAlertingArg */
1474 static int hf_qsig_mcr_qsig_mcr_Extension_PDU = -1;  /* Extension */
1475 static int hf_qsig_mcr_callType = -1;             /* CallType */
1476 static int hf_qsig_mcr_retainOrigCall = -1;       /* BOOLEAN */
1477 static int hf_qsig_mcr_destinationAddress = -1;   /* PresentedAddressUnscreened */
1478 static int hf_qsig_mcr_requestingAddress = -1;    /* PresentedAddressUnscreened */
1479 static int hf_qsig_mcr_cooperatingAddress = -1;   /* PresentedAddressUnscreened */
1480 static int hf_qsig_mcr_correlation = -1;          /* Correlation */
1481 static int hf_qsig_mcr_extensions = -1;           /* MCRExtensions */
1482 static int hf_qsig_mcr_basicService = -1;         /* BasicService */
1483 static int hf_qsig_mcr_cisc = -1;                 /* NULL */
1484 static int hf_qsig_mcr_correlationData = -1;      /* CallIdentity */
1485 static int hf_qsig_mcr_correlationReason = -1;    /* CorrelationReason */
1486 static int hf_qsig_mcr_none = -1;                 /* NULL */
1487 static int hf_qsig_mcr_single = -1;               /* Extension */
1488 static int hf_qsig_mcr_multiple = -1;             /* SEQUENCE_OF_Extension */
1489 static int hf_qsig_mcr_multiple_item = -1;        /* Extension */
1490
1491 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1492
1493 static int hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU = -1;  /* MCMNewMsgArg */
1494 static int hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU = -1;  /* MCMDummyRes */
1495 static int hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU = -1;  /* MCMNoNewMsgArg */
1496 static int hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU = -1;  /* MCMUpdateArg */
1497 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU = -1;  /* MCMUpdateReqArg */
1498 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU = -1;  /* MCMUpdateReqRes */
1499 static int hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU = -1;  /* MCMServiceArg */
1500 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU = -1;  /* MCMInterrogateArg */
1501 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU = -1;  /* MCMInterrogateRes */
1502 static int hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU = -1;  /* MCMailboxFullArg */
1503 static int hf_qsig_mcm_qsig_mcm_Extension_PDU = -1;  /* Extension */
1504 static int hf_qsig_mcm_partyInfo = -1;            /* PartyInfo */
1505 static int hf_qsig_mcm_mailboxFullFor = -1;       /* MailboxFullFor */
1506 static int hf_qsig_mcm_extensions = -1;           /* MCMExtensions */
1507 static int hf_qsig_mcm_MailboxFullFor_item = -1;  /* MailboxFullPar */
1508 static int hf_qsig_mcm_messageType = -1;          /* MessageType */
1509 static int hf_qsig_mcm_capacityReached = -1;      /* INTEGER_0_100 */
1510 static int hf_qsig_mcm_mCMChange = -1;            /* MCMChange */
1511 static int hf_qsig_mcm_activateMCM = -1;          /* SEQUENCE_OF_MCMServiceInfo */
1512 static int hf_qsig_mcm_activateMCM_item = -1;     /* MCMServiceInfo */
1513 static int hf_qsig_mcm_deactivateMCM = -1;        /* SEQUENCE_OF_MessageType */
1514 static int hf_qsig_mcm_deactivateMCM_item = -1;   /* MessageType */
1515 static int hf_qsig_mcm_setToDefaultValues = -1;   /* NULL */
1516 static int hf_qsig_mcm_mCMModeNew = -1;           /* MCMMode */
1517 static int hf_qsig_mcm_mCMModeRetrieved = -1;     /* MCMMode */
1518 static int hf_qsig_mcm_interrogateInfo = -1;      /* SEQUENCE_OF_MessageType */
1519 static int hf_qsig_mcm_interrogateInfo_item = -1;  /* MessageType */
1520 static int hf_qsig_mcm_interrogateResult = -1;    /* SEQUENCE_OF_MCMServiceInfo */
1521 static int hf_qsig_mcm_interrogateResult_item = -1;  /* MCMServiceInfo */
1522 static int hf_qsig_mcm_servedUserNr = -1;         /* PartyNumber */
1523 static int hf_qsig_mcm_specificMessageType = -1;  /* MessageType */
1524 static int hf_qsig_mcm_msgCentreId = -1;          /* MsgCentreId */
1525 static int hf_qsig_mcm_nrOfMessages = -1;         /* NrOfMessages */
1526 static int hf_qsig_mcm_originatingNr = -1;        /* PartyNumber */
1527 static int hf_qsig_mcm_timestamp = -1;            /* TimeStamp */
1528 static int hf_qsig_mcm_priority = -1;             /* INTEGER_0_9 */
1529 static int hf_qsig_mcm_argumentExtMCMNew = -1;    /* MCMNewArgumentExt */
1530 static int hf_qsig_mcm_extension = -1;            /* Extension */
1531 static int hf_qsig_mcm_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1532 static int hf_qsig_mcm_multipleExtension_item = -1;  /* Extension */
1533 static int hf_qsig_mcm_argumentExtMCMNoNew = -1;  /* MCMNoNewArgumentExt */
1534 static int hf_qsig_mcm_updateInfo = -1;           /* UpdateInfo */
1535 static int hf_qsig_mcm_moreInfoFollows = -1;      /* BOOLEAN */
1536 static int hf_qsig_mcm_argumentExtMCMUpdArg = -1;  /* MCMUpdArgArgumentExt */
1537 static int hf_qsig_mcm_MCMUpdateReqRes_item = -1;  /* MCMUpdateReqResElt */
1538 static int hf_qsig_mcm_argumentExtMCMUpdRes = -1;  /* MCMUpdResArgumentExt */
1539 static int hf_qsig_mcm_messageCentreID = -1;      /* MsgCentreId */
1540 static int hf_qsig_mcm_newMsgInfoOnly = -1;       /* MessageInfo */
1541 static int hf_qsig_mcm_retrievedMsgInfoOnly = -1;  /* MessageInfo */
1542 static int hf_qsig_mcm_allMsgInfo = -1;           /* AllMsgInfo */
1543 static int hf_qsig_mcm_newMsgInfo = -1;           /* MessageInfo */
1544 static int hf_qsig_mcm_retrievedMsgInfo = -1;     /* MessageInfo */
1545 static int hf_qsig_mcm_completeInfo = -1;         /* CompleteInfo */
1546 static int hf_qsig_mcm_compressedInfo = -1;       /* CompressedInfo */
1547 static int hf_qsig_mcm_noMsgsOfMsgType = -1;      /* NULL */
1548 static int hf_qsig_mcm_CompleteInfo_item = -1;    /* AddressHeader */
1549 static int hf_qsig_mcm_originatorNr = -1;         /* PartyNumber */
1550 static int hf_qsig_mcm_timeStamp = -1;            /* TimeStamp */
1551 static int hf_qsig_mcm_ahpriority = -1;           /* Priority */
1552 static int hf_qsig_mcm_lastTimeStamp = -1;        /* TimeStamp */
1553 static int hf_qsig_mcm_highestPriority = -1;      /* Priority */
1554 static int hf_qsig_mcm_integer = -1;              /* INTEGER_0_65535 */
1555 static int hf_qsig_mcm_partyNumber = -1;          /* PartyNumber */
1556 static int hf_qsig_mcm_numericString = -1;        /* NumericString_SIZE_1_10 */
1557 static int hf_qsig_mcm_none = -1;                 /* NULL */
1558
1559 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
1560
1561 static int hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU = -1;  /* MIDMailboxAuthArg */
1562 static int hf_qsig_mid_qsig_mid_MIDDummyRes_PDU = -1;  /* MIDDummyRes */
1563 static int hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU = -1;  /* MIDMailboxIDArg */
1564 static int hf_qsig_mid_qsig_mid_Extension_PDU = -1;  /* Extension */
1565 static int hf_qsig_mid_partyInfo = -1;            /* PartyInfo */
1566 static int hf_qsig_mid_servedUserName = -1;       /* Name */
1567 static int hf_qsig_mid_mailBox = -1;              /* String */
1568 static int hf_qsig_mid_password = -1;             /* String */
1569 static int hf_qsig_mid_extensions = -1;           /* MIDExtensions */
1570 static int hf_qsig_mid_servedUserNr = -1;         /* PresentedAddressUnscreened */
1571 static int hf_qsig_mid_messageType = -1;          /* MessageType */
1572 static int hf_qsig_mid_messageCentreID = -1;      /* MsgCentreId */
1573 static int hf_qsig_mid_stringBmp = -1;            /* BMPString */
1574 static int hf_qsig_mid_stringUtf8 = -1;           /* UTF8String */
1575 static int hf_qsig_mid_none = -1;                 /* NULL */
1576 static int hf_qsig_mid_extension = -1;            /* Extension */
1577 static int hf_qsig_mid_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1578 static int hf_qsig_mid_multipleExtension_item = -1;  /* Extension */
1579
1580 /*--- End of included file: packet-qsig-hf.c ---*/
1581 #line 294 "../../asn1/qsig/packet-qsig-template.c"
1582
1583 static int *hf_qsig_ie_type_arr[] = {
1584   NULL,
1585   NULL,
1586   NULL,
1587   NULL,
1588   &hf_qsig_ie_type_cs4,
1589   &hf_qsig_ie_type_cs5,
1590   NULL,
1591   NULL,
1592 };
1593
1594 /* Initialize the subtree pointers */
1595 static gint ett_qsig = -1;
1596 static gint ett_qsig_ie = -1;
1597 static gint ett_qsig_unknown_extension = -1;
1598
1599 /*--- Included file: packet-qsig-ett.c ---*/
1600 #line 1 "../../asn1/qsig/packet-qsig-ett.c"
1601
1602 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
1603
1604 static gint ett_qsig_Extension = -1;
1605 static gint ett_qsig_PresentedAddressScreened = -1;
1606 static gint ett_qsig_PresentedAddressUnscreened = -1;
1607 static gint ett_qsig_PresentedNumberScreened = -1;
1608 static gint ett_qsig_PresentedNumberUnscreened = -1;
1609 static gint ett_qsig_AddressScreened = -1;
1610 static gint ett_qsig_NumberScreened = -1;
1611 static gint ett_qsig_Address = -1;
1612 static gint ett_qsig_PartyNumber = -1;
1613 static gint ett_qsig_PublicPartyNumber = -1;
1614 static gint ett_qsig_PrivatePartyNumber = -1;
1615 static gint ett_qsig_PartySubaddress = -1;
1616 static gint ett_qsig_UserSpecifiedSubaddress = -1;
1617
1618 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
1619
1620 static gint ett_qsig_na_NameArg = -1;
1621 static gint ett_qsig_na_T_nameSequence = -1;
1622 static gint ett_qsig_na_NameExtension = -1;
1623 static gint ett_qsig_na_SEQUENCE_OF_Extension = -1;
1624 static gint ett_qsig_na_Name = -1;
1625 static gint ett_qsig_na_NamePresentationAllowed = -1;
1626 static gint ett_qsig_na_NamePresentationRestricted = -1;
1627 static gint ett_qsig_na_NameSet = -1;
1628
1629 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
1630
1631 static gint ett_qsig_cf_ARG_activateDiversionQ = -1;
1632 static gint ett_qsig_cf_ADExtension = -1;
1633 static gint ett_qsig_cf_SEQUENCE_OF_Extension = -1;
1634 static gint ett_qsig_cf_RES_activateDiversionQ = -1;
1635 static gint ett_qsig_cf_ARG_deactivateDiversionQ = -1;
1636 static gint ett_qsig_cf_DDExtension = -1;
1637 static gint ett_qsig_cf_RES_deactivateDiversionQ = -1;
1638 static gint ett_qsig_cf_ARG_interrogateDiversionQ = -1;
1639 static gint ett_qsig_cf_IDExtension = -1;
1640 static gint ett_qsig_cf_ARG_checkRestriction = -1;
1641 static gint ett_qsig_cf_CHRExtension = -1;
1642 static gint ett_qsig_cf_RES_checkRestriction = -1;
1643 static gint ett_qsig_cf_ARG_callRerouteing = -1;
1644 static gint ett_qsig_cf_CRRExtension = -1;
1645 static gint ett_qsig_cf_RES_callRerouteing = -1;
1646 static gint ett_qsig_cf_ARG_divertingLegInformation1 = -1;
1647 static gint ett_qsig_cf_DLI1Extension = -1;
1648 static gint ett_qsig_cf_ARG_divertingLegInformation2 = -1;
1649 static gint ett_qsig_cf_DLI2Extension = -1;
1650 static gint ett_qsig_cf_ARG_divertingLegInformation3 = -1;
1651 static gint ett_qsig_cf_DLI3Extension = -1;
1652 static gint ett_qsig_cf_ARG_cfnrDivertedLegFailed = -1;
1653 static gint ett_qsig_cf_IntResultList = -1;
1654 static gint ett_qsig_cf_IntResult = -1;
1655 static gint ett_qsig_cf_IRExtension = -1;
1656
1657 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
1658
1659 static gint ett_qsig_pr_PRProposeArg = -1;
1660 static gint ett_qsig_pr_PRPExtension = -1;
1661 static gint ett_qsig_pr_SEQUENCE_OF_Extension = -1;
1662 static gint ett_qsig_pr_PRSetupArg = -1;
1663 static gint ett_qsig_pr_PRSExtension = -1;
1664 static gint ett_qsig_pr_PRRetainArg = -1;
1665 static gint ett_qsig_pr_PRRExtension = -1;
1666 static gint ett_qsig_pr_DummyResult = -1;
1667 static gint ett_qsig_pr_DummyArg = -1;
1668
1669 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
1670
1671 static gint ett_qsig_ct_DummyArg = -1;
1672 static gint ett_qsig_ct_SEQUENCE_OF_Extension = -1;
1673 static gint ett_qsig_ct_DummyRes = -1;
1674 static gint ett_qsig_ct_CTIdentifyRes = -1;
1675 static gint ett_qsig_ct_T_resultExtension = -1;
1676 static gint ett_qsig_ct_CTInitiateArg = -1;
1677 static gint ett_qsig_ct_CTIargumentExtension = -1;
1678 static gint ett_qsig_ct_CTSetupArg = -1;
1679 static gint ett_qsig_ct_CTSargumentExtension = -1;
1680 static gint ett_qsig_ct_CTActiveArg = -1;
1681 static gint ett_qsig_ct_CTAargumentExtension = -1;
1682 static gint ett_qsig_ct_CTCompleteArg = -1;
1683 static gint ett_qsig_ct_CTCargumentExtension = -1;
1684 static gint ett_qsig_ct_CTUpdateArg = -1;
1685 static gint ett_qsig_ct_CTUargumentExtension = -1;
1686 static gint ett_qsig_ct_SubaddressTransferArg = -1;
1687 static gint ett_qsig_ct_STargumentExtension = -1;
1688
1689 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
1690
1691 static gint ett_qsig_cc_CcRequestArg = -1;
1692 static gint ett_qsig_cc_CcRequestRes = -1;
1693 static gint ett_qsig_cc_CcOptionalArg = -1;
1694 static gint ett_qsig_cc_T_fullArg = -1;
1695 static gint ett_qsig_cc_CcExtension = -1;
1696 static gint ett_qsig_cc_SEQUENCE_OF_Extension = -1;
1697
1698 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
1699
1700 static gint ett_qsig_co_PathRetainArg = -1;
1701 static gint ett_qsig_co_T_extendedServiceList = -1;
1702 static gint ett_qsig_co_ServiceAvailableArg = -1;
1703 static gint ett_qsig_co_T_extendedServiceList_01 = -1;
1704 static gint ett_qsig_co_ServiceList = -1;
1705 static gint ett_qsig_co_DummyArg = -1;
1706 static gint ett_qsig_co_SEQUENCE_OF_Extension = -1;
1707 static gint ett_qsig_co_DummyRes = -1;
1708
1709 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
1710
1711 static gint ett_qsig_dnd_DummyArg = -1;
1712 static gint ett_qsig_dnd_SEQUENCE_OF_Extension = -1;
1713 static gint ett_qsig_dnd_DummyRes = -1;
1714 static gint ett_qsig_dnd_DNDActivateArg = -1;
1715 static gint ett_qsig_dnd_DNDAargumentExtension = -1;
1716 static gint ett_qsig_dnd_DNDActivateRes = -1;
1717 static gint ett_qsig_dnd_T_status = -1;
1718 static gint ett_qsig_dnd_T_status_item = -1;
1719 static gint ett_qsig_dnd_T_resultExtension = -1;
1720 static gint ett_qsig_dnd_DNDDeactivateArg = -1;
1721 static gint ett_qsig_dnd_DNDDargumentExtension = -1;
1722 static gint ett_qsig_dnd_DNDInterrogateArg = -1;
1723 static gint ett_qsig_dnd_DNDIargumentExtension = -1;
1724 static gint ett_qsig_dnd_DNDInterrogateRes = -1;
1725 static gint ett_qsig_dnd_T_status_01 = -1;
1726 static gint ett_qsig_dnd_T_status_item_01 = -1;
1727 static gint ett_qsig_dnd_T_resultExtension_01 = -1;
1728 static gint ett_qsig_dnd_DNDOverrideArg = -1;
1729 static gint ett_qsig_dnd_DNDOargumentExtension = -1;
1730 static gint ett_qsig_dnd_PathRetainArg = -1;
1731 static gint ett_qsig_dnd_T_extendedServiceList = -1;
1732 static gint ett_qsig_dnd_ServiceAvailableArg = -1;
1733 static gint ett_qsig_dnd_T_extendedServiceList_01 = -1;
1734 static gint ett_qsig_dnd_ServiceList = -1;
1735
1736 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
1737
1738 static gint ett_qsig_ci_PathRetainArg = -1;
1739 static gint ett_qsig_ci_T_extendedServiceList = -1;
1740 static gint ett_qsig_ci_ServiceAvailableArg = -1;
1741 static gint ett_qsig_ci_T_extendedServiceList_01 = -1;
1742 static gint ett_qsig_ci_ServiceList = -1;
1743 static gint ett_qsig_ci_DummyArg = -1;
1744 static gint ett_qsig_ci_SEQUENCE_OF_Extension = -1;
1745 static gint ett_qsig_ci_DummyRes = -1;
1746 static gint ett_qsig_ci_CIRequestArg = -1;
1747 static gint ett_qsig_ci_T_argumentExtension = -1;
1748 static gint ett_qsig_ci_CIRequestRes = -1;
1749 static gint ett_qsig_ci_T_resultExtension = -1;
1750 static gint ett_qsig_ci_CIGetCIPLRes = -1;
1751 static gint ett_qsig_ci_T_resultExtension_01 = -1;
1752
1753 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
1754
1755 static gint ett_qsig_aoc_AocRateArg = -1;
1756 static gint ett_qsig_aoc_T_aocRate = -1;
1757 static gint ett_qsig_aoc_T_rateArgExtension = -1;
1758 static gint ett_qsig_aoc_SEQUENCE_OF_Extension = -1;
1759 static gint ett_qsig_aoc_AocInterimArg = -1;
1760 static gint ett_qsig_aoc_T_interimCharge = -1;
1761 static gint ett_qsig_aoc_T_specificCurrency = -1;
1762 static gint ett_qsig_aoc_T_interimArgExtension = -1;
1763 static gint ett_qsig_aoc_AocFinalArg = -1;
1764 static gint ett_qsig_aoc_T_finalCharge = -1;
1765 static gint ett_qsig_aoc_T_specificCurrency_01 = -1;
1766 static gint ett_qsig_aoc_T_finalArgExtension = -1;
1767 static gint ett_qsig_aoc_AOCSCurrencyInfoList = -1;
1768 static gint ett_qsig_aoc_AOCSCurrencyInfo = -1;
1769 static gint ett_qsig_aoc_T_rateType = -1;
1770 static gint ett_qsig_aoc_DurationCurrency = -1;
1771 static gint ett_qsig_aoc_FlatRateCurrency = -1;
1772 static gint ett_qsig_aoc_VolumeRateCurrency = -1;
1773 static gint ett_qsig_aoc_RecordedCurrency = -1;
1774 static gint ett_qsig_aoc_Amount = -1;
1775 static gint ett_qsig_aoc_Time = -1;
1776 static gint ett_qsig_aoc_ChargingAssociation = -1;
1777 static gint ett_qsig_aoc_ChargeRequestArg = -1;
1778 static gint ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination = -1;
1779 static gint ett_qsig_aoc_T_chargeReqArgExtension = -1;
1780 static gint ett_qsig_aoc_ChargeRequestRes = -1;
1781 static gint ett_qsig_aoc_T_chargeReqResExtension = -1;
1782 static gint ett_qsig_aoc_DummyArg = -1;
1783 static gint ett_qsig_aoc_AocCompleteArg = -1;
1784 static gint ett_qsig_aoc_T_completeArgExtension = -1;
1785 static gint ett_qsig_aoc_AocCompleteRes = -1;
1786 static gint ett_qsig_aoc_T_completeResExtension = -1;
1787 static gint ett_qsig_aoc_AocDivChargeReqArg = -1;
1788 static gint ett_qsig_aoc_T_aocDivChargeReqArgExt = -1;
1789
1790 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1791
1792 static gint ett_qsig_re_ReAlertingArg = -1;
1793 static gint ett_qsig_re_T_argumentExtension = -1;
1794 static gint ett_qsig_re_SEQUENCE_OF_Extension = -1;
1795 static gint ett_qsig_re_ReAnswerArg = -1;
1796 static gint ett_qsig_re_T_argumentExtension_01 = -1;
1797
1798 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1799
1800 static gint ett_qsig_sync_SynchronizationReqArg = -1;
1801 static gint ett_qsig_sync_SynchronizationReqRes = -1;
1802 static gint ett_qsig_sync_SynchronizationInfoArg = -1;
1803 static gint ett_qsig_sync_ArgExtension = -1;
1804 static gint ett_qsig_sync_SEQUENCE_OF_Extension = -1;
1805
1806 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1807
1808 static gint ett_qsig_cint_CintInformation1Arg = -1;
1809 static gint ett_qsig_cint_CintInformation2Arg = -1;
1810 static gint ett_qsig_cint_CintCondArg = -1;
1811 static gint ett_qsig_cint_CintExtension = -1;
1812 static gint ett_qsig_cint_SEQUENCE_OF_Extension = -1;
1813
1814 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1815
1816 static gint ett_qsig_cmn_CmnArg = -1;
1817 static gint ett_qsig_cmn_T_extension = -1;
1818 static gint ett_qsig_cmn_SEQUENCE_OF_Extension = -1;
1819 static gint ett_qsig_cmn_DummyArg = -1;
1820 static gint ett_qsig_cmn_FeatureIdList = -1;
1821 static gint ett_qsig_cmn_EquipmentId = -1;
1822
1823 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1824
1825 static gint ett_qsig_cpi_CPIRequestArg = -1;
1826 static gint ett_qsig_cpi_T_argumentExtension = -1;
1827 static gint ett_qsig_cpi_SEQUENCE_OF_Extension = -1;
1828 static gint ett_qsig_cpi_CPIPRequestArg = -1;
1829 static gint ett_qsig_cpi_T_argumentExtension_01 = -1;
1830
1831 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1832
1833 static gint ett_qsig_pumr_PumRegistrArg = -1;
1834 static gint ett_qsig_pumr_RpumUserId = -1;
1835 static gint ett_qsig_pumr_T_userPin = -1;
1836 static gint ett_qsig_pumr_PumRegistrRes = -1;
1837 static gint ett_qsig_pumr_DummyRes = -1;
1838 static gint ett_qsig_pumr_SEQUENCE_OF_Extension = -1;
1839 static gint ett_qsig_pumr_PumDelRegArg = -1;
1840 static gint ett_qsig_pumr_XpumUserId = -1;
1841 static gint ett_qsig_pumr_PumDe_regArg = -1;
1842 static gint ett_qsig_pumr_DpumUserId = -1;
1843 static gint ett_qsig_pumr_T_userPin_01 = -1;
1844 static gint ett_qsig_pumr_PumInterrogArg = -1;
1845 static gint ett_qsig_pumr_IpumUserId = -1;
1846 static gint ett_qsig_pumr_T_userPin_02 = -1;
1847 static gint ett_qsig_pumr_PumInterrogRes = -1;
1848 static gint ett_qsig_pumr_PumInterrogRes_item = -1;
1849 static gint ett_qsig_pumr_SessionParams = -1;
1850 static gint ett_qsig_pumr_PumrExtension = -1;
1851
1852 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1853
1854 static gint ett_qsig_pumch_EnquiryArg = -1;
1855 static gint ett_qsig_pumch_DivertArg = -1;
1856 static gint ett_qsig_pumch_InformArg = -1;
1857 static gint ett_qsig_pumch_EnquiryRes = -1;
1858 static gint ett_qsig_pumch_CurrLocation = -1;
1859 static gint ett_qsig_pumch_CfuActivated = -1;
1860 static gint ett_qsig_pumch_DummyRes = -1;
1861 static gint ett_qsig_pumch_SEQUENCE_OF_Extension = -1;
1862 static gint ett_qsig_pumch_PumiExtension = -1;
1863 static gint ett_qsig_pumch_PumIdentity = -1;
1864 static gint ett_qsig_pumch_T_both = -1;
1865 static gint ett_qsig_pumch_PumoArg = -1;
1866 static gint ett_qsig_pumch_T_pumoaextension = -1;
1867
1868 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1869
1870 static gint ett_qsig_ssct_DummyArg = -1;
1871 static gint ett_qsig_ssct_SEQUENCE_OF_Extension = -1;
1872 static gint ett_qsig_ssct_DummyRes = -1;
1873 static gint ett_qsig_ssct_SSCTInitiateArg = -1;
1874 static gint ett_qsig_ssct_SSCTIargumentExtension = -1;
1875 static gint ett_qsig_ssct_SSCTSetupArg = -1;
1876 static gint ett_qsig_ssct_SSCTSargumentExtension = -1;
1877 static gint ett_qsig_ssct_SSCTDigitInfoArg = -1;
1878 static gint ett_qsig_ssct_SSCTDargumentExtension = -1;
1879
1880 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1881
1882 static gint ett_qsig_wtmlr_LocUpdArg = -1;
1883 static gint ett_qsig_wtmlr_DummyRes = -1;
1884 static gint ett_qsig_wtmlr_SEQUENCE_OF_Extension = -1;
1885 static gint ett_qsig_wtmlr_LocDelArg = -1;
1886 static gint ett_qsig_wtmlr_LocDeRegArg = -1;
1887 static gint ett_qsig_wtmlr_PisnEnqArg = -1;
1888 static gint ett_qsig_wtmlr_PisnEnqRes = -1;
1889 static gint ett_qsig_wtmlr_GetRRCInfArg = -1;
1890 static gint ett_qsig_wtmlr_GetRRCInfRes = -1;
1891 static gint ett_qsig_wtmlr_LocInfoCheckArg = -1;
1892 static gint ett_qsig_wtmlr_LocInfoCheckRes = -1;
1893 static gint ett_qsig_wtmlr_WtmUserId = -1;
1894 static gint ett_qsig_wtmlr_LrExtension = -1;
1895
1896 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1897
1898 static gint ett_qsig_wtmch_EnquiryArg = -1;
1899 static gint ett_qsig_wtmch_DivertArg = -1;
1900 static gint ett_qsig_wtmch_InformArg = -1;
1901 static gint ett_qsig_wtmch_EnquiryRes = -1;
1902 static gint ett_qsig_wtmch_CurrLocation = -1;
1903 static gint ett_qsig_wtmch_CfuActivated = -1;
1904 static gint ett_qsig_wtmch_DummyRes = -1;
1905 static gint ett_qsig_wtmch_SEQUENCE_OF_Extension = -1;
1906 static gint ett_qsig_wtmch_WtmiExtension = -1;
1907 static gint ett_qsig_wtmch_WtmIdentity = -1;
1908 static gint ett_qsig_wtmch_T_both = -1;
1909 static gint ett_qsig_wtmch_WtmoArg = -1;
1910 static gint ett_qsig_wtmch_T_wtmoaextension = -1;
1911
1912 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1913
1914 static gint ett_qsig_wtmau_AuthWtmArg = -1;
1915 static gint ett_qsig_wtmau_AuthWtmRes = -1;
1916 static gint ett_qsig_wtmau_WtatParamArg = -1;
1917 static gint ett_qsig_wtmau_WtatParamRes = -1;
1918 static gint ett_qsig_wtmau_WtanParamArg = -1;
1919 static gint ett_qsig_wtmau_WtmUserId = -1;
1920 static gint ett_qsig_wtmau_WtanParamRes = -1;
1921 static gint ett_qsig_wtmau_ARG_transferAuthParam = -1;
1922 static gint ett_qsig_wtmau_WtatParamInfo = -1;
1923 static gint ett_qsig_wtmau_T_wtatParamInfoChoice = -1;
1924 static gint ett_qsig_wtmau_WtanParamInfo = -1;
1925 static gint ett_qsig_wtmau_AuthSessionKeyInfo = -1;
1926 static gint ett_qsig_wtmau_CalcWtatInfo = -1;
1927 static gint ett_qsig_wtmau_CalcWtatInfoUnit = -1;
1928 static gint ett_qsig_wtmau_CalcWtanInfo = -1;
1929 static gint ett_qsig_wtmau_DummyExtension = -1;
1930 static gint ett_qsig_wtmau_SEQUENCE_OF_Extension = -1;
1931 static gint ett_qsig_wtmau_AuthAlgorithm = -1;
1932
1933 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1934
1935 static gint ett_qsig_sd_DisplayArg = -1;
1936 static gint ett_qsig_sd_DisplayString = -1;
1937 static gint ett_qsig_sd_KeypadArg = -1;
1938 static gint ett_qsig_sd_SDExtension = -1;
1939 static gint ett_qsig_sd_SEQUENCE_OF_Extension = -1;
1940
1941 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1942
1943 static gint ett_qsig_cidl_CallIdentificationAssignArg = -1;
1944 static gint ett_qsig_cidl_CallIdentificationUpdateArg = -1;
1945 static gint ett_qsig_cidl_CallIdentificationData = -1;
1946 static gint ett_qsig_cidl_T_linkageID = -1;
1947 static gint ett_qsig_cidl_ExtensionType = -1;
1948 static gint ett_qsig_cidl_SEQUENCE_OF_Extension = -1;
1949
1950 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1951
1952 static gint ett_qsig_sms_SmsSubmitArg = -1;
1953 static gint ett_qsig_sms_SmsSubmitRes = -1;
1954 static gint ett_qsig_sms_SmsDeliverArg = -1;
1955 static gint ett_qsig_sms_SmsDeliverRes = -1;
1956 static gint ett_qsig_sms_SmsStatusReportArg = -1;
1957 static gint ett_qsig_sms_SmsStatusReportRes = -1;
1958 static gint ett_qsig_sms_SmsCommandArg = -1;
1959 static gint ett_qsig_sms_SmsCommandRes = -1;
1960 static gint ett_qsig_sms_ScAlertArg = -1;
1961 static gint ett_qsig_sms_DummyRes = -1;
1962 static gint ett_qsig_sms_SmSubmitParameter = -1;
1963 static gint ett_qsig_sms_SmDeliverParameter = -1;
1964 static gint ett_qsig_sms_SmsDeliverResChoice = -1;
1965 static gint ett_qsig_sms_ResChoiceSeq = -1;
1966 static gint ett_qsig_sms_SmsStatusReportResponseChoice = -1;
1967 static gint ett_qsig_sms_SmsExtension = -1;
1968 static gint ett_qsig_sms_SEQUENCE_OF_Extension = -1;
1969 static gint ett_qsig_sms_ValidityPeriod = -1;
1970 static gint ett_qsig_sms_ValidityPeriodEnh = -1;
1971 static gint ett_qsig_sms_EnhancedVP = -1;
1972 static gint ett_qsig_sms_UserData = -1;
1973 static gint ett_qsig_sms_ShortMessageText = -1;
1974 static gint ett_qsig_sms_UserDataHeader = -1;
1975 static gint ett_qsig_sms_UserDataHeaderChoice = -1;
1976 static gint ett_qsig_sms_SmscControlParameterHeader = -1;
1977 static gint ett_qsig_sms_Concatenated8BitSMHeader = -1;
1978 static gint ett_qsig_sms_Concatenated16BitSMHeader = -1;
1979 static gint ett_qsig_sms_ApplicationPort8BitHeader = -1;
1980 static gint ett_qsig_sms_ApplicationPort16BitHeader = -1;
1981 static gint ett_qsig_sms_GenericUserValue = -1;
1982 static gint ett_qsig_sms_PAR_smsDeliverError = -1;
1983 static gint ett_qsig_sms_PAR_smsSubmitError = -1;
1984 static gint ett_qsig_sms_PAR_smsStatusReportError = -1;
1985 static gint ett_qsig_sms_PAR_smsCommandError = -1;
1986
1987 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1988
1989 static gint ett_qsig_mcr_MCRequestArg = -1;
1990 static gint ett_qsig_mcr_MCRequestResult = -1;
1991 static gint ett_qsig_mcr_MCInformArg = -1;
1992 static gint ett_qsig_mcr_MCAlertingArg = -1;
1993 static gint ett_qsig_mcr_CallType = -1;
1994 static gint ett_qsig_mcr_Correlation = -1;
1995 static gint ett_qsig_mcr_MCRExtensions = -1;
1996 static gint ett_qsig_mcr_SEQUENCE_OF_Extension = -1;
1997
1998 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1999
2000 static gint ett_qsig_mcm_MCMailboxFullArg = -1;
2001 static gint ett_qsig_mcm_MailboxFullFor = -1;
2002 static gint ett_qsig_mcm_MailboxFullPar = -1;
2003 static gint ett_qsig_mcm_MCMServiceArg = -1;
2004 static gint ett_qsig_mcm_MCMChange = -1;
2005 static gint ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo = -1;
2006 static gint ett_qsig_mcm_SEQUENCE_OF_MessageType = -1;
2007 static gint ett_qsig_mcm_MCMServiceInfo = -1;
2008 static gint ett_qsig_mcm_MCMInterrogateArg = -1;
2009 static gint ett_qsig_mcm_MCMInterrogateRes = -1;
2010 static gint ett_qsig_mcm_MCMNewMsgArg = -1;
2011 static gint ett_qsig_mcm_MCMNewArgumentExt = -1;
2012 static gint ett_qsig_mcm_SEQUENCE_OF_Extension = -1;
2013 static gint ett_qsig_mcm_MCMNoNewMsgArg = -1;
2014 static gint ett_qsig_mcm_MCMNoNewArgumentExt = -1;
2015 static gint ett_qsig_mcm_MCMUpdateArg = -1;
2016 static gint ett_qsig_mcm_MCMUpdateReqArg = -1;
2017 static gint ett_qsig_mcm_MCMUpdArgArgumentExt = -1;
2018 static gint ett_qsig_mcm_MCMUpdateReqRes = -1;
2019 static gint ett_qsig_mcm_MCMUpdateReqResElt = -1;
2020 static gint ett_qsig_mcm_MCMUpdResArgumentExt = -1;
2021 static gint ett_qsig_mcm_PartyInfo = -1;
2022 static gint ett_qsig_mcm_UpdateInfo = -1;
2023 static gint ett_qsig_mcm_AllMsgInfo = -1;
2024 static gint ett_qsig_mcm_MessageInfo = -1;
2025 static gint ett_qsig_mcm_CompleteInfo = -1;
2026 static gint ett_qsig_mcm_AddressHeader = -1;
2027 static gint ett_qsig_mcm_CompressedInfo = -1;
2028 static gint ett_qsig_mcm_MsgCentreId = -1;
2029 static gint ett_qsig_mcm_MCMExtensions = -1;
2030
2031 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
2032
2033 static gint ett_qsig_mid_MIDMailboxAuthArg = -1;
2034 static gint ett_qsig_mid_MIDMailboxIDArg = -1;
2035 static gint ett_qsig_mid_PartyInfo = -1;
2036 static gint ett_qsig_mid_String = -1;
2037 static gint ett_qsig_mid_MIDExtensions = -1;
2038 static gint ett_qsig_mid_SEQUENCE_OF_Extension = -1;
2039
2040 /*--- End of included file: packet-qsig-ett.c ---*/
2041 #line 311 "../../asn1/qsig/packet-qsig-template.c"
2042 static gint ett_cnq_PSS1InformationElement = -1;
2043
2044 /* Preferences */
2045
2046 /* Subdissectors */
2047 static dissector_handle_t q931_ie_handle = NULL;
2048
2049 /* Global variables */
2050 static const char *extension_oid = NULL;
2051 static GHashTable *qsig_opcode2oid_hashtable = NULL;
2052 static GHashTable *qsig_oid2op_hashtable = NULL;
2053
2054 /* Dissector tables */
2055 static dissector_table_t extension_dissector_table;
2056
2057
2058 /*--- Included file: packet-qsig-fn.c ---*/
2059 #line 1 "../../asn1/qsig/packet-qsig-fn.c"
2060
2061 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
2062
2063
2064
2065 static int
2066 dissect_qsig_T_extensionId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2067   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &extension_oid);
2068
2069   return offset;
2070 }
2071
2072
2073
2074 static int
2075 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_) {
2076 #line 146 "../../asn1/qsig/qsig.cnf"
2077     tvbuff_t *next_tvb;
2078
2079     next_tvb = tvb_new_subset_remaining(tvb, offset);
2080     if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) {
2081         proto_item *item=NULL;
2082         proto_tree *next_tree=NULL;
2083
2084         item=proto_tree_add_text(tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "QSIG: Dissector for extension with OID:%s not implemented.", extension_oid);
2085         if(item){
2086             next_tree=proto_item_add_subtree(item, ett_qsig_unknown_extension);
2087         }
2088         dissect_unknown_ber(actx->pinfo, next_tvb, offset, next_tree);
2089     }
2090
2091     offset+=tvb_length_remaining(tvb, offset);
2092
2093
2094   return offset;
2095 }
2096
2097
2098 static const ber_sequence_t qsig_Extension_sequence[] = {
2099   { &hf_qsig_extensionId    , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionId },
2100   { &hf_qsig_extensionArgument, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionArgument },
2101   { NULL, 0, 0, 0, NULL }
2102 };
2103
2104 static int
2105 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_) {
2106 #line 143 "../../asn1/qsig/qsig.cnf"
2107   extension_oid = NULL;
2108
2109   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2110                                    qsig_Extension_sequence, hf_index, ett_qsig_Extension);
2111
2112   return offset;
2113 }
2114
2115
2116
2117 static int
2118 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_) {
2119 #line 168 "../../asn1/qsig/qsig.cnf"
2120   tvbuff_t *out_tvb = NULL;
2121   proto_tree *data_tree;
2122
2123   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2124                                        &out_tvb);
2125
2126   data_tree = proto_item_add_subtree(actx->created_item, ett_cnq_PSS1InformationElement); 
2127   if (out_tvb && (tvb_length(out_tvb) > 0) && q931_ie_handle)
2128     call_dissector(q931_ie_handle, out_tvb, actx->pinfo, data_tree);
2129
2130
2131   return offset;
2132 }
2133
2134
2135
2136 static int
2137 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_) {
2138   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2139                                       hf_index, BER_CLASS_APP, 0, TRUE, dissect_qsig_PSS1InformationElement_U);
2140
2141   return offset;
2142 }
2143
2144
2145
2146 static int
2147 dissect_qsig_NumberDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2148   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
2149                                             actx, tree, tvb, offset, hf_index,
2150                                             NULL);
2151
2152   return offset;
2153 }
2154
2155
2156 static const value_string qsig_PublicTypeOfNumber_vals[] = {
2157   {   0, "unknown" },
2158   {   1, "internationalNumber" },
2159   {   2, "nationalNumber" },
2160   {   3, "networkSpecificNumber" },
2161   {   4, "subscriberNumber" },
2162   {   6, "abbreviatedNumber" },
2163   { 0, NULL }
2164 };
2165
2166
2167 static int
2168 dissect_qsig_PublicTypeOfNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2169   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2170                                   NULL);
2171
2172   return offset;
2173 }
2174
2175
2176 static const ber_sequence_t qsig_PublicPartyNumber_sequence[] = {
2177   { &hf_qsig_publicTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PublicTypeOfNumber },
2178   { &hf_qsig_publicNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
2179   { NULL, 0, 0, 0, NULL }
2180 };
2181
2182 static int
2183 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_) {
2184   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2185                                    qsig_PublicPartyNumber_sequence, hf_index, ett_qsig_PublicPartyNumber);
2186
2187   return offset;
2188 }
2189
2190
2191 static const value_string qsig_PrivateTypeOfNumber_vals[] = {
2192   {   0, "unknown" },
2193   {   1, "level2RegionalNumber" },
2194   {   2, "level1RegionalNumber" },
2195   {   3, "pISNSpecificNumber" },
2196   {   4, "localNumber" },
2197   {   6, "abbreviatedNumber" },
2198   { 0, NULL }
2199 };
2200
2201
2202 static int
2203 dissect_qsig_PrivateTypeOfNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2204   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2205                                   NULL);
2206
2207   return offset;
2208 }
2209
2210
2211 static const ber_sequence_t qsig_PrivatePartyNumber_sequence[] = {
2212   { &hf_qsig_privateTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PrivateTypeOfNumber },
2213   { &hf_qsig_privateNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
2214   { NULL, 0, 0, 0, NULL }
2215 };
2216
2217 static int
2218 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_) {
2219   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2220                                    qsig_PrivatePartyNumber_sequence, hf_index, ett_qsig_PrivatePartyNumber);
2221
2222   return offset;
2223 }
2224
2225
2226 static const value_string qsig_PartyNumber_vals[] = {
2227   {   0, "unknownPartyNumber" },
2228   {   1, "publicPartyNumber" },
2229   {   3, "dataPartyNumber" },
2230   {   4, "telexPartyNumber" },
2231   {   5, "privatePartyNumber" },
2232   {   8, "nationalStandardPartyNumber" },
2233   { 0, NULL }
2234 };
2235
2236 static const ber_choice_t qsig_PartyNumber_choice[] = {
2237   {   0, &hf_qsig_unknownPartyNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2238   {   1, &hf_qsig_publicPartyNumber, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_PublicPartyNumber },
2239   {   3, &hf_qsig_dataPartyNumber, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2240   {   4, &hf_qsig_telexPartyNumber, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2241   {   5, &hf_qsig_privatePartyNumber, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_PrivatePartyNumber },
2242   {   8, &hf_qsig_nationalStandardPartyNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2243   { 0, NULL, 0, 0, 0, NULL }
2244 };
2245
2246 static int
2247 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_) {
2248   offset = dissect_ber_choice(actx, tree, tvb, offset,
2249                                  qsig_PartyNumber_choice, hf_index, ett_qsig_PartyNumber,
2250                                  NULL);
2251
2252   return offset;
2253 }
2254
2255
2256 static const value_string qsig_ScreeningIndicator_vals[] = {
2257   {   0, "userProvidedNotScreened" },
2258   {   1, "userProvidedVerifiedAndPassed" },
2259   {   2, "userProvidedVerifiedAndFailed" },
2260   {   3, "networkProvided" },
2261   { 0, NULL }
2262 };
2263
2264
2265 static int
2266 dissect_qsig_ScreeningIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2267   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2268                                   NULL);
2269
2270   return offset;
2271 }
2272
2273
2274
2275 static int
2276 dissect_qsig_SubaddressInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2277   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2278                                        NULL);
2279
2280   return offset;
2281 }
2282
2283
2284
2285 static int
2286 dissect_qsig_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_) {
2287   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2288
2289   return offset;
2290 }
2291
2292
2293 static const ber_sequence_t qsig_UserSpecifiedSubaddress_sequence[] = {
2294   { &hf_qsig_subaddressInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_SubaddressInformation },
2295   { &hf_qsig_oddCountIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_BOOLEAN },
2296   { NULL, 0, 0, 0, NULL }
2297 };
2298
2299 static int
2300 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_) {
2301   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2302                                    qsig_UserSpecifiedSubaddress_sequence, hf_index, ett_qsig_UserSpecifiedSubaddress);
2303
2304   return offset;
2305 }
2306
2307
2308
2309 static int
2310 dissect_qsig_NSAPSubaddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2311   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2312                                        NULL);
2313
2314   return offset;
2315 }
2316
2317
2318 static const value_string qsig_PartySubaddress_vals[] = {
2319   {   0, "userSpecifiedSubaddress" },
2320   {   1, "nSAPSubaddress" },
2321   { 0, NULL }
2322 };
2323
2324 static const ber_choice_t qsig_PartySubaddress_choice[] = {
2325   {   0, &hf_qsig_userSpecifiedSubaddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_UserSpecifiedSubaddress },
2326   {   1, &hf_qsig_nSAPSubaddress , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_NSAPSubaddress },
2327   { 0, NULL, 0, 0, 0, NULL }
2328 };
2329
2330 static int
2331 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_) {
2332   offset = dissect_ber_choice(actx, tree, tvb, offset,
2333                                  qsig_PartySubaddress_choice, hf_index, ett_qsig_PartySubaddress,
2334                                  NULL);
2335
2336   return offset;
2337 }
2338
2339
2340 static const ber_sequence_t qsig_AddressScreened_sequence[] = {
2341   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2342   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2343   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2344   { NULL, 0, 0, 0, NULL }
2345 };
2346
2347 static int
2348 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_) {
2349   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2350                                    qsig_AddressScreened_sequence, hf_index, ett_qsig_AddressScreened);
2351
2352   return offset;
2353 }
2354
2355
2356
2357 static int
2358 dissect_qsig_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_) {
2359   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2360
2361   return offset;
2362 }
2363
2364
2365 static const value_string qsig_PresentedAddressScreened_vals[] = {
2366   {   0, "presentationAllowedAddressS" },
2367   {   1, "presentationRestricted" },
2368   {   2, "numberNotAvailableDueToInterworking" },
2369   {   3, "presentationRestrictedAddressS" },
2370   { 0, NULL }
2371 };
2372
2373 static const ber_choice_t qsig_PresentedAddressScreened_choice[] = {
2374   {   0, &hf_qsig_presentationAllowedAddressS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2375   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2376   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2377   {   3, &hf_qsig_presentationRestrictedAddressS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2378   { 0, NULL, 0, 0, 0, NULL }
2379 };
2380
2381 static int
2382 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_) {
2383   offset = dissect_ber_choice(actx, tree, tvb, offset,
2384                                  qsig_PresentedAddressScreened_choice, hf_index, ett_qsig_PresentedAddressScreened,
2385                                  NULL);
2386
2387   return offset;
2388 }
2389
2390
2391 static const ber_sequence_t qsig_Address_sequence[] = {
2392   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2393   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2394   { NULL, 0, 0, 0, NULL }
2395 };
2396
2397 static int
2398 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_) {
2399   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2400                                    qsig_Address_sequence, hf_index, ett_qsig_Address);
2401
2402   return offset;
2403 }
2404
2405
2406 static const value_string qsig_PresentedAddressUnscreened_vals[] = {
2407   {   0, "presentationAllowedAddressU" },
2408   {   1, "presentationRestricted" },
2409   {   2, "numberNotAvailableDueToInterworking" },
2410   {   3, "presentationRestrictedAddressU" },
2411   { 0, NULL }
2412 };
2413
2414 static const ber_choice_t qsig_PresentedAddressUnscreened_choice[] = {
2415   {   0, &hf_qsig_presentationAllowedAddressU, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2416   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2417   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2418   {   3, &hf_qsig_presentationRestrictedAddressU, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2419   { 0, NULL, 0, 0, 0, NULL }
2420 };
2421
2422 static int
2423 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_) {
2424   offset = dissect_ber_choice(actx, tree, tvb, offset,
2425                                  qsig_PresentedAddressUnscreened_choice, hf_index, ett_qsig_PresentedAddressUnscreened,
2426                                  NULL);
2427
2428   return offset;
2429 }
2430
2431
2432 static const ber_sequence_t qsig_NumberScreened_sequence[] = {
2433   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2434   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2435   { NULL, 0, 0, 0, NULL }
2436 };
2437
2438 static int
2439 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_) {
2440   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2441                                    qsig_NumberScreened_sequence, hf_index, ett_qsig_NumberScreened);
2442
2443   return offset;
2444 }
2445
2446
2447 static const value_string qsig_PresentedNumberScreened_vals[] = {
2448   {   0, "presentationAllowedAddressNS" },
2449   {   1, "presentationRestricted" },
2450   {   2, "numberNotAvailableDueToInterworking" },
2451   {   3, "presentationRestrictedAddressNS" },
2452   { 0, NULL }
2453 };
2454
2455 static const ber_choice_t qsig_PresentedNumberScreened_choice[] = {
2456   {   0, &hf_qsig_presentationAllowedAddressNS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2457   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2458   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2459   {   3, &hf_qsig_presentationRestrictedAddressNS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2460   { 0, NULL, 0, 0, 0, NULL }
2461 };
2462
2463 static int
2464 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_) {
2465   offset = dissect_ber_choice(actx, tree, tvb, offset,
2466                                  qsig_PresentedNumberScreened_choice, hf_index, ett_qsig_PresentedNumberScreened,
2467                                  NULL);
2468
2469   return offset;
2470 }
2471
2472
2473 static const value_string qsig_PresentedNumberUnscreened_vals[] = {
2474   {   0, "presentationAllowedAddressNU" },
2475   {   1, "presentationRestricted" },
2476   {   2, "numberNotAvailableDueToInterworking" },
2477   {   3, "presentationRestrictedAddressNU" },
2478   { 0, NULL }
2479 };
2480
2481 static const ber_choice_t qsig_PresentedNumberUnscreened_choice[] = {
2482   {   0, &hf_qsig_presentationAllowedAddressNU, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
2483   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2484   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2485   {   3, &hf_qsig_presentationRestrictedAddressNU, BER_CLASS_CON, 3, 0, dissect_qsig_PartyNumber },
2486   { 0, NULL, 0, 0, 0, NULL }
2487 };
2488
2489 static int
2490 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_) {
2491   offset = dissect_ber_choice(actx, tree, tvb, offset,
2492                                  qsig_PresentedNumberUnscreened_choice, hf_index, ett_qsig_PresentedNumberUnscreened,
2493                                  NULL);
2494
2495   return offset;
2496 }
2497
2498
2499
2500 static int
2501 dissect_qsig_PresentationAllowedIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2502   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2503
2504   return offset;
2505 }
2506
2507
2508 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
2509
2510
2511
2512 static int
2513 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_) {
2514   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2515                                        NULL);
2516
2517   return offset;
2518 }
2519
2520
2521 static const value_string qsig_na_CharacterSet_vals[] = {
2522   {   0, "unknown" },
2523   {   1, "iso8859-1" },
2524   {   3, "iso8859-2" },
2525   {   4, "iso8859-3" },
2526   {   5, "iso8859-4" },
2527   {   6, "iso8859-5" },
2528   {   7, "iso8859-7" },
2529   {   8, "iso10646-BmpString" },
2530   {   9, "iso10646-utf-8String" },
2531   { 0, NULL }
2532 };
2533
2534
2535 static int
2536 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_) {
2537   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2538                                                 NULL);
2539
2540   return offset;
2541 }
2542
2543
2544 static const ber_sequence_t qsig_na_NameSet_sequence[] = {
2545   { &hf_qsig_na_nameData    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameData },
2546   { &hf_qsig_na_characterSet, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_CharacterSet },
2547   { NULL, 0, 0, 0, NULL }
2548 };
2549
2550 static int
2551 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_) {
2552   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2553                                    qsig_na_NameSet_sequence, hf_index, ett_qsig_na_NameSet);
2554
2555   return offset;
2556 }
2557
2558
2559 static const value_string qsig_na_NamePresentationAllowed_vals[] = {
2560   {   0, "namePresentationAllowedSimple" },
2561   {   1, "namePresentationAllowedExtended" },
2562   { 0, NULL }
2563 };
2564
2565 static const ber_choice_t qsig_na_NamePresentationAllowed_choice[] = {
2566   {   0, &hf_qsig_na_namePresentationAllowedSimple, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2567   {   1, &hf_qsig_na_namePresentationAllowedExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2568   { 0, NULL, 0, 0, 0, NULL }
2569 };
2570
2571 static int
2572 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_) {
2573   offset = dissect_ber_choice(actx, tree, tvb, offset,
2574                                  qsig_na_NamePresentationAllowed_choice, hf_index, ett_qsig_na_NamePresentationAllowed,
2575                                  NULL);
2576
2577   return offset;
2578 }
2579
2580
2581
2582 static int
2583 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_) {
2584   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2585
2586   return offset;
2587 }
2588
2589
2590 static const value_string qsig_na_NamePresentationRestricted_vals[] = {
2591   {   2, "namePresentationRestrictedSimple" },
2592   {   3, "namePresentationRestrictedExtended" },
2593   {   7, "namePresentationRestrictedNull" },
2594   { 0, NULL }
2595 };
2596
2597 static const ber_choice_t qsig_na_NamePresentationRestricted_choice[] = {
2598   {   2, &hf_qsig_na_namePresentationRestrictedSimple, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2599   {   3, &hf_qsig_na_namePresentationRestrictedExtended, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2600   {   7, &hf_qsig_na_namePresentationRestrictedNull, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_na_NULL },
2601   { 0, NULL, 0, 0, 0, NULL }
2602 };
2603
2604 static int
2605 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_) {
2606   offset = dissect_ber_choice(actx, tree, tvb, offset,
2607                                  qsig_na_NamePresentationRestricted_choice, hf_index, ett_qsig_na_NamePresentationRestricted,
2608                                  NULL);
2609
2610   return offset;
2611 }
2612
2613
2614
2615 static int
2616 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_) {
2617   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2618                                       hf_index, BER_CLASS_CON, 4, TRUE, dissect_qsig_na_NULL);
2619
2620   return offset;
2621 }
2622
2623
2624 static const ber_choice_t qsig_na_Name_choice[] = {
2625   {   0, &hf_qsig_na_namePresentationAllowed, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationAllowed },
2626   {   1, &hf_qsig_na_namePresentationRestricted, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationRestricted },
2627   {   2, &hf_qsig_na_nameNotAvailable, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameNotAvailable },
2628   { 0, NULL, 0, 0, 0, NULL }
2629 };
2630
2631 int
2632 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_) {
2633   offset = dissect_ber_choice(actx, tree, tvb, offset,
2634                                  qsig_na_Name_choice, hf_index, ett_qsig_na_Name,
2635                                  NULL);
2636
2637   return offset;
2638 }
2639
2640
2641 static const ber_sequence_t qsig_na_SEQUENCE_OF_Extension_sequence_of[1] = {
2642   { &hf_qsig_na_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2643 };
2644
2645 static int
2646 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_) {
2647   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2648                                       qsig_na_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_na_SEQUENCE_OF_Extension);
2649
2650   return offset;
2651 }
2652
2653
2654 static const value_string qsig_na_NameExtension_vals[] = {
2655   {   5, "single" },
2656   {   6, "multiple" },
2657   { 0, NULL }
2658 };
2659
2660 static const ber_choice_t qsig_na_NameExtension_choice[] = {
2661   {   5, &hf_qsig_na_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2662   {   6, &hf_qsig_na_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_na_SEQUENCE_OF_Extension },
2663   { 0, NULL, 0, 0, 0, NULL }
2664 };
2665
2666 static int
2667 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_) {
2668   offset = dissect_ber_choice(actx, tree, tvb, offset,
2669                                  qsig_na_NameExtension_choice, hf_index, ett_qsig_na_NameExtension,
2670                                  NULL);
2671
2672   return offset;
2673 }
2674
2675
2676 static const ber_sequence_t qsig_na_T_nameSequence_sequence[] = {
2677   { &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_Name },
2678   { &hf_qsig_na_extensionNA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_NameExtension },
2679   { NULL, 0, 0, 0, NULL }
2680 };
2681
2682 static int
2683 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_) {
2684   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2685                                    qsig_na_T_nameSequence_sequence, hf_index, ett_qsig_na_T_nameSequence);
2686
2687   return offset;
2688 }
2689
2690
2691 static const value_string qsig_na_NameArg_vals[] = {
2692   {   0, "name" },
2693   {   1, "nameSequence" },
2694   { 0, NULL }
2695 };
2696
2697 static const ber_choice_t qsig_na_NameArg_choice[] = {
2698   {   0, &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
2699   {   1, &hf_qsig_na_nameSequence, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_na_T_nameSequence },
2700   { 0, NULL, 0, 0, 0, NULL }
2701 };
2702
2703 static int
2704 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_) {
2705   offset = dissect_ber_choice(actx, tree, tvb, offset,
2706                                  qsig_na_NameArg_choice, hf_index, ett_qsig_na_NameArg,
2707                                  NULL);
2708
2709   return offset;
2710 }
2711
2712 /*--- PDUs ---*/
2713
2714 static int dissect_qsig_na_NameArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2715   int offset = 0;
2716   asn1_ctx_t asn1_ctx;
2717   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
2718   offset = dissect_qsig_na_NameArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_na_qsig_na_NameArg_PDU);
2719   return offset;
2720 }
2721
2722
2723 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
2724
2725
2726 static const value_string qsig_cf_Procedure_vals[] = {
2727   {   0, "cfu" },
2728   {   1, "cfb" },
2729   {   2, "cfnr" },
2730   { 0, NULL }
2731 };
2732
2733
2734 static int
2735 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_) {
2736   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2737                                   NULL);
2738
2739   return offset;
2740 }
2741
2742
2743 static const value_string qsig_cf_BasicService_vals[] = {
2744   {   0, "allServices" },
2745   {   1, "speech" },
2746   {   2, "unrestrictedDigitalInformation" },
2747   {   3, "audio3100Hz" },
2748   {  32, "telephony" },
2749   {  33, "teletex" },
2750   {  34, "telefaxGroup4Class1" },
2751   {  35, "videotexSyntaxBased" },
2752   {  36, "videotelephony" },
2753   { 0, NULL }
2754 };
2755
2756
2757 static int
2758 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_) {
2759   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2760                                   NULL);
2761
2762   return offset;
2763 }
2764
2765
2766 static const ber_sequence_t qsig_cf_SEQUENCE_OF_Extension_sequence_of[1] = {
2767   { &hf_qsig_cf_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2768 };
2769
2770 static int
2771 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_) {
2772   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2773                                       qsig_cf_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cf_SEQUENCE_OF_Extension);
2774
2775   return offset;
2776 }
2777
2778
2779 static const value_string qsig_cf_ADExtension_vals[] = {
2780   {   1, "single" },
2781   {   2, "multiple" },
2782   { 0, NULL }
2783 };
2784
2785 static const ber_choice_t qsig_cf_ADExtension_choice[] = {
2786   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2787   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2788   { 0, NULL, 0, 0, 0, NULL }
2789 };
2790
2791 static int
2792 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_) {
2793   offset = dissect_ber_choice(actx, tree, tvb, offset,
2794                                  qsig_cf_ADExtension_choice, hf_index, ett_qsig_cf_ADExtension,
2795                                  NULL);
2796
2797   return offset;
2798 }
2799
2800
2801 static const ber_sequence_t qsig_cf_ARG_activateDiversionQ_sequence[] = {
2802   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2803   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2804   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
2805   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2806   { &hf_qsig_cf_activatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2807   { &hf_qsig_cf_extensionAD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_ADExtension },
2808   { NULL, 0, 0, 0, NULL }
2809 };
2810
2811 static int
2812 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_) {
2813   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2814                                    qsig_cf_ARG_activateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_activateDiversionQ);
2815
2816   return offset;
2817 }
2818
2819
2820
2821 static int
2822 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_) {
2823   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2824
2825   return offset;
2826 }
2827
2828
2829 static const value_string qsig_cf_RES_activateDiversionQ_vals[] = {
2830   {   0, "null" },
2831   {   1, "single" },
2832   {   2, "multiple" },
2833   { 0, NULL }
2834 };
2835
2836 static const ber_choice_t qsig_cf_RES_activateDiversionQ_choice[] = {
2837   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2838   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2839   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2840   { 0, NULL, 0, 0, 0, NULL }
2841 };
2842
2843 static int
2844 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_) {
2845   offset = dissect_ber_choice(actx, tree, tvb, offset,
2846                                  qsig_cf_RES_activateDiversionQ_choice, hf_index, ett_qsig_cf_RES_activateDiversionQ,
2847                                  NULL);
2848
2849   return offset;
2850 }
2851
2852
2853 static const value_string qsig_cf_DDExtension_vals[] = {
2854   {   1, "single" },
2855   {   2, "multiple" },
2856   { 0, NULL }
2857 };
2858
2859 static const ber_choice_t qsig_cf_DDExtension_choice[] = {
2860   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2861   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2862   { 0, NULL, 0, 0, 0, NULL }
2863 };
2864
2865 static int
2866 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_) {
2867   offset = dissect_ber_choice(actx, tree, tvb, offset,
2868                                  qsig_cf_DDExtension_choice, hf_index, ett_qsig_cf_DDExtension,
2869                                  NULL);
2870
2871   return offset;
2872 }
2873
2874
2875 static const ber_sequence_t qsig_cf_ARG_deactivateDiversionQ_sequence[] = {
2876   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2877   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2878   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2879   { &hf_qsig_cf_deactivatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2880   { &hf_qsig_cf_extensionDD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DDExtension },
2881   { NULL, 0, 0, 0, NULL }
2882 };
2883
2884 static int
2885 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_) {
2886   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2887                                    qsig_cf_ARG_deactivateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_deactivateDiversionQ);
2888
2889   return offset;
2890 }
2891
2892
2893 static const value_string qsig_cf_RES_deactivateDiversionQ_vals[] = {
2894   {   0, "null" },
2895   {   1, "single" },
2896   {   2, "multiple" },
2897   { 0, NULL }
2898 };
2899
2900 static const ber_choice_t qsig_cf_RES_deactivateDiversionQ_choice[] = {
2901   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2902   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2903   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2904   { 0, NULL, 0, 0, 0, NULL }
2905 };
2906
2907 static int
2908 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_) {
2909   offset = dissect_ber_choice(actx, tree, tvb, offset,
2910                                  qsig_cf_RES_deactivateDiversionQ_choice, hf_index, ett_qsig_cf_RES_deactivateDiversionQ,
2911                                  NULL);
2912
2913   return offset;
2914 }
2915
2916
2917 static const value_string qsig_cf_IDExtension_vals[] = {
2918   {   1, "single" },
2919   {   2, "multiple" },
2920   { 0, NULL }
2921 };
2922
2923 static const ber_choice_t qsig_cf_IDExtension_choice[] = {
2924   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2925   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2926   { 0, NULL, 0, 0, 0, NULL }
2927 };
2928
2929 static int
2930 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_) {
2931   offset = dissect_ber_choice(actx, tree, tvb, offset,
2932                                  qsig_cf_IDExtension_choice, hf_index, ett_qsig_cf_IDExtension,
2933                                  NULL);
2934
2935   return offset;
2936 }
2937
2938
2939 static const ber_sequence_t qsig_cf_ARG_interrogateDiversionQ_sequence[] = {
2940   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2941   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2942   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2943   { &hf_qsig_cf_interrogatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2944   { &hf_qsig_cf_extensionID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IDExtension },
2945   { NULL, 0, 0, 0, NULL }
2946 };
2947
2948 static int
2949 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_) {
2950   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2951                                    qsig_cf_ARG_interrogateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_interrogateDiversionQ);
2952
2953   return offset;
2954 }
2955
2956
2957 static const value_string qsig_cf_CHRExtension_vals[] = {
2958   {   1, "single" },
2959   {   2, "multiple" },
2960   { 0, NULL }
2961 };
2962
2963 static const ber_choice_t qsig_cf_CHRExtension_choice[] = {
2964   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2965   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2966   { 0, NULL, 0, 0, 0, NULL }
2967 };
2968
2969 static int
2970 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_) {
2971   offset = dissect_ber_choice(actx, tree, tvb, offset,
2972                                  qsig_cf_CHRExtension_choice, hf_index, ett_qsig_cf_CHRExtension,
2973                                  NULL);
2974
2975   return offset;
2976 }
2977
2978
2979 static const ber_sequence_t qsig_cf_ARG_checkRestriction_sequence[] = {
2980   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2981   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2982   { &hf_qsig_cf_divertedToNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2983   { &hf_qsig_cf_extensionCHR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CHRExtension },
2984   { NULL, 0, 0, 0, NULL }
2985 };
2986
2987 static int
2988 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_) {
2989   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2990                                    qsig_cf_ARG_checkRestriction_sequence, hf_index, ett_qsig_cf_ARG_checkRestriction);
2991
2992   return offset;
2993 }
2994
2995
2996 static const value_string qsig_cf_RES_checkRestriction_vals[] = {
2997   {   0, "null" },
2998   {   1, "single" },
2999   {   2, "multiple" },
3000   { 0, NULL }
3001 };
3002
3003 static const ber_choice_t qsig_cf_RES_checkRestriction_choice[] = {
3004   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3005   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3006   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3007   { 0, NULL, 0, 0, 0, NULL }
3008 };
3009
3010 static int
3011 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_) {
3012   offset = dissect_ber_choice(actx, tree, tvb, offset,
3013                                  qsig_cf_RES_checkRestriction_choice, hf_index, ett_qsig_cf_RES_checkRestriction,
3014                                  NULL);
3015
3016   return offset;
3017 }
3018
3019
3020 static const value_string qsig_cf_DiversionReason_vals[] = {
3021   {   0, "unknown" },
3022   {   1, "cfu" },
3023   {   2, "cfb" },
3024   {   3, "cfnr" },
3025   { 0, NULL }
3026 };
3027
3028
3029 static int
3030 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_) {
3031   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3032                                   NULL);
3033
3034   return offset;
3035 }
3036
3037
3038
3039 static int
3040 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_) {
3041   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3042                                                 NULL);
3043
3044   return offset;
3045 }
3046
3047
3048 static const value_string qsig_cf_SubscriptionOption_vals[] = {
3049   {   0, "noNotification" },
3050   {   1, "notificationWithoutDivertedToNr" },
3051   {   2, "notificationWithDivertedToNr" },
3052   { 0, NULL }
3053 };
3054
3055
3056 static int
3057 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_) {
3058   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3059                                   NULL);
3060
3061   return offset;
3062 }
3063
3064
3065 static const value_string qsig_cf_CRRExtension_vals[] = {
3066   {   9, "single" },
3067   {  10, "multiple" },
3068   { 0, NULL }
3069 };
3070
3071 static const ber_choice_t qsig_cf_CRRExtension_choice[] = {
3072   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3073   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3074   { 0, NULL, 0, 0, 0, NULL }
3075 };
3076
3077 static int
3078 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_) {
3079   offset = dissect_ber_choice(actx, tree, tvb, offset,
3080                                  qsig_cf_CRRExtension_choice, hf_index, ett_qsig_cf_CRRExtension,
3081                                  NULL);
3082
3083   return offset;
3084 }
3085
3086
3087 static const ber_sequence_t qsig_cf_ARG_callRerouteing_sequence[] = {
3088   { &hf_qsig_cf_rerouteingReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3089   { &hf_qsig_cf_originalRerouteingReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3090   { &hf_qsig_cf_calledAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3091   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3092   { &hf_qsig_cf_pSS1InfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3093   { &hf_qsig_cf_lastRerouteingNr, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberUnscreened },
3094   { &hf_qsig_cf_subscriptionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SubscriptionOption },
3095   { &hf_qsig_cf_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
3096   { &hf_qsig_cf_callingNumber, BER_CLASS_CON, 4, 0, dissect_qsig_PresentedNumberScreened },
3097   { &hf_qsig_cf_callingName , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3098   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3099   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3100   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3101   { &hf_qsig_cf_extensionCRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CRRExtension },
3102   { NULL, 0, 0, 0, NULL }
3103 };
3104
3105 static int
3106 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_) {
3107   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3108                                    qsig_cf_ARG_callRerouteing_sequence, hf_index, ett_qsig_cf_ARG_callRerouteing);
3109
3110   return offset;
3111 }
3112
3113
3114 static const value_string qsig_cf_RES_callRerouteing_vals[] = {
3115   {   0, "null" },
3116   {   1, "single" },
3117   {   2, "multiple" },
3118   { 0, NULL }
3119 };
3120
3121 static const ber_choice_t qsig_cf_RES_callRerouteing_choice[] = {
3122   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3123   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3124   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3125   { 0, NULL, 0, 0, 0, NULL }
3126 };
3127
3128 static int
3129 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_) {
3130   offset = dissect_ber_choice(actx, tree, tvb, offset,
3131                                  qsig_cf_RES_callRerouteing_choice, hf_index, ett_qsig_cf_RES_callRerouteing,
3132                                  NULL);
3133
3134   return offset;
3135 }
3136
3137
3138 static const value_string qsig_cf_DLI1Extension_vals[] = {
3139   {   9, "single" },
3140   {  10, "multiple" },
3141   { 0, NULL }
3142 };
3143
3144 static const ber_choice_t qsig_cf_DLI1Extension_choice[] = {
3145   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3146   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3147   { 0, NULL, 0, 0, 0, NULL }
3148 };
3149
3150 static int
3151 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_) {
3152   offset = dissect_ber_choice(actx, tree, tvb, offset,
3153                                  qsig_cf_DLI1Extension_choice, hf_index, ett_qsig_cf_DLI1Extension,
3154                                  NULL);
3155
3156   return offset;
3157 }
3158
3159
3160 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation1_sequence[] = {
3161   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3162   { &hf_qsig_cf_subscriptionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_SubscriptionOption },
3163   { &hf_qsig_cf_nominatedNr , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3164   { &hf_qsig_cf_extensionDLI1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI1Extension },
3165   { NULL, 0, 0, 0, NULL }
3166 };
3167
3168 static int
3169 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_) {
3170   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3171                                    qsig_cf_ARG_divertingLegInformation1_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation1);
3172
3173   return offset;
3174 }
3175
3176
3177 static const value_string qsig_cf_DLI2Extension_vals[] = {
3178   {   5, "single" },
3179   {   6, "multiple" },
3180   { 0, NULL }
3181 };
3182
3183 static const ber_choice_t qsig_cf_DLI2Extension_choice[] = {
3184   {   5, &hf_qsig_cf_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3185   {   6, &hf_qsig_cf_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3186   { 0, NULL, 0, 0, 0, NULL }
3187 };
3188
3189 static int
3190 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_) {
3191   offset = dissect_ber_choice(actx, tree, tvb, offset,
3192                                  qsig_cf_DLI2Extension_choice, hf_index, ett_qsig_cf_DLI2Extension,
3193                                  NULL);
3194
3195   return offset;
3196 }
3197
3198
3199 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation2_sequence[] = {
3200   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3201   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3202   { &hf_qsig_cf_originalDiversionReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3203   { &hf_qsig_cf_divertingNr , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3204   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3205   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3206   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3207   { &hf_qsig_cf_extensionDLI2, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI2Extension },
3208   { NULL, 0, 0, 0, NULL }
3209 };
3210
3211 static int
3212 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_) {
3213   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3214                                    qsig_cf_ARG_divertingLegInformation2_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation2);
3215
3216   return offset;
3217 }
3218
3219
3220 static const value_string qsig_cf_DLI3Extension_vals[] = {
3221   {   1, "single" },
3222   {   2, "multiple" },
3223   { 0, NULL }
3224 };
3225
3226 static const ber_choice_t qsig_cf_DLI3Extension_choice[] = {
3227   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3228   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3229   { 0, NULL, 0, 0, 0, NULL }
3230 };
3231
3232 static int
3233 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_) {
3234   offset = dissect_ber_choice(actx, tree, tvb, offset,
3235                                  qsig_cf_DLI3Extension_choice, hf_index, ett_qsig_cf_DLI3Extension,
3236                                  NULL);
3237
3238   return offset;
3239 }
3240
3241
3242 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation3_sequence[] = {
3243   { &hf_qsig_cf_presentationAllowedIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentationAllowedIndicator },
3244   { &hf_qsig_cf_redirectionName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3245   { &hf_qsig_cf_extensionDLI3, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI3Extension },
3246   { NULL, 0, 0, 0, NULL }
3247 };
3248
3249 static int
3250 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_) {
3251   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3252                                    qsig_cf_ARG_divertingLegInformation3_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation3);
3253
3254   return offset;
3255 }
3256
3257
3258 static const value_string qsig_cf_ARG_cfnrDivertedLegFailed_vals[] = {
3259   {   0, "null" },
3260   {   1, "single" },
3261   {   2, "multiple" },
3262   { 0, NULL }
3263 };
3264
3265 static const ber_choice_t qsig_cf_ARG_cfnrDivertedLegFailed_choice[] = {
3266   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3267   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3268   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3269   { 0, NULL, 0, 0, 0, NULL }
3270 };
3271
3272 static int
3273 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_) {
3274   offset = dissect_ber_choice(actx, tree, tvb, offset,
3275                                  qsig_cf_ARG_cfnrDivertedLegFailed_choice, hf_index, ett_qsig_cf_ARG_cfnrDivertedLegFailed,
3276                                  NULL);
3277
3278   return offset;
3279 }
3280
3281
3282
3283 static int
3284 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_) {
3285   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
3286
3287   return offset;
3288 }
3289
3290
3291 static const value_string qsig_cf_IRExtension_vals[] = {
3292   {   1, "single" },
3293   {   2, "multiple" },
3294   { 0, NULL }
3295 };
3296
3297 static const ber_choice_t qsig_cf_IRExtension_choice[] = {
3298   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3299   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3300   { 0, NULL, 0, 0, 0, NULL }
3301 };
3302
3303 static int
3304 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_) {
3305   offset = dissect_ber_choice(actx, tree, tvb, offset,
3306                                  qsig_cf_IRExtension_choice, hf_index, ett_qsig_cf_IRExtension,
3307                                  NULL);
3308
3309   return offset;
3310 }
3311
3312
3313 static const ber_sequence_t qsig_cf_IntResult_sequence[] = {
3314   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3315   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
3316   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
3317   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3318   { &hf_qsig_cf_remoteEnabled, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BOOLEAN },
3319   { &hf_qsig_cf_extensionIR , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IRExtension },
3320   { NULL, 0, 0, 0, NULL }
3321 };
3322
3323 static int
3324 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_) {
3325   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3326                                    qsig_cf_IntResult_sequence, hf_index, ett_qsig_cf_IntResult);
3327
3328   return offset;
3329 }
3330
3331
3332 static const ber_sequence_t qsig_cf_IntResultList_set_of[1] = {
3333   { &hf_qsig_cf_IntResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_IntResult },
3334 };
3335
3336 static int
3337 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_) {
3338   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3339                                  qsig_cf_IntResultList_set_of, hf_index, ett_qsig_cf_IntResultList);
3340
3341   return offset;
3342 }
3343
3344 /*--- PDUs ---*/
3345
3346 static int dissect_qsig_cf_ARG_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3347   int offset = 0;
3348   asn1_ctx_t asn1_ctx;
3349   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3350   offset = dissect_qsig_cf_ARG_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU);
3351   return offset;
3352 }
3353 static int dissect_qsig_cf_RES_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3354   int offset = 0;
3355   asn1_ctx_t asn1_ctx;
3356   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3357   offset = dissect_qsig_cf_RES_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU);
3358   return offset;
3359 }
3360 static int dissect_qsig_cf_ARG_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3361   int offset = 0;
3362   asn1_ctx_t asn1_ctx;
3363   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3364   offset = dissect_qsig_cf_ARG_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU);
3365   return offset;
3366 }
3367 static int dissect_qsig_cf_RES_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3368   int offset = 0;
3369   asn1_ctx_t asn1_ctx;
3370   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3371   offset = dissect_qsig_cf_RES_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU);
3372   return offset;
3373 }
3374 static int dissect_qsig_cf_ARG_interrogateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3375   int offset = 0;
3376   asn1_ctx_t asn1_ctx;
3377   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3378   offset = dissect_qsig_cf_ARG_interrogateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU);
3379   return offset;
3380 }
3381 static int dissect_qsig_cf_IntResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3382   int offset = 0;
3383   asn1_ctx_t asn1_ctx;
3384   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3385   offset = dissect_qsig_cf_IntResultList(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_IntResultList_PDU);
3386   return offset;
3387 }
3388 static int dissect_qsig_cf_ARG_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3389   int offset = 0;
3390   asn1_ctx_t asn1_ctx;
3391   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3392   offset = dissect_qsig_cf_ARG_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU);
3393   return offset;
3394 }
3395 static int dissect_qsig_cf_RES_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3396   int offset = 0;
3397   asn1_ctx_t asn1_ctx;
3398   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3399   offset = dissect_qsig_cf_RES_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU);
3400   return offset;
3401 }
3402 static int dissect_qsig_cf_ARG_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3403   int offset = 0;
3404   asn1_ctx_t asn1_ctx;
3405   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3406   offset = dissect_qsig_cf_ARG_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU);
3407   return offset;
3408 }
3409 static int dissect_qsig_cf_RES_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3410   int offset = 0;
3411   asn1_ctx_t asn1_ctx;
3412   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3413   offset = dissect_qsig_cf_RES_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU);
3414   return offset;
3415 }
3416 static int dissect_qsig_cf_ARG_divertingLegInformation1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3417   int offset = 0;
3418   asn1_ctx_t asn1_ctx;
3419   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3420   offset = dissect_qsig_cf_ARG_divertingLegInformation1(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU);
3421   return offset;
3422 }
3423 static int dissect_qsig_cf_ARG_divertingLegInformation2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3424   int offset = 0;
3425   asn1_ctx_t asn1_ctx;
3426   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3427   offset = dissect_qsig_cf_ARG_divertingLegInformation2(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU);
3428   return offset;
3429 }
3430 static int dissect_qsig_cf_ARG_divertingLegInformation3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3431   int offset = 0;
3432   asn1_ctx_t asn1_ctx;
3433   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3434   offset = dissect_qsig_cf_ARG_divertingLegInformation3(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU);
3435   return offset;
3436 }
3437 static int dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3438   int offset = 0;
3439   asn1_ctx_t asn1_ctx;
3440   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3441   offset = dissect_qsig_cf_ARG_cfnrDivertedLegFailed(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU);
3442   return offset;
3443 }
3444 static int dissect_qsig_cf_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3445   int offset = 0;
3446   asn1_ctx_t asn1_ctx;
3447   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3448   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_Extension_PDU);
3449   return offset;
3450 }
3451
3452
3453 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
3454
3455
3456
3457 static int
3458 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_) {
3459   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3460                                             actx, tree, tvb, offset, hf_index,
3461                                             NULL);
3462
3463   return offset;
3464 }
3465
3466
3467 static const ber_sequence_t qsig_pr_SEQUENCE_OF_Extension_sequence_of[1] = {
3468   { &hf_qsig_pr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3469 };
3470
3471 static int
3472 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_) {
3473   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3474                                       qsig_pr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pr_SEQUENCE_OF_Extension);
3475
3476   return offset;
3477 }
3478
3479
3480 static const value_string qsig_pr_PRPExtension_vals[] = {
3481   {   1, "single" },
3482   {   2, "multiple" },
3483   { 0, NULL }
3484 };
3485
3486 static const ber_choice_t qsig_pr_PRPExtension_choice[] = {
3487   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3488   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3489   { 0, NULL, 0, 0, 0, NULL }
3490 };
3491
3492 static int
3493 dissect_qsig_pr_PRPExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3494   offset = dissect_ber_choice(actx, tree, tvb, offset,
3495                                  qsig_pr_PRPExtension_choice, hf_index, ett_qsig_pr_PRPExtension,
3496                                  NULL);
3497
3498   return offset;
3499 }
3500
3501
3502 static const ber_sequence_t qsig_pr_PRProposeArg_sequence[] = {
3503   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3504   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3505   { &hf_qsig_pr_extensionPRP, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRPExtension },
3506   { NULL, 0, 0, 0, NULL }
3507 };
3508
3509 static int
3510 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_) {
3511   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3512                                    qsig_pr_PRProposeArg_sequence, hf_index, ett_qsig_pr_PRProposeArg);
3513
3514   return offset;
3515 }
3516
3517
3518 static const value_string qsig_pr_PRSExtension_vals[] = {
3519   {   1, "single" },
3520   {   2, "multiple" },
3521   { 0, NULL }
3522 };
3523
3524 static const ber_choice_t qsig_pr_PRSExtension_choice[] = {
3525   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3526   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3527   { 0, NULL, 0, 0, 0, NULL }
3528 };
3529
3530 static int
3531 dissect_qsig_pr_PRSExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3532   offset = dissect_ber_choice(actx, tree, tvb, offset,
3533                                  qsig_pr_PRSExtension_choice, hf_index, ett_qsig_pr_PRSExtension,
3534                                  NULL);
3535
3536   return offset;
3537 }
3538
3539
3540 static const ber_sequence_t qsig_pr_PRSetupArg_sequence[] = {
3541   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3542   { &hf_qsig_pr_extensionPRS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRSExtension },
3543   { NULL, 0, 0, 0, NULL }
3544 };
3545
3546 static int
3547 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_) {
3548   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3549                                    qsig_pr_PRSetupArg_sequence, hf_index, ett_qsig_pr_PRSetupArg);
3550
3551   return offset;
3552 }
3553
3554
3555 static const value_string qsig_pr_PRRExtension_vals[] = {
3556   {   1, "single" },
3557   {   2, "multiple" },
3558   { 0, NULL }
3559 };
3560
3561 static const ber_choice_t qsig_pr_PRRExtension_choice[] = {
3562   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3563   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3564   { 0, NULL, 0, 0, 0, NULL }
3565 };
3566
3567 static int
3568 dissect_qsig_pr_PRRExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3569   offset = dissect_ber_choice(actx, tree, tvb, offset,
3570                                  qsig_pr_PRRExtension_choice, hf_index, ett_qsig_pr_PRRExtension,
3571                                  NULL);
3572
3573   return offset;
3574 }
3575
3576
3577 static const ber_sequence_t qsig_pr_PRRetainArg_sequence[] = {
3578   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3579   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3580   { &hf_qsig_pr_extensionPRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRRExtension },
3581   { NULL, 0, 0, 0, NULL }
3582 };
3583
3584 static int
3585 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_) {
3586   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3587                                    qsig_pr_PRRetainArg_sequence, hf_index, ett_qsig_pr_PRRetainArg);
3588
3589   return offset;
3590 }
3591
3592
3593
3594 static int
3595 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_) {
3596   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3597
3598   return offset;
3599 }
3600
3601
3602 static const value_string qsig_pr_DummyResult_vals[] = {
3603   {   0, "null" },
3604   {   1, "single" },
3605   {   2, "multiple" },
3606   { 0, NULL }
3607 };
3608
3609 static const ber_choice_t qsig_pr_DummyResult_choice[] = {
3610   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3611   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3612   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3613   { 0, NULL, 0, 0, 0, NULL }
3614 };
3615
3616 static int
3617 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_) {
3618   offset = dissect_ber_choice(actx, tree, tvb, offset,
3619                                  qsig_pr_DummyResult_choice, hf_index, ett_qsig_pr_DummyResult,
3620                                  NULL);
3621
3622   return offset;
3623 }
3624
3625
3626 static const value_string qsig_pr_DummyArg_vals[] = {
3627   {   0, "null" },
3628   {   1, "single" },
3629   {   2, "multiple" },
3630   { 0, NULL }
3631 };
3632
3633 static const ber_choice_t qsig_pr_DummyArg_choice[] = {
3634   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3635   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3636   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3637   { 0, NULL, 0, 0, 0, NULL }
3638 };
3639
3640 static int
3641 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_) {
3642   offset = dissect_ber_choice(actx, tree, tvb, offset,
3643                                  qsig_pr_DummyArg_choice, hf_index, ett_qsig_pr_DummyArg,
3644                                  NULL);
3645
3646   return offset;
3647 }
3648
3649 /*--- PDUs ---*/
3650
3651 static int dissect_qsig_pr_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3652   int offset = 0;
3653   asn1_ctx_t asn1_ctx;
3654   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3655   offset = dissect_qsig_pr_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyArg_PDU);
3656   return offset;
3657 }
3658 static int dissect_qsig_pr_PRProposeArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3659   int offset = 0;
3660   asn1_ctx_t asn1_ctx;
3661   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3662   offset = dissect_qsig_pr_PRProposeArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRProposeArg_PDU);
3663   return offset;
3664 }
3665 static int dissect_qsig_pr_PRSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3666   int offset = 0;
3667   asn1_ctx_t asn1_ctx;
3668   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3669   offset = dissect_qsig_pr_PRSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRSetupArg_PDU);
3670   return offset;
3671 }
3672 static int dissect_qsig_pr_DummyResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3673   int offset = 0;
3674   asn1_ctx_t asn1_ctx;
3675   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3676   offset = dissect_qsig_pr_DummyResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyResult_PDU);
3677   return offset;
3678 }
3679 static int dissect_qsig_pr_PRRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3680   int offset = 0;
3681   asn1_ctx_t asn1_ctx;
3682   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3683   offset = dissect_qsig_pr_PRRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRRetainArg_PDU);
3684   return offset;
3685 }
3686 static int dissect_qsig_pr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3687   int offset = 0;
3688   asn1_ctx_t asn1_ctx;
3689   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3690   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_Extension_PDU);
3691   return offset;
3692 }
3693
3694
3695 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
3696
3697
3698
3699 static int
3700 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_) {
3701   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3702
3703   return offset;
3704 }
3705
3706
3707 static const ber_sequence_t qsig_ct_SEQUENCE_OF_Extension_sequence_of[1] = {
3708   { &hf_qsig_ct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3709 };
3710
3711 static int
3712 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_) {
3713   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3714                                       qsig_ct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ct_SEQUENCE_OF_Extension);
3715
3716   return offset;
3717 }
3718
3719
3720 static const value_string qsig_ct_DummyArg_vals[] = {
3721   {   0, "null" },
3722   {   1, "single" },
3723   {   2, "multiple" },
3724   { 0, NULL }
3725 };
3726
3727 static const ber_choice_t qsig_ct_DummyArg_choice[] = {
3728   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3729   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3730   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3731   { 0, NULL, 0, 0, 0, NULL }
3732 };
3733
3734 static int
3735 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_) {
3736   offset = dissect_ber_choice(actx, tree, tvb, offset,
3737                                  qsig_ct_DummyArg_choice, hf_index, ett_qsig_ct_DummyArg,
3738                                  NULL);
3739
3740   return offset;
3741 }
3742
3743
3744 static const value_string qsig_ct_DummyRes_vals[] = {
3745   {   0, "null" },
3746   {   1, "single" },
3747   {   2, "multiple" },
3748   { 0, NULL }
3749 };
3750
3751 static const ber_choice_t qsig_ct_DummyRes_choice[] = {
3752   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3753   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3754   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3755   { 0, NULL, 0, 0, 0, NULL }
3756 };
3757
3758 static int
3759 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_) {
3760   offset = dissect_ber_choice(actx, tree, tvb, offset,
3761                                  qsig_ct_DummyRes_choice, hf_index, ett_qsig_ct_DummyRes,
3762                                  NULL);
3763
3764   return offset;
3765 }
3766
3767
3768
3769 static int
3770 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_) {
3771   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3772                                             actx, tree, tvb, offset, hf_index,
3773                                             NULL);
3774
3775   return offset;
3776 }
3777
3778
3779 static const value_string qsig_ct_T_resultExtension_vals[] = {
3780   {   6, "single" },
3781   {   7, "multiple" },
3782   { 0, NULL }
3783 };
3784
3785 static const ber_choice_t qsig_ct_T_resultExtension_choice[] = {
3786   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3787   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3788   { 0, NULL, 0, 0, 0, NULL }
3789 };
3790
3791 static int
3792 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_) {
3793   offset = dissect_ber_choice(actx, tree, tvb, offset,
3794                                  qsig_ct_T_resultExtension_choice, hf_index, ett_qsig_ct_T_resultExtension,
3795                                  NULL);
3796
3797   return offset;
3798 }
3799
3800
3801 static const ber_sequence_t qsig_ct_CTIdentifyRes_sequence[] = {
3802   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3803   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3804   { &hf_qsig_ct_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_resultExtension },
3805   { NULL, 0, 0, 0, NULL }
3806 };
3807
3808 static int
3809 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_) {
3810   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3811                                    qsig_ct_CTIdentifyRes_sequence, hf_index, ett_qsig_ct_CTIdentifyRes);
3812
3813   return offset;
3814 }
3815
3816
3817 static const value_string qsig_ct_CTIargumentExtension_vals[] = {
3818   {   6, "single" },
3819   {   7, "multiple" },
3820   { 0, NULL }
3821 };
3822
3823 static const ber_choice_t qsig_ct_CTIargumentExtension_choice[] = {
3824   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3825   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3826   { 0, NULL, 0, 0, 0, NULL }
3827 };
3828
3829 static int
3830 dissect_qsig_ct_CTIargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3831   offset = dissect_ber_choice(actx, tree, tvb, offset,
3832                                  qsig_ct_CTIargumentExtension_choice, hf_index, ett_qsig_ct_CTIargumentExtension,
3833                                  NULL);
3834
3835   return offset;
3836 }
3837
3838
3839 static const ber_sequence_t qsig_ct_CTInitiateArg_sequence[] = {
3840   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3841   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3842   { &hf_qsig_ct_argumentExtensionCTI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTIargumentExtension },
3843   { NULL, 0, 0, 0, NULL }
3844 };
3845
3846 static int
3847 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_) {
3848   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3849                                    qsig_ct_CTInitiateArg_sequence, hf_index, ett_qsig_ct_CTInitiateArg);
3850
3851   return offset;
3852 }
3853
3854
3855 static const value_string qsig_ct_CTSargumentExtension_vals[] = {
3856   {   0, "single" },
3857   {   1, "multiple" },
3858   { 0, NULL }
3859 };
3860
3861 static const ber_choice_t qsig_ct_CTSargumentExtension_choice[] = {
3862   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3863   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3864   { 0, NULL, 0, 0, 0, NULL }
3865 };
3866
3867 static int
3868 dissect_qsig_ct_CTSargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3869   offset = dissect_ber_choice(actx, tree, tvb, offset,
3870                                  qsig_ct_CTSargumentExtension_choice, hf_index, ett_qsig_ct_CTSargumentExtension,
3871                                  NULL);
3872
3873   return offset;
3874 }
3875
3876
3877 static const ber_sequence_t qsig_ct_CTSetupArg_sequence[] = {
3878   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3879   { &hf_qsig_ct_argumentExtensionCTS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTSargumentExtension },
3880   { NULL, 0, 0, 0, NULL }
3881 };
3882
3883 static int
3884 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_) {
3885   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3886                                    qsig_ct_CTSetupArg_sequence, hf_index, ett_qsig_ct_CTSetupArg);
3887
3888   return offset;
3889 }
3890
3891
3892 static const value_string qsig_ct_CTAargumentExtension_vals[] = {
3893   {   9, "single" },
3894   {  10, "multiple" },
3895   { 0, NULL }
3896 };
3897
3898 static const ber_choice_t qsig_ct_CTAargumentExtension_choice[] = {
3899   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3900   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3901   { 0, NULL, 0, 0, 0, NULL }
3902 };
3903
3904 static int
3905 dissect_qsig_ct_CTAargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3906   offset = dissect_ber_choice(actx, tree, tvb, offset,
3907                                  qsig_ct_CTAargumentExtension_choice, hf_index, ett_qsig_ct_CTAargumentExtension,
3908                                  NULL);
3909
3910   return offset;
3911 }
3912
3913
3914 static const ber_sequence_t qsig_ct_CTActiveArg_sequence[] = {
3915   { &hf_qsig_ct_connectedAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
3916   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3917   { &hf_qsig_ct_connectedName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3918   { &hf_qsig_ct_argumentExtensionCTA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTAargumentExtension },
3919   { NULL, 0, 0, 0, NULL }
3920 };
3921
3922 static int
3923 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_) {
3924   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3925                                    qsig_ct_CTActiveArg_sequence, hf_index, ett_qsig_ct_CTActiveArg);
3926
3927   return offset;
3928 }
3929
3930
3931 static const value_string qsig_ct_EndDesignation_vals[] = {
3932   {   0, "primaryEnd" },
3933   {   1, "secondaryEnd" },
3934   { 0, NULL }
3935 };
3936
3937
3938 static int
3939 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_) {
3940   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3941                                   NULL);
3942
3943   return offset;
3944 }
3945
3946
3947 static const value_string qsig_ct_CallStatus_vals[] = {
3948   {   0, "answered" },
3949   {   1, "alerting" },
3950   { 0, NULL }
3951 };
3952
3953
3954 static int
3955 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_) {
3956   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3957                                   NULL);
3958
3959   return offset;
3960 }
3961
3962
3963 static const value_string qsig_ct_CTCargumentExtension_vals[] = {
3964   {   9, "single" },
3965   {  10, "multiple" },
3966   { 0, NULL }
3967 };
3968
3969 static const ber_choice_t qsig_ct_CTCargumentExtension_choice[] = {
3970   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3971   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3972   { 0, NULL, 0, 0, 0, NULL }
3973 };
3974
3975 static int
3976 dissect_qsig_ct_CTCargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3977   offset = dissect_ber_choice(actx, tree, tvb, offset,
3978                                  qsig_ct_CTCargumentExtension_choice, hf_index, ett_qsig_ct_CTCargumentExtension,
3979                                  NULL);
3980
3981   return offset;
3982 }
3983
3984
3985 static const ber_sequence_t qsig_ct_CTCompleteArg_sequence[] = {
3986   { &hf_qsig_ct_endDesignation, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_EndDesignation },
3987   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
3988   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3989   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3990   { &hf_qsig_ct_callStatus  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallStatus },
3991   { &hf_qsig_ct_argumentExtensionCTC, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTCargumentExtension },
3992   { NULL, 0, 0, 0, NULL }
3993 };
3994
3995 static int
3996 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_) {
3997   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3998                                    qsig_ct_CTCompleteArg_sequence, hf_index, ett_qsig_ct_CTCompleteArg);
3999
4000   return offset;
4001 }
4002
4003
4004 static const value_string qsig_ct_CTUargumentExtension_vals[] = {
4005   {   9, "single" },
4006   {  10, "multiple" },
4007   { 0, NULL }
4008 };
4009
4010 static const ber_choice_t qsig_ct_CTUargumentExtension_choice[] = {
4011   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4012   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
4013   { 0, NULL, 0, 0, 0, NULL }
4014 };
4015
4016 static int
4017 dissect_qsig_ct_CTUargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4018   offset = dissect_ber_choice(actx, tree, tvb, offset,
4019                                  qsig_ct_CTUargumentExtension_choice, hf_index, ett_qsig_ct_CTUargumentExtension,
4020                                  NULL);
4021
4022   return offset;
4023 }
4024
4025
4026 static const ber_sequence_t qsig_ct_CTUpdateArg_sequence[] = {
4027   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
4028   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
4029   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4030   { &hf_qsig_ct_argumentExtensionCTU, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTUargumentExtension },
4031   { NULL, 0, 0, 0, NULL }
4032 };
4033
4034 static int
4035 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_) {
4036   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4037                                    qsig_ct_CTUpdateArg_sequence, hf_index, ett_qsig_ct_CTUpdateArg);
4038
4039   return offset;
4040 }
4041
4042
4043 static const value_string qsig_ct_STargumentExtension_vals[] = {
4044   {   0, "single" },
4045   {   1, "multiple" },
4046   { 0, NULL }
4047 };
4048
4049 static const ber_choice_t qsig_ct_STargumentExtension_choice[] = {
4050   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4051   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
4052   { 0, NULL, 0, 0, 0, NULL }
4053 };
4054
4055 static int
4056 dissect_qsig_ct_STargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4057   offset = dissect_ber_choice(actx, tree, tvb, offset,
4058                                  qsig_ct_STargumentExtension_choice, hf_index, ett_qsig_ct_STargumentExtension,
4059                                  NULL);
4060
4061   return offset;
4062 }
4063
4064
4065 static const ber_sequence_t qsig_ct_SubaddressTransferArg_sequence[] = {
4066   { &hf_qsig_ct_redirectionSubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartySubaddress },
4067   { &hf_qsig_ct_argumentExtensionST, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_STargumentExtension },
4068   { NULL, 0, 0, 0, NULL }
4069 };
4070
4071 static int
4072 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_) {
4073   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4074                                    qsig_ct_SubaddressTransferArg_sequence, hf_index, ett_qsig_ct_SubaddressTransferArg);
4075
4076   return offset;
4077 }
4078
4079 /*--- PDUs ---*/
4080
4081 static int dissect_qsig_ct_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4082   int offset = 0;
4083   asn1_ctx_t asn1_ctx;
4084   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4085   offset = dissect_qsig_ct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyArg_PDU);
4086   return offset;
4087 }
4088 static int dissect_qsig_ct_CTIdentifyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4089   int offset = 0;
4090   asn1_ctx_t asn1_ctx;
4091   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4092   offset = dissect_qsig_ct_CTIdentifyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU);
4093   return offset;
4094 }
4095 static int dissect_qsig_ct_CTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4096   int offset = 0;
4097   asn1_ctx_t asn1_ctx;
4098   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4099   offset = dissect_qsig_ct_CTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTInitiateArg_PDU);
4100   return offset;
4101 }
4102 static int dissect_qsig_ct_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4103   int offset = 0;
4104   asn1_ctx_t asn1_ctx;
4105   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4106   offset = dissect_qsig_ct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyRes_PDU);
4107   return offset;
4108 }
4109 static int dissect_qsig_ct_CTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4110   int offset = 0;
4111   asn1_ctx_t asn1_ctx;
4112   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4113   offset = dissect_qsig_ct_CTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTSetupArg_PDU);
4114   return offset;
4115 }
4116 static int dissect_qsig_ct_CTActiveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4117   int offset = 0;
4118   asn1_ctx_t asn1_ctx;
4119   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4120   offset = dissect_qsig_ct_CTActiveArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTActiveArg_PDU);
4121   return offset;
4122 }
4123 static int dissect_qsig_ct_CTCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4124   int offset = 0;
4125   asn1_ctx_t asn1_ctx;
4126   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4127   offset = dissect_qsig_ct_CTCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTCompleteArg_PDU);
4128   return offset;
4129 }
4130 static int dissect_qsig_ct_CTUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4131   int offset = 0;
4132   asn1_ctx_t asn1_ctx;
4133   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4134   offset = dissect_qsig_ct_CTUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTUpdateArg_PDU);
4135   return offset;
4136 }
4137 static int dissect_qsig_ct_SubaddressTransferArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4138   int offset = 0;
4139   asn1_ctx_t asn1_ctx;
4140   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4141   offset = dissect_qsig_ct_SubaddressTransferArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU);
4142   return offset;
4143 }
4144 static int dissect_qsig_ct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4145   int offset = 0;
4146   asn1_ctx_t asn1_ctx;
4147   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4148   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_Extension_PDU);
4149   return offset;
4150 }
4151
4152
4153 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
4154
4155
4156
4157 static int
4158 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_) {
4159   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
4160
4161   return offset;
4162 }
4163
4164
4165
4166 static int
4167 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_) {
4168   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4169
4170   return offset;
4171 }
4172
4173
4174 static const ber_sequence_t qsig_cc_SEQUENCE_OF_Extension_sequence_of[1] = {
4175   { &hf_qsig_cc_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4176 };
4177
4178 static int
4179 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_) {
4180   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4181                                       qsig_cc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cc_SEQUENCE_OF_Extension);
4182
4183   return offset;
4184 }
4185
4186
4187 static const value_string qsig_cc_CcExtension_vals[] = {
4188   {   0, "none" },
4189   {   1, "single" },
4190   {   2, "multiple" },
4191   { 0, NULL }
4192 };
4193
4194 static const ber_choice_t qsig_cc_CcExtension_choice[] = {
4195   {   0, &hf_qsig_cc_none        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_NULL },
4196   {   1, &hf_qsig_cc_single      , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4197   {   2, &hf_qsig_cc_multiple    , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_qsig_cc_SEQUENCE_OF_Extension },
4198   { 0, NULL, 0, 0, 0, NULL }
4199 };
4200
4201 static int
4202 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_) {
4203   offset = dissect_ber_choice(actx, tree, tvb, offset,
4204                                  qsig_cc_CcExtension_choice, hf_index, ett_qsig_cc_CcExtension,
4205                                  NULL);
4206
4207   return offset;
4208 }
4209
4210
4211 static const ber_sequence_t qsig_cc_CcRequestArg_sequence[] = {
4212   { &hf_qsig_cc_numberA     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberUnscreened },
4213   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4214   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4215   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4216   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4217   { &hf_qsig_cc_can_retain_service, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4218   { &hf_qsig_cc_retain_sig_connection, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4219   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4220   { NULL, 0, 0, 0, NULL }
4221 };
4222
4223 static int
4224 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_) {
4225   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4226                                    qsig_cc_CcRequestArg_sequence, hf_index, ett_qsig_cc_CcRequestArg);
4227
4228   return offset;
4229 }
4230
4231
4232 static const ber_sequence_t qsig_cc_CcRequestRes_sequence[] = {
4233   { &hf_qsig_cc_no_path_reservation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4234   { &hf_qsig_cc_retain_service, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4235   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4236   { NULL, 0, 0, 0, NULL }
4237 };
4238
4239 static int
4240 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_) {
4241   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4242                                    qsig_cc_CcRequestRes_sequence, hf_index, ett_qsig_cc_CcRequestRes);
4243
4244   return offset;
4245 }
4246
4247
4248 static const ber_sequence_t qsig_cc_T_fullArg_sequence[] = {
4249   { &hf_qsig_cc_numberA_01  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4250   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4251   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4252   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4253   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4254   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4255   { NULL, 0, 0, 0, NULL }
4256 };
4257
4258 static int
4259 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_) {
4260   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4261                                    qsig_cc_T_fullArg_sequence, hf_index, ett_qsig_cc_T_fullArg);
4262
4263   return offset;
4264 }
4265
4266
4267 static const value_string qsig_cc_CcOptionalArg_vals[] = {
4268   {   0, "fullArg" },
4269   {   1, "extArg" },
4270   { 0, NULL }
4271 };
4272
4273 static const ber_choice_t qsig_cc_CcOptionalArg_choice[] = {
4274   {   0, &hf_qsig_cc_fullArg     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_cc_T_fullArg },
4275   {   1, &hf_qsig_cc_extArg      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_CcExtension },
4276   { 0, NULL, 0, 0, 0, NULL }
4277 };
4278
4279 static int
4280 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_) {
4281   offset = dissect_ber_choice(actx, tree, tvb, offset,
4282                                  qsig_cc_CcOptionalArg_choice, hf_index, ett_qsig_cc_CcOptionalArg,
4283                                  NULL);
4284
4285   return offset;
4286 }
4287
4288 /*--- PDUs ---*/
4289
4290 static int dissect_qsig_cc_CcRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4291   int offset = 0;
4292   asn1_ctx_t asn1_ctx;
4293   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4294   offset = dissect_qsig_cc_CcRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestArg_PDU);
4295   return offset;
4296 }
4297 static int dissect_qsig_cc_CcRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4298   int offset = 0;
4299   asn1_ctx_t asn1_ctx;
4300   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4301   offset = dissect_qsig_cc_CcRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestRes_PDU);
4302   return offset;
4303 }
4304 static int dissect_qsig_cc_CcOptionalArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4305   int offset = 0;
4306   asn1_ctx_t asn1_ctx;
4307   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4308   offset = dissect_qsig_cc_CcOptionalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcOptionalArg_PDU);
4309   return offset;
4310 }
4311 static int dissect_qsig_cc_CcExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4312   int offset = 0;
4313   asn1_ctx_t asn1_ctx;
4314   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4315   offset = dissect_qsig_cc_CcExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcExtension_PDU);
4316   return offset;
4317 }
4318 static int dissect_qsig_cc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4319   int offset = 0;
4320   asn1_ctx_t asn1_ctx;
4321   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4322   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_Extension_PDU);
4323   return offset;
4324 }
4325
4326
4327 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
4328
4329
4330 static const asn_namedbit qsig_co_ServiceList_bits[] = {
4331   {  0, &hf_qsig_co_ServiceList_callOffer, -1, -1, "callOffer", NULL },
4332   { 0, NULL, 0, 0, NULL, NULL }
4333 };
4334
4335 static int
4336 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_) {
4337   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4338                                     qsig_co_ServiceList_bits, hf_index, ett_qsig_co_ServiceList,
4339                                     NULL);
4340
4341   return offset;
4342 }
4343
4344
4345 static const ber_sequence_t qsig_co_T_extendedServiceList_sequence[] = {
4346   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4347   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4348   { NULL, 0, 0, 0, NULL }
4349 };
4350
4351 static int
4352 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_) {
4353   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4354                                    qsig_co_T_extendedServiceList_sequence, hf_index, ett_qsig_co_T_extendedServiceList);
4355
4356   return offset;
4357 }
4358
4359
4360 static const value_string qsig_co_PathRetainArg_vals[] = {
4361   {   0, "serviceList" },
4362   {   1, "extendedServiceList" },
4363   { 0, NULL }
4364 };
4365
4366 static const ber_choice_t qsig_co_PathRetainArg_choice[] = {
4367   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4368   {   1, &hf_qsig_co_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList },
4369   { 0, NULL, 0, 0, 0, NULL }
4370 };
4371
4372 static int
4373 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_) {
4374   offset = dissect_ber_choice(actx, tree, tvb, offset,
4375                                  qsig_co_PathRetainArg_choice, hf_index, ett_qsig_co_PathRetainArg,
4376                                  NULL);
4377
4378   return offset;
4379 }
4380
4381
4382 static const ber_sequence_t qsig_co_T_extendedServiceList_01_sequence[] = {
4383   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4384   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4385   { NULL, 0, 0, 0, NULL }
4386 };
4387
4388 static int
4389 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_) {
4390   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4391                                    qsig_co_T_extendedServiceList_01_sequence, hf_index, ett_qsig_co_T_extendedServiceList_01);
4392
4393   return offset;
4394 }
4395
4396
4397 static const value_string qsig_co_ServiceAvailableArg_vals[] = {
4398   {   0, "serviceList" },
4399   {   1, "extendedServiceList" },
4400   { 0, NULL }
4401 };
4402
4403 static const ber_choice_t qsig_co_ServiceAvailableArg_choice[] = {
4404   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4405   {   1, &hf_qsig_co_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList_01 },
4406   { 0, NULL, 0, 0, 0, NULL }
4407 };
4408
4409 static int
4410 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_) {
4411   offset = dissect_ber_choice(actx, tree, tvb, offset,
4412                                  qsig_co_ServiceAvailableArg_choice, hf_index, ett_qsig_co_ServiceAvailableArg,
4413                                  NULL);
4414
4415   return offset;
4416 }
4417
4418
4419
4420 static int
4421 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_) {
4422   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4423
4424   return offset;
4425 }
4426
4427
4428 static const ber_sequence_t qsig_co_SEQUENCE_OF_Extension_sequence_of[1] = {
4429   { &hf_qsig_co_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4430 };
4431
4432 static int
4433 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_) {
4434   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4435                                       qsig_co_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_co_SEQUENCE_OF_Extension);
4436
4437   return offset;
4438 }
4439
4440
4441 static const value_string qsig_co_DummyArg_vals[] = {
4442   {   0, "null" },
4443   {   1, "extension" },
4444   {   2, "sequenceOfExtn" },
4445   { 0, NULL }
4446 };
4447
4448 static const ber_choice_t qsig_co_DummyArg_choice[] = {
4449   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4450   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4451   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4452   { 0, NULL, 0, 0, 0, NULL }
4453 };
4454
4455 static int
4456 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_) {
4457   offset = dissect_ber_choice(actx, tree, tvb, offset,
4458                                  qsig_co_DummyArg_choice, hf_index, ett_qsig_co_DummyArg,
4459                                  NULL);
4460
4461   return offset;
4462 }
4463
4464
4465 static const value_string qsig_co_DummyRes_vals[] = {
4466   {   0, "null" },
4467   {   1, "extension" },
4468   {   2, "sequenceOfExtn" },
4469   { 0, NULL }
4470 };
4471
4472 static const ber_choice_t qsig_co_DummyRes_choice[] = {
4473   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4474   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4475   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4476   { 0, NULL, 0, 0, 0, NULL }
4477 };
4478
4479 static int
4480 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_) {
4481   offset = dissect_ber_choice(actx, tree, tvb, offset,
4482                                  qsig_co_DummyRes_choice, hf_index, ett_qsig_co_DummyRes,
4483                                  NULL);
4484
4485   return offset;
4486 }
4487
4488 /*--- PDUs ---*/
4489
4490 static int dissect_qsig_co_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4491   int offset = 0;
4492   asn1_ctx_t asn1_ctx;
4493   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4494   offset = dissect_qsig_co_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_PathRetainArg_PDU);
4495   return offset;
4496 }
4497 static int dissect_qsig_co_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4498   int offset = 0;
4499   asn1_ctx_t asn1_ctx;
4500   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4501   offset = dissect_qsig_co_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_ServiceAvailableArg_PDU);
4502   return offset;
4503 }
4504 static int dissect_qsig_co_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4505   int offset = 0;
4506   asn1_ctx_t asn1_ctx;
4507   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4508   offset = dissect_qsig_co_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyArg_PDU);
4509   return offset;
4510 }
4511 static int dissect_qsig_co_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4512   int offset = 0;
4513   asn1_ctx_t asn1_ctx;
4514   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4515   offset = dissect_qsig_co_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyRes_PDU);
4516   return offset;
4517 }
4518 static int dissect_qsig_co_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4519   int offset = 0;
4520   asn1_ctx_t asn1_ctx;
4521   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4522   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_Extension_PDU);
4523   return offset;
4524 }
4525
4526
4527 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
4528
4529
4530
4531 static int
4532 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_) {
4533   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4534
4535   return offset;
4536 }
4537
4538
4539 static const ber_sequence_t qsig_dnd_SEQUENCE_OF_Extension_sequence_of[1] = {
4540   { &hf_qsig_dnd_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4541 };
4542
4543 static int
4544 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_) {
4545   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4546                                       qsig_dnd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_dnd_SEQUENCE_OF_Extension);
4547
4548   return offset;
4549 }
4550
4551
4552 static const value_string qsig_dnd_DummyArg_vals[] = {
4553   {   0, "null" },
4554   {   1, "extension" },
4555   {   2, "sequenceOfExtn" },
4556   { 0, NULL }
4557 };
4558
4559 static const ber_choice_t qsig_dnd_DummyArg_choice[] = {
4560   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4561   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4562   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4563   { 0, NULL, 0, 0, 0, NULL }
4564 };
4565
4566 static int
4567 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_) {
4568   offset = dissect_ber_choice(actx, tree, tvb, offset,
4569                                  qsig_dnd_DummyArg_choice, hf_index, ett_qsig_dnd_DummyArg,
4570                                  NULL);
4571
4572   return offset;
4573 }
4574
4575
4576 static const value_string qsig_dnd_DummyRes_vals[] = {
4577   {   0, "null" },
4578   {   1, "extension" },
4579   {   2, "sequenceOfExtn" },
4580   { 0, NULL }
4581 };
4582
4583 static const ber_choice_t qsig_dnd_DummyRes_choice[] = {
4584   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4585   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4586   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4587   { 0, NULL, 0, 0, 0, NULL }
4588 };
4589
4590 static int
4591 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_) {
4592   offset = dissect_ber_choice(actx, tree, tvb, offset,
4593                                  qsig_dnd_DummyRes_choice, hf_index, ett_qsig_dnd_DummyRes,
4594                                  NULL);
4595
4596   return offset;
4597 }
4598
4599
4600 static const value_string qsig_dnd_DNDAargumentExtension_vals[] = {
4601   {   1, "extension" },
4602   {   2, "sequenceOfExtn" },
4603   { 0, NULL }
4604 };
4605
4606 static const ber_choice_t qsig_dnd_DNDAargumentExtension_choice[] = {
4607   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4608   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4609   { 0, NULL, 0, 0, 0, NULL }
4610 };
4611
4612 static int
4613 dissect_qsig_dnd_DNDAargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4614   offset = dissect_ber_choice(actx, tree, tvb, offset,
4615                                  qsig_dnd_DNDAargumentExtension_choice, hf_index, ett_qsig_dnd_DNDAargumentExtension,
4616                                  NULL);
4617
4618   return offset;
4619 }
4620
4621
4622 static const ber_sequence_t qsig_dnd_DNDActivateArg_sequence[] = {
4623   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4624   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4625   { &hf_qsig_dnd_argumentExtensionDNDA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDAargumentExtension },
4626   { NULL, 0, 0, 0, NULL }
4627 };
4628
4629 static int
4630 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_) {
4631   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4632                                    qsig_dnd_DNDActivateArg_sequence, hf_index, ett_qsig_dnd_DNDActivateArg);
4633
4634   return offset;
4635 }
4636
4637
4638 static const value_string qsig_dnd_DNDProtectionLevel_vals[] = {
4639   {   0, "lowProtection" },
4640   {   1, "mediumProtection" },
4641   {   2, "highProtection" },
4642   {   3, "fullProtection" },
4643   { 0, NULL }
4644 };
4645
4646
4647 static int
4648 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_) {
4649   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4650                                   NULL);
4651
4652   return offset;
4653 }
4654
4655
4656 static const ber_sequence_t qsig_dnd_T_status_item_sequence[] = {
4657   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4658   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4659   { NULL, 0, 0, 0, NULL }
4660 };
4661
4662 static int
4663 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_) {
4664   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4665                                    qsig_dnd_T_status_item_sequence, hf_index, ett_qsig_dnd_T_status_item);
4666
4667   return offset;
4668 }
4669
4670
4671 static const ber_sequence_t qsig_dnd_T_status_set_of[1] = {
4672   { &hf_qsig_dnd_status_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item },
4673 };
4674
4675 static int
4676 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_) {
4677   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4678                                  qsig_dnd_T_status_set_of, hf_index, ett_qsig_dnd_T_status);
4679
4680   return offset;
4681 }
4682
4683
4684 static const value_string qsig_dnd_T_resultExtension_vals[] = {
4685   {   1, "extension" },
4686   {   2, "sequenceOfExtn" },
4687   { 0, NULL }
4688 };
4689
4690 static const ber_choice_t qsig_dnd_T_resultExtension_choice[] = {
4691   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4692   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4693   { 0, NULL, 0, 0, 0, NULL }
4694 };
4695
4696 static int
4697 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_) {
4698   offset = dissect_ber_choice(actx, tree, tvb, offset,
4699                                  qsig_dnd_T_resultExtension_choice, hf_index, ett_qsig_dnd_T_resultExtension,
4700                                  NULL);
4701
4702   return offset;
4703 }
4704
4705
4706 static const ber_sequence_t qsig_dnd_DNDActivateRes_sequence[] = {
4707   { &hf_qsig_dnd_status     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status },
4708   { &hf_qsig_dnd_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_resultExtension },
4709   { NULL, 0, 0, 0, NULL }
4710 };
4711
4712 static int
4713 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_) {
4714   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4715                                    qsig_dnd_DNDActivateRes_sequence, hf_index, ett_qsig_dnd_DNDActivateRes);
4716
4717   return offset;
4718 }
4719
4720
4721 static const value_string qsig_dnd_DNDDargumentExtension_vals[] = {
4722   {   1, "extension" },
4723   {   2, "sequenceOfExtn" },
4724   { 0, NULL }
4725 };
4726
4727 static const ber_choice_t qsig_dnd_DNDDargumentExtension_choice[] = {
4728   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4729   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4730   { 0, NULL, 0, 0, 0, NULL }
4731 };
4732
4733 static int
4734 dissect_qsig_dnd_DNDDargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4735   offset = dissect_ber_choice(actx, tree, tvb, offset,
4736                                  qsig_dnd_DNDDargumentExtension_choice, hf_index, ett_qsig_dnd_DNDDargumentExtension,
4737                                  NULL);
4738
4739   return offset;
4740 }
4741
4742
4743 static const ber_sequence_t qsig_dnd_DNDDeactivateArg_sequence[] = {
4744   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4745   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4746   { &hf_qsig_dnd_argumentExtensionDNDD, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDDargumentExtension },
4747   { NULL, 0, 0, 0, NULL }
4748 };
4749
4750 static int
4751 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_) {
4752   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4753                                    qsig_dnd_DNDDeactivateArg_sequence, hf_index, ett_qsig_dnd_DNDDeactivateArg);
4754
4755   return offset;
4756 }
4757
4758
4759 static const value_string qsig_dnd_DNDIargumentExtension_vals[] = {
4760   {   1, "extension" },
4761   {   2, "sequenceOfExtn" },
4762   { 0, NULL }
4763 };
4764
4765 static const ber_choice_t qsig_dnd_DNDIargumentExtension_choice[] = {
4766   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4767   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4768   { 0, NULL, 0, 0, 0, NULL }
4769 };
4770
4771 static int
4772 dissect_qsig_dnd_DNDIargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4773   offset = dissect_ber_choice(actx, tree, tvb, offset,
4774                                  qsig_dnd_DNDIargumentExtension_choice, hf_index, ett_qsig_dnd_DNDIargumentExtension,
4775                                  NULL);
4776
4777   return offset;
4778 }
4779
4780
4781 static const ber_sequence_t qsig_dnd_DNDInterrogateArg_sequence[] = {
4782   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4783   { &hf_qsig_dnd_argumentExtensionDNDI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDIargumentExtension },
4784   { NULL, 0, 0, 0, NULL }
4785 };
4786
4787 static int
4788 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_) {
4789   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4790                                    qsig_dnd_DNDInterrogateArg_sequence, hf_index, ett_qsig_dnd_DNDInterrogateArg);
4791
4792   return offset;
4793 }
4794
4795
4796 static const ber_sequence_t qsig_dnd_T_status_item_01_sequence[] = {
4797   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4798   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4799   { NULL, 0, 0, 0, NULL }
4800 };
4801
4802 static int
4803 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_) {
4804   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4805                                    qsig_dnd_T_status_item_01_sequence, hf_index, ett_qsig_dnd_T_status_item_01);
4806
4807   return offset;
4808 }
4809
4810
4811 static const ber_sequence_t qsig_dnd_T_status_01_set_of[1] = {
4812   { &hf_qsig_dnd_status_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item_01 },
4813 };
4814
4815 static int
4816 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_) {
4817   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4818                                  qsig_dnd_T_status_01_set_of, hf_index, ett_qsig_dnd_T_status_01);
4819
4820   return offset;
4821 }
4822
4823
4824 static const value_string qsig_dnd_T_resultExtension_01_vals[] = {
4825   {   1, "extension" },
4826   {   2, "sequenceOfExtn" },
4827   { 0, NULL }
4828 };
4829
4830 static const ber_choice_t qsig_dnd_T_resultExtension_01_choice[] = {
4831   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4832   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4833   { 0, NULL, 0, 0, 0, NULL }
4834 };
4835
4836 static int
4837 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_) {
4838   offset = dissect_ber_choice(actx, tree, tvb, offset,
4839                                  qsig_dnd_T_resultExtension_01_choice, hf_index, ett_qsig_dnd_T_resultExtension_01,
4840                                  NULL);
4841
4842   return offset;
4843 }
4844
4845
4846 static const ber_sequence_t qsig_dnd_DNDInterrogateRes_sequence[] = {
4847   { &hf_qsig_dnd_status_01  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_01 },
4848   { &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 },
4849   { NULL, 0, 0, 0, NULL }
4850 };
4851
4852 static int
4853 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_) {
4854   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4855                                    qsig_dnd_DNDInterrogateRes_sequence, hf_index, ett_qsig_dnd_DNDInterrogateRes);
4856
4857   return offset;
4858 }
4859
4860
4861 static const value_string qsig_dnd_DNDOCapabilityLevel_vals[] = {
4862   {   1, "overrideLowProt" },
4863   {   2, "overrideMediumProt" },
4864   {   3, "overrideHighProt" },
4865   { 0, NULL }
4866 };
4867
4868
4869 static int
4870 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_) {
4871   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4872                                   NULL);
4873
4874   return offset;
4875 }
4876
4877
4878 static const value_string qsig_dnd_DNDOargumentExtension_vals[] = {
4879   {   1, "extension" },
4880   {   2, "sequenceOfExtn" },
4881   { 0, NULL }
4882 };
4883
4884 static const ber_choice_t qsig_dnd_DNDOargumentExtension_choice[] = {
4885   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4886   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4887   { 0, NULL, 0, 0, 0, NULL }
4888 };
4889
4890 static int
4891 dissect_qsig_dnd_DNDOargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4892   offset = dissect_ber_choice(actx, tree, tvb, offset,
4893                                  qsig_dnd_DNDOargumentExtension_choice, hf_index, ett_qsig_dnd_DNDOargumentExtension,
4894                                  NULL);
4895
4896   return offset;
4897 }
4898
4899
4900 static const ber_sequence_t qsig_dnd_DNDOverrideArg_sequence[] = {
4901   { &hf_qsig_dnd_dndoCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDOCapabilityLevel },
4902   { &hf_qsig_dnd_argumentExtensionDNDO, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDOargumentExtension },
4903   { NULL, 0, 0, 0, NULL }
4904 };
4905
4906 static int
4907 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_) {
4908   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4909                                    qsig_dnd_DNDOverrideArg_sequence, hf_index, ett_qsig_dnd_DNDOverrideArg);
4910
4911   return offset;
4912 }
4913
4914
4915 static const asn_namedbit qsig_dnd_ServiceList_bits[] = {
4916   {  1, &hf_qsig_dnd_ServiceList_dndo_low, -1, -1, "dndo-low", NULL },
4917   {  2, &hf_qsig_dnd_ServiceList_dndo_medium, -1, -1, "dndo-medium", NULL },
4918   {  3, &hf_qsig_dnd_ServiceList_dndo_high, -1, -1, "dndo-high", NULL },
4919   { 0, NULL, 0, 0, NULL, NULL }
4920 };
4921
4922 static int
4923 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_) {
4924   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4925                                     qsig_dnd_ServiceList_bits, hf_index, ett_qsig_dnd_ServiceList,
4926                                     NULL);
4927
4928   return offset;
4929 }
4930
4931
4932 static const ber_sequence_t qsig_dnd_T_extendedServiceList_sequence[] = {
4933   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4934   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4935   { NULL, 0, 0, 0, NULL }
4936 };
4937
4938 static int
4939 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_) {
4940   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4941                                    qsig_dnd_T_extendedServiceList_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList);
4942
4943   return offset;
4944 }
4945
4946
4947 static const value_string qsig_dnd_PathRetainArg_vals[] = {
4948   {   0, "serviceList" },
4949   {   1, "extendedServiceList" },
4950   { 0, NULL }
4951 };
4952
4953 static const ber_choice_t qsig_dnd_PathRetainArg_choice[] = {
4954   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4955   {   1, &hf_qsig_dnd_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList },
4956   { 0, NULL, 0, 0, 0, NULL }
4957 };
4958
4959 static int
4960 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_) {
4961   offset = dissect_ber_choice(actx, tree, tvb, offset,
4962                                  qsig_dnd_PathRetainArg_choice, hf_index, ett_qsig_dnd_PathRetainArg,
4963                                  NULL);
4964
4965   return offset;
4966 }
4967
4968
4969 static const ber_sequence_t qsig_dnd_T_extendedServiceList_01_sequence[] = {
4970   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4971   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4972   { NULL, 0, 0, 0, NULL }
4973 };
4974
4975 static int
4976 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_) {
4977   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4978                                    qsig_dnd_T_extendedServiceList_01_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList_01);
4979
4980   return offset;
4981 }
4982
4983
4984 static const value_string qsig_dnd_ServiceAvailableArg_vals[] = {
4985   {   0, "serviceList" },
4986   {   1, "extendedServiceList" },
4987   { 0, NULL }
4988 };
4989
4990 static const ber_choice_t qsig_dnd_ServiceAvailableArg_choice[] = {
4991   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4992   {   1, &hf_qsig_dnd_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList_01 },
4993   { 0, NULL, 0, 0, 0, NULL }
4994 };
4995
4996 static int
4997 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_) {
4998   offset = dissect_ber_choice(actx, tree, tvb, offset,
4999                                  qsig_dnd_ServiceAvailableArg_choice, hf_index, ett_qsig_dnd_ServiceAvailableArg,
5000                                  NULL);
5001
5002   return offset;
5003 }
5004
5005 /*--- PDUs ---*/
5006
5007 static int dissect_qsig_dnd_DNDActivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5008   int offset = 0;
5009   asn1_ctx_t asn1_ctx;
5010   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5011   offset = dissect_qsig_dnd_DNDActivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU);
5012   return offset;
5013 }
5014 static int dissect_qsig_dnd_DNDActivateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5015   int offset = 0;
5016   asn1_ctx_t asn1_ctx;
5017   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5018   offset = dissect_qsig_dnd_DNDActivateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU);
5019   return offset;
5020 }
5021 static int dissect_qsig_dnd_DNDDeactivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5022   int offset = 0;
5023   asn1_ctx_t asn1_ctx;
5024   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5025   offset = dissect_qsig_dnd_DNDDeactivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU);
5026   return offset;
5027 }
5028 static int dissect_qsig_dnd_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5029   int offset = 0;
5030   asn1_ctx_t asn1_ctx;
5031   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5032   offset = dissect_qsig_dnd_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyRes_PDU);
5033   return offset;
5034 }
5035 static int dissect_qsig_dnd_DNDInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5036   int offset = 0;
5037   asn1_ctx_t asn1_ctx;
5038   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5039   offset = dissect_qsig_dnd_DNDInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU);
5040   return offset;
5041 }
5042 static int dissect_qsig_dnd_DNDInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5043   int offset = 0;
5044   asn1_ctx_t asn1_ctx;
5045   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5046   offset = dissect_qsig_dnd_DNDInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU);
5047   return offset;
5048 }
5049 static int dissect_qsig_dnd_DNDOverrideArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5050   int offset = 0;
5051   asn1_ctx_t asn1_ctx;
5052   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5053   offset = dissect_qsig_dnd_DNDOverrideArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU);
5054   return offset;
5055 }
5056 static int dissect_qsig_dnd_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5057   int offset = 0;
5058   asn1_ctx_t asn1_ctx;
5059   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5060   offset = dissect_qsig_dnd_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU);
5061   return offset;
5062 }
5063 static int dissect_qsig_dnd_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5064   int offset = 0;
5065   asn1_ctx_t asn1_ctx;
5066   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5067   offset = dissect_qsig_dnd_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU);
5068   return offset;
5069 }
5070 static int dissect_qsig_dnd_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5071   int offset = 0;
5072   asn1_ctx_t asn1_ctx;
5073   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5074   offset = dissect_qsig_dnd_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyArg_PDU);
5075   return offset;
5076 }
5077 static int dissect_qsig_dnd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5078   int offset = 0;
5079   asn1_ctx_t asn1_ctx;
5080   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5081   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_Extension_PDU);
5082   return offset;
5083 }
5084
5085
5086 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
5087
5088
5089 static const asn_namedbit qsig_ci_ServiceList_bits[] = {
5090   {  4, &hf_qsig_ci_ServiceList_ci_low, -1, -1, "ci-low", NULL },
5091   {  5, &hf_qsig_ci_ServiceList_ci_medium, -1, -1, "ci-medium", NULL },
5092   {  6, &hf_qsig_ci_ServiceList_ci_high, -1, -1, "ci-high", NULL },
5093   { 0, NULL, 0, 0, NULL, NULL }
5094 };
5095
5096 static int
5097 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_) {
5098   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5099                                     qsig_ci_ServiceList_bits, hf_index, ett_qsig_ci_ServiceList,
5100                                     NULL);
5101
5102   return offset;
5103 }
5104
5105
5106 static const ber_sequence_t qsig_ci_T_extendedServiceList_sequence[] = {
5107   { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5108   { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5109   { NULL, 0, 0, 0, NULL }
5110 };
5111
5112 static int
5113 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_) {
5114   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5115                                    qsig_ci_T_extendedServiceList_sequence, hf_index, ett_qsig_ci_T_extendedServiceList);
5116
5117   return offset;
5118 }
5119
5120
5121 static const value_string qsig_ci_PathRetainArg_vals[] = {
5122   {   0, "serviceList" },
5123   {   1, "extendedServiceList" },
5124   { 0, NULL }
5125 };
5126
5127 static const ber_choice_t qsig_ci_PathRetainArg_choice[] = {
5128   {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5129   {   1, &hf_qsig_ci_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList },
5130   { 0, NULL, 0, 0, 0, NULL }
5131 };
5132
5133 static int
5134 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_) {
5135   offset = dissect_ber_choice(actx, tree, tvb, offset,
5136                                  qsig_ci_PathRetainArg_choice, hf_index, ett_qsig_ci_PathRetainArg,
5137                                  NULL);
5138
5139   return offset;
5140 }
5141
5142
5143 static const ber_sequence_t qsig_ci_T_extendedServiceList_01_sequence[] = {
5144   { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5145   { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5146   { NULL, 0, 0, 0, NULL }
5147 };
5148
5149 static int
5150 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_) {
5151   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5152                                    qsig_ci_T_extendedServiceList_01_sequence, hf_index, ett_qsig_ci_T_extendedServiceList_01);
5153
5154   return offset;
5155 }
5156
5157
5158 static const value_string qsig_ci_ServiceAvailableArg_vals[] = {
5159   {   0, "serviceList" },
5160   {   1, "extendedServiceList" },
5161   { 0, NULL }
5162 };
5163
5164 static const ber_choice_t qsig_ci_ServiceAvailableArg_choice[] = {
5165   {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5166   {   1, &hf_qsig_ci_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList_01 },
5167   { 0, NULL, 0, 0, 0, NULL }
5168 };
5169
5170 static int
5171 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_) {
5172   offset = dissect_ber_choice(actx, tree, tvb, offset,
5173                                  qsig_ci_ServiceAvailableArg_choice, hf_index, ett_qsig_ci_ServiceAvailableArg,
5174                                  NULL);
5175
5176   return offset;
5177 }
5178
5179
5180
5181 static int
5182 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_) {
5183   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5184
5185   return offset;
5186 }
5187
5188
5189 static const ber_sequence_t qsig_ci_SEQUENCE_OF_Extension_sequence_of[1] = {
5190   { &hf_qsig_ci_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5191 };
5192
5193 static int
5194 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_) {
5195   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5196                                       qsig_ci_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ci_SEQUENCE_OF_Extension);
5197
5198   return offset;
5199 }
5200
5201
5202 static const value_string qsig_ci_DummyArg_vals[] = {
5203   {   0, "null" },
5204   {   1, "extension" },
5205   {   2, "sequenceOfExtn" },
5206   { 0, NULL }
5207 };
5208
5209 static const ber_choice_t qsig_ci_DummyArg_choice[] = {
5210   {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
5211   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5212   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5213   { 0, NULL, 0, 0, 0, NULL }
5214 };
5215
5216 static int
5217 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_) {
5218   offset = dissect_ber_choice(actx, tree, tvb, offset,
5219                                  qsig_ci_DummyArg_choice, hf_index, ett_qsig_ci_DummyArg,
5220                                  NULL);
5221
5222   return offset;
5223 }
5224
5225
5226 static const value_string qsig_ci_DummyRes_vals[] = {
5227   {   0, "null" },
5228   {   1, "extension" },
5229   {   2, "sequenceOfExtn" },
5230   { 0, NULL }
5231 };
5232
5233 static const ber_choice_t qsig_ci_DummyRes_choice[] = {
5234   {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
5235   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5236   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5237   { 0, NULL, 0, 0, 0, NULL }
5238 };
5239
5240 static int
5241 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_) {
5242   offset = dissect_ber_choice(actx, tree, tvb, offset,
5243                                  qsig_ci_DummyRes_choice, hf_index, ett_qsig_ci_DummyRes,
5244                                  NULL);
5245
5246   return offset;
5247 }
5248
5249
5250 static const value_string qsig_ci_CICapabilityLevel_vals[] = {
5251   {   1, "intrusionLowProt" },
5252   {   2, "intrusionMediumProt" },
5253   {   3, "intrusionHighProt" },
5254   { 0, NULL }
5255 };
5256
5257
5258 static int
5259 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_) {
5260   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5261                                   NULL);
5262
5263   return offset;
5264 }
5265
5266
5267 static const value_string qsig_ci_T_argumentExtension_vals[] = {
5268   {   1, "extension" },
5269   {   2, "sequenceOfExtn" },
5270   { 0, NULL }
5271 };
5272
5273 static const ber_choice_t qsig_ci_T_argumentExtension_choice[] = {
5274   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5275   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5276   { 0, NULL, 0, 0, 0, NULL }
5277 };
5278
5279 static int
5280 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_) {
5281   offset = dissect_ber_choice(actx, tree, tvb, offset,
5282                                  qsig_ci_T_argumentExtension_choice, hf_index, ett_qsig_ci_T_argumentExtension,
5283                                  NULL);
5284
5285   return offset;
5286 }
5287
5288
5289 static const ber_sequence_t qsig_ci_CIRequestArg_sequence[] = {
5290   { &hf_qsig_ci_ciCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CICapabilityLevel },
5291   { &hf_qsig_ci_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_argumentExtension },
5292   { NULL, 0, 0, 0, NULL }
5293 };
5294
5295 static int
5296 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_) {
5297   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5298                                    qsig_ci_CIRequestArg_sequence, hf_index, ett_qsig_ci_CIRequestArg);
5299
5300   return offset;
5301 }
5302
5303
5304 static const value_string qsig_ci_CIUnwantedUserStatus_vals[] = {
5305   {   0, "unwantedUserIntruded" },
5306   {   1, "unwantedUserIsolated" },
5307   { 0, NULL }
5308 };
5309
5310
5311 static int
5312 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_) {
5313   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5314                                   NULL);
5315
5316   return offset;
5317 }
5318
5319
5320 static const value_string qsig_ci_T_resultExtension_vals[] = {
5321   {   1, "extension" },
5322   {   2, "sequenceOfExtn" },
5323   { 0, NULL }
5324 };
5325
5326 static const ber_choice_t qsig_ci_T_resultExtension_choice[] = {
5327   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5328   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5329   { 0, NULL, 0, 0, 0, NULL }
5330 };
5331
5332 static int
5333 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_) {
5334   offset = dissect_ber_choice(actx, tree, tvb, offset,
5335                                  qsig_ci_T_resultExtension_choice, hf_index, ett_qsig_ci_T_resultExtension,
5336                                  NULL);
5337
5338   return offset;
5339 }
5340
5341
5342 static const ber_sequence_t qsig_ci_CIRequestRes_sequence[] = {
5343   { &hf_qsig_ci_ciUnwantedUserStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIUnwantedUserStatus },
5344   { &hf_qsig_ci_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_resultExtension },
5345   { NULL, 0, 0, 0, NULL }
5346 };
5347
5348 static int
5349 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_) {
5350   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5351                                    qsig_ci_CIRequestRes_sequence, hf_index, ett_qsig_ci_CIRequestRes);
5352
5353   return offset;
5354 }
5355
5356
5357 static const value_string qsig_ci_CIProtectionLevel_vals[] = {
5358   {   0, "lowProtection" },
5359   {   1, "mediumProtection" },
5360   {   2, "highProtection" },
5361   {   3, "fullProtection" },
5362   { 0, NULL }
5363 };
5364
5365
5366 static int
5367 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_) {
5368   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5369                                   NULL);
5370
5371   return offset;
5372 }
5373
5374
5375 static const value_string qsig_ci_T_resultExtension_01_vals[] = {
5376   {   1, "extension" },
5377   {   2, "sequenceOfExtn" },
5378   { 0, NULL }
5379 };
5380
5381 static const ber_choice_t qsig_ci_T_resultExtension_01_choice[] = {
5382   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5383   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5384   { 0, NULL, 0, 0, 0, NULL }
5385 };
5386
5387 static int
5388 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_) {
5389   offset = dissect_ber_choice(actx, tree, tvb, offset,
5390                                  qsig_ci_T_resultExtension_01_choice, hf_index, ett_qsig_ci_T_resultExtension_01,
5391                                  NULL);
5392
5393   return offset;
5394 }
5395
5396
5397 static const ber_sequence_t qsig_ci_CIGetCIPLRes_sequence[] = {
5398   { &hf_qsig_ci_ciProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIProtectionLevel },
5399   { &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 },
5400   { NULL, 0, 0, 0, NULL }
5401 };
5402
5403 static int
5404 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_) {
5405   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5406                                    qsig_ci_CIGetCIPLRes_sequence, hf_index, ett_qsig_ci_CIGetCIPLRes);
5407
5408   return offset;
5409 }
5410
5411 /*--- PDUs ---*/
5412
5413 static int dissect_qsig_ci_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5414   int offset = 0;
5415   asn1_ctx_t asn1_ctx;
5416   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5417   offset = dissect_qsig_ci_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_PathRetainArg_PDU);
5418   return offset;
5419 }
5420 static int dissect_qsig_ci_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5421   int offset = 0;
5422   asn1_ctx_t asn1_ctx;
5423   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5424   offset = dissect_qsig_ci_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU);
5425   return offset;
5426 }
5427 static int dissect_qsig_ci_CIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5428   int offset = 0;
5429   asn1_ctx_t asn1_ctx;
5430   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5431   offset = dissect_qsig_ci_CIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestArg_PDU);
5432   return offset;
5433 }
5434 static int dissect_qsig_ci_CIRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5435   int offset = 0;
5436   asn1_ctx_t asn1_ctx;
5437   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5438   offset = dissect_qsig_ci_CIRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestRes_PDU);
5439   return offset;
5440 }
5441 static int dissect_qsig_ci_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5442   int offset = 0;
5443   asn1_ctx_t asn1_ctx;
5444   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5445   offset = dissect_qsig_ci_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyArg_PDU);
5446   return offset;
5447 }
5448 static int dissect_qsig_ci_CIGetCIPLRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5449   int offset = 0;
5450   asn1_ctx_t asn1_ctx;
5451   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5452   offset = dissect_qsig_ci_CIGetCIPLRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU);
5453   return offset;
5454 }
5455 static int dissect_qsig_ci_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5456   int offset = 0;
5457   asn1_ctx_t asn1_ctx;
5458   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5459   offset = dissect_qsig_ci_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyRes_PDU);
5460   return offset;
5461 }
5462 static int dissect_qsig_ci_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5463   int offset = 0;
5464   asn1_ctx_t asn1_ctx;
5465   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5466   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_Extension_PDU);
5467   return offset;
5468 }
5469
5470
5471 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
5472
5473
5474
5475 static int
5476 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_) {
5477   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5478
5479   return offset;
5480 }
5481
5482
5483 static const value_string qsig_aoc_ChargedItem_vals[] = {
5484   {   0, "basicCommunication" },
5485   {   1, "callAttempt" },
5486   {   2, "callSetup" },
5487   {   3, "userToUserInfo" },
5488   {   4, "operationOfSupplementaryServ" },
5489   { 0, NULL }
5490 };
5491
5492
5493 static int
5494 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_) {
5495   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5496                                   NULL);
5497
5498   return offset;
5499 }
5500
5501
5502
5503 static int
5504 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_) {
5505   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
5506                                             actx, tree, tvb, offset, hf_index,
5507                                             NULL);
5508
5509   return offset;
5510 }
5511
5512
5513
5514 static int
5515 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_) {
5516   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5517                                                 NULL);
5518
5519   return offset;
5520 }
5521
5522
5523 static const value_string qsig_aoc_Multiplier_vals[] = {
5524   {   0, "oneThousandth" },
5525   {   1, "oneHundredth" },
5526   {   2, "oneTenth" },
5527   {   3, "one" },
5528   {   4, "ten" },
5529   {   5, "hundred" },
5530   {   6, "thousand" },
5531   { 0, NULL }
5532 };
5533
5534
5535 static int
5536 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_) {
5537   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5538                                   NULL);
5539
5540   return offset;
5541 }
5542
5543
5544 static const ber_sequence_t qsig_aoc_Amount_sequence[] = {
5545   { &hf_qsig_aoc_currencyAmount, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_CurrencyAmount },
5546   { &hf_qsig_aoc_multiplier , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Multiplier },
5547   { NULL, 0, 0, 0, NULL }
5548 };
5549
5550 static int
5551 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_) {
5552   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5553                                    qsig_aoc_Amount_sequence, hf_index, ett_qsig_aoc_Amount);
5554
5555   return offset;
5556 }
5557
5558
5559 static const value_string qsig_aoc_ChargingType_vals[] = {
5560   {   0, "continuousCharging" },
5561   {   1, "stepFunction" },
5562   { 0, NULL }
5563 };
5564
5565
5566 static int
5567 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_) {
5568   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5569                                   NULL);
5570
5571   return offset;
5572 }
5573
5574
5575
5576 static int
5577 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_) {
5578   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5579                                                 NULL);
5580
5581   return offset;
5582 }
5583
5584
5585 static const value_string qsig_aoc_Scale_vals[] = {
5586   {   0, "oneHundredthSecond" },
5587   {   1, "oneTenthSecond" },
5588   {   2, "oneSecond" },
5589   {   3, "tenSeconds" },
5590   {   4, "oneMinute" },
5591   {   5, "oneHour" },
5592   {   6, "twentyFourHours" },
5593   { 0, NULL }
5594 };
5595
5596
5597 static int
5598 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_) {
5599   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5600                                   NULL);
5601
5602   return offset;
5603 }
5604
5605
5606 static const ber_sequence_t qsig_aoc_Time_sequence[] = {
5607   { &hf_qsig_aoc_lengthOfTimeUnit, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_LengthOfTimeUnit },
5608   { &hf_qsig_aoc_scale      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Scale },
5609   { NULL, 0, 0, 0, NULL }
5610 };
5611
5612 static int
5613 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_) {
5614   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5615                                    qsig_aoc_Time_sequence, hf_index, ett_qsig_aoc_Time);
5616
5617   return offset;
5618 }
5619
5620
5621 static const ber_sequence_t qsig_aoc_DurationCurrency_sequence[] = {
5622   { &hf_qsig_aoc_dCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5623   { &hf_qsig_aoc_dAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5624   { &hf_qsig_aoc_dChargingType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_ChargingType },
5625   { &hf_qsig_aoc_dTime      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
5626   { &hf_qsig_aoc_dGranularity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
5627   { NULL, 0, 0, 0, NULL }
5628 };
5629
5630 static int
5631 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_) {
5632   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5633                                    qsig_aoc_DurationCurrency_sequence, hf_index, ett_qsig_aoc_DurationCurrency);
5634
5635   return offset;
5636 }
5637
5638
5639 static const ber_sequence_t qsig_aoc_FlatRateCurrency_sequence[] = {
5640   { &hf_qsig_aoc_fRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5641   { &hf_qsig_aoc_fRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5642   { NULL, 0, 0, 0, NULL }
5643 };
5644
5645 static int
5646 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_) {
5647   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5648                                    qsig_aoc_FlatRateCurrency_sequence, hf_index, ett_qsig_aoc_FlatRateCurrency);
5649
5650   return offset;
5651 }
5652
5653
5654 static const value_string qsig_aoc_VolumeUnit_vals[] = {
5655   {   0, "octet" },
5656   {   1, "segment" },
5657   {   2, "message" },
5658   { 0, NULL }
5659 };
5660
5661
5662 static int
5663 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_) {
5664   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5665                                   NULL);
5666
5667   return offset;
5668 }
5669
5670
5671 static const ber_sequence_t qsig_aoc_VolumeRateCurrency_sequence[] = {
5672   { &hf_qsig_aoc_vRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5673   { &hf_qsig_aoc_vRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5674   { &hf_qsig_aoc_vRVolumeUnit, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeUnit },
5675   { NULL, 0, 0, 0, NULL }
5676 };
5677
5678 static int
5679 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_) {
5680   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5681                                    qsig_aoc_VolumeRateCurrency_sequence, hf_index, ett_qsig_aoc_VolumeRateCurrency);
5682
5683   return offset;
5684 }
5685
5686
5687
5688 static int
5689 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_) {
5690   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5691                                                 NULL);
5692
5693   return offset;
5694 }
5695
5696
5697 static const value_string qsig_aoc_T_rateType_vals[] = {
5698   {   0, "durationCurrency" },
5699   {   1, "flatRateCurrency" },
5700   {   2, "volumeRateCurrency" },
5701   {   3, "specialChargingCode" },
5702   {   4, "freeOfCharge" },
5703   {   5, "currencyInfoNotAvailable" },
5704   {   6, "freeOfChargefromBeginning" },
5705   { 0, NULL }
5706 };
5707
5708 static const ber_choice_t qsig_aoc_T_rateType_choice[] = {
5709   {   0, &hf_qsig_aoc_durationCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_DurationCurrency },
5710   {   1, &hf_qsig_aoc_flatRateCurrency, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FlatRateCurrency },
5711   {   2, &hf_qsig_aoc_volumeRateCurrency, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeRateCurrency },
5712   {   3, &hf_qsig_aoc_specialChargingCode, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SpecialChargingCode },
5713   {   4, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5714   {   5, &hf_qsig_aoc_currencyInfoNotAvailable, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5715   {   6, &hf_qsig_aoc_freeOfChargefromBeginning, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5716   { 0, NULL, 0, 0, 0, NULL }
5717 };
5718
5719 static int
5720 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_) {
5721   offset = dissect_ber_choice(actx, tree, tvb, offset,
5722                                  qsig_aoc_T_rateType_choice, hf_index, ett_qsig_aoc_T_rateType,
5723                                  NULL);
5724
5725   return offset;
5726 }
5727
5728
5729 static const ber_sequence_t qsig_aoc_AOCSCurrencyInfo_sequence[] = {
5730   { &hf_qsig_aoc_chargedItem, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargedItem },
5731   { &hf_qsig_aoc_rateType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateType },
5732   { NULL, 0, 0, 0, NULL }
5733 };
5734
5735 static int
5736 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_) {
5737   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5738                                    qsig_aoc_AOCSCurrencyInfo_sequence, hf_index, ett_qsig_aoc_AOCSCurrencyInfo);
5739
5740   return offset;
5741 }
5742
5743
5744 static const ber_sequence_t qsig_aoc_AOCSCurrencyInfoList_sequence_of[1] = {
5745   { &hf_qsig_aoc_AOCSCurrencyInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfo },
5746 };
5747
5748 static int
5749 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_) {
5750   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5751                                       qsig_aoc_AOCSCurrencyInfoList_sequence_of, hf_index, ett_qsig_aoc_AOCSCurrencyInfoList);
5752
5753   return offset;
5754 }
5755
5756
5757 static const value_string qsig_aoc_T_aocRate_vals[] = {
5758   {   0, "chargeNotAvailable" },
5759   {   1, "aocSCurrencyInfoList" },
5760   { 0, NULL }
5761 };
5762
5763 static const ber_choice_t qsig_aoc_T_aocRate_choice[] = {
5764   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
5765   {   1, &hf_qsig_aoc_aocSCurrencyInfoList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfoList },
5766   { 0, NULL, 0, 0, 0, NULL }
5767 };
5768
5769 static int
5770 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_) {
5771   offset = dissect_ber_choice(actx, tree, tvb, offset,
5772                                  qsig_aoc_T_aocRate_choice, hf_index, ett_qsig_aoc_T_aocRate,
5773                                  NULL);
5774
5775   return offset;
5776 }
5777
5778
5779 static const ber_sequence_t qsig_aoc_SEQUENCE_OF_Extension_sequence_of[1] = {
5780   { &hf_qsig_aoc_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5781 };
5782
5783 static int
5784 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_) {
5785   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5786                                       qsig_aoc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_OF_Extension);
5787
5788   return offset;
5789 }
5790
5791
5792 static const value_string qsig_aoc_T_rateArgExtension_vals[] = {
5793   {   1, "extension" },
5794   {   2, "multipleExtension" },
5795   { 0, NULL }
5796 };
5797
5798 static const ber_choice_t qsig_aoc_T_rateArgExtension_choice[] = {
5799   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5800   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
5801   { 0, NULL, 0, 0, 0, NULL }
5802 };
5803
5804 static int
5805 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_) {
5806   offset = dissect_ber_choice(actx, tree, tvb, offset,
5807                                  qsig_aoc_T_rateArgExtension_choice, hf_index, ett_qsig_aoc_T_rateArgExtension,
5808                                  NULL);
5809
5810   return offset;
5811 }
5812
5813
5814 static const ber_sequence_t qsig_aoc_AocRateArg_sequence[] = {
5815   { &hf_qsig_aoc_aocRate    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocRate },
5816   { &hf_qsig_aoc_rateArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateArgExtension },
5817   { NULL, 0, 0, 0, NULL }
5818 };
5819
5820 static int
5821 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_) {
5822   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5823                                    qsig_aoc_AocRateArg_sequence, hf_index, ett_qsig_aoc_AocRateArg);
5824
5825   return offset;
5826 }
5827
5828
5829 static const ber_sequence_t qsig_aoc_RecordedCurrency_sequence[] = {
5830   { &hf_qsig_aoc_rCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5831   { &hf_qsig_aoc_rAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5832   { NULL, 0, 0, 0, NULL }
5833 };
5834
5835 static int
5836 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_) {
5837   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5838                                    qsig_aoc_RecordedCurrency_sequence, hf_index, ett_qsig_aoc_RecordedCurrency);
5839
5840   return offset;
5841 }
5842
5843
5844 static const value_string qsig_aoc_InterimBillingId_vals[] = {
5845   {   0, "normalCharging" },
5846   {   2, "creditCardCharging" },
5847   { 0, NULL }
5848 };
5849
5850
5851 static int
5852 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_) {
5853   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5854                                   NULL);
5855
5856   return offset;
5857 }
5858
5859
5860 static const ber_sequence_t qsig_aoc_T_specificCurrency_sequence[] = {
5861   { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
5862   { &hf_qsig_aoc_interimBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_InterimBillingId },
5863   { NULL, 0, 0, 0, NULL }
5864 };
5865
5866 static int
5867 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_) {
5868   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5869                                    qsig_aoc_T_specificCurrency_sequence, hf_index, ett_qsig_aoc_T_specificCurrency);
5870
5871   return offset;
5872 }
5873
5874
5875 static const value_string qsig_aoc_T_interimCharge_vals[] = {
5876   {   0, "chargeNotAvailable" },
5877   {   1, "freeOfCharge" },
5878   {   2, "specificCurrency" },
5879   { 0, NULL }
5880 };
5881
5882 static const ber_choice_t qsig_aoc_T_interimCharge_choice[] = {
5883   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5884   {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5885   {   2, &hf_qsig_aoc_specificCurrency, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency },
5886   { 0, NULL, 0, 0, 0, NULL }
5887 };
5888
5889 static int
5890 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_) {
5891   offset = dissect_ber_choice(actx, tree, tvb, offset,
5892                                  qsig_aoc_T_interimCharge_choice, hf_index, ett_qsig_aoc_T_interimCharge,
5893                                  NULL);
5894
5895   return offset;
5896 }
5897
5898
5899 static const value_string qsig_aoc_T_interimArgExtension_vals[] = {
5900   {   1, "extension" },
5901   {   2, "multipleExtension" },
5902   { 0, NULL }
5903 };
5904
5905 static const ber_choice_t qsig_aoc_T_interimArgExtension_choice[] = {
5906   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5907   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
5908   { 0, NULL, 0, 0, 0, NULL }
5909 };
5910
5911 static int
5912 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_) {
5913   offset = dissect_ber_choice(actx, tree, tvb, offset,
5914                                  qsig_aoc_T_interimArgExtension_choice, hf_index, ett_qsig_aoc_T_interimArgExtension,
5915                                  NULL);
5916
5917   return offset;
5918 }
5919
5920
5921 static const ber_sequence_t qsig_aoc_AocInterimArg_sequence[] = {
5922   { &hf_qsig_aoc_interimCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimCharge },
5923   { &hf_qsig_aoc_interimArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimArgExtension },
5924   { NULL, 0, 0, 0, NULL }
5925 };
5926
5927 static int
5928 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_) {
5929   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5930                                    qsig_aoc_AocInterimArg_sequence, hf_index, ett_qsig_aoc_AocInterimArg);
5931
5932   return offset;
5933 }
5934
5935
5936 static const value_string qsig_aoc_FinalBillingId_vals[] = {
5937   {   0, "normalCharging" },
5938   {   2, "creditCardCharging" },
5939   {   3, "callForwardingUnconditional" },
5940   {   4, "callForwardingBusy" },
5941   {   5, "callForwardingNoReply" },
5942   {   6, "callDeflection" },
5943   {   7, "callTransfer" },
5944   { 0, NULL }
5945 };
5946
5947
5948 static int
5949 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_) {
5950   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5951                                   NULL);
5952
5953   return offset;
5954 }
5955
5956
5957 static const ber_sequence_t qsig_aoc_T_specificCurrency_01_sequence[] = {
5958   { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
5959   { &hf_qsig_aoc_finalBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FinalBillingId },
5960   { NULL, 0, 0, 0, NULL }
5961 };
5962
5963 static int
5964 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_) {
5965   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5966                                    qsig_aoc_T_specificCurrency_01_sequence, hf_index, ett_qsig_aoc_T_specificCurrency_01);
5967
5968   return offset;
5969 }
5970
5971
5972 static const value_string qsig_aoc_T_finalCharge_vals[] = {
5973   {   0, "chargeNotAvailable" },
5974   {   1, "freeOfCharge" },
5975   {   2, "specificCurrency" },
5976   { 0, NULL }
5977 };
5978
5979 static const ber_choice_t qsig_aoc_T_finalCharge_choice[] = {
5980   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5981   {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5982   {   2, &hf_qsig_aoc_specificCurrency_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency_01 },
5983   { 0, NULL, 0, 0, 0, NULL }
5984 };
5985
5986 static int
5987 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_) {
5988   offset = dissect_ber_choice(actx, tree, tvb, offset,
5989                                  qsig_aoc_T_finalCharge_choice, hf_index, ett_qsig_aoc_T_finalCharge,
5990                                  NULL);
5991
5992   return offset;
5993 }
5994
5995
5996
5997 static int
5998 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_) {
5999   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6000                                                 NULL);
6001
6002   return offset;
6003 }
6004
6005
6006 static const value_string qsig_aoc_ChargingAssociation_vals[] = {
6007   {   0, "chargeNumber" },
6008   {   1, "chargeIdentifier" },
6009   { 0, NULL }
6010 };
6011
6012 static const ber_choice_t qsig_aoc_ChargingAssociation_choice[] = {
6013   {   0, &hf_qsig_aoc_chargeNumber, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
6014   {   1, &hf_qsig_aoc_chargeIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargeIdentifier },
6015   { 0, NULL, 0, 0, 0, NULL }
6016 };
6017
6018 static int
6019 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_) {
6020   offset = dissect_ber_choice(actx, tree, tvb, offset,
6021                                  qsig_aoc_ChargingAssociation_choice, hf_index, ett_qsig_aoc_ChargingAssociation,
6022                                  NULL);
6023
6024   return offset;
6025 }
6026
6027
6028 static const value_string qsig_aoc_T_finalArgExtension_vals[] = {
6029   {   1, "extension" },
6030   {   2, "multipleExtension" },
6031   { 0, NULL }
6032 };
6033
6034 static const ber_choice_t qsig_aoc_T_finalArgExtension_choice[] = {
6035   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6036   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6037   { 0, NULL, 0, 0, 0, NULL }
6038 };
6039
6040 static int
6041 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_) {
6042   offset = dissect_ber_choice(actx, tree, tvb, offset,
6043                                  qsig_aoc_T_finalArgExtension_choice, hf_index, ett_qsig_aoc_T_finalArgExtension,
6044                                  NULL);
6045
6046   return offset;
6047 }
6048
6049
6050 static const ber_sequence_t qsig_aoc_AocFinalArg_sequence[] = {
6051   { &hf_qsig_aoc_finalCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalCharge },
6052   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6053   { &hf_qsig_aoc_finalArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalArgExtension },
6054   { NULL, 0, 0, 0, NULL }
6055 };
6056
6057 static int
6058 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_) {
6059   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6060                                    qsig_aoc_AocFinalArg_sequence, hf_index, ett_qsig_aoc_AocFinalArg);
6061
6062   return offset;
6063 }
6064
6065
6066 static const value_string qsig_aoc_AdviceModeCombination_vals[] = {
6067   {   0, "rate" },
6068   {   1, "rateInterim" },
6069   {   2, "rateFinal" },
6070   {   3, "interim" },
6071   {   4, "final" },
6072   {   5, "interimFinal" },
6073   {   6, "rateInterimFinal" },
6074   { 0, NULL }
6075 };
6076
6077
6078 static int
6079 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_) {
6080   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6081                                   NULL);
6082
6083   return offset;
6084 }
6085
6086
6087 static const ber_sequence_t qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of[1] = {
6088   { &hf_qsig_aoc_adviceModeCombinations_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
6089 };
6090
6091 static int
6092 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_) {
6093   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6094                                       qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination);
6095
6096   return offset;
6097 }
6098
6099
6100 static const value_string qsig_aoc_T_chargeReqArgExtension_vals[] = {
6101   {   1, "extension" },
6102   {   2, "multipleExtension" },
6103   { 0, NULL }
6104 };
6105
6106 static const ber_choice_t qsig_aoc_T_chargeReqArgExtension_choice[] = {
6107   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6108   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6109   { 0, NULL, 0, 0, 0, NULL }
6110 };
6111
6112 static int
6113 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_) {
6114   offset = dissect_ber_choice(actx, tree, tvb, offset,
6115                                  qsig_aoc_T_chargeReqArgExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqArgExtension,
6116                                  NULL);
6117
6118   return offset;
6119 }
6120
6121
6122 static const ber_sequence_t qsig_aoc_ChargeRequestArg_sequence[] = {
6123   { &hf_qsig_aoc_adviceModeCombinations, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination },
6124   { &hf_qsig_aoc_chargeReqArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqArgExtension },
6125   { NULL, 0, 0, 0, NULL }
6126 };
6127
6128 static int
6129 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_) {
6130   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6131                                    qsig_aoc_ChargeRequestArg_sequence, hf_index, ett_qsig_aoc_ChargeRequestArg);
6132
6133   return offset;
6134 }
6135
6136
6137 static const value_string qsig_aoc_T_chargeReqResExtension_vals[] = {
6138   {   1, "extension" },
6139   {   2, "multipleExtension" },
6140   { 0, NULL }
6141 };
6142
6143 static const ber_choice_t qsig_aoc_T_chargeReqResExtension_choice[] = {
6144   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6145   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6146   { 0, NULL, 0, 0, 0, NULL }
6147 };
6148
6149 static int
6150 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_) {
6151   offset = dissect_ber_choice(actx, tree, tvb, offset,
6152                                  qsig_aoc_T_chargeReqResExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqResExtension,
6153                                  NULL);
6154
6155   return offset;
6156 }
6157
6158
6159 static const ber_sequence_t qsig_aoc_ChargeRequestRes_sequence[] = {
6160   { &hf_qsig_aoc_adviceModeCombination, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
6161   { &hf_qsig_aoc_chargeReqResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqResExtension },
6162   { NULL, 0, 0, 0, NULL }
6163 };
6164
6165 static int
6166 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_) {
6167   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6168                                    qsig_aoc_ChargeRequestRes_sequence, hf_index, ett_qsig_aoc_ChargeRequestRes);
6169
6170   return offset;
6171 }
6172
6173
6174 static const value_string qsig_aoc_DummyArg_vals[] = {
6175   {   0, "none" },
6176   {   1, "extension" },
6177   {   2, "multipleExtension" },
6178   { 0, NULL }
6179 };
6180
6181 static const ber_choice_t qsig_aoc_DummyArg_choice[] = {
6182   {   0, &hf_qsig_aoc_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
6183   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6184   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6185   { 0, NULL, 0, 0, 0, NULL }
6186 };
6187
6188 static int
6189 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_) {
6190   offset = dissect_ber_choice(actx, tree, tvb, offset,
6191                                  qsig_aoc_DummyArg_choice, hf_index, ett_qsig_aoc_DummyArg,
6192                                  NULL);
6193
6194   return offset;
6195 }
6196
6197
6198 static const value_string qsig_aoc_T_completeArgExtension_vals[] = {
6199   {   1, "extension" },
6200   {   2, "multipleExtension" },
6201   { 0, NULL }
6202 };
6203
6204 static const ber_choice_t qsig_aoc_T_completeArgExtension_choice[] = {
6205   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6206   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6207   { 0, NULL, 0, 0, 0, NULL }
6208 };
6209
6210 static int
6211 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_) {
6212   offset = dissect_ber_choice(actx, tree, tvb, offset,
6213                                  qsig_aoc_T_completeArgExtension_choice, hf_index, ett_qsig_aoc_T_completeArgExtension,
6214                                  NULL);
6215
6216   return offset;
6217 }
6218
6219
6220 static const ber_sequence_t qsig_aoc_AocCompleteArg_sequence[] = {
6221   { &hf_qsig_aoc_chargedUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6222   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6223   { &hf_qsig_aoc_completeArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeArgExtension },
6224   { NULL, 0, 0, 0, NULL }
6225 };
6226
6227 static int
6228 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_) {
6229   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6230                                    qsig_aoc_AocCompleteArg_sequence, hf_index, ett_qsig_aoc_AocCompleteArg);
6231
6232   return offset;
6233 }
6234
6235
6236 static const value_string qsig_aoc_ChargingOption_vals[] = {
6237   {   0, "aocFreeOfCharge" },
6238   {   1, "aocContinueCharging" },
6239   {   2, "aocStopCharging" },
6240   { 0, NULL }
6241 };
6242
6243
6244 static int
6245 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_) {
6246   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6247                                   NULL);
6248
6249   return offset;
6250 }
6251
6252
6253 static const value_string qsig_aoc_T_completeResExtension_vals[] = {
6254   {   1, "extension" },
6255   {   2, "multipleExtension" },
6256   { 0, NULL }
6257 };
6258
6259 static const ber_choice_t qsig_aoc_T_completeResExtension_choice[] = {
6260   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6261   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6262   { 0, NULL, 0, 0, 0, NULL }
6263 };
6264
6265 static int
6266 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_) {
6267   offset = dissect_ber_choice(actx, tree, tvb, offset,
6268                                  qsig_aoc_T_completeResExtension_choice, hf_index, ett_qsig_aoc_T_completeResExtension,
6269                                  NULL);
6270
6271   return offset;
6272 }
6273
6274
6275 static const ber_sequence_t qsig_aoc_AocCompleteRes_sequence[] = {
6276   { &hf_qsig_aoc_chargingOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargingOption },
6277   { &hf_qsig_aoc_completeResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeResExtension },
6278   { NULL, 0, 0, 0, NULL }
6279 };
6280
6281 static int
6282 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_) {
6283   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6284                                    qsig_aoc_AocCompleteRes_sequence, hf_index, ett_qsig_aoc_AocCompleteRes);
6285
6286   return offset;
6287 }
6288
6289
6290 static const value_string qsig_aoc_DiversionType_vals[] = {
6291   {   0, "callForwardingUnconditional" },
6292   {   1, "callForwardingBusy" },
6293   {   2, "callForwardingNoReply" },
6294   {   3, "callDeflection" },
6295   { 0, NULL }
6296 };
6297
6298
6299 static int
6300 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_) {
6301   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6302                                   NULL);
6303
6304   return offset;
6305 }
6306
6307
6308 static const value_string qsig_aoc_T_aocDivChargeReqArgExt_vals[] = {
6309   {   1, "extension" },
6310   {   2, "multipleExtension" },
6311   { 0, NULL }
6312 };
6313
6314 static const ber_choice_t qsig_aoc_T_aocDivChargeReqArgExt_choice[] = {
6315   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6316   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6317   { 0, NULL, 0, 0, 0, NULL }
6318 };
6319
6320 static int
6321 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_) {
6322   offset = dissect_ber_choice(actx, tree, tvb, offset,
6323                                  qsig_aoc_T_aocDivChargeReqArgExt_choice, hf_index, ett_qsig_aoc_T_aocDivChargeReqArgExt,
6324                                  NULL);
6325
6326   return offset;
6327 }
6328
6329
6330 static const ber_sequence_t qsig_aoc_AocDivChargeReqArg_sequence[] = {
6331   { &hf_qsig_aoc_divertingUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6332   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6333   { &hf_qsig_aoc_diversionType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_DiversionType },
6334   { &hf_qsig_aoc_aocDivChargeReqArgExt, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocDivChargeReqArgExt },
6335   { NULL, 0, 0, 0, NULL }
6336 };
6337
6338 static int
6339 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_) {
6340   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6341                                    qsig_aoc_AocDivChargeReqArg_sequence, hf_index, ett_qsig_aoc_AocDivChargeReqArg);
6342
6343   return offset;
6344 }
6345
6346 /*--- PDUs ---*/
6347
6348 static int dissect_qsig_aoc_AocRateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6349   int offset = 0;
6350   asn1_ctx_t asn1_ctx;
6351   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6352   offset = dissect_qsig_aoc_AocRateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocRateArg_PDU);
6353   return offset;
6354 }
6355 static int dissect_qsig_aoc_AocInterimArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6356   int offset = 0;
6357   asn1_ctx_t asn1_ctx;
6358   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6359   offset = dissect_qsig_aoc_AocInterimArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU);
6360   return offset;
6361 }
6362 static int dissect_qsig_aoc_AocFinalArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6363   int offset = 0;
6364   asn1_ctx_t asn1_ctx;
6365   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6366   offset = dissect_qsig_aoc_AocFinalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU);
6367   return offset;
6368 }
6369 static int dissect_qsig_aoc_ChargeRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6370   int offset = 0;
6371   asn1_ctx_t asn1_ctx;
6372   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6373   offset = dissect_qsig_aoc_ChargeRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU);
6374   return offset;
6375 }
6376 static int dissect_qsig_aoc_ChargeRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6377   int offset = 0;
6378   asn1_ctx_t asn1_ctx;
6379   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6380   offset = dissect_qsig_aoc_ChargeRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU);
6381   return offset;
6382 }
6383 static int dissect_qsig_aoc_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6384   int offset = 0;
6385   asn1_ctx_t asn1_ctx;
6386   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6387   offset = dissect_qsig_aoc_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_DummyArg_PDU);
6388   return offset;
6389 }
6390 static int dissect_qsig_aoc_AocCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6391   int offset = 0;
6392   asn1_ctx_t asn1_ctx;
6393   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6394   offset = dissect_qsig_aoc_AocCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU);
6395   return offset;
6396 }
6397 static int dissect_qsig_aoc_AocCompleteRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6398   int offset = 0;
6399   asn1_ctx_t asn1_ctx;
6400   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6401   offset = dissect_qsig_aoc_AocCompleteRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU);
6402   return offset;
6403 }
6404 static int dissect_qsig_aoc_AocDivChargeReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6405   int offset = 0;
6406   asn1_ctx_t asn1_ctx;
6407   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6408   offset = dissect_qsig_aoc_AocDivChargeReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU);
6409   return offset;
6410 }
6411 static int dissect_qsig_aoc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6412   int offset = 0;
6413   asn1_ctx_t asn1_ctx;
6414   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6415   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_Extension_PDU);
6416   return offset;
6417 }
6418
6419
6420 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
6421
6422
6423 static const ber_sequence_t qsig_re_SEQUENCE_OF_Extension_sequence_of[1] = {
6424   { &hf_qsig_re_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6425 };
6426
6427 static int
6428 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_) {
6429   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6430                                       qsig_re_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_re_SEQUENCE_OF_Extension);
6431
6432   return offset;
6433 }
6434
6435
6436 static const value_string qsig_re_T_argumentExtension_vals[] = {
6437   {   6, "extension" },
6438   {   7, "multipleExtension" },
6439   { 0, NULL }
6440 };
6441
6442 static const ber_choice_t qsig_re_T_argumentExtension_choice[] = {
6443   {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6444   {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
6445   { 0, NULL, 0, 0, 0, NULL }
6446 };
6447
6448 static int
6449 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_) {
6450   offset = dissect_ber_choice(actx, tree, tvb, offset,
6451                                  qsig_re_T_argumentExtension_choice, hf_index, ett_qsig_re_T_argumentExtension,
6452                                  NULL);
6453
6454   return offset;
6455 }
6456
6457
6458 static const ber_sequence_t qsig_re_ReAlertingArg_sequence[] = {
6459   { &hf_qsig_re_alertedNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberScreened },
6460   { &hf_qsig_re_alertedName , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6461   { &hf_qsig_re_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_re_T_argumentExtension },
6462   { NULL, 0, 0, 0, NULL }
6463 };
6464
6465 static int
6466 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_) {
6467   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6468                                    qsig_re_ReAlertingArg_sequence, hf_index, ett_qsig_re_ReAlertingArg);
6469
6470   return offset;
6471 }
6472
6473
6474 static const value_string qsig_re_T_argumentExtension_01_vals[] = {
6475   {   6, "extension" },
6476   {   7, "multipleExtension" },
6477   { 0, NULL }
6478 };
6479
6480 static const ber_choice_t qsig_re_T_argumentExtension_01_choice[] = {
6481   {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6482   {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
6483   { 0, NULL, 0, 0, 0, NULL }
6484 };
6485
6486 static int
6487 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_) {
6488   offset = dissect_ber_choice(actx, tree, tvb, offset,
6489                                  qsig_re_T_argumentExtension_01_choice, hf_index, ett_qsig_re_T_argumentExtension_01,
6490                                  NULL);
6491
6492   return offset;
6493 }
6494
6495
6496 static const ber_sequence_t qsig_re_ReAnswerArg_sequence[] = {
6497   { &hf_qsig_re_connectedNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberScreened },
6498   { &hf_qsig_re_connectedSubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
6499   { &hf_qsig_re_connectedName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6500   { &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 },
6501   { NULL, 0, 0, 0, NULL }
6502 };
6503
6504 static int
6505 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_) {
6506   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6507                                    qsig_re_ReAnswerArg_sequence, hf_index, ett_qsig_re_ReAnswerArg);
6508
6509   return offset;
6510 }
6511
6512 /*--- PDUs ---*/
6513
6514 static int dissect_qsig_re_ReAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6515   int offset = 0;
6516   asn1_ctx_t asn1_ctx;
6517   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6518   offset = dissect_qsig_re_ReAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAlertingArg_PDU);
6519   return offset;
6520 }
6521 static int dissect_qsig_re_ReAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6522   int offset = 0;
6523   asn1_ctx_t asn1_ctx;
6524   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6525   offset = dissect_qsig_re_ReAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAnswerArg_PDU);
6526   return offset;
6527 }
6528
6529
6530 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
6531
6532
6533 static const value_string qsig_sync_Action_vals[] = {
6534   {   0, "enslavement" },
6535   {   1, "holdon" },
6536   { 0, NULL }
6537 };
6538
6539
6540 static int
6541 dissect_qsig_sync_Action(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6542   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6543                                                 NULL);
6544
6545   return offset;
6546 }
6547
6548
6549 static const ber_sequence_t qsig_sync_SEQUENCE_OF_Extension_sequence_of[1] = {
6550   { &hf_qsig_sync_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6551 };
6552
6553 static int
6554 dissect_qsig_sync_SEQUENCE_OF_Extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6555   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6556                                       qsig_sync_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sync_SEQUENCE_OF_Extension);
6557
6558   return offset;
6559 }
6560
6561
6562 static const value_string qsig_sync_ArgExtension_vals[] = {
6563   {   1, "extension" },
6564   {   2, "sequOfExtn" },
6565   { 0, NULL }
6566 };
6567
6568 static const ber_choice_t qsig_sync_ArgExtension_choice[] = {
6569   {   1, &hf_qsig_sync_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6570   {   2, &hf_qsig_sync_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sync_SEQUENCE_OF_Extension },
6571   { 0, NULL, 0, 0, 0, NULL }
6572 };
6573
6574 static int
6575 dissect_qsig_sync_ArgExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6576   offset = dissect_ber_choice(actx, tree, tvb, offset,
6577                                  qsig_sync_ArgExtension_choice, hf_index, ett_qsig_sync_ArgExtension,
6578                                  NULL);
6579
6580   return offset;
6581 }
6582
6583
6584 static const ber_sequence_t qsig_sync_SynchronizationReqArg_sequence[] = {
6585   { &hf_qsig_sync_action    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
6586   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6587   { NULL, 0, 0, 0, NULL }
6588 };
6589
6590 static int
6591 dissect_qsig_sync_SynchronizationReqArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6592   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6593                                    qsig_sync_SynchronizationReqArg_sequence, hf_index, ett_qsig_sync_SynchronizationReqArg);
6594
6595   return offset;
6596 }
6597
6598
6599
6600 static int
6601 dissect_qsig_sync_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6602   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
6603
6604   return offset;
6605 }
6606
6607
6608 static const ber_sequence_t qsig_sync_SynchronizationReqRes_sequence[] = {
6609   { &hf_qsig_sync_action    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
6610   { &hf_qsig_sync_response  , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_BOOLEAN },
6611   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6612   { NULL, 0, 0, 0, NULL }
6613 };
6614
6615 static int
6616 dissect_qsig_sync_SynchronizationReqRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6617   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6618                                    qsig_sync_SynchronizationReqRes_sequence, hf_index, ett_qsig_sync_SynchronizationReqRes);
6619
6620   return offset;
6621 }
6622
6623
6624 static const value_string qsig_sync_T_stateinfo_vals[] = {
6625   {   0, "freerunning" },
6626   {   1, "idle" },
6627   { 0, NULL }
6628 };
6629
6630
6631 static int
6632 dissect_qsig_sync_T_stateinfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6633   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6634                                                 NULL);
6635
6636   return offset;
6637 }
6638
6639
6640 static const ber_sequence_t qsig_sync_SynchronizationInfoArg_sequence[] = {
6641   { &hf_qsig_sync_stateinfo , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_T_stateinfo },
6642   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6643   { NULL, 0, 0, 0, NULL }
6644 };
6645
6646 static int
6647 dissect_qsig_sync_SynchronizationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6648   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6649                                    qsig_sync_SynchronizationInfoArg_sequence, hf_index, ett_qsig_sync_SynchronizationInfoArg);
6650
6651   return offset;
6652 }
6653
6654 /*--- PDUs ---*/
6655
6656 static int dissect_qsig_sync_SynchronizationReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6657   int offset = 0;
6658   asn1_ctx_t asn1_ctx;
6659   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6660   offset = dissect_qsig_sync_SynchronizationReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU);
6661   return offset;
6662 }
6663 static int dissect_qsig_sync_SynchronizationReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6664   int offset = 0;
6665   asn1_ctx_t asn1_ctx;
6666   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6667   offset = dissect_qsig_sync_SynchronizationReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU);
6668   return offset;
6669 }
6670 static int dissect_qsig_sync_SynchronizationInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6671   int offset = 0;
6672   asn1_ctx_t asn1_ctx;
6673   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6674   offset = dissect_qsig_sync_SynchronizationInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU);
6675   return offset;
6676 }
6677 static int dissect_qsig_sync_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6678   int offset = 0;
6679   asn1_ctx_t asn1_ctx;
6680   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6681   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_Extension_PDU);
6682   return offset;
6683 }
6684
6685
6686 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
6687
6688
6689 static const value_string qsig_cint_CintCause_vals[] = {
6690   {   0, "unknown" },
6691   {   1, "cintBnan" },
6692   {   2, "cintBus" },
6693   {   3, "cintCug" },
6694   {   4, "cintDnd" },
6695   {   5, "cintIbd" },
6696   {   6, "cintInn" },
6697   {   7, "cintMob1" },
6698   {   8, "cintMob2" },
6699   {   9, "cintMob3" },
6700   {  10, "cintNcmp" },
6701   {  11, "cintNcong" },
6702   {  12, "cintNre" },
6703   {  13, "cintOos" },
6704   {  14, "cintRrs" },
6705   {  15, "cintTbnan" },
6706   {  16, "cintTnre" },
6707   {  17, "cintTrans" },
6708   {  18, "cintUpl" },
6709   {  19, "cintInvDiv" },
6710   {  20, "cintHold" },
6711   { 0, NULL }
6712 };
6713
6714
6715 static int
6716 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_) {
6717   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6718                                                 NULL);
6719
6720   return offset;
6721 }
6722
6723
6724
6725 static int
6726 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_) {
6727   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6728
6729   return offset;
6730 }
6731
6732
6733 static const ber_sequence_t qsig_cint_SEQUENCE_OF_Extension_sequence_of[1] = {
6734   { &hf_qsig_cint_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6735 };
6736
6737 static int
6738 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_) {
6739   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6740                                       qsig_cint_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cint_SEQUENCE_OF_Extension);
6741
6742   return offset;
6743 }
6744
6745
6746 static const value_string qsig_cint_CintExtension_vals[] = {
6747   {   0, "none" },
6748   {   1, "single" },
6749   {   2, "multiple" },
6750   { 0, NULL }
6751 };
6752
6753 static const ber_choice_t qsig_cint_CintExtension_choice[] = {
6754   {   0, &hf_qsig_cint_none      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_NULL },
6755   {   1, &hf_qsig_cint_single    , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6756   {   2, &hf_qsig_cint_multiple  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cint_SEQUENCE_OF_Extension },
6757   { 0, NULL, 0, 0, 0, NULL }
6758 };
6759
6760 static int
6761 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_) {
6762   offset = dissect_ber_choice(actx, tree, tvb, offset,
6763                                  qsig_cint_CintExtension_choice, hf_index, ett_qsig_cint_CintExtension,
6764                                  NULL);
6765
6766   return offset;
6767 }
6768
6769
6770 static const ber_sequence_t qsig_cint_CintInformation1Arg_sequence[] = {
6771   { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
6772   { &hf_qsig_cint_interceptedToNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6773   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6774   { NULL, 0, 0, 0, NULL }
6775 };
6776
6777 static int
6778 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_) {
6779   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6780                                    qsig_cint_CintInformation1Arg_sequence, hf_index, ett_qsig_cint_CintInformation1Arg);
6781
6782   return offset;
6783 }
6784
6785
6786 static const ber_sequence_t qsig_cint_CintInformation2Arg_sequence[] = {
6787   { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
6788   { &hf_qsig_cint_calledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6789   { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6790   { &hf_qsig_cint_calledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6791   { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6792   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6793   { NULL, 0, 0, 0, NULL }
6794 };
6795
6796 static int
6797 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_) {
6798   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6799                                    qsig_cint_CintInformation2Arg_sequence, hf_index, ett_qsig_cint_CintInformation2Arg);
6800
6801   return offset;
6802 }
6803
6804
6805 static const value_string qsig_cint_Condition_vals[] = {
6806   {   0, "unknown" },
6807   {   2, "cintBus" },
6808   {   3, "cintCug" },
6809   {   4, "cintDnd" },
6810   {   5, "cintIbd" },
6811   {   6, "cintInn" },
6812   {   7, "cintMob1" },
6813   {   8, "cintMob2" },
6814   {   9, "cintMob3" },
6815   {  10, "cintNcmp" },
6816   {  11, "cintNcong" },
6817   {  13, "cintOos" },
6818   {  14, "cintRrs" },
6819   {  17, "cintTrans" },
6820   {  18, "cintUpl" },
6821   {  19, "cintInvDiv" },
6822   { 0, NULL }
6823 };
6824
6825
6826 static int
6827 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_) {
6828   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6829                                                 NULL);
6830
6831   return offset;
6832 }
6833
6834
6835 static const ber_sequence_t qsig_cint_CintCondArg_sequence[] = {
6836   { &hf_qsig_cint_interceptionCause_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_Condition },
6837   { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6838   { &hf_qsig_cint_calledName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6839   { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6840   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6841   { NULL, 0, 0, 0, NULL }
6842 };
6843
6844 static int
6845 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_) {
6846   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6847                                    qsig_cint_CintCondArg_sequence, hf_index, ett_qsig_cint_CintCondArg);
6848
6849   return offset;
6850 }
6851
6852 /*--- PDUs ---*/
6853
6854 static int dissect_qsig_cint_CintInformation1Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6855   int offset = 0;
6856   asn1_ctx_t asn1_ctx;
6857   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6858   offset = dissect_qsig_cint_CintInformation1Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU);
6859   return offset;
6860 }
6861 static int dissect_qsig_cint_CintInformation2Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6862   int offset = 0;
6863   asn1_ctx_t asn1_ctx;
6864   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6865   offset = dissect_qsig_cint_CintInformation2Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU);
6866   return offset;
6867 }
6868 static int dissect_qsig_cint_CintCondArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6869   int offset = 0;
6870   asn1_ctx_t asn1_ctx;
6871   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6872   offset = dissect_qsig_cint_CintCondArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintCondArg_PDU);
6873   return offset;
6874 }
6875 static int dissect_qsig_cint_CintExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6876   int offset = 0;
6877   asn1_ctx_t asn1_ctx;
6878   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6879   offset = dissect_qsig_cint_CintExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintExtension_PDU);
6880   return offset;
6881 }
6882
6883
6884 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
6885
6886
6887 static const asn_namedbit qsig_cmn_FeatureIdList_bits[] = {
6888   {  0, &hf_qsig_cmn_FeatureIdList_reserved, -1, -1, "reserved", NULL },
6889   {  1, &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported, -1, -1, "ssCFreRoutingSupported", NULL },
6890   {  2, &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported, -1, -1, "ssCTreRoutingSupported", NULL },
6891   {  3, &hf_qsig_cmn_FeatureIdList_ssCCBSpossible, -1, -1, "ssCCBSpossible", NULL },
6892   {  4, &hf_qsig_cmn_FeatureIdList_ssCCNRpossible, -1, -1, "ssCCNRpossible", NULL },
6893   {  5, &hf_qsig_cmn_FeatureIdList_ssCOsupported, -1, -1, "ssCOsupported", NULL },
6894   {  6, &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease, -1, -1, "ssCIforcedRelease", NULL },
6895   {  7, &hf_qsig_cmn_FeatureIdList_ssCIisolation, -1, -1, "ssCIisolation", NULL },
6896   {  8, &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy, -1, -1, "ssCIwaitOnBusy", NULL },
6897   {  9, &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx, -1, -1, "ssAOCsupportChargeRateProvAtGatewPinx", NULL },
6898   { 10, &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx, -1, -1, "ssAOCsupportInterimChargeProvAtGatewPinx", NULL },
6899   { 11, &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx, -1, -1, "ssAOCsupportFinalChargeProvAtGatewPinx", NULL },
6900   { 12, &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx, -1, -1, "anfPRsupportedAtCooperatingPinx", NULL },
6901   { 13, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate, -1, -1, "anfCINTcanInterceptImmediate", NULL },
6902   { 14, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed, -1, -1, "anfCINTcanInterceptDelayed", NULL },
6903   { 15, &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported, -1, -1, "anfWTMIreRoutingSupported", NULL },
6904   { 16, &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported, -1, -1, "anfPUMIreRoutingSupported", NULL },
6905   { 17, &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported, -1, -1, "ssSSCTreRoutingSupported", NULL },
6906   { 0, NULL, 0, 0, NULL, NULL }
6907 };
6908
6909 static int
6910 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_) {
6911   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6912                                     qsig_cmn_FeatureIdList_bits, hf_index, ett_qsig_cmn_FeatureIdList,
6913                                     NULL);
6914
6915   return offset;
6916 }
6917
6918
6919
6920 static int
6921 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_) {
6922   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6923                                                 NULL);
6924
6925   return offset;
6926 }
6927
6928
6929
6930 static int
6931 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_) {
6932   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
6933                                             actx, tree, tvb, offset, hf_index,
6934                                             NULL);
6935
6936   return offset;
6937 }
6938
6939
6940 static const ber_sequence_t qsig_cmn_EquipmentId_sequence[] = {
6941   { &hf_qsig_cmn_nodeId     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6942   { &hf_qsig_cmn_groupId    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6943   { &hf_qsig_cmn_unitId     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6944   { NULL, 0, 0, 0, NULL }
6945 };
6946
6947 static int
6948 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_) {
6949   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6950                                    qsig_cmn_EquipmentId_sequence, hf_index, ett_qsig_cmn_EquipmentId);
6951
6952   return offset;
6953 }
6954
6955
6956 static const value_string qsig_cmn_PartyCategory_vals[] = {
6957   {   0, "unknown" },
6958   {   1, "extension" },
6959   {   2, "pisnAttendant" },
6960   {   3, "emergExt" },
6961   { 0, NULL }
6962 };
6963
6964
6965 static int
6966 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_) {
6967   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6968                                   NULL);
6969
6970   return offset;
6971 }
6972
6973
6974 static const ber_sequence_t qsig_cmn_SEQUENCE_OF_Extension_sequence_of[1] = {
6975   { &hf_qsig_cmn_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6976 };
6977
6978 static int
6979 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_) {
6980   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6981                                       qsig_cmn_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cmn_SEQUENCE_OF_Extension);
6982
6983   return offset;
6984 }
6985
6986
6987 static const value_string qsig_cmn_T_extension_vals[] = {
6988   {   7, "single" },
6989   {   8, "multiple" },
6990   { 0, NULL }
6991 };
6992
6993 static const ber_choice_t qsig_cmn_T_extension_choice[] = {
6994   {   7, &hf_qsig_cmn_single     , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6995   {   8, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
6996   { 0, NULL, 0, 0, 0, NULL }
6997 };
6998
6999 static int
7000 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_) {
7001   offset = dissect_ber_choice(actx, tree, tvb, offset,
7002                                  qsig_cmn_T_extension_choice, hf_index, ett_qsig_cmn_T_extension,
7003                                  NULL);
7004
7005   return offset;
7006 }
7007
7008
7009 static const ber_sequence_t qsig_cmn_CmnArg_sequence[] = {
7010   { &hf_qsig_cmn_featureIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_FeatureIdList },
7011   { &hf_qsig_cmn_ssDNDOprotectionLevel, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
7012   { &hf_qsig_cmn_ssCIprotectionLevel, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
7013   { &hf_qsig_cmn_equipmentIdentity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_EquipmentId },
7014   { &hf_qsig_cmn_partyCategory, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_PartyCategory },
7015   { &hf_qsig_cmn_extension  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cmn_T_extension },
7016   { NULL, 0, 0, 0, NULL }
7017 };
7018
7019 static int
7020 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_) {
7021   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7022                                    qsig_cmn_CmnArg_sequence, hf_index, ett_qsig_cmn_CmnArg);
7023
7024   return offset;
7025 }
7026
7027
7028
7029 static int
7030 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_) {
7031   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7032
7033   return offset;
7034 }
7035
7036
7037 static const value_string qsig_cmn_DummyArg_vals[] = {
7038   {   0, "null" },
7039   {   1, "single" },
7040   {   2, "multiple" },
7041   { 0, NULL }
7042 };
7043
7044 static const ber_choice_t qsig_cmn_DummyArg_choice[] = {
7045   {   0, &hf_qsig_cmn_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cmn_NULL },
7046   {   1, &hf_qsig_cmn_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7047   {   2, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
7048   { 0, NULL, 0, 0, 0, NULL }
7049 };
7050
7051 static int
7052 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_) {
7053   offset = dissect_ber_choice(actx, tree, tvb, offset,
7054                                  qsig_cmn_DummyArg_choice, hf_index, ett_qsig_cmn_DummyArg,
7055                                  NULL);
7056
7057   return offset;
7058 }
7059
7060 /*--- PDUs ---*/
7061
7062 static int dissect_qsig_cmn_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7063   int offset = 0;
7064   asn1_ctx_t asn1_ctx;
7065   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7066   offset = dissect_qsig_cmn_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_DummyArg_PDU);
7067   return offset;
7068 }
7069 static int dissect_qsig_cmn_CmnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7070   int offset = 0;
7071   asn1_ctx_t asn1_ctx;
7072   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7073   offset = dissect_qsig_cmn_CmnArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_CmnArg_PDU);
7074   return offset;
7075 }
7076
7077
7078 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
7079
7080
7081 static const value_string qsig_cpi_CPICapabilityLevel_vals[] = {
7082   {   1, "interruptionLowPriority" },
7083   {   2, "interruptionMediumPriority" },
7084   {   3, "interruptionHighPriority" },
7085   { 0, NULL }
7086 };
7087
7088
7089 static int
7090 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_) {
7091   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7092                                   NULL);
7093
7094   return offset;
7095 }
7096
7097
7098 static const ber_sequence_t qsig_cpi_SEQUENCE_OF_Extension_sequence_of[1] = {
7099   { &hf_qsig_cpi_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7100 };
7101
7102 static int
7103 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_) {
7104   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7105                                       qsig_cpi_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cpi_SEQUENCE_OF_Extension);
7106
7107   return offset;
7108 }
7109
7110
7111 static const value_string qsig_cpi_T_argumentExtension_vals[] = {
7112   {   1, "extension" },
7113   {   2, "sequenceOfExtn" },
7114   { 0, NULL }
7115 };
7116
7117 static const ber_choice_t qsig_cpi_T_argumentExtension_choice[] = {
7118   {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7119   {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
7120   { 0, NULL, 0, 0, 0, NULL }
7121 };
7122
7123 static int
7124 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_) {
7125   offset = dissect_ber_choice(actx, tree, tvb, offset,
7126                                  qsig_cpi_T_argumentExtension_choice, hf_index, ett_qsig_cpi_T_argumentExtension,
7127                                  NULL);
7128
7129   return offset;
7130 }
7131
7132
7133 static const ber_sequence_t qsig_cpi_CPIRequestArg_sequence[] = {
7134   { &hf_qsig_cpi_cpiCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPICapabilityLevel },
7135   { &hf_qsig_cpi_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cpi_T_argumentExtension },
7136   { NULL, 0, 0, 0, NULL }
7137 };
7138
7139 static int
7140 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_) {
7141   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7142                                    qsig_cpi_CPIRequestArg_sequence, hf_index, ett_qsig_cpi_CPIRequestArg);
7143
7144   return offset;
7145 }
7146
7147
7148 static const value_string qsig_cpi_CPIProtectionLevel_vals[] = {
7149   {   0, "noProtection" },
7150   {   1, "lowProtection" },
7151   {   2, "mediumProtection" },
7152   {   3, "totalProtection" },
7153   { 0, NULL }
7154 };
7155
7156
7157 static int
7158 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_) {
7159   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7160                                   NULL);
7161
7162   return offset;
7163 }
7164
7165
7166 static const value_string qsig_cpi_T_argumentExtension_01_vals[] = {
7167   {   1, "extension" },
7168   {   2, "sequenceOfExtn" },
7169   { 0, NULL }
7170 };
7171
7172 static const ber_choice_t qsig_cpi_T_argumentExtension_01_choice[] = {
7173   {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7174   {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
7175   { 0, NULL, 0, 0, 0, NULL }
7176 };
7177
7178 static int
7179 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_) {
7180   offset = dissect_ber_choice(actx, tree, tvb, offset,
7181                                  qsig_cpi_T_argumentExtension_01_choice, hf_index, ett_qsig_cpi_T_argumentExtension_01,
7182                                  NULL);
7183
7184   return offset;
7185 }
7186
7187
7188 static const ber_sequence_t qsig_cpi_CPIPRequestArg_sequence[] = {
7189   { &hf_qsig_cpi_cpiProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPIProtectionLevel },
7190   { &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 },
7191   { NULL, 0, 0, 0, NULL }
7192 };
7193
7194 static int
7195 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_) {
7196   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7197                                    qsig_cpi_CPIPRequestArg_sequence, hf_index, ett_qsig_cpi_CPIPRequestArg);
7198
7199   return offset;
7200 }
7201
7202 /*--- PDUs ---*/
7203
7204 static int dissect_qsig_cpi_CPIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7205   int offset = 0;
7206   asn1_ctx_t asn1_ctx;
7207   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7208   offset = dissect_qsig_cpi_CPIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU);
7209   return offset;
7210 }
7211 static int dissect_qsig_cpi_CPIPRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7212   int offset = 0;
7213   asn1_ctx_t asn1_ctx;
7214   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7215   offset = dissect_qsig_cpi_CPIPRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU);
7216   return offset;
7217 }
7218
7219
7220 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
7221
7222
7223
7224 static int
7225 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_) {
7226   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7227                                        NULL);
7228
7229   return offset;
7230 }
7231
7232
7233 static const value_string qsig_pumr_RpumUserId_vals[] = {
7234   {   0, "pumNumber" },
7235   {   1, "alternativeId" },
7236   { 0, NULL }
7237 };
7238
7239 static const ber_choice_t qsig_pumr_RpumUserId_choice[] = {
7240   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7241   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7242   { 0, NULL, 0, 0, 0, NULL }
7243 };
7244
7245 static int
7246 dissect_qsig_pumr_RpumUserId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7247   offset = dissect_ber_choice(actx, tree, tvb, offset,
7248                                  qsig_pumr_RpumUserId_choice, hf_index, ett_qsig_pumr_RpumUserId,
7249                                  NULL);
7250
7251   return offset;
7252 }
7253
7254
7255 static const value_string qsig_pumr_ServiceOption_vals[] = {
7256   {   0, "inCallRegistration" },
7257   {   1, "outCallRegistration" },
7258   {   2, "allCallRegistration" },
7259   { 0, NULL }
7260 };
7261
7262
7263 static int
7264 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_) {
7265   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7266                                   NULL);
7267
7268   return offset;
7269 }
7270
7271
7272
7273 static int
7274 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_) {
7275   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7276                                                 NULL);
7277
7278   return offset;
7279 }
7280
7281
7282 static const ber_sequence_t qsig_pumr_SessionParams_sequence[] = {
7283   { &hf_qsig_pumr_durationOfSession, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
7284   { &hf_qsig_pumr_numberOfOutgCalls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
7285   { NULL, 0, 0, 0, NULL }
7286 };
7287
7288 static int
7289 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_) {
7290   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7291                                    qsig_pumr_SessionParams_sequence, hf_index, ett_qsig_pumr_SessionParams);
7292
7293   return offset;
7294 }
7295
7296
7297
7298 static int
7299 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_) {
7300   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7301                                        NULL);
7302
7303   return offset;
7304 }
7305
7306
7307 static const value_string qsig_pumr_T_userPin_vals[] = {
7308   {   6, "pumUserPin" },
7309   {   7, "activatingUserPin" },
7310   { 0, NULL }
7311 };
7312
7313 static const ber_choice_t qsig_pumr_T_userPin_choice[] = {
7314   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7315   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7316   { 0, NULL, 0, 0, 0, NULL }
7317 };
7318
7319 static int
7320 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_) {
7321   offset = dissect_ber_choice(actx, tree, tvb, offset,
7322                                  qsig_pumr_T_userPin_choice, hf_index, ett_qsig_pumr_T_userPin,
7323                                  NULL);
7324
7325   return offset;
7326 }
7327
7328
7329 static const ber_sequence_t qsig_pumr_SEQUENCE_OF_Extension_sequence_of[1] = {
7330   { &hf_qsig_pumr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7331 };
7332
7333 static int
7334 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_) {
7335   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7336                                       qsig_pumr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumr_SEQUENCE_OF_Extension);
7337
7338   return offset;
7339 }
7340
7341
7342 static const value_string qsig_pumr_PumrExtension_vals[] = {
7343   {   4, "extension" },
7344   {   5, "sequOfExtn" },
7345   { 0, NULL }
7346 };
7347
7348 static const ber_choice_t qsig_pumr_PumrExtension_choice[] = {
7349   {   4, &hf_qsig_pumr_extension , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7350   {   5, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
7351   { 0, NULL, 0, 0, 0, NULL }
7352 };
7353
7354 static int
7355 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_) {
7356   offset = dissect_ber_choice(actx, tree, tvb, offset,
7357                                  qsig_pumr_PumrExtension_choice, hf_index, ett_qsig_pumr_PumrExtension,
7358                                  NULL);
7359
7360   return offset;
7361 }
7362
7363
7364 static const ber_sequence_t qsig_pumr_PumRegistrArg_sequence[] = {
7365   { &hf_qsig_pumr_pumRUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_RpumUserId },
7366   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7367   { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7368   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7369   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7370   { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7371   { &hf_qsig_pumr_userPin   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_userPin },
7372   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7373   { NULL, 0, 0, 0, NULL }
7374 };
7375
7376 static int
7377 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_) {
7378   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7379                                    qsig_pumr_PumRegistrArg_sequence, hf_index, ett_qsig_pumr_PumRegistrArg);
7380
7381   return offset;
7382 }
7383
7384
7385 static const ber_sequence_t qsig_pumr_PumRegistrRes_sequence[] = {
7386   { &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7387   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7388   { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7389   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7390   { NULL, 0, 0, 0, NULL }
7391 };
7392
7393 static int
7394 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_) {
7395   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7396                                    qsig_pumr_PumRegistrRes_sequence, hf_index, ett_qsig_pumr_PumRegistrRes);
7397
7398   return offset;
7399 }
7400
7401
7402
7403 static int
7404 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_) {
7405   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7406
7407   return offset;
7408 }
7409
7410
7411 static const value_string qsig_pumr_DummyRes_vals[] = {
7412   {   0, "null" },
7413   {   1, "extension" },
7414   {   2, "sequOfExtn" },
7415   { 0, NULL }
7416 };
7417
7418 static const ber_choice_t qsig_pumr_DummyRes_choice[] = {
7419   {   0, &hf_qsig_pumr_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_NULL },
7420   {   1, &hf_qsig_pumr_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7421   {   2, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
7422   { 0, NULL, 0, 0, 0, NULL }
7423 };
7424
7425 static int
7426 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_) {
7427   offset = dissect_ber_choice(actx, tree, tvb, offset,
7428                                  qsig_pumr_DummyRes_choice, hf_index, ett_qsig_pumr_DummyRes,
7429                                  NULL);
7430
7431   return offset;
7432 }
7433
7434
7435 static const value_string qsig_pumr_XpumUserId_vals[] = {
7436   {   0, "pumNumber" },
7437   {   1, "alternativeId" },
7438   { 0, NULL }
7439 };
7440
7441 static const ber_choice_t qsig_pumr_XpumUserId_choice[] = {
7442   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7443   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7444   { 0, NULL, 0, 0, 0, NULL }
7445 };
7446
7447 static int
7448 dissect_qsig_pumr_XpumUserId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7449   offset = dissect_ber_choice(actx, tree, tvb, offset,
7450                                  qsig_pumr_XpumUserId_choice, hf_index, ett_qsig_pumr_XpumUserId,
7451                                  NULL);
7452
7453   return offset;
7454 }
7455
7456
7457 static const ber_sequence_t qsig_pumr_PumDelRegArg_sequence[] = {
7458   { &hf_qsig_pumr_pumXUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_XpumUserId },
7459   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7460   { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7461   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7462   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7463   { NULL, 0, 0, 0, NULL }
7464 };
7465
7466 static int
7467 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_) {
7468   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7469                                    qsig_pumr_PumDelRegArg_sequence, hf_index, ett_qsig_pumr_PumDelRegArg);
7470
7471   return offset;
7472 }
7473
7474
7475 static const value_string qsig_pumr_DpumUserId_vals[] = {
7476   {   0, "pumNumber" },
7477   {   1, "alternativeId" },
7478   { 0, NULL }
7479 };
7480
7481 static const ber_choice_t qsig_pumr_DpumUserId_choice[] = {
7482   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7483   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7484   { 0, NULL, 0, 0, 0, NULL }
7485 };
7486
7487 static int
7488 dissect_qsig_pumr_DpumUserId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7489   offset = dissect_ber_choice(actx, tree, tvb, offset,
7490                                  qsig_pumr_DpumUserId_choice, hf_index, ett_qsig_pumr_DpumUserId,
7491                                  NULL);
7492
7493   return offset;
7494 }
7495
7496
7497 static const value_string qsig_pumr_T_userPin_01_vals[] = {
7498   {   6, "pumUserPin" },
7499   {   7, "activatingUserPin" },
7500   { 0, NULL }
7501 };
7502
7503 static const ber_choice_t qsig_pumr_T_userPin_01_choice[] = {
7504   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7505   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7506   { 0, NULL, 0, 0, 0, NULL }
7507 };
7508
7509 static int
7510 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_) {
7511   offset = dissect_ber_choice(actx, tree, tvb, offset,
7512                                  qsig_pumr_T_userPin_01_choice, hf_index, ett_qsig_pumr_T_userPin_01,
7513                                  NULL);
7514
7515   return offset;
7516 }
7517
7518
7519 static const ber_sequence_t qsig_pumr_PumDe_regArg_sequence[] = {
7520   { &hf_qsig_pumr_pumDUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_DpumUserId },
7521   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7522   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7523   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7524   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7525   { &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 },
7526   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7527   { NULL, 0, 0, 0, NULL }
7528 };
7529
7530 static int
7531 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_) {
7532   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7533                                    qsig_pumr_PumDe_regArg_sequence, hf_index, ett_qsig_pumr_PumDe_regArg);
7534
7535   return offset;
7536 }
7537
7538
7539 static const value_string qsig_pumr_IpumUserId_vals[] = {
7540   {   0, "pumNumber" },
7541   {   1, "alternativeId" },
7542   { 0, NULL }
7543 };
7544
7545 static const ber_choice_t qsig_pumr_IpumUserId_choice[] = {
7546   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7547   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7548   { 0, NULL, 0, 0, 0, NULL }
7549 };
7550
7551 static int
7552 dissect_qsig_pumr_IpumUserId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7553   offset = dissect_ber_choice(actx, tree, tvb, offset,
7554                                  qsig_pumr_IpumUserId_choice, hf_index, ett_qsig_pumr_IpumUserId,
7555                                  NULL);
7556
7557   return offset;
7558 }
7559
7560
7561
7562 static int
7563 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_) {
7564   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
7565
7566   return offset;
7567 }
7568
7569
7570 static const value_string qsig_pumr_T_userPin_02_vals[] = {
7571   {   6, "pumUserPin" },
7572   {   7, "activatingUserPin" },
7573   { 0, NULL }
7574 };
7575
7576 static const ber_choice_t qsig_pumr_T_userPin_02_choice[] = {
7577   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7578   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7579   { 0, NULL, 0, 0, 0, NULL }
7580 };
7581
7582 static int
7583 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_) {
7584   offset = dissect_ber_choice(actx, tree, tvb, offset,
7585                                  qsig_pumr_T_userPin_02_choice, hf_index, ett_qsig_pumr_T_userPin_02,
7586                                  NULL);
7587
7588   return offset;
7589 }
7590
7591
7592 static const ber_sequence_t qsig_pumr_PumInterrogArg_sequence[] = {
7593   { &hf_qsig_pumr_pumIUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_IpumUserId },
7594   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7595   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7596   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7597   { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_pumr_ServiceOption },
7598   { &hf_qsig_pumr_homeInfoOnly, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_BOOLEAN },
7599   { &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 },
7600   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7601   { NULL, 0, 0, 0, NULL }
7602 };
7603
7604 static int
7605 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_) {
7606   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7607                                    qsig_pumr_PumInterrogArg_sequence, hf_index, ett_qsig_pumr_PumInterrogArg);
7608
7609   return offset;
7610 }
7611
7612
7613 static const ber_sequence_t qsig_pumr_PumInterrogRes_item_sequence[] = {
7614   { &hf_qsig_pumr_basicService, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_BasicService },
7615   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7616   { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_ServiceOption },
7617   { &hf_qsig_pumr_interrogParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7618   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7619   { NULL, 0, 0, 0, NULL }
7620 };
7621
7622 static int
7623 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_) {
7624   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7625                                    qsig_pumr_PumInterrogRes_item_sequence, hf_index, ett_qsig_pumr_PumInterrogRes_item);
7626
7627   return offset;
7628 }
7629
7630
7631 static const ber_sequence_t qsig_pumr_PumInterrogRes_set_of[1] = {
7632   { &hf_qsig_pumr_PumInterrogRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_PumInterrogRes_item },
7633 };
7634
7635 static int
7636 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_) {
7637   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
7638                                  qsig_pumr_PumInterrogRes_set_of, hf_index, ett_qsig_pumr_PumInterrogRes);
7639
7640   return offset;
7641 }
7642
7643 /*--- PDUs ---*/
7644
7645 static int dissect_qsig_pumr_PumRegistrArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7646   int offset = 0;
7647   asn1_ctx_t asn1_ctx;
7648   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7649   offset = dissect_qsig_pumr_PumRegistrArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU);
7650   return offset;
7651 }
7652 static int dissect_qsig_pumr_PumRegistrRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7653   int offset = 0;
7654   asn1_ctx_t asn1_ctx;
7655   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7656   offset = dissect_qsig_pumr_PumRegistrRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU);
7657   return offset;
7658 }
7659 static int dissect_qsig_pumr_PumDelRegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7660   int offset = 0;
7661   asn1_ctx_t asn1_ctx;
7662   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7663   offset = dissect_qsig_pumr_PumDelRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU);
7664   return offset;
7665 }
7666 static int dissect_qsig_pumr_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7667   int offset = 0;
7668   asn1_ctx_t asn1_ctx;
7669   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7670   offset = dissect_qsig_pumr_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_DummyRes_PDU);
7671   return offset;
7672 }
7673 static int dissect_qsig_pumr_PumDe_regArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7674   int offset = 0;
7675   asn1_ctx_t asn1_ctx;
7676   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7677   offset = dissect_qsig_pumr_PumDe_regArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU);
7678   return offset;
7679 }
7680 static int dissect_qsig_pumr_PumInterrogArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7681   int offset = 0;
7682   asn1_ctx_t asn1_ctx;
7683   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7684   offset = dissect_qsig_pumr_PumInterrogArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU);
7685   return offset;
7686 }
7687 static int dissect_qsig_pumr_PumInterrogRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7688   int offset = 0;
7689   asn1_ctx_t asn1_ctx;
7690   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7691   offset = dissect_qsig_pumr_PumInterrogRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU);
7692   return offset;
7693 }
7694 static int dissect_qsig_pumr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7695   int offset = 0;
7696   asn1_ctx_t asn1_ctx;
7697   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7698   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_Extension_PDU);
7699   return offset;
7700 }
7701
7702
7703 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
7704
7705
7706 static const ber_sequence_t qsig_pumch_SEQUENCE_OF_Extension_sequence_of[1] = {
7707   { &hf_qsig_pumch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7708 };
7709
7710 static int
7711 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_) {
7712   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7713                                       qsig_pumch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumch_SEQUENCE_OF_Extension);
7714
7715   return offset;
7716 }
7717
7718
7719 static const value_string qsig_pumch_PumiExtension_vals[] = {
7720   {   4, "extension" },
7721   {   5, "sequOfExtn" },
7722   { 0, NULL }
7723 };
7724
7725 static const ber_choice_t qsig_pumch_PumiExtension_choice[] = {
7726   {   4, &hf_qsig_pumch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7727   {   5, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7728   { 0, NULL, 0, 0, 0, NULL }
7729 };
7730
7731 static int
7732 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_) {
7733   offset = dissect_ber_choice(actx, tree, tvb, offset,
7734                                  qsig_pumch_PumiExtension_choice, hf_index, ett_qsig_pumch_PumiExtension,
7735                                  NULL);
7736
7737   return offset;
7738 }
7739
7740
7741 static const ber_sequence_t qsig_pumch_EnquiryArg_sequence[] = {
7742   { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7743   { &hf_qsig_pumch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
7744   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7745   { NULL, 0, 0, 0, NULL }
7746 };
7747
7748 static int
7749 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_) {
7750   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7751                                    qsig_pumch_EnquiryArg_sequence, hf_index, ett_qsig_pumch_EnquiryArg);
7752
7753   return offset;
7754 }
7755
7756
7757
7758 static int
7759 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_) {
7760   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7761                                        NULL);
7762
7763   return offset;
7764 }
7765
7766
7767 static const ber_sequence_t qsig_pumch_T_both_sequence[] = {
7768   { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7769   { &hf_qsig_pumch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_AlternativeId },
7770   { NULL, 0, 0, 0, NULL }
7771 };
7772
7773 static int
7774 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_) {
7775   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7776                                    qsig_pumch_T_both_sequence, hf_index, ett_qsig_pumch_T_both);
7777
7778   return offset;
7779 }
7780
7781
7782 static const value_string qsig_pumch_PumIdentity_vals[] = {
7783   {   0, "pisnNumber" },
7784   {   1, "alternativeId" },
7785   {   2, "both" },
7786   { 0, NULL }
7787 };
7788
7789 static const ber_choice_t qsig_pumch_PumIdentity_choice[] = {
7790   {   0, &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7791   {   1, &hf_qsig_pumch_alternativeId, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_AlternativeId },
7792   {   2, &hf_qsig_pumch_both     , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_T_both },
7793   { 0, NULL, 0, 0, 0, NULL }
7794 };
7795
7796 static int
7797 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_) {
7798   offset = dissect_ber_choice(actx, tree, tvb, offset,
7799                                  qsig_pumch_PumIdentity_choice, hf_index, ett_qsig_pumch_PumIdentity,
7800                                  NULL);
7801
7802   return offset;
7803 }
7804
7805
7806 static const ber_sequence_t qsig_pumch_DivertArg_sequence[] = {
7807   { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7808   { &hf_qsig_pumch_callingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
7809   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7810   { &hf_qsig_pumch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
7811   { &hf_qsig_pumch_callingUserSub, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
7812   { &hf_qsig_pumch_callingUserName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
7813   { &hf_qsig_pumch_pumUserSub, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
7814   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7815   { NULL, 0, 0, 0, NULL }
7816 };
7817
7818 static int
7819 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_) {
7820   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7821                                    qsig_pumch_DivertArg_sequence, hf_index, ett_qsig_pumch_DivertArg);
7822
7823   return offset;
7824 }
7825
7826
7827 static const ber_sequence_t qsig_pumch_InformArg_sequence[] = {
7828   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7829   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7830   { NULL, 0, 0, 0, NULL }
7831 };
7832
7833 static int
7834 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_) {
7835   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7836                                    qsig_pumch_InformArg_sequence, hf_index, ett_qsig_pumch_InformArg);
7837
7838   return offset;
7839 }
7840
7841
7842 static const ber_sequence_t qsig_pumch_CurrLocation_sequence[] = {
7843   { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7844   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7845   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7846   { NULL, 0, 0, 0, NULL }
7847 };
7848
7849 static int
7850 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_) {
7851   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7852                                    qsig_pumch_CurrLocation_sequence, hf_index, ett_qsig_pumch_CurrLocation);
7853
7854   return offset;
7855 }
7856
7857
7858 static const value_string qsig_pumch_SubscriptionOption_vals[] = {
7859   {   0, "noNotification" },
7860   {   1, "notificationWithoutDivertedToNr" },
7861   {   2, "notificationWithDivertedToNr" },
7862   { 0, NULL }
7863 };
7864
7865
7866 static int
7867 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_) {
7868   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7869                                   NULL);
7870
7871   return offset;
7872 }
7873
7874
7875 static const ber_sequence_t qsig_pumch_CfuActivated_sequence[] = {
7876   { &hf_qsig_pumch_divToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
7877   { &hf_qsig_pumch_divOptions, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_SubscriptionOption },
7878   { &hf_qsig_pumch_pumName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
7879   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7880   { NULL, 0, 0, 0, NULL }
7881 };
7882
7883 static int
7884 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_) {
7885   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7886                                    qsig_pumch_CfuActivated_sequence, hf_index, ett_qsig_pumch_CfuActivated);
7887
7888   return offset;
7889 }
7890
7891
7892 static const value_string qsig_pumch_EnquiryRes_vals[] = {
7893   {   1, "currLocation" },
7894   {   2, "cfuActivated" },
7895   { 0, NULL }
7896 };
7897
7898 static const ber_choice_t qsig_pumch_EnquiryRes_choice[] = {
7899   {   1, &hf_qsig_pumch_currLocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CurrLocation },
7900   {   2, &hf_qsig_pumch_cfuActivated, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CfuActivated },
7901   { 0, NULL, 0, 0, 0, NULL }
7902 };
7903
7904 static int
7905 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_) {
7906   offset = dissect_ber_choice(actx, tree, tvb, offset,
7907                                  qsig_pumch_EnquiryRes_choice, hf_index, ett_qsig_pumch_EnquiryRes,
7908                                  NULL);
7909
7910   return offset;
7911 }
7912
7913
7914
7915 static int
7916 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_) {
7917   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7918
7919   return offset;
7920 }
7921
7922
7923 static const value_string qsig_pumch_DummyRes_vals[] = {
7924   {   0, "null" },
7925   {   1, "extension" },
7926   {   2, "sequOfExtn" },
7927   { 0, NULL }
7928 };
7929
7930 static const ber_choice_t qsig_pumch_DummyRes_choice[] = {
7931   {   0, &hf_qsig_pumch_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_NULL },
7932   {   1, &hf_qsig_pumch_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7933   {   2, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7934   { 0, NULL, 0, 0, 0, NULL }
7935 };
7936
7937 static int
7938 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_) {
7939   offset = dissect_ber_choice(actx, tree, tvb, offset,
7940                                  qsig_pumch_DummyRes_choice, hf_index, ett_qsig_pumch_DummyRes,
7941                                  NULL);
7942
7943   return offset;
7944 }
7945
7946
7947 static const value_string qsig_pumch_T_pumoaextension_vals[] = {
7948   {   3, "single" },
7949   {   4, "multiple" },
7950   { 0, NULL }
7951 };
7952
7953 static const ber_choice_t qsig_pumch_T_pumoaextension_choice[] = {
7954   {   3, &hf_qsig_pumch_single   , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7955   {   4, &hf_qsig_pumch_multiple , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7956   { 0, NULL, 0, 0, 0, NULL }
7957 };
7958
7959 static int
7960 dissect_qsig_pumch_T_pumoaextension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7961   offset = dissect_ber_choice(actx, tree, tvb, offset,
7962                                  qsig_pumch_T_pumoaextension_choice, hf_index, ett_qsig_pumch_T_pumoaextension,
7963                                  NULL);
7964
7965   return offset;
7966 }
7967
7968
7969 static const ber_sequence_t qsig_pumch_PumoArg_sequence[] = {
7970   { &hf_qsig_pumch_destinationNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7971   { &hf_qsig_pumch_pumIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7972   { &hf_qsig_pumch_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumch_NULL },
7973   { &hf_qsig_pumch_pumoaextension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_T_pumoaextension },
7974   { NULL, 0, 0, 0, NULL }
7975 };
7976
7977 static int
7978 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_) {
7979   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7980                                    qsig_pumch_PumoArg_sequence, hf_index, ett_qsig_pumch_PumoArg);
7981
7982   return offset;
7983 }
7984
7985 /*--- PDUs ---*/
7986
7987 static int dissect_qsig_pumch_EnquiryArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7988   int offset = 0;
7989   asn1_ctx_t asn1_ctx;
7990   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7991   offset = dissect_qsig_pumch_EnquiryArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU);
7992   return offset;
7993 }
7994 static int dissect_qsig_pumch_EnquiryRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7995   int offset = 0;
7996   asn1_ctx_t asn1_ctx;
7997   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7998   offset = dissect_qsig_pumch_EnquiryRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU);
7999   return offset;
8000 }
8001 static int dissect_qsig_pumch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8002   int offset = 0;
8003   asn1_ctx_t asn1_ctx;
8004   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8005   offset = dissect_qsig_pumch_DivertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DivertArg_PDU);
8006   return offset;
8007 }
8008 static int dissect_qsig_pumch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8009   int offset = 0;
8010   asn1_ctx_t asn1_ctx;
8011   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8012   offset = dissect_qsig_pumch_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DummyRes_PDU);
8013   return offset;
8014 }
8015 static int dissect_qsig_pumch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8016   int offset = 0;
8017   asn1_ctx_t asn1_ctx;
8018   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8019   offset = dissect_qsig_pumch_InformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_InformArg_PDU);
8020   return offset;
8021 }
8022 static int dissect_qsig_pumch_PumoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8023   int offset = 0;
8024   asn1_ctx_t asn1_ctx;
8025   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8026   offset = dissect_qsig_pumch_PumoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_PumoArg_PDU);
8027   return offset;
8028 }
8029 static int dissect_qsig_pumch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8030   int offset = 0;
8031   asn1_ctx_t asn1_ctx;
8032   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8033   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_Extension_PDU);
8034   return offset;
8035 }
8036
8037
8038 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
8039
8040
8041
8042 static int
8043 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_) {
8044   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8045
8046   return offset;
8047 }
8048
8049
8050 static const ber_sequence_t qsig_ssct_SEQUENCE_OF_Extension_sequence_of[1] = {
8051   { &hf_qsig_ssct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8052 };
8053
8054 static int
8055 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_) {
8056   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8057                                       qsig_ssct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ssct_SEQUENCE_OF_Extension);
8058
8059   return offset;
8060 }
8061
8062
8063 static const value_string qsig_ssct_DummyArg_vals[] = {
8064   {   0, "null" },
8065   {   1, "single" },
8066   {   2, "multiple" },
8067   { 0, NULL }
8068 };
8069
8070 static const ber_choice_t qsig_ssct_DummyArg_choice[] = {
8071   {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
8072   {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8073   {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8074   { 0, NULL, 0, 0, 0, NULL }
8075 };
8076
8077 static int
8078 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_) {
8079   offset = dissect_ber_choice(actx, tree, tvb, offset,
8080                                  qsig_ssct_DummyArg_choice, hf_index, ett_qsig_ssct_DummyArg,
8081                                  NULL);
8082
8083   return offset;
8084 }
8085
8086
8087 static const value_string qsig_ssct_DummyRes_vals[] = {
8088   {   0, "null" },
8089   {   1, "single" },
8090   {   2, "multiple" },
8091   { 0, NULL }
8092 };
8093
8094 static const ber_choice_t qsig_ssct_DummyRes_choice[] = {
8095   {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
8096   {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8097   {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8098   { 0, NULL, 0, 0, 0, NULL }
8099 };
8100
8101 static int
8102 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_) {
8103   offset = dissect_ber_choice(actx, tree, tvb, offset,
8104                                  qsig_ssct_DummyRes_choice, hf_index, ett_qsig_ssct_DummyRes,
8105                                  NULL);
8106
8107   return offset;
8108 }
8109
8110
8111
8112 static int
8113 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_) {
8114   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
8115
8116   return offset;
8117 }
8118
8119
8120 static const value_string qsig_ssct_SSCTIargumentExtension_vals[] = {
8121   {   4, "single" },
8122   {   5, "multiple" },
8123   { 0, NULL }
8124 };
8125
8126 static const ber_choice_t qsig_ssct_SSCTIargumentExtension_choice[] = {
8127   {   4, &hf_qsig_ssct_single    , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8128   {   5, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8129   { 0, NULL, 0, 0, 0, NULL }
8130 };
8131
8132 static int
8133 dissect_qsig_ssct_SSCTIargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8134   offset = dissect_ber_choice(actx, tree, tvb, offset,
8135                                  qsig_ssct_SSCTIargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTIargumentExtension,
8136                                  NULL);
8137
8138   return offset;
8139 }
8140
8141
8142 static const ber_sequence_t qsig_ssct_SSCTInitiateArg_sequence[] = {
8143   { &hf_qsig_ssct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8144   { &hf_qsig_ssct_transferredAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
8145   { &hf_qsig_ssct_awaitConnect, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_AwaitConnect },
8146   { &hf_qsig_ssct_transferredName, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8147   { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
8148   { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8149   { &hf_qsig_ssct_argumentExtensionSSCTI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTIargumentExtension },
8150   { NULL, 0, 0, 0, NULL }
8151 };
8152
8153 static int
8154 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_) {
8155   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8156                                    qsig_ssct_SSCTInitiateArg_sequence, hf_index, ett_qsig_ssct_SSCTInitiateArg);
8157
8158   return offset;
8159 }
8160
8161
8162 static const value_string qsig_ssct_SSCTSargumentExtension_vals[] = {
8163   {   3, "single" },
8164   {   4, "multiple" },
8165   { 0, NULL }
8166 };
8167
8168 static const ber_choice_t qsig_ssct_SSCTSargumentExtension_choice[] = {
8169   {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8170   {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8171   { 0, NULL, 0, 0, 0, NULL }
8172 };
8173
8174 static int
8175 dissect_qsig_ssct_SSCTSargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8176   offset = dissect_ber_choice(actx, tree, tvb, offset,
8177                                  qsig_ssct_SSCTSargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTSargumentExtension,
8178                                  NULL);
8179
8180   return offset;
8181 }
8182
8183
8184 static const ber_sequence_t qsig_ssct_SSCTSetupArg_sequence[] = {
8185   { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
8186   { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8187   { &hf_qsig_ssct_argumentExtensionSSCTS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTSargumentExtension },
8188   { NULL, 0, 0, 0, NULL }
8189 };
8190
8191 static int
8192 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_) {
8193   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8194                                    qsig_ssct_SSCTSetupArg_sequence, hf_index, ett_qsig_ssct_SSCTSetupArg);
8195
8196   return offset;
8197 }
8198
8199
8200 static const value_string qsig_ssct_SSCTDargumentExtension_vals[] = {
8201   {   3, "single" },
8202   {   4, "multiple" },
8203   { 0, NULL }
8204 };
8205
8206 static const ber_choice_t qsig_ssct_SSCTDargumentExtension_choice[] = {
8207   {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8208   {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8209   { 0, NULL, 0, 0, 0, NULL }
8210 };
8211
8212 static int
8213 dissect_qsig_ssct_SSCTDargumentExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8214   offset = dissect_ber_choice(actx, tree, tvb, offset,
8215                                  qsig_ssct_SSCTDargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTDargumentExtension,
8216                                  NULL);
8217
8218   return offset;
8219 }
8220
8221
8222 static const ber_sequence_t qsig_ssct_SSCTDigitInfoArg_sequence[] = {
8223   { &hf_qsig_ssct_reroutingNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
8224   { &hf_qsig_ssct_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_ssct_NULL },
8225   { &hf_qsig_ssct_argumentExtensionSSCTD, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTDargumentExtension },
8226   { NULL, 0, 0, 0, NULL }
8227 };
8228
8229 static int
8230 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_) {
8231   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8232                                    qsig_ssct_SSCTDigitInfoArg_sequence, hf_index, ett_qsig_ssct_SSCTDigitInfoArg);
8233
8234   return offset;
8235 }
8236
8237 /*--- PDUs ---*/
8238
8239 static int dissect_qsig_ssct_SSCTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8240   int offset = 0;
8241   asn1_ctx_t asn1_ctx;
8242   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8243   offset = dissect_qsig_ssct_SSCTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU);
8244   return offset;
8245 }
8246 static int dissect_qsig_ssct_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8247   int offset = 0;
8248   asn1_ctx_t asn1_ctx;
8249   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8250   offset = dissect_qsig_ssct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyRes_PDU);
8251   return offset;
8252 }
8253 static int dissect_qsig_ssct_SSCTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8254   int offset = 0;
8255   asn1_ctx_t asn1_ctx;
8256   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8257   offset = dissect_qsig_ssct_SSCTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU);
8258   return offset;
8259 }
8260 static int dissect_qsig_ssct_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8261   int offset = 0;
8262   asn1_ctx_t asn1_ctx;
8263   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8264   offset = dissect_qsig_ssct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyArg_PDU);
8265   return offset;
8266 }
8267 static int dissect_qsig_ssct_SSCTDigitInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8268   int offset = 0;
8269   asn1_ctx_t asn1_ctx;
8270   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8271   offset = dissect_qsig_ssct_SSCTDigitInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU);
8272   return offset;
8273 }
8274 static int dissect_qsig_ssct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8275   int offset = 0;
8276   asn1_ctx_t asn1_ctx;
8277   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8278   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_Extension_PDU);
8279   return offset;
8280 }
8281
8282
8283 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
8284
8285
8286
8287 static int
8288 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_) {
8289   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8290                                        NULL);
8291
8292   return offset;
8293 }
8294
8295
8296 static const value_string qsig_wtmlr_WtmUserId_vals[] = {
8297   {   0, "pisnNumber" },
8298   {   1, "alternativeId" },
8299   { 0, NULL }
8300 };
8301
8302 static const ber_choice_t qsig_wtmlr_WtmUserId_choice[] = {
8303   {   0, &hf_qsig_wtmlr_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8304   {   1, &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8305   { 0, NULL, 0, 0, 0, NULL }
8306 };
8307
8308 static int
8309 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_) {
8310   offset = dissect_ber_choice(actx, tree, tvb, offset,
8311                                  qsig_wtmlr_WtmUserId_choice, hf_index, ett_qsig_wtmlr_WtmUserId,
8312                                  NULL);
8313
8314   return offset;
8315 }
8316
8317
8318 static const ber_sequence_t qsig_wtmlr_SEQUENCE_OF_Extension_sequence_of[1] = {
8319   { &hf_qsig_wtmlr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8320 };
8321
8322 static int
8323 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_) {
8324   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8325                                       qsig_wtmlr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmlr_SEQUENCE_OF_Extension);
8326
8327   return offset;
8328 }
8329
8330
8331 static const value_string qsig_wtmlr_LrExtension_vals[] = {
8332   {   1, "extension" },
8333   {   2, "sequOfExtn" },
8334   { 0, NULL }
8335 };
8336
8337 static const ber_choice_t qsig_wtmlr_LrExtension_choice[] = {
8338   {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8339   {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
8340   { 0, NULL, 0, 0, 0, NULL }
8341 };
8342
8343 static int
8344 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_) {
8345   offset = dissect_ber_choice(actx, tree, tvb, offset,
8346                                  qsig_wtmlr_LrExtension_choice, hf_index, ett_qsig_wtmlr_LrExtension,
8347                                  NULL);
8348
8349   return offset;
8350 }
8351
8352
8353 static const ber_sequence_t qsig_wtmlr_LocUpdArg_sequence[] = {
8354   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8355   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8356   { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8357   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8358   { NULL, 0, 0, 0, NULL }
8359 };
8360
8361 static int
8362 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_) {
8363   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8364                                    qsig_wtmlr_LocUpdArg_sequence, hf_index, ett_qsig_wtmlr_LocUpdArg);
8365
8366   return offset;
8367 }
8368
8369
8370
8371 static int
8372 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_) {
8373   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8374
8375   return offset;
8376 }
8377
8378
8379 static const value_string qsig_wtmlr_DummyRes_vals[] = {
8380   {   0, "null" },
8381   {   1, "extension" },
8382   {   2, "sequOfExtn" },
8383   { 0, NULL }
8384 };
8385
8386 static const ber_choice_t qsig_wtmlr_DummyRes_choice[] = {
8387   {   0, &hf_qsig_wtmlr_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_NULL },
8388   {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8389   {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
8390   { 0, NULL, 0, 0, 0, NULL }
8391 };
8392
8393 static int
8394 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_) {
8395   offset = dissect_ber_choice(actx, tree, tvb, offset,
8396                                  qsig_wtmlr_DummyRes_choice, hf_index, ett_qsig_wtmlr_DummyRes,
8397                                  NULL);
8398
8399   return offset;
8400 }
8401
8402
8403 static const ber_sequence_t qsig_wtmlr_LocDelArg_sequence[] = {
8404   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8405   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8406   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8407   { NULL, 0, 0, 0, NULL }
8408 };
8409
8410 static int
8411 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_) {
8412   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8413                                    qsig_wtmlr_LocDelArg_sequence, hf_index, ett_qsig_wtmlr_LocDelArg);
8414
8415   return offset;
8416 }
8417
8418
8419 static const ber_sequence_t qsig_wtmlr_LocDeRegArg_sequence[] = {
8420   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8421   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8422   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8423   { NULL, 0, 0, 0, NULL }
8424 };
8425
8426 static int
8427 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_) {
8428   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8429                                    qsig_wtmlr_LocDeRegArg_sequence, hf_index, ett_qsig_wtmlr_LocDeRegArg);
8430
8431   return offset;
8432 }
8433
8434
8435 static const ber_sequence_t qsig_wtmlr_PisnEnqArg_sequence[] = {
8436   { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8437   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8438   { NULL, 0, 0, 0, NULL }
8439 };
8440
8441 static int
8442 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_) {
8443   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8444                                    qsig_wtmlr_PisnEnqArg_sequence, hf_index, ett_qsig_wtmlr_PisnEnqArg);
8445
8446   return offset;
8447 }
8448
8449
8450 static const ber_sequence_t qsig_wtmlr_PisnEnqRes_sequence[] = {
8451   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8452   { &hf_qsig_wtmlr_resExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8453   { NULL, 0, 0, 0, NULL }
8454 };
8455
8456 static int
8457 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_) {
8458   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8459                                    qsig_wtmlr_PisnEnqRes_sequence, hf_index, ett_qsig_wtmlr_PisnEnqRes);
8460
8461   return offset;
8462 }
8463
8464
8465 static const ber_sequence_t qsig_wtmlr_GetRRCInfArg_sequence[] = {
8466   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8467   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8468   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8469   { NULL, 0, 0, 0, NULL }
8470 };
8471
8472 static int
8473 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_) {
8474   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8475                                    qsig_wtmlr_GetRRCInfArg_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfArg);
8476
8477   return offset;
8478 }
8479
8480
8481
8482 static int
8483 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_) {
8484   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8485                                                 NULL);
8486
8487   return offset;
8488 }
8489
8490
8491 static const ber_sequence_t qsig_wtmlr_GetRRCInfRes_sequence[] = {
8492   { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8493   { &hf_qsig_wtmlr_rrClass  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_RRClass },
8494   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8495   { NULL, 0, 0, 0, NULL }
8496 };
8497
8498 static int
8499 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_) {
8500   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8501                                    qsig_wtmlr_GetRRCInfRes_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfRes);
8502
8503   return offset;
8504 }
8505
8506
8507 static const ber_sequence_t qsig_wtmlr_LocInfoCheckArg_sequence[] = {
8508   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8509   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8510   { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8511   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8512   { NULL, 0, 0, 0, NULL }
8513 };
8514
8515 static int
8516 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_) {
8517   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8518                                    qsig_wtmlr_LocInfoCheckArg_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckArg);
8519
8520   return offset;
8521 }
8522
8523
8524 static const value_string qsig_wtmlr_CheckResult_vals[] = {
8525   {   0, "locInfChk-correct" },
8526   {   1, "locInfChk-incorrect" },
8527   { 0, NULL }
8528 };
8529
8530
8531 static int
8532 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_) {
8533   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8534                                   NULL);
8535
8536   return offset;
8537 }
8538
8539
8540 static const ber_sequence_t qsig_wtmlr_LocInfoCheckRes_sequence[] = {
8541   { &hf_qsig_wtmlr_checkResult, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_CheckResult },
8542   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8543   { NULL, 0, 0, 0, NULL }
8544 };
8545
8546 static int
8547 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_) {
8548   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8549                                    qsig_wtmlr_LocInfoCheckRes_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckRes);
8550
8551   return offset;
8552 }
8553
8554 /*--- PDUs ---*/
8555
8556 static int dissect_qsig_wtmlr_LocUpdArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8557   int offset = 0;
8558   asn1_ctx_t asn1_ctx;
8559   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8560   offset = dissect_qsig_wtmlr_LocUpdArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU);
8561   return offset;
8562 }
8563 static int dissect_qsig_wtmlr_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8564   int offset = 0;
8565   asn1_ctx_t asn1_ctx;
8566   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8567   offset = dissect_qsig_wtmlr_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU);
8568   return offset;
8569 }
8570 static int dissect_qsig_wtmlr_LocDelArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8571   int offset = 0;
8572   asn1_ctx_t asn1_ctx;
8573   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8574   offset = dissect_qsig_wtmlr_LocDelArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU);
8575   return offset;
8576 }
8577 static int dissect_qsig_wtmlr_LocDeRegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8578   int offset = 0;
8579   asn1_ctx_t asn1_ctx;
8580   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8581   offset = dissect_qsig_wtmlr_LocDeRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU);
8582   return offset;
8583 }
8584 static int dissect_qsig_wtmlr_PisnEnqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8585   int offset = 0;
8586   asn1_ctx_t asn1_ctx;
8587   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8588   offset = dissect_qsig_wtmlr_PisnEnqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU);
8589   return offset;
8590 }
8591 static int dissect_qsig_wtmlr_PisnEnqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8592   int offset = 0;
8593   asn1_ctx_t asn1_ctx;
8594   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8595   offset = dissect_qsig_wtmlr_PisnEnqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU);
8596   return offset;
8597 }
8598 static int dissect_qsig_wtmlr_GetRRCInfArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8599   int offset = 0;
8600   asn1_ctx_t asn1_ctx;
8601   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8602   offset = dissect_qsig_wtmlr_GetRRCInfArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU);
8603   return offset;
8604 }
8605 static int dissect_qsig_wtmlr_GetRRCInfRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8606   int offset = 0;
8607   asn1_ctx_t asn1_ctx;
8608   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8609   offset = dissect_qsig_wtmlr_GetRRCInfRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU);
8610   return offset;
8611 }
8612 static int dissect_qsig_wtmlr_LocInfoCheckArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8613   int offset = 0;
8614   asn1_ctx_t asn1_ctx;
8615   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8616   offset = dissect_qsig_wtmlr_LocInfoCheckArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU);
8617   return offset;
8618 }
8619 static int dissect_qsig_wtmlr_LocInfoCheckRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8620   int offset = 0;
8621   asn1_ctx_t asn1_ctx;
8622   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8623   offset = dissect_qsig_wtmlr_LocInfoCheckRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU);
8624   return offset;
8625 }
8626 static int dissect_qsig_wtmlr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8627   int offset = 0;
8628   asn1_ctx_t asn1_ctx;
8629   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8630   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU);
8631   return offset;
8632 }
8633
8634
8635 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
8636
8637
8638 static const ber_sequence_t qsig_wtmch_SEQUENCE_OF_Extension_sequence_of[1] = {
8639   { &hf_qsig_wtmch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8640 };
8641
8642 static int
8643 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_) {
8644   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8645                                       qsig_wtmch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmch_SEQUENCE_OF_Extension);
8646
8647   return offset;
8648 }
8649
8650
8651 static const value_string qsig_wtmch_WtmiExtension_vals[] = {
8652   {   4, "extension" },
8653   {   5, "sequOfExtn" },
8654   { 0, NULL }
8655 };
8656
8657 static const ber_choice_t qsig_wtmch_WtmiExtension_choice[] = {
8658   {   4, &hf_qsig_wtmch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8659   {   5, &hf_qsig_wtmch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8660   { 0, NULL, 0, 0, 0, NULL }
8661 };
8662
8663 static int
8664 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_) {
8665   offset = dissect_ber_choice(actx, tree, tvb, offset,
8666                                  qsig_wtmch_WtmiExtension_choice, hf_index, ett_qsig_wtmch_WtmiExtension,
8667                                  NULL);
8668
8669   return offset;
8670 }
8671
8672
8673 static const ber_sequence_t qsig_wtmch_EnquiryArg_sequence[] = {
8674   { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8675   { &hf_qsig_wtmch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
8676   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8677   { NULL, 0, 0, 0, NULL }
8678 };
8679
8680 static int
8681 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_) {
8682   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8683                                    qsig_wtmch_EnquiryArg_sequence, hf_index, ett_qsig_wtmch_EnquiryArg);
8684
8685   return offset;
8686 }
8687
8688
8689
8690 static int
8691 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_) {
8692   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8693                                        NULL);
8694
8695   return offset;
8696 }
8697
8698
8699 static const ber_sequence_t qsig_wtmch_T_both_sequence[] = {
8700   { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8701   { &hf_qsig_wtmch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_AlternativeId },
8702   { NULL, 0, 0, 0, NULL }
8703 };
8704
8705 static int
8706 dissect_qsig_wtmch_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_) {
8707   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8708                                    qsig_wtmch_T_both_sequence, hf_index, ett_qsig_wtmch_T_both);
8709
8710   return offset;
8711 }
8712
8713
8714 static const value_string qsig_wtmch_WtmIdentity_vals[] = {
8715   {   0, "pisnNumber" },
8716   {   1, "alternativeId" },
8717   {   2, "both" },
8718   { 0, NULL }
8719 };
8720
8721 static const ber_choice_t qsig_wtmch_WtmIdentity_choice[] = {
8722   {   0, &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8723   {   1, &hf_qsig_wtmch_alternativeId, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_AlternativeId },
8724   {   2, &hf_qsig_wtmch_both     , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_T_both },
8725   { 0, NULL, 0, 0, 0, NULL }
8726 };
8727
8728 static int
8729 dissect_qsig_wtmch_WtmIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8730   offset = dissect_ber_choice(actx, tree, tvb, offset,
8731                                  qsig_wtmch_WtmIdentity_choice, hf_index, ett_qsig_wtmch_WtmIdentity,
8732                                  NULL);
8733
8734   return offset;
8735 }
8736
8737
8738 static const ber_sequence_t qsig_wtmch_DivertArg_sequence[] = {
8739   { &hf_qsig_wtmch_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8740   { &hf_qsig_wtmch_callingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
8741   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8742   { &hf_qsig_wtmch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
8743   { &hf_qsig_wtmch_callingUserSub, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
8744   { &hf_qsig_wtmch_callingName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8745   { &hf_qsig_wtmch_wtmUserSub, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
8746   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8747   { NULL, 0, 0, 0, NULL }
8748 };
8749
8750 static int
8751 dissect_qsig_wtmch_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_) {
8752   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8753                                    qsig_wtmch_DivertArg_sequence, hf_index, ett_qsig_wtmch_DivertArg);
8754
8755   return offset;
8756 }
8757
8758
8759 static const ber_sequence_t qsig_wtmch_InformArg_sequence[] = {
8760   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8761   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8762   { NULL, 0, 0, 0, NULL }
8763 };
8764
8765 static int
8766 dissect_qsig_wtmch_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_) {
8767   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8768                                    qsig_wtmch_InformArg_sequence, hf_index, ett_qsig_wtmch_InformArg);
8769
8770   return offset;
8771 }
8772
8773
8774 static const ber_sequence_t qsig_wtmch_CurrLocation_sequence[] = {
8775   { &hf_qsig_wtmch_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8776   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8777   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8778   { NULL, 0, 0, 0, NULL }
8779 };
8780
8781 static int
8782 dissect_qsig_wtmch_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_) {
8783   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8784                                    qsig_wtmch_CurrLocation_sequence, hf_index, ett_qsig_wtmch_CurrLocation);
8785
8786   return offset;
8787 }
8788
8789
8790 static const value_string qsig_wtmch_SubscriptionOption_vals[] = {
8791   {   0, "noNotification" },
8792   {   1, "notificationWithoutDivertedToNr" },
8793   {   2, "notificationWithDivertedToNr" },
8794   { 0, NULL }
8795 };
8796
8797
8798 static int
8799 dissect_qsig_wtmch_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_) {
8800   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8801                                   NULL);
8802
8803   return offset;
8804 }
8805
8806
8807 static const ber_sequence_t qsig_wtmch_CfuActivated_sequence[] = {
8808   { &hf_qsig_wtmch_divToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
8809   { &hf_qsig_wtmch_divOptions, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_SubscriptionOption },
8810   { &hf_qsig_wtmch_wtmName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8811   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8812   { NULL, 0, 0, 0, NULL }
8813 };
8814
8815 static int
8816 dissect_qsig_wtmch_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_) {
8817   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8818                                    qsig_wtmch_CfuActivated_sequence, hf_index, ett_qsig_wtmch_CfuActivated);
8819
8820   return offset;
8821 }
8822
8823
8824 static const value_string qsig_wtmch_EnquiryRes_vals[] = {
8825   {   1, "currLocation" },
8826   {   2, "cfuActivated" },
8827   { 0, NULL }
8828 };
8829
8830 static const ber_choice_t qsig_wtmch_EnquiryRes_choice[] = {
8831   {   1, &hf_qsig_wtmch_currLocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_CurrLocation },
8832   {   2, &hf_qsig_wtmch_cfuActivated, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_CfuActivated },
8833   { 0, NULL, 0, 0, 0, NULL }
8834 };
8835
8836 static int
8837 dissect_qsig_wtmch_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_) {
8838   offset = dissect_ber_choice(actx, tree, tvb, offset,
8839                                  qsig_wtmch_EnquiryRes_choice, hf_index, ett_qsig_wtmch_EnquiryRes,
8840                                  NULL);
8841
8842   return offset;
8843 }
8844
8845
8846
8847 static int
8848 dissect_qsig_wtmch_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_) {
8849   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8850
8851   return offset;
8852 }
8853
8854
8855 static const value_string qsig_wtmch_DummyRes_vals[] = {
8856   {   0, "null" },
8857   {   1, "extension" },
8858   {   2, "sequOfExtn" },
8859   { 0, NULL }
8860 };
8861
8862 static const ber_choice_t qsig_wtmch_DummyRes_choice[] = {
8863   {   0, &hf_qsig_wtmch_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_NULL },
8864   {   1, &hf_qsig_wtmch_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8865   {   2, &hf_qsig_wtmch_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8866   { 0, NULL, 0, 0, 0, NULL }
8867 };
8868
8869 static int
8870 dissect_qsig_wtmch_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_) {
8871   offset = dissect_ber_choice(actx, tree, tvb, offset,
8872                                  qsig_wtmch_DummyRes_choice, hf_index, ett_qsig_wtmch_DummyRes,
8873                                  NULL);
8874
8875   return offset;
8876 }
8877
8878
8879 static const value_string qsig_wtmch_T_wtmoaextension_vals[] = {
8880   {   2, "single" },
8881   {   3, "multiple" },
8882   { 0, NULL }
8883 };
8884
8885 static const ber_choice_t qsig_wtmch_T_wtmoaextension_choice[] = {
8886   {   2, &hf_qsig_wtmch_single   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8887   {   3, &hf_qsig_wtmch_multiple , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8888   { 0, NULL, 0, 0, 0, NULL }
8889 };
8890
8891 static int
8892 dissect_qsig_wtmch_T_wtmoaextension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8893   offset = dissect_ber_choice(actx, tree, tvb, offset,
8894                                  qsig_wtmch_T_wtmoaextension_choice, hf_index, ett_qsig_wtmch_T_wtmoaextension,
8895                                  NULL);
8896
8897   return offset;
8898 }
8899
8900
8901 static const ber_sequence_t qsig_wtmch_WtmoArg_sequence[] = {
8902   { &hf_qsig_wtmch_destinationNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
8903   { &hf_qsig_wtmch_sendingComplete, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_NULL },
8904   { &hf_qsig_wtmch_wtmoaextension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_T_wtmoaextension },
8905   { NULL, 0, 0, 0, NULL }
8906 };
8907
8908 static int
8909 dissect_qsig_wtmch_WtmoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8910   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8911                                    qsig_wtmch_WtmoArg_sequence, hf_index, ett_qsig_wtmch_WtmoArg);
8912
8913   return offset;
8914 }
8915
8916 /*--- PDUs ---*/
8917
8918 static int dissect_qsig_wtmch_EnquiryArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8919   int offset = 0;
8920   asn1_ctx_t asn1_ctx;
8921   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8922   offset = dissect_qsig_wtmch_EnquiryArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU);
8923   return offset;
8924 }
8925 static int dissect_qsig_wtmch_EnquiryRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8926   int offset = 0;
8927   asn1_ctx_t asn1_ctx;
8928   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8929   offset = dissect_qsig_wtmch_EnquiryRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU);
8930   return offset;
8931 }
8932 static int dissect_qsig_wtmch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8933   int offset = 0;
8934   asn1_ctx_t asn1_ctx;
8935   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8936   offset = dissect_qsig_wtmch_DivertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU);
8937   return offset;
8938 }
8939 static int dissect_qsig_wtmch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8940   int offset = 0;
8941   asn1_ctx_t asn1_ctx;
8942   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8943   offset = dissect_qsig_wtmch_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU);
8944   return offset;
8945 }
8946 static int dissect_qsig_wtmch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8947   int offset = 0;
8948   asn1_ctx_t asn1_ctx;
8949   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8950   offset = dissect_qsig_wtmch_InformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_InformArg_PDU);
8951   return offset;
8952 }
8953 static int dissect_qsig_wtmch_WtmoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8954   int offset = 0;
8955   asn1_ctx_t asn1_ctx;
8956   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8957   offset = dissect_qsig_wtmch_WtmoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU);
8958   return offset;
8959 }
8960 static int dissect_qsig_wtmch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8961   int offset = 0;
8962   asn1_ctx_t asn1_ctx;
8963   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8964   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_Extension_PDU);
8965   return offset;
8966 }
8967
8968
8969 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
8970
8971
8972
8973 static int
8974 dissect_qsig_wtmau_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_) {
8975   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8976                                        NULL);
8977
8978   return offset;
8979 }
8980
8981
8982 static const value_string qsig_wtmau_WtmUserId_vals[] = {
8983   {   0, "pisnNumber" },
8984   {   1, "alternativeId" },
8985   { 0, NULL }
8986 };
8987
8988 static const ber_choice_t qsig_wtmau_WtmUserId_choice[] = {
8989   {   0, &hf_qsig_wtmau_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8990   {   1, &hf_qsig_wtmau_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AlternativeId },
8991   { 0, NULL, 0, 0, 0, NULL }
8992 };
8993
8994 static int
8995 dissect_qsig_wtmau_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_) {
8996   offset = dissect_ber_choice(actx, tree, tvb, offset,
8997                                  qsig_wtmau_WtmUserId_choice, hf_index, ett_qsig_wtmau_WtmUserId,
8998                                  NULL);
8999
9000   return offset;
9001 }
9002
9003
9004
9005 static int
9006 dissect_qsig_wtmau_AuthChallenge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9007   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9008                                        NULL);
9009
9010   return offset;
9011 }
9012
9013
9014
9015 static int
9016 dissect_qsig_wtmau_AuthResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9017   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9018                                        NULL);
9019
9020   return offset;
9021 }
9022
9023
9024
9025 static int
9026 dissect_qsig_wtmau_DerivedCipherKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9027   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9028                                        NULL);
9029
9030   return offset;
9031 }
9032
9033
9034
9035 static int
9036 dissect_qsig_wtmau_CalculationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9037   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9038                                        NULL);
9039
9040   return offset;
9041 }
9042
9043
9044 static const ber_sequence_t qsig_wtmau_CalcWtatInfoUnit_sequence[] = {
9045   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9046   { &hf_qsig_wtmau_authResponse, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthResponse },
9047   { &hf_qsig_wtmau_derivedCipherKey, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_DerivedCipherKey },
9048   { &hf_qsig_wtmau_calculationParam, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalculationParam },
9049   { NULL, 0, 0, 0, NULL }
9050 };
9051
9052 static int
9053 dissect_qsig_wtmau_CalcWtatInfoUnit(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9054   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9055                                    qsig_wtmau_CalcWtatInfoUnit_sequence, hf_index, ett_qsig_wtmau_CalcWtatInfoUnit);
9056
9057   return offset;
9058 }
9059
9060
9061 static const ber_sequence_t qsig_wtmau_CalcWtatInfo_sequence_of[1] = {
9062   { &hf_qsig_wtmau_CalcWtatInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalcWtatInfoUnit },
9063 };
9064
9065 static int
9066 dissect_qsig_wtmau_CalcWtatInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9067   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9068                                       qsig_wtmau_CalcWtatInfo_sequence_of, hf_index, ett_qsig_wtmau_CalcWtatInfo);
9069
9070   return offset;
9071 }
9072
9073
9074 static const ber_sequence_t qsig_wtmau_SEQUENCE_OF_Extension_sequence_of[1] = {
9075   { &hf_qsig_wtmau_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9076 };
9077
9078 static int
9079 dissect_qsig_wtmau_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_) {
9080   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9081                                       qsig_wtmau_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmau_SEQUENCE_OF_Extension);
9082
9083   return offset;
9084 }
9085
9086
9087 static const value_string qsig_wtmau_DummyExtension_vals[] = {
9088   {   5, "extension" },
9089   {   6, "sequOfExtn" },
9090   { 0, NULL }
9091 };
9092
9093 static const ber_choice_t qsig_wtmau_DummyExtension_choice[] = {
9094   {   5, &hf_qsig_wtmau_extension, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
9095   {   6, &hf_qsig_wtmau_sequOfExtn, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_SEQUENCE_OF_Extension },
9096   { 0, NULL, 0, 0, 0, NULL }
9097 };
9098
9099 static int
9100 dissect_qsig_wtmau_DummyExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9101   offset = dissect_ber_choice(actx, tree, tvb, offset,
9102                                  qsig_wtmau_DummyExtension_choice, hf_index, ett_qsig_wtmau_DummyExtension,
9103                                  NULL);
9104
9105   return offset;
9106 }
9107
9108
9109 static const ber_sequence_t qsig_wtmau_AuthWtmArg_sequence[] = {
9110   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9111   { &hf_qsig_wtmau_calcWtatInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtatInfo },
9112   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9113   { NULL, 0, 0, 0, NULL }
9114 };
9115
9116 static int
9117 dissect_qsig_wtmau_AuthWtmArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9118   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9119                                    qsig_wtmau_AuthWtmArg_sequence, hf_index, ett_qsig_wtmau_AuthWtmArg);
9120
9121   return offset;
9122 }
9123
9124
9125 static const value_string qsig_wtmau_T_autWtmResValue_vals[] = {
9126   {   0, "auth-res-correct" },
9127   {   1, "auth-res-incorrect" },
9128   { 0, NULL }
9129 };
9130
9131
9132 static int
9133 dissect_qsig_wtmau_T_autWtmResValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9134   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9135                                   NULL);
9136
9137   return offset;
9138 }
9139
9140
9141 static const ber_sequence_t qsig_wtmau_AuthWtmRes_sequence[] = {
9142   { &hf_qsig_wtmau_autWtmResValue, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_T_autWtmResValue },
9143   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9144   { NULL, 0, 0, 0, NULL }
9145 };
9146
9147 static int
9148 dissect_qsig_wtmau_AuthWtmRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9149   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9150                                    qsig_wtmau_AuthWtmRes_sequence, hf_index, ett_qsig_wtmau_AuthWtmRes);
9151
9152   return offset;
9153 }
9154
9155
9156
9157 static int
9158 dissect_qsig_wtmau_CanCompute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9159   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9160
9161   return offset;
9162 }
9163
9164
9165 static const ber_sequence_t qsig_wtmau_WtatParamArg_sequence[] = {
9166   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9167   { &hf_qsig_wtmau_canCompute, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CanCompute },
9168   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9169   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9170   { NULL, 0, 0, 0, NULL }
9171 };
9172
9173 static int
9174 dissect_qsig_wtmau_WtatParamArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9175   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9176                                    qsig_wtmau_WtatParamArg_sequence, hf_index, ett_qsig_wtmau_WtatParamArg);
9177
9178   return offset;
9179 }
9180
9181
9182 static const value_string qsig_wtmau_DefinedIDs_vals[] = {
9183   {   0, "ct2" },
9184   {   1, "dect" },
9185   {   2, "gsm" },
9186   {   3, "pci" },
9187   {   4, "pwt" },
9188   {   5, "us-gsm" },
9189   {   6, "phs" },
9190   {   7, "tetra" },
9191   { 0, NULL }
9192 };
9193
9194
9195 static int
9196 dissect_qsig_wtmau_DefinedIDs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9197   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9198                                                 NULL);
9199
9200   return offset;
9201 }
9202
9203
9204
9205 static int
9206 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_) {
9207 #line 164 "../../asn1/qsig/qsig.cnf"
9208
9209
9210
9211   return offset;
9212 }
9213
9214
9215 static const ber_sequence_t qsig_wtmau_AuthAlgorithm_sequence[] = {
9216   { &hf_qsig_wtmau_authAlg  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_DefinedIDs },
9217   { &hf_qsig_wtmau_param    , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_T_param },
9218   { NULL, 0, 0, 0, NULL }
9219 };
9220
9221 static int
9222 dissect_qsig_wtmau_AuthAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9223   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9224                                    qsig_wtmau_AuthAlgorithm_sequence, hf_index, ett_qsig_wtmau_AuthAlgorithm);
9225
9226   return offset;
9227 }
9228
9229
9230
9231 static int
9232 dissect_qsig_wtmau_AuthSessionKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9233   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9234                                        NULL);
9235
9236   return offset;
9237 }
9238
9239
9240 static const ber_sequence_t qsig_wtmau_AuthSessionKeyInfo_sequence[] = {
9241   { &hf_qsig_wtmau_authSessionKey, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthSessionKey },
9242   { &hf_qsig_wtmau_calculationParam, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalculationParam },
9243   { NULL, 0, 0, 0, NULL }
9244 };
9245
9246 static int
9247 dissect_qsig_wtmau_AuthSessionKeyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9248   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9249                                    qsig_wtmau_AuthSessionKeyInfo_sequence, hf_index, ett_qsig_wtmau_AuthSessionKeyInfo);
9250
9251   return offset;
9252 }
9253
9254
9255
9256 static int
9257 dissect_qsig_wtmau_AuthKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9258   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9259                                        NULL);
9260
9261   return offset;
9262 }
9263
9264
9265
9266 static int
9267 dissect_qsig_wtmau_INTEGER_1_8(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9268   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9269                                                 NULL);
9270
9271   return offset;
9272 }
9273
9274
9275 static const value_string qsig_wtmau_T_wtatParamInfoChoice_vals[] = {
9276   {   1, "authSessionKeyInfo" },
9277   {   2, "calcWtatInfo" },
9278   {   3, "authKey" },
9279   {   4, "challLen" },
9280   { 0, NULL }
9281 };
9282
9283 static const ber_choice_t qsig_wtmau_T_wtatParamInfoChoice_choice[] = {
9284   {   1, &hf_qsig_wtmau_authSessionKeyInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthSessionKeyInfo },
9285   {   2, &hf_qsig_wtmau_calcWtatInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtatInfo },
9286   {   3, &hf_qsig_wtmau_authKey  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthKey },
9287   {   4, &hf_qsig_wtmau_challLen , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_INTEGER_1_8 },
9288   { 0, NULL, 0, 0, 0, NULL }
9289 };
9290
9291 static int
9292 dissect_qsig_wtmau_T_wtatParamInfoChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9293   offset = dissect_ber_choice(actx, tree, tvb, offset,
9294                                  qsig_wtmau_T_wtatParamInfoChoice_choice, hf_index, ett_qsig_wtmau_T_wtatParamInfoChoice,
9295                                  NULL);
9296
9297   return offset;
9298 }
9299
9300
9301 static const ber_sequence_t qsig_wtmau_WtatParamInfo_sequence[] = {
9302   { &hf_qsig_wtmau_authAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthAlgorithm },
9303   { &hf_qsig_wtmau_wtatParamInfoChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_T_wtatParamInfoChoice },
9304   { NULL, 0, 0, 0, NULL }
9305 };
9306
9307 static int
9308 dissect_qsig_wtmau_WtatParamInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9309   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9310                                    qsig_wtmau_WtatParamInfo_sequence, hf_index, ett_qsig_wtmau_WtatParamInfo);
9311
9312   return offset;
9313 }
9314
9315
9316 static const ber_sequence_t qsig_wtmau_WtatParamRes_sequence[] = {
9317   { &hf_qsig_wtmau_wtatParamInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_WtatParamInfo },
9318   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9319   { NULL, 0, 0, 0, NULL }
9320 };
9321
9322 static int
9323 dissect_qsig_wtmau_WtatParamRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9324   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9325                                    qsig_wtmau_WtatParamRes_sequence, hf_index, ett_qsig_wtmau_WtatParamRes);
9326
9327   return offset;
9328 }
9329
9330
9331 static const ber_sequence_t qsig_wtmau_WtanParamArg_sequence[] = {
9332   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9333   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9334   { &hf_qsig_wtmau_authAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthAlgorithm },
9335   { &hf_qsig_wtmau_canCompute, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CanCompute },
9336   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9337   { NULL, 0, 0, 0, NULL }
9338 };
9339
9340 static int
9341 dissect_qsig_wtmau_WtanParamArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9342   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9343                                    qsig_wtmau_WtanParamArg_sequence, hf_index, ett_qsig_wtmau_WtanParamArg);
9344
9345   return offset;
9346 }
9347
9348
9349 static const ber_sequence_t qsig_wtmau_CalcWtanInfo_sequence[] = {
9350   { &hf_qsig_wtmau_authResponse, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthResponse },
9351   { &hf_qsig_wtmau_calculationParam, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalculationParam },
9352   { NULL, 0, 0, 0, NULL }
9353 };
9354
9355 static int
9356 dissect_qsig_wtmau_CalcWtanInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9357   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9358                                    qsig_wtmau_CalcWtanInfo_sequence, hf_index, ett_qsig_wtmau_CalcWtanInfo);
9359
9360   return offset;
9361 }
9362
9363
9364 static const value_string qsig_wtmau_WtanParamInfo_vals[] = {
9365   {   1, "authSessionKeyInfo" },
9366   {   2, "calcWtanInfo" },
9367   { 0, NULL }
9368 };
9369
9370 static const ber_choice_t qsig_wtmau_WtanParamInfo_choice[] = {
9371   {   1, &hf_qsig_wtmau_authSessionKeyInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthSessionKeyInfo },
9372   {   2, &hf_qsig_wtmau_calcWtanInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtanInfo },
9373   { 0, NULL, 0, 0, 0, NULL }
9374 };
9375
9376 static int
9377 dissect_qsig_wtmau_WtanParamInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9378   offset = dissect_ber_choice(actx, tree, tvb, offset,
9379                                  qsig_wtmau_WtanParamInfo_choice, hf_index, ett_qsig_wtmau_WtanParamInfo,
9380                                  NULL);
9381
9382   return offset;
9383 }
9384
9385
9386 static const ber_sequence_t qsig_wtmau_WtanParamRes_sequence[] = {
9387   { &hf_qsig_wtmau_wtanParamInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtanParamInfo },
9388   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9389   { NULL, 0, 0, 0, NULL }
9390 };
9391
9392 static int
9393 dissect_qsig_wtmau_WtanParamRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9394   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9395                                    qsig_wtmau_WtanParamRes_sequence, hf_index, ett_qsig_wtmau_WtanParamRes);
9396
9397   return offset;
9398 }
9399
9400
9401 static const ber_sequence_t qsig_wtmau_ARG_transferAuthParam_sequence[] = {
9402   { &hf_qsig_wtmau_wtatParamInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_WtatParamInfo },
9403   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9404   { NULL, 0, 0, 0, NULL }
9405 };
9406
9407 static int
9408 dissect_qsig_wtmau_ARG_transferAuthParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9409   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9410                                    qsig_wtmau_ARG_transferAuthParam_sequence, hf_index, ett_qsig_wtmau_ARG_transferAuthParam);
9411
9412   return offset;
9413 }
9414
9415 /*--- PDUs ---*/
9416
9417 static int dissect_qsig_wtmau_AuthWtmArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9418   int offset = 0;
9419   asn1_ctx_t asn1_ctx;
9420   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9421   offset = dissect_qsig_wtmau_AuthWtmArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU);
9422   return offset;
9423 }
9424 static int dissect_qsig_wtmau_AuthWtmRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9425   int offset = 0;
9426   asn1_ctx_t asn1_ctx;
9427   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9428   offset = dissect_qsig_wtmau_AuthWtmRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU);
9429   return offset;
9430 }
9431 static int dissect_qsig_wtmau_WtatParamArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9432   int offset = 0;
9433   asn1_ctx_t asn1_ctx;
9434   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9435   offset = dissect_qsig_wtmau_WtatParamArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU);
9436   return offset;
9437 }
9438 static int dissect_qsig_wtmau_WtatParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9439   int offset = 0;
9440   asn1_ctx_t asn1_ctx;
9441   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9442   offset = dissect_qsig_wtmau_WtatParamRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU);
9443   return offset;
9444 }
9445 static int dissect_qsig_wtmau_WtanParamArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9446   int offset = 0;
9447   asn1_ctx_t asn1_ctx;
9448   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9449   offset = dissect_qsig_wtmau_WtanParamArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU);
9450   return offset;
9451 }
9452 static int dissect_qsig_wtmau_WtanParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9453   int offset = 0;
9454   asn1_ctx_t asn1_ctx;
9455   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9456   offset = dissect_qsig_wtmau_WtanParamRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU);
9457   return offset;
9458 }
9459 static int dissect_qsig_wtmau_ARG_transferAuthParam_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9460   int offset = 0;
9461   asn1_ctx_t asn1_ctx;
9462   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9463   offset = dissect_qsig_wtmau_ARG_transferAuthParam(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU);
9464   return offset;
9465 }
9466 static int dissect_qsig_wtmau_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9467   int offset = 0;
9468   asn1_ctx_t asn1_ctx;
9469   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9470   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_Extension_PDU);
9471   return offset;
9472 }
9473
9474
9475 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
9476
9477
9478
9479 static int
9480 dissect_qsig_sd_BMPStringNormal(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9481   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9482                                        NULL);
9483
9484   return offset;
9485 }
9486
9487
9488
9489 static int
9490 dissect_qsig_sd_BMPStringExtended(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9491   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9492                                        NULL);
9493
9494   return offset;
9495 }
9496
9497
9498 static const value_string qsig_sd_DisplayString_vals[] = {
9499   {   0, "displayStringNormal" },
9500   {   1, "displayStringExtended" },
9501   { 0, NULL }
9502 };
9503
9504 static const ber_choice_t qsig_sd_DisplayString_choice[] = {
9505   {   0, &hf_qsig_sd_displayStringNormal, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringNormal },
9506   {   1, &hf_qsig_sd_displayStringExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringExtended },
9507   { 0, NULL, 0, 0, 0, NULL }
9508 };
9509
9510 static int
9511 dissect_qsig_sd_DisplayString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9512   offset = dissect_ber_choice(actx, tree, tvb, offset,
9513                                  qsig_sd_DisplayString_choice, hf_index, ett_qsig_sd_DisplayString,
9514                                  NULL);
9515
9516   return offset;
9517 }
9518
9519
9520 static const ber_sequence_t qsig_sd_SEQUENCE_OF_Extension_sequence_of[1] = {
9521   { &hf_qsig_sd_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9522 };
9523
9524 static int
9525 dissect_qsig_sd_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_) {
9526   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9527                                       qsig_sd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sd_SEQUENCE_OF_Extension);
9528
9529   return offset;
9530 }
9531
9532
9533 static const value_string qsig_sd_SDExtension_vals[] = {
9534   {   2, "extension" },
9535   {   3, "multipleExtension" },
9536   { 0, NULL }
9537 };
9538
9539 static const ber_choice_t qsig_sd_SDExtension_choice[] = {
9540   {   2, &hf_qsig_sd_extension   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
9541   {   3, &hf_qsig_sd_multipleExtension, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_sd_SEQUENCE_OF_Extension },
9542   { 0, NULL, 0, 0, 0, NULL }
9543 };
9544
9545 static int
9546 dissect_qsig_sd_SDExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9547   offset = dissect_ber_choice(actx, tree, tvb, offset,
9548                                  qsig_sd_SDExtension_choice, hf_index, ett_qsig_sd_SDExtension,
9549                                  NULL);
9550
9551   return offset;
9552 }
9553
9554
9555 static const ber_sequence_t qsig_sd_DisplayArg_sequence[] = {
9556   { &hf_qsig_sd_displayString, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_DisplayString },
9557   { &hf_qsig_sd_sdextension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_SDExtension },
9558   { NULL, 0, 0, 0, NULL }
9559 };
9560
9561 static int
9562 dissect_qsig_sd_DisplayArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9563   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9564                                    qsig_sd_DisplayArg_sequence, hf_index, ett_qsig_sd_DisplayArg);
9565
9566   return offset;
9567 }
9568
9569
9570 static const ber_sequence_t qsig_sd_KeypadArg_sequence[] = {
9571   { &hf_qsig_sd_keypadString, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringNormal },
9572   { &hf_qsig_sd_sdextension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_SDExtension },
9573   { NULL, 0, 0, 0, NULL }
9574 };
9575
9576 static int
9577 dissect_qsig_sd_KeypadArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9578   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9579                                    qsig_sd_KeypadArg_sequence, hf_index, ett_qsig_sd_KeypadArg);
9580
9581   return offset;
9582 }
9583
9584 /*--- PDUs ---*/
9585
9586 static int dissect_qsig_sd_DisplayArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9587   int offset = 0;
9588   asn1_ctx_t asn1_ctx;
9589   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9590   offset = dissect_qsig_sd_DisplayArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_DisplayArg_PDU);
9591   return offset;
9592 }
9593 static int dissect_qsig_sd_KeypadArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9594   int offset = 0;
9595   asn1_ctx_t asn1_ctx;
9596   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9597   offset = dissect_qsig_sd_KeypadArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_KeypadArg_PDU);
9598   return offset;
9599 }
9600 static int dissect_qsig_sd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9601   int offset = 0;
9602   asn1_ctx_t asn1_ctx;
9603   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9604   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_Extension_PDU);
9605   return offset;
9606 }
9607
9608
9609 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
9610
9611
9612
9613 static int
9614 dissect_qsig_cidl_SwitchingSubDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9615   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
9616                                             actx, tree, tvb, offset, hf_index,
9617                                             NULL);
9618
9619   return offset;
9620 }
9621
9622
9623
9624 static int
9625 dissect_qsig_cidl_SubDomainID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9626   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9627                                        NULL);
9628
9629   return offset;
9630 }
9631
9632
9633
9634 static int
9635 dissect_qsig_cidl_GloballyUniqueID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9636   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9637                                        NULL);
9638
9639   return offset;
9640 }
9641
9642
9643 static const value_string qsig_cidl_T_linkageID_vals[] = {
9644   {   1, "subDomainID" },
9645   {   2, "globallyUniqueID" },
9646   { 0, NULL }
9647 };
9648
9649 static const ber_choice_t qsig_cidl_T_linkageID_choice[] = {
9650   {   1, &hf_qsig_cidl_subDomainID, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SubDomainID },
9651   {   2, &hf_qsig_cidl_globallyUniqueID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_GloballyUniqueID },
9652   { 0, NULL, 0, 0, 0, NULL }
9653 };
9654
9655 static int
9656 dissect_qsig_cidl_T_linkageID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9657   offset = dissect_ber_choice(actx, tree, tvb, offset,
9658                                  qsig_cidl_T_linkageID_choice, hf_index, ett_qsig_cidl_T_linkageID,
9659                                  NULL);
9660
9661   return offset;
9662 }
9663
9664
9665
9666 static int
9667 dissect_qsig_cidl_TimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9668   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
9669
9670   return offset;
9671 }
9672
9673
9674 static const ber_sequence_t qsig_cidl_CallIdentificationData_sequence[] = {
9675   { &hf_qsig_cidl_switchingSubDomainName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SwitchingSubDomainName },
9676   { &hf_qsig_cidl_linkageID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_T_linkageID },
9677   { &hf_qsig_cidl_timeStamp , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cidl_TimeStamp },
9678   { NULL, 0, 0, 0, NULL }
9679 };
9680
9681 static int
9682 dissect_qsig_cidl_CallIdentificationData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9683   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9684                                    qsig_cidl_CallIdentificationData_sequence, hf_index, ett_qsig_cidl_CallIdentificationData);
9685
9686   return offset;
9687 }
9688
9689
9690 static const ber_sequence_t qsig_cidl_SEQUENCE_OF_Extension_sequence_of[1] = {
9691   { &hf_qsig_cidl_sequenceOfExt_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9692 };
9693
9694 static int
9695 dissect_qsig_cidl_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_) {
9696   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9697                                       qsig_cidl_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cidl_SEQUENCE_OF_Extension);
9698
9699   return offset;
9700 }
9701
9702
9703 static const value_string qsig_cidl_ExtensionType_vals[] = {
9704   {   3, "extension" },
9705   {   4, "sequenceOfExt" },
9706   { 0, NULL }
9707 };
9708
9709 static const ber_choice_t qsig_cidl_ExtensionType_choice[] = {
9710   {   3, &hf_qsig_cidl_extension , BER_CLASS_CON, 3, 0, dissect_qsig_Extension },
9711   {   4, &hf_qsig_cidl_sequenceOfExt, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SEQUENCE_OF_Extension },
9712   { 0, NULL, 0, 0, 0, NULL }
9713 };
9714
9715 static int
9716 dissect_qsig_cidl_ExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9717   offset = dissect_ber_choice(actx, tree, tvb, offset,
9718                                  qsig_cidl_ExtensionType_choice, hf_index, ett_qsig_cidl_ExtensionType,
9719                                  NULL);
9720
9721   return offset;
9722 }
9723
9724
9725 static const ber_sequence_t qsig_cidl_CallIdentificationAssignArg_sequence[] = {
9726   { &hf_qsig_cidl_globalCallID, BER_CLASS_CON, 0, 0, dissect_qsig_cidl_CallIdentificationData },
9727   { &hf_qsig_cidl_threadID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9728   { &hf_qsig_cidl_legID     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9729   { &hf_qsig_cidl_extensiont, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_ExtensionType },
9730   { NULL, 0, 0, 0, NULL }
9731 };
9732
9733 static int
9734 dissect_qsig_cidl_CallIdentificationAssignArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9735   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9736                                    qsig_cidl_CallIdentificationAssignArg_sequence, hf_index, ett_qsig_cidl_CallIdentificationAssignArg);
9737
9738   return offset;
9739 }
9740
9741
9742 static const ber_sequence_t qsig_cidl_CallIdentificationUpdateArg_sequence[] = {
9743   { &hf_qsig_cidl_globalCallID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9744   { &hf_qsig_cidl_threadID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9745   { &hf_qsig_cidl_legID     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9746   { &hf_qsig_cidl_extensiont, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_ExtensionType },
9747   { NULL, 0, 0, 0, NULL }
9748 };
9749
9750 static int
9751 dissect_qsig_cidl_CallIdentificationUpdateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9752   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9753                                    qsig_cidl_CallIdentificationUpdateArg_sequence, hf_index, ett_qsig_cidl_CallIdentificationUpdateArg);
9754
9755   return offset;
9756 }
9757
9758 /*--- PDUs ---*/
9759
9760 static int dissect_qsig_cidl_CallIdentificationAssignArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9761   int offset = 0;
9762   asn1_ctx_t asn1_ctx;
9763   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9764   offset = dissect_qsig_cidl_CallIdentificationAssignArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU);
9765   return offset;
9766 }
9767 static int dissect_qsig_cidl_CallIdentificationUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
9768   int offset = 0;
9769   asn1_ctx_t asn1_ctx;
9770   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9771   offset = dissect_qsig_cidl_CallIdentificationUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU);
9772   return offset;
9773 }
9774
9775
9776 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
9777
9778
9779
9780 static int
9781 dissect_qsig_sms_MessageReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9782   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9783                                                 NULL);
9784
9785   return offset;
9786 }
9787
9788
9789
9790 static int
9791 dissect_qsig_sms_ProtocolIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9792   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9793                                                 NULL);
9794
9795   return offset;
9796 }
9797
9798
9799
9800 static int
9801 dissect_qsig_sms_ValidityPeriodRel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9802   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9803                                                 NULL);
9804
9805   return offset;
9806 }
9807
9808
9809
9810 static int
9811 dissect_qsig_sms_ValidityPeriodAbs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9812   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
9813
9814   return offset;
9815 }
9816
9817
9818
9819 static int
9820 dissect_qsig_sms_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_) {
9821   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
9822
9823   return offset;
9824 }
9825
9826
9827
9828 static int
9829 dissect_qsig_sms_INTEGER_0_255(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9830   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9831                                                 NULL);
9832
9833   return offset;
9834 }
9835
9836
9837
9838 static int
9839 dissect_qsig_sms_ValidityPeriodSemi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9840   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9841                                        NULL);
9842
9843   return offset;
9844 }
9845
9846
9847 static const value_string qsig_sms_EnhancedVP_vals[] = {
9848   {   0, "validityPeriodRel" },
9849   {   1, "validityPeriodSec" },
9850   {   2, "validityPeriodSemi" },
9851   { 0, NULL }
9852 };
9853
9854 static const ber_choice_t qsig_sms_EnhancedVP_choice[] = {
9855   {   0, &hf_qsig_sms_validityPeriodRel, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodRel },
9856   {   1, &hf_qsig_sms_validityPeriodSec, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_INTEGER_0_255 },
9857   {   2, &hf_qsig_sms_validityPeriodSemi, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodSemi },
9858   { 0, NULL, 0, 0, 0, NULL }
9859 };
9860
9861 static int
9862 dissect_qsig_sms_EnhancedVP(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9863   offset = dissect_ber_choice(actx, tree, tvb, offset,
9864                                  qsig_sms_EnhancedVP_choice, hf_index, ett_qsig_sms_EnhancedVP,
9865                                  NULL);
9866
9867   return offset;
9868 }
9869
9870
9871 static const ber_sequence_t qsig_sms_ValidityPeriodEnh_sequence[] = {
9872   { &hf_qsig_sms_singleShotSM, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_BOOLEAN },
9873   { &hf_qsig_sms_enhancedVP , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_EnhancedVP },
9874   { NULL, 0, 0, 0, NULL }
9875 };
9876
9877 static int
9878 dissect_qsig_sms_ValidityPeriodEnh(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9879   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9880                                    qsig_sms_ValidityPeriodEnh_sequence, hf_index, ett_qsig_sms_ValidityPeriodEnh);
9881
9882   return offset;
9883 }
9884
9885
9886 static const value_string qsig_sms_ValidityPeriod_vals[] = {
9887   {   0, "validityPeriodRel" },
9888   {   1, "validityPeriodAbs" },
9889   {   2, "validityPeriodEnh" },
9890   { 0, NULL }
9891 };
9892
9893 static const ber_choice_t qsig_sms_ValidityPeriod_choice[] = {
9894   {   0, &hf_qsig_sms_validityPeriodRel, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodRel },
9895   {   1, &hf_qsig_sms_validityPeriodAbs, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodAbs },
9896   {   2, &hf_qsig_sms_validityPeriodEnh, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodEnh },
9897   { 0, NULL, 0, 0, 0, NULL }
9898 };
9899
9900 static int
9901 dissect_qsig_sms_ValidityPeriod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9902   offset = dissect_ber_choice(actx, tree, tvb, offset,
9903                                  qsig_sms_ValidityPeriod_choice, hf_index, ett_qsig_sms_ValidityPeriod,
9904                                  NULL);
9905
9906   return offset;
9907 }
9908
9909
9910 static const ber_sequence_t qsig_sms_SmSubmitParameter_sequence[] = {
9911   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
9912   { &hf_qsig_sms_validityPeriod, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_ValidityPeriod },
9913   { &hf_qsig_sms_statusReportRequest, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9914   { &hf_qsig_sms_replyPath  , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9915   { &hf_qsig_sms_rejectDuplicates, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9916   { NULL, 0, 0, 0, NULL }
9917 };
9918
9919 static int
9920 dissect_qsig_sms_SmSubmitParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9921   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9922                                    qsig_sms_SmSubmitParameter_sequence, hf_index, ett_qsig_sms_SmSubmitParameter);
9923
9924   return offset;
9925 }
9926
9927
9928 static const asn_namedbit qsig_sms_SmscControlParameterHeader_bits[] = {
9929   {  0, &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted, -1, -1, "sRforTransactionCompleted", NULL },
9930   {  1, &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError, -1, -1, "sRforPermanentError", NULL },
9931   {  2, &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying, -1, -1, "sRforTempErrorSCnotTrying", NULL },
9932   {  3, &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying, -1, -1, "sRforTempErrorSCstillTrying", NULL },
9933   {  6, &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM, -1, -1, "cancelSRRforConcatenatedSM", NULL },
9934   {  7, &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR, -1, -1, "includeOrigUDHintoSR", NULL },
9935   { 0, NULL, 0, 0, NULL, NULL }
9936 };
9937
9938 static int
9939 dissect_qsig_sms_SmscControlParameterHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9940   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9941                                     qsig_sms_SmscControlParameterHeader_bits, hf_index, ett_qsig_sms_SmscControlParameterHeader,
9942                                     NULL);
9943
9944   return offset;
9945 }
9946
9947
9948 static const ber_sequence_t qsig_sms_Concatenated8BitSMHeader_sequence[] = {
9949   { &hf_qsig_sms_concatenated8BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9950   { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9951   { &hf_qsig_sms_sequenceNumberOf8BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9952   { NULL, 0, 0, 0, NULL }
9953 };
9954
9955 static int
9956 dissect_qsig_sms_Concatenated8BitSMHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9957   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9958                                    qsig_sms_Concatenated8BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated8BitSMHeader);
9959
9960   return offset;
9961 }
9962
9963
9964
9965 static int
9966 dissect_qsig_sms_INTEGER_0_65536(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9967   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9968                                                 NULL);
9969
9970   return offset;
9971 }
9972
9973
9974 static const ber_sequence_t qsig_sms_Concatenated16BitSMHeader_sequence[] = {
9975   { &hf_qsig_sms_concatenated16BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
9976   { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9977   { &hf_qsig_sms_sequenceNumberOf16BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9978   { NULL, 0, 0, 0, NULL }
9979 };
9980
9981 static int
9982 dissect_qsig_sms_Concatenated16BitSMHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9983   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9984                                    qsig_sms_Concatenated16BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated16BitSMHeader);
9985
9986   return offset;
9987 }
9988
9989
9990 static const ber_sequence_t qsig_sms_ApplicationPort8BitHeader_sequence[] = {
9991   { &hf_qsig_sms_destination8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9992   { &hf_qsig_sms_originator8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9993   { NULL, 0, 0, 0, NULL }
9994 };
9995
9996 static int
9997 dissect_qsig_sms_ApplicationPort8BitHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9998   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9999                                    qsig_sms_ApplicationPort8BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort8BitHeader);
10000
10001   return offset;
10002 }
10003
10004
10005 static const ber_sequence_t qsig_sms_ApplicationPort16BitHeader_sequence[] = {
10006   { &hf_qsig_sms_destination16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
10007   { &hf_qsig_sms_originator16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
10008   { NULL, 0, 0, 0, NULL }
10009 };
10010
10011 static int
10012 dissect_qsig_sms_ApplicationPort16BitHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10013   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10014                                    qsig_sms_ApplicationPort16BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort16BitHeader);
10015
10016   return offset;
10017 }
10018
10019
10020 static const value_string qsig_sms_DataHeaderSourceIndicator_vals[] = {
10021   {   1, "originalSender" },
10022   {   2, "originalReceiver" },
10023   {   3, "sMSC" },
10024   { 0, NULL }
10025 };
10026
10027
10028 static int
10029 dissect_qsig_sms_DataHeaderSourceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10030   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10031                                                 NULL);
10032
10033   return offset;
10034 }
10035
10036
10037
10038 static int
10039 dissect_qsig_sms_WirelessControlHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10040   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10041                                        NULL);
10042
10043   return offset;
10044 }
10045
10046
10047
10048 static int
10049 dissect_qsig_sms_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_) {
10050   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10051                                        NULL);
10052
10053   return offset;
10054 }
10055
10056
10057 static const ber_sequence_t qsig_sms_GenericUserValue_sequence[] = {
10058   { &hf_qsig_sms_parameterValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
10059   { &hf_qsig_sms_genericUserData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_OCTET_STRING },
10060   { NULL, 0, 0, 0, NULL }
10061 };
10062
10063 static int
10064 dissect_qsig_sms_GenericUserValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10065   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10066                                    qsig_sms_GenericUserValue_sequence, hf_index, ett_qsig_sms_GenericUserValue);
10067
10068   return offset;
10069 }
10070
10071
10072 static const value_string qsig_sms_UserDataHeaderChoice_vals[] = {
10073   {   0, "smscControlParameterHeader" },
10074   {   1, "concatenated8BitSMHeader" },
10075   {   2, "concatenated16BitSMHeader" },
10076   {   3, "applicationPort8BitHeader" },
10077   {   4, "applicationPort16BitHeader" },
10078   {   5, "dataHeaderSourceIndicator" },
10079   {   6, "wirelessControlHeader" },
10080   {  99, "genericUserValue" },
10081   { 0, NULL }
10082 };
10083
10084 static const ber_choice_t qsig_sms_UserDataHeaderChoice_choice[] = {
10085   {   0, &hf_qsig_sms_smscControlParameterHeader, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SmscControlParameterHeader },
10086   {   1, &hf_qsig_sms_concatenated8BitSMHeader, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated8BitSMHeader },
10087   {   2, &hf_qsig_sms_concatenated16BitSMHeader, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated16BitSMHeader },
10088   {   3, &hf_qsig_sms_applicationPort8BitHeader, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort8BitHeader },
10089   {   4, &hf_qsig_sms_applicationPort16BitHeader, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort16BitHeader },
10090   {   5, &hf_qsig_sms_dataHeaderSourceIndicator, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_sms_DataHeaderSourceIndicator },
10091   {   6, &hf_qsig_sms_wirelessControlHeader, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_sms_WirelessControlHeader },
10092   {  99, &hf_qsig_sms_genericUserValue, BER_CLASS_CON, 99, BER_FLAGS_IMPLTAG, dissect_qsig_sms_GenericUserValue },
10093   { 0, NULL, 0, 0, 0, NULL }
10094 };
10095
10096 static int
10097 dissect_qsig_sms_UserDataHeaderChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10098   offset = dissect_ber_choice(actx, tree, tvb, offset,
10099                                  qsig_sms_UserDataHeaderChoice_choice, hf_index, ett_qsig_sms_UserDataHeaderChoice,
10100                                  NULL);
10101
10102   return offset;
10103 }
10104
10105
10106 static const ber_sequence_t qsig_sms_UserDataHeader_sequence_of[1] = {
10107   { &hf_qsig_sms_UserDataHeader_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_UserDataHeaderChoice },
10108 };
10109
10110 static int
10111 dissect_qsig_sms_UserDataHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10112   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10113                                       qsig_sms_UserDataHeader_sequence_of, hf_index, ett_qsig_sms_UserDataHeader);
10114
10115   return offset;
10116 }
10117
10118
10119
10120 static int
10121 dissect_qsig_sms_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_) {
10122   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10123                                                 NULL);
10124
10125   return offset;
10126 }
10127
10128
10129 static const value_string qsig_sms_ShortMessageTextType_vals[] = {
10130   {   0, "iA5Coded" },
10131   {   1, "octetCoded" },
10132   {   2, "uniCoded" },
10133   {   3, "compressedCoded" },
10134   { 0, NULL }
10135 };
10136
10137
10138 static int
10139 dissect_qsig_sms_ShortMessageTextType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10140   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10141                                                 NULL);
10142
10143   return offset;
10144 }
10145
10146
10147
10148 static int
10149 dissect_qsig_sms_ShortMessageTextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10150   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10151                                        NULL);
10152
10153   return offset;
10154 }
10155
10156
10157 static const ber_sequence_t qsig_sms_ShortMessageText_sequence[] = {
10158   { &hf_qsig_sms_shortMessageTextType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextType },
10159   { &hf_qsig_sms_shortMessageTextData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextData },
10160   { NULL, 0, 0, 0, NULL }
10161 };
10162
10163 static int
10164 dissect_qsig_sms_ShortMessageText(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10165   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10166                                    qsig_sms_ShortMessageText_sequence, hf_index, ett_qsig_sms_ShortMessageText);
10167
10168   return offset;
10169 }
10170
10171
10172 static const ber_sequence_t qsig_sms_UserData_sequence[] = {
10173   { &hf_qsig_sms_userDataHeader, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserDataHeader },
10174   { &hf_qsig_sms_class      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_INTEGER_0_3 },
10175   { &hf_qsig_sms_compressed , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10176   { &hf_qsig_sms_shortMessageText, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageText },
10177   { NULL, 0, 0, 0, NULL }
10178 };
10179
10180 static int
10181 dissect_qsig_sms_UserData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10182   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10183                                    qsig_sms_UserData_sequence, hf_index, ett_qsig_sms_UserData);
10184
10185   return offset;
10186 }
10187
10188
10189 static const ber_sequence_t qsig_sms_SEQUENCE_OF_Extension_sequence_of[1] = {
10190   { &hf_qsig_sms_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10191 };
10192
10193 static int
10194 dissect_qsig_sms_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_) {
10195   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10196                                       qsig_sms_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sms_SEQUENCE_OF_Extension);
10197
10198   return offset;
10199 }
10200
10201
10202 static const value_string qsig_sms_SmsExtension_vals[] = {
10203   {   1, "single" },
10204   {   2, "multiple" },
10205   { 0, NULL }
10206 };
10207
10208 static const ber_choice_t qsig_sms_SmsExtension_choice[] = {
10209   {   1, &hf_qsig_sms_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10210   {   2, &hf_qsig_sms_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SEQUENCE_OF_Extension },
10211   { 0, NULL, 0, 0, 0, NULL }
10212 };
10213
10214 static int
10215 dissect_qsig_sms_SmsExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10216   offset = dissect_ber_choice(actx, tree, tvb, offset,
10217                                  qsig_sms_SmsExtension_choice, hf_index, ett_qsig_sms_SmsExtension,
10218                                  NULL);
10219
10220   return offset;
10221 }
10222
10223
10224 static const ber_sequence_t qsig_sms_SmsSubmitArg_sequence[] = {
10225   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10226   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10227   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10228   { &hf_qsig_sms_smSubmitParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmSubmitParameter },
10229   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10230   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10231   { NULL, 0, 0, 0, NULL }
10232 };
10233
10234 static int
10235 dissect_qsig_sms_SmsSubmitArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10236   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10237                                    qsig_sms_SmsSubmitArg_sequence, hf_index, ett_qsig_sms_SmsSubmitArg);
10238
10239   return offset;
10240 }
10241
10242
10243
10244 static int
10245 dissect_qsig_sms_ServiceCentreTimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10246   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10247
10248   return offset;
10249 }
10250
10251
10252 static const ber_sequence_t qsig_sms_SmsSubmitRes_sequence[] = {
10253   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10254   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10255   { &hf_qsig_sms_userData   , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10256   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10257   { NULL, 0, 0, 0, NULL }
10258 };
10259
10260 static int
10261 dissect_qsig_sms_SmsSubmitRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10262   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10263                                    qsig_sms_SmsSubmitRes_sequence, hf_index, ett_qsig_sms_SmsSubmitRes);
10264
10265   return offset;
10266 }
10267
10268
10269 static const ber_sequence_t qsig_sms_SmDeliverParameter_sequence[] = {
10270   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10271   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10272   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10273   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10274   { &hf_qsig_sms_statusReportIndication, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10275   { &hf_qsig_sms_replyPath  , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10276   { NULL, 0, 0, 0, NULL }
10277 };
10278
10279 static int
10280 dissect_qsig_sms_SmDeliverParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10281   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10282                                    qsig_sms_SmDeliverParameter_sequence, hf_index, ett_qsig_sms_SmDeliverParameter);
10283
10284   return offset;
10285 }
10286
10287
10288 static const ber_sequence_t qsig_sms_SmsDeliverArg_sequence[] = {
10289   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10290   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10291   { &hf_qsig_sms_originatingName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
10292   { &hf_qsig_sms_smDeliverParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmDeliverParameter },
10293   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10294   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10295   { NULL, 0, 0, 0, NULL }
10296 };
10297
10298 static int
10299 dissect_qsig_sms_SmsDeliverArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10300   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10301                                    qsig_sms_SmsDeliverArg_sequence, hf_index, ett_qsig_sms_SmsDeliverArg);
10302
10303   return offset;
10304 }
10305
10306
10307
10308 static int
10309 dissect_qsig_sms_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_) {
10310   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10311
10312   return offset;
10313 }
10314
10315
10316 static const ber_sequence_t qsig_sms_ResChoiceSeq_sequence[] = {
10317   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10318   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10319   { NULL, 0, 0, 0, NULL }
10320 };
10321
10322 static int
10323 dissect_qsig_sms_ResChoiceSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10324   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10325                                    qsig_sms_ResChoiceSeq_sequence, hf_index, ett_qsig_sms_ResChoiceSeq);
10326
10327   return offset;
10328 }
10329
10330
10331 static const value_string qsig_sms_SmsDeliverResChoice_vals[] = {
10332   {   0, "null" },
10333   {   1, "protocolIdentifier" },
10334   {   2, "userData" },
10335   {   3, "resChoiceSeq" },
10336   { 0, NULL }
10337 };
10338
10339 static const ber_choice_t qsig_sms_SmsDeliverResChoice_choice[] = {
10340   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10341   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10342   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10343   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10344   { 0, NULL, 0, 0, 0, NULL }
10345 };
10346
10347 static int
10348 dissect_qsig_sms_SmsDeliverResChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10349   offset = dissect_ber_choice(actx, tree, tvb, offset,
10350                                  qsig_sms_SmsDeliverResChoice_choice, hf_index, ett_qsig_sms_SmsDeliverResChoice,
10351                                  NULL);
10352
10353   return offset;
10354 }
10355
10356
10357 static const ber_sequence_t qsig_sms_SmsDeliverRes_sequence[] = {
10358   { &hf_qsig_sms_smsDeliverResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsDeliverResChoice },
10359   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10360   { NULL, 0, 0, 0, NULL }
10361 };
10362
10363 static int
10364 dissect_qsig_sms_SmsDeliverRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10365   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10366                                    qsig_sms_SmsDeliverRes_sequence, hf_index, ett_qsig_sms_SmsDeliverRes);
10367
10368   return offset;
10369 }
10370
10371
10372
10373 static int
10374 dissect_qsig_sms_DischargeTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10375   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10376
10377   return offset;
10378 }
10379
10380
10381
10382 static int
10383 dissect_qsig_sms_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_) {
10384   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10385                                                 NULL);
10386
10387   return offset;
10388 }
10389
10390
10391 static const ber_sequence_t qsig_sms_SmsStatusReportArg_sequence[] = {
10392   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10393   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10394   { &hf_qsig_sms_dischargeTime, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_DischargeTime },
10395   { &hf_qsig_sms_recipientAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10396   { &hf_qsig_sms_recipientName, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
10397   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10398   { &hf_qsig_sms_status     , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_Status },
10399   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10400   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10401   { &hf_qsig_sms_statusReportQualifier, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10402   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10403   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10404   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10405   { NULL, 0, 0, 0, NULL }
10406 };
10407
10408 static int
10409 dissect_qsig_sms_SmsStatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10410   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10411                                    qsig_sms_SmsStatusReportArg_sequence, hf_index, ett_qsig_sms_SmsStatusReportArg);
10412
10413   return offset;
10414 }
10415
10416
10417 static const value_string qsig_sms_SmsStatusReportResponseChoice_vals[] = {
10418   {   0, "null" },
10419   {   1, "protocolIdentifier" },
10420   {   2, "userData" },
10421   {   3, "resChoiceSeq" },
10422   { 0, NULL }
10423 };
10424
10425 static const ber_choice_t qsig_sms_SmsStatusReportResponseChoice_choice[] = {
10426   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10427   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10428   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10429   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10430   { 0, NULL, 0, 0, 0, NULL }
10431 };
10432
10433 static int
10434 dissect_qsig_sms_SmsStatusReportResponseChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10435   offset = dissect_ber_choice(actx, tree, tvb, offset,
10436                                  qsig_sms_SmsStatusReportResponseChoice_choice, hf_index, ett_qsig_sms_SmsStatusReportResponseChoice,
10437                                  NULL);
10438
10439   return offset;
10440 }
10441
10442
10443 static const ber_sequence_t qsig_sms_SmsStatusReportRes_sequence[] = {
10444   { &hf_qsig_sms_smsStatusReportResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsStatusReportResponseChoice },
10445   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10446   { NULL, 0, 0, 0, NULL }
10447 };
10448
10449 static int
10450 dissect_qsig_sms_SmsStatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10451   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10452                                    qsig_sms_SmsStatusReportRes_sequence, hf_index, ett_qsig_sms_SmsStatusReportRes);
10453
10454   return offset;
10455 }
10456
10457
10458 static const value_string qsig_sms_CommandType_vals[] = {
10459   {   0, "enquiry" },
10460   {   1, "cancelSRR" },
10461   {   2, "deletePreviouslySubmittedSM" },
10462   {   3, "enableSRRrelatingToPreviouslySubmittedSM" },
10463   { 0, NULL }
10464 };
10465
10466
10467 static int
10468 dissect_qsig_sms_CommandType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10469   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10470                                                 NULL);
10471
10472   return offset;
10473 }
10474
10475
10476
10477 static int
10478 dissect_qsig_sms_CommandData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10479   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10480                                        NULL);
10481
10482   return offset;
10483 }
10484
10485
10486 static const ber_sequence_t qsig_sms_SmsCommandArg_sequence[] = {
10487   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10488   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10489   { &hf_qsig_sms_messageNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10490   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10491   { &hf_qsig_sms_commandType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandType },
10492   { &hf_qsig_sms_commandData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandData },
10493   { &hf_qsig_sms_statusReportRequest, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_BOOLEAN },
10494   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10495   { NULL, 0, 0, 0, NULL }
10496 };
10497
10498 static int
10499 dissect_qsig_sms_SmsCommandArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10500   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10501                                    qsig_sms_SmsCommandArg_sequence, hf_index, ett_qsig_sms_SmsCommandArg);
10502
10503   return offset;
10504 }
10505
10506
10507 static const ber_sequence_t qsig_sms_SmsCommandRes_sequence[] = {
10508   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10509   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10510   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10511   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10512   { NULL, 0, 0, 0, NULL }
10513 };
10514
10515 static int
10516 dissect_qsig_sms_SmsCommandRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10517   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10518                                    qsig_sms_SmsCommandRes_sequence, hf_index, ett_qsig_sms_SmsCommandRes);
10519
10520   return offset;
10521 }
10522
10523
10524 static const ber_sequence_t qsig_sms_ScAlertArg_sequence[] = {
10525   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10526   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10527   { NULL, 0, 0, 0, NULL }
10528 };
10529
10530 static int
10531 dissect_qsig_sms_ScAlertArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10532   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10533                                    qsig_sms_ScAlertArg_sequence, hf_index, ett_qsig_sms_ScAlertArg);
10534
10535   return offset;
10536 }
10537
10538
10539 static const value_string qsig_sms_DummyRes_vals[] = {
10540   {   0, "null" },
10541   {   1, "smsExtension" },
10542   { 0, NULL }
10543 };
10544
10545 static const ber_choice_t qsig_sms_DummyRes_choice[] = {
10546   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10547   {   1, &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmsExtension },
10548   { 0, NULL, 0, 0, 0, NULL }
10549 };
10550
10551 static int
10552 dissect_qsig_sms_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_) {
10553   offset = dissect_ber_choice(actx, tree, tvb, offset,
10554                                  qsig_sms_DummyRes_choice, hf_index, ett_qsig_sms_DummyRes,
10555                                  NULL);
10556
10557   return offset;
10558 }
10559
10560
10561
10562 static int
10563 dissect_qsig_sms_FailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10564   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10565                                                 NULL);
10566
10567   return offset;
10568 }
10569
10570
10571 static const ber_sequence_t qsig_sms_PAR_smsDeliverError_sequence[] = {
10572   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10573   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10574   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10575   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10576   { NULL, 0, 0, 0, NULL }
10577 };
10578
10579 static int
10580 dissect_qsig_sms_PAR_smsDeliverError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10581   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10582                                    qsig_sms_PAR_smsDeliverError_sequence, hf_index, ett_qsig_sms_PAR_smsDeliverError);
10583
10584   return offset;
10585 }
10586
10587
10588 static const ber_sequence_t qsig_sms_PAR_smsSubmitError_sequence[] = {
10589   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10590   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10591   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10592   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10593   { NULL, 0, 0, 0, NULL }
10594 };
10595
10596 static int
10597 dissect_qsig_sms_PAR_smsSubmitError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10598   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10599                                    qsig_sms_PAR_smsSubmitError_sequence, hf_index, ett_qsig_sms_PAR_smsSubmitError);
10600
10601   return offset;
10602 }
10603
10604
10605 static const ber_sequence_t qsig_sms_PAR_smsStatusReportError_sequence[] = {
10606   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10607   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10608   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10609   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10610   { NULL, 0, 0, 0, NULL }
10611 };
10612
10613 static int
10614 dissect_qsig_sms_PAR_smsStatusReportError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10615   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10616                                    qsig_sms_PAR_smsStatusReportError_sequence, hf_index, ett_qsig_sms_PAR_smsStatusReportError);
10617
10618   return offset;
10619 }
10620
10621
10622 static const ber_sequence_t qsig_sms_PAR_smsCommandError_sequence[] = {
10623   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10624   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10625   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10626   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10627   { NULL, 0, 0, 0, NULL }
10628 };
10629
10630 static int
10631 dissect_qsig_sms_PAR_smsCommandError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10632   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10633                                    qsig_sms_PAR_smsCommandError_sequence, hf_index, ett_qsig_sms_PAR_smsCommandError);
10634
10635   return offset;
10636 }
10637
10638 /*--- PDUs ---*/
10639
10640 static int dissect_qsig_sms_SmsSubmitArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10641   int offset = 0;
10642   asn1_ctx_t asn1_ctx;
10643   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10644   offset = dissect_qsig_sms_SmsSubmitArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU);
10645   return offset;
10646 }
10647 static int dissect_qsig_sms_SmsSubmitRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10648   int offset = 0;
10649   asn1_ctx_t asn1_ctx;
10650   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10651   offset = dissect_qsig_sms_SmsSubmitRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU);
10652   return offset;
10653 }
10654 static int dissect_qsig_sms_SmsDeliverArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10655   int offset = 0;
10656   asn1_ctx_t asn1_ctx;
10657   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10658   offset = dissect_qsig_sms_SmsDeliverArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU);
10659   return offset;
10660 }
10661 static int dissect_qsig_sms_SmsDeliverRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10662   int offset = 0;
10663   asn1_ctx_t asn1_ctx;
10664   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10665   offset = dissect_qsig_sms_SmsDeliverRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU);
10666   return offset;
10667 }
10668 static int dissect_qsig_sms_SmsStatusReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10669   int offset = 0;
10670   asn1_ctx_t asn1_ctx;
10671   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10672   offset = dissect_qsig_sms_SmsStatusReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU);
10673   return offset;
10674 }
10675 static int dissect_qsig_sms_SmsStatusReportRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10676   int offset = 0;
10677   asn1_ctx_t asn1_ctx;
10678   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10679   offset = dissect_qsig_sms_SmsStatusReportRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU);
10680   return offset;
10681 }
10682 static int dissect_qsig_sms_SmsCommandArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10683   int offset = 0;
10684   asn1_ctx_t asn1_ctx;
10685   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10686   offset = dissect_qsig_sms_SmsCommandArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandArg_PDU);
10687   return offset;
10688 }
10689 static int dissect_qsig_sms_SmsCommandRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10690   int offset = 0;
10691   asn1_ctx_t asn1_ctx;
10692   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10693   offset = dissect_qsig_sms_SmsCommandRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandRes_PDU);
10694   return offset;
10695 }
10696 static int dissect_qsig_sms_ScAlertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10697   int offset = 0;
10698   asn1_ctx_t asn1_ctx;
10699   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10700   offset = dissect_qsig_sms_ScAlertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_ScAlertArg_PDU);
10701   return offset;
10702 }
10703 static int dissect_qsig_sms_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10704   int offset = 0;
10705   asn1_ctx_t asn1_ctx;
10706   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10707   offset = dissect_qsig_sms_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_DummyRes_PDU);
10708   return offset;
10709 }
10710 static int dissect_qsig_sms_PAR_smsDeliverError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10711   int offset = 0;
10712   asn1_ctx_t asn1_ctx;
10713   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10714   offset = dissect_qsig_sms_PAR_smsDeliverError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU);
10715   return offset;
10716 }
10717 static int dissect_qsig_sms_PAR_smsSubmitError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10718   int offset = 0;
10719   asn1_ctx_t asn1_ctx;
10720   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10721   offset = dissect_qsig_sms_PAR_smsSubmitError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU);
10722   return offset;
10723 }
10724 static int dissect_qsig_sms_PAR_smsStatusReportError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10725   int offset = 0;
10726   asn1_ctx_t asn1_ctx;
10727   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10728   offset = dissect_qsig_sms_PAR_smsStatusReportError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU);
10729   return offset;
10730 }
10731 static int dissect_qsig_sms_PAR_smsCommandError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10732   int offset = 0;
10733   asn1_ctx_t asn1_ctx;
10734   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10735   offset = dissect_qsig_sms_PAR_smsCommandError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU);
10736   return offset;
10737 }
10738 static int dissect_qsig_sms_SmsExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10739   int offset = 0;
10740   asn1_ctx_t asn1_ctx;
10741   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10742   offset = dissect_qsig_sms_SmsExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsExtension_PDU);
10743   return offset;
10744 }
10745
10746
10747 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
10748
10749
10750
10751 static int
10752 dissect_qsig_mcr_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_) {
10753   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10754
10755   return offset;
10756 }
10757
10758
10759 static const value_string qsig_mcr_CallType_vals[] = {
10760   {   0, "basicService" },
10761   {   1, "cisc" },
10762   { 0, NULL }
10763 };
10764
10765 static const ber_choice_t qsig_mcr_CallType_choice[] = {
10766   {   0, &hf_qsig_mcr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
10767   {   1, &hf_qsig_mcr_cisc       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10768   { 0, NULL, 0, 0, 0, NULL }
10769 };
10770
10771 static int
10772 dissect_qsig_mcr_CallType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10773   offset = dissect_ber_choice(actx, tree, tvb, offset,
10774                                  qsig_mcr_CallType_choice, hf_index, ett_qsig_mcr_CallType,
10775                                  NULL);
10776
10777   return offset;
10778 }
10779
10780
10781
10782 static int
10783 dissect_qsig_mcr_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_) {
10784   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
10785
10786   return offset;
10787 }
10788
10789
10790 static const value_string qsig_mcr_CorrelationReason_vals[] = {
10791   {   0, "unknown" },
10792   {   1, "mCACommunication" },
10793   {   2, "cTIApplication" },
10794   { 0, NULL }
10795 };
10796
10797
10798 static int
10799 dissect_qsig_mcr_CorrelationReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10800   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10801                                                 NULL);
10802
10803   return offset;
10804 }
10805
10806
10807 static const ber_sequence_t qsig_mcr_Correlation_sequence[] = {
10808   { &hf_qsig_mcr_correlationData, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
10809   { &hf_qsig_mcr_correlationReason, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_CorrelationReason },
10810   { NULL, 0, 0, 0, NULL }
10811 };
10812
10813 static int
10814 dissect_qsig_mcr_Correlation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10815   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10816                                    qsig_mcr_Correlation_sequence, hf_index, ett_qsig_mcr_Correlation);
10817
10818   return offset;
10819 }
10820
10821
10822 static const ber_sequence_t qsig_mcr_SEQUENCE_OF_Extension_sequence_of[1] = {
10823   { &hf_qsig_mcr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10824 };
10825
10826 static int
10827 dissect_qsig_mcr_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_) {
10828   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10829                                       qsig_mcr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcr_SEQUENCE_OF_Extension);
10830
10831   return offset;
10832 }
10833
10834
10835 static const value_string qsig_mcr_MCRExtensions_vals[] = {
10836   {   0, "none" },
10837   {   1, "single" },
10838   {   2, "multiple" },
10839   { 0, NULL }
10840 };
10841
10842 static const ber_choice_t qsig_mcr_MCRExtensions_choice[] = {
10843   {   0, &hf_qsig_mcr_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10844   {   1, &hf_qsig_mcr_single     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10845   {   2, &hf_qsig_mcr_multiple   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcr_SEQUENCE_OF_Extension },
10846   { 0, NULL, 0, 0, 0, NULL }
10847 };
10848
10849 static int
10850 dissect_qsig_mcr_MCRExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10851   offset = dissect_ber_choice(actx, tree, tvb, offset,
10852                                  qsig_mcr_MCRExtensions_choice, hf_index, ett_qsig_mcr_MCRExtensions,
10853                                  NULL);
10854
10855   return offset;
10856 }
10857
10858
10859 static const ber_sequence_t qsig_mcr_MCRequestArg_sequence[] = {
10860   { &hf_qsig_mcr_callType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_CallType },
10861   { &hf_qsig_mcr_retainOrigCall, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_BOOLEAN },
10862   { &hf_qsig_mcr_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
10863   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10864   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10865   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10866   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10867   { NULL, 0, 0, 0, NULL }
10868 };
10869
10870 static int
10871 dissect_qsig_mcr_MCRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10872   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10873                                    qsig_mcr_MCRequestArg_sequence, hf_index, ett_qsig_mcr_MCRequestArg);
10874
10875   return offset;
10876 }
10877
10878
10879 static const ber_sequence_t qsig_mcr_MCRequestResult_sequence[] = {
10880   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10881   { NULL, 0, 0, 0, NULL }
10882 };
10883
10884 static int
10885 dissect_qsig_mcr_MCRequestResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10886   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10887                                    qsig_mcr_MCRequestResult_sequence, hf_index, ett_qsig_mcr_MCRequestResult);
10888
10889   return offset;
10890 }
10891
10892
10893 static const ber_sequence_t qsig_mcr_MCInformArg_sequence[] = {
10894   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10895   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10896   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10897   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10898   { NULL, 0, 0, 0, NULL }
10899 };
10900
10901 static int
10902 dissect_qsig_mcr_MCInformArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10903   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10904                                    qsig_mcr_MCInformArg_sequence, hf_index, ett_qsig_mcr_MCInformArg);
10905
10906   return offset;
10907 }
10908
10909
10910 static const ber_sequence_t qsig_mcr_MCAlertingArg_sequence[] = {
10911   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10912   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10913   { NULL, 0, 0, 0, NULL }
10914 };
10915
10916 static int
10917 dissect_qsig_mcr_MCAlertingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10918   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10919                                    qsig_mcr_MCAlertingArg_sequence, hf_index, ett_qsig_mcr_MCAlertingArg);
10920
10921   return offset;
10922 }
10923
10924 /*--- PDUs ---*/
10925
10926 static int dissect_qsig_mcr_MCRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10927   int offset = 0;
10928   asn1_ctx_t asn1_ctx;
10929   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10930   offset = dissect_qsig_mcr_MCRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU);
10931   return offset;
10932 }
10933 static int dissect_qsig_mcr_MCRequestResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10934   int offset = 0;
10935   asn1_ctx_t asn1_ctx;
10936   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10937   offset = dissect_qsig_mcr_MCRequestResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU);
10938   return offset;
10939 }
10940 static int dissect_qsig_mcr_MCInformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10941   int offset = 0;
10942   asn1_ctx_t asn1_ctx;
10943   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10944   offset = dissect_qsig_mcr_MCInformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCInformArg_PDU);
10945   return offset;
10946 }
10947 static int dissect_qsig_mcr_MCAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10948   int offset = 0;
10949   asn1_ctx_t asn1_ctx;
10950   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10951   offset = dissect_qsig_mcr_MCAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU);
10952   return offset;
10953 }
10954 static int dissect_qsig_mcr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10955   int offset = 0;
10956   asn1_ctx_t asn1_ctx;
10957   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10958   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_Extension_PDU);
10959   return offset;
10960 }
10961
10962
10963 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
10964
10965
10966
10967 static int
10968 dissect_qsig_mcm_INTEGER_0_65535(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10969   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10970                                                 NULL);
10971
10972   return offset;
10973 }
10974
10975
10976
10977 static int
10978 dissect_qsig_mcm_NumericString_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_) {
10979   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
10980                                             actx, tree, tvb, offset, hf_index,
10981                                             NULL);
10982
10983   return offset;
10984 }
10985
10986
10987 static const value_string qsig_mcm_MsgCentreId_vals[] = {
10988   {   0, "integer" },
10989   {   1, "partyNumber" },
10990   {   2, "numericString" },
10991   { 0, NULL }
10992 };
10993
10994 static const ber_choice_t qsig_mcm_MsgCentreId_choice[] = {
10995   {   0, &hf_qsig_mcm_integer    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_65535 },
10996   {   1, &hf_qsig_mcm_partyNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PartyNumber },
10997   {   2, &hf_qsig_mcm_numericString, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NumericString_SIZE_1_10 },
10998   { 0, NULL, 0, 0, 0, NULL }
10999 };
11000
11001 static int
11002 dissect_qsig_mcm_MsgCentreId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11003   offset = dissect_ber_choice(actx, tree, tvb, offset,
11004                                  qsig_mcm_MsgCentreId_choice, hf_index, ett_qsig_mcm_MsgCentreId,
11005                                  NULL);
11006
11007   return offset;
11008 }
11009
11010
11011 static const ber_sequence_t qsig_mcm_PartyInfo_sequence[] = {
11012   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11013   { &hf_qsig_mcm_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11014   { NULL, 0, 0, 0, NULL }
11015 };
11016
11017 static int
11018 dissect_qsig_mcm_PartyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11019   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11020                                    qsig_mcm_PartyInfo_sequence, hf_index, ett_qsig_mcm_PartyInfo);
11021
11022   return offset;
11023 }
11024
11025
11026 static const value_string qsig_mcm_MessageType_vals[] = {
11027   {   0, "allServices" },
11028   {   1, "speech" },
11029   {   2, "unrestrictedDigitalInformation" },
11030   {   3, "audio3100Hz" },
11031   {  32, "telephony" },
11032   {  33, "teletex" },
11033   {  34, "telefaxGroup4Class1" },
11034   {  35, "videotextSyntaxBased" },
11035   {  36, "videotelephony" },
11036   {  37, "telefaxGroup2-3" },
11037   {  38, "reservedNotUsed1" },
11038   {  39, "reservedNotUsed2" },
11039   {  40, "reservedNotUsed3" },
11040   {  41, "reservedNotUsed4" },
11041   {  42, "reservedNotUsed5" },
11042   {  51, "email" },
11043   {  52, "video" },
11044   {  53, "fileTransfer" },
11045   {  54, "shortMessageService" },
11046   {  55, "speechAndVideo" },
11047   {  56, "speechAndFax" },
11048   {  57, "speechAndEmail" },
11049   {  58, "videoAndFax" },
11050   {  59, "videoAndEmail" },
11051   {  60, "faxAndEmail" },
11052   {  61, "speechVideoAndFax" },
11053   {  62, "speechVideoAndEmail" },
11054   {  63, "speechFaxAndEmail" },
11055   {  64, "videoFaxAndEmail" },
11056   {  65, "speechVideoFaxAndEmail" },
11057   {  66, "multimediaUnknown" },
11058   {  67, "serviceUnknown" },
11059   {  68, "futureReserve1" },
11060   {  69, "futureReserve2" },
11061   {  70, "futureReserve3" },
11062   {  71, "futureReserve4" },
11063   {  72, "futureReserve5" },
11064   {  73, "futureReserve6" },
11065   {  74, "futureReserve7" },
11066   {  75, "futureReserve8" },
11067   { 0, NULL }
11068 };
11069
11070
11071 static int
11072 dissect_qsig_mcm_MessageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11073   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11074                                   NULL);
11075
11076   return offset;
11077 }
11078
11079
11080
11081 static int
11082 dissect_qsig_mcm_INTEGER_0_100(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11083   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11084                                                 NULL);
11085
11086   return offset;
11087 }
11088
11089
11090 static const ber_sequence_t qsig_mcm_MailboxFullPar_sequence[] = {
11091   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11092   { &hf_qsig_mcm_capacityReached, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_INTEGER_0_100 },
11093   { NULL, 0, 0, 0, NULL }
11094 };
11095
11096 static int
11097 dissect_qsig_mcm_MailboxFullPar(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11098   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11099                                    qsig_mcm_MailboxFullPar_sequence, hf_index, ett_qsig_mcm_MailboxFullPar);
11100
11101   return offset;
11102 }
11103
11104
11105 static const ber_sequence_t qsig_mcm_MailboxFullFor_sequence_of[1] = {
11106   { &hf_qsig_mcm_MailboxFullFor_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullPar },
11107 };
11108
11109 static int
11110 dissect_qsig_mcm_MailboxFullFor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11111   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11112                                       qsig_mcm_MailboxFullFor_sequence_of, hf_index, ett_qsig_mcm_MailboxFullFor);
11113
11114   return offset;
11115 }
11116
11117
11118
11119 static int
11120 dissect_qsig_mcm_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_) {
11121   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11122
11123   return offset;
11124 }
11125
11126
11127 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_Extension_sequence_of[1] = {
11128   { &hf_qsig_mcm_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11129 };
11130
11131 static int
11132 dissect_qsig_mcm_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_) {
11133   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11134                                       qsig_mcm_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_Extension);
11135
11136   return offset;
11137 }
11138
11139
11140 static const value_string qsig_mcm_MCMExtensions_vals[] = {
11141   {   0, "none" },
11142   {   1, "extension" },
11143   {   2, "multipleExtension" },
11144   { 0, NULL }
11145 };
11146
11147 static const ber_choice_t qsig_mcm_MCMExtensions_choice[] = {
11148   {   0, &hf_qsig_mcm_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11149   {   1, &hf_qsig_mcm_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11150   {   2, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11151   { 0, NULL, 0, 0, 0, NULL }
11152 };
11153
11154 static int
11155 dissect_qsig_mcm_MCMExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11156   offset = dissect_ber_choice(actx, tree, tvb, offset,
11157                                  qsig_mcm_MCMExtensions_choice, hf_index, ett_qsig_mcm_MCMExtensions,
11158                                  NULL);
11159
11160   return offset;
11161 }
11162
11163
11164 static const ber_sequence_t qsig_mcm_MCMailboxFullArg_sequence[] = {
11165   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11166   { &hf_qsig_mcm_mailboxFullFor, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullFor },
11167   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11168   { NULL, 0, 0, 0, NULL }
11169 };
11170
11171 static int
11172 dissect_qsig_mcm_MCMailboxFullArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11173   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11174                                    qsig_mcm_MCMailboxFullArg_sequence, hf_index, ett_qsig_mcm_MCMailboxFullArg);
11175
11176   return offset;
11177 }
11178
11179
11180 static const value_string qsig_mcm_MCMMode_vals[] = {
11181   {   0, "compressed" },
11182   {   1, "complete" },
11183   { 0, NULL }
11184 };
11185
11186
11187 static int
11188 dissect_qsig_mcm_MCMMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11189   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11190                                                 NULL);
11191
11192   return offset;
11193 }
11194
11195
11196 static const ber_sequence_t qsig_mcm_MCMServiceInfo_sequence[] = {
11197   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11198   { &hf_qsig_mcm_mCMModeNew , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11199   { &hf_qsig_mcm_mCMModeRetrieved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11200   { NULL, 0, 0, 0, NULL }
11201 };
11202
11203 static int
11204 dissect_qsig_mcm_MCMServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11205   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11206                                    qsig_mcm_MCMServiceInfo_sequence, hf_index, ett_qsig_mcm_MCMServiceInfo);
11207
11208   return offset;
11209 }
11210
11211
11212 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of[1] = {
11213   { &hf_qsig_mcm_activateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMServiceInfo },
11214 };
11215
11216 static int
11217 dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11218   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11219                                       qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo);
11220
11221   return offset;
11222 }
11223
11224
11225 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MessageType_sequence_of[1] = {
11226   { &hf_qsig_mcm_deactivateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11227 };
11228
11229 static int
11230 dissect_qsig_mcm_SEQUENCE_OF_MessageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11231   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11232                                       qsig_mcm_SEQUENCE_OF_MessageType_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MessageType);
11233
11234   return offset;
11235 }
11236
11237
11238 static const value_string qsig_mcm_MCMChange_vals[] = {
11239   {   0, "activateMCM" },
11240   {   1, "deactivateMCM" },
11241   {   2, "setToDefaultValues" },
11242   { 0, NULL }
11243 };
11244
11245 static const ber_choice_t qsig_mcm_MCMChange_choice[] = {
11246   {   0, &hf_qsig_mcm_activateMCM, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11247   {   1, &hf_qsig_mcm_deactivateMCM, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11248   {   2, &hf_qsig_mcm_setToDefaultValues, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11249   { 0, NULL, 0, 0, 0, NULL }
11250 };
11251
11252 static int
11253 dissect_qsig_mcm_MCMChange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11254   offset = dissect_ber_choice(actx, tree, tvb, offset,
11255                                  qsig_mcm_MCMChange_choice, hf_index, ett_qsig_mcm_MCMChange,
11256                                  NULL);
11257
11258   return offset;
11259 }
11260
11261
11262 static const ber_sequence_t qsig_mcm_MCMServiceArg_sequence[] = {
11263   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11264   { &hf_qsig_mcm_mCMChange  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMChange },
11265   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11266   { NULL, 0, 0, 0, NULL }
11267 };
11268
11269 static int
11270 dissect_qsig_mcm_MCMServiceArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11271   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11272                                    qsig_mcm_MCMServiceArg_sequence, hf_index, ett_qsig_mcm_MCMServiceArg);
11273
11274   return offset;
11275 }
11276
11277
11278 static const ber_sequence_t qsig_mcm_MCMInterrogateArg_sequence[] = {
11279   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11280   { &hf_qsig_mcm_interrogateInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11281   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11282   { NULL, 0, 0, 0, NULL }
11283 };
11284
11285 static int
11286 dissect_qsig_mcm_MCMInterrogateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11287   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11288                                    qsig_mcm_MCMInterrogateArg_sequence, hf_index, ett_qsig_mcm_MCMInterrogateArg);
11289
11290   return offset;
11291 }
11292
11293
11294 static const ber_sequence_t qsig_mcm_MCMInterrogateRes_sequence[] = {
11295   { &hf_qsig_mcm_interrogateResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11296   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11297   { NULL, 0, 0, 0, NULL }
11298 };
11299
11300 static int
11301 dissect_qsig_mcm_MCMInterrogateRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11302   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11303                                    qsig_mcm_MCMInterrogateRes_sequence, hf_index, ett_qsig_mcm_MCMInterrogateRes);
11304
11305   return offset;
11306 }
11307
11308
11309
11310 static int
11311 dissect_qsig_mcm_NrOfMessages(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11312   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11313                                                 NULL);
11314
11315   return offset;
11316 }
11317
11318
11319
11320 static int
11321 dissect_qsig_mcm_TimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11322   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
11323
11324   return offset;
11325 }
11326
11327
11328
11329 static int
11330 dissect_qsig_mcm_INTEGER_0_9(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11331   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11332                                                 NULL);
11333
11334   return offset;
11335 }
11336
11337
11338 static const value_string qsig_mcm_MCMNewArgumentExt_vals[] = {
11339   {   6, "extension" },
11340   {   7, "multipleExtension" },
11341   { 0, NULL }
11342 };
11343
11344 static const ber_choice_t qsig_mcm_MCMNewArgumentExt_choice[] = {
11345   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11346   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11347   { 0, NULL, 0, 0, 0, NULL }
11348 };
11349
11350 static int
11351 dissect_qsig_mcm_MCMNewArgumentExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11352   offset = dissect_ber_choice(actx, tree, tvb, offset,
11353                                  qsig_mcm_MCMNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNewArgumentExt,
11354                                  NULL);
11355
11356   return offset;
11357 }
11358
11359
11360 static const ber_sequence_t qsig_mcm_MCMNewMsgArg_sequence[] = {
11361   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11362   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11363   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11364   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11365   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11366   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11367   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11368   { &hf_qsig_mcm_argumentExtMCMNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNewArgumentExt },
11369   { NULL, 0, 0, 0, NULL }
11370 };
11371
11372 static int
11373 dissect_qsig_mcm_MCMNewMsgArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11374   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11375                                    qsig_mcm_MCMNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNewMsgArg);
11376
11377   return offset;
11378 }
11379
11380
11381 static const value_string qsig_mcm_MCMNoNewArgumentExt_vals[] = {
11382   {   3, "extension" },
11383   {   4, "multipleExtension" },
11384   { 0, NULL }
11385 };
11386
11387 static const ber_choice_t qsig_mcm_MCMNoNewArgumentExt_choice[] = {
11388   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11389   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11390   { 0, NULL, 0, 0, 0, NULL }
11391 };
11392
11393 static int
11394 dissect_qsig_mcm_MCMNoNewArgumentExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11395   offset = dissect_ber_choice(actx, tree, tvb, offset,
11396                                  qsig_mcm_MCMNoNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNoNewArgumentExt,
11397                                  NULL);
11398
11399   return offset;
11400 }
11401
11402
11403 static const ber_sequence_t qsig_mcm_MCMNoNewMsgArg_sequence[] = {
11404   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11405   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11406   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11407   { &hf_qsig_mcm_argumentExtMCMNoNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNoNewArgumentExt },
11408   { NULL, 0, 0, 0, NULL }
11409 };
11410
11411 static int
11412 dissect_qsig_mcm_MCMNoNewMsgArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11413   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11414                                    qsig_mcm_MCMNoNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNoNewMsgArg);
11415
11416   return offset;
11417 }
11418
11419
11420
11421 static int
11422 dissect_qsig_mcm_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11423   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11424                                                 NULL);
11425
11426   return offset;
11427 }
11428
11429
11430 static const ber_sequence_t qsig_mcm_AddressHeader_sequence[] = {
11431   { &hf_qsig_mcm_originatorNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11432   { &hf_qsig_mcm_timeStamp  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_TimeStamp },
11433   { &hf_qsig_mcm_ahpriority , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_Priority },
11434   { NULL, 0, 0, 0, NULL }
11435 };
11436
11437 static int
11438 dissect_qsig_mcm_AddressHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11439   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11440                                    qsig_mcm_AddressHeader_sequence, hf_index, ett_qsig_mcm_AddressHeader);
11441
11442   return offset;
11443 }
11444
11445
11446 static const ber_sequence_t qsig_mcm_CompleteInfo_sequence_of[1] = {
11447   { &hf_qsig_mcm_CompleteInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AddressHeader },
11448 };
11449
11450 static int
11451 dissect_qsig_mcm_CompleteInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11452   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11453                                       qsig_mcm_CompleteInfo_sequence_of, hf_index, ett_qsig_mcm_CompleteInfo);
11454
11455   return offset;
11456 }
11457
11458
11459 static const ber_sequence_t qsig_mcm_CompressedInfo_sequence[] = {
11460   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NrOfMessages },
11461   { &hf_qsig_mcm_lastTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11462   { &hf_qsig_mcm_highestPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_Priority },
11463   { NULL, 0, 0, 0, NULL }
11464 };
11465
11466 static int
11467 dissect_qsig_mcm_CompressedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11468   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11469                                    qsig_mcm_CompressedInfo_sequence, hf_index, ett_qsig_mcm_CompressedInfo);
11470
11471   return offset;
11472 }
11473
11474
11475 static const value_string qsig_mcm_MessageInfo_vals[] = {
11476   {   0, "completeInfo" },
11477   {   1, "compressedInfo" },
11478   {   2, "noMsgsOfMsgType" },
11479   { 0, NULL }
11480 };
11481
11482 static const ber_choice_t qsig_mcm_MessageInfo_choice[] = {
11483   {   0, &hf_qsig_mcm_completeInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompleteInfo },
11484   {   1, &hf_qsig_mcm_compressedInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompressedInfo },
11485   {   2, &hf_qsig_mcm_noMsgsOfMsgType, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11486   { 0, NULL, 0, 0, 0, NULL }
11487 };
11488
11489 static int
11490 dissect_qsig_mcm_MessageInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11491   offset = dissect_ber_choice(actx, tree, tvb, offset,
11492                                  qsig_mcm_MessageInfo_choice, hf_index, ett_qsig_mcm_MessageInfo,
11493                                  NULL);
11494
11495   return offset;
11496 }
11497
11498
11499 static const ber_sequence_t qsig_mcm_AllMsgInfo_sequence[] = {
11500   { &hf_qsig_mcm_newMsgInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11501   { &hf_qsig_mcm_retrievedMsgInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11502   { NULL, 0, 0, 0, NULL }
11503 };
11504
11505 static int
11506 dissect_qsig_mcm_AllMsgInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11507   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11508                                    qsig_mcm_AllMsgInfo_sequence, hf_index, ett_qsig_mcm_AllMsgInfo);
11509
11510   return offset;
11511 }
11512
11513
11514 static const value_string qsig_mcm_UpdateInfo_vals[] = {
11515   {   0, "newMsgInfoOnly" },
11516   {   1, "retrievedMsgInfoOnly" },
11517   {   2, "allMsgInfo" },
11518   { 0, NULL }
11519 };
11520
11521 static const ber_choice_t qsig_mcm_UpdateInfo_choice[] = {
11522   {   0, &hf_qsig_mcm_newMsgInfoOnly, BER_CLASS_CON, 1, 0, dissect_qsig_mcm_MessageInfo },
11523   {   1, &hf_qsig_mcm_retrievedMsgInfoOnly, BER_CLASS_CON, 2, 0, dissect_qsig_mcm_MessageInfo },
11524   {   2, &hf_qsig_mcm_allMsgInfo , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AllMsgInfo },
11525   { 0, NULL, 0, 0, 0, NULL }
11526 };
11527
11528 static int
11529 dissect_qsig_mcm_UpdateInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11530   offset = dissect_ber_choice(actx, tree, tvb, offset,
11531                                  qsig_mcm_UpdateInfo_choice, hf_index, ett_qsig_mcm_UpdateInfo,
11532                                  NULL);
11533
11534   return offset;
11535 }
11536
11537
11538
11539 static int
11540 dissect_qsig_mcm_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_) {
11541   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
11542
11543   return offset;
11544 }
11545
11546
11547 static const ber_sequence_t qsig_mcm_MCMUpdateArg_sequence[] = {
11548   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11549   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11550   { &hf_qsig_mcm_updateInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_UpdateInfo },
11551   { &hf_qsig_mcm_moreInfoFollows, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_BOOLEAN },
11552   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11553   { NULL, 0, 0, 0, NULL }
11554 };
11555
11556 static int
11557 dissect_qsig_mcm_MCMUpdateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11558   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11559                                    qsig_mcm_MCMUpdateArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateArg);
11560
11561   return offset;
11562 }
11563
11564
11565 static const value_string qsig_mcm_MCMUpdArgArgumentExt_vals[] = {
11566   {   3, "extension" },
11567   {   4, "multipleExtension" },
11568   { 0, NULL }
11569 };
11570
11571 static const ber_choice_t qsig_mcm_MCMUpdArgArgumentExt_choice[] = {
11572   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11573   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11574   { 0, NULL, 0, 0, 0, NULL }
11575 };
11576
11577 static int
11578 dissect_qsig_mcm_MCMUpdArgArgumentExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11579   offset = dissect_ber_choice(actx, tree, tvb, offset,
11580                                  qsig_mcm_MCMUpdArgArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdArgArgumentExt,
11581                                  NULL);
11582
11583   return offset;
11584 }
11585
11586
11587 static const ber_sequence_t qsig_mcm_MCMUpdateReqArg_sequence[] = {
11588   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11589   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11590   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11591   { &hf_qsig_mcm_argumentExtMCMUpdArg, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdArgArgumentExt },
11592   { NULL, 0, 0, 0, NULL }
11593 };
11594
11595 static int
11596 dissect_qsig_mcm_MCMUpdateReqArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11597   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11598                                    qsig_mcm_MCMUpdateReqArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqArg);
11599
11600   return offset;
11601 }
11602
11603
11604 static const value_string qsig_mcm_MCMUpdResArgumentExt_vals[] = {
11605   {   6, "extension" },
11606   {   7, "multipleExtension" },
11607   { 0, NULL }
11608 };
11609
11610 static const ber_choice_t qsig_mcm_MCMUpdResArgumentExt_choice[] = {
11611   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11612   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11613   { 0, NULL, 0, 0, 0, NULL }
11614 };
11615
11616 static int
11617 dissect_qsig_mcm_MCMUpdResArgumentExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11618   offset = dissect_ber_choice(actx, tree, tvb, offset,
11619                                  qsig_mcm_MCMUpdResArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdResArgumentExt,
11620                                  NULL);
11621
11622   return offset;
11623 }
11624
11625
11626 static const ber_sequence_t qsig_mcm_MCMUpdateReqResElt_sequence[] = {
11627   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11628   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11629   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11630   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11631   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11632   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11633   { &hf_qsig_mcm_argumentExtMCMUpdRes, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdResArgumentExt },
11634   { NULL, 0, 0, 0, NULL }
11635 };
11636
11637 static int
11638 dissect_qsig_mcm_MCMUpdateReqResElt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11639   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11640                                    qsig_mcm_MCMUpdateReqResElt_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqResElt);
11641
11642   return offset;
11643 }
11644
11645
11646 static const ber_sequence_t qsig_mcm_MCMUpdateReqRes_sequence_of[1] = {
11647   { &hf_qsig_mcm_MCMUpdateReqRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMUpdateReqResElt },
11648 };
11649
11650 static int
11651 dissect_qsig_mcm_MCMUpdateReqRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11652   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11653                                       qsig_mcm_MCMUpdateReqRes_sequence_of, hf_index, ett_qsig_mcm_MCMUpdateReqRes);
11654
11655   return offset;
11656 }
11657
11658
11659
11660 static int
11661 dissect_qsig_mcm_MCMDummyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11662   offset = dissect_qsig_mcm_MCMExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11663
11664   return offset;
11665 }
11666
11667 /*--- PDUs ---*/
11668
11669 static int dissect_qsig_mcm_MCMNewMsgArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11670   int offset = 0;
11671   asn1_ctx_t asn1_ctx;
11672   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11673   offset = dissect_qsig_mcm_MCMNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU);
11674   return offset;
11675 }
11676 static int dissect_qsig_mcm_MCMDummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11677   int offset = 0;
11678   asn1_ctx_t asn1_ctx;
11679   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11680   offset = dissect_qsig_mcm_MCMDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU);
11681   return offset;
11682 }
11683 static int dissect_qsig_mcm_MCMNoNewMsgArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11684   int offset = 0;
11685   asn1_ctx_t asn1_ctx;
11686   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11687   offset = dissect_qsig_mcm_MCMNoNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU);
11688   return offset;
11689 }
11690 static int dissect_qsig_mcm_MCMUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11691   int offset = 0;
11692   asn1_ctx_t asn1_ctx;
11693   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11694   offset = dissect_qsig_mcm_MCMUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU);
11695   return offset;
11696 }
11697 static int dissect_qsig_mcm_MCMUpdateReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11698   int offset = 0;
11699   asn1_ctx_t asn1_ctx;
11700   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11701   offset = dissect_qsig_mcm_MCMUpdateReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU);
11702   return offset;
11703 }
11704 static int dissect_qsig_mcm_MCMUpdateReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11705   int offset = 0;
11706   asn1_ctx_t asn1_ctx;
11707   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11708   offset = dissect_qsig_mcm_MCMUpdateReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU);
11709   return offset;
11710 }
11711 static int dissect_qsig_mcm_MCMServiceArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11712   int offset = 0;
11713   asn1_ctx_t asn1_ctx;
11714   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11715   offset = dissect_qsig_mcm_MCMServiceArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU);
11716   return offset;
11717 }
11718 static int dissect_qsig_mcm_MCMInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11719   int offset = 0;
11720   asn1_ctx_t asn1_ctx;
11721   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11722   offset = dissect_qsig_mcm_MCMInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU);
11723   return offset;
11724 }
11725 static int dissect_qsig_mcm_MCMInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11726   int offset = 0;
11727   asn1_ctx_t asn1_ctx;
11728   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11729   offset = dissect_qsig_mcm_MCMInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU);
11730   return offset;
11731 }
11732 static int dissect_qsig_mcm_MCMailboxFullArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11733   int offset = 0;
11734   asn1_ctx_t asn1_ctx;
11735   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11736   offset = dissect_qsig_mcm_MCMailboxFullArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU);
11737   return offset;
11738 }
11739 static int dissect_qsig_mcm_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11740   int offset = 0;
11741   asn1_ctx_t asn1_ctx;
11742   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11743   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_Extension_PDU);
11744   return offset;
11745 }
11746
11747
11748 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
11749
11750
11751 static const ber_sequence_t qsig_mid_PartyInfo_sequence[] = {
11752   { &hf_qsig_mid_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
11753   { &hf_qsig_mid_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11754   { &hf_qsig_mid_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MsgCentreId },
11755   { NULL, 0, 0, 0, NULL }
11756 };
11757
11758 static int
11759 dissect_qsig_mid_PartyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11760   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11761                                    qsig_mid_PartyInfo_sequence, hf_index, ett_qsig_mid_PartyInfo);
11762
11763   return offset;
11764 }
11765
11766
11767
11768 static int
11769 dissect_qsig_mid_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11770   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
11771                                             actx, tree, tvb, offset, hf_index,
11772                                             NULL);
11773
11774   return offset;
11775 }
11776
11777
11778
11779 static int
11780 dissect_qsig_mid_UTF8String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11781   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
11782                                             actx, tree, tvb, offset, hf_index,
11783                                             NULL);
11784
11785   return offset;
11786 }
11787
11788
11789 static const value_string qsig_mid_String_vals[] = {
11790   {   0, "stringBmp" },
11791   {   1, "stringUtf8" },
11792   { 0, NULL }
11793 };
11794
11795 static const ber_choice_t qsig_mid_String_choice[] = {
11796   {   0, &hf_qsig_mid_stringBmp  , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_BMPString },
11797   {   1, &hf_qsig_mid_stringUtf8 , BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_UTF8String },
11798   { 0, NULL, 0, 0, 0, NULL }
11799 };
11800
11801 static int
11802 dissect_qsig_mid_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_) {
11803   offset = dissect_ber_choice(actx, tree, tvb, offset,
11804                                  qsig_mid_String_choice, hf_index, ett_qsig_mid_String,
11805                                  NULL);
11806
11807   return offset;
11808 }
11809
11810
11811
11812 static int
11813 dissect_qsig_mid_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_) {
11814   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11815
11816   return offset;
11817 }
11818
11819
11820 static const ber_sequence_t qsig_mid_SEQUENCE_OF_Extension_sequence_of[1] = {
11821   { &hf_qsig_mid_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11822 };
11823
11824 static int
11825 dissect_qsig_mid_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_) {
11826   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11827                                       qsig_mid_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mid_SEQUENCE_OF_Extension);
11828
11829   return offset;
11830 }
11831
11832
11833 static const value_string qsig_mid_MIDExtensions_vals[] = {
11834   {   0, "none" },
11835   {   1, "extension" },
11836   {   2, "multipleExtension" },
11837   { 0, NULL }
11838 };
11839
11840 static const ber_choice_t qsig_mid_MIDExtensions_choice[] = {
11841   {   0, &hf_qsig_mid_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_NULL },
11842   {   1, &hf_qsig_mid_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11843   {   2, &hf_qsig_mid_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mid_SEQUENCE_OF_Extension },
11844   { 0, NULL, 0, 0, 0, NULL }
11845 };
11846
11847 static int
11848 dissect_qsig_mid_MIDExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11849   offset = dissect_ber_choice(actx, tree, tvb, offset,
11850                                  qsig_mid_MIDExtensions_choice, hf_index, ett_qsig_mid_MIDExtensions,
11851                                  NULL);
11852
11853   return offset;
11854 }
11855
11856
11857 static const ber_sequence_t qsig_mid_MIDMailboxAuthArg_sequence[] = {
11858   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11859   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11860   { &hf_qsig_mid_mailBox    , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11861   { &hf_qsig_mid_password   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11862   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11863   { NULL, 0, 0, 0, NULL }
11864 };
11865
11866 static int
11867 dissect_qsig_mid_MIDMailboxAuthArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11868   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11869                                    qsig_mid_MIDMailboxAuthArg_sequence, hf_index, ett_qsig_mid_MIDMailboxAuthArg);
11870
11871   return offset;
11872 }
11873
11874
11875 static const ber_sequence_t qsig_mid_MIDMailboxIDArg_sequence[] = {
11876   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11877   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11878   { &hf_qsig_mid_mailBox    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11879   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11880   { NULL, 0, 0, 0, NULL }
11881 };
11882
11883 static int
11884 dissect_qsig_mid_MIDMailboxIDArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11885   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11886                                    qsig_mid_MIDMailboxIDArg_sequence, hf_index, ett_qsig_mid_MIDMailboxIDArg);
11887
11888   return offset;
11889 }
11890
11891
11892
11893 static int
11894 dissect_qsig_mid_MIDDummyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11895   offset = dissect_qsig_mid_MIDExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11896
11897   return offset;
11898 }
11899
11900 /*--- PDUs ---*/
11901
11902 static int dissect_qsig_mid_MIDMailboxAuthArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11903   int offset = 0;
11904   asn1_ctx_t asn1_ctx;
11905   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11906   offset = dissect_qsig_mid_MIDMailboxAuthArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU);
11907   return offset;
11908 }
11909 static int dissect_qsig_mid_MIDDummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11910   int offset = 0;
11911   asn1_ctx_t asn1_ctx;
11912   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11913   offset = dissect_qsig_mid_MIDDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDDummyRes_PDU);
11914   return offset;
11915 }
11916 static int dissect_qsig_mid_MIDMailboxIDArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11917   int offset = 0;
11918   asn1_ctx_t asn1_ctx;
11919   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11920   offset = dissect_qsig_mid_MIDMailboxIDArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU);
11921   return offset;
11922 }
11923 static int dissect_qsig_mid_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11924   int offset = 0;
11925   asn1_ctx_t asn1_ctx;
11926   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11927   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_Extension_PDU);
11928   return offset;
11929 }
11930
11931
11932 /*--- End of included file: packet-qsig-fn.c ---*/
11933 #line 327 "../../asn1/qsig/packet-qsig-template.c"
11934
11935 typedef struct _qsig_op_t {
11936   gint32 opcode;
11937   new_dissector_t arg_pdu;
11938   new_dissector_t res_pdu;
11939 } qsig_op_t;
11940
11941 static const qsig_op_t qsig_op_tab[] = {
11942
11943 /*--- Included file: packet-qsig-table11.c ---*/
11944 #line 1 "../../asn1/qsig/packet-qsig-table11.c"
11945
11946 /* --- Module General-Error-List --- --- ---                                  */
11947
11948 /* Unknown or empty loop list OPERATION */
11949
11950 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
11951
11952 /* Unknown or empty loop list OPERATION */
11953
11954 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
11955
11956   /* callingName              */ {   0, dissect_qsig_na_NameArg_PDU, NULL },
11957   /* calledName               */ {   1, dissect_qsig_na_NameArg_PDU, NULL },
11958   /* connectedName            */ {   2, dissect_qsig_na_NameArg_PDU, NULL },
11959   /* busyName                 */ {   3, dissect_qsig_na_NameArg_PDU, NULL },
11960
11961 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
11962
11963   /* activateDiversionQ       */ {  15, dissect_qsig_cf_ARG_activateDiversionQ_PDU, dissect_qsig_cf_RES_activateDiversionQ_PDU },
11964   /* deactivateDiversionQ     */ {  16, dissect_qsig_cf_ARG_deactivateDiversionQ_PDU, dissect_qsig_cf_RES_deactivateDiversionQ_PDU },
11965   /* interrogateDiversionQ    */ {  17, dissect_qsig_cf_ARG_interrogateDiversionQ_PDU, dissect_qsig_cf_IntResultList_PDU },
11966   /* checkRestriction         */ {  18, dissect_qsig_cf_ARG_checkRestriction_PDU, dissect_qsig_cf_RES_checkRestriction_PDU },
11967   /* callRerouteing           */ {  19, dissect_qsig_cf_ARG_callRerouteing_PDU, dissect_qsig_cf_RES_callRerouteing_PDU },
11968   /* divertingLegInformation1 */ {  20, dissect_qsig_cf_ARG_divertingLegInformation1_PDU, NULL },
11969   /* divertingLegInformation2 */ {  21, dissect_qsig_cf_ARG_divertingLegInformation2_PDU, NULL },
11970   /* divertingLegInformation3 */ {  22, dissect_qsig_cf_ARG_divertingLegInformation3_PDU, NULL },
11971   /* cfnrDivertedLegFailed    */ {  23, dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU, NULL },
11972
11973 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
11974
11975   /* pathReplaceInvite        */ {  86, dissect_qsig_pr_DummyArg_PDU, NULL },
11976   /* pathReplacePropose       */ {   4, dissect_qsig_pr_PRProposeArg_PDU, NULL },
11977   /* pathReplaceSetup         */ {   5, dissect_qsig_pr_PRSetupArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11978   /* pathReplaceRetain        */ {   6, dissect_qsig_pr_PRRetainArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11979
11980 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
11981
11982   /* callTransferIdentify     */ {   7, dissect_qsig_ct_DummyArg_PDU, dissect_qsig_ct_CTIdentifyRes_PDU },
11983   /* callTransferAbandon      */ {   8, dissect_qsig_ct_DummyArg_PDU, NULL },
11984   /* callTransferInitiate     */ {   9, dissect_qsig_ct_CTInitiateArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11985   /* callTransferSetup        */ {  10, dissect_qsig_ct_CTSetupArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11986   /* callTransferActive       */ {  11, dissect_qsig_ct_CTActiveArg_PDU, NULL },
11987   /* callTransferComplete     */ {  12, dissect_qsig_ct_CTCompleteArg_PDU, NULL },
11988   /* callTransferUpdate       */ {  13, dissect_qsig_ct_CTUpdateArg_PDU, NULL },
11989   /* subaddressTransfer       */ {  14, dissect_qsig_ct_SubaddressTransferArg_PDU, NULL },
11990
11991 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
11992
11993   /* ccbsRequest              */ {  40, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11994   /* ccnrRequest              */ {  27, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11995   /* ccCancel                 */ {  28, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11996   /* ccExecPossible           */ {  29, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11997   /* ccPathReserve            */ {  30, dissect_qsig_cc_CcExtension_PDU, dissect_qsig_cc_CcExtension_PDU },
11998   /* ccRingout                */ {  31, dissect_qsig_cc_CcExtension_PDU, NULL },
11999   /* ccSuspend                */ {  32, dissect_qsig_cc_CcExtension_PDU, NULL },
12000   /* ccResume                 */ {  33, dissect_qsig_cc_CcExtension_PDU, NULL },
12001
12002 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
12003
12004   /* pathRetain               */ {  41, dissect_qsig_co_PathRetainArg_PDU, NULL },
12005   /* serviceAvailable         */ {  42, dissect_qsig_co_ServiceAvailableArg_PDU, NULL },
12006   /* callOfferRequest         */ {  34, dissect_qsig_co_DummyArg_PDU, dissect_qsig_co_DummyRes_PDU },
12007   /* cfbOverride              */ {  49, dissect_qsig_co_DummyArg_PDU, NULL },
12008
12009 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
12010
12011   /* doNotDisturbActivateQ    */ {  35, dissect_qsig_dnd_DNDActivateArg_PDU, dissect_qsig_dnd_DNDActivateRes_PDU },
12012   /* doNotDisturbDeactivateQ  */ {  36, dissect_qsig_dnd_DNDDeactivateArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
12013   /* doNotDisturbInterrogateQ */ {  37, dissect_qsig_dnd_DNDInterrogateArg_PDU, dissect_qsig_dnd_DNDInterrogateRes_PDU },
12014   /* doNotDisturbOverrideQ    */ {  38, dissect_qsig_dnd_DNDOverrideArg_PDU, NULL },
12015   /* pathRetain               */ {  41, dissect_qsig_dnd_PathRetainArg_PDU, NULL },
12016   /* serviceAvailable         */ {  42, dissect_qsig_dnd_ServiceAvailableArg_PDU, NULL },
12017   /* doNotDisturbOvrExecuteQ  */ {  39, dissect_qsig_dnd_DummyArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
12018
12019 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
12020
12021   /* pathRetain               */ {  41, dissect_qsig_ci_PathRetainArg_PDU, NULL },
12022   /* serviceAvailable         */ {  42, dissect_qsig_ci_ServiceAvailableArg_PDU, NULL },
12023   /* callIntrusionRequest     */ {  43, dissect_qsig_ci_CIRequestArg_PDU, dissect_qsig_ci_CIRequestRes_PDU },
12024   /* callIntrusionGetCIPL     */ {  44, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_CIGetCIPLRes_PDU },
12025   /* callIntrusionForcedRelease */ {  46, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12026   /* callIntrusionIsolate     */ {  45, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12027   /* callIntrusionWOBRequest  */ {  47, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12028   /* callIntrusionCompleted   */ {  48, dissect_qsig_ci_DummyArg_PDU, NULL },
12029   /* cfbOverride              */ {  49, dissect_qsig_ci_DummyArg_PDU, NULL },
12030
12031 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
12032
12033   /* aocRate                  */ {  63, dissect_qsig_aoc_AocRateArg_PDU, NULL },
12034   /* aocInterim               */ {  62, dissect_qsig_aoc_AocInterimArg_PDU, NULL },
12035   /* aocFinal                 */ {  61, dissect_qsig_aoc_AocFinalArg_PDU, NULL },
12036   /* chargeRequest            */ {  59, dissect_qsig_aoc_ChargeRequestArg_PDU, dissect_qsig_aoc_ChargeRequestRes_PDU },
12037   /* getFinalCharge           */ {  60, dissect_qsig_aoc_DummyArg_PDU, NULL },
12038   /* aocComplete              */ {  64, dissect_qsig_aoc_AocCompleteArg_PDU, dissect_qsig_aoc_AocCompleteRes_PDU },
12039   /* aocDivChargeReq          */ {  65, dissect_qsig_aoc_AocDivChargeReqArg_PDU, NULL },
12040
12041 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12042
12043   /* recallAlerting           */ {  57, dissect_qsig_re_ReAlertingArg_PDU, NULL },
12044   /* recallAnswered           */ {  58, dissect_qsig_re_ReAnswerArg_PDU, NULL },
12045
12046 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12047
12048   /* synchronizationRequest   */ {  78, dissect_qsig_sync_SynchronizationReqArg_PDU, dissect_qsig_sync_SynchronizationReqRes_PDU },
12049   /* synchronizationInfo      */ {  79, dissect_qsig_sync_SynchronizationInfoArg_PDU, NULL },
12050
12051 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12052
12053   /* cintLegInformation1      */ {  66, dissect_qsig_cint_CintInformation1Arg_PDU, NULL },
12054   /* cintLegInformation2      */ {  67, dissect_qsig_cint_CintInformation2Arg_PDU, NULL },
12055   /* cintCondition            */ {  68, dissect_qsig_cint_CintCondArg_PDU, NULL },
12056   /* cintDisable              */ {  69, dissect_qsig_cint_CintExtension_PDU, NULL },
12057   /* cintEnable               */ {  70, dissect_qsig_cint_CintExtension_PDU, NULL },
12058
12059 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12060
12061   /* cmnRequest               */ {  84, dissect_qsig_cmn_DummyArg_PDU, dissect_qsig_cmn_CmnArg_PDU },
12062   /* cmnInform                */ {  85, dissect_qsig_cmn_CmnArg_PDU, NULL },
12063
12064 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12065
12066   /* callInterruptionRequest  */ {  87, dissect_qsig_cpi_CPIRequestArg_PDU, NULL },
12067   /* callProtectionRequest    */ {  88, dissect_qsig_cpi_CPIPRequestArg_PDU, NULL },
12068
12069 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12070
12071   /* pumRegistr               */ {  89, dissect_qsig_pumr_PumRegistrArg_PDU, dissect_qsig_pumr_PumRegistrRes_PDU },
12072   /* pumDelReg                */ {  90, dissect_qsig_pumr_PumDelRegArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12073   /* pumDe-reg                */ {  91, dissect_qsig_pumr_PumDe_regArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12074   /* pumInterrog              */ {  92, dissect_qsig_pumr_PumInterrogArg_PDU, dissect_qsig_pumr_PumInterrogRes_PDU },
12075
12076 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12077
12078   /* pumiEnquiry              */ {  93, dissect_qsig_pumch_EnquiryArg_PDU, dissect_qsig_pumch_EnquiryRes_PDU },
12079   /* pumiDivert               */ {  94, dissect_qsig_pumch_DivertArg_PDU, dissect_qsig_pumch_DummyRes_PDU },
12080   /* pumiInform               */ {  95, dissect_qsig_pumch_InformArg_PDU, NULL },
12081   /* pumoCall                 */ {  96, dissect_qsig_pumch_PumoArg_PDU, NULL },
12082
12083 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12084
12085   /* ssctInitiate             */ {  99, dissect_qsig_ssct_SSCTInitiateArg_PDU, dissect_qsig_ssct_DummyRes_PDU },
12086   /* ssctSetup                */ { 100, dissect_qsig_ssct_SSCTSetupArg_PDU, NULL },
12087   /* ssctPostDial             */ { 101, dissect_qsig_ssct_DummyArg_PDU, NULL },
12088   /* ssctDigitInfo            */ { 102, dissect_qsig_ssct_SSCTDigitInfoArg_PDU, NULL },
12089
12090 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12091
12092   /* locUpdate                */ {  50, dissect_qsig_wtmlr_LocUpdArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12093   /* locDelete                */ {  51, dissect_qsig_wtmlr_LocDelArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12094   /* locDeReg                 */ {  52, dissect_qsig_wtmlr_LocDeRegArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12095   /* pisnEnquiry              */ {  53, dissect_qsig_wtmlr_PisnEnqArg_PDU, dissect_qsig_wtmlr_PisnEnqRes_PDU },
12096   /* getRRCInf                */ {  97, dissect_qsig_wtmlr_GetRRCInfArg_PDU, dissect_qsig_wtmlr_GetRRCInfRes_PDU },
12097   /* locInfoCheck             */ {  98, dissect_qsig_wtmlr_LocInfoCheckArg_PDU, dissect_qsig_wtmlr_LocInfoCheckRes_PDU },
12098
12099 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12100
12101   /* wtmiEnquiry              */ {  54, dissect_qsig_wtmch_EnquiryArg_PDU, dissect_qsig_wtmch_EnquiryRes_PDU },
12102   /* wtmiDivert               */ {  55, dissect_qsig_wtmch_DivertArg_PDU, dissect_qsig_wtmch_DummyRes_PDU },
12103   /* wtmiInform               */ {  56, dissect_qsig_wtmch_InformArg_PDU, NULL },
12104   /* wtmoCall                 */ {  71, dissect_qsig_wtmch_WtmoArg_PDU, NULL },
12105
12106 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12107
12108   /* authWtmUser              */ {  72, dissect_qsig_wtmau_AuthWtmArg_PDU, dissect_qsig_wtmau_AuthWtmRes_PDU },
12109   /* getWtatParam             */ {  73, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12110   /* wtatParamEnq             */ {  74, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12111   /* getWtanParam             */ {  75, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12112   /* wtanParamEnq             */ {  76, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12113   /* transferAuthParam        */ {  77, dissect_qsig_wtmau_ARG_transferAuthParam_PDU, NULL },
12114
12115 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12116
12117   /* display                  */ { 103, dissect_qsig_sd_DisplayArg_PDU, NULL },
12118   /* keypad                   */ { 104, dissect_qsig_sd_KeypadArg_PDU, NULL },
12119
12120 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12121
12122   /* callIdentificationAssign */ { 105, dissect_qsig_cidl_CallIdentificationAssignArg_PDU, NULL },
12123   /* callIdentificationUpdate */ { 106, dissect_qsig_cidl_CallIdentificationUpdateArg_PDU, NULL },
12124
12125 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12126
12127   /* smsSubmit                */ { 107, dissect_qsig_sms_SmsSubmitArg_PDU, dissect_qsig_sms_SmsSubmitRes_PDU },
12128   /* smsDeliver               */ { 108, dissect_qsig_sms_SmsDeliverArg_PDU, dissect_qsig_sms_SmsDeliverRes_PDU },
12129   /* smsStatusReport          */ { 109, dissect_qsig_sms_SmsStatusReportArg_PDU, dissect_qsig_sms_SmsStatusReportRes_PDU },
12130   /* smsCommand               */ { 110, dissect_qsig_sms_SmsCommandArg_PDU, dissect_qsig_sms_SmsCommandRes_PDU },
12131   /* scAlert                  */ { 111, dissect_qsig_sms_ScAlertArg_PDU, dissect_qsig_sms_DummyRes_PDU },
12132
12133 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12134
12135   /* mCRequest                */ { 112, dissect_qsig_mcr_MCRequestArg_PDU, dissect_qsig_mcr_MCRequestResult_PDU },
12136   /* mCInform                 */ { 113, dissect_qsig_mcr_MCInformArg_PDU, NULL },
12137   /* mCAlerting               */ { 114, dissect_qsig_mcr_MCAlertingArg_PDU, NULL },
12138
12139 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12140
12141   /* mCMNewMsg                */ {  80, dissect_qsig_mcm_MCMNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12142   /* mCMNoNewMsg              */ {  81, dissect_qsig_mcm_MCMNoNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12143   /* mCMUpdate                */ { 115, dissect_qsig_mcm_MCMUpdateArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12144   /* mCMUpdateReq             */ {  82, dissect_qsig_mcm_MCMUpdateReqArg_PDU, dissect_qsig_mcm_MCMUpdateReqRes_PDU },
12145   /* mCMService               */ { 116, dissect_qsig_mcm_MCMServiceArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12146   /* mCMInterrogate           */ { 117, dissect_qsig_mcm_MCMInterrogateArg_PDU, dissect_qsig_mcm_MCMInterrogateRes_PDU },
12147   /* mCMailboxFull            */ { 118, dissect_qsig_mcm_MCMailboxFullArg_PDU, NULL },
12148
12149 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12150
12151   /* mIDMailboxAuth           */ { 119, dissect_qsig_mid_MIDMailboxAuthArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12152   /* mIDMailboxID             */ { 120, dissect_qsig_mid_MIDMailboxIDArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12153
12154 /*--- End of included file: packet-qsig-table11.c ---*/
12155 #line 336 "../../asn1/qsig/packet-qsig-template.c"
12156 };
12157
12158 typedef struct _qsig_err_t {
12159   gint32 errcode;
12160   new_dissector_t err_pdu;
12161 } qsig_err_t;
12162
12163 static const qsig_err_t qsig_err_tab[] = {
12164
12165 /*--- Included file: packet-qsig-table21.c ---*/
12166 #line 1 "../../asn1/qsig/packet-qsig-table21.c"
12167
12168 /* --- Module General-Error-List --- --- ---                                  */
12169
12170   /* userNotSubscribed        */ {    0, NULL },
12171   /* rejectedByNetwork        */ {    1, NULL },
12172   /* rejectedByUser           */ {    2, NULL },
12173   /* notAvailable             */ {    3, NULL },
12174   /* insufficientInformation  */ {    5, NULL },
12175   /* invalidServedUserNr      */ {    6, NULL },
12176   /* invalidCallState         */ {    7, NULL },
12177   /* basicServiceNotProvided  */ {    8, NULL },
12178   /* notIncomingCall          */ {    9, NULL },
12179   /* supplementaryServiceInteractionNotAllowed */ {   10, NULL },
12180   /* resourceUnavailable      */ {   11, NULL },
12181   /* callFailure              */ {   25, NULL },
12182   /* proceduralError          */ {   43, NULL },
12183
12184 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12185
12186 /* Unknown or empty loop list ERROR */
12187
12188 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12189
12190 /* Unknown or empty loop list ERROR */
12191
12192 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12193
12194   /* invalidDivertedToNr      */ {   12, NULL },
12195   /* specialServiceNr         */ {   14, NULL },
12196   /* diversionToServedUserNr  */ {   15, NULL },
12197   /* numberOfDiversionsExceeded */ {   24, NULL },
12198   /* temporarilyUnavailable   */ { 1000, NULL },
12199   /* notAuthorized            */ { 1007, NULL },
12200   /* unspecified              */ { 1008, dissect_qsig_cf_Extension_PDU },
12201
12202 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
12203
12204   /* temporarilyUnavailable   */ { 1000, NULL },
12205   /* collision                */ { 1001, NULL },
12206   /* criteriaPermanentlyUnachievable */ { 1002, NULL },
12207   /* criteriaTemporarilyUnachievable */ { 1003, NULL },
12208   /* invalidRerouteingNumber  */ { 1004, NULL },
12209   /* unrecognizedCallIdentity */ { 1005, NULL },
12210   /* establishmentFailure     */ { 1006, NULL },
12211   /* unspecified              */ { 1008, dissect_qsig_pr_Extension_PDU },
12212
12213 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
12214
12215   /* unspecified              */ { 1008, dissect_qsig_ct_Extension_PDU },
12216   /* invalidRerouteingNumber  */ { 1004, NULL },
12217   /* unrecognizedCallIdentity */ { 1005, NULL },
12218   /* establishmentFailure     */ { 1006, NULL },
12219
12220 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
12221
12222   /* unspecified              */ { 1008, dissect_qsig_cc_Extension_PDU },
12223   /* shortTermRejection       */ { 1010, NULL },
12224   /* longTermRejection        */ { 1011, NULL },
12225   /* remoteUserBusyAgain      */ { 1012, NULL },
12226   /* failureToMatch           */ { 1013, NULL },
12227   /* failedDueToInterworking  */ { 1014, NULL },
12228
12229 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
12230
12231   /* notBusy                  */ { 1009, NULL },
12232   /* temporarilyUnavailable   */ { 1000, NULL },
12233   /* unspecified              */ { 1008, dissect_qsig_co_Extension_PDU },
12234
12235 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
12236
12237   /* temporarilyUnavailable   */ { 1000, NULL },
12238   /* notActivated             */ {   43, NULL },
12239   /* unspecified              */ { 1008, dissect_qsig_dnd_Extension_PDU },
12240
12241 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
12242
12243   /* notBusy                  */ { 1009, NULL },
12244   /* temporarilyUnavailable   */ { 1000, NULL },
12245   /* notAuthorized            */ { 1007, NULL },
12246   /* unspecified              */ { 1008, dissect_qsig_ci_Extension_PDU },
12247
12248 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
12249
12250   /* unspecified              */ { 1008, dissect_qsig_aoc_Extension_PDU },
12251   /* freeOfCharge             */ { 1016, NULL },
12252
12253 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12254
12255 /* Unknown or empty loop list ERROR */
12256
12257 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12258
12259   /* unspecified              */ { 1008, dissect_qsig_sync_Extension_PDU },
12260
12261 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12262
12263 /* Unknown or empty loop list ERROR */
12264
12265 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12266
12267 /* Unknown or empty loop list ERROR */
12268
12269 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12270
12271 /* Unknown or empty loop list ERROR */
12272
12273 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12274
12275   /* unspecified              */ { 1008, dissect_qsig_pumr_Extension_PDU },
12276   /* notAuthorized            */ { 1007, NULL },
12277   /* temporarilyUnavailable   */ { 1000, NULL },
12278   /* pumUserNotSubscribedToThisServiceOpt */ { 1019, NULL },
12279   /* pumUserFailedAuthentication */ { 1020, NULL },
12280   /* hostingAddrInvalid       */ { 1021, NULL },
12281   /* pumUserNotRegistered     */ { 1022, NULL },
12282
12283 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12284
12285   /* locationNotKnown         */ { 1015, NULL },
12286   /* unspecified              */ { 1008, dissect_qsig_pumch_Extension_PDU },
12287
12288 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12289
12290   /* unspecified              */ { 1008, dissect_qsig_ssct_Extension_PDU },
12291
12292 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12293
12294   /* notAuthorized            */ { 1007, NULL },
12295   /* temporarilyUnavailable   */ { 1000, NULL },
12296   /* unspecified              */ { 1008, dissect_qsig_wtmlr_Extension_PDU },
12297
12298 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12299
12300   /* unspecified              */ { 1008, dissect_qsig_wtmch_Extension_PDU },
12301   /* locationNotKnown         */ { 1015, NULL },
12302
12303 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12304
12305   /* notAuthorized            */ { 1007, NULL },
12306   /* paramNotAvailable        */ { 1017, NULL },
12307   /* temporarilyUnavailable   */ { 1000, NULL },
12308   /* unspecified              */ { 1008, dissect_qsig_wtmau_Extension_PDU },
12309
12310 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12311
12312   /* unspecified              */ { 1008, dissect_qsig_sd_Extension_PDU },
12313   /* noDisplayAvailable       */ { 1023, NULL },
12314   /* displayTemporarilyNotAvailable */ { 1024, NULL },
12315   /* notPresentable           */ { 1025, NULL },
12316
12317 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12318
12319 /* Unknown or empty loop list ERROR */
12320
12321 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12322
12323   /* smsDeliverError          */ { 1026, dissect_qsig_sms_PAR_smsDeliverError_PDU },
12324   /* smsSubmitError           */ { 1027, dissect_qsig_sms_PAR_smsSubmitError_PDU },
12325   /* smsStatusReportError     */ { 1028, dissect_qsig_sms_PAR_smsStatusReportError_PDU },
12326   /* smsCommandError          */ { 1029, dissect_qsig_sms_PAR_smsCommandError_PDU },
12327   /* unspecified              */ { 1008, dissect_qsig_sms_SmsExtension_PDU },
12328
12329 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12330
12331   /* invalidDestinationNumber */ { 1030, NULL },
12332   /* invalidCooperationNumber */ { 1031, NULL },
12333   /* mCRequestNotAllowed      */ { 1032, NULL },
12334   /* mCExecutionNotAllowed    */ { 1033, NULL },
12335   /* mCDestUserBusy           */ { 1034, NULL },
12336   /* mCCoopUserBusy           */ { 1035, NULL },
12337   /* mCCoopUserRejected       */ { 1036, NULL },
12338   /* unspecified              */ { 1008, dissect_qsig_mcr_Extension_PDU },
12339
12340 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12341
12342   /* mCMModeNotProvided       */ { 1037, NULL },
12343   /* unspecified              */ { 1008, dissect_qsig_mcm_Extension_PDU },
12344
12345 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12346
12347   /* invalidMailbox           */ { 1039, NULL },
12348   /* authorizationFailed      */ { 1040, NULL },
12349   /* unspecified              */ { 1008, dissect_qsig_mid_Extension_PDU },
12350
12351 /*--- End of included file: packet-qsig-table21.c ---*/
12352 #line 345 "../../asn1/qsig/packet-qsig-template.c"
12353 };
12354
12355 static const qsig_op_t *get_op(gint32 opcode) {
12356   int i;
12357
12358   /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
12359   for (i = array_length(qsig_op_tab) - 1; i >= 0; i--)
12360     if (qsig_op_tab[i].opcode == opcode)
12361       return &qsig_op_tab[i];
12362   return NULL;
12363 }
12364
12365 static gint32 get_service(gint32 opcode) {
12366   if ((opcode < 0) || (opcode >= (int)array_length(op2srv_tab)))
12367     return NO_SRV;
12368   return op2srv_tab[opcode];
12369 }
12370
12371 static const qsig_err_t *get_err(gint32 errcode) {
12372   int i;
12373
12374   /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
12375   for (i = array_length(qsig_err_tab) - 1; i >= 0; i--)
12376     if (qsig_err_tab[i].errcode == errcode)
12377       return &qsig_err_tab[i];
12378   return NULL;
12379 }
12380
12381 /*--- dissect_qsig_arg ------------------------------------------------------*/
12382 static int
12383 dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
12384   int offset;
12385   rose_ctx_t *rctx;
12386   gint32 opcode = 0, service;
12387   const qsig_op_t *op_ptr;
12388   const gchar *p;
12389   proto_item *ti, *ti_tmp;
12390   proto_tree *qsig_tree;
12391
12392   offset = 0;
12393   rctx = get_rose_ctx(pinfo->private_data);
12394   DISSECTOR_ASSERT(rctx);
12395   if (rctx->d.pdu != 1)  /* invoke */
12396     return offset;
12397   if (rctx->d.code == 0) {  /* local */
12398     opcode = rctx->d.code_local;
12399     op_ptr = get_op(opcode);
12400   } else if (rctx->d.code == 1) {  /* global */
12401     op_ptr = (qsig_op_t *)g_hash_table_lookup(qsig_oid2op_hashtable, rctx->d.code_global);
12402     if (op_ptr) opcode = op_ptr->opcode;
12403   } else {
12404     return offset;
12405   }
12406   if (!op_ptr)
12407     return offset;
12408   service = get_service(opcode);
12409
12410   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), ENC_NA);
12411   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12412
12413   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12414   p = try_val_to_str(opcode, VALS(qsig_str_operation));
12415   if (p) {
12416     proto_item_append_text(ti, ": %s", p);
12417     proto_item_append_text(rctx->d.code_item, " - %s", p);
12418     if (rctx->apdu_depth >= 0)
12419       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12420   }
12421
12422   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12423   p = try_val_to_str(service, VALS(qsig_str_service_name));
12424   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12425
12426   if (op_ptr->arg_pdu)
12427     offset = op_ptr->arg_pdu(tvb, pinfo, qsig_tree, NULL);
12428   else
12429     if (tvb_length_remaining(tvb, offset) > 0) {
12430       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ARGUMENT TYPE (QSIG)");
12431       offset += tvb_length_remaining(tvb, offset);
12432     }
12433
12434   return offset;
12435 }
12436
12437 /*--- dissect_qsig_res -------------------------------------------------------*/
12438 static int
12439 dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
12440   gint offset;
12441   rose_ctx_t *rctx;
12442   gint32 opcode, service;
12443   const qsig_op_t *op_ptr;
12444   const gchar *p;
12445   proto_item *ti, *ti_tmp;
12446   proto_tree *qsig_tree;
12447
12448   offset = 0;
12449   rctx = get_rose_ctx(pinfo->private_data);
12450   DISSECTOR_ASSERT(rctx);
12451   if (rctx->d.pdu != 2)  /* returnResult */
12452     return offset;
12453   if (rctx->d.code != 0)  /* local */
12454     return offset;
12455   opcode = rctx->d.code_local;
12456   op_ptr = get_op(opcode);
12457   if (!op_ptr)
12458     return offset;
12459   service = get_service(opcode);
12460
12461   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), ENC_NA);
12462   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12463
12464   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12465   p = try_val_to_str(opcode, VALS(qsig_str_operation));
12466   if (p) {
12467     proto_item_append_text(ti, ": %s", p);
12468     proto_item_append_text(rctx->d.code_item, " - %s", p);
12469     if (rctx->apdu_depth >= 0)
12470       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12471   }
12472
12473   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12474   p = try_val_to_str(service, VALS(qsig_str_service_name));
12475   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12476
12477   if (op_ptr->res_pdu)
12478     offset = op_ptr->res_pdu(tvb, pinfo, qsig_tree, NULL);
12479   else
12480     if (tvb_length_remaining(tvb, offset) > 0) {
12481       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED RESULT TYPE (QSIG)");
12482       offset += tvb_length_remaining(tvb, offset);
12483     }
12484
12485   return offset;
12486 }
12487
12488 /*--- dissect_qsig_err ------------------------------------------------------*/
12489 static int
12490 dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
12491   int offset;
12492   rose_ctx_t *rctx;
12493   gint32 errcode;
12494   const qsig_err_t *err_ptr;
12495   const gchar *p;
12496   proto_item *ti;
12497   proto_tree *qsig_tree;
12498
12499   offset = 0;
12500   rctx = get_rose_ctx(pinfo->private_data);
12501   DISSECTOR_ASSERT(rctx);
12502   if (rctx->d.pdu != 3)  /* returnError */
12503     return offset;
12504   if (rctx->d.code != 0)  /* local */
12505     return offset;
12506   errcode = rctx->d.code_local;
12507   err_ptr = get_err(errcode);
12508   if (!err_ptr)
12509     return offset;
12510
12511   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), ENC_NA);
12512   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12513
12514   proto_tree_add_uint(qsig_tree, hf_qsig_error, tvb, 0, 0, errcode);
12515   p = try_val_to_str(errcode, VALS(qsig_str_error));
12516   if (p) {
12517     proto_item_append_text(ti, ": %s", p);
12518     proto_item_append_text(rctx->d.code_item, " - %s", p);
12519     if (rctx->apdu_depth >= 0)
12520       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12521   }
12522
12523   if (err_ptr->err_pdu)
12524     offset = err_ptr->err_pdu(tvb, pinfo, qsig_tree, NULL);
12525   else
12526     if (tvb_length_remaining(tvb, offset) > 0) {
12527       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (QSIG)");
12528       offset += tvb_length_remaining(tvb, offset);
12529     }
12530
12531   return offset;
12532 }
12533
12534 /*--- dissect_qsig_transit_counter_ie ---------------------------------------*/
12535 static int
12536 dissect_qsig_transit_counter_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length  _U_) {
12537   proto_tree_add_item(tree, hf_qsig_tc, tvb, offset, 1, ENC_BIG_ENDIAN);
12538   offset++;
12539   return offset;
12540 }
12541 /*--- dissect_qsig_party_category_ie ----------------------------------------*/
12542 static int
12543 dissect_qsig_party_category_ie(tvbuff_t *tvb, int offset, packet_info *pinfo  _U_, proto_tree *tree, int length  _U_) {
12544   proto_tree_add_item(tree, hf_qsig_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
12545   offset++;
12546   return offset;
12547 }
12548
12549 /*--- dissect_qsig_ie -------------------------------------------------------*/
12550 static void
12551 dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset) {
12552   gint offset;
12553   proto_item *ti, *ti_ie, *hidden_item;
12554   proto_tree *ie_tree;
12555   guint8 ie_type, ie_len;
12556
12557   offset = 0;
12558
12559   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, -1, ENC_NA);
12560   PROTO_ITEM_SET_HIDDEN(ti);
12561
12562   ie_type = tvb_get_guint8(tvb, offset);
12563   ie_len = tvb_get_guint8(tvb, offset + 1);
12564
12565   ti_ie = proto_tree_add_text(tree, tvb, offset, -1, "%s",
12566             val_to_str(ie_type, VALS(qsig_str_ie_type[codeset]), "unknown (0x%02X)"));
12567   ie_tree = proto_item_add_subtree(ti_ie, ett_qsig_ie);
12568   proto_tree_add_item(ie_tree, *hf_qsig_ie_type_arr[codeset], tvb, offset, 1, ENC_BIG_ENDIAN);
12569   hidden_item = proto_tree_add_item(ie_tree, hf_qsig_ie_type, tvb, offset, 1, ENC_BIG_ENDIAN);
12570   PROTO_ITEM_SET_HIDDEN(hidden_item);
12571   proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, ENC_BIG_ENDIAN);
12572   offset += 2;
12573   if (tvb_length_remaining(tvb, offset) <= 0)
12574     return;
12575   switch ((codeset << 8) | ie_type) {
12576     case CS4 | QSIG_IE_TRANSIT_COUNTER :
12577       dissect_qsig_transit_counter_ie(tvb, offset, pinfo, ie_tree, ie_len);
12578       break;
12579     case CS5 | QSIG_IE_PARTY_CATEGORY :
12580       dissect_qsig_party_category_ie(tvb, offset, pinfo, ie_tree, ie_len);
12581       break;
12582     default:
12583       if (ie_len > 0) {
12584         if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, ENC_NA);
12585       }
12586   }
12587 }
12588 /*--- dissect_qsig_ie_cs4 ---------------------------------------------------*/
12589 static void
12590 dissect_qsig_ie_cs4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12591   dissect_qsig_ie(tvb, pinfo, tree, 4);
12592 }
12593 /*--- dissect_qsig_ie_cs5 ---------------------------------------------------*/
12594 static void
12595 dissect_qsig_ie_cs5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12596   dissect_qsig_ie(tvb, pinfo, tree, 5);
12597 }
12598
12599 /*--- qsig_init_tables ---------------------------------------------------------*/
12600 static void qsig_init_tables(void) {
12601   guint i;
12602   gint opcode, *key;
12603   gchar *oid;
12604
12605   if (qsig_opcode2oid_hashtable)
12606     g_hash_table_destroy(qsig_opcode2oid_hashtable);
12607   qsig_opcode2oid_hashtable = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, g_free);
12608
12609   if (qsig_oid2op_hashtable)
12610     g_hash_table_destroy(qsig_oid2op_hashtable);
12611   qsig_oid2op_hashtable = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
12612
12613   /* fill-in global OIDs */
12614   for (i=0; i<array_length(qsig_op_tab); i++) {
12615     opcode = qsig_op_tab[i].opcode;
12616     oid = g_strdup_printf("1.3.12.9.%d", opcode);
12617     key = (gint *)g_malloc(sizeof(gint));
12618     *key = opcode;
12619     g_hash_table_insert(qsig_opcode2oid_hashtable, key, oid);
12620     g_hash_table_insert(qsig_oid2op_hashtable, g_strdup(oid), (gpointer)&qsig_op_tab[i]);
12621   }
12622
12623 }
12624
12625 /*--- proto_register_qsig ---------------------------------------------------*/
12626 void proto_register_qsig(void) {
12627
12628   /* List of fields */
12629   static hf_register_info hf[] = {
12630     { &hf_qsig_operation, { "Operation", "qsig.operation",
12631                            FT_UINT8, BASE_DEC, VALS(qsig_str_operation), 0x0,
12632                            NULL, HFILL }},
12633     { &hf_qsig_service,   { "Service", "qsig.service",
12634                            FT_UINT8, BASE_DEC, VALS(qsig_str_service), 0x0,
12635                            "Supplementary Service", HFILL }},
12636     { &hf_qsig_error,     { "Error", "qsig.error",
12637                            FT_UINT8, BASE_DEC, VALS(qsig_str_error), 0x0,
12638                            NULL, HFILL }},
12639     { &hf_qsig_ie_type, { "Type", "qsig.ie.type",
12640                           FT_UINT8, BASE_HEX, NULL, 0x0,
12641                           "Information Element Type", HFILL }},
12642     { &hf_qsig_ie_type_cs4, { "Type", "qsig.ie.type.cs4",
12643                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs4), 0x0,
12644                           "Information Element Type (Codeset 4)", HFILL }},
12645     { &hf_qsig_ie_type_cs5, { "Type", "qsig.ie.type.cs5",
12646                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs5), 0x0,
12647                           "Information Element Type (Codeset 5)", HFILL }},
12648     { &hf_qsig_ie_len,  { "Length", "qsig.ie.len",
12649                           FT_UINT8, BASE_DEC, NULL, 0x0,
12650                           "Information Element Length", HFILL }},
12651     { &hf_qsig_ie_data, { "Data", "qsig.ie.data",
12652                           FT_BYTES, BASE_NONE, NULL, 0x0,
12653                           NULL, HFILL }},
12654     { &hf_qsig_tc,      { "Transit count", "qsig.tc",
12655                           FT_UINT8, BASE_DEC, NULL, 0x1F,
12656                           NULL, HFILL }},
12657     { &hf_qsig_pc,      { "Party category", "qsig.pc",
12658                           FT_UINT8, BASE_HEX, VALS(qsig_str_pc), 0x07,
12659                           NULL, HFILL }},
12660
12661 /*--- Included file: packet-qsig-hfarr.c ---*/
12662 #line 1 "../../asn1/qsig/packet-qsig-hfarr.c"
12663
12664 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12665
12666     { &hf_qsig_extensionId,
12667       { "extensionId", "qsig.extensionId",
12668         FT_OID, BASE_NONE, NULL, 0,
12669         NULL, HFILL }},
12670     { &hf_qsig_extensionArgument,
12671       { "extensionArgument", "qsig.extensionArgument_element",
12672         FT_NONE, BASE_NONE, NULL, 0,
12673         NULL, HFILL }},
12674     { &hf_qsig_presentationAllowedAddressS,
12675       { "presentationAllowedAddressS", "qsig.presentationAllowedAddressS_element",
12676         FT_NONE, BASE_NONE, NULL, 0,
12677         "AddressScreened", HFILL }},
12678     { &hf_qsig_presentationRestricted,
12679       { "presentationRestricted", "qsig.presentationRestricted_element",
12680         FT_NONE, BASE_NONE, NULL, 0,
12681         NULL, HFILL }},
12682     { &hf_qsig_numberNotAvailableDueToInterworking,
12683       { "numberNotAvailableDueToInterworking", "qsig.numberNotAvailableDueToInterworking_element",
12684         FT_NONE, BASE_NONE, NULL, 0,
12685         NULL, HFILL }},
12686     { &hf_qsig_presentationRestrictedAddressS,
12687       { "presentationRestrictedAddressS", "qsig.presentationRestrictedAddressS_element",
12688         FT_NONE, BASE_NONE, NULL, 0,
12689         "AddressScreened", HFILL }},
12690     { &hf_qsig_presentationAllowedAddressU,
12691       { "presentationAllowedAddressU", "qsig.presentationAllowedAddressU_element",
12692         FT_NONE, BASE_NONE, NULL, 0,
12693         "Address", HFILL }},
12694     { &hf_qsig_presentationRestrictedAddressU,
12695       { "presentationRestrictedAddressU", "qsig.presentationRestrictedAddressU_element",
12696         FT_NONE, BASE_NONE, NULL, 0,
12697         "Address", HFILL }},
12698     { &hf_qsig_presentationAllowedAddressNS,
12699       { "presentationAllowedAddressNS", "qsig.presentationAllowedAddressNS_element",
12700         FT_NONE, BASE_NONE, NULL, 0,
12701         "NumberScreened", HFILL }},
12702     { &hf_qsig_presentationRestrictedAddressNS,
12703       { "presentationRestrictedAddressNS", "qsig.presentationRestrictedAddressNS_element",
12704         FT_NONE, BASE_NONE, NULL, 0,
12705         "NumberScreened", HFILL }},
12706     { &hf_qsig_presentationAllowedAddressNU,
12707       { "presentationAllowedAddressNU", "qsig.presentationAllowedAddressNU",
12708         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12709         "PartyNumber", HFILL }},
12710     { &hf_qsig_presentationRestrictedAddressNU,
12711       { "presentationRestrictedAddressNU", "qsig.presentationRestrictedAddressNU",
12712         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12713         "PartyNumber", HFILL }},
12714     { &hf_qsig_partyNumber,
12715       { "partyNumber", "qsig.partyNumber",
12716         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12717         NULL, HFILL }},
12718     { &hf_qsig_screeningIndicator,
12719       { "screeningIndicator", "qsig.screeningIndicator",
12720         FT_UINT32, BASE_DEC, VALS(qsig_ScreeningIndicator_vals), 0,
12721         NULL, HFILL }},
12722     { &hf_qsig_partySubaddress,
12723       { "partySubaddress", "qsig.partySubaddress",
12724         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
12725         NULL, HFILL }},
12726     { &hf_qsig_unknownPartyNumber,
12727       { "unknownPartyNumber", "qsig.unknownPartyNumber",
12728         FT_STRING, BASE_NONE, NULL, 0,
12729         "NumberDigits", HFILL }},
12730     { &hf_qsig_publicPartyNumber,
12731       { "publicPartyNumber", "qsig.publicPartyNumber_element",
12732         FT_NONE, BASE_NONE, NULL, 0,
12733         NULL, HFILL }},
12734     { &hf_qsig_dataPartyNumber,
12735       { "dataPartyNumber", "qsig.dataPartyNumber",
12736         FT_STRING, BASE_NONE, NULL, 0,
12737         "NumberDigits", HFILL }},
12738     { &hf_qsig_telexPartyNumber,
12739       { "telexPartyNumber", "qsig.telexPartyNumber",
12740         FT_STRING, BASE_NONE, NULL, 0,
12741         "NumberDigits", HFILL }},
12742     { &hf_qsig_privatePartyNumber,
12743       { "privatePartyNumber", "qsig.privatePartyNumber_element",
12744         FT_NONE, BASE_NONE, NULL, 0,
12745         NULL, HFILL }},
12746     { &hf_qsig_nationalStandardPartyNumber,
12747       { "nationalStandardPartyNumber", "qsig.nationalStandardPartyNumber",
12748         FT_STRING, BASE_NONE, NULL, 0,
12749         "NumberDigits", HFILL }},
12750     { &hf_qsig_publicTypeOfNumber,
12751       { "publicTypeOfNumber", "qsig.publicTypeOfNumber",
12752         FT_UINT32, BASE_DEC, VALS(qsig_PublicTypeOfNumber_vals), 0,
12753         NULL, HFILL }},
12754     { &hf_qsig_publicNumberDigits,
12755       { "publicNumberDigits", "qsig.publicNumberDigits",
12756         FT_STRING, BASE_NONE, NULL, 0,
12757         "NumberDigits", HFILL }},
12758     { &hf_qsig_privateTypeOfNumber,
12759       { "privateTypeOfNumber", "qsig.privateTypeOfNumber",
12760         FT_UINT32, BASE_DEC, VALS(qsig_PrivateTypeOfNumber_vals), 0,
12761         NULL, HFILL }},
12762     { &hf_qsig_privateNumberDigits,
12763       { "privateNumberDigits", "qsig.privateNumberDigits",
12764         FT_STRING, BASE_NONE, NULL, 0,
12765         "NumberDigits", HFILL }},
12766     { &hf_qsig_userSpecifiedSubaddress,
12767       { "userSpecifiedSubaddress", "qsig.userSpecifiedSubaddress_element",
12768         FT_NONE, BASE_NONE, NULL, 0,
12769         NULL, HFILL }},
12770     { &hf_qsig_nSAPSubaddress,
12771       { "nSAPSubaddress", "qsig.nSAPSubaddress",
12772         FT_BYTES, BASE_NONE, NULL, 0,
12773         NULL, HFILL }},
12774     { &hf_qsig_subaddressInformation,
12775       { "subaddressInformation", "qsig.subaddressInformation",
12776         FT_BYTES, BASE_NONE, NULL, 0,
12777         NULL, HFILL }},
12778     { &hf_qsig_oddCountIndicator,
12779       { "oddCountIndicator", "qsig.oddCountIndicator",
12780         FT_BOOLEAN, BASE_NONE, NULL, 0,
12781         "BOOLEAN", HFILL }},
12782
12783 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12784
12785     { &hf_qsig_na_qsig_na_NameArg_PDU,
12786       { "NameArg", "qsig.na.NameArg",
12787         FT_UINT32, BASE_DEC, VALS(qsig_na_NameArg_vals), 0,
12788         NULL, HFILL }},
12789     { &hf_qsig_na_name,
12790       { "name", "qsig.na.name",
12791         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12792         NULL, HFILL }},
12793     { &hf_qsig_na_nameSequence,
12794       { "nameSequence", "qsig.na.nameSequence_element",
12795         FT_NONE, BASE_NONE, NULL, 0,
12796         NULL, HFILL }},
12797     { &hf_qsig_na_extensionNA,
12798       { "extension", "qsig.na.extension",
12799         FT_UINT32, BASE_DEC, VALS(qsig_na_NameExtension_vals), 0,
12800         "NameExtension", HFILL }},
12801     { &hf_qsig_na_single,
12802       { "single", "qsig.na.single_element",
12803         FT_NONE, BASE_NONE, NULL, 0,
12804         "Extension", HFILL }},
12805     { &hf_qsig_na_multiple,
12806       { "multiple", "qsig.na.multiple",
12807         FT_UINT32, BASE_DEC, NULL, 0,
12808         "SEQUENCE_OF_Extension", HFILL }},
12809     { &hf_qsig_na_multiple_item,
12810       { "Extension", "qsig.na.Extension_element",
12811         FT_NONE, BASE_NONE, NULL, 0,
12812         NULL, HFILL }},
12813     { &hf_qsig_na_namePresentationAllowed,
12814       { "namePresentationAllowed", "qsig.na.namePresentationAllowed",
12815         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationAllowed_vals), 0,
12816         NULL, HFILL }},
12817     { &hf_qsig_na_namePresentationRestricted,
12818       { "namePresentationRestricted", "qsig.na.namePresentationRestricted",
12819         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationRestricted_vals), 0,
12820         NULL, HFILL }},
12821     { &hf_qsig_na_nameNotAvailable,
12822       { "nameNotAvailable", "qsig.na.nameNotAvailable_element",
12823         FT_NONE, BASE_NONE, NULL, 0,
12824         NULL, HFILL }},
12825     { &hf_qsig_na_namePresentationAllowedSimple,
12826       { "namePresentationAllowedSimple", "qsig.na.namePresentationAllowedSimple",
12827         FT_STRING, BASE_NONE, NULL, 0,
12828         "NameData", HFILL }},
12829     { &hf_qsig_na_namePresentationAllowedExtended,
12830       { "namePresentationAllowedExtended", "qsig.na.namePresentationAllowedExtended_element",
12831         FT_NONE, BASE_NONE, NULL, 0,
12832         "NameSet", HFILL }},
12833     { &hf_qsig_na_namePresentationRestrictedSimple,
12834       { "namePresentationRestrictedSimple", "qsig.na.namePresentationRestrictedSimple",
12835         FT_STRING, BASE_NONE, NULL, 0,
12836         "NameData", HFILL }},
12837     { &hf_qsig_na_namePresentationRestrictedExtended,
12838       { "namePresentationRestrictedExtended", "qsig.na.namePresentationRestrictedExtended_element",
12839         FT_NONE, BASE_NONE, NULL, 0,
12840         "NameSet", HFILL }},
12841     { &hf_qsig_na_namePresentationRestrictedNull,
12842       { "namePresentationRestrictedNull", "qsig.na.namePresentationRestrictedNull_element",
12843         FT_NONE, BASE_NONE, NULL, 0,
12844         NULL, HFILL }},
12845     { &hf_qsig_na_nameData,
12846       { "nameData", "qsig.na.nameData",
12847         FT_STRING, BASE_NONE, NULL, 0,
12848         NULL, HFILL }},
12849     { &hf_qsig_na_characterSet,
12850       { "characterSet", "qsig.na.characterSet",
12851         FT_UINT32, BASE_DEC, VALS(qsig_na_CharacterSet_vals), 0,
12852         NULL, HFILL }},
12853
12854 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12855
12856     { &hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU,
12857       { "ARG-activateDiversionQ", "qsig.cf.ARG_activateDiversionQ_element",
12858         FT_NONE, BASE_NONE, NULL, 0,
12859         NULL, HFILL }},
12860     { &hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU,
12861       { "RES-activateDiversionQ", "qsig.cf.RES_activateDiversionQ",
12862         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_activateDiversionQ_vals), 0,
12863         NULL, HFILL }},
12864     { &hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU,
12865       { "ARG-deactivateDiversionQ", "qsig.cf.ARG_deactivateDiversionQ_element",
12866         FT_NONE, BASE_NONE, NULL, 0,
12867         NULL, HFILL }},
12868     { &hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU,
12869       { "RES-deactivateDiversionQ", "qsig.cf.RES_deactivateDiversionQ",
12870         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_deactivateDiversionQ_vals), 0,
12871         NULL, HFILL }},
12872     { &hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU,
12873       { "ARG-interrogateDiversionQ", "qsig.cf.ARG_interrogateDiversionQ_element",
12874         FT_NONE, BASE_NONE, NULL, 0,
12875         NULL, HFILL }},
12876     { &hf_qsig_cf_qsig_cf_IntResultList_PDU,
12877       { "IntResultList", "qsig.cf.IntResultList",
12878         FT_UINT32, BASE_DEC, NULL, 0,
12879         NULL, HFILL }},
12880     { &hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU,
12881       { "ARG-checkRestriction", "qsig.cf.ARG_checkRestriction_element",
12882         FT_NONE, BASE_NONE, NULL, 0,
12883         NULL, HFILL }},
12884     { &hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU,
12885       { "RES-checkRestriction", "qsig.cf.RES_checkRestriction",
12886         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_checkRestriction_vals), 0,
12887         NULL, HFILL }},
12888     { &hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU,
12889       { "ARG-callRerouteing", "qsig.cf.ARG_callRerouteing_element",
12890         FT_NONE, BASE_NONE, NULL, 0,
12891         NULL, HFILL }},
12892     { &hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU,
12893       { "RES-callRerouteing", "qsig.cf.RES_callRerouteing",
12894         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_callRerouteing_vals), 0,
12895         NULL, HFILL }},
12896     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU,
12897       { "ARG-divertingLegInformation1", "qsig.cf.ARG_divertingLegInformation1_element",
12898         FT_NONE, BASE_NONE, NULL, 0,
12899         NULL, HFILL }},
12900     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU,
12901       { "ARG-divertingLegInformation2", "qsig.cf.ARG_divertingLegInformation2_element",
12902         FT_NONE, BASE_NONE, NULL, 0,
12903         NULL, HFILL }},
12904     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU,
12905       { "ARG-divertingLegInformation3", "qsig.cf.ARG_divertingLegInformation3_element",
12906         FT_NONE, BASE_NONE, NULL, 0,
12907         NULL, HFILL }},
12908     { &hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU,
12909       { "ARG-cfnrDivertedLegFailed", "qsig.cf.ARG_cfnrDivertedLegFailed",
12910         FT_UINT32, BASE_DEC, VALS(qsig_cf_ARG_cfnrDivertedLegFailed_vals), 0,
12911         NULL, HFILL }},
12912     { &hf_qsig_cf_qsig_cf_Extension_PDU,
12913       { "Extension", "qsig.cf.Extension_element",
12914         FT_NONE, BASE_NONE, NULL, 0,
12915         NULL, HFILL }},
12916     { &hf_qsig_cf_procedure,
12917       { "procedure", "qsig.cf.procedure",
12918         FT_UINT32, BASE_DEC, VALS(qsig_cf_Procedure_vals), 0,
12919         NULL, HFILL }},
12920     { &hf_qsig_cf_basicService,
12921       { "basicService", "qsig.cf.basicService",
12922         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
12923         NULL, HFILL }},
12924     { &hf_qsig_cf_divertedToAddress,
12925       { "divertedToAddress", "qsig.cf.divertedToAddress_element",
12926         FT_NONE, BASE_NONE, NULL, 0,
12927         "Address", HFILL }},
12928     { &hf_qsig_cf_servedUserNr,
12929       { "servedUserNr", "qsig.cf.servedUserNr",
12930         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12931         "PartyNumber", HFILL }},
12932     { &hf_qsig_cf_activatingUserNr,
12933       { "activatingUserNr", "qsig.cf.activatingUserNr",
12934         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12935         "PartyNumber", HFILL }},
12936     { &hf_qsig_cf_extensionAD,
12937       { "extension", "qsig.cf.extension",
12938         FT_UINT32, BASE_DEC, VALS(qsig_cf_ADExtension_vals), 0,
12939         "ADExtension", HFILL }},
12940     { &hf_qsig_cf_single,
12941       { "single", "qsig.cf.single_element",
12942         FT_NONE, BASE_NONE, NULL, 0,
12943         "Extension", HFILL }},
12944     { &hf_qsig_cf_multiple,
12945       { "multiple", "qsig.cf.multiple",
12946         FT_UINT32, BASE_DEC, NULL, 0,
12947         "SEQUENCE_OF_Extension", HFILL }},
12948     { &hf_qsig_cf_multiple_item,
12949       { "Extension", "qsig.cf.Extension_element",
12950         FT_NONE, BASE_NONE, NULL, 0,
12951         NULL, HFILL }},
12952     { &hf_qsig_cf_null,
12953       { "null", "qsig.cf.null_element",
12954         FT_NONE, BASE_NONE, NULL, 0,
12955         NULL, HFILL }},
12956     { &hf_qsig_cf_deactivatingUserNr,
12957       { "deactivatingUserNr", "qsig.cf.deactivatingUserNr",
12958         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12959         "PartyNumber", HFILL }},
12960     { &hf_qsig_cf_extensionDD,
12961       { "extension", "qsig.cf.extension",
12962         FT_UINT32, BASE_DEC, VALS(qsig_cf_DDExtension_vals), 0,
12963         "DDExtension", HFILL }},
12964     { &hf_qsig_cf_interrogatingUserNr,
12965       { "interrogatingUserNr", "qsig.cf.interrogatingUserNr",
12966         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12967         "PartyNumber", HFILL }},
12968     { &hf_qsig_cf_extensionID,
12969       { "extension", "qsig.cf.extension",
12970         FT_UINT32, BASE_DEC, VALS(qsig_cf_IDExtension_vals), 0,
12971         "IDExtension", HFILL }},
12972     { &hf_qsig_cf_divertedToNr,
12973       { "divertedToNr", "qsig.cf.divertedToNr",
12974         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12975         "PartyNumber", HFILL }},
12976     { &hf_qsig_cf_extensionCHR,
12977       { "extension", "qsig.cf.extension",
12978         FT_UINT32, BASE_DEC, VALS(qsig_cf_CHRExtension_vals), 0,
12979         "CHRExtension", HFILL }},
12980     { &hf_qsig_cf_rerouteingReason,
12981       { "rerouteingReason", "qsig.cf.rerouteingReason",
12982         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12983         "DiversionReason", HFILL }},
12984     { &hf_qsig_cf_originalRerouteingReason,
12985       { "originalRerouteingReason", "qsig.cf.originalRerouteingReason",
12986         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12987         "DiversionReason", HFILL }},
12988     { &hf_qsig_cf_calledAddress,
12989       { "calledAddress", "qsig.cf.calledAddress_element",
12990         FT_NONE, BASE_NONE, NULL, 0,
12991         "Address", HFILL }},
12992     { &hf_qsig_cf_diversionCounter,
12993       { "diversionCounter", "qsig.cf.diversionCounter",
12994         FT_UINT32, BASE_DEC, NULL, 0,
12995         "INTEGER_1_15", HFILL }},
12996     { &hf_qsig_cf_pSS1InfoElement,
12997       { "pSS1InfoElement", "qsig.cf.pSS1InfoElement",
12998         FT_BYTES, BASE_NONE, NULL, 0,
12999         "PSS1InformationElement", HFILL }},
13000     { &hf_qsig_cf_lastRerouteingNr,
13001       { "lastRerouteingNr", "qsig.cf.lastRerouteingNr",
13002         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13003         "PresentedNumberUnscreened", HFILL }},
13004     { &hf_qsig_cf_subscriptionOption,
13005       { "subscriptionOption", "qsig.cf.subscriptionOption",
13006         FT_UINT32, BASE_DEC, VALS(qsig_cf_SubscriptionOption_vals), 0,
13007         NULL, HFILL }},
13008     { &hf_qsig_cf_callingPartySubaddress,
13009       { "callingPartySubaddress", "qsig.cf.callingPartySubaddress",
13010         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13011         "PartySubaddress", HFILL }},
13012     { &hf_qsig_cf_callingNumber,
13013       { "callingNumber", "qsig.cf.callingNumber",
13014         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13015         "PresentedNumberScreened", HFILL }},
13016     { &hf_qsig_cf_callingName,
13017       { "callingName", "qsig.cf.callingName",
13018         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13019         "Name", HFILL }},
13020     { &hf_qsig_cf_originalCalledNr,
13021       { "originalCalledNr", "qsig.cf.originalCalledNr",
13022         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13023         "PresentedNumberUnscreened", HFILL }},
13024     { &hf_qsig_cf_redirectingName,
13025       { "redirectingName", "qsig.cf.redirectingName",
13026         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13027         "Name", HFILL }},
13028     { &hf_qsig_cf_originalCalledName,
13029       { "originalCalledName", "qsig.cf.originalCalledName",
13030         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13031         "Name", HFILL }},
13032     { &hf_qsig_cf_extensionCRR,
13033       { "extension", "qsig.cf.extension",
13034         FT_UINT32, BASE_DEC, VALS(qsig_cf_CRRExtension_vals), 0,
13035         "CRRExtension", HFILL }},
13036     { &hf_qsig_cf_diversionReason,
13037       { "diversionReason", "qsig.cf.diversionReason",
13038         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
13039         NULL, HFILL }},
13040     { &hf_qsig_cf_nominatedNr,
13041       { "nominatedNr", "qsig.cf.nominatedNr",
13042         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13043         "PartyNumber", HFILL }},
13044     { &hf_qsig_cf_extensionDLI1,
13045       { "extension", "qsig.cf.extension",
13046         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI1Extension_vals), 0,
13047         "DLI1Extension", HFILL }},
13048     { &hf_qsig_cf_originalDiversionReason,
13049       { "originalDiversionReason", "qsig.cf.originalDiversionReason",
13050         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
13051         "DiversionReason", HFILL }},
13052     { &hf_qsig_cf_divertingNr,
13053       { "divertingNr", "qsig.cf.divertingNr",
13054         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13055         "PresentedNumberUnscreened", HFILL }},
13056     { &hf_qsig_cf_extensionDLI2,
13057       { "extension", "qsig.cf.extension",
13058         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI2Extension_vals), 0,
13059         "DLI2Extension", HFILL }},
13060     { &hf_qsig_cf_presentationAllowedIndicator,
13061       { "presentationAllowedIndicator", "qsig.cf.presentationAllowedIndicator",
13062         FT_BOOLEAN, BASE_NONE, NULL, 0,
13063         NULL, HFILL }},
13064     { &hf_qsig_cf_redirectionName,
13065       { "redirectionName", "qsig.cf.redirectionName",
13066         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13067         "Name", HFILL }},
13068     { &hf_qsig_cf_extensionDLI3,
13069       { "extension", "qsig.cf.extension",
13070         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI3Extension_vals), 0,
13071         "DLI3Extension", HFILL }},
13072     { &hf_qsig_cf_IntResultList_item,
13073       { "IntResult", "qsig.cf.IntResult_element",
13074         FT_NONE, BASE_NONE, NULL, 0,
13075         NULL, HFILL }},
13076     { &hf_qsig_cf_remoteEnabled,
13077       { "remoteEnabled", "qsig.cf.remoteEnabled",
13078         FT_BOOLEAN, BASE_NONE, NULL, 0,
13079         "BOOLEAN", HFILL }},
13080     { &hf_qsig_cf_extensionIR,
13081       { "extension", "qsig.cf.extension",
13082         FT_UINT32, BASE_DEC, VALS(qsig_cf_IRExtension_vals), 0,
13083         "IRExtension", HFILL }},
13084
13085 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
13086
13087     { &hf_qsig_pr_qsig_pr_DummyArg_PDU,
13088       { "DummyArg", "qsig.pr.DummyArg",
13089         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyArg_vals), 0,
13090         NULL, HFILL }},
13091     { &hf_qsig_pr_qsig_pr_PRProposeArg_PDU,
13092       { "PRProposeArg", "qsig.pr.PRProposeArg_element",
13093         FT_NONE, BASE_NONE, NULL, 0,
13094         NULL, HFILL }},
13095     { &hf_qsig_pr_qsig_pr_PRSetupArg_PDU,
13096       { "PRSetupArg", "qsig.pr.PRSetupArg_element",
13097         FT_NONE, BASE_NONE, NULL, 0,
13098         NULL, HFILL }},
13099     { &hf_qsig_pr_qsig_pr_DummyResult_PDU,
13100       { "DummyResult", "qsig.pr.DummyResult",
13101         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyResult_vals), 0,
13102         NULL, HFILL }},
13103     { &hf_qsig_pr_qsig_pr_PRRetainArg_PDU,
13104       { "PRRetainArg", "qsig.pr.PRRetainArg_element",
13105         FT_NONE, BASE_NONE, NULL, 0,
13106         NULL, HFILL }},
13107     { &hf_qsig_pr_qsig_pr_Extension_PDU,
13108       { "Extension", "qsig.pr.Extension_element",
13109         FT_NONE, BASE_NONE, NULL, 0,
13110         NULL, HFILL }},
13111     { &hf_qsig_pr_callIdentity,
13112       { "callIdentity", "qsig.pr.callIdentity",
13113         FT_STRING, BASE_NONE, NULL, 0,
13114         NULL, HFILL }},
13115     { &hf_qsig_pr_rerouteingNumber,
13116       { "rerouteingNumber", "qsig.pr.rerouteingNumber",
13117         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13118         "PartyNumber", HFILL }},
13119     { &hf_qsig_pr_extensionPRP,
13120       { "extension", "qsig.pr.extension",
13121         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRPExtension_vals), 0,
13122         "PRPExtension", HFILL }},
13123     { &hf_qsig_pr_single,
13124       { "single", "qsig.pr.single_element",
13125         FT_NONE, BASE_NONE, NULL, 0,
13126         "Extension", HFILL }},
13127     { &hf_qsig_pr_multiple,
13128       { "multiple", "qsig.pr.multiple",
13129         FT_UINT32, BASE_DEC, NULL, 0,
13130         "SEQUENCE_OF_Extension", HFILL }},
13131     { &hf_qsig_pr_multiple_item,
13132       { "Extension", "qsig.pr.Extension_element",
13133         FT_NONE, BASE_NONE, NULL, 0,
13134         NULL, HFILL }},
13135     { &hf_qsig_pr_extensionPRS,
13136       { "extension", "qsig.pr.extension",
13137         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRSExtension_vals), 0,
13138         "PRSExtension", HFILL }},
13139     { &hf_qsig_pr_extensionPRR,
13140       { "extension", "qsig.pr.extension",
13141         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRRExtension_vals), 0,
13142         "PRRExtension", HFILL }},
13143     { &hf_qsig_pr_null,
13144       { "null", "qsig.pr.null_element",
13145         FT_NONE, BASE_NONE, NULL, 0,
13146         NULL, HFILL }},
13147
13148 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
13149
13150     { &hf_qsig_ct_qsig_ct_DummyArg_PDU,
13151       { "DummyArg", "qsig.ct.DummyArg",
13152         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyArg_vals), 0,
13153         NULL, HFILL }},
13154     { &hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU,
13155       { "CTIdentifyRes", "qsig.ct.CTIdentifyRes_element",
13156         FT_NONE, BASE_NONE, NULL, 0,
13157         NULL, HFILL }},
13158     { &hf_qsig_ct_qsig_ct_CTInitiateArg_PDU,
13159       { "CTInitiateArg", "qsig.ct.CTInitiateArg_element",
13160         FT_NONE, BASE_NONE, NULL, 0,
13161         NULL, HFILL }},
13162     { &hf_qsig_ct_qsig_ct_DummyRes_PDU,
13163       { "DummyRes", "qsig.ct.DummyRes",
13164         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyRes_vals), 0,
13165         NULL, HFILL }},
13166     { &hf_qsig_ct_qsig_ct_CTSetupArg_PDU,
13167       { "CTSetupArg", "qsig.ct.CTSetupArg_element",
13168         FT_NONE, BASE_NONE, NULL, 0,
13169         NULL, HFILL }},
13170     { &hf_qsig_ct_qsig_ct_CTActiveArg_PDU,
13171       { "CTActiveArg", "qsig.ct.CTActiveArg_element",
13172         FT_NONE, BASE_NONE, NULL, 0,
13173         NULL, HFILL }},
13174     { &hf_qsig_ct_qsig_ct_CTCompleteArg_PDU,
13175       { "CTCompleteArg", "qsig.ct.CTCompleteArg_element",
13176         FT_NONE, BASE_NONE, NULL, 0,
13177         NULL, HFILL }},
13178     { &hf_qsig_ct_qsig_ct_CTUpdateArg_PDU,
13179       { "CTUpdateArg", "qsig.ct.CTUpdateArg_element",
13180         FT_NONE, BASE_NONE, NULL, 0,
13181         NULL, HFILL }},
13182     { &hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU,
13183       { "SubaddressTransferArg", "qsig.ct.SubaddressTransferArg_element",
13184         FT_NONE, BASE_NONE, NULL, 0,
13185         NULL, HFILL }},
13186     { &hf_qsig_ct_qsig_ct_Extension_PDU,
13187       { "Extension", "qsig.ct.Extension_element",
13188         FT_NONE, BASE_NONE, NULL, 0,
13189         NULL, HFILL }},
13190     { &hf_qsig_ct_null,
13191       { "null", "qsig.ct.null_element",
13192         FT_NONE, BASE_NONE, NULL, 0,
13193         NULL, HFILL }},
13194     { &hf_qsig_ct_single,
13195       { "single", "qsig.ct.single_element",
13196         FT_NONE, BASE_NONE, NULL, 0,
13197         "Extension", HFILL }},
13198     { &hf_qsig_ct_multiple,
13199       { "multiple", "qsig.ct.multiple",
13200         FT_UINT32, BASE_DEC, NULL, 0,
13201         "SEQUENCE_OF_Extension", HFILL }},
13202     { &hf_qsig_ct_multiple_item,
13203       { "Extension", "qsig.ct.Extension_element",
13204         FT_NONE, BASE_NONE, NULL, 0,
13205         NULL, HFILL }},
13206     { &hf_qsig_ct_callIdentity,
13207       { "callIdentity", "qsig.ct.callIdentity",
13208         FT_STRING, BASE_NONE, NULL, 0,
13209         NULL, HFILL }},
13210     { &hf_qsig_ct_rerouteingNumber,
13211       { "rerouteingNumber", "qsig.ct.rerouteingNumber",
13212         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13213         "PartyNumber", HFILL }},
13214     { &hf_qsig_ct_resultExtension,
13215       { "resultExtension", "qsig.ct.resultExtension",
13216         FT_UINT32, BASE_DEC, VALS(qsig_ct_T_resultExtension_vals), 0,
13217         NULL, HFILL }},
13218     { &hf_qsig_ct_argumentExtensionCTI,
13219       { "argumentExtension", "qsig.ct.argumentExtension",
13220         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTIargumentExtension_vals), 0,
13221         "CTIargumentExtension", HFILL }},
13222     { &hf_qsig_ct_argumentExtensionCTS,
13223       { "argumentExtension", "qsig.ct.argumentExtension",
13224         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTSargumentExtension_vals), 0,
13225         "CTSargumentExtension", HFILL }},
13226     { &hf_qsig_ct_connectedAddress,
13227       { "connectedAddress", "qsig.ct.connectedAddress",
13228         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
13229         "PresentedAddressScreened", HFILL }},
13230     { &hf_qsig_ct_basicCallInfoElements,
13231       { "basicCallInfoElements", "qsig.ct.basicCallInfoElements",
13232         FT_BYTES, BASE_NONE, NULL, 0,
13233         "PSS1InformationElement", HFILL }},
13234     { &hf_qsig_ct_connectedName,
13235       { "connectedName", "qsig.ct.connectedName",
13236         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13237         "Name", HFILL }},
13238     { &hf_qsig_ct_argumentExtensionCTA,
13239       { "argumentExtension", "qsig.ct.argumentExtension",
13240         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTAargumentExtension_vals), 0,
13241         "CTAargumentExtension", HFILL }},
13242     { &hf_qsig_ct_endDesignation,
13243       { "endDesignation", "qsig.ct.endDesignation",
13244         FT_UINT32, BASE_DEC, VALS(qsig_ct_EndDesignation_vals), 0,
13245         NULL, HFILL }},
13246     { &hf_qsig_ct_redirectionNumber,
13247       { "redirectionNumber", "qsig.ct.redirectionNumber",
13248         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13249         "PresentedNumberScreened", HFILL }},
13250     { &hf_qsig_ct_redirectionName,
13251       { "redirectionName", "qsig.ct.redirectionName",
13252         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13253         "Name", HFILL }},
13254     { &hf_qsig_ct_callStatus,
13255       { "callStatus", "qsig.ct.callStatus",
13256         FT_UINT32, BASE_DEC, VALS(qsig_ct_CallStatus_vals), 0,
13257         NULL, HFILL }},
13258     { &hf_qsig_ct_argumentExtensionCTC,
13259       { "argumentExtension", "qsig.ct.argumentExtension",
13260         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTCargumentExtension_vals), 0,
13261         "CTCargumentExtension", HFILL }},
13262     { &hf_qsig_ct_argumentExtensionCTU,
13263       { "argumentExtension", "qsig.ct.argumentExtension",
13264         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTUargumentExtension_vals), 0,
13265         "CTUargumentExtension", HFILL }},
13266     { &hf_qsig_ct_redirectionSubaddress,
13267       { "redirectionSubaddress", "qsig.ct.redirectionSubaddress",
13268         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13269         "PartySubaddress", HFILL }},
13270     { &hf_qsig_ct_argumentExtensionST,
13271       { "argumentExtension", "qsig.ct.argumentExtension",
13272         FT_UINT32, BASE_DEC, VALS(qsig_ct_STargumentExtension_vals), 0,
13273         "STargumentExtension", HFILL }},
13274
13275 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
13276
13277     { &hf_qsig_cc_qsig_cc_CcRequestArg_PDU,
13278       { "CcRequestArg", "qsig.cc.CcRequestArg_element",
13279         FT_NONE, BASE_NONE, NULL, 0,
13280         NULL, HFILL }},
13281     { &hf_qsig_cc_qsig_cc_CcRequestRes_PDU,
13282       { "CcRequestRes", "qsig.cc.CcRequestRes_element",
13283         FT_NONE, BASE_NONE, NULL, 0,
13284         NULL, HFILL }},
13285     { &hf_qsig_cc_qsig_cc_CcOptionalArg_PDU,
13286       { "CcOptionalArg", "qsig.cc.CcOptionalArg",
13287         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcOptionalArg_vals), 0,
13288         NULL, HFILL }},
13289     { &hf_qsig_cc_qsig_cc_CcExtension_PDU,
13290       { "CcExtension", "qsig.cc.CcExtension",
13291         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13292         NULL, HFILL }},
13293     { &hf_qsig_cc_qsig_cc_Extension_PDU,
13294       { "Extension", "qsig.cc.Extension_element",
13295         FT_NONE, BASE_NONE, NULL, 0,
13296         NULL, HFILL }},
13297     { &hf_qsig_cc_numberA,
13298       { "numberA", "qsig.cc.numberA",
13299         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13300         "PresentedNumberUnscreened", HFILL }},
13301     { &hf_qsig_cc_numberB,
13302       { "numberB", "qsig.cc.numberB",
13303         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13304         "PartyNumber", HFILL }},
13305     { &hf_qsig_cc_service,
13306       { "service", "qsig.cc.service",
13307         FT_BYTES, BASE_NONE, NULL, 0,
13308         "PSS1InformationElement", HFILL }},
13309     { &hf_qsig_cc_subaddrA,
13310       { "subaddrA", "qsig.cc.subaddrA",
13311         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13312         "PartySubaddress", HFILL }},
13313     { &hf_qsig_cc_subaddrB,
13314       { "subaddrB", "qsig.cc.subaddrB",
13315         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13316         "PartySubaddress", HFILL }},
13317     { &hf_qsig_cc_can_retain_service,
13318       { "can-retain-service", "qsig.cc.can_retain_service",
13319         FT_BOOLEAN, BASE_NONE, NULL, 0,
13320         "BOOLEAN", HFILL }},
13321     { &hf_qsig_cc_retain_sig_connection,
13322       { "retain-sig-connection", "qsig.cc.retain_sig_connection",
13323         FT_BOOLEAN, BASE_NONE, NULL, 0,
13324         "BOOLEAN", HFILL }},
13325     { &hf_qsig_cc_extension,
13326       { "extension", "qsig.cc.extension",
13327         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13328         "CcExtension", HFILL }},
13329     { &hf_qsig_cc_no_path_reservation,
13330       { "no-path-reservation", "qsig.cc.no_path_reservation",
13331         FT_BOOLEAN, BASE_NONE, NULL, 0,
13332         "BOOLEAN", HFILL }},
13333     { &hf_qsig_cc_retain_service,
13334       { "retain-service", "qsig.cc.retain_service",
13335         FT_BOOLEAN, BASE_NONE, NULL, 0,
13336         "BOOLEAN", HFILL }},
13337     { &hf_qsig_cc_fullArg,
13338       { "fullArg", "qsig.cc.fullArg_element",
13339         FT_NONE, BASE_NONE, NULL, 0,
13340         NULL, HFILL }},
13341     { &hf_qsig_cc_numberA_01,
13342       { "numberA", "qsig.cc.numberA",
13343         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13344         "PartyNumber", HFILL }},
13345     { &hf_qsig_cc_extArg,
13346       { "extArg", "qsig.cc.extArg",
13347         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13348         "CcExtension", HFILL }},
13349     { &hf_qsig_cc_none,
13350       { "none", "qsig.cc.none_element",
13351         FT_NONE, BASE_NONE, NULL, 0,
13352         NULL, HFILL }},
13353     { &hf_qsig_cc_single,
13354       { "single", "qsig.cc.single_element",
13355         FT_NONE, BASE_NONE, NULL, 0,
13356         "Extension", HFILL }},
13357     { &hf_qsig_cc_multiple,
13358       { "multiple", "qsig.cc.multiple",
13359         FT_UINT32, BASE_DEC, NULL, 0,
13360         "SEQUENCE_OF_Extension", HFILL }},
13361     { &hf_qsig_cc_multiple_item,
13362       { "Extension", "qsig.cc.Extension_element",
13363         FT_NONE, BASE_NONE, NULL, 0,
13364         NULL, HFILL }},
13365
13366 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
13367
13368     { &hf_qsig_co_qsig_co_PathRetainArg_PDU,
13369       { "PathRetainArg", "qsig.co.PathRetainArg",
13370         FT_UINT32, BASE_DEC, VALS(qsig_co_PathRetainArg_vals), 0,
13371         NULL, HFILL }},
13372     { &hf_qsig_co_qsig_co_ServiceAvailableArg_PDU,
13373       { "ServiceAvailableArg", "qsig.co.ServiceAvailableArg",
13374         FT_UINT32, BASE_DEC, VALS(qsig_co_ServiceAvailableArg_vals), 0,
13375         NULL, HFILL }},
13376     { &hf_qsig_co_qsig_co_DummyArg_PDU,
13377       { "DummyArg", "qsig.co.DummyArg",
13378         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyArg_vals), 0,
13379         NULL, HFILL }},
13380     { &hf_qsig_co_qsig_co_DummyRes_PDU,
13381       { "DummyRes", "qsig.co.DummyRes",
13382         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyRes_vals), 0,
13383         NULL, HFILL }},
13384     { &hf_qsig_co_qsig_co_Extension_PDU,
13385       { "Extension", "qsig.co.Extension_element",
13386         FT_NONE, BASE_NONE, NULL, 0,
13387         NULL, HFILL }},
13388     { &hf_qsig_co_serviceList,
13389       { "serviceList", "qsig.co.serviceList",
13390         FT_BYTES, BASE_NONE, NULL, 0,
13391         NULL, HFILL }},
13392     { &hf_qsig_co_extendedServiceList,
13393       { "extendedServiceList", "qsig.co.extendedServiceList_element",
13394         FT_NONE, BASE_NONE, NULL, 0,
13395         NULL, HFILL }},
13396     { &hf_qsig_co_extension,
13397       { "extension", "qsig.co.extension_element",
13398         FT_NONE, BASE_NONE, NULL, 0,
13399         NULL, HFILL }},
13400     { &hf_qsig_co_extendedServiceList_01,
13401       { "extendedServiceList", "qsig.co.extendedServiceList_element",
13402         FT_NONE, BASE_NONE, NULL, 0,
13403         "T_extendedServiceList_01", HFILL }},
13404     { &hf_qsig_co_null,
13405       { "null", "qsig.co.null_element",
13406         FT_NONE, BASE_NONE, NULL, 0,
13407         NULL, HFILL }},
13408     { &hf_qsig_co_sequenceOfExtn,
13409       { "sequenceOfExtn", "qsig.co.sequenceOfExtn",
13410         FT_UINT32, BASE_DEC, NULL, 0,
13411         "SEQUENCE_OF_Extension", HFILL }},
13412     { &hf_qsig_co_sequenceOfExtn_item,
13413       { "Extension", "qsig.co.Extension_element",
13414         FT_NONE, BASE_NONE, NULL, 0,
13415         NULL, HFILL }},
13416     { &hf_qsig_co_ServiceList_callOffer,
13417       { "callOffer", "qsig.co.callOffer",
13418         FT_BOOLEAN, 8, NULL, 0x80,
13419         NULL, HFILL }},
13420
13421 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
13422
13423     { &hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU,
13424       { "DNDActivateArg", "qsig.dnd.DNDActivateArg_element",
13425         FT_NONE, BASE_NONE, NULL, 0,
13426         NULL, HFILL }},
13427     { &hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU,
13428       { "DNDActivateRes", "qsig.dnd.DNDActivateRes_element",
13429         FT_NONE, BASE_NONE, NULL, 0,
13430         NULL, HFILL }},
13431     { &hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU,
13432       { "DNDDeactivateArg", "qsig.dnd.DNDDeactivateArg_element",
13433         FT_NONE, BASE_NONE, NULL, 0,
13434         NULL, HFILL }},
13435     { &hf_qsig_dnd_qsig_dnd_DummyRes_PDU,
13436       { "DummyRes", "qsig.dnd.DummyRes",
13437         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyRes_vals), 0,
13438         NULL, HFILL }},
13439     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU,
13440       { "DNDInterrogateArg", "qsig.dnd.DNDInterrogateArg_element",
13441         FT_NONE, BASE_NONE, NULL, 0,
13442         NULL, HFILL }},
13443     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU,
13444       { "DNDInterrogateRes", "qsig.dnd.DNDInterrogateRes_element",
13445         FT_NONE, BASE_NONE, NULL, 0,
13446         NULL, HFILL }},
13447     { &hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU,
13448       { "DNDOverrideArg", "qsig.dnd.DNDOverrideArg_element",
13449         FT_NONE, BASE_NONE, NULL, 0,
13450         NULL, HFILL }},
13451     { &hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU,
13452       { "PathRetainArg", "qsig.dnd.PathRetainArg",
13453         FT_UINT32, BASE_DEC, VALS(qsig_dnd_PathRetainArg_vals), 0,
13454         NULL, HFILL }},
13455     { &hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU,
13456       { "ServiceAvailableArg", "qsig.dnd.ServiceAvailableArg",
13457         FT_UINT32, BASE_DEC, VALS(qsig_dnd_ServiceAvailableArg_vals), 0,
13458         NULL, HFILL }},
13459     { &hf_qsig_dnd_qsig_dnd_DummyArg_PDU,
13460       { "DummyArg", "qsig.dnd.DummyArg",
13461         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyArg_vals), 0,
13462         NULL, HFILL }},
13463     { &hf_qsig_dnd_qsig_dnd_Extension_PDU,
13464       { "Extension", "qsig.dnd.Extension_element",
13465         FT_NONE, BASE_NONE, NULL, 0,
13466         NULL, HFILL }},
13467     { &hf_qsig_dnd_null,
13468       { "null", "qsig.dnd.null_element",
13469         FT_NONE, BASE_NONE, NULL, 0,
13470         NULL, HFILL }},
13471     { &hf_qsig_dnd_extension,
13472       { "extension", "qsig.dnd.extension_element",
13473         FT_NONE, BASE_NONE, NULL, 0,
13474         NULL, HFILL }},
13475     { &hf_qsig_dnd_sequenceOfExtn,
13476       { "sequenceOfExtn", "qsig.dnd.sequenceOfExtn",
13477         FT_UINT32, BASE_DEC, NULL, 0,
13478         "SEQUENCE_OF_Extension", HFILL }},
13479     { &hf_qsig_dnd_sequenceOfExtn_item,
13480       { "Extension", "qsig.dnd.Extension_element",
13481         FT_NONE, BASE_NONE, NULL, 0,
13482         NULL, HFILL }},
13483     { &hf_qsig_dnd_basicService,
13484       { "basicService", "qsig.dnd.basicService",
13485         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
13486         NULL, HFILL }},
13487     { &hf_qsig_dnd_servedUserNr,
13488       { "servedUserNr", "qsig.dnd.servedUserNr",
13489         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13490         "PartyNumber", HFILL }},
13491     { &hf_qsig_dnd_argumentExtensionDNDA,
13492       { "argumentExtension", "qsig.dnd.argumentExtension",
13493         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDAargumentExtension_vals), 0,
13494         "DNDAargumentExtension", HFILL }},
13495     { &hf_qsig_dnd_status,
13496       { "status", "qsig.dnd.status",
13497         FT_UINT32, BASE_DEC, NULL, 0,
13498         NULL, HFILL }},
13499     { &hf_qsig_dnd_status_item,
13500       { "status item", "qsig.dnd.status_item_element",
13501         FT_NONE, BASE_NONE, NULL, 0,
13502         NULL, HFILL }},
13503     { &hf_qsig_dnd_dndProtectionLevel,
13504       { "dndProtectionLevel", "qsig.dnd.dndProtectionLevel",
13505         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDProtectionLevel_vals), 0,
13506         NULL, HFILL }},
13507     { &hf_qsig_dnd_resultExtension,
13508       { "resultExtension", "qsig.dnd.resultExtension",
13509         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_vals), 0,
13510         NULL, HFILL }},
13511     { &hf_qsig_dnd_argumentExtensionDNDD,
13512       { "argumentExtension", "qsig.dnd.argumentExtension",
13513         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDDargumentExtension_vals), 0,
13514         "DNDDargumentExtension", HFILL }},
13515     { &hf_qsig_dnd_argumentExtensionDNDI,
13516       { "argumentExtension", "qsig.dnd.argumentExtension",
13517         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDIargumentExtension_vals), 0,
13518         "DNDIargumentExtension", HFILL }},
13519     { &hf_qsig_dnd_status_01,
13520       { "status", "qsig.dnd.status",
13521         FT_UINT32, BASE_DEC, NULL, 0,
13522         "T_status_01", HFILL }},
13523     { &hf_qsig_dnd_status_item_01,
13524       { "status item", "qsig.dnd.status_item_element",
13525         FT_NONE, BASE_NONE, NULL, 0,
13526         "T_status_item_01", HFILL }},
13527     { &hf_qsig_dnd_resultExtension_01,
13528       { "resultExtension", "qsig.dnd.resultExtension",
13529         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_01_vals), 0,
13530         "T_resultExtension_01", HFILL }},
13531     { &hf_qsig_dnd_dndoCapabilityLevel,
13532       { "dndoCapabilityLevel", "qsig.dnd.dndoCapabilityLevel",
13533         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOCapabilityLevel_vals), 0,
13534         NULL, HFILL }},
13535     { &hf_qsig_dnd_argumentExtensionDNDO,
13536       { "argumentExtension", "qsig.dnd.argumentExtension",
13537         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOargumentExtension_vals), 0,
13538         "DNDOargumentExtension", HFILL }},
13539     { &hf_qsig_dnd_serviceList,
13540       { "serviceList", "qsig.dnd.serviceList",
13541         FT_BYTES, BASE_NONE, NULL, 0,
13542         NULL, HFILL }},
13543     { &hf_qsig_dnd_extendedServiceList,
13544       { "extendedServiceList", "qsig.dnd.extendedServiceList_element",
13545         FT_NONE, BASE_NONE, NULL, 0,
13546         NULL, HFILL }},
13547     { &hf_qsig_dnd_extendedServiceList_01,
13548       { "extendedServiceList", "qsig.dnd.extendedServiceList_element",
13549         FT_NONE, BASE_NONE, NULL, 0,
13550         "T_extendedServiceList_01", HFILL }},
13551     { &hf_qsig_dnd_ServiceList_dndo_low,
13552       { "dndo-low", "qsig.dnd.dndo-low",
13553         FT_BOOLEAN, 8, NULL, 0x40,
13554         NULL, HFILL }},
13555     { &hf_qsig_dnd_ServiceList_dndo_medium,
13556       { "dndo-medium", "qsig.dnd.dndo-medium",
13557         FT_BOOLEAN, 8, NULL, 0x20,
13558         NULL, HFILL }},
13559     { &hf_qsig_dnd_ServiceList_dndo_high,
13560       { "dndo-high", "qsig.dnd.dndo-high",
13561         FT_BOOLEAN, 8, NULL, 0x10,
13562         NULL, HFILL }},
13563
13564 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
13565
13566     { &hf_qsig_ci_qsig_ci_PathRetainArg_PDU,
13567       { "PathRetainArg", "qsig.ci.PathRetainArg",
13568         FT_UINT32, BASE_DEC, VALS(qsig_ci_PathRetainArg_vals), 0,
13569         NULL, HFILL }},
13570     { &hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU,
13571       { "ServiceAvailableArg", "qsig.ci.ServiceAvailableArg",
13572         FT_UINT32, BASE_DEC, VALS(qsig_ci_ServiceAvailableArg_vals), 0,
13573         NULL, HFILL }},
13574     { &hf_qsig_ci_qsig_ci_CIRequestArg_PDU,
13575       { "CIRequestArg", "qsig.ci.CIRequestArg_element",
13576         FT_NONE, BASE_NONE, NULL, 0,
13577         NULL, HFILL }},
13578     { &hf_qsig_ci_qsig_ci_CIRequestRes_PDU,
13579       { "CIRequestRes", "qsig.ci.CIRequestRes_element",
13580         FT_NONE, BASE_NONE, NULL, 0,
13581         NULL, HFILL }},
13582     { &hf_qsig_ci_qsig_ci_DummyArg_PDU,
13583       { "DummyArg", "qsig.ci.DummyArg",
13584         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyArg_vals), 0,
13585         NULL, HFILL }},
13586     { &hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU,
13587       { "CIGetCIPLRes", "qsig.ci.CIGetCIPLRes_element",
13588         FT_NONE, BASE_NONE, NULL, 0,
13589         NULL, HFILL }},
13590     { &hf_qsig_ci_qsig_ci_DummyRes_PDU,
13591       { "DummyRes", "qsig.ci.DummyRes",
13592         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyRes_vals), 0,
13593         NULL, HFILL }},
13594     { &hf_qsig_ci_qsig_ci_Extension_PDU,
13595       { "Extension", "qsig.ci.Extension_element",
13596         FT_NONE, BASE_NONE, NULL, 0,
13597         NULL, HFILL }},
13598     { &hf_qsig_ci_serviceList,
13599       { "serviceList", "qsig.ci.serviceList",
13600         FT_BYTES, BASE_NONE, NULL, 0,
13601         NULL, HFILL }},
13602     { &hf_qsig_ci_extendedServiceList,
13603       { "extendedServiceList", "qsig.ci.extendedServiceList_element",
13604         FT_NONE, BASE_NONE, NULL, 0,
13605         NULL, HFILL }},
13606     { &hf_qsig_ci_extension,
13607       { "extension", "qsig.ci.extension_element",
13608         FT_NONE, BASE_NONE, NULL, 0,
13609         NULL, HFILL }},
13610     { &hf_qsig_ci_extendedServiceList_01,
13611       { "extendedServiceList", "qsig.ci.extendedServiceList_element",
13612         FT_NONE, BASE_NONE, NULL, 0,
13613         "T_extendedServiceList_01", HFILL }},
13614     { &hf_qsig_ci_null,
13615       { "null", "qsig.ci.null_element",
13616         FT_NONE, BASE_NONE, NULL, 0,
13617         NULL, HFILL }},
13618     { &hf_qsig_ci_sequenceOfExtn,
13619       { "sequenceOfExtn", "qsig.ci.sequenceOfExtn",
13620         FT_UINT32, BASE_DEC, NULL, 0,
13621         "SEQUENCE_OF_Extension", HFILL }},
13622     { &hf_qsig_ci_sequenceOfExtn_item,
13623       { "Extension", "qsig.ci.Extension_element",
13624         FT_NONE, BASE_NONE, NULL, 0,
13625         NULL, HFILL }},
13626     { &hf_qsig_ci_ciCapabilityLevel,
13627       { "ciCapabilityLevel", "qsig.ci.ciCapabilityLevel",
13628         FT_UINT32, BASE_DEC, VALS(qsig_ci_CICapabilityLevel_vals), 0,
13629         NULL, HFILL }},
13630     { &hf_qsig_ci_argumentExtension,
13631       { "argumentExtension", "qsig.ci.argumentExtension",
13632         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_argumentExtension_vals), 0,
13633         NULL, HFILL }},
13634     { &hf_qsig_ci_ciUnwantedUserStatus,
13635       { "ciUnwantedUserStatus", "qsig.ci.ciUnwantedUserStatus",
13636         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIUnwantedUserStatus_vals), 0,
13637         NULL, HFILL }},
13638     { &hf_qsig_ci_resultExtension,
13639       { "resultExtension", "qsig.ci.resultExtension",
13640         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_vals), 0,
13641         NULL, HFILL }},
13642     { &hf_qsig_ci_ciProtectionLevel,
13643       { "ciProtectionLevel", "qsig.ci.ciProtectionLevel",
13644         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIProtectionLevel_vals), 0,
13645         NULL, HFILL }},
13646     { &hf_qsig_ci_resultExtension_01,
13647       { "resultExtension", "qsig.ci.resultExtension",
13648         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_01_vals), 0,
13649         "T_resultExtension_01", HFILL }},
13650     { &hf_qsig_ci_ServiceList_ci_low,
13651       { "ci-low", "qsig.ci.ci-low",
13652         FT_BOOLEAN, 8, NULL, 0x08,
13653         NULL, HFILL }},
13654     { &hf_qsig_ci_ServiceList_ci_medium,
13655       { "ci-medium", "qsig.ci.ci-medium",
13656         FT_BOOLEAN, 8, NULL, 0x04,
13657         NULL, HFILL }},
13658     { &hf_qsig_ci_ServiceList_ci_high,
13659       { "ci-high", "qsig.ci.ci-high",
13660         FT_BOOLEAN, 8, NULL, 0x02,
13661         NULL, HFILL }},
13662
13663 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
13664
13665     { &hf_qsig_aoc_qsig_aoc_AocRateArg_PDU,
13666       { "AocRateArg", "qsig.aoc.AocRateArg_element",
13667         FT_NONE, BASE_NONE, NULL, 0,
13668         NULL, HFILL }},
13669     { &hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU,
13670       { "AocInterimArg", "qsig.aoc.AocInterimArg_element",
13671         FT_NONE, BASE_NONE, NULL, 0,
13672         NULL, HFILL }},
13673     { &hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU,
13674       { "AocFinalArg", "qsig.aoc.AocFinalArg_element",
13675         FT_NONE, BASE_NONE, NULL, 0,
13676         NULL, HFILL }},
13677     { &hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU,
13678       { "ChargeRequestArg", "qsig.aoc.ChargeRequestArg_element",
13679         FT_NONE, BASE_NONE, NULL, 0,
13680         NULL, HFILL }},
13681     { &hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU,
13682       { "ChargeRequestRes", "qsig.aoc.ChargeRequestRes_element",
13683         FT_NONE, BASE_NONE, NULL, 0,
13684         NULL, HFILL }},
13685     { &hf_qsig_aoc_qsig_aoc_DummyArg_PDU,
13686       { "DummyArg", "qsig.aoc.DummyArg",
13687         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DummyArg_vals), 0,
13688         NULL, HFILL }},
13689     { &hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU,
13690       { "AocCompleteArg", "qsig.aoc.AocCompleteArg_element",
13691         FT_NONE, BASE_NONE, NULL, 0,
13692         NULL, HFILL }},
13693     { &hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU,
13694       { "AocCompleteRes", "qsig.aoc.AocCompleteRes_element",
13695         FT_NONE, BASE_NONE, NULL, 0,
13696         NULL, HFILL }},
13697     { &hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU,
13698       { "AocDivChargeReqArg", "qsig.aoc.AocDivChargeReqArg_element",
13699         FT_NONE, BASE_NONE, NULL, 0,
13700         NULL, HFILL }},
13701     { &hf_qsig_aoc_qsig_aoc_Extension_PDU,
13702       { "Extension", "qsig.aoc.Extension_element",
13703         FT_NONE, BASE_NONE, NULL, 0,
13704         NULL, HFILL }},
13705     { &hf_qsig_aoc_aocRate,
13706       { "aocRate", "qsig.aoc.aocRate",
13707         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocRate_vals), 0,
13708         NULL, HFILL }},
13709     { &hf_qsig_aoc_chargeNotAvailable,
13710       { "chargeNotAvailable", "qsig.aoc.chargeNotAvailable_element",
13711         FT_NONE, BASE_NONE, NULL, 0,
13712         NULL, HFILL }},
13713     { &hf_qsig_aoc_aocSCurrencyInfoList,
13714       { "aocSCurrencyInfoList", "qsig.aoc.aocSCurrencyInfoList",
13715         FT_UINT32, BASE_DEC, NULL, 0,
13716         NULL, HFILL }},
13717     { &hf_qsig_aoc_rateArgExtension,
13718       { "rateArgExtension", "qsig.aoc.rateArgExtension",
13719         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateArgExtension_vals), 0,
13720         NULL, HFILL }},
13721     { &hf_qsig_aoc_extension,
13722       { "extension", "qsig.aoc.extension_element",
13723         FT_NONE, BASE_NONE, NULL, 0,
13724         NULL, HFILL }},
13725     { &hf_qsig_aoc_multipleExtension,
13726       { "multipleExtension", "qsig.aoc.multipleExtension",
13727         FT_UINT32, BASE_DEC, NULL, 0,
13728         "SEQUENCE_OF_Extension", HFILL }},
13729     { &hf_qsig_aoc_multipleExtension_item,
13730       { "Extension", "qsig.aoc.Extension_element",
13731         FT_NONE, BASE_NONE, NULL, 0,
13732         NULL, HFILL }},
13733     { &hf_qsig_aoc_interimCharge,
13734       { "interimCharge", "qsig.aoc.interimCharge",
13735         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimCharge_vals), 0,
13736         NULL, HFILL }},
13737     { &hf_qsig_aoc_freeOfCharge,
13738       { "freeOfCharge", "qsig.aoc.freeOfCharge_element",
13739         FT_NONE, BASE_NONE, NULL, 0,
13740         NULL, HFILL }},
13741     { &hf_qsig_aoc_specificCurrency,
13742       { "specificCurrency", "qsig.aoc.specificCurrency_element",
13743         FT_NONE, BASE_NONE, NULL, 0,
13744         NULL, HFILL }},
13745     { &hf_qsig_aoc_recordedCurrency,
13746       { "recordedCurrency", "qsig.aoc.recordedCurrency_element",
13747         FT_NONE, BASE_NONE, NULL, 0,
13748         NULL, HFILL }},
13749     { &hf_qsig_aoc_interimBillingId,
13750       { "interimBillingId", "qsig.aoc.interimBillingId",
13751         FT_UINT32, BASE_DEC, VALS(qsig_aoc_InterimBillingId_vals), 0,
13752         NULL, HFILL }},
13753     { &hf_qsig_aoc_interimArgExtension,
13754       { "interimArgExtension", "qsig.aoc.interimArgExtension",
13755         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimArgExtension_vals), 0,
13756         NULL, HFILL }},
13757     { &hf_qsig_aoc_finalCharge,
13758       { "finalCharge", "qsig.aoc.finalCharge",
13759         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalCharge_vals), 0,
13760         NULL, HFILL }},
13761     { &hf_qsig_aoc_specificCurrency_01,
13762       { "specificCurrency", "qsig.aoc.specificCurrency_element",
13763         FT_NONE, BASE_NONE, NULL, 0,
13764         "T_specificCurrency_01", HFILL }},
13765     { &hf_qsig_aoc_finalBillingId,
13766       { "finalBillingId", "qsig.aoc.finalBillingId",
13767         FT_UINT32, BASE_DEC, VALS(qsig_aoc_FinalBillingId_vals), 0,
13768         NULL, HFILL }},
13769     { &hf_qsig_aoc_chargingAssociation,
13770       { "chargingAssociation", "qsig.aoc.chargingAssociation",
13771         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingAssociation_vals), 0,
13772         NULL, HFILL }},
13773     { &hf_qsig_aoc_finalArgExtension,
13774       { "finalArgExtension", "qsig.aoc.finalArgExtension",
13775         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalArgExtension_vals), 0,
13776         NULL, HFILL }},
13777     { &hf_qsig_aoc_AOCSCurrencyInfoList_item,
13778       { "AOCSCurrencyInfo", "qsig.aoc.AOCSCurrencyInfo_element",
13779         FT_NONE, BASE_NONE, NULL, 0,
13780         NULL, HFILL }},
13781     { &hf_qsig_aoc_chargedItem,
13782       { "chargedItem", "qsig.aoc.chargedItem",
13783         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargedItem_vals), 0,
13784         NULL, HFILL }},
13785     { &hf_qsig_aoc_rateType,
13786       { "rateType", "qsig.aoc.rateType",
13787         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateType_vals), 0,
13788         NULL, HFILL }},
13789     { &hf_qsig_aoc_durationCurrency,
13790       { "durationCurrency", "qsig.aoc.durationCurrency_element",
13791         FT_NONE, BASE_NONE, NULL, 0,
13792         NULL, HFILL }},
13793     { &hf_qsig_aoc_flatRateCurrency,
13794       { "flatRateCurrency", "qsig.aoc.flatRateCurrency_element",
13795         FT_NONE, BASE_NONE, NULL, 0,
13796         NULL, HFILL }},
13797     { &hf_qsig_aoc_volumeRateCurrency,
13798       { "volumeRateCurrency", "qsig.aoc.volumeRateCurrency_element",
13799         FT_NONE, BASE_NONE, NULL, 0,
13800         NULL, HFILL }},
13801     { &hf_qsig_aoc_specialChargingCode,
13802       { "specialChargingCode", "qsig.aoc.specialChargingCode",
13803         FT_UINT32, BASE_DEC, NULL, 0,
13804         NULL, HFILL }},
13805     { &hf_qsig_aoc_currencyInfoNotAvailable,
13806       { "currencyInfoNotAvailable", "qsig.aoc.currencyInfoNotAvailable_element",
13807         FT_NONE, BASE_NONE, NULL, 0,
13808         NULL, HFILL }},
13809     { &hf_qsig_aoc_freeOfChargefromBeginning,
13810       { "freeOfChargefromBeginning", "qsig.aoc.freeOfChargefromBeginning_element",
13811         FT_NONE, BASE_NONE, NULL, 0,
13812         NULL, HFILL }},
13813     { &hf_qsig_aoc_dCurrency,
13814       { "dCurrency", "qsig.aoc.dCurrency",
13815         FT_STRING, BASE_NONE, NULL, 0,
13816         "Currency", HFILL }},
13817     { &hf_qsig_aoc_dAmount,
13818       { "dAmount", "qsig.aoc.dAmount_element",
13819         FT_NONE, BASE_NONE, NULL, 0,
13820         "Amount", HFILL }},
13821     { &hf_qsig_aoc_dChargingType,
13822       { "dChargingType", "qsig.aoc.dChargingType",
13823         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingType_vals), 0,
13824         "ChargingType", HFILL }},
13825     { &hf_qsig_aoc_dTime,
13826       { "dTime", "qsig.aoc.dTime_element",
13827         FT_NONE, BASE_NONE, NULL, 0,
13828         "Time", HFILL }},
13829     { &hf_qsig_aoc_dGranularity,
13830       { "dGranularity", "qsig.aoc.dGranularity_element",
13831         FT_NONE, BASE_NONE, NULL, 0,
13832         "Time", HFILL }},
13833     { &hf_qsig_aoc_fRCurrency,
13834       { "fRCurrency", "qsig.aoc.fRCurrency",
13835         FT_STRING, BASE_NONE, NULL, 0,
13836         "Currency", HFILL }},
13837     { &hf_qsig_aoc_fRAmount,
13838       { "fRAmount", "qsig.aoc.fRAmount_element",
13839         FT_NONE, BASE_NONE, NULL, 0,
13840         "Amount", HFILL }},
13841     { &hf_qsig_aoc_vRCurrency,
13842       { "vRCurrency", "qsig.aoc.vRCurrency",
13843         FT_STRING, BASE_NONE, NULL, 0,
13844         "Currency", HFILL }},
13845     { &hf_qsig_aoc_vRAmount,
13846       { "vRAmount", "qsig.aoc.vRAmount_element",
13847         FT_NONE, BASE_NONE, NULL, 0,
13848         "Amount", HFILL }},
13849     { &hf_qsig_aoc_vRVolumeUnit,
13850       { "vRVolumeUnit", "qsig.aoc.vRVolumeUnit",
13851         FT_UINT32, BASE_DEC, VALS(qsig_aoc_VolumeUnit_vals), 0,
13852         "VolumeUnit", HFILL }},
13853     { &hf_qsig_aoc_rCurrency,
13854       { "rCurrency", "qsig.aoc.rCurrency",
13855         FT_STRING, BASE_NONE, NULL, 0,
13856         "Currency", HFILL }},
13857     { &hf_qsig_aoc_rAmount,
13858       { "rAmount", "qsig.aoc.rAmount_element",
13859         FT_NONE, BASE_NONE, NULL, 0,
13860         "Amount", HFILL }},
13861     { &hf_qsig_aoc_currencyAmount,
13862       { "currencyAmount", "qsig.aoc.currencyAmount",
13863         FT_UINT32, BASE_DEC, NULL, 0,
13864         NULL, HFILL }},
13865     { &hf_qsig_aoc_multiplier,
13866       { "multiplier", "qsig.aoc.multiplier",
13867         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Multiplier_vals), 0,
13868         NULL, HFILL }},
13869     { &hf_qsig_aoc_lengthOfTimeUnit,
13870       { "lengthOfTimeUnit", "qsig.aoc.lengthOfTimeUnit",
13871         FT_UINT32, BASE_DEC, NULL, 0,
13872         NULL, HFILL }},
13873     { &hf_qsig_aoc_scale,
13874       { "scale", "qsig.aoc.scale",
13875         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Scale_vals), 0,
13876         NULL, HFILL }},
13877     { &hf_qsig_aoc_chargeNumber,
13878       { "chargeNumber", "qsig.aoc.chargeNumber",
13879         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13880         "PartyNumber", HFILL }},
13881     { &hf_qsig_aoc_chargeIdentifier,
13882       { "chargeIdentifier", "qsig.aoc.chargeIdentifier",
13883         FT_INT32, BASE_DEC, NULL, 0,
13884         NULL, HFILL }},
13885     { &hf_qsig_aoc_adviceModeCombinations,
13886       { "adviceModeCombinations", "qsig.aoc.adviceModeCombinations",
13887         FT_UINT32, BASE_DEC, NULL, 0,
13888         "SEQUENCE_SIZE_0_7_OF_AdviceModeCombination", HFILL }},
13889     { &hf_qsig_aoc_adviceModeCombinations_item,
13890       { "AdviceModeCombination", "qsig.aoc.AdviceModeCombination",
13891         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13892         NULL, HFILL }},
13893     { &hf_qsig_aoc_chargeReqArgExtension,
13894       { "chargeReqArgExtension", "qsig.aoc.chargeReqArgExtension",
13895         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqArgExtension_vals), 0,
13896         NULL, HFILL }},
13897     { &hf_qsig_aoc_adviceModeCombination,
13898       { "adviceModeCombination", "qsig.aoc.adviceModeCombination",
13899         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13900         NULL, HFILL }},
13901     { &hf_qsig_aoc_chargeReqResExtension,
13902       { "chargeReqResExtension", "qsig.aoc.chargeReqResExtension",
13903         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqResExtension_vals), 0,
13904         NULL, HFILL }},
13905     { &hf_qsig_aoc_none,
13906       { "none", "qsig.aoc.none_element",
13907         FT_NONE, BASE_NONE, NULL, 0,
13908         NULL, HFILL }},
13909     { &hf_qsig_aoc_chargedUser,
13910       { "chargedUser", "qsig.aoc.chargedUser",
13911         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13912         "PartyNumber", HFILL }},
13913     { &hf_qsig_aoc_completeArgExtension,
13914       { "completeArgExtension", "qsig.aoc.completeArgExtension",
13915         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeArgExtension_vals), 0,
13916         NULL, HFILL }},
13917     { &hf_qsig_aoc_chargingOption,
13918       { "chargingOption", "qsig.aoc.chargingOption",
13919         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingOption_vals), 0,
13920         NULL, HFILL }},
13921     { &hf_qsig_aoc_completeResExtension,
13922       { "completeResExtension", "qsig.aoc.completeResExtension",
13923         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeResExtension_vals), 0,
13924         NULL, HFILL }},
13925     { &hf_qsig_aoc_divertingUser,
13926       { "divertingUser", "qsig.aoc.divertingUser",
13927         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13928         "PartyNumber", HFILL }},
13929     { &hf_qsig_aoc_diversionType,
13930       { "diversionType", "qsig.aoc.diversionType",
13931         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DiversionType_vals), 0,
13932         NULL, HFILL }},
13933     { &hf_qsig_aoc_aocDivChargeReqArgExt,
13934       { "aocDivChargeReqArgExt", "qsig.aoc.aocDivChargeReqArgExt",
13935         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocDivChargeReqArgExt_vals), 0,
13936         NULL, HFILL }},
13937
13938 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
13939
13940     { &hf_qsig_re_qsig_re_ReAlertingArg_PDU,
13941       { "ReAlertingArg", "qsig.re.ReAlertingArg_element",
13942         FT_NONE, BASE_NONE, NULL, 0,
13943         NULL, HFILL }},
13944     { &hf_qsig_re_qsig_re_ReAnswerArg_PDU,
13945       { "ReAnswerArg", "qsig.re.ReAnswerArg_element",
13946         FT_NONE, BASE_NONE, NULL, 0,
13947         NULL, HFILL }},
13948     { &hf_qsig_re_alertedNumber,
13949       { "alertedNumber", "qsig.re.alertedNumber",
13950         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13951         "PresentedNumberScreened", HFILL }},
13952     { &hf_qsig_re_alertedName,
13953       { "alertedName", "qsig.re.alertedName",
13954         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13955         "Name", HFILL }},
13956     { &hf_qsig_re_argumentExtension,
13957       { "argumentExtension", "qsig.re.argumentExtension",
13958         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_vals), 0,
13959         NULL, HFILL }},
13960     { &hf_qsig_re_extension,
13961       { "extension", "qsig.re.extension_element",
13962         FT_NONE, BASE_NONE, NULL, 0,
13963         NULL, HFILL }},
13964     { &hf_qsig_re_multipleExtension,
13965       { "multipleExtension", "qsig.re.multipleExtension",
13966         FT_UINT32, BASE_DEC, NULL, 0,
13967         "SEQUENCE_OF_Extension", HFILL }},
13968     { &hf_qsig_re_multipleExtension_item,
13969       { "Extension", "qsig.re.Extension_element",
13970         FT_NONE, BASE_NONE, NULL, 0,
13971         NULL, HFILL }},
13972     { &hf_qsig_re_connectedNumber,
13973       { "connectedNumber", "qsig.re.connectedNumber",
13974         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13975         "PresentedNumberScreened", HFILL }},
13976     { &hf_qsig_re_connectedSubaddress,
13977       { "connectedSubaddress", "qsig.re.connectedSubaddress",
13978         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13979         "PartySubaddress", HFILL }},
13980     { &hf_qsig_re_connectedName,
13981       { "connectedName", "qsig.re.connectedName",
13982         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13983         "Name", HFILL }},
13984     { &hf_qsig_re_argumentExtension_01,
13985       { "argumentExtension", "qsig.re.argumentExtension",
13986         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_01_vals), 0,
13987         "T_argumentExtension_01", HFILL }},
13988
13989 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
13990
13991     { &hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU,
13992       { "SynchronizationReqArg", "qsig.sync.SynchronizationReqArg_element",
13993         FT_NONE, BASE_NONE, NULL, 0,
13994         NULL, HFILL }},
13995     { &hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU,
13996       { "SynchronizationReqRes", "qsig.sync.SynchronizationReqRes_element",
13997         FT_NONE, BASE_NONE, NULL, 0,
13998         NULL, HFILL }},
13999     { &hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU,
14000       { "SynchronizationInfoArg", "qsig.sync.SynchronizationInfoArg_element",
14001         FT_NONE, BASE_NONE, NULL, 0,
14002         NULL, HFILL }},
14003     { &hf_qsig_sync_qsig_sync_Extension_PDU,
14004       { "Extension", "qsig.sync.Extension_element",
14005         FT_NONE, BASE_NONE, NULL, 0,
14006         NULL, HFILL }},
14007     { &hf_qsig_sync_action,
14008       { "action", "qsig.sync.action",
14009         FT_INT32, BASE_DEC, VALS(qsig_sync_Action_vals), 0,
14010         NULL, HFILL }},
14011     { &hf_qsig_sync_argExtension,
14012       { "argExtension", "qsig.sync.argExtension",
14013         FT_UINT32, BASE_DEC, VALS(qsig_sync_ArgExtension_vals), 0,
14014         NULL, HFILL }},
14015     { &hf_qsig_sync_response,
14016       { "response", "qsig.sync.response",
14017         FT_BOOLEAN, BASE_NONE, NULL, 0,
14018         "BOOLEAN", HFILL }},
14019     { &hf_qsig_sync_stateinfo,
14020       { "stateinfo", "qsig.sync.stateinfo",
14021         FT_INT32, BASE_DEC, VALS(qsig_sync_T_stateinfo_vals), 0,
14022         NULL, HFILL }},
14023     { &hf_qsig_sync_extension,
14024       { "extension", "qsig.sync.extension_element",
14025         FT_NONE, BASE_NONE, NULL, 0,
14026         NULL, HFILL }},
14027     { &hf_qsig_sync_sequOfExtn,
14028       { "sequOfExtn", "qsig.sync.sequOfExtn",
14029         FT_UINT32, BASE_DEC, NULL, 0,
14030         "SEQUENCE_OF_Extension", HFILL }},
14031     { &hf_qsig_sync_sequOfExtn_item,
14032       { "Extension", "qsig.sync.Extension_element",
14033         FT_NONE, BASE_NONE, NULL, 0,
14034         NULL, HFILL }},
14035
14036 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
14037
14038     { &hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU,
14039       { "CintInformation1Arg", "qsig.cint.CintInformation1Arg_element",
14040         FT_NONE, BASE_NONE, NULL, 0,
14041         NULL, HFILL }},
14042     { &hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU,
14043       { "CintInformation2Arg", "qsig.cint.CintInformation2Arg_element",
14044         FT_NONE, BASE_NONE, NULL, 0,
14045         NULL, HFILL }},
14046     { &hf_qsig_cint_qsig_cint_CintCondArg_PDU,
14047       { "CintCondArg", "qsig.cint.CintCondArg_element",
14048         FT_NONE, BASE_NONE, NULL, 0,
14049         NULL, HFILL }},
14050     { &hf_qsig_cint_qsig_cint_CintExtension_PDU,
14051       { "CintExtension", "qsig.cint.CintExtension",
14052         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
14053         NULL, HFILL }},
14054     { &hf_qsig_cint_interceptionCause,
14055       { "interceptionCause", "qsig.cint.interceptionCause",
14056         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintCause_vals), 0,
14057         "CintCause", HFILL }},
14058     { &hf_qsig_cint_interceptedToNumber,
14059       { "interceptedToNumber", "qsig.cint.interceptedToNumber",
14060         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14061         "PartyNumber", HFILL }},
14062     { &hf_qsig_cint_extension,
14063       { "extension", "qsig.cint.extension",
14064         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
14065         "CintExtension", HFILL }},
14066     { &hf_qsig_cint_calledNumber,
14067       { "calledNumber", "qsig.cint.calledNumber",
14068         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
14069         "PresentedNumberUnscreened", HFILL }},
14070     { &hf_qsig_cint_originalCalledNumber,
14071       { "originalCalledNumber", "qsig.cint.originalCalledNumber",
14072         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
14073         "PresentedNumberUnscreened", HFILL }},
14074     { &hf_qsig_cint_calledName,
14075       { "calledName", "qsig.cint.calledName",
14076         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14077         "Name", HFILL }},
14078     { &hf_qsig_cint_originalCalledName,
14079       { "originalCalledName", "qsig.cint.originalCalledName",
14080         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14081         "Name", HFILL }},
14082     { &hf_qsig_cint_interceptionCause_01,
14083       { "interceptionCause", "qsig.cint.interceptionCause",
14084         FT_UINT32, BASE_DEC, VALS(qsig_cint_Condition_vals), 0,
14085         "Condition", HFILL }},
14086     { &hf_qsig_cint_none,
14087       { "none", "qsig.cint.none_element",
14088         FT_NONE, BASE_NONE, NULL, 0,
14089         NULL, HFILL }},
14090     { &hf_qsig_cint_single,
14091       { "single", "qsig.cint.single_element",
14092         FT_NONE, BASE_NONE, NULL, 0,
14093         "Extension", HFILL }},
14094     { &hf_qsig_cint_multiple,
14095       { "multiple", "qsig.cint.multiple",
14096         FT_UINT32, BASE_DEC, NULL, 0,
14097         "SEQUENCE_OF_Extension", HFILL }},
14098     { &hf_qsig_cint_multiple_item,
14099       { "Extension", "qsig.cint.Extension_element",
14100         FT_NONE, BASE_NONE, NULL, 0,
14101         NULL, HFILL }},
14102
14103 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
14104
14105     { &hf_qsig_cmn_qsig_cmn_DummyArg_PDU,
14106       { "DummyArg", "qsig.cmn.DummyArg",
14107         FT_UINT32, BASE_DEC, VALS(qsig_cmn_DummyArg_vals), 0,
14108         NULL, HFILL }},
14109     { &hf_qsig_cmn_qsig_cmn_CmnArg_PDU,
14110       { "CmnArg", "qsig.cmn.CmnArg_element",
14111         FT_NONE, BASE_NONE, NULL, 0,
14112         NULL, HFILL }},
14113     { &hf_qsig_cmn_featureIdentifier,
14114       { "featureIdentifier", "qsig.cmn.featureIdentifier",
14115         FT_BYTES, BASE_NONE, NULL, 0,
14116         "FeatureIdList", HFILL }},
14117     { &hf_qsig_cmn_ssDNDOprotectionLevel,
14118       { "ssDNDOprotectionLevel", "qsig.cmn.ssDNDOprotectionLevel",
14119         FT_UINT32, BASE_DEC, NULL, 0,
14120         "INTEGER_0_3", HFILL }},
14121     { &hf_qsig_cmn_ssCIprotectionLevel,
14122       { "ssCIprotectionLevel", "qsig.cmn.ssCIprotectionLevel",
14123         FT_UINT32, BASE_DEC, NULL, 0,
14124         "INTEGER_0_3", HFILL }},
14125     { &hf_qsig_cmn_equipmentIdentity,
14126       { "equipmentIdentity", "qsig.cmn.equipmentIdentity_element",
14127         FT_NONE, BASE_NONE, NULL, 0,
14128         "EquipmentId", HFILL }},
14129     { &hf_qsig_cmn_partyCategory,
14130       { "partyCategory", "qsig.cmn.partyCategory",
14131         FT_UINT32, BASE_DEC, VALS(qsig_cmn_PartyCategory_vals), 0,
14132         NULL, HFILL }},
14133     { &hf_qsig_cmn_extension,
14134       { "extension", "qsig.cmn.extension",
14135         FT_UINT32, BASE_DEC, VALS(qsig_cmn_T_extension_vals), 0,
14136         NULL, HFILL }},
14137     { &hf_qsig_cmn_single,
14138       { "single", "qsig.cmn.single_element",
14139         FT_NONE, BASE_NONE, NULL, 0,
14140         "Extension", HFILL }},
14141     { &hf_qsig_cmn_multiple,
14142       { "multiple", "qsig.cmn.multiple",
14143         FT_UINT32, BASE_DEC, NULL, 0,
14144         "SEQUENCE_OF_Extension", HFILL }},
14145     { &hf_qsig_cmn_multiple_item,
14146       { "Extension", "qsig.cmn.Extension_element",
14147         FT_NONE, BASE_NONE, NULL, 0,
14148         NULL, HFILL }},
14149     { &hf_qsig_cmn_null,
14150       { "null", "qsig.cmn.null_element",
14151         FT_NONE, BASE_NONE, NULL, 0,
14152         NULL, HFILL }},
14153     { &hf_qsig_cmn_nodeId,
14154       { "nodeId", "qsig.cmn.nodeId",
14155         FT_STRING, BASE_NONE, NULL, 0,
14156         "IA5String_SIZE_1_10", HFILL }},
14157     { &hf_qsig_cmn_groupId,
14158       { "groupId", "qsig.cmn.groupId",
14159         FT_STRING, BASE_NONE, NULL, 0,
14160         "IA5String_SIZE_1_10", HFILL }},
14161     { &hf_qsig_cmn_unitId,
14162       { "unitId", "qsig.cmn.unitId",
14163         FT_STRING, BASE_NONE, NULL, 0,
14164         "IA5String_SIZE_1_10", HFILL }},
14165     { &hf_qsig_cmn_FeatureIdList_reserved,
14166       { "reserved", "qsig.cmn.reserved",
14167         FT_BOOLEAN, 8, NULL, 0x80,
14168         NULL, HFILL }},
14169     { &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported,
14170       { "ssCFreRoutingSupported", "qsig.cmn.ssCFreRoutingSupported",
14171         FT_BOOLEAN, 8, NULL, 0x40,
14172         NULL, HFILL }},
14173     { &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported,
14174       { "ssCTreRoutingSupported", "qsig.cmn.ssCTreRoutingSupported",
14175         FT_BOOLEAN, 8, NULL, 0x20,
14176         NULL, HFILL }},
14177     { &hf_qsig_cmn_FeatureIdList_ssCCBSpossible,
14178       { "ssCCBSpossible", "qsig.cmn.ssCCBSpossible",
14179         FT_BOOLEAN, 8, NULL, 0x10,
14180         NULL, HFILL }},
14181     { &hf_qsig_cmn_FeatureIdList_ssCCNRpossible,
14182       { "ssCCNRpossible", "qsig.cmn.ssCCNRpossible",
14183         FT_BOOLEAN, 8, NULL, 0x08,
14184         NULL, HFILL }},
14185     { &hf_qsig_cmn_FeatureIdList_ssCOsupported,
14186       { "ssCOsupported", "qsig.cmn.ssCOsupported",
14187         FT_BOOLEAN, 8, NULL, 0x04,
14188         NULL, HFILL }},
14189     { &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease,
14190       { "ssCIforcedRelease", "qsig.cmn.ssCIforcedRelease",
14191         FT_BOOLEAN, 8, NULL, 0x02,
14192         NULL, HFILL }},
14193     { &hf_qsig_cmn_FeatureIdList_ssCIisolation,
14194       { "ssCIisolation", "qsig.cmn.ssCIisolation",
14195         FT_BOOLEAN, 8, NULL, 0x01,
14196         NULL, HFILL }},
14197     { &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy,
14198       { "ssCIwaitOnBusy", "qsig.cmn.ssCIwaitOnBusy",
14199         FT_BOOLEAN, 8, NULL, 0x80,
14200         NULL, HFILL }},
14201     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx,
14202       { "ssAOCsupportChargeRateProvAtGatewPinx", "qsig.cmn.ssAOCsupportChargeRateProvAtGatewPinx",
14203         FT_BOOLEAN, 8, NULL, 0x40,
14204         NULL, HFILL }},
14205     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx,
14206       { "ssAOCsupportInterimChargeProvAtGatewPinx", "qsig.cmn.ssAOCsupportInterimChargeProvAtGatewPinx",
14207         FT_BOOLEAN, 8, NULL, 0x20,
14208         NULL, HFILL }},
14209     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx,
14210       { "ssAOCsupportFinalChargeProvAtGatewPinx", "qsig.cmn.ssAOCsupportFinalChargeProvAtGatewPinx",
14211         FT_BOOLEAN, 8, NULL, 0x10,
14212         NULL, HFILL }},
14213     { &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx,
14214       { "anfPRsupportedAtCooperatingPinx", "qsig.cmn.anfPRsupportedAtCooperatingPinx",
14215         FT_BOOLEAN, 8, NULL, 0x08,
14216         NULL, HFILL }},
14217     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate,
14218       { "anfCINTcanInterceptImmediate", "qsig.cmn.anfCINTcanInterceptImmediate",
14219         FT_BOOLEAN, 8, NULL, 0x04,
14220         NULL, HFILL }},
14221     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed,
14222       { "anfCINTcanInterceptDelayed", "qsig.cmn.anfCINTcanInterceptDelayed",
14223         FT_BOOLEAN, 8, NULL, 0x02,
14224         NULL, HFILL }},
14225     { &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported,
14226       { "anfWTMIreRoutingSupported", "qsig.cmn.anfWTMIreRoutingSupported",
14227         FT_BOOLEAN, 8, NULL, 0x01,
14228         NULL, HFILL }},
14229     { &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported,
14230       { "anfPUMIreRoutingSupported", "qsig.cmn.anfPUMIreRoutingSupported",
14231         FT_BOOLEAN, 8, NULL, 0x80,
14232         NULL, HFILL }},
14233     { &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported,
14234       { "ssSSCTreRoutingSupported", "qsig.cmn.ssSSCTreRoutingSupported",
14235         FT_BOOLEAN, 8, NULL, 0x40,
14236         NULL, HFILL }},
14237
14238 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
14239
14240     { &hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU,
14241       { "CPIRequestArg", "qsig.cpi.CPIRequestArg_element",
14242         FT_NONE, BASE_NONE, NULL, 0,
14243         NULL, HFILL }},
14244     { &hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU,
14245       { "CPIPRequestArg", "qsig.cpi.CPIPRequestArg_element",
14246         FT_NONE, BASE_NONE, NULL, 0,
14247         NULL, HFILL }},
14248     { &hf_qsig_cpi_cpiCapabilityLevel,
14249       { "cpiCapabilityLevel", "qsig.cpi.cpiCapabilityLevel",
14250         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPICapabilityLevel_vals), 0,
14251         NULL, HFILL }},
14252     { &hf_qsig_cpi_argumentExtension,
14253       { "argumentExtension", "qsig.cpi.argumentExtension",
14254         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_vals), 0,
14255         NULL, HFILL }},
14256     { &hf_qsig_cpi_extension,
14257       { "extension", "qsig.cpi.extension_element",
14258         FT_NONE, BASE_NONE, NULL, 0,
14259         NULL, HFILL }},
14260     { &hf_qsig_cpi_sequenceOfExtn,
14261       { "sequenceOfExtn", "qsig.cpi.sequenceOfExtn",
14262         FT_UINT32, BASE_DEC, NULL, 0,
14263         "SEQUENCE_OF_Extension", HFILL }},
14264     { &hf_qsig_cpi_sequenceOfExtn_item,
14265       { "Extension", "qsig.cpi.Extension_element",
14266         FT_NONE, BASE_NONE, NULL, 0,
14267         NULL, HFILL }},
14268     { &hf_qsig_cpi_cpiProtectionLevel,
14269       { "cpiProtectionLevel", "qsig.cpi.cpiProtectionLevel",
14270         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPIProtectionLevel_vals), 0,
14271         NULL, HFILL }},
14272     { &hf_qsig_cpi_argumentExtension_01,
14273       { "argumentExtension", "qsig.cpi.argumentExtension",
14274         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_01_vals), 0,
14275         "T_argumentExtension_01", HFILL }},
14276
14277 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
14278
14279     { &hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU,
14280       { "PumRegistrArg", "qsig.pumr.PumRegistrArg_element",
14281         FT_NONE, BASE_NONE, NULL, 0,
14282         NULL, HFILL }},
14283     { &hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU,
14284       { "PumRegistrRes", "qsig.pumr.PumRegistrRes_element",
14285         FT_NONE, BASE_NONE, NULL, 0,
14286         NULL, HFILL }},
14287     { &hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU,
14288       { "PumDelRegArg", "qsig.pumr.PumDelRegArg_element",
14289         FT_NONE, BASE_NONE, NULL, 0,
14290         NULL, HFILL }},
14291     { &hf_qsig_pumr_qsig_pumr_DummyRes_PDU,
14292       { "DummyRes", "qsig.pumr.DummyRes",
14293         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DummyRes_vals), 0,
14294         NULL, HFILL }},
14295     { &hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU,
14296       { "PumDe-regArg", "qsig.pumr.PumDe_regArg_element",
14297         FT_NONE, BASE_NONE, NULL, 0,
14298         NULL, HFILL }},
14299     { &hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU,
14300       { "PumInterrogArg", "qsig.pumr.PumInterrogArg_element",
14301         FT_NONE, BASE_NONE, NULL, 0,
14302         NULL, HFILL }},
14303     { &hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU,
14304       { "PumInterrogRes", "qsig.pumr.PumInterrogRes",
14305         FT_UINT32, BASE_DEC, NULL, 0,
14306         NULL, HFILL }},
14307     { &hf_qsig_pumr_qsig_pumr_Extension_PDU,
14308       { "Extension", "qsig.pumr.Extension_element",
14309         FT_NONE, BASE_NONE, NULL, 0,
14310         NULL, HFILL }},
14311     { &hf_qsig_pumr_pumRUserId,
14312       { "pumUserId", "qsig.pumr.pumUserId",
14313         FT_UINT32, BASE_DEC, VALS(qsig_pumr_RpumUserId_vals), 0,
14314         "RpumUserId", HFILL }},
14315     { &hf_qsig_pumr_pumNumber,
14316       { "pumNumber", "qsig.pumr.pumNumber",
14317         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14318         "PartyNumber", HFILL }},
14319     { &hf_qsig_pumr_alternativeId,
14320       { "alternativeId", "qsig.pumr.alternativeId",
14321         FT_BYTES, BASE_NONE, NULL, 0,
14322         NULL, HFILL }},
14323     { &hf_qsig_pumr_basicService,
14324       { "basicService", "qsig.pumr.basicService",
14325         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14326         NULL, HFILL }},
14327     { &hf_qsig_pumr_hostingAddr,
14328       { "hostingAddr", "qsig.pumr.hostingAddr",
14329         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14330         "PartyNumber", HFILL }},
14331     { &hf_qsig_pumr_activatingUserAddr,
14332       { "activatingUserAddr", "qsig.pumr.activatingUserAddr",
14333         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14334         "PartyNumber", HFILL }},
14335     { &hf_qsig_pumr_serviceOption,
14336       { "serviceOption", "qsig.pumr.serviceOption",
14337         FT_UINT32, BASE_DEC, VALS(qsig_pumr_ServiceOption_vals), 0,
14338         NULL, HFILL }},
14339     { &hf_qsig_pumr_sessionParams,
14340       { "sessionParams", "qsig.pumr.sessionParams_element",
14341         FT_NONE, BASE_NONE, NULL, 0,
14342         NULL, HFILL }},
14343     { &hf_qsig_pumr_userPin,
14344       { "userPin", "qsig.pumr.userPin",
14345         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_vals), 0,
14346         NULL, HFILL }},
14347     { &hf_qsig_pumr_pumUserPin,
14348       { "pumUserPin", "qsig.pumr.pumUserPin",
14349         FT_BYTES, BASE_NONE, NULL, 0,
14350         "UserPin", HFILL }},
14351     { &hf_qsig_pumr_activatingUserPin,
14352       { "activatingUserPin", "qsig.pumr.activatingUserPin",
14353         FT_BYTES, BASE_NONE, NULL, 0,
14354         "UserPin", HFILL }},
14355     { &hf_qsig_pumr_argExtension,
14356       { "argExtension", "qsig.pumr.argExtension",
14357         FT_UINT32, BASE_DEC, VALS(qsig_pumr_PumrExtension_vals), 0,
14358         "PumrExtension", HFILL }},
14359     { &hf_qsig_pumr_null,
14360       { "null", "qsig.pumr.null_element",
14361         FT_NONE, BASE_NONE, NULL, 0,
14362         NULL, HFILL }},
14363     { &hf_qsig_pumr_extension,
14364       { "extension", "qsig.pumr.extension_element",
14365         FT_NONE, BASE_NONE, NULL, 0,
14366         NULL, HFILL }},
14367     { &hf_qsig_pumr_sequOfExtn,
14368       { "sequOfExtn", "qsig.pumr.sequOfExtn",
14369         FT_UINT32, BASE_DEC, NULL, 0,
14370         "SEQUENCE_OF_Extension", HFILL }},
14371     { &hf_qsig_pumr_sequOfExtn_item,
14372       { "Extension", "qsig.pumr.Extension_element",
14373         FT_NONE, BASE_NONE, NULL, 0,
14374         NULL, HFILL }},
14375     { &hf_qsig_pumr_pumXUserId,
14376       { "pumUserId", "qsig.pumr.pumUserId",
14377         FT_UINT32, BASE_DEC, VALS(qsig_pumr_XpumUserId_vals), 0,
14378         "XpumUserId", HFILL }},
14379     { &hf_qsig_pumr_pumDUserId,
14380       { "pumUserId", "qsig.pumr.pumUserId",
14381         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DpumUserId_vals), 0,
14382         "DpumUserId", HFILL }},
14383     { &hf_qsig_pumr_userPin_01,
14384       { "userPin", "qsig.pumr.userPin",
14385         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_01_vals), 0,
14386         "T_userPin_01", HFILL }},
14387     { &hf_qsig_pumr_pumIUserId,
14388       { "pumUserId", "qsig.pumr.pumUserId",
14389         FT_UINT32, BASE_DEC, VALS(qsig_pumr_IpumUserId_vals), 0,
14390         "IpumUserId", HFILL }},
14391     { &hf_qsig_pumr_homeInfoOnly,
14392       { "homeInfoOnly", "qsig.pumr.homeInfoOnly",
14393         FT_BOOLEAN, BASE_NONE, NULL, 0,
14394         "BOOLEAN", HFILL }},
14395     { &hf_qsig_pumr_userPin_02,
14396       { "userPin", "qsig.pumr.userPin",
14397         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_02_vals), 0,
14398         "T_userPin_02", HFILL }},
14399     { &hf_qsig_pumr_PumInterrogRes_item,
14400       { "PumInterrogRes item", "qsig.pumr.PumInterrogRes_item_element",
14401         FT_NONE, BASE_NONE, NULL, 0,
14402         NULL, HFILL }},
14403     { &hf_qsig_pumr_interrogParams,
14404       { "interrogParams", "qsig.pumr.interrogParams_element",
14405         FT_NONE, BASE_NONE, NULL, 0,
14406         "SessionParams", HFILL }},
14407     { &hf_qsig_pumr_durationOfSession,
14408       { "durationOfSession", "qsig.pumr.durationOfSession",
14409         FT_INT32, BASE_DEC, NULL, 0,
14410         "INTEGER", HFILL }},
14411     { &hf_qsig_pumr_numberOfOutgCalls,
14412       { "numberOfOutgCalls", "qsig.pumr.numberOfOutgCalls",
14413         FT_INT32, BASE_DEC, NULL, 0,
14414         "INTEGER", HFILL }},
14415
14416 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
14417
14418     { &hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU,
14419       { "EnquiryArg", "qsig.pumch.EnquiryArg_element",
14420         FT_NONE, BASE_NONE, NULL, 0,
14421         NULL, HFILL }},
14422     { &hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU,
14423       { "EnquiryRes", "qsig.pumch.EnquiryRes",
14424         FT_UINT32, BASE_DEC, VALS(qsig_pumch_EnquiryRes_vals), 0,
14425         NULL, HFILL }},
14426     { &hf_qsig_pumch_qsig_pumch_DivertArg_PDU,
14427       { "DivertArg", "qsig.pumch.DivertArg_element",
14428         FT_NONE, BASE_NONE, NULL, 0,
14429         NULL, HFILL }},
14430     { &hf_qsig_pumch_qsig_pumch_DummyRes_PDU,
14431       { "DummyRes", "qsig.pumch.DummyRes",
14432         FT_UINT32, BASE_DEC, VALS(qsig_pumch_DummyRes_vals), 0,
14433         NULL, HFILL }},
14434     { &hf_qsig_pumch_qsig_pumch_InformArg_PDU,
14435       { "InformArg", "qsig.pumch.InformArg_element",
14436         FT_NONE, BASE_NONE, NULL, 0,
14437         NULL, HFILL }},
14438     { &hf_qsig_pumch_qsig_pumch_PumoArg_PDU,
14439       { "PumoArg", "qsig.pumch.PumoArg_element",
14440         FT_NONE, BASE_NONE, NULL, 0,
14441         NULL, HFILL }},
14442     { &hf_qsig_pumch_qsig_pumch_Extension_PDU,
14443       { "Extension", "qsig.pumch.Extension_element",
14444         FT_NONE, BASE_NONE, NULL, 0,
14445         NULL, HFILL }},
14446     { &hf_qsig_pumch_pisnNumber,
14447       { "pisnNumber", "qsig.pumch.pisnNumber",
14448         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14449         "PartyNumber", HFILL }},
14450     { &hf_qsig_pumch_qSIGInfoElement,
14451       { "qSIGInfoElement", "qsig.pumch.qSIGInfoElement",
14452         FT_BYTES, BASE_NONE, NULL, 0,
14453         "PSS1InformationElement", HFILL }},
14454     { &hf_qsig_pumch_argExtension,
14455       { "argExtension", "qsig.pumch.argExtension",
14456         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumiExtension_vals), 0,
14457         "PumiExtension", HFILL }},
14458     { &hf_qsig_pumch_hostingAddr,
14459       { "hostingAddr", "qsig.pumch.hostingAddr",
14460         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14461         "PartyNumber", HFILL }},
14462     { &hf_qsig_pumch_callingNumber,
14463       { "callingNumber", "qsig.pumch.callingNumber",
14464         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14465         "PresentedNumberScreened", HFILL }},
14466     { &hf_qsig_pumch_pumIdentity,
14467       { "pumIdentity", "qsig.pumch.pumIdentity",
14468         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumIdentity_vals), 0,
14469         NULL, HFILL }},
14470     { &hf_qsig_pumch_callingUserSub,
14471       { "callingUserSub", "qsig.pumch.callingUserSub",
14472         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14473         "PartySubaddress", HFILL }},
14474     { &hf_qsig_pumch_callingUserName,
14475       { "callingUserName", "qsig.pumch.callingUserName",
14476         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14477         "Name", HFILL }},
14478     { &hf_qsig_pumch_pumUserSub,
14479       { "pumUserSub", "qsig.pumch.pumUserSub",
14480         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14481         "PartySubaddress", HFILL }},
14482     { &hf_qsig_pumch_currLocation,
14483       { "currLocation", "qsig.pumch.currLocation_element",
14484         FT_NONE, BASE_NONE, NULL, 0,
14485         NULL, HFILL }},
14486     { &hf_qsig_pumch_cfuActivated,
14487       { "cfuActivated", "qsig.pumch.cfuActivated_element",
14488         FT_NONE, BASE_NONE, NULL, 0,
14489         NULL, HFILL }},
14490     { &hf_qsig_pumch_divToAddress,
14491       { "divToAddress", "qsig.pumch.divToAddress_element",
14492         FT_NONE, BASE_NONE, NULL, 0,
14493         "Address", HFILL }},
14494     { &hf_qsig_pumch_divOptions,
14495       { "divOptions", "qsig.pumch.divOptions",
14496         FT_UINT32, BASE_DEC, VALS(qsig_pumch_SubscriptionOption_vals), 0,
14497         "SubscriptionOption", HFILL }},
14498     { &hf_qsig_pumch_pumName,
14499       { "pumName", "qsig.pumch.pumName",
14500         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14501         "Name", HFILL }},
14502     { &hf_qsig_pumch_null,
14503       { "null", "qsig.pumch.null_element",
14504         FT_NONE, BASE_NONE, NULL, 0,
14505         NULL, HFILL }},
14506     { &hf_qsig_pumch_extension,
14507       { "extension", "qsig.pumch.extension_element",
14508         FT_NONE, BASE_NONE, NULL, 0,
14509         NULL, HFILL }},
14510     { &hf_qsig_pumch_sequOfExtn,
14511       { "sequOfExtn", "qsig.pumch.sequOfExtn",
14512         FT_UINT32, BASE_DEC, NULL, 0,
14513         "SEQUENCE_OF_Extension", HFILL }},
14514     { &hf_qsig_pumch_sequOfExtn_item,
14515       { "Extension", "qsig.pumch.Extension_element",
14516         FT_NONE, BASE_NONE, NULL, 0,
14517         NULL, HFILL }},
14518     { &hf_qsig_pumch_alternativeId,
14519       { "alternativeId", "qsig.pumch.alternativeId",
14520         FT_BYTES, BASE_NONE, NULL, 0,
14521         NULL, HFILL }},
14522     { &hf_qsig_pumch_both,
14523       { "both", "qsig.pumch.both_element",
14524         FT_NONE, BASE_NONE, NULL, 0,
14525         NULL, HFILL }},
14526     { &hf_qsig_pumch_destinationNumber,
14527       { "destinationNumber", "qsig.pumch.destinationNumber",
14528         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14529         "PartyNumber", HFILL }},
14530     { &hf_qsig_pumch_sendingComplete,
14531       { "sendingComplete", "qsig.pumch.sendingComplete_element",
14532         FT_NONE, BASE_NONE, NULL, 0,
14533         NULL, HFILL }},
14534     { &hf_qsig_pumch_pumoaextension,
14535       { "extension", "qsig.pumch.extension",
14536         FT_UINT32, BASE_DEC, VALS(qsig_pumch_T_pumoaextension_vals), 0,
14537         "T_pumoaextension", HFILL }},
14538     { &hf_qsig_pumch_single,
14539       { "single", "qsig.pumch.single_element",
14540         FT_NONE, BASE_NONE, NULL, 0,
14541         "Extension", HFILL }},
14542     { &hf_qsig_pumch_multiple,
14543       { "multiple", "qsig.pumch.multiple",
14544         FT_UINT32, BASE_DEC, NULL, 0,
14545         "SEQUENCE_OF_Extension", HFILL }},
14546     { &hf_qsig_pumch_multiple_item,
14547       { "Extension", "qsig.pumch.Extension_element",
14548         FT_NONE, BASE_NONE, NULL, 0,
14549         NULL, HFILL }},
14550
14551 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
14552
14553     { &hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU,
14554       { "SSCTInitiateArg", "qsig.ssct.SSCTInitiateArg_element",
14555         FT_NONE, BASE_NONE, NULL, 0,
14556         NULL, HFILL }},
14557     { &hf_qsig_ssct_qsig_ssct_DummyRes_PDU,
14558       { "DummyRes", "qsig.ssct.DummyRes",
14559         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyRes_vals), 0,
14560         NULL, HFILL }},
14561     { &hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU,
14562       { "SSCTSetupArg", "qsig.ssct.SSCTSetupArg_element",
14563         FT_NONE, BASE_NONE, NULL, 0,
14564         NULL, HFILL }},
14565     { &hf_qsig_ssct_qsig_ssct_DummyArg_PDU,
14566       { "DummyArg", "qsig.ssct.DummyArg",
14567         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyArg_vals), 0,
14568         NULL, HFILL }},
14569     { &hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU,
14570       { "SSCTDigitInfoArg", "qsig.ssct.SSCTDigitInfoArg_element",
14571         FT_NONE, BASE_NONE, NULL, 0,
14572         NULL, HFILL }},
14573     { &hf_qsig_ssct_qsig_ssct_Extension_PDU,
14574       { "Extension", "qsig.ssct.Extension_element",
14575         FT_NONE, BASE_NONE, NULL, 0,
14576         NULL, HFILL }},
14577     { &hf_qsig_ssct_null,
14578       { "null", "qsig.ssct.null_element",
14579         FT_NONE, BASE_NONE, NULL, 0,
14580         NULL, HFILL }},
14581     { &hf_qsig_ssct_single,
14582       { "single", "qsig.ssct.single_element",
14583         FT_NONE, BASE_NONE, NULL, 0,
14584         "Extension", HFILL }},
14585     { &hf_qsig_ssct_multiple,
14586       { "multiple", "qsig.ssct.multiple",
14587         FT_UINT32, BASE_DEC, NULL, 0,
14588         "SEQUENCE_OF_Extension", HFILL }},
14589     { &hf_qsig_ssct_multiple_item,
14590       { "Extension", "qsig.ssct.Extension_element",
14591         FT_NONE, BASE_NONE, NULL, 0,
14592         NULL, HFILL }},
14593     { &hf_qsig_ssct_rerouteingNumber,
14594       { "rerouteingNumber", "qsig.ssct.rerouteingNumber",
14595         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14596         "PartyNumber", HFILL }},
14597     { &hf_qsig_ssct_transferredAddress,
14598       { "transferredAddress", "qsig.ssct.transferredAddress",
14599         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14600         "PresentedAddressScreened", HFILL }},
14601     { &hf_qsig_ssct_awaitConnect,
14602       { "awaitConnect", "qsig.ssct.awaitConnect",
14603         FT_BOOLEAN, BASE_NONE, NULL, 0,
14604         NULL, HFILL }},
14605     { &hf_qsig_ssct_transferredName,
14606       { "transferredName", "qsig.ssct.transferredName",
14607         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14608         "Name", HFILL }},
14609     { &hf_qsig_ssct_transferringAddress,
14610       { "transferringAddress", "qsig.ssct.transferringAddress",
14611         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14612         "PresentedAddressScreened", HFILL }},
14613     { &hf_qsig_ssct_transferringName,
14614       { "transferringName", "qsig.ssct.transferringName",
14615         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14616         "Name", HFILL }},
14617     { &hf_qsig_ssct_argumentExtensionSSCTI,
14618       { "argumentExtension", "qsig.ssct.argumentExtension",
14619         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTIargumentExtension_vals), 0,
14620         "SSCTIargumentExtension", HFILL }},
14621     { &hf_qsig_ssct_argumentExtensionSSCTS,
14622       { "argumentExtension", "qsig.ssct.argumentExtension",
14623         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTSargumentExtension_vals), 0,
14624         "SSCTSargumentExtension", HFILL }},
14625     { &hf_qsig_ssct_reroutingNumber,
14626       { "reroutingNumber", "qsig.ssct.reroutingNumber",
14627         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14628         "PartyNumber", HFILL }},
14629     { &hf_qsig_ssct_sendingComplete,
14630       { "sendingComplete", "qsig.ssct.sendingComplete_element",
14631         FT_NONE, BASE_NONE, NULL, 0,
14632         NULL, HFILL }},
14633     { &hf_qsig_ssct_argumentExtensionSSCTD,
14634       { "argumentExtension", "qsig.ssct.argumentExtension",
14635         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTDargumentExtension_vals), 0,
14636         "SSCTDargumentExtension", HFILL }},
14637
14638 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
14639
14640     { &hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU,
14641       { "LocUpdArg", "qsig.wtmlr.LocUpdArg_element",
14642         FT_NONE, BASE_NONE, NULL, 0,
14643         NULL, HFILL }},
14644     { &hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU,
14645       { "DummyRes", "qsig.wtmlr.DummyRes",
14646         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_DummyRes_vals), 0,
14647         NULL, HFILL }},
14648     { &hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU,
14649       { "LocDelArg", "qsig.wtmlr.LocDelArg_element",
14650         FT_NONE, BASE_NONE, NULL, 0,
14651         NULL, HFILL }},
14652     { &hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU,
14653       { "LocDeRegArg", "qsig.wtmlr.LocDeRegArg_element",
14654         FT_NONE, BASE_NONE, NULL, 0,
14655         NULL, HFILL }},
14656     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU,
14657       { "PisnEnqArg", "qsig.wtmlr.PisnEnqArg_element",
14658         FT_NONE, BASE_NONE, NULL, 0,
14659         NULL, HFILL }},
14660     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU,
14661       { "PisnEnqRes", "qsig.wtmlr.PisnEnqRes_element",
14662         FT_NONE, BASE_NONE, NULL, 0,
14663         NULL, HFILL }},
14664     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU,
14665       { "GetRRCInfArg", "qsig.wtmlr.GetRRCInfArg_element",
14666         FT_NONE, BASE_NONE, NULL, 0,
14667         NULL, HFILL }},
14668     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU,
14669       { "GetRRCInfRes", "qsig.wtmlr.GetRRCInfRes_element",
14670         FT_NONE, BASE_NONE, NULL, 0,
14671         NULL, HFILL }},
14672     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU,
14673       { "LocInfoCheckArg", "qsig.wtmlr.LocInfoCheckArg_element",
14674         FT_NONE, BASE_NONE, NULL, 0,
14675         NULL, HFILL }},
14676     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU,
14677       { "LocInfoCheckRes", "qsig.wtmlr.LocInfoCheckRes_element",
14678         FT_NONE, BASE_NONE, NULL, 0,
14679         NULL, HFILL }},
14680     { &hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU,
14681       { "Extension", "qsig.wtmlr.Extension_element",
14682         FT_NONE, BASE_NONE, NULL, 0,
14683         NULL, HFILL }},
14684     { &hf_qsig_wtmlr_wtmUserId,
14685       { "wtmUserId", "qsig.wtmlr.wtmUserId",
14686         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_WtmUserId_vals), 0,
14687         NULL, HFILL }},
14688     { &hf_qsig_wtmlr_basicService,
14689       { "basicService", "qsig.wtmlr.basicService",
14690         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14691         NULL, HFILL }},
14692     { &hf_qsig_wtmlr_visitPINX,
14693       { "visitPINX", "qsig.wtmlr.visitPINX",
14694         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14695         "PartyNumber", HFILL }},
14696     { &hf_qsig_wtmlr_argExtension,
14697       { "argExtension", "qsig.wtmlr.argExtension",
14698         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14699         "LrExtension", HFILL }},
14700     { &hf_qsig_wtmlr_null,
14701       { "null", "qsig.wtmlr.null_element",
14702         FT_NONE, BASE_NONE, NULL, 0,
14703         NULL, HFILL }},
14704     { &hf_qsig_wtmlr_extension,
14705       { "extension", "qsig.wtmlr.extension_element",
14706         FT_NONE, BASE_NONE, NULL, 0,
14707         NULL, HFILL }},
14708     { &hf_qsig_wtmlr_sequOfExtn,
14709       { "sequOfExtn", "qsig.wtmlr.sequOfExtn",
14710         FT_UINT32, BASE_DEC, NULL, 0,
14711         "SEQUENCE_OF_Extension", HFILL }},
14712     { &hf_qsig_wtmlr_sequOfExtn_item,
14713       { "Extension", "qsig.wtmlr.Extension_element",
14714         FT_NONE, BASE_NONE, NULL, 0,
14715         NULL, HFILL }},
14716     { &hf_qsig_wtmlr_alternativeId,
14717       { "alternativeId", "qsig.wtmlr.alternativeId",
14718         FT_BYTES, BASE_NONE, NULL, 0,
14719         NULL, HFILL }},
14720     { &hf_qsig_wtmlr_resExtension,
14721       { "resExtension", "qsig.wtmlr.resExtension",
14722         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14723         "LrExtension", HFILL }},
14724     { &hf_qsig_wtmlr_rrClass,
14725       { "rrClass", "qsig.wtmlr.rrClass",
14726         FT_UINT32, BASE_DEC, NULL, 0,
14727         NULL, HFILL }},
14728     { &hf_qsig_wtmlr_checkResult,
14729       { "checkResult", "qsig.wtmlr.checkResult",
14730         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_CheckResult_vals), 0,
14731         NULL, HFILL }},
14732     { &hf_qsig_wtmlr_pisnNumber,
14733       { "pisnNumber", "qsig.wtmlr.pisnNumber",
14734         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14735         "PartyNumber", HFILL }},
14736
14737 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
14738
14739     { &hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU,
14740       { "EnquiryArg", "qsig.wtmch.EnquiryArg_element",
14741         FT_NONE, BASE_NONE, NULL, 0,
14742         NULL, HFILL }},
14743     { &hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU,
14744       { "EnquiryRes", "qsig.wtmch.EnquiryRes",
14745         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_EnquiryRes_vals), 0,
14746         NULL, HFILL }},
14747     { &hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU,
14748       { "DivertArg", "qsig.wtmch.DivertArg_element",
14749         FT_NONE, BASE_NONE, NULL, 0,
14750         NULL, HFILL }},
14751     { &hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU,
14752       { "DummyRes", "qsig.wtmch.DummyRes",
14753         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_DummyRes_vals), 0,
14754         NULL, HFILL }},
14755     { &hf_qsig_wtmch_qsig_wtmch_InformArg_PDU,
14756       { "InformArg", "qsig.wtmch.InformArg_element",
14757         FT_NONE, BASE_NONE, NULL, 0,
14758         NULL, HFILL }},
14759     { &hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU,
14760       { "WtmoArg", "qsig.wtmch.WtmoArg_element",
14761         FT_NONE, BASE_NONE, NULL, 0,
14762         NULL, HFILL }},
14763     { &hf_qsig_wtmch_qsig_wtmch_Extension_PDU,
14764       { "Extension", "qsig.wtmch.Extension_element",
14765         FT_NONE, BASE_NONE, NULL, 0,
14766         NULL, HFILL }},
14767     { &hf_qsig_wtmch_pisnNumber,
14768       { "pisnNumber", "qsig.wtmch.pisnNumber",
14769         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14770         "PartyNumber", HFILL }},
14771     { &hf_qsig_wtmch_qSIGInfoElement,
14772       { "qSIGInfoElement", "qsig.wtmch.qSIGInfoElement",
14773         FT_BYTES, BASE_NONE, NULL, 0,
14774         "PSS1InformationElement", HFILL }},
14775     { &hf_qsig_wtmch_argExtension,
14776       { "argExtension", "qsig.wtmch.argExtension",
14777         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmiExtension_vals), 0,
14778         "WtmiExtension", HFILL }},
14779     { &hf_qsig_wtmch_visitPINX,
14780       { "visitPINX", "qsig.wtmch.visitPINX",
14781         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14782         "PartyNumber", HFILL }},
14783     { &hf_qsig_wtmch_callingNumber,
14784       { "callingNumber", "qsig.wtmch.callingNumber",
14785         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14786         "PresentedNumberScreened", HFILL }},
14787     { &hf_qsig_wtmch_wtmIdentity,
14788       { "wtmIdentity", "qsig.wtmch.wtmIdentity",
14789         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmIdentity_vals), 0,
14790         NULL, HFILL }},
14791     { &hf_qsig_wtmch_callingUserSub,
14792       { "callingUserSub", "qsig.wtmch.callingUserSub",
14793         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14794         "PartySubaddress", HFILL }},
14795     { &hf_qsig_wtmch_callingName,
14796       { "callingName", "qsig.wtmch.callingName",
14797         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14798         "Name", HFILL }},
14799     { &hf_qsig_wtmch_wtmUserSub,
14800       { "wtmUserSub", "qsig.wtmch.wtmUserSub",
14801         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14802         "PartySubaddress", HFILL }},
14803     { &hf_qsig_wtmch_currLocation,
14804       { "currLocation", "qsig.wtmch.currLocation_element",
14805         FT_NONE, BASE_NONE, NULL, 0,
14806         NULL, HFILL }},
14807     { &hf_qsig_wtmch_cfuActivated,
14808       { "cfuActivated", "qsig.wtmch.cfuActivated_element",
14809         FT_NONE, BASE_NONE, NULL, 0,
14810         NULL, HFILL }},
14811     { &hf_qsig_wtmch_divToAddress,
14812       { "divToAddress", "qsig.wtmch.divToAddress_element",
14813         FT_NONE, BASE_NONE, NULL, 0,
14814         "Address", HFILL }},
14815     { &hf_qsig_wtmch_divOptions,
14816       { "divOptions", "qsig.wtmch.divOptions",
14817         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_SubscriptionOption_vals), 0,
14818         "SubscriptionOption", HFILL }},
14819     { &hf_qsig_wtmch_wtmName,
14820       { "wtmName", "qsig.wtmch.wtmName",
14821         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14822         "Name", HFILL }},
14823     { &hf_qsig_wtmch_null,
14824       { "null", "qsig.wtmch.null_element",
14825         FT_NONE, BASE_NONE, NULL, 0,
14826         NULL, HFILL }},
14827     { &hf_qsig_wtmch_extension,
14828       { "extension", "qsig.wtmch.extension_element",
14829         FT_NONE, BASE_NONE, NULL, 0,
14830         NULL, HFILL }},
14831     { &hf_qsig_wtmch_sequOfExtn,
14832       { "sequOfExtn", "qsig.wtmch.sequOfExtn",
14833         FT_UINT32, BASE_DEC, NULL, 0,
14834         "SEQUENCE_OF_Extension", HFILL }},
14835     { &hf_qsig_wtmch_sequOfExtn_item,
14836       { "Extension", "qsig.wtmch.Extension_element",
14837         FT_NONE, BASE_NONE, NULL, 0,
14838         NULL, HFILL }},
14839     { &hf_qsig_wtmch_alternativeId,
14840       { "alternativeId", "qsig.wtmch.alternativeId",
14841         FT_BYTES, BASE_NONE, NULL, 0,
14842         NULL, HFILL }},
14843     { &hf_qsig_wtmch_both,
14844       { "both", "qsig.wtmch.both_element",
14845         FT_NONE, BASE_NONE, NULL, 0,
14846         NULL, HFILL }},
14847     { &hf_qsig_wtmch_destinationNumber,
14848       { "destinationNumber", "qsig.wtmch.destinationNumber",
14849         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14850         "PartyNumber", HFILL }},
14851     { &hf_qsig_wtmch_sendingComplete,
14852       { "sendingComplete", "qsig.wtmch.sendingComplete_element",
14853         FT_NONE, BASE_NONE, NULL, 0,
14854         NULL, HFILL }},
14855     { &hf_qsig_wtmch_wtmoaextension,
14856       { "extension", "qsig.wtmch.extension",
14857         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_T_wtmoaextension_vals), 0,
14858         "T_wtmoaextension", HFILL }},
14859     { &hf_qsig_wtmch_single,
14860       { "single", "qsig.wtmch.single_element",
14861         FT_NONE, BASE_NONE, NULL, 0,
14862         "Extension", HFILL }},
14863     { &hf_qsig_wtmch_multiple,
14864       { "multiple", "qsig.wtmch.multiple",
14865         FT_UINT32, BASE_DEC, NULL, 0,
14866         "SEQUENCE_OF_Extension", HFILL }},
14867     { &hf_qsig_wtmch_multiple_item,
14868       { "Extension", "qsig.wtmch.Extension_element",
14869         FT_NONE, BASE_NONE, NULL, 0,
14870         NULL, HFILL }},
14871
14872 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
14873
14874     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU,
14875       { "AuthWtmArg", "qsig.wtmau.AuthWtmArg_element",
14876         FT_NONE, BASE_NONE, NULL, 0,
14877         NULL, HFILL }},
14878     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU,
14879       { "AuthWtmRes", "qsig.wtmau.AuthWtmRes_element",
14880         FT_NONE, BASE_NONE, NULL, 0,
14881         NULL, HFILL }},
14882     { &hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU,
14883       { "WtatParamArg", "qsig.wtmau.WtatParamArg_element",
14884         FT_NONE, BASE_NONE, NULL, 0,
14885         NULL, HFILL }},
14886     { &hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU,
14887       { "WtatParamRes", "qsig.wtmau.WtatParamRes_element",
14888         FT_NONE, BASE_NONE, NULL, 0,
14889         NULL, HFILL }},
14890     { &hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU,
14891       { "WtanParamArg", "qsig.wtmau.WtanParamArg_element",
14892         FT_NONE, BASE_NONE, NULL, 0,
14893         NULL, HFILL }},
14894     { &hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU,
14895       { "WtanParamRes", "qsig.wtmau.WtanParamRes_element",
14896         FT_NONE, BASE_NONE, NULL, 0,
14897         NULL, HFILL }},
14898     { &hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU,
14899       { "ARG-transferAuthParam", "qsig.wtmau.ARG_transferAuthParam_element",
14900         FT_NONE, BASE_NONE, NULL, 0,
14901         NULL, HFILL }},
14902     { &hf_qsig_wtmau_qsig_wtmau_Extension_PDU,
14903       { "Extension", "qsig.wtmau.Extension_element",
14904         FT_NONE, BASE_NONE, NULL, 0,
14905         NULL, HFILL }},
14906     { &hf_qsig_wtmau_wtmUserId,
14907       { "wtmUserId", "qsig.wtmau.wtmUserId",
14908         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtmUserId_vals), 0,
14909         NULL, HFILL }},
14910     { &hf_qsig_wtmau_calcWtatInfo,
14911       { "calcWtatInfo", "qsig.wtmau.calcWtatInfo",
14912         FT_UINT32, BASE_DEC, NULL, 0,
14913         NULL, HFILL }},
14914     { &hf_qsig_wtmau_dummyExtension,
14915       { "dummyExtension", "qsig.wtmau.dummyExtension",
14916         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DummyExtension_vals), 0,
14917         NULL, HFILL }},
14918     { &hf_qsig_wtmau_autWtmResValue,
14919       { "autWtmResValue", "qsig.wtmau.autWtmResValue",
14920         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_autWtmResValue_vals), 0,
14921         NULL, HFILL }},
14922     { &hf_qsig_wtmau_canCompute,
14923       { "canCompute", "qsig.wtmau.canCompute_element",
14924         FT_NONE, BASE_NONE, NULL, 0,
14925         NULL, HFILL }},
14926     { &hf_qsig_wtmau_authChallenge,
14927       { "authChallenge", "qsig.wtmau.authChallenge",
14928         FT_BYTES, BASE_NONE, NULL, 0,
14929         NULL, HFILL }},
14930     { &hf_qsig_wtmau_wtatParamInfo,
14931       { "wtatParamInfo", "qsig.wtmau.wtatParamInfo_element",
14932         FT_NONE, BASE_NONE, NULL, 0,
14933         NULL, HFILL }},
14934     { &hf_qsig_wtmau_authAlgorithm,
14935       { "authAlgorithm", "qsig.wtmau.authAlgorithm_element",
14936         FT_NONE, BASE_NONE, NULL, 0,
14937         NULL, HFILL }},
14938     { &hf_qsig_wtmau_pisnNumber,
14939       { "pisnNumber", "qsig.wtmau.pisnNumber",
14940         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14941         "PartyNumber", HFILL }},
14942     { &hf_qsig_wtmau_alternativeId,
14943       { "alternativeId", "qsig.wtmau.alternativeId",
14944         FT_BYTES, BASE_NONE, NULL, 0,
14945         NULL, HFILL }},
14946     { &hf_qsig_wtmau_wtanParamInfo,
14947       { "wtanParamInfo", "qsig.wtmau.wtanParamInfo",
14948         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtanParamInfo_vals), 0,
14949         NULL, HFILL }},
14950     { &hf_qsig_wtmau_wtatParamInfoChoice,
14951       { "wtatParamInfoChoice", "qsig.wtmau.wtatParamInfoChoice",
14952         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_wtatParamInfoChoice_vals), 0,
14953         NULL, HFILL }},
14954     { &hf_qsig_wtmau_authSessionKeyInfo,
14955       { "authSessionKeyInfo", "qsig.wtmau.authSessionKeyInfo_element",
14956         FT_NONE, BASE_NONE, NULL, 0,
14957         NULL, HFILL }},
14958     { &hf_qsig_wtmau_authKey,
14959       { "authKey", "qsig.wtmau.authKey",
14960         FT_BYTES, BASE_NONE, NULL, 0,
14961         NULL, HFILL }},
14962     { &hf_qsig_wtmau_challLen,
14963       { "challLen", "qsig.wtmau.challLen",
14964         FT_UINT32, BASE_DEC, NULL, 0,
14965         "INTEGER_1_8", HFILL }},
14966     { &hf_qsig_wtmau_calcWtanInfo,
14967       { "calcWtanInfo", "qsig.wtmau.calcWtanInfo_element",
14968         FT_NONE, BASE_NONE, NULL, 0,
14969         NULL, HFILL }},
14970     { &hf_qsig_wtmau_authSessionKey,
14971       { "authSessionKey", "qsig.wtmau.authSessionKey",
14972         FT_BYTES, BASE_NONE, NULL, 0,
14973         NULL, HFILL }},
14974     { &hf_qsig_wtmau_calculationParam,
14975       { "calculationParam", "qsig.wtmau.calculationParam",
14976         FT_BYTES, BASE_NONE, NULL, 0,
14977         NULL, HFILL }},
14978     { &hf_qsig_wtmau_CalcWtatInfo_item,
14979       { "CalcWtatInfoUnit", "qsig.wtmau.CalcWtatInfoUnit_element",
14980         FT_NONE, BASE_NONE, NULL, 0,
14981         NULL, HFILL }},
14982     { &hf_qsig_wtmau_authResponse,
14983       { "authResponse", "qsig.wtmau.authResponse",
14984         FT_BYTES, BASE_NONE, NULL, 0,
14985         NULL, HFILL }},
14986     { &hf_qsig_wtmau_derivedCipherKey,
14987       { "derivedCipherKey", "qsig.wtmau.derivedCipherKey",
14988         FT_BYTES, BASE_NONE, NULL, 0,
14989         NULL, HFILL }},
14990     { &hf_qsig_wtmau_extension,
14991       { "extension", "qsig.wtmau.extension_element",
14992         FT_NONE, BASE_NONE, NULL, 0,
14993         NULL, HFILL }},
14994     { &hf_qsig_wtmau_sequOfExtn,
14995       { "sequOfExtn", "qsig.wtmau.sequOfExtn",
14996         FT_UINT32, BASE_DEC, NULL, 0,
14997         "SEQUENCE_OF_Extension", HFILL }},
14998     { &hf_qsig_wtmau_sequOfExtn_item,
14999       { "Extension", "qsig.wtmau.Extension_element",
15000         FT_NONE, BASE_NONE, NULL, 0,
15001         NULL, HFILL }},
15002     { &hf_qsig_wtmau_authAlg,
15003       { "authAlg", "qsig.wtmau.authAlg",
15004         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DefinedIDs_vals), 0,
15005         "DefinedIDs", HFILL }},
15006     { &hf_qsig_wtmau_param,
15007       { "param", "qsig.wtmau.param_element",
15008         FT_NONE, BASE_NONE, NULL, 0,
15009         NULL, HFILL }},
15010
15011 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
15012
15013     { &hf_qsig_sd_qsig_sd_DisplayArg_PDU,
15014       { "DisplayArg", "qsig.sd.DisplayArg_element",
15015         FT_NONE, BASE_NONE, NULL, 0,
15016         NULL, HFILL }},
15017     { &hf_qsig_sd_qsig_sd_KeypadArg_PDU,
15018       { "KeypadArg", "qsig.sd.KeypadArg_element",
15019         FT_NONE, BASE_NONE, NULL, 0,
15020         NULL, HFILL }},
15021     { &hf_qsig_sd_qsig_sd_Extension_PDU,
15022       { "Extension", "qsig.sd.Extension_element",
15023         FT_NONE, BASE_NONE, NULL, 0,
15024         NULL, HFILL }},
15025     { &hf_qsig_sd_displayString,
15026       { "displayString", "qsig.sd.displayString",
15027         FT_UINT32, BASE_DEC, VALS(qsig_sd_DisplayString_vals), 0,
15028         NULL, HFILL }},
15029     { &hf_qsig_sd_sdextension,
15030       { "extension", "qsig.sd.extension",
15031         FT_UINT32, BASE_DEC, VALS(qsig_sd_SDExtension_vals), 0,
15032         "SDExtension", HFILL }},
15033     { &hf_qsig_sd_displayStringNormal,
15034       { "displayStringNormal", "qsig.sd.displayStringNormal",
15035         FT_BYTES, BASE_NONE, NULL, 0,
15036         "BMPStringNormal", HFILL }},
15037     { &hf_qsig_sd_displayStringExtended,
15038       { "displayStringExtended", "qsig.sd.displayStringExtended",
15039         FT_BYTES, BASE_NONE, NULL, 0,
15040         "BMPStringExtended", HFILL }},
15041     { &hf_qsig_sd_keypadString,
15042       { "keypadString", "qsig.sd.keypadString",
15043         FT_BYTES, BASE_NONE, NULL, 0,
15044         "BMPStringNormal", HFILL }},
15045     { &hf_qsig_sd_extension,
15046       { "extension", "qsig.sd.extension_element",
15047         FT_NONE, BASE_NONE, NULL, 0,
15048         NULL, HFILL }},
15049     { &hf_qsig_sd_multipleExtension,
15050       { "multipleExtension", "qsig.sd.multipleExtension",
15051         FT_UINT32, BASE_DEC, NULL, 0,
15052         "SEQUENCE_OF_Extension", HFILL }},
15053     { &hf_qsig_sd_multipleExtension_item,
15054       { "Extension", "qsig.sd.Extension_element",
15055         FT_NONE, BASE_NONE, NULL, 0,
15056         NULL, HFILL }},
15057
15058 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
15059
15060     { &hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU,
15061       { "CallIdentificationAssignArg", "qsig.cidl.CallIdentificationAssignArg_element",
15062         FT_NONE, BASE_NONE, NULL, 0,
15063         NULL, HFILL }},
15064     { &hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU,
15065       { "CallIdentificationUpdateArg", "qsig.cidl.CallIdentificationUpdateArg_element",
15066         FT_NONE, BASE_NONE, NULL, 0,
15067         NULL, HFILL }},
15068     { &hf_qsig_cidl_globalCallID,
15069       { "globalCallID", "qsig.cidl.globalCallID_element",
15070         FT_NONE, BASE_NONE, NULL, 0,
15071         "CallIdentificationData", HFILL }},
15072     { &hf_qsig_cidl_threadID,
15073       { "threadID", "qsig.cidl.threadID_element",
15074         FT_NONE, BASE_NONE, NULL, 0,
15075         "CallIdentificationData", HFILL }},
15076     { &hf_qsig_cidl_legID,
15077       { "legID", "qsig.cidl.legID_element",
15078         FT_NONE, BASE_NONE, NULL, 0,
15079         "CallIdentificationData", HFILL }},
15080     { &hf_qsig_cidl_extensiont,
15081       { "extension", "qsig.cidl.extension",
15082         FT_UINT32, BASE_DEC, VALS(qsig_cidl_ExtensionType_vals), 0,
15083         "ExtensionType", HFILL }},
15084     { &hf_qsig_cidl_switchingSubDomainName,
15085       { "switchingSubDomainName", "qsig.cidl.switchingSubDomainName",
15086         FT_STRING, BASE_NONE, NULL, 0,
15087         NULL, HFILL }},
15088     { &hf_qsig_cidl_linkageID,
15089       { "linkageID", "qsig.cidl.linkageID",
15090         FT_UINT32, BASE_DEC, VALS(qsig_cidl_T_linkageID_vals), 0,
15091         NULL, HFILL }},
15092     { &hf_qsig_cidl_subDomainID,
15093       { "subDomainID", "qsig.cidl.subDomainID",
15094         FT_BYTES, BASE_NONE, NULL, 0,
15095         NULL, HFILL }},
15096     { &hf_qsig_cidl_globallyUniqueID,
15097       { "globallyUniqueID", "qsig.cidl.globallyUniqueID",
15098         FT_BYTES, BASE_NONE, NULL, 0,
15099         NULL, HFILL }},
15100     { &hf_qsig_cidl_timeStamp,
15101       { "timeStamp", "qsig.cidl.timeStamp",
15102         FT_STRING, BASE_NONE, NULL, 0,
15103         NULL, HFILL }},
15104     { &hf_qsig_cidl_extension,
15105       { "extension", "qsig.cidl.extension_element",
15106         FT_NONE, BASE_NONE, NULL, 0,
15107         NULL, HFILL }},
15108     { &hf_qsig_cidl_sequenceOfExt,
15109       { "sequenceOfExt", "qsig.cidl.sequenceOfExt",
15110         FT_UINT32, BASE_DEC, NULL, 0,
15111         "SEQUENCE_OF_Extension", HFILL }},
15112     { &hf_qsig_cidl_sequenceOfExt_item,
15113       { "Extension", "qsig.cidl.Extension_element",
15114         FT_NONE, BASE_NONE, NULL, 0,
15115         NULL, HFILL }},
15116
15117 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
15118
15119     { &hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU,
15120       { "SmsSubmitArg", "qsig.sms.SmsSubmitArg_element",
15121         FT_NONE, BASE_NONE, NULL, 0,
15122         NULL, HFILL }},
15123     { &hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU,
15124       { "SmsSubmitRes", "qsig.sms.SmsSubmitRes_element",
15125         FT_NONE, BASE_NONE, NULL, 0,
15126         NULL, HFILL }},
15127     { &hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU,
15128       { "SmsDeliverArg", "qsig.sms.SmsDeliverArg_element",
15129         FT_NONE, BASE_NONE, NULL, 0,
15130         NULL, HFILL }},
15131     { &hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU,
15132       { "SmsDeliverRes", "qsig.sms.SmsDeliverRes_element",
15133         FT_NONE, BASE_NONE, NULL, 0,
15134         NULL, HFILL }},
15135     { &hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU,
15136       { "SmsStatusReportArg", "qsig.sms.SmsStatusReportArg_element",
15137         FT_NONE, BASE_NONE, NULL, 0,
15138         NULL, HFILL }},
15139     { &hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU,
15140       { "SmsStatusReportRes", "qsig.sms.SmsStatusReportRes_element",
15141         FT_NONE, BASE_NONE, NULL, 0,
15142         NULL, HFILL }},
15143     { &hf_qsig_sms_qsig_sms_SmsCommandArg_PDU,
15144       { "SmsCommandArg", "qsig.sms.SmsCommandArg_element",
15145         FT_NONE, BASE_NONE, NULL, 0,
15146         NULL, HFILL }},
15147     { &hf_qsig_sms_qsig_sms_SmsCommandRes_PDU,
15148       { "SmsCommandRes", "qsig.sms.SmsCommandRes_element",
15149         FT_NONE, BASE_NONE, NULL, 0,
15150         NULL, HFILL }},
15151     { &hf_qsig_sms_qsig_sms_ScAlertArg_PDU,
15152       { "ScAlertArg", "qsig.sms.ScAlertArg_element",
15153         FT_NONE, BASE_NONE, NULL, 0,
15154         NULL, HFILL }},
15155     { &hf_qsig_sms_qsig_sms_DummyRes_PDU,
15156       { "DummyRes", "qsig.sms.DummyRes",
15157         FT_UINT32, BASE_DEC, VALS(qsig_sms_DummyRes_vals), 0,
15158         NULL, HFILL }},
15159     { &hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU,
15160       { "PAR-smsDeliverError", "qsig.sms.PAR_smsDeliverError_element",
15161         FT_NONE, BASE_NONE, NULL, 0,
15162         NULL, HFILL }},
15163     { &hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU,
15164       { "PAR-smsSubmitError", "qsig.sms.PAR_smsSubmitError_element",
15165         FT_NONE, BASE_NONE, NULL, 0,
15166         NULL, HFILL }},
15167     { &hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU,
15168       { "PAR-smsStatusReportError", "qsig.sms.PAR_smsStatusReportError_element",
15169         FT_NONE, BASE_NONE, NULL, 0,
15170         NULL, HFILL }},
15171     { &hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU,
15172       { "PAR-smsCommandError", "qsig.sms.PAR_smsCommandError_element",
15173         FT_NONE, BASE_NONE, NULL, 0,
15174         NULL, HFILL }},
15175     { &hf_qsig_sms_qsig_sms_SmsExtension_PDU,
15176       { "SmsExtension", "qsig.sms.SmsExtension",
15177         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15178         NULL, HFILL }},
15179     { &hf_qsig_sms_destinationAddress,
15180       { "destinationAddress", "qsig.sms.destinationAddress",
15181         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15182         "PartyNumber", HFILL }},
15183     { &hf_qsig_sms_originatingAddress,
15184       { "originatingAddress", "qsig.sms.originatingAddress",
15185         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15186         "PartyNumber", HFILL }},
15187     { &hf_qsig_sms_messageReference,
15188       { "messageReference", "qsig.sms.messageReference",
15189         FT_UINT32, BASE_DEC, NULL, 0,
15190         NULL, HFILL }},
15191     { &hf_qsig_sms_smSubmitParameter,
15192       { "smSubmitParameter", "qsig.sms.smSubmitParameter_element",
15193         FT_NONE, BASE_NONE, NULL, 0,
15194         NULL, HFILL }},
15195     { &hf_qsig_sms_userData,
15196       { "userData", "qsig.sms.userData_element",
15197         FT_NONE, BASE_NONE, NULL, 0,
15198         NULL, HFILL }},
15199     { &hf_qsig_sms_smsExtension,
15200       { "smsExtension", "qsig.sms.smsExtension",
15201         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15202         NULL, HFILL }},
15203     { &hf_qsig_sms_serviceCentreTimeStamp,
15204       { "serviceCentreTimeStamp", "qsig.sms.serviceCentreTimeStamp",
15205         FT_STRING, BASE_NONE, NULL, 0,
15206         NULL, HFILL }},
15207     { &hf_qsig_sms_protocolIdentifier,
15208       { "protocolIdentifier", "qsig.sms.protocolIdentifier",
15209         FT_UINT32, BASE_DEC, NULL, 0,
15210         NULL, HFILL }},
15211     { &hf_qsig_sms_originatingName,
15212       { "originatingName", "qsig.sms.originatingName",
15213         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15214         "Name", HFILL }},
15215     { &hf_qsig_sms_smDeliverParameter,
15216       { "smDeliverParameter", "qsig.sms.smDeliverParameter_element",
15217         FT_NONE, BASE_NONE, NULL, 0,
15218         NULL, HFILL }},
15219     { &hf_qsig_sms_smsDeliverResponseChoice,
15220       { "smsDeliverResponseChoice", "qsig.sms.smsDeliverResponseChoice",
15221         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsDeliverResChoice_vals), 0,
15222         "SmsDeliverResChoice", HFILL }},
15223     { &hf_qsig_sms_dischargeTime,
15224       { "dischargeTime", "qsig.sms.dischargeTime",
15225         FT_STRING, BASE_NONE, NULL, 0,
15226         NULL, HFILL }},
15227     { &hf_qsig_sms_recipientAddress,
15228       { "recipientAddress", "qsig.sms.recipientAddress",
15229         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15230         "PartyNumber", HFILL }},
15231     { &hf_qsig_sms_recipientName,
15232       { "recipientName", "qsig.sms.recipientName",
15233         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15234         "Name", HFILL }},
15235     { &hf_qsig_sms_status,
15236       { "status", "qsig.sms.status",
15237         FT_UINT32, BASE_DEC, NULL, 0,
15238         NULL, HFILL }},
15239     { &hf_qsig_sms_priority,
15240       { "priority", "qsig.sms.priority",
15241         FT_BOOLEAN, BASE_NONE, NULL, 0,
15242         "BOOLEAN", HFILL }},
15243     { &hf_qsig_sms_moreMessagesToSend,
15244       { "moreMessagesToSend", "qsig.sms.moreMessagesToSend",
15245         FT_BOOLEAN, BASE_NONE, NULL, 0,
15246         "BOOLEAN", HFILL }},
15247     { &hf_qsig_sms_statusReportQualifier,
15248       { "statusReportQualifier", "qsig.sms.statusReportQualifier",
15249         FT_BOOLEAN, BASE_NONE, NULL, 0,
15250         "BOOLEAN", HFILL }},
15251     { &hf_qsig_sms_smsStatusReportResponseChoice,
15252       { "smsStatusReportResponseChoice", "qsig.sms.smsStatusReportResponseChoice",
15253         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsStatusReportResponseChoice_vals), 0,
15254         NULL, HFILL }},
15255     { &hf_qsig_sms_messageNumber,
15256       { "messageNumber", "qsig.sms.messageNumber",
15257         FT_UINT32, BASE_DEC, NULL, 0,
15258         "MessageReference", HFILL }},
15259     { &hf_qsig_sms_commandType,
15260       { "commandType", "qsig.sms.commandType",
15261         FT_UINT32, BASE_DEC, VALS(qsig_sms_CommandType_vals), 0,
15262         NULL, HFILL }},
15263     { &hf_qsig_sms_commandData,
15264       { "commandData", "qsig.sms.commandData",
15265         FT_BYTES, BASE_NONE, NULL, 0,
15266         NULL, HFILL }},
15267     { &hf_qsig_sms_statusReportRequest,
15268       { "statusReportRequest", "qsig.sms.statusReportRequest",
15269         FT_BOOLEAN, BASE_NONE, NULL, 0,
15270         "BOOLEAN", HFILL }},
15271     { &hf_qsig_sms_null,
15272       { "null", "qsig.sms.null_element",
15273         FT_NONE, BASE_NONE, NULL, 0,
15274         NULL, HFILL }},
15275     { &hf_qsig_sms_validityPeriod,
15276       { "validityPeriod", "qsig.sms.validityPeriod",
15277         FT_UINT32, BASE_DEC, VALS(qsig_sms_ValidityPeriod_vals), 0,
15278         NULL, HFILL }},
15279     { &hf_qsig_sms_replyPath,
15280       { "replyPath", "qsig.sms.replyPath",
15281         FT_BOOLEAN, BASE_NONE, NULL, 0,
15282         "BOOLEAN", HFILL }},
15283     { &hf_qsig_sms_rejectDuplicates,
15284       { "rejectDuplicates", "qsig.sms.rejectDuplicates",
15285         FT_BOOLEAN, BASE_NONE, NULL, 0,
15286         "BOOLEAN", HFILL }},
15287     { &hf_qsig_sms_statusReportIndication,
15288       { "statusReportIndication", "qsig.sms.statusReportIndication",
15289         FT_BOOLEAN, BASE_NONE, NULL, 0,
15290         "BOOLEAN", HFILL }},
15291     { &hf_qsig_sms_resChoiceSeq,
15292       { "resChoiceSeq", "qsig.sms.resChoiceSeq_element",
15293         FT_NONE, BASE_NONE, NULL, 0,
15294         NULL, HFILL }},
15295     { &hf_qsig_sms_single,
15296       { "single", "qsig.sms.single_element",
15297         FT_NONE, BASE_NONE, NULL, 0,
15298         "Extension", HFILL }},
15299     { &hf_qsig_sms_multiple,
15300       { "multiple", "qsig.sms.multiple",
15301         FT_UINT32, BASE_DEC, NULL, 0,
15302         "SEQUENCE_OF_Extension", HFILL }},
15303     { &hf_qsig_sms_multiple_item,
15304       { "Extension", "qsig.sms.Extension_element",
15305         FT_NONE, BASE_NONE, NULL, 0,
15306         NULL, HFILL }},
15307     { &hf_qsig_sms_validityPeriodRel,
15308       { "validityPeriodRel", "qsig.sms.validityPeriodRel",
15309         FT_UINT32, BASE_DEC, NULL, 0,
15310         NULL, HFILL }},
15311     { &hf_qsig_sms_validityPeriodAbs,
15312       { "validityPeriodAbs", "qsig.sms.validityPeriodAbs",
15313         FT_STRING, BASE_NONE, NULL, 0,
15314         NULL, HFILL }},
15315     { &hf_qsig_sms_validityPeriodEnh,
15316       { "validityPeriodEnh", "qsig.sms.validityPeriodEnh_element",
15317         FT_NONE, BASE_NONE, NULL, 0,
15318         NULL, HFILL }},
15319     { &hf_qsig_sms_singleShotSM,
15320       { "singleShotSM", "qsig.sms.singleShotSM",
15321         FT_BOOLEAN, BASE_NONE, NULL, 0,
15322         "BOOLEAN", HFILL }},
15323     { &hf_qsig_sms_enhancedVP,
15324       { "enhancedVP", "qsig.sms.enhancedVP",
15325         FT_UINT32, BASE_DEC, VALS(qsig_sms_EnhancedVP_vals), 0,
15326         NULL, HFILL }},
15327     { &hf_qsig_sms_validityPeriodSec,
15328       { "validityPeriodSec", "qsig.sms.validityPeriodSec",
15329         FT_UINT32, BASE_DEC, NULL, 0,
15330         "INTEGER_0_255", HFILL }},
15331     { &hf_qsig_sms_validityPeriodSemi,
15332       { "validityPeriodSemi", "qsig.sms.validityPeriodSemi",
15333         FT_BYTES, BASE_NONE, NULL, 0,
15334         NULL, HFILL }},
15335     { &hf_qsig_sms_userDataHeader,
15336       { "userDataHeader", "qsig.sms.userDataHeader",
15337         FT_UINT32, BASE_DEC, NULL, 0,
15338         NULL, HFILL }},
15339     { &hf_qsig_sms_class,
15340       { "class", "qsig.sms.class",
15341         FT_UINT32, BASE_DEC, NULL, 0,
15342         "INTEGER_0_3", HFILL }},
15343     { &hf_qsig_sms_compressed,
15344       { "compressed", "qsig.sms.compressed",
15345         FT_BOOLEAN, BASE_NONE, NULL, 0,
15346         "BOOLEAN", HFILL }},
15347     { &hf_qsig_sms_shortMessageText,
15348       { "shortMessageText", "qsig.sms.shortMessageText_element",
15349         FT_NONE, BASE_NONE, NULL, 0,
15350         NULL, HFILL }},
15351     { &hf_qsig_sms_shortMessageTextType,
15352       { "shortMessageTextType", "qsig.sms.shortMessageTextType",
15353         FT_UINT32, BASE_DEC, VALS(qsig_sms_ShortMessageTextType_vals), 0,
15354         NULL, HFILL }},
15355     { &hf_qsig_sms_shortMessageTextData,
15356       { "shortMessageTextData", "qsig.sms.shortMessageTextData",
15357         FT_BYTES, BASE_NONE, NULL, 0,
15358         NULL, HFILL }},
15359     { &hf_qsig_sms_UserDataHeader_item,
15360       { "UserDataHeaderChoice", "qsig.sms.UserDataHeaderChoice",
15361         FT_UINT32, BASE_DEC, VALS(qsig_sms_UserDataHeaderChoice_vals), 0,
15362         NULL, HFILL }},
15363     { &hf_qsig_sms_smscControlParameterHeader,
15364       { "smscControlParameterHeader", "qsig.sms.smscControlParameterHeader",
15365         FT_BYTES, BASE_NONE, NULL, 0,
15366         NULL, HFILL }},
15367     { &hf_qsig_sms_concatenated8BitSMHeader,
15368       { "concatenated8BitSMHeader", "qsig.sms.concatenated8BitSMHeader_element",
15369         FT_NONE, BASE_NONE, NULL, 0,
15370         NULL, HFILL }},
15371     { &hf_qsig_sms_concatenated16BitSMHeader,
15372       { "concatenated16BitSMHeader", "qsig.sms.concatenated16BitSMHeader_element",
15373         FT_NONE, BASE_NONE, NULL, 0,
15374         NULL, HFILL }},
15375     { &hf_qsig_sms_applicationPort8BitHeader,
15376       { "applicationPort8BitHeader", "qsig.sms.applicationPort8BitHeader_element",
15377         FT_NONE, BASE_NONE, NULL, 0,
15378         NULL, HFILL }},
15379     { &hf_qsig_sms_applicationPort16BitHeader,
15380       { "applicationPort16BitHeader", "qsig.sms.applicationPort16BitHeader_element",
15381         FT_NONE, BASE_NONE, NULL, 0,
15382         NULL, HFILL }},
15383     { &hf_qsig_sms_dataHeaderSourceIndicator,
15384       { "dataHeaderSourceIndicator", "qsig.sms.dataHeaderSourceIndicator",
15385         FT_UINT32, BASE_DEC, VALS(qsig_sms_DataHeaderSourceIndicator_vals), 0,
15386         NULL, HFILL }},
15387     { &hf_qsig_sms_wirelessControlHeader,
15388       { "wirelessControlHeader", "qsig.sms.wirelessControlHeader",
15389         FT_BYTES, BASE_NONE, NULL, 0,
15390         NULL, HFILL }},
15391     { &hf_qsig_sms_genericUserValue,
15392       { "genericUserValue", "qsig.sms.genericUserValue_element",
15393         FT_NONE, BASE_NONE, NULL, 0,
15394         NULL, HFILL }},
15395     { &hf_qsig_sms_concatenated8BitSMReferenceNumber,
15396       { "concatenated8BitSMReferenceNumber", "qsig.sms.concatenated8BitSMReferenceNumber",
15397         FT_UINT32, BASE_DEC, NULL, 0,
15398         "INTEGER_0_255", HFILL }},
15399     { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM,
15400       { "maximumNumberOf8BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf8BitSMInConcatenatedSM",
15401         FT_UINT32, BASE_DEC, NULL, 0,
15402         "INTEGER_0_255", HFILL }},
15403     { &hf_qsig_sms_sequenceNumberOf8BitSM,
15404       { "sequenceNumberOf8BitSM", "qsig.sms.sequenceNumberOf8BitSM",
15405         FT_UINT32, BASE_DEC, NULL, 0,
15406         "INTEGER_0_255", HFILL }},
15407     { &hf_qsig_sms_concatenated16BitSMReferenceNumber,
15408       { "concatenated16BitSMReferenceNumber", "qsig.sms.concatenated16BitSMReferenceNumber",
15409         FT_UINT32, BASE_DEC, NULL, 0,
15410         "INTEGER_0_65536", HFILL }},
15411     { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM,
15412       { "maximumNumberOf16BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf16BitSMInConcatenatedSM",
15413         FT_UINT32, BASE_DEC, NULL, 0,
15414         "INTEGER_0_255", HFILL }},
15415     { &hf_qsig_sms_sequenceNumberOf16BitSM,
15416       { "sequenceNumberOf16BitSM", "qsig.sms.sequenceNumberOf16BitSM",
15417         FT_UINT32, BASE_DEC, NULL, 0,
15418         "INTEGER_0_255", HFILL }},
15419     { &hf_qsig_sms_destination8BitPort,
15420       { "destination8BitPort", "qsig.sms.destination8BitPort",
15421         FT_UINT32, BASE_DEC, NULL, 0,
15422         "INTEGER_0_255", HFILL }},
15423     { &hf_qsig_sms_originator8BitPort,
15424       { "originator8BitPort", "qsig.sms.originator8BitPort",
15425         FT_UINT32, BASE_DEC, NULL, 0,
15426         "INTEGER_0_255", HFILL }},
15427     { &hf_qsig_sms_destination16BitPort,
15428       { "destination16BitPort", "qsig.sms.destination16BitPort",
15429         FT_UINT32, BASE_DEC, NULL, 0,
15430         "INTEGER_0_65536", HFILL }},
15431     { &hf_qsig_sms_originator16BitPort,
15432       { "originator16BitPort", "qsig.sms.originator16BitPort",
15433         FT_UINT32, BASE_DEC, NULL, 0,
15434         "INTEGER_0_65536", HFILL }},
15435     { &hf_qsig_sms_parameterValue,
15436       { "parameterValue", "qsig.sms.parameterValue",
15437         FT_UINT32, BASE_DEC, NULL, 0,
15438         "INTEGER_0_255", HFILL }},
15439     { &hf_qsig_sms_genericUserData,
15440       { "genericUserData", "qsig.sms.genericUserData",
15441         FT_BYTES, BASE_NONE, NULL, 0,
15442         "OCTET_STRING", HFILL }},
15443     { &hf_qsig_sms_failureCause,
15444       { "failureCause", "qsig.sms.failureCause",
15445         FT_UINT32, BASE_DEC, NULL, 0,
15446         NULL, HFILL }},
15447     { &hf_qsig_sms_scAddressSaved,
15448       { "scAddressSaved", "qsig.sms.scAddressSaved",
15449         FT_BOOLEAN, BASE_NONE, NULL, 0,
15450         "BOOLEAN", HFILL }},
15451     { &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted,
15452       { "sRforTransactionCompleted", "qsig.sms.sRforTransactionCompleted",
15453         FT_BOOLEAN, 8, NULL, 0x80,
15454         NULL, HFILL }},
15455     { &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError,
15456       { "sRforPermanentError", "qsig.sms.sRforPermanentError",
15457         FT_BOOLEAN, 8, NULL, 0x40,
15458         NULL, HFILL }},
15459     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying,
15460       { "sRforTempErrorSCnotTrying", "qsig.sms.sRforTempErrorSCnotTrying",
15461         FT_BOOLEAN, 8, NULL, 0x20,
15462         NULL, HFILL }},
15463     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying,
15464       { "sRforTempErrorSCstillTrying", "qsig.sms.sRforTempErrorSCstillTrying",
15465         FT_BOOLEAN, 8, NULL, 0x10,
15466         NULL, HFILL }},
15467     { &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM,
15468       { "cancelSRRforConcatenatedSM", "qsig.sms.cancelSRRforConcatenatedSM",
15469         FT_BOOLEAN, 8, NULL, 0x02,
15470         NULL, HFILL }},
15471     { &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR,
15472       { "includeOrigUDHintoSR", "qsig.sms.includeOrigUDHintoSR",
15473         FT_BOOLEAN, 8, NULL, 0x01,
15474         NULL, HFILL }},
15475
15476 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
15477
15478     { &hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU,
15479       { "MCRequestArg", "qsig.mcr.MCRequestArg_element",
15480         FT_NONE, BASE_NONE, NULL, 0,
15481         NULL, HFILL }},
15482     { &hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU,
15483       { "MCRequestResult", "qsig.mcr.MCRequestResult_element",
15484         FT_NONE, BASE_NONE, NULL, 0,
15485         NULL, HFILL }},
15486     { &hf_qsig_mcr_qsig_mcr_MCInformArg_PDU,
15487       { "MCInformArg", "qsig.mcr.MCInformArg_element",
15488         FT_NONE, BASE_NONE, NULL, 0,
15489         NULL, HFILL }},
15490     { &hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU,
15491       { "MCAlertingArg", "qsig.mcr.MCAlertingArg_element",
15492         FT_NONE, BASE_NONE, NULL, 0,
15493         NULL, HFILL }},
15494     { &hf_qsig_mcr_qsig_mcr_Extension_PDU,
15495       { "Extension", "qsig.mcr.Extension_element",
15496         FT_NONE, BASE_NONE, NULL, 0,
15497         NULL, HFILL }},
15498     { &hf_qsig_mcr_callType,
15499       { "callType", "qsig.mcr.callType",
15500         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CallType_vals), 0,
15501         NULL, HFILL }},
15502     { &hf_qsig_mcr_retainOrigCall,
15503       { "retainOrigCall", "qsig.mcr.retainOrigCall",
15504         FT_BOOLEAN, BASE_NONE, NULL, 0,
15505         "BOOLEAN", HFILL }},
15506     { &hf_qsig_mcr_destinationAddress,
15507       { "destinationAddress", "qsig.mcr.destinationAddress",
15508         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15509         "PresentedAddressUnscreened", HFILL }},
15510     { &hf_qsig_mcr_requestingAddress,
15511       { "requestingAddress", "qsig.mcr.requestingAddress",
15512         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15513         "PresentedAddressUnscreened", HFILL }},
15514     { &hf_qsig_mcr_cooperatingAddress,
15515       { "cooperatingAddress", "qsig.mcr.cooperatingAddress",
15516         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15517         "PresentedAddressUnscreened", HFILL }},
15518     { &hf_qsig_mcr_correlation,
15519       { "correlation", "qsig.mcr.correlation_element",
15520         FT_NONE, BASE_NONE, NULL, 0,
15521         NULL, HFILL }},
15522     { &hf_qsig_mcr_extensions,
15523       { "extensions", "qsig.mcr.extensions",
15524         FT_UINT32, BASE_DEC, VALS(qsig_mcr_MCRExtensions_vals), 0,
15525         "MCRExtensions", HFILL }},
15526     { &hf_qsig_mcr_basicService,
15527       { "basicService", "qsig.mcr.basicService",
15528         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
15529         NULL, HFILL }},
15530     { &hf_qsig_mcr_cisc,
15531       { "cisc", "qsig.mcr.cisc_element",
15532         FT_NONE, BASE_NONE, NULL, 0,
15533         NULL, HFILL }},
15534     { &hf_qsig_mcr_correlationData,
15535       { "correlationData", "qsig.mcr.correlationData",
15536         FT_STRING, BASE_NONE, NULL, 0,
15537         "CallIdentity", HFILL }},
15538     { &hf_qsig_mcr_correlationReason,
15539       { "correlationReason", "qsig.mcr.correlationReason",
15540         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CorrelationReason_vals), 0,
15541         NULL, HFILL }},
15542     { &hf_qsig_mcr_none,
15543       { "none", "qsig.mcr.none_element",
15544         FT_NONE, BASE_NONE, NULL, 0,
15545         NULL, HFILL }},
15546     { &hf_qsig_mcr_single,
15547       { "single", "qsig.mcr.single_element",
15548         FT_NONE, BASE_NONE, NULL, 0,
15549         "Extension", HFILL }},
15550     { &hf_qsig_mcr_multiple,
15551       { "multiple", "qsig.mcr.multiple",
15552         FT_UINT32, BASE_DEC, NULL, 0,
15553         "SEQUENCE_OF_Extension", HFILL }},
15554     { &hf_qsig_mcr_multiple_item,
15555       { "Extension", "qsig.mcr.Extension_element",
15556         FT_NONE, BASE_NONE, NULL, 0,
15557         NULL, HFILL }},
15558
15559 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
15560
15561     { &hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU,
15562       { "MCMNewMsgArg", "qsig.mcm.MCMNewMsgArg_element",
15563         FT_NONE, BASE_NONE, NULL, 0,
15564         NULL, HFILL }},
15565     { &hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU,
15566       { "MCMDummyRes", "qsig.mcm.MCMDummyRes",
15567         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15568         NULL, HFILL }},
15569     { &hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU,
15570       { "MCMNoNewMsgArg", "qsig.mcm.MCMNoNewMsgArg_element",
15571         FT_NONE, BASE_NONE, NULL, 0,
15572         NULL, HFILL }},
15573     { &hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU,
15574       { "MCMUpdateArg", "qsig.mcm.MCMUpdateArg_element",
15575         FT_NONE, BASE_NONE, NULL, 0,
15576         NULL, HFILL }},
15577     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU,
15578       { "MCMUpdateReqArg", "qsig.mcm.MCMUpdateReqArg_element",
15579         FT_NONE, BASE_NONE, NULL, 0,
15580         NULL, HFILL }},
15581     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU,
15582       { "MCMUpdateReqRes", "qsig.mcm.MCMUpdateReqRes",
15583         FT_UINT32, BASE_DEC, NULL, 0,
15584         NULL, HFILL }},
15585     { &hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU,
15586       { "MCMServiceArg", "qsig.mcm.MCMServiceArg_element",
15587         FT_NONE, BASE_NONE, NULL, 0,
15588         NULL, HFILL }},
15589     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU,
15590       { "MCMInterrogateArg", "qsig.mcm.MCMInterrogateArg_element",
15591         FT_NONE, BASE_NONE, NULL, 0,
15592         NULL, HFILL }},
15593     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU,
15594       { "MCMInterrogateRes", "qsig.mcm.MCMInterrogateRes_element",
15595         FT_NONE, BASE_NONE, NULL, 0,
15596         NULL, HFILL }},
15597     { &hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU,
15598       { "MCMailboxFullArg", "qsig.mcm.MCMailboxFullArg_element",
15599         FT_NONE, BASE_NONE, NULL, 0,
15600         NULL, HFILL }},
15601     { &hf_qsig_mcm_qsig_mcm_Extension_PDU,
15602       { "Extension", "qsig.mcm.Extension_element",
15603         FT_NONE, BASE_NONE, NULL, 0,
15604         NULL, HFILL }},
15605     { &hf_qsig_mcm_partyInfo,
15606       { "partyInfo", "qsig.mcm.partyInfo_element",
15607         FT_NONE, BASE_NONE, NULL, 0,
15608         NULL, HFILL }},
15609     { &hf_qsig_mcm_mailboxFullFor,
15610       { "mailboxFullFor", "qsig.mcm.mailboxFullFor",
15611         FT_UINT32, BASE_DEC, NULL, 0,
15612         NULL, HFILL }},
15613     { &hf_qsig_mcm_extensions,
15614       { "extensions", "qsig.mcm.extensions",
15615         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15616         "MCMExtensions", HFILL }},
15617     { &hf_qsig_mcm_MailboxFullFor_item,
15618       { "MailboxFullPar", "qsig.mcm.MailboxFullPar_element",
15619         FT_NONE, BASE_NONE, NULL, 0,
15620         NULL, HFILL }},
15621     { &hf_qsig_mcm_messageType,
15622       { "messageType", "qsig.mcm.messageType",
15623         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15624         NULL, HFILL }},
15625     { &hf_qsig_mcm_capacityReached,
15626       { "capacityReached", "qsig.mcm.capacityReached",
15627         FT_UINT32, BASE_DEC, NULL, 0,
15628         "INTEGER_0_100", HFILL }},
15629     { &hf_qsig_mcm_mCMChange,
15630       { "mCMChange", "qsig.mcm.mCMChange",
15631         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMChange_vals), 0,
15632         NULL, HFILL }},
15633     { &hf_qsig_mcm_activateMCM,
15634       { "activateMCM", "qsig.mcm.activateMCM",
15635         FT_UINT32, BASE_DEC, NULL, 0,
15636         "SEQUENCE_OF_MCMServiceInfo", HFILL }},
15637     { &hf_qsig_mcm_activateMCM_item,
15638       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo_element",
15639         FT_NONE, BASE_NONE, NULL, 0,
15640         NULL, HFILL }},
15641     { &hf_qsig_mcm_deactivateMCM,
15642       { "deactivateMCM", "qsig.mcm.deactivateMCM",
15643         FT_UINT32, BASE_DEC, NULL, 0,
15644         "SEQUENCE_OF_MessageType", HFILL }},
15645     { &hf_qsig_mcm_deactivateMCM_item,
15646       { "MessageType", "qsig.mcm.MessageType",
15647         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15648         NULL, HFILL }},
15649     { &hf_qsig_mcm_setToDefaultValues,
15650       { "setToDefaultValues", "qsig.mcm.setToDefaultValues_element",
15651         FT_NONE, BASE_NONE, NULL, 0,
15652         NULL, HFILL }},
15653     { &hf_qsig_mcm_mCMModeNew,
15654       { "mCMModeNew", "qsig.mcm.mCMModeNew",
15655         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15656         "MCMMode", HFILL }},
15657     { &hf_qsig_mcm_mCMModeRetrieved,
15658       { "mCMModeRetrieved", "qsig.mcm.mCMModeRetrieved",
15659         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15660         "MCMMode", HFILL }},
15661     { &hf_qsig_mcm_interrogateInfo,
15662       { "interrogateInfo", "qsig.mcm.interrogateInfo",
15663         FT_UINT32, BASE_DEC, NULL, 0,
15664         "SEQUENCE_OF_MessageType", HFILL }},
15665     { &hf_qsig_mcm_interrogateInfo_item,
15666       { "MessageType", "qsig.mcm.MessageType",
15667         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15668         NULL, HFILL }},
15669     { &hf_qsig_mcm_interrogateResult,
15670       { "interrogateResult", "qsig.mcm.interrogateResult",
15671         FT_UINT32, BASE_DEC, NULL, 0,
15672         "SEQUENCE_OF_MCMServiceInfo", HFILL }},
15673     { &hf_qsig_mcm_interrogateResult_item,
15674       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo_element",
15675         FT_NONE, BASE_NONE, NULL, 0,
15676         NULL, HFILL }},
15677     { &hf_qsig_mcm_servedUserNr,
15678       { "servedUserNr", "qsig.mcm.servedUserNr",
15679         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15680         "PartyNumber", HFILL }},
15681     { &hf_qsig_mcm_specificMessageType,
15682       { "specificMessageType", "qsig.mcm.specificMessageType",
15683         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15684         "MessageType", HFILL }},
15685     { &hf_qsig_mcm_msgCentreId,
15686       { "msgCentreId", "qsig.mcm.msgCentreId",
15687         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15688         NULL, HFILL }},
15689     { &hf_qsig_mcm_nrOfMessages,
15690       { "nrOfMessages", "qsig.mcm.nrOfMessages",
15691         FT_UINT32, BASE_DEC, NULL, 0,
15692         NULL, HFILL }},
15693     { &hf_qsig_mcm_originatingNr,
15694       { "originatingNr", "qsig.mcm.originatingNr",
15695         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15696         "PartyNumber", HFILL }},
15697     { &hf_qsig_mcm_timestamp,
15698       { "timestamp", "qsig.mcm.timestamp",
15699         FT_STRING, BASE_NONE, NULL, 0,
15700         NULL, HFILL }},
15701     { &hf_qsig_mcm_priority,
15702       { "priority", "qsig.mcm.priority",
15703         FT_UINT32, BASE_DEC, NULL, 0,
15704         "INTEGER_0_9", HFILL }},
15705     { &hf_qsig_mcm_argumentExtMCMNew,
15706       { "argumentExt", "qsig.mcm.argumentExt",
15707         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNewArgumentExt_vals), 0,
15708         "MCMNewArgumentExt", HFILL }},
15709     { &hf_qsig_mcm_extension,
15710       { "extension", "qsig.mcm.extension_element",
15711         FT_NONE, BASE_NONE, NULL, 0,
15712         NULL, HFILL }},
15713     { &hf_qsig_mcm_multipleExtension,
15714       { "multipleExtension", "qsig.mcm.multipleExtension",
15715         FT_UINT32, BASE_DEC, NULL, 0,
15716         "SEQUENCE_OF_Extension", HFILL }},
15717     { &hf_qsig_mcm_multipleExtension_item,
15718       { "Extension", "qsig.mcm.Extension_element",
15719         FT_NONE, BASE_NONE, NULL, 0,
15720         NULL, HFILL }},
15721     { &hf_qsig_mcm_argumentExtMCMNoNew,
15722       { "argumentExt", "qsig.mcm.argumentExt",
15723         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNoNewArgumentExt_vals), 0,
15724         "MCMNoNewArgumentExt", HFILL }},
15725     { &hf_qsig_mcm_updateInfo,
15726       { "updateInfo", "qsig.mcm.updateInfo",
15727         FT_UINT32, BASE_DEC, VALS(qsig_mcm_UpdateInfo_vals), 0,
15728         NULL, HFILL }},
15729     { &hf_qsig_mcm_moreInfoFollows,
15730       { "moreInfoFollows", "qsig.mcm.moreInfoFollows",
15731         FT_BOOLEAN, BASE_NONE, NULL, 0,
15732         "BOOLEAN", HFILL }},
15733     { &hf_qsig_mcm_argumentExtMCMUpdArg,
15734       { "argumentExt", "qsig.mcm.argumentExt",
15735         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdArgArgumentExt_vals), 0,
15736         "MCMUpdArgArgumentExt", HFILL }},
15737     { &hf_qsig_mcm_MCMUpdateReqRes_item,
15738       { "MCMUpdateReqResElt", "qsig.mcm.MCMUpdateReqResElt_element",
15739         FT_NONE, BASE_NONE, NULL, 0,
15740         NULL, HFILL }},
15741     { &hf_qsig_mcm_argumentExtMCMUpdRes,
15742       { "argumentExt", "qsig.mcm.argumentExt",
15743         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdResArgumentExt_vals), 0,
15744         "MCMUpdResArgumentExt", HFILL }},
15745     { &hf_qsig_mcm_messageCentreID,
15746       { "messageCentreID", "qsig.mcm.messageCentreID",
15747         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15748         "MsgCentreId", HFILL }},
15749     { &hf_qsig_mcm_newMsgInfoOnly,
15750       { "newMsgInfoOnly", "qsig.mcm.newMsgInfoOnly",
15751         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15752         "MessageInfo", HFILL }},
15753     { &hf_qsig_mcm_retrievedMsgInfoOnly,
15754       { "retrievedMsgInfoOnly", "qsig.mcm.retrievedMsgInfoOnly",
15755         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15756         "MessageInfo", HFILL }},
15757     { &hf_qsig_mcm_allMsgInfo,
15758       { "allMsgInfo", "qsig.mcm.allMsgInfo_element",
15759         FT_NONE, BASE_NONE, NULL, 0,
15760         NULL, HFILL }},
15761     { &hf_qsig_mcm_newMsgInfo,
15762       { "newMsgInfo", "qsig.mcm.newMsgInfo",
15763         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15764         "MessageInfo", HFILL }},
15765     { &hf_qsig_mcm_retrievedMsgInfo,
15766       { "retrievedMsgInfo", "qsig.mcm.retrievedMsgInfo",
15767         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15768         "MessageInfo", HFILL }},
15769     { &hf_qsig_mcm_completeInfo,
15770       { "completeInfo", "qsig.mcm.completeInfo",
15771         FT_UINT32, BASE_DEC, NULL, 0,
15772         NULL, HFILL }},
15773     { &hf_qsig_mcm_compressedInfo,
15774       { "compressedInfo", "qsig.mcm.compressedInfo_element",
15775         FT_NONE, BASE_NONE, NULL, 0,
15776         NULL, HFILL }},
15777     { &hf_qsig_mcm_noMsgsOfMsgType,
15778       { "noMsgsOfMsgType", "qsig.mcm.noMsgsOfMsgType_element",
15779         FT_NONE, BASE_NONE, NULL, 0,
15780         NULL, HFILL }},
15781     { &hf_qsig_mcm_CompleteInfo_item,
15782       { "AddressHeader", "qsig.mcm.AddressHeader_element",
15783         FT_NONE, BASE_NONE, NULL, 0,
15784         NULL, HFILL }},
15785     { &hf_qsig_mcm_originatorNr,
15786       { "originatorNr", "qsig.mcm.originatorNr",
15787         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15788         "PartyNumber", HFILL }},
15789     { &hf_qsig_mcm_timeStamp,
15790       { "timeStamp", "qsig.mcm.timeStamp",
15791         FT_STRING, BASE_NONE, NULL, 0,
15792         NULL, HFILL }},
15793     { &hf_qsig_mcm_ahpriority,
15794       { "priority", "qsig.mcm.priority",
15795         FT_UINT32, BASE_DEC, NULL, 0,
15796         NULL, HFILL }},
15797     { &hf_qsig_mcm_lastTimeStamp,
15798       { "lastTimeStamp", "qsig.mcm.lastTimeStamp",
15799         FT_STRING, BASE_NONE, NULL, 0,
15800         "TimeStamp", HFILL }},
15801     { &hf_qsig_mcm_highestPriority,
15802       { "highestPriority", "qsig.mcm.highestPriority",
15803         FT_UINT32, BASE_DEC, NULL, 0,
15804         "Priority", HFILL }},
15805     { &hf_qsig_mcm_integer,
15806       { "integer", "qsig.mcm.integer",
15807         FT_UINT32, BASE_DEC, NULL, 0,
15808         "INTEGER_0_65535", HFILL }},
15809     { &hf_qsig_mcm_partyNumber,
15810       { "partyNumber", "qsig.mcm.partyNumber",
15811         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15812         NULL, HFILL }},
15813     { &hf_qsig_mcm_numericString,
15814       { "numericString", "qsig.mcm.numericString",
15815         FT_STRING, BASE_NONE, NULL, 0,
15816         "NumericString_SIZE_1_10", HFILL }},
15817     { &hf_qsig_mcm_none,
15818       { "none", "qsig.mcm.none_element",
15819         FT_NONE, BASE_NONE, NULL, 0,
15820         NULL, HFILL }},
15821
15822 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
15823
15824     { &hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU,
15825       { "MIDMailboxAuthArg", "qsig.mid.MIDMailboxAuthArg_element",
15826         FT_NONE, BASE_NONE, NULL, 0,
15827         NULL, HFILL }},
15828     { &hf_qsig_mid_qsig_mid_MIDDummyRes_PDU,
15829       { "MIDDummyRes", "qsig.mid.MIDDummyRes",
15830         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15831         NULL, HFILL }},
15832     { &hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU,
15833       { "MIDMailboxIDArg", "qsig.mid.MIDMailboxIDArg_element",
15834         FT_NONE, BASE_NONE, NULL, 0,
15835         NULL, HFILL }},
15836     { &hf_qsig_mid_qsig_mid_Extension_PDU,
15837       { "Extension", "qsig.mid.Extension_element",
15838         FT_NONE, BASE_NONE, NULL, 0,
15839         NULL, HFILL }},
15840     { &hf_qsig_mid_partyInfo,
15841       { "partyInfo", "qsig.mid.partyInfo_element",
15842         FT_NONE, BASE_NONE, NULL, 0,
15843         NULL, HFILL }},
15844     { &hf_qsig_mid_servedUserName,
15845       { "servedUserName", "qsig.mid.servedUserName",
15846         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15847         "Name", HFILL }},
15848     { &hf_qsig_mid_mailBox,
15849       { "mailBox", "qsig.mid.mailBox",
15850         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15851         "String", HFILL }},
15852     { &hf_qsig_mid_password,
15853       { "password", "qsig.mid.password",
15854         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15855         "String", HFILL }},
15856     { &hf_qsig_mid_extensions,
15857       { "extensions", "qsig.mid.extensions",
15858         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15859         "MIDExtensions", HFILL }},
15860     { &hf_qsig_mid_servedUserNr,
15861       { "servedUserNr", "qsig.mid.servedUserNr",
15862         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15863         "PresentedAddressUnscreened", HFILL }},
15864     { &hf_qsig_mid_messageType,
15865       { "messageType", "qsig.mid.messageType",
15866         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15867         NULL, HFILL }},
15868     { &hf_qsig_mid_messageCentreID,
15869       { "messageCentreID", "qsig.mid.messageCentreID",
15870         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15871         "MsgCentreId", HFILL }},
15872     { &hf_qsig_mid_stringBmp,
15873       { "stringBmp", "qsig.mid.stringBmp",
15874         FT_STRING, BASE_NONE, NULL, 0,
15875         "BMPString", HFILL }},
15876     { &hf_qsig_mid_stringUtf8,
15877       { "stringUtf8", "qsig.mid.stringUtf8",
15878         FT_STRING, BASE_NONE, NULL, 0,
15879         "UTF8String", HFILL }},
15880     { &hf_qsig_mid_none,
15881       { "none", "qsig.mid.none_element",
15882         FT_NONE, BASE_NONE, NULL, 0,
15883         NULL, HFILL }},
15884     { &hf_qsig_mid_extension,
15885       { "extension", "qsig.mid.extension_element",
15886         FT_NONE, BASE_NONE, NULL, 0,
15887         NULL, HFILL }},
15888     { &hf_qsig_mid_multipleExtension,
15889       { "multipleExtension", "qsig.mid.multipleExtension",
15890         FT_UINT32, BASE_DEC, NULL, 0,
15891         "SEQUENCE_OF_Extension", HFILL }},
15892     { &hf_qsig_mid_multipleExtension_item,
15893       { "Extension", "qsig.mid.Extension_element",
15894         FT_NONE, BASE_NONE, NULL, 0,
15895         NULL, HFILL }},
15896
15897 /*--- End of included file: packet-qsig-hfarr.c ---*/
15898 #line 653 "../../asn1/qsig/packet-qsig-template.c"
15899   };
15900
15901   /* List of subtrees */
15902   static gint *ett[] = {
15903     &ett_qsig,
15904     &ett_qsig_ie,
15905     &ett_qsig_unknown_extension,
15906
15907 /*--- Included file: packet-qsig-ettarr.c ---*/
15908 #line 1 "../../asn1/qsig/packet-qsig-ettarr.c"
15909
15910 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
15911
15912     &ett_qsig_Extension,
15913     &ett_qsig_PresentedAddressScreened,
15914     &ett_qsig_PresentedAddressUnscreened,
15915     &ett_qsig_PresentedNumberScreened,
15916     &ett_qsig_PresentedNumberUnscreened,
15917     &ett_qsig_AddressScreened,
15918     &ett_qsig_NumberScreened,
15919     &ett_qsig_Address,
15920     &ett_qsig_PartyNumber,
15921     &ett_qsig_PublicPartyNumber,
15922     &ett_qsig_PrivatePartyNumber,
15923     &ett_qsig_PartySubaddress,
15924     &ett_qsig_UserSpecifiedSubaddress,
15925
15926 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
15927
15928     &ett_qsig_na_NameArg,
15929     &ett_qsig_na_T_nameSequence,
15930     &ett_qsig_na_NameExtension,
15931     &ett_qsig_na_SEQUENCE_OF_Extension,
15932     &ett_qsig_na_Name,
15933     &ett_qsig_na_NamePresentationAllowed,
15934     &ett_qsig_na_NamePresentationRestricted,
15935     &ett_qsig_na_NameSet,
15936
15937 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
15938
15939     &ett_qsig_cf_ARG_activateDiversionQ,
15940     &ett_qsig_cf_ADExtension,
15941     &ett_qsig_cf_SEQUENCE_OF_Extension,
15942     &ett_qsig_cf_RES_activateDiversionQ,
15943     &ett_qsig_cf_ARG_deactivateDiversionQ,
15944     &ett_qsig_cf_DDExtension,
15945     &ett_qsig_cf_RES_deactivateDiversionQ,
15946     &ett_qsig_cf_ARG_interrogateDiversionQ,
15947     &ett_qsig_cf_IDExtension,
15948     &ett_qsig_cf_ARG_checkRestriction,
15949     &ett_qsig_cf_CHRExtension,
15950     &ett_qsig_cf_RES_checkRestriction,
15951     &ett_qsig_cf_ARG_callRerouteing,
15952     &ett_qsig_cf_CRRExtension,
15953     &ett_qsig_cf_RES_callRerouteing,
15954     &ett_qsig_cf_ARG_divertingLegInformation1,
15955     &ett_qsig_cf_DLI1Extension,
15956     &ett_qsig_cf_ARG_divertingLegInformation2,
15957     &ett_qsig_cf_DLI2Extension,
15958     &ett_qsig_cf_ARG_divertingLegInformation3,
15959     &ett_qsig_cf_DLI3Extension,
15960     &ett_qsig_cf_ARG_cfnrDivertedLegFailed,
15961     &ett_qsig_cf_IntResultList,
15962     &ett_qsig_cf_IntResult,
15963     &ett_qsig_cf_IRExtension,
15964
15965 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
15966
15967     &ett_qsig_pr_PRProposeArg,
15968     &ett_qsig_pr_PRPExtension,
15969     &ett_qsig_pr_SEQUENCE_OF_Extension,
15970     &ett_qsig_pr_PRSetupArg,
15971     &ett_qsig_pr_PRSExtension,
15972     &ett_qsig_pr_PRRetainArg,
15973     &ett_qsig_pr_PRRExtension,
15974     &ett_qsig_pr_DummyResult,
15975     &ett_qsig_pr_DummyArg,
15976
15977 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
15978
15979     &ett_qsig_ct_DummyArg,
15980     &ett_qsig_ct_SEQUENCE_OF_Extension,
15981     &ett_qsig_ct_DummyRes,
15982     &ett_qsig_ct_CTIdentifyRes,
15983     &ett_qsig_ct_T_resultExtension,
15984     &ett_qsig_ct_CTInitiateArg,
15985     &ett_qsig_ct_CTIargumentExtension,
15986     &ett_qsig_ct_CTSetupArg,
15987     &ett_qsig_ct_CTSargumentExtension,
15988     &ett_qsig_ct_CTActiveArg,
15989     &ett_qsig_ct_CTAargumentExtension,
15990     &ett_qsig_ct_CTCompleteArg,
15991     &ett_qsig_ct_CTCargumentExtension,
15992     &ett_qsig_ct_CTUpdateArg,
15993     &ett_qsig_ct_CTUargumentExtension,
15994     &ett_qsig_ct_SubaddressTransferArg,
15995     &ett_qsig_ct_STargumentExtension,
15996
15997 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
15998
15999     &ett_qsig_cc_CcRequestArg,
16000     &ett_qsig_cc_CcRequestRes,
16001     &ett_qsig_cc_CcOptionalArg,
16002     &ett_qsig_cc_T_fullArg,
16003     &ett_qsig_cc_CcExtension,
16004     &ett_qsig_cc_SEQUENCE_OF_Extension,
16005
16006 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
16007
16008     &ett_qsig_co_PathRetainArg,
16009     &ett_qsig_co_T_extendedServiceList,
16010     &ett_qsig_co_ServiceAvailableArg,
16011     &ett_qsig_co_T_extendedServiceList_01,
16012     &ett_qsig_co_ServiceList,
16013     &ett_qsig_co_DummyArg,
16014     &ett_qsig_co_SEQUENCE_OF_Extension,
16015     &ett_qsig_co_DummyRes,
16016
16017 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
16018
16019     &ett_qsig_dnd_DummyArg,
16020     &ett_qsig_dnd_SEQUENCE_OF_Extension,
16021     &ett_qsig_dnd_DummyRes,
16022     &ett_qsig_dnd_DNDActivateArg,
16023     &ett_qsig_dnd_DNDAargumentExtension,
16024     &ett_qsig_dnd_DNDActivateRes,
16025     &ett_qsig_dnd_T_status,
16026     &ett_qsig_dnd_T_status_item,
16027     &ett_qsig_dnd_T_resultExtension,
16028     &ett_qsig_dnd_DNDDeactivateArg,
16029     &ett_qsig_dnd_DNDDargumentExtension,
16030     &ett_qsig_dnd_DNDInterrogateArg,
16031     &ett_qsig_dnd_DNDIargumentExtension,
16032     &ett_qsig_dnd_DNDInterrogateRes,
16033     &ett_qsig_dnd_T_status_01,
16034     &ett_qsig_dnd_T_status_item_01,
16035     &ett_qsig_dnd_T_resultExtension_01,
16036     &ett_qsig_dnd_DNDOverrideArg,
16037     &ett_qsig_dnd_DNDOargumentExtension,
16038     &ett_qsig_dnd_PathRetainArg,
16039     &ett_qsig_dnd_T_extendedServiceList,
16040     &ett_qsig_dnd_ServiceAvailableArg,
16041     &ett_qsig_dnd_T_extendedServiceList_01,
16042     &ett_qsig_dnd_ServiceList,
16043
16044 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
16045
16046     &ett_qsig_ci_PathRetainArg,
16047     &ett_qsig_ci_T_extendedServiceList,
16048     &ett_qsig_ci_ServiceAvailableArg,
16049     &ett_qsig_ci_T_extendedServiceList_01,
16050     &ett_qsig_ci_ServiceList,
16051     &ett_qsig_ci_DummyArg,
16052     &ett_qsig_ci_SEQUENCE_OF_Extension,
16053     &ett_qsig_ci_DummyRes,
16054     &ett_qsig_ci_CIRequestArg,
16055     &ett_qsig_ci_T_argumentExtension,
16056     &ett_qsig_ci_CIRequestRes,
16057     &ett_qsig_ci_T_resultExtension,
16058     &ett_qsig_ci_CIGetCIPLRes,
16059     &ett_qsig_ci_T_resultExtension_01,
16060
16061 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
16062
16063     &ett_qsig_aoc_AocRateArg,
16064     &ett_qsig_aoc_T_aocRate,
16065     &ett_qsig_aoc_T_rateArgExtension,
16066     &ett_qsig_aoc_SEQUENCE_OF_Extension,
16067     &ett_qsig_aoc_AocInterimArg,
16068     &ett_qsig_aoc_T_interimCharge,
16069     &ett_qsig_aoc_T_specificCurrency,
16070     &ett_qsig_aoc_T_interimArgExtension,
16071     &ett_qsig_aoc_AocFinalArg,
16072     &ett_qsig_aoc_T_finalCharge,
16073     &ett_qsig_aoc_T_specificCurrency_01,
16074     &ett_qsig_aoc_T_finalArgExtension,
16075     &ett_qsig_aoc_AOCSCurrencyInfoList,
16076     &ett_qsig_aoc_AOCSCurrencyInfo,
16077     &ett_qsig_aoc_T_rateType,
16078     &ett_qsig_aoc_DurationCurrency,
16079     &ett_qsig_aoc_FlatRateCurrency,
16080     &ett_qsig_aoc_VolumeRateCurrency,
16081     &ett_qsig_aoc_RecordedCurrency,
16082     &ett_qsig_aoc_Amount,
16083     &ett_qsig_aoc_Time,
16084     &ett_qsig_aoc_ChargingAssociation,
16085     &ett_qsig_aoc_ChargeRequestArg,
16086     &ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination,
16087     &ett_qsig_aoc_T_chargeReqArgExtension,
16088     &ett_qsig_aoc_ChargeRequestRes,
16089     &ett_qsig_aoc_T_chargeReqResExtension,
16090     &ett_qsig_aoc_DummyArg,
16091     &ett_qsig_aoc_AocCompleteArg,
16092     &ett_qsig_aoc_T_completeArgExtension,
16093     &ett_qsig_aoc_AocCompleteRes,
16094     &ett_qsig_aoc_T_completeResExtension,
16095     &ett_qsig_aoc_AocDivChargeReqArg,
16096     &ett_qsig_aoc_T_aocDivChargeReqArgExt,
16097
16098 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
16099
16100     &ett_qsig_re_ReAlertingArg,
16101     &ett_qsig_re_T_argumentExtension,
16102     &ett_qsig_re_SEQUENCE_OF_Extension,
16103     &ett_qsig_re_ReAnswerArg,
16104     &ett_qsig_re_T_argumentExtension_01,
16105
16106 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
16107
16108     &ett_qsig_sync_SynchronizationReqArg,
16109     &ett_qsig_sync_SynchronizationReqRes,
16110     &ett_qsig_sync_SynchronizationInfoArg,
16111     &ett_qsig_sync_ArgExtension,
16112     &ett_qsig_sync_SEQUENCE_OF_Extension,
16113
16114 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
16115
16116     &ett_qsig_cint_CintInformation1Arg,
16117     &ett_qsig_cint_CintInformation2Arg,
16118     &ett_qsig_cint_CintCondArg,
16119     &ett_qsig_cint_CintExtension,
16120     &ett_qsig_cint_SEQUENCE_OF_Extension,
16121
16122 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
16123
16124     &ett_qsig_cmn_CmnArg,
16125     &ett_qsig_cmn_T_extension,
16126     &ett_qsig_cmn_SEQUENCE_OF_Extension,
16127     &ett_qsig_cmn_DummyArg,
16128     &ett_qsig_cmn_FeatureIdList,
16129     &ett_qsig_cmn_EquipmentId,
16130
16131 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
16132
16133     &ett_qsig_cpi_CPIRequestArg,
16134     &ett_qsig_cpi_T_argumentExtension,
16135     &ett_qsig_cpi_SEQUENCE_OF_Extension,
16136     &ett_qsig_cpi_CPIPRequestArg,
16137     &ett_qsig_cpi_T_argumentExtension_01,
16138
16139 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
16140
16141     &ett_qsig_pumr_PumRegistrArg,
16142     &ett_qsig_pumr_RpumUserId,
16143     &ett_qsig_pumr_T_userPin,
16144     &ett_qsig_pumr_PumRegistrRes,
16145     &ett_qsig_pumr_DummyRes,
16146     &ett_qsig_pumr_SEQUENCE_OF_Extension,
16147     &ett_qsig_pumr_PumDelRegArg,
16148     &ett_qsig_pumr_XpumUserId,
16149     &ett_qsig_pumr_PumDe_regArg,
16150     &ett_qsig_pumr_DpumUserId,
16151     &ett_qsig_pumr_T_userPin_01,
16152     &ett_qsig_pumr_PumInterrogArg,
16153     &ett_qsig_pumr_IpumUserId,
16154     &ett_qsig_pumr_T_userPin_02,
16155     &ett_qsig_pumr_PumInterrogRes,
16156     &ett_qsig_pumr_PumInterrogRes_item,
16157     &ett_qsig_pumr_SessionParams,
16158     &ett_qsig_pumr_PumrExtension,
16159
16160 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
16161
16162     &ett_qsig_pumch_EnquiryArg,
16163     &ett_qsig_pumch_DivertArg,
16164     &ett_qsig_pumch_InformArg,
16165     &ett_qsig_pumch_EnquiryRes,
16166     &ett_qsig_pumch_CurrLocation,
16167     &ett_qsig_pumch_CfuActivated,
16168     &ett_qsig_pumch_DummyRes,
16169     &ett_qsig_pumch_SEQUENCE_OF_Extension,
16170     &ett_qsig_pumch_PumiExtension,
16171     &ett_qsig_pumch_PumIdentity,
16172     &ett_qsig_pumch_T_both,
16173     &ett_qsig_pumch_PumoArg,
16174     &ett_qsig_pumch_T_pumoaextension,
16175
16176 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
16177
16178     &ett_qsig_ssct_DummyArg,
16179     &ett_qsig_ssct_SEQUENCE_OF_Extension,
16180     &ett_qsig_ssct_DummyRes,
16181     &ett_qsig_ssct_SSCTInitiateArg,
16182     &ett_qsig_ssct_SSCTIargumentExtension,
16183     &ett_qsig_ssct_SSCTSetupArg,
16184     &ett_qsig_ssct_SSCTSargumentExtension,
16185     &ett_qsig_ssct_SSCTDigitInfoArg,
16186     &ett_qsig_ssct_SSCTDargumentExtension,
16187
16188 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
16189
16190     &ett_qsig_wtmlr_LocUpdArg,
16191     &ett_qsig_wtmlr_DummyRes,
16192     &ett_qsig_wtmlr_SEQUENCE_OF_Extension,
16193     &ett_qsig_wtmlr_LocDelArg,
16194     &ett_qsig_wtmlr_LocDeRegArg,
16195     &ett_qsig_wtmlr_PisnEnqArg,
16196     &ett_qsig_wtmlr_PisnEnqRes,
16197     &ett_qsig_wtmlr_GetRRCInfArg,
16198     &ett_qsig_wtmlr_GetRRCInfRes,
16199     &ett_qsig_wtmlr_LocInfoCheckArg,
16200     &ett_qsig_wtmlr_LocInfoCheckRes,
16201     &ett_qsig_wtmlr_WtmUserId,
16202     &ett_qsig_wtmlr_LrExtension,
16203
16204 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
16205
16206     &ett_qsig_wtmch_EnquiryArg,
16207     &ett_qsig_wtmch_DivertArg,
16208     &ett_qsig_wtmch_InformArg,
16209     &ett_qsig_wtmch_EnquiryRes,
16210     &ett_qsig_wtmch_CurrLocation,
16211     &ett_qsig_wtmch_CfuActivated,
16212     &ett_qsig_wtmch_DummyRes,
16213     &ett_qsig_wtmch_SEQUENCE_OF_Extension,
16214     &ett_qsig_wtmch_WtmiExtension,
16215     &ett_qsig_wtmch_WtmIdentity,
16216     &ett_qsig_wtmch_T_both,
16217     &ett_qsig_wtmch_WtmoArg,
16218     &ett_qsig_wtmch_T_wtmoaextension,
16219
16220 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
16221
16222     &ett_qsig_wtmau_AuthWtmArg,
16223     &ett_qsig_wtmau_AuthWtmRes,
16224     &ett_qsig_wtmau_WtatParamArg,
16225     &ett_qsig_wtmau_WtatParamRes,
16226     &ett_qsig_wtmau_WtanParamArg,
16227     &ett_qsig_wtmau_WtmUserId,
16228     &ett_qsig_wtmau_WtanParamRes,
16229     &ett_qsig_wtmau_ARG_transferAuthParam,
16230     &ett_qsig_wtmau_WtatParamInfo,
16231     &ett_qsig_wtmau_T_wtatParamInfoChoice,
16232     &ett_qsig_wtmau_WtanParamInfo,
16233     &ett_qsig_wtmau_AuthSessionKeyInfo,
16234     &ett_qsig_wtmau_CalcWtatInfo,
16235     &ett_qsig_wtmau_CalcWtatInfoUnit,
16236     &ett_qsig_wtmau_CalcWtanInfo,
16237     &ett_qsig_wtmau_DummyExtension,
16238     &ett_qsig_wtmau_SEQUENCE_OF_Extension,
16239     &ett_qsig_wtmau_AuthAlgorithm,
16240
16241 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
16242
16243     &ett_qsig_sd_DisplayArg,
16244     &ett_qsig_sd_DisplayString,
16245     &ett_qsig_sd_KeypadArg,
16246     &ett_qsig_sd_SDExtension,
16247     &ett_qsig_sd_SEQUENCE_OF_Extension,
16248
16249 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
16250
16251     &ett_qsig_cidl_CallIdentificationAssignArg,
16252     &ett_qsig_cidl_CallIdentificationUpdateArg,
16253     &ett_qsig_cidl_CallIdentificationData,
16254     &ett_qsig_cidl_T_linkageID,
16255     &ett_qsig_cidl_ExtensionType,
16256     &ett_qsig_cidl_SEQUENCE_OF_Extension,
16257
16258 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
16259
16260     &ett_qsig_sms_SmsSubmitArg,
16261     &ett_qsig_sms_SmsSubmitRes,
16262     &ett_qsig_sms_SmsDeliverArg,
16263     &ett_qsig_sms_SmsDeliverRes,
16264     &ett_qsig_sms_SmsStatusReportArg,
16265     &ett_qsig_sms_SmsStatusReportRes,
16266     &ett_qsig_sms_SmsCommandArg,
16267     &ett_qsig_sms_SmsCommandRes,
16268     &ett_qsig_sms_ScAlertArg,
16269     &ett_qsig_sms_DummyRes,
16270     &ett_qsig_sms_SmSubmitParameter,
16271     &ett_qsig_sms_SmDeliverParameter,
16272     &ett_qsig_sms_SmsDeliverResChoice,
16273     &ett_qsig_sms_ResChoiceSeq,
16274     &ett_qsig_sms_SmsStatusReportResponseChoice,
16275     &ett_qsig_sms_SmsExtension,
16276     &ett_qsig_sms_SEQUENCE_OF_Extension,
16277     &ett_qsig_sms_ValidityPeriod,
16278     &ett_qsig_sms_ValidityPeriodEnh,
16279     &ett_qsig_sms_EnhancedVP,
16280     &ett_qsig_sms_UserData,
16281     &ett_qsig_sms_ShortMessageText,
16282     &ett_qsig_sms_UserDataHeader,
16283     &ett_qsig_sms_UserDataHeaderChoice,
16284     &ett_qsig_sms_SmscControlParameterHeader,
16285     &ett_qsig_sms_Concatenated8BitSMHeader,
16286     &ett_qsig_sms_Concatenated16BitSMHeader,
16287     &ett_qsig_sms_ApplicationPort8BitHeader,
16288     &ett_qsig_sms_ApplicationPort16BitHeader,
16289     &ett_qsig_sms_GenericUserValue,
16290     &ett_qsig_sms_PAR_smsDeliverError,
16291     &ett_qsig_sms_PAR_smsSubmitError,
16292     &ett_qsig_sms_PAR_smsStatusReportError,
16293     &ett_qsig_sms_PAR_smsCommandError,
16294
16295 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
16296
16297     &ett_qsig_mcr_MCRequestArg,
16298     &ett_qsig_mcr_MCRequestResult,
16299     &ett_qsig_mcr_MCInformArg,
16300     &ett_qsig_mcr_MCAlertingArg,
16301     &ett_qsig_mcr_CallType,
16302     &ett_qsig_mcr_Correlation,
16303     &ett_qsig_mcr_MCRExtensions,
16304     &ett_qsig_mcr_SEQUENCE_OF_Extension,
16305
16306 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
16307
16308     &ett_qsig_mcm_MCMailboxFullArg,
16309     &ett_qsig_mcm_MailboxFullFor,
16310     &ett_qsig_mcm_MailboxFullPar,
16311     &ett_qsig_mcm_MCMServiceArg,
16312     &ett_qsig_mcm_MCMChange,
16313     &ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo,
16314     &ett_qsig_mcm_SEQUENCE_OF_MessageType,
16315     &ett_qsig_mcm_MCMServiceInfo,
16316     &ett_qsig_mcm_MCMInterrogateArg,
16317     &ett_qsig_mcm_MCMInterrogateRes,
16318     &ett_qsig_mcm_MCMNewMsgArg,
16319     &ett_qsig_mcm_MCMNewArgumentExt,
16320     &ett_qsig_mcm_SEQUENCE_OF_Extension,
16321     &ett_qsig_mcm_MCMNoNewMsgArg,
16322     &ett_qsig_mcm_MCMNoNewArgumentExt,
16323     &ett_qsig_mcm_MCMUpdateArg,
16324     &ett_qsig_mcm_MCMUpdateReqArg,
16325     &ett_qsig_mcm_MCMUpdArgArgumentExt,
16326     &ett_qsig_mcm_MCMUpdateReqRes,
16327     &ett_qsig_mcm_MCMUpdateReqResElt,
16328     &ett_qsig_mcm_MCMUpdResArgumentExt,
16329     &ett_qsig_mcm_PartyInfo,
16330     &ett_qsig_mcm_UpdateInfo,
16331     &ett_qsig_mcm_AllMsgInfo,
16332     &ett_qsig_mcm_MessageInfo,
16333     &ett_qsig_mcm_CompleteInfo,
16334     &ett_qsig_mcm_AddressHeader,
16335     &ett_qsig_mcm_CompressedInfo,
16336     &ett_qsig_mcm_MsgCentreId,
16337     &ett_qsig_mcm_MCMExtensions,
16338
16339 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
16340
16341     &ett_qsig_mid_MIDMailboxAuthArg,
16342     &ett_qsig_mid_MIDMailboxIDArg,
16343     &ett_qsig_mid_PartyInfo,
16344     &ett_qsig_mid_String,
16345     &ett_qsig_mid_MIDExtensions,
16346     &ett_qsig_mid_SEQUENCE_OF_Extension,
16347
16348 /*--- End of included file: packet-qsig-ettarr.c ---*/
16349 #line 661 "../../asn1/qsig/packet-qsig-template.c"
16350     &ett_cnq_PSS1InformationElement,
16351   };
16352
16353   /* Register protocol and dissector */
16354   proto_qsig = proto_register_protocol(PNAME, PSNAME, PFNAME);
16355
16356   /* Register fields and subtrees */
16357   proto_register_field_array(proto_qsig, hf, array_length(hf));
16358   proto_register_subtree_array(ett, array_length(ett));
16359
16360   /* Register dissector tables */
16361   extension_dissector_table = register_dissector_table("qsig.ext", "QSIG Extension", FT_STRING, BASE_NONE);
16362
16363   qsig_init_tables();
16364 }
16365
16366
16367 /*--- proto_reg_handoff_qsig ------------------------------------------------*/
16368 void proto_reg_handoff_qsig(void) {
16369   int i;
16370   gint key;
16371   const gchar *oid;
16372   dissector_handle_t q931_handle;
16373   dissector_handle_t qsig_arg_handle;
16374   dissector_handle_t qsig_res_handle;
16375   dissector_handle_t qsig_err_handle;
16376   dissector_handle_t qsig_ie_handle;
16377
16378   q931_handle = find_dissector("q931");
16379   q931_ie_handle = find_dissector("q931.ie");
16380
16381   qsig_arg_handle = new_create_dissector_handle(dissect_qsig_arg, proto_qsig);
16382   qsig_res_handle = new_create_dissector_handle(dissect_qsig_res, proto_qsig);
16383   for (i=0; i<(int)array_length(qsig_op_tab); i++) {
16384     dissector_add_uint("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle);
16385     dissector_add_uint("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle);
16386     key = qsig_op_tab[i].opcode;
16387     oid = (const gchar *)g_hash_table_lookup(qsig_opcode2oid_hashtable, &key);
16388     if (oid) {
16389       dissector_add_string("q932.ros.global.arg", oid, qsig_arg_handle);
16390       dissector_add_string("q932.ros.global.res", oid, qsig_res_handle);
16391     }
16392   }
16393   qsig_err_handle = new_create_dissector_handle(dissect_qsig_err, proto_qsig);
16394   for (i=0; i<(int)array_length(qsig_err_tab); i++) {
16395     dissector_add_uint("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle);
16396   }
16397
16398   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs4, proto_qsig);
16399   /* QSIG-TC - Transit counter */
16400   dissector_add_uint("q931.ie", CS4 | QSIG_IE_TRANSIT_COUNTER, qsig_ie_handle);
16401
16402   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs5, proto_qsig);
16403   /* SSIG-BC - Party category */
16404   dissector_add_uint("q931.ie", CS5 | QSIG_IE_PARTY_CATEGORY, qsig_ie_handle);
16405
16406   /* RFC 3204, 3.2 QSIG Media Type */
16407   dissector_add_string("media_type", "application/qsig", q931_handle);
16408
16409 }
16410
16411 /*---------------------------------------------------------------------------*/