From Kovarththanan Rajaratnam via bug 3548:
[obnox/wireshark/wip.git] / epan / dissectors / packet-qsig.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-qsig.c                                                              */
4 /* ../../tools/asn2wrs.py -e -c ./qsig.cnf -s ./packet-qsig-template -D . qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn SYNC-SIG.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn */
5
6 /* Input file: packet-qsig-template.c */
7
8 #line 1 "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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32  */
33
34 #ifdef HAVE_CONFIG_H
35 # include "config.h"
36 #endif
37
38 #include <epan/packet.h>
39 #include <epan/strutil.h>
40 #include <epan/asn1.h>
41
42 #include "packet-ber.h"
43 #include "packet-qsig.h"
44
45 #define PNAME  "QSIG"
46 #define PSNAME "QSIG"
47 #define PFNAME "qsig"
48
49 /* Shifted codeset values */
50 #define CS0 0x000
51 #define CS1 0x100
52 #define CS2 0x200
53 #define CS3 0x300
54 #define CS4 0x400
55 #define CS5 0x500
56 #define CS6 0x600
57 #define CS7 0x700
58
59 #define QSIG_IE_TRANSIT_COUNTER 0x31
60 #define QSIG_IE_PARTY_CATEGORY  0x32
61
62 static const value_string qsig_str_ie_type_cs4[] = {
63   { QSIG_IE_TRANSIT_COUNTER , "Transit counter" },
64   { 0, NULL}
65 };
66 static const value_string qsig_str_ie_type_cs5[] = {
67   { QSIG_IE_PARTY_CATEGORY  , "Party category" },
68   { 0, NULL}
69 };
70 /* Codeset array */
71 static const value_string *qsig_str_ie_type[] = {
72   NULL,
73   NULL,
74   NULL,
75   NULL,
76   qsig_str_ie_type_cs4,
77   qsig_str_ie_type_cs5,
78   NULL,
79   NULL,
80 };
81
82
83 static const value_string qsig_str_pc[] = {
84   { 0x00 , "unknown" },
85   { 0x01 , "extension" },
86   { 0x02 , "operator" },
87   { 0x03 , "emergency extension" },
88   { 0, NULL}
89 };
90
91 static const value_string qsig_str_service[] = {
92   { 13868, "QSIG-NA" },
93   { 13873, "QSIG-CF" },
94   { 13874, "QSIG-PR" },
95   { 13869, "QSIG-CT" },
96   { 13870, "QSIG-CC" },
97   { 14843, "QSIG-CO" },
98   { 14844, "QSIG-DND(O)" },
99   { 14846, "QSIG-CI" },
100   { 15050, "QSIG-AOC" },
101   { 15052, "QSIG-RE" },
102   { 15054, "QSIG-CINT" },
103   { 15506, "QSIG-MWI" },
104   { 15507, "SYNC-SIG" },
105   { 15772, "QSIG-CMN" },
106   { 15992, "QSIG-CPI(P)" },
107   { 17876, "QSIG-PUMR" },
108   { 17878, "QSIG-PUMCH" },
109   { 19460, "QSIG-SSCT" },
110   { 15429, "QSIG-WTMLR" },
111   { 15431, "QSIG-WTMCH" },
112   { 15433, "QSIG-WTMAU" },
113   { 21407, "QSIG-SD" },
114   { 21889, "QSIG-CIDL" },
115   {   325, "QSIG-SMS" },
116   {   344, "QSIG-MCR" },
117   {  3471, "QSIG-MCM" },
118   {  3472, "QSIG-MID" },
119   {   0, NULL}
120 };
121
122 static const value_string qsig_str_service_name[] = {
123   { 13868, "Name-Operations" },
124   { 13873, "Call-Diversion-Operations" },
125   { 13874, "Path-Replacement-Operations" },
126   { 13869, "Call-Transfer-Operations" },
127   { 13870, "SS-CC-Operations" },
128   { 14843, "Call-Offer-Operations" },
129   { 14844, "Do-Not-Disturb-Operations" },
130   { 14846, "Call-Intrusion-Operations" },
131   { 15050, "SS-AOC-Operation" },
132   { 15052, "Recall-Operation" },
133   { 15054, "Call-Interception-Operations" },
134   { 15506, "SS-MWI-Operations" },
135   { 15507, "Synchronization-Operations" },
136   { 15772, "Common-Information-Operations" },
137   { 15992, "Call-Interruption-Operation" },
138   { 17876, "PUM-Registration-Operation" },
139   { 17878, "Private-User-Mobility-Call-Handling-Operations" },
140   { 19460, "Single-Step-Call-Transfer-Operations" },
141   { 15429, "WTM-Location-Registration-Operations" },
142   { 15431, "Wireless-Terminal-Call-Handling-Operations" },
143   { 15433, "WTM-Authentication-Operations" },
144   { 21407, "SS-SD-Operations" },
145   { 21889, "Call-Identification-and-Call-Linkage-Operations" },
146   {   325, "Short-Message-Service-Operations" },
147   {   344, "SS-MCR-Operations" },
148   {  3471, "SS-MCM-Operations" },
149   {  3472, "SS-MID-Operations" },
150   {   0, NULL}
151 };
152
153 #define NO_SRV (-1)
154 static const gint32 op2srv_tab[] = {
155   /*   0 */ 13868, 
156   /*   1 */ 13868, 
157   /*   2 */ 13868, 
158   /*   3 */ 13868, 
159   /*   4 */ 13874, 
160   /*   5 */ 13874, 
161   /*   6 */ 13874, 
162   /*   7 */ 13869, 
163   /*   8 */ 13869, 
164   /*   9 */ 13869, 
165   /*  10 */ 13869, 
166   /*  11 */ 13869, 
167   /*  12 */ 13869, 
168   /*  13 */ 13869, 
169   /*  14 */ 13869, 
170   /*  15 */ 13873, 
171   /*  16 */ 13873, 
172   /*  17 */ 13873, 
173   /*  18 */ 13873, 
174   /*  19 */ 13873, 
175   /*  20 */ 13873, 
176   /*  21 */ 13873, 
177   /*  22 */ 13873, 
178   /*  23 */ 13873, 
179   /*  24 */ NO_SRV,
180   /*  25 */ NO_SRV,
181   /*  26 */ NO_SRV,
182   /*  27 */ 13870, 
183   /*  28 */ 13870, 
184   /*  29 */ 13870, 
185   /*  30 */ 13870, 
186   /*  31 */ 13870, 
187   /*  32 */ 13870, 
188   /*  33 */ 13870, 
189   /*  34 */ 14843, 
190   /*  35 */ 14844, 
191   /*  36 */ 14844, 
192   /*  37 */ 14844, 
193   /*  38 */ 14844, 
194   /*  39 */ 14844, 
195   /*  40 */ 13870, 
196   /*  41 */ 90001, 
197   /*  42 */ 90001, 
198   /*  43 */ 14846, 
199   /*  44 */ 14846, 
200   /*  45 */ 14846, 
201   /*  46 */ 14846, 
202   /*  47 */ 14846, 
203   /*  48 */ 14846, 
204   /*  49 */ 90001, 
205   /*  50 */ 15429, 
206   /*  51 */ 15429, 
207   /*  52 */ 15429, 
208   /*  53 */ 15429, 
209   /*  54 */ 15431, 
210   /*  55 */ 15431, 
211   /*  56 */ 15431, 
212   /*  57 */ 15052, 
213   /*  58 */ 15052, 
214   /*  59 */ 15050, 
215   /*  60 */ 15050, 
216   /*  61 */ 15050, 
217   /*  62 */ 15050, 
218   /*  63 */ 15050, 
219   /*  64 */ 15050, 
220   /*  65 */ 15050, 
221   /*  66 */ 15054, 
222   /*  67 */ 15054, 
223   /*  68 */ 15054, 
224   /*  69 */ 15054, 
225   /*  70 */ 15054, 
226   /*  71 */ 15431, 
227   /*  72 */ 15433, 
228   /*  73 */ 15433, 
229   /*  74 */ 15433, 
230   /*  75 */ 15433, 
231   /*  76 */ 15433, 
232   /*  77 */ 15433, 
233   /*  78 */ 15507, 
234   /*  79 */ 15507, 
235   /*  80 */  3471, 
236   /*  81 */  3471, 
237   /*  82 */  3471, 
238   /*  83 */ NO_SRV,
239   /*  84 */ 15772, 
240   /*  85 */ 15772, 
241   /*  86 */ 13874, 
242   /*  87 */ 15992, 
243   /*  88 */ 15992, 
244   /*  89 */ 17876, 
245   /*  90 */ 17876, 
246   /*  91 */ 17876, 
247   /*  92 */ 17876, 
248   /*  93 */ 17878, 
249   /*  94 */ 17878, 
250   /*  95 */ 17878, 
251   /*  96 */ 17878, 
252   /*  97 */ 15429, 
253   /*  98 */ 15429, 
254   /*  99 */ 19460, 
255   /* 100 */ 19460, 
256   /* 101 */ 19460, 
257   /* 102 */ 19460, 
258   /* 103 */ 21407, 
259   /* 104 */ 21407, 
260   /* 105 */ 21889, 
261   /* 106 */ 21889, 
262   /* 107 */   325, 
263   /* 108 */   325, 
264   /* 109 */   325, 
265   /* 110 */   325, 
266   /* 111 */   325, 
267   /* 112 */   344, 
268   /* 113 */   344, 
269   /* 114 */   344, 
270   /* 115 */  3471, 
271   /* 116 */  3471, 
272   /* 117 */  3471, 
273   /* 118 */  3471, 
274   /* 119 */  3472, 
275   /* 120 */  3472, 
276 };                                 
277
278 static const value_string qsig_str_operation[] = {
279
280 /*--- Included file: packet-qsig-table10.c ---*/
281 #line 1 "packet-qsig-table10.c"
282
283 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
284
285 /* Unknown or empty loop list OPERATION */
286
287 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
288
289   {   0, "callingName" },
290   {   1, "calledName" },
291   {   2, "connectedName" },
292   {   3, "busyName" },
293
294 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
295
296   {  15, "activateDiversionQ" },
297   {  16, "deactivateDiversionQ" },
298   {  17, "interrogateDiversionQ" },
299   {  18, "checkRestriction" },
300   {  19, "callRerouteing" },
301   {  20, "divertingLegInformation1" },
302   {  21, "divertingLegInformation2" },
303   {  22, "divertingLegInformation3" },
304   {  23, "cfnrDivertedLegFailed" },
305
306 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
307
308   {  86, "pathReplaceInvite" },
309   {   4, "pathReplacePropose" },
310   {   5, "pathReplaceSetup" },
311   {   6, "pathReplaceRetain" },
312
313 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
314
315   {   7, "callTransferIdentify" },
316   {   8, "callTransferAbandon" },
317   {   9, "callTransferInitiate" },
318   {  10, "callTransferSetup" },
319   {  11, "callTransferActive" },
320   {  12, "callTransferComplete" },
321   {  13, "callTransferUpdate" },
322   {  14, "subaddressTransfer" },
323
324 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
325
326   {  40, "ccbsRequest" },
327   {  27, "ccnrRequest" },
328   {  28, "ccCancel" },
329   {  29, "ccExecPossible" },
330   {  30, "ccPathReserve" },
331   {  31, "ccRingout" },
332   {  32, "ccSuspend" },
333   {  33, "ccResume" },
334
335 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
336
337   {  41, "pathRetain" },
338   {  42, "serviceAvailable" },
339   {  34, "callOfferRequest" },
340   {  49, "cfbOverride" },
341
342 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
343
344   {  35, "doNotDisturbActivateQ" },
345   {  36, "doNotDisturbDeactivateQ" },
346   {  37, "doNotDisturbInterrogateQ" },
347   {  38, "doNotDisturbOverrideQ" },
348   {  41, "pathRetain" },
349   {  42, "serviceAvailable" },
350   {  39, "doNotDisturbOvrExecuteQ" },
351
352 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
353
354   {  41, "pathRetain" },
355   {  42, "serviceAvailable" },
356   {  43, "callIntrusionRequest" },
357   {  44, "callIntrusionGetCIPL" },
358   {  46, "callIntrusionForcedRelease" },
359   {  45, "callIntrusionIsolate" },
360   {  47, "callIntrusionWOBRequest" },
361   {  48, "callIntrusionCompleted" },
362   {  49, "cfbOverride" },
363
364 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
365
366   {  63, "aocRate" },
367   {  62, "aocInterim" },
368   {  61, "aocFinal" },
369   {  59, "chargeRequest" },
370   {  60, "getFinalCharge" },
371   {  64, "aocComplete" },
372   {  65, "aocDivChargeReq" },
373
374 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
375
376   {  57, "recallAlerting" },
377   {  58, "recallAnswered" },
378
379 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
380
381   {  78, "synchronizationRequest" },
382   {  79, "synchronizationInfo" },
383
384 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
385
386   {  66, "cintLegInformation1" },
387   {  67, "cintLegInformation2" },
388   {  68, "cintCondition" },
389   {  69, "cintDisable" },
390   {  70, "cintEnable" },
391
392 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
393
394   {  84, "cmnRequest" },
395   {  85, "cmnInform" },
396
397 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
398
399   {  87, "callInterruptionRequest" },
400   {  88, "callProtectionRequest" },
401
402 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
403
404   {  89, "pumRegistr" },
405   {  90, "pumDelReg" },
406   {  91, "pumDe-reg" },
407   {  92, "pumInterrog" },
408
409 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
410
411   {  93, "pumiEnquiry" },
412   {  94, "pumiDivert" },
413   {  95, "pumiInform" },
414   {  96, "pumoCall" },
415
416 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
417
418   {  99, "ssctInitiate" },
419   { 100, "ssctSetup" },
420   { 101, "ssctPostDial" },
421   { 102, "ssctDigitInfo" },
422
423 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
424
425   {  50, "locUpdate" },
426   {  51, "locDelete" },
427   {  52, "locDeReg" },
428   {  53, "pisnEnquiry" },
429   {  97, "getRRCInf" },
430   {  98, "locInfoCheck" },
431
432 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
433
434   {  54, "wtmiEnquiry" },
435   {  55, "wtmiDivert" },
436   {  56, "wtmiInform" },
437   {  71, "wtmoCall" },
438
439 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
440
441   {  72, "authWtmUser" },
442   {  73, "getWtatParam" },
443   {  74, "wtatParamEnq" },
444   {  75, "getWtanParam" },
445   {  76, "wtanParamEnq" },
446   {  77, "transferAuthParam" },
447
448 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
449
450   { 103, "display" },
451   { 104, "keypad" },
452
453 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
454
455   { 105, "callIdentificationAssign" },
456   { 106, "callIdentificationUpdate" },
457
458 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
459
460   { 107, "smsSubmit" },
461   { 108, "smsDeliver" },
462   { 109, "smsStatusReport" },
463   { 110, "smsCommand" },
464   { 111, "scAlert" },
465
466 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
467
468   { 112, "mCRequest" },
469   { 113, "mCInform" },
470   { 114, "mCAlerting" },
471
472 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
473
474   {  80, "mCMNewMsg" },
475   {  81, "mCMNoNewMsg" },
476   { 115, "mCMUpdate" },
477   {  82, "mCMUpdateReq" },
478   { 116, "mCMService" },
479   { 117, "mCMInterrogate" },
480   { 118, "mCMailboxFull" },
481
482 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
483
484   { 119, "mIDMailboxAuth" },
485   { 120, "mIDMailboxID" },
486
487 /*--- End of included file: packet-qsig-table10.c ---*/
488 #line 272 "packet-qsig-template.c"
489   {   0, NULL}
490 };
491
492 static const value_string qsig_str_error[] = {
493
494 /*--- Included file: packet-qsig-table20.c ---*/
495 #line 1 "packet-qsig-table20.c"
496
497 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
498
499 /* Unknown or empty loop list ERROR */
500
501 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
502
503 /* Unknown or empty loop list ERROR */
504
505 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
506
507   {   12, "invalidDivertedToNr" },
508   {   14, "specialServiceNr" },
509   {   15, "diversionToServedUserNr" },
510   {   24, "numberOfDiversionsExceeded" },
511   { 1000, "temporarilyUnavailable" },
512   { 1007, "notAuthorized" },
513   { 1008, "unspecified" },
514
515 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
516
517   { 1000, "temporarilyUnavailable" },
518   { 1001, "collision" },
519   { 1002, "criteriaPermanentlyUnachievable" },
520   { 1003, "criteriaTemporarilyUnachievable" },
521   { 1004, "invalidRerouteingNumber" },
522   { 1005, "unrecognizedCallIdentity" },
523   { 1006, "establishmentFailure" },
524   { 1008, "unspecified" },
525
526 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
527
528   { 1008, "unspecified" },
529   { 1004, "invalidRerouteingNumber" },
530   { 1005, "unrecognizedCallIdentity" },
531   { 1006, "establishmentFailure" },
532
533 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
534
535   { 1008, "unspecified" },
536   { 1010, "shortTermRejection" },
537   { 1011, "longTermRejection" },
538   { 1012, "remoteUserBusyAgain" },
539   { 1013, "failureToMatch" },
540   { 1014, "failedDueToInterworking" },
541
542 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
543
544   { 1009, "notBusy" },
545   { 1000, "temporarilyUnavailable" },
546   { 1008, "unspecified" },
547
548 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
549
550   { 1000, "temporarilyUnavailable" },
551   {   43, "notActivated" },
552   { 1008, "unspecified" },
553
554 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
555
556   { 1009, "notBusy" },
557   { 1000, "temporarilyUnavailable" },
558   { 1007, "notAuthorized" },
559   { 1008, "unspecified" },
560
561 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
562
563   { 1008, "unspecified" },
564   { 1016, "freeOfCharge" },
565
566 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
567
568 /* Unknown or empty loop list ERROR */
569
570 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
571
572   { 1008, "unspecified" },
573
574 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
575
576 /* Unknown or empty loop list ERROR */
577
578 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
579
580 /* Unknown or empty loop list ERROR */
581
582 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
583
584 /* Unknown or empty loop list ERROR */
585
586 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
587
588   { 1008, "unspecified" },
589   { 1007, "notAuthorized" },
590   { 1000, "temporarilyUnavailable" },
591   { 1019, "pumUserNotSubscribedToThisServiceOpt" },
592   { 1020, "pumUserFailedAuthentication" },
593   { 1021, "hostingAddrInvalid" },
594   { 1022, "pumUserNotRegistered" },
595
596 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
597
598   { 1015, "locationNotKnown" },
599   { 1008, "unspecified" },
600
601 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
602
603   { 1008, "unspecified" },
604
605 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
606
607   { 1007, "notAuthorized" },
608   { 1000, "temporarilyUnavailable" },
609   { 1008, "unspecified" },
610
611 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
612
613   { 1008, "unspecified" },
614   { 1015, "locationNotKnown" },
615
616 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
617
618   { 1007, "notAuthorized" },
619   { 1017, "paramNotAvailable" },
620   { 1000, "temporarilyUnavailable" },
621   { 1008, "unspecified" },
622
623 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
624
625   { 1008, "unspecified" },
626   { 1023, "noDisplayAvailable" },
627   { 1024, "displayTemporarilyNotAvailable" },
628   { 1025, "notPresentable" },
629
630 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
631
632 /* Unknown or empty loop list ERROR */
633
634 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
635
636   { 1026, "smsDeliverError" },
637   { 1027, "smsSubmitError" },
638   { 1028, "smsStatusReportError" },
639   { 1029, "smsCommandError" },
640   { 1008, "unspecified" },
641
642 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
643
644   { 1030, "invalidDestinationNumber" },
645   { 1031, "invalidCooperationNumber" },
646   { 1032, "mCRequestNotAllowed" },
647   { 1033, "mCExecutionNotAllowed" },
648   { 1034, "mCDestUserBusy" },
649   { 1035, "mCCoopUserBusy" },
650   { 1036, "mCCoopUserRejected" },
651   { 1008, "unspecified" },
652
653 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
654
655   { 1037, "mCMModeNotProvided" },
656   { 1008, "unspecified" },
657
658 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
659
660   { 1039, "invalidMailbox" },
661   { 1040, "authorizationFailed" },
662   { 1008, "unspecified" },
663
664 /*--- End of included file: packet-qsig-table20.c ---*/
665 #line 277 "packet-qsig-template.c"
666   {   0, NULL}
667 };
668                      
669 /* Initialize the protocol and registered fields */
670 int proto_qsig = -1;
671 static int hf_qsig_operation = -1;
672 static int hf_qsig_service = -1;
673 static int hf_qsig_error = -1;
674 static int hf_qsig_ie_type = -1;
675 static int hf_qsig_ie_type_cs4 = -1;
676 static int hf_qsig_ie_type_cs5 = -1;
677 static int hf_qsig_ie_len = -1;
678 static int hf_qsig_ie_data = -1;
679 static int hf_qsig_tc = -1;
680 static int hf_qsig_pc = -1;
681
682 /*--- Included file: packet-qsig-hf.c ---*/
683 #line 1 "packet-qsig-hf.c"
684
685 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
686
687 static int hf_qsig_extensionId = -1;              /* T_extensionId */
688 static int hf_qsig_extensionArgument = -1;        /* T_extensionArgument */
689 static int hf_qsig_presentationAllowedAddressS = -1;  /* AddressScreened */
690 static int hf_qsig_presentationRestricted = -1;   /* NULL */
691 static int hf_qsig_numberNotAvailableDueToInterworking = -1;  /* NULL */
692 static int hf_qsig_presentationRestrictedAddressS = -1;  /* AddressScreened */
693 static int hf_qsig_presentationAllowedAddressU = -1;  /* Address */
694 static int hf_qsig_presentationRestrictedAddressU = -1;  /* Address */
695 static int hf_qsig_presentationAllowedAddressNS = -1;  /* NumberScreened */
696 static int hf_qsig_presentationRestrictedAddressNS = -1;  /* NumberScreened */
697 static int hf_qsig_presentationAllowedAddressNU = -1;  /* PartyNumber */
698 static int hf_qsig_presentationRestrictedAddressNU = -1;  /* PartyNumber */
699 static int hf_qsig_partyNumber = -1;              /* PartyNumber */
700 static int hf_qsig_screeningIndicator = -1;       /* ScreeningIndicator */
701 static int hf_qsig_partySubaddress = -1;          /* PartySubaddress */
702 static int hf_qsig_unknownPartyNumber = -1;       /* NumberDigits */
703 static int hf_qsig_publicPartyNumber = -1;        /* PublicPartyNumber */
704 static int hf_qsig_dataPartyNumber = -1;          /* NumberDigits */
705 static int hf_qsig_telexPartyNumber = -1;         /* NumberDigits */
706 static int hf_qsig_privatePartyNumber = -1;       /* PrivatePartyNumber */
707 static int hf_qsig_nationalStandardPartyNumber = -1;  /* NumberDigits */
708 static int hf_qsig_publicTypeOfNumber = -1;       /* PublicTypeOfNumber */
709 static int hf_qsig_publicNumberDigits = -1;       /* NumberDigits */
710 static int hf_qsig_privateTypeOfNumber = -1;      /* PrivateTypeOfNumber */
711 static int hf_qsig_privateNumberDigits = -1;      /* NumberDigits */
712 static int hf_qsig_userSpecifiedSubaddress = -1;  /* UserSpecifiedSubaddress */
713 static int hf_qsig_nSAPSubaddress = -1;           /* NSAPSubaddress */
714 static int hf_qsig_subaddressInformation = -1;    /* SubaddressInformation */
715 static int hf_qsig_oddCountIndicator = -1;        /* BOOLEAN */
716
717 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
718
719 static int hf_qsig_na_qsig_na_NameArg_PDU = -1;   /* NameArg */
720 static int hf_qsig_na_name = -1;                  /* Name */
721 static int hf_qsig_na_nameSequence = -1;          /* T_nameSequence */
722 static int hf_qsig_na_extensionNA = -1;           /* NameExtension */
723 static int hf_qsig_na_single = -1;                /* Extension */
724 static int hf_qsig_na_multiple = -1;              /* SEQUENCE_OF_Extension */
725 static int hf_qsig_na_multiple_item = -1;         /* Extension */
726 static int hf_qsig_na_namePresentationAllowed = -1;  /* NamePresentationAllowed */
727 static int hf_qsig_na_namePresentationRestricted = -1;  /* NamePresentationRestricted */
728 static int hf_qsig_na_nameNotAvailable = -1;      /* NameNotAvailable */
729 static int hf_qsig_na_namePresentationAllowedSimple = -1;  /* NameData */
730 static int hf_qsig_na_namePresentationAllowedExtended = -1;  /* NameSet */
731 static int hf_qsig_na_namePresentationRestrictedSimple = -1;  /* NameData */
732 static int hf_qsig_na_namePresentationRestrictedExtended = -1;  /* NameSet */
733 static int hf_qsig_na_namePresentationRestrictedNull = -1;  /* NULL */
734 static int hf_qsig_na_nameData = -1;              /* NameData */
735 static int hf_qsig_na_characterSet = -1;          /* CharacterSet */
736
737 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
738
739 static int hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU = -1;  /* ARG_activateDiversionQ */
740 static int hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU = -1;  /* RES_activateDiversionQ */
741 static int hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU = -1;  /* ARG_deactivateDiversionQ */
742 static int hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU = -1;  /* RES_deactivateDiversionQ */
743 static int hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU = -1;  /* ARG_interrogateDiversionQ */
744 static int hf_qsig_cf_qsig_cf_IntResultList_PDU = -1;  /* IntResultList */
745 static int hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU = -1;  /* ARG_checkRestriction */
746 static int hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU = -1;  /* RES_checkRestriction */
747 static int hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU = -1;  /* ARG_callRerouteing */
748 static int hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU = -1;  /* RES_callRerouteing */
749 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU = -1;  /* ARG_divertingLegInformation1 */
750 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU = -1;  /* ARG_divertingLegInformation2 */
751 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU = -1;  /* ARG_divertingLegInformation3 */
752 static int hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU = -1;  /* ARG_cfnrDivertedLegFailed */
753 static int hf_qsig_cf_qsig_cf_Extension_PDU = -1;  /* Extension */
754 static int hf_qsig_cf_procedure = -1;             /* Procedure */
755 static int hf_qsig_cf_basicService = -1;          /* BasicService */
756 static int hf_qsig_cf_divertedToAddress = -1;     /* Address */
757 static int hf_qsig_cf_servedUserNr = -1;          /* PartyNumber */
758 static int hf_qsig_cf_activatingUserNr = -1;      /* PartyNumber */
759 static int hf_qsig_cf_extensionAD = -1;           /* ADExtension */
760 static int hf_qsig_cf_single = -1;                /* Extension */
761 static int hf_qsig_cf_multiple = -1;              /* SEQUENCE_OF_Extension */
762 static int hf_qsig_cf_multiple_item = -1;         /* Extension */
763 static int hf_qsig_cf_null = -1;                  /* NULL */
764 static int hf_qsig_cf_deactivatingUserNr = -1;    /* PartyNumber */
765 static int hf_qsig_cf_extensionDD = -1;           /* DDExtension */
766 static int hf_qsig_cf_interrogatingUserNr = -1;   /* PartyNumber */
767 static int hf_qsig_cf_extensionID = -1;           /* IDExtension */
768 static int hf_qsig_cf_divertedToNr = -1;          /* PartyNumber */
769 static int hf_qsig_cf_extensionCHR = -1;          /* CHRExtension */
770 static int hf_qsig_cf_rerouteingReason = -1;      /* DiversionReason */
771 static int hf_qsig_cf_originalRerouteingReason = -1;  /* DiversionReason */
772 static int hf_qsig_cf_calledAddress = -1;         /* Address */
773 static int hf_qsig_cf_diversionCounter = -1;      /* INTEGER_1_15 */
774 static int hf_qsig_cf_pSS1InfoElement = -1;       /* PSS1InformationElement */
775 static int hf_qsig_cf_lastRerouteingNr = -1;      /* PresentedNumberUnscreened */
776 static int hf_qsig_cf_subscriptionOption = -1;    /* SubscriptionOption */
777 static int hf_qsig_cf_callingPartySubaddress = -1;  /* PartySubaddress */
778 static int hf_qsig_cf_callingNumber = -1;         /* PresentedNumberScreened */
779 static int hf_qsig_cf_callingName = -1;           /* Name */
780 static int hf_qsig_cf_originalCalledNr = -1;      /* PresentedNumberUnscreened */
781 static int hf_qsig_cf_redirectingName = -1;       /* Name */
782 static int hf_qsig_cf_originalCalledName = -1;    /* Name */
783 static int hf_qsig_cf_extensionCRR = -1;          /* CRRExtension */
784 static int hf_qsig_cf_diversionReason = -1;       /* DiversionReason */
785 static int hf_qsig_cf_nominatedNr = -1;           /* PartyNumber */
786 static int hf_qsig_cf_extensionDLI1 = -1;         /* DLI1Extension */
787 static int hf_qsig_cf_originalDiversionReason = -1;  /* DiversionReason */
788 static int hf_qsig_cf_divertingNr = -1;           /* PresentedNumberUnscreened */
789 static int hf_qsig_cf_extensionDLI2 = -1;         /* DLI2Extension */
790 static int hf_qsig_cf_presentationAllowedIndicator = -1;  /* PresentationAllowedIndicator */
791 static int hf_qsig_cf_redirectionName = -1;       /* Name */
792 static int hf_qsig_cf_extensionDLI3 = -1;         /* DLI3Extension */
793 static int hf_qsig_cf_IntResultList_item = -1;    /* IntResult */
794 static int hf_qsig_cf_remoteEnabled = -1;         /* BOOLEAN */
795 static int hf_qsig_cf_extensionIR = -1;           /* IRExtension */
796
797 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
798
799 static int hf_qsig_pr_qsig_pr_DummyArg_PDU = -1;  /* DummyArg */
800 static int hf_qsig_pr_qsig_pr_PRProposeArg_PDU = -1;  /* PRProposeArg */
801 static int hf_qsig_pr_qsig_pr_PRSetupArg_PDU = -1;  /* PRSetupArg */
802 static int hf_qsig_pr_qsig_pr_DummyResult_PDU = -1;  /* DummyResult */
803 static int hf_qsig_pr_qsig_pr_PRRetainArg_PDU = -1;  /* PRRetainArg */
804 static int hf_qsig_pr_qsig_pr_Extension_PDU = -1;  /* Extension */
805 static int hf_qsig_pr_callIdentity = -1;          /* CallIdentity */
806 static int hf_qsig_pr_rerouteingNumber = -1;      /* PartyNumber */
807 static int hf_qsig_pr_extensionPRP = -1;          /* PRPExtension */
808 static int hf_qsig_pr_single = -1;                /* Extension */
809 static int hf_qsig_pr_multiple = -1;              /* SEQUENCE_OF_Extension */
810 static int hf_qsig_pr_multiple_item = -1;         /* Extension */
811 static int hf_qsig_pr_extensionPRS = -1;          /* PRSExtension */
812 static int hf_qsig_pr_extensionPRR = -1;          /* PRRExtension */
813 static int hf_qsig_pr_null = -1;                  /* NULL */
814
815 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
816
817 static int hf_qsig_ct_qsig_ct_DummyArg_PDU = -1;  /* DummyArg */
818 static int hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU = -1;  /* CTIdentifyRes */
819 static int hf_qsig_ct_qsig_ct_CTInitiateArg_PDU = -1;  /* CTInitiateArg */
820 static int hf_qsig_ct_qsig_ct_DummyRes_PDU = -1;  /* DummyRes */
821 static int hf_qsig_ct_qsig_ct_CTSetupArg_PDU = -1;  /* CTSetupArg */
822 static int hf_qsig_ct_qsig_ct_CTActiveArg_PDU = -1;  /* CTActiveArg */
823 static int hf_qsig_ct_qsig_ct_CTCompleteArg_PDU = -1;  /* CTCompleteArg */
824 static int hf_qsig_ct_qsig_ct_CTUpdateArg_PDU = -1;  /* CTUpdateArg */
825 static int hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU = -1;  /* SubaddressTransferArg */
826 static int hf_qsig_ct_qsig_ct_Extension_PDU = -1;  /* Extension */
827 static int hf_qsig_ct_null = -1;                  /* NULL */
828 static int hf_qsig_ct_single = -1;                /* Extension */
829 static int hf_qsig_ct_multiple = -1;              /* SEQUENCE_OF_Extension */
830 static int hf_qsig_ct_multiple_item = -1;         /* Extension */
831 static int hf_qsig_ct_callIdentity = -1;          /* CallIdentity */
832 static int hf_qsig_ct_rerouteingNumber = -1;      /* PartyNumber */
833 static int hf_qsig_ct_resultExtension = -1;       /* T_resultExtension */
834 static int hf_qsig_ct_argumentExtensionCTI = -1;  /* CTIargumentExtension */
835 static int hf_qsig_ct_argumentExtensionCTS = -1;  /* CTSargumentExtension */
836 static int hf_qsig_ct_connectedAddress = -1;      /* PresentedAddressScreened */
837 static int hf_qsig_ct_basicCallInfoElements = -1;  /* PSS1InformationElement */
838 static int hf_qsig_ct_connectedName = -1;         /* Name */
839 static int hf_qsig_ct_argumentExtensionCTA = -1;  /* CTAargumentExtension */
840 static int hf_qsig_ct_endDesignation = -1;        /* EndDesignation */
841 static int hf_qsig_ct_redirectionNumber = -1;     /* PresentedNumberScreened */
842 static int hf_qsig_ct_redirectionName = -1;       /* Name */
843 static int hf_qsig_ct_callStatus = -1;            /* CallStatus */
844 static int hf_qsig_ct_argumentExtensionCTC = -1;  /* CTCargumentExtension */
845 static int hf_qsig_ct_argumentExtensionCTU = -1;  /* CTUargumentExtension */
846 static int hf_qsig_ct_redirectionSubaddress = -1;  /* PartySubaddress */
847 static int hf_qsig_ct_argumentExtensionST = -1;   /* STargumentExtension */
848
849 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
850
851 static int hf_qsig_cc_qsig_cc_CcRequestArg_PDU = -1;  /* CcRequestArg */
852 static int hf_qsig_cc_qsig_cc_CcRequestRes_PDU = -1;  /* CcRequestRes */
853 static int hf_qsig_cc_qsig_cc_CcOptionalArg_PDU = -1;  /* CcOptionalArg */
854 static int hf_qsig_cc_qsig_cc_CcExtension_PDU = -1;  /* CcExtension */
855 static int hf_qsig_cc_qsig_cc_Extension_PDU = -1;  /* Extension */
856 static int hf_qsig_cc_numberA = -1;               /* PresentedNumberUnscreened */
857 static int hf_qsig_cc_numberB = -1;               /* PartyNumber */
858 static int hf_qsig_cc_service = -1;               /* PSS1InformationElement */
859 static int hf_qsig_cc_subaddrA = -1;              /* PartySubaddress */
860 static int hf_qsig_cc_subaddrB = -1;              /* PartySubaddress */
861 static int hf_qsig_cc_can_retain_service = -1;    /* BOOLEAN */
862 static int hf_qsig_cc_retain_sig_connection = -1;  /* BOOLEAN */
863 static int hf_qsig_cc_extension = -1;             /* CcExtension */
864 static int hf_qsig_cc_no_path_reservation = -1;   /* BOOLEAN */
865 static int hf_qsig_cc_retain_service = -1;        /* BOOLEAN */
866 static int hf_qsig_cc_fullArg = -1;               /* T_fullArg */
867 static int hf_qsig_cc_numberA_01 = -1;            /* PartyNumber */
868 static int hf_qsig_cc_extArg = -1;                /* CcExtension */
869 static int hf_qsig_cc_none = -1;                  /* NULL */
870 static int hf_qsig_cc_single = -1;                /* Extension */
871 static int hf_qsig_cc_multiple = -1;              /* SEQUENCE_OF_Extension */
872 static int hf_qsig_cc_multiple_item = -1;         /* Extension */
873
874 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
875
876 static int hf_qsig_co_qsig_co_PathRetainArg_PDU = -1;  /* PathRetainArg */
877 static int hf_qsig_co_qsig_co_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
878 static int hf_qsig_co_qsig_co_DummyArg_PDU = -1;  /* DummyArg */
879 static int hf_qsig_co_qsig_co_DummyRes_PDU = -1;  /* DummyRes */
880 static int hf_qsig_co_qsig_co_Extension_PDU = -1;  /* Extension */
881 static int hf_qsig_co_serviceList = -1;           /* ServiceList */
882 static int hf_qsig_co_extendedServiceList = -1;   /* T_extendedServiceList */
883 static int hf_qsig_co_extension = -1;             /* Extension */
884 static int hf_qsig_co_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
885 static int hf_qsig_co_null = -1;                  /* NULL */
886 static int hf_qsig_co_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
887 static int hf_qsig_co_sequenceOfExtn_item = -1;   /* Extension */
888 /* named bits */
889 static int hf_qsig_co_ServiceList_callOffer = -1;
890
891 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
892
893 static int hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU = -1;  /* DNDActivateArg */
894 static int hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU = -1;  /* DNDActivateRes */
895 static int hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU = -1;  /* DNDDeactivateArg */
896 static int hf_qsig_dnd_qsig_dnd_DummyRes_PDU = -1;  /* DummyRes */
897 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU = -1;  /* DNDInterrogateArg */
898 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU = -1;  /* DNDInterrogateRes */
899 static int hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU = -1;  /* DNDOverrideArg */
900 static int hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU = -1;  /* PathRetainArg */
901 static int hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
902 static int hf_qsig_dnd_qsig_dnd_DummyArg_PDU = -1;  /* DummyArg */
903 static int hf_qsig_dnd_qsig_dnd_Extension_PDU = -1;  /* Extension */
904 static int hf_qsig_dnd_null = -1;                 /* NULL */
905 static int hf_qsig_dnd_extension = -1;            /* Extension */
906 static int hf_qsig_dnd_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
907 static int hf_qsig_dnd_sequenceOfExtn_item = -1;  /* Extension */
908 static int hf_qsig_dnd_basicService = -1;         /* BasicService */
909 static int hf_qsig_dnd_servedUserNr = -1;         /* PartyNumber */
910 static int hf_qsig_dnd_argumentExtensionDNDA = -1;  /* DNDAargumentExtension */
911 static int hf_qsig_dnd_status = -1;               /* T_status */
912 static int hf_qsig_dnd_status_item = -1;          /* T_status_item */
913 static int hf_qsig_dnd_dndProtectionLevel = -1;   /* DNDProtectionLevel */
914 static int hf_qsig_dnd_resultExtension = -1;      /* T_resultExtension */
915 static int hf_qsig_dnd_argumentExtensionDNDD = -1;  /* DNDDargumentExtension */
916 static int hf_qsig_dnd_argumentExtensionDNDI = -1;  /* DNDIargumentExtension */
917 static int hf_qsig_dnd_status_01 = -1;            /* T_status_01 */
918 static int hf_qsig_dnd_status_item_01 = -1;       /* T_status_item_01 */
919 static int hf_qsig_dnd_resultExtension_01 = -1;   /* T_resultExtension_01 */
920 static int hf_qsig_dnd_dndoCapabilityLevel = -1;  /* DNDOCapabilityLevel */
921 static int hf_qsig_dnd_argumentExtensionDNDO = -1;  /* DNDOargumentExtension */
922 static int hf_qsig_dnd_serviceList = -1;          /* ServiceList */
923 static int hf_qsig_dnd_extendedServiceList = -1;  /* T_extendedServiceList */
924 static int hf_qsig_dnd_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
925 /* named bits */
926 static int hf_qsig_dnd_ServiceList_dndo_low = -1;
927 static int hf_qsig_dnd_ServiceList_dndo_medium = -1;
928 static int hf_qsig_dnd_ServiceList_dndo_high = -1;
929
930 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
931
932 static int hf_qsig_ci_qsig_ci_PathRetainArg_PDU = -1;  /* PathRetainArg */
933 static int hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
934 static int hf_qsig_ci_qsig_ci_CIRequestArg_PDU = -1;  /* CIRequestArg */
935 static int hf_qsig_ci_qsig_ci_CIRequestRes_PDU = -1;  /* CIRequestRes */
936 static int hf_qsig_ci_qsig_ci_DummyArg_PDU = -1;  /* DummyArg */
937 static int hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU = -1;  /* CIGetCIPLRes */
938 static int hf_qsig_ci_qsig_ci_DummyRes_PDU = -1;  /* DummyRes */
939 static int hf_qsig_ci_qsig_ci_Extension_PDU = -1;  /* Extension */
940 static int hf_qsig_ci_serviceList = -1;           /* ServiceList */
941 static int hf_qsig_ci_extendedServiceList = -1;   /* T_extendedServiceList */
942 static int hf_qsig_ci_extension = -1;             /* Extension */
943 static int hf_qsig_ci_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
944 static int hf_qsig_ci_null = -1;                  /* NULL */
945 static int hf_qsig_ci_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
946 static int hf_qsig_ci_sequenceOfExtn_item = -1;   /* Extension */
947 static int hf_qsig_ci_ciCapabilityLevel = -1;     /* CICapabilityLevel */
948 static int hf_qsig_ci_argumentExtension = -1;     /* T_argumentExtension */
949 static int hf_qsig_ci_ciUnwantedUserStatus = -1;  /* CIUnwantedUserStatus */
950 static int hf_qsig_ci_resultExtension = -1;       /* T_resultExtension */
951 static int hf_qsig_ci_ciProtectionLevel = -1;     /* CIProtectionLevel */
952 static int hf_qsig_ci_resultExtension_01 = -1;    /* T_resultExtension_01 */
953 /* named bits */
954 static int hf_qsig_ci_ServiceList_ci_low = -1;
955 static int hf_qsig_ci_ServiceList_ci_medium = -1;
956 static int hf_qsig_ci_ServiceList_ci_high = -1;
957
958 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
959
960 static int hf_qsig_aoc_qsig_aoc_AocRateArg_PDU = -1;  /* AocRateArg */
961 static int hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU = -1;  /* AocInterimArg */
962 static int hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU = -1;  /* AocFinalArg */
963 static int hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU = -1;  /* ChargeRequestArg */
964 static int hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU = -1;  /* ChargeRequestRes */
965 static int hf_qsig_aoc_qsig_aoc_DummyArg_PDU = -1;  /* DummyArg */
966 static int hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU = -1;  /* AocCompleteArg */
967 static int hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU = -1;  /* AocCompleteRes */
968 static int hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU = -1;  /* AocDivChargeReqArg */
969 static int hf_qsig_aoc_qsig_aoc_Extension_PDU = -1;  /* Extension */
970 static int hf_qsig_aoc_aocRate = -1;              /* T_aocRate */
971 static int hf_qsig_aoc_chargeNotAvailable = -1;   /* NULL */
972 static int hf_qsig_aoc_aocSCurrencyInfoList = -1;  /* AOCSCurrencyInfoList */
973 static int hf_qsig_aoc_rateArgExtension = -1;     /* T_rateArgExtension */
974 static int hf_qsig_aoc_extension = -1;            /* Extension */
975 static int hf_qsig_aoc_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
976 static int hf_qsig_aoc_multipleExtension_item = -1;  /* Extension */
977 static int hf_qsig_aoc_interimCharge = -1;        /* T_interimCharge */
978 static int hf_qsig_aoc_freeOfCharge = -1;         /* NULL */
979 static int hf_qsig_aoc_specificCurrency = -1;     /* T_specificCurrency */
980 static int hf_qsig_aoc_recordedCurrency = -1;     /* RecordedCurrency */
981 static int hf_qsig_aoc_interimBillingId = -1;     /* InterimBillingId */
982 static int hf_qsig_aoc_interimArgExtension = -1;  /* T_interimArgExtension */
983 static int hf_qsig_aoc_finalCharge = -1;          /* T_finalCharge */
984 static int hf_qsig_aoc_specificCurrency_01 = -1;  /* T_specificCurrency_01 */
985 static int hf_qsig_aoc_finalBillingId = -1;       /* FinalBillingId */
986 static int hf_qsig_aoc_chargingAssociation = -1;  /* ChargingAssociation */
987 static int hf_qsig_aoc_finalArgExtension = -1;    /* T_finalArgExtension */
988 static int hf_qsig_aoc_AOCSCurrencyInfoList_item = -1;  /* AOCSCurrencyInfo */
989 static int hf_qsig_aoc_chargedItem = -1;          /* ChargedItem */
990 static int hf_qsig_aoc_rateType = -1;             /* T_rateType */
991 static int hf_qsig_aoc_durationCurrency = -1;     /* DurationCurrency */
992 static int hf_qsig_aoc_flatRateCurrency = -1;     /* FlatRateCurrency */
993 static int hf_qsig_aoc_volumeRateCurrency = -1;   /* VolumeRateCurrency */
994 static int hf_qsig_aoc_specialChargingCode = -1;  /* SpecialChargingCode */
995 static int hf_qsig_aoc_currencyInfoNotAvailable = -1;  /* NULL */
996 static int hf_qsig_aoc_freeOfChargefromBeginning = -1;  /* NULL */
997 static int hf_qsig_aoc_dCurrency = -1;            /* Currency */
998 static int hf_qsig_aoc_dAmount = -1;              /* Amount */
999 static int hf_qsig_aoc_dChargingType = -1;        /* ChargingType */
1000 static int hf_qsig_aoc_dTime = -1;                /* Time */
1001 static int hf_qsig_aoc_dGranularity = -1;         /* Time */
1002 static int hf_qsig_aoc_fRCurrency = -1;           /* Currency */
1003 static int hf_qsig_aoc_fRAmount = -1;             /* Amount */
1004 static int hf_qsig_aoc_vRCurrency = -1;           /* Currency */
1005 static int hf_qsig_aoc_vRAmount = -1;             /* Amount */
1006 static int hf_qsig_aoc_vRVolumeUnit = -1;         /* VolumeUnit */
1007 static int hf_qsig_aoc_rCurrency = -1;            /* Currency */
1008 static int hf_qsig_aoc_rAmount = -1;              /* Amount */
1009 static int hf_qsig_aoc_currencyAmount = -1;       /* CurrencyAmount */
1010 static int hf_qsig_aoc_multiplier = -1;           /* Multiplier */
1011 static int hf_qsig_aoc_lengthOfTimeUnit = -1;     /* LengthOfTimeUnit */
1012 static int hf_qsig_aoc_scale = -1;                /* Scale */
1013 static int hf_qsig_aoc_chargeNumber = -1;         /* PartyNumber */
1014 static int hf_qsig_aoc_chargeIdentifier = -1;     /* ChargeIdentifier */
1015 static int hf_qsig_aoc_adviceModeCombinations = -1;  /* SEQUENCE_SIZE_0_7_OF_AdviceModeCombination */
1016 static int hf_qsig_aoc_adviceModeCombinations_item = -1;  /* AdviceModeCombination */
1017 static int hf_qsig_aoc_chargeReqArgExtension = -1;  /* T_chargeReqArgExtension */
1018 static int hf_qsig_aoc_adviceModeCombination = -1;  /* AdviceModeCombination */
1019 static int hf_qsig_aoc_chargeReqResExtension = -1;  /* T_chargeReqResExtension */
1020 static int hf_qsig_aoc_none = -1;                 /* NULL */
1021 static int hf_qsig_aoc_chargedUser = -1;          /* PartyNumber */
1022 static int hf_qsig_aoc_completeArgExtension = -1;  /* T_completeArgExtension */
1023 static int hf_qsig_aoc_chargingOption = -1;       /* ChargingOption */
1024 static int hf_qsig_aoc_completeResExtension = -1;  /* T_completeResExtension */
1025 static int hf_qsig_aoc_divertingUser = -1;        /* PartyNumber */
1026 static int hf_qsig_aoc_diversionType = -1;        /* DiversionType */
1027 static int hf_qsig_aoc_aocDivChargeReqArgExt = -1;  /* T_aocDivChargeReqArgExt */
1028
1029 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1030
1031 static int hf_qsig_re_qsig_re_ReAlertingArg_PDU = -1;  /* ReAlertingArg */
1032 static int hf_qsig_re_qsig_re_ReAnswerArg_PDU = -1;  /* ReAnswerArg */
1033 static int hf_qsig_re_alertedNumber = -1;         /* PresentedNumberScreened */
1034 static int hf_qsig_re_alertedName = -1;           /* Name */
1035 static int hf_qsig_re_argumentExtension = -1;     /* T_argumentExtension */
1036 static int hf_qsig_re_extension = -1;             /* Extension */
1037 static int hf_qsig_re_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1038 static int hf_qsig_re_multipleExtension_item = -1;  /* Extension */
1039 static int hf_qsig_re_connectedNumber = -1;       /* PresentedNumberScreened */
1040 static int hf_qsig_re_connectedSubaddress = -1;   /* PartySubaddress */
1041 static int hf_qsig_re_connectedName = -1;         /* Name */
1042 static int hf_qsig_re_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1043
1044 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1045
1046 static int hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU = -1;  /* SynchronizationReqArg */
1047 static int hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU = -1;  /* SynchronizationReqRes */
1048 static int hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU = -1;  /* SynchronizationInfoArg */
1049 static int hf_qsig_sync_qsig_sync_Extension_PDU = -1;  /* Extension */
1050 static int hf_qsig_sync_action = -1;              /* Action */
1051 static int hf_qsig_sync_argExtension = -1;        /* ArgExtension */
1052 static int hf_qsig_sync_response = -1;            /* BOOLEAN */
1053 static int hf_qsig_sync_stateinfo = -1;           /* T_stateinfo */
1054 static int hf_qsig_sync_extension = -1;           /* Extension */
1055 static int hf_qsig_sync_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1056 static int hf_qsig_sync_sequOfExtn_item = -1;     /* Extension */
1057
1058 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1059
1060 static int hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU = -1;  /* CintInformation1Arg */
1061 static int hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU = -1;  /* CintInformation2Arg */
1062 static int hf_qsig_cint_qsig_cint_CintCondArg_PDU = -1;  /* CintCondArg */
1063 static int hf_qsig_cint_qsig_cint_CintExtension_PDU = -1;  /* CintExtension */
1064 static int hf_qsig_cint_interceptionCause = -1;   /* CintCause */
1065 static int hf_qsig_cint_interceptedToNumber = -1;  /* PartyNumber */
1066 static int hf_qsig_cint_extension = -1;           /* CintExtension */
1067 static int hf_qsig_cint_calledNumber = -1;        /* PresentedNumberUnscreened */
1068 static int hf_qsig_cint_originalCalledNumber = -1;  /* PresentedNumberUnscreened */
1069 static int hf_qsig_cint_calledName = -1;          /* Name */
1070 static int hf_qsig_cint_originalCalledName = -1;  /* Name */
1071 static int hf_qsig_cint_interceptionCause_01 = -1;  /* Condition */
1072 static int hf_qsig_cint_none = -1;                /* NULL */
1073 static int hf_qsig_cint_single = -1;              /* Extension */
1074 static int hf_qsig_cint_multiple = -1;            /* SEQUENCE_OF_Extension */
1075 static int hf_qsig_cint_multiple_item = -1;       /* Extension */
1076
1077 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1078
1079 static int hf_qsig_cmn_qsig_cmn_DummyArg_PDU = -1;  /* DummyArg */
1080 static int hf_qsig_cmn_qsig_cmn_CmnArg_PDU = -1;  /* CmnArg */
1081 static int hf_qsig_cmn_featureIdentifier = -1;    /* FeatureIdList */
1082 static int hf_qsig_cmn_ssDNDOprotectionLevel = -1;  /* INTEGER_0_3 */
1083 static int hf_qsig_cmn_ssCIprotectionLevel = -1;  /* INTEGER_0_3 */
1084 static int hf_qsig_cmn_equipmentIdentity = -1;    /* EquipmentId */
1085 static int hf_qsig_cmn_partyCategory = -1;        /* PartyCategory */
1086 static int hf_qsig_cmn_extension = -1;            /* T_extension */
1087 static int hf_qsig_cmn_single = -1;               /* Extension */
1088 static int hf_qsig_cmn_multiple = -1;             /* SEQUENCE_OF_Extension */
1089 static int hf_qsig_cmn_multiple_item = -1;        /* Extension */
1090 static int hf_qsig_cmn_null = -1;                 /* NULL */
1091 static int hf_qsig_cmn_nodeId = -1;               /* IA5String_SIZE_1_10 */
1092 static int hf_qsig_cmn_groupId = -1;              /* IA5String_SIZE_1_10 */
1093 static int hf_qsig_cmn_unitId = -1;               /* IA5String_SIZE_1_10 */
1094 /* named bits */
1095 static int hf_qsig_cmn_FeatureIdList_reserved = -1;
1096 static int hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported = -1;
1097 static int hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported = -1;
1098 static int hf_qsig_cmn_FeatureIdList_ssCCBSpossible = -1;
1099 static int hf_qsig_cmn_FeatureIdList_ssCCNRpossible = -1;
1100 static int hf_qsig_cmn_FeatureIdList_ssCOsupported = -1;
1101 static int hf_qsig_cmn_FeatureIdList_ssCIforcedRelease = -1;
1102 static int hf_qsig_cmn_FeatureIdList_ssCIisolation = -1;
1103 static int hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy = -1;
1104 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx = -1;
1105 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx = -1;
1106 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx = -1;
1107 static int hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx = -1;
1108 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate = -1;
1109 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed = -1;
1110 static int hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported = -1;
1111 static int hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported = -1;
1112 static int hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported = -1;
1113
1114 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1115
1116 static int hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU = -1;  /* CPIRequestArg */
1117 static int hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU = -1;  /* CPIPRequestArg */
1118 static int hf_qsig_cpi_cpiCapabilityLevel = -1;   /* CPICapabilityLevel */
1119 static int hf_qsig_cpi_argumentExtension = -1;    /* T_argumentExtension */
1120 static int hf_qsig_cpi_extension = -1;            /* Extension */
1121 static int hf_qsig_cpi_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
1122 static int hf_qsig_cpi_sequenceOfExtn_item = -1;  /* Extension */
1123 static int hf_qsig_cpi_cpiProtectionLevel = -1;   /* CPIProtectionLevel */
1124 static int hf_qsig_cpi_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1125
1126 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1127
1128 static int hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU = -1;  /* PumRegistrArg */
1129 static int hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU = -1;  /* PumRegistrRes */
1130 static int hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU = -1;  /* PumDelRegArg */
1131 static int hf_qsig_pumr_qsig_pumr_DummyRes_PDU = -1;  /* DummyRes */
1132 static int hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU = -1;  /* PumDe_regArg */
1133 static int hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU = -1;  /* PumInterrogArg */
1134 static int hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU = -1;  /* PumInterrogRes */
1135 static int hf_qsig_pumr_qsig_pumr_Extension_PDU = -1;  /* Extension */
1136 static int hf_qsig_pumr_pumRUserId = -1;          /* RpumUserId */
1137 static int hf_qsig_pumr_pumNumber = -1;           /* PartyNumber */
1138 static int hf_qsig_pumr_alternativeId = -1;       /* AlternativeId */
1139 static int hf_qsig_pumr_basicService = -1;        /* BasicService */
1140 static int hf_qsig_pumr_hostingAddr = -1;         /* PartyNumber */
1141 static int hf_qsig_pumr_activatingUserAddr = -1;  /* PartyNumber */
1142 static int hf_qsig_pumr_serviceOption = -1;       /* ServiceOption */
1143 static int hf_qsig_pumr_sessionParams = -1;       /* SessionParams */
1144 static int hf_qsig_pumr_userPin = -1;             /* T_userPin */
1145 static int hf_qsig_pumr_pumUserPin = -1;          /* UserPin */
1146 static int hf_qsig_pumr_activatingUserPin = -1;   /* UserPin */
1147 static int hf_qsig_pumr_argExtension = -1;        /* PumrExtension */
1148 static int hf_qsig_pumr_null = -1;                /* NULL */
1149 static int hf_qsig_pumr_extension = -1;           /* Extension */
1150 static int hf_qsig_pumr_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1151 static int hf_qsig_pumr_sequOfExtn_item = -1;     /* Extension */
1152 static int hf_qsig_pumr_pumXUserId = -1;          /* XpumUserId */
1153 static int hf_qsig_pumr_pumDUserId = -1;          /* DpumUserId */
1154 static int hf_qsig_pumr_userPin_01 = -1;          /* T_userPin_01 */
1155 static int hf_qsig_pumr_pumIUserId = -1;          /* IpumUserId */
1156 static int hf_qsig_pumr_homeInfoOnly = -1;        /* BOOLEAN */
1157 static int hf_qsig_pumr_userPin_02 = -1;          /* T_userPin_02 */
1158 static int hf_qsig_pumr_PumInterrogRes_item = -1;  /* PumInterrogRes_item */
1159 static int hf_qsig_pumr_interrogParams = -1;      /* SessionParams */
1160 static int hf_qsig_pumr_durationOfSession = -1;   /* INTEGER */
1161 static int hf_qsig_pumr_numberOfOutgCalls = -1;   /* INTEGER */
1162
1163 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1164
1165 static int hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1166 static int hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1167 static int hf_qsig_pumch_qsig_pumch_DivertArg_PDU = -1;  /* DivertArg */
1168 static int hf_qsig_pumch_qsig_pumch_DummyRes_PDU = -1;  /* DummyRes */
1169 static int hf_qsig_pumch_qsig_pumch_InformArg_PDU = -1;  /* InformArg */
1170 static int hf_qsig_pumch_qsig_pumch_PumoArg_PDU = -1;  /* PumoArg */
1171 static int hf_qsig_pumch_qsig_pumch_Extension_PDU = -1;  /* Extension */
1172 static int hf_qsig_pumch_pisnNumber = -1;         /* PartyNumber */
1173 static int hf_qsig_pumch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1174 static int hf_qsig_pumch_argExtension = -1;       /* PumiExtension */
1175 static int hf_qsig_pumch_hostingAddr = -1;        /* PartyNumber */
1176 static int hf_qsig_pumch_callingNumber = -1;      /* PresentedNumberScreened */
1177 static int hf_qsig_pumch_pumIdentity = -1;        /* PumIdentity */
1178 static int hf_qsig_pumch_callingUserSub = -1;     /* PartySubaddress */
1179 static int hf_qsig_pumch_callingUserName = -1;    /* Name */
1180 static int hf_qsig_pumch_pumUserSub = -1;         /* PartySubaddress */
1181 static int hf_qsig_pumch_currLocation = -1;       /* CurrLocation */
1182 static int hf_qsig_pumch_cfuActivated = -1;       /* CfuActivated */
1183 static int hf_qsig_pumch_divToAddress = -1;       /* Address */
1184 static int hf_qsig_pumch_divOptions = -1;         /* SubscriptionOption */
1185 static int hf_qsig_pumch_pumName = -1;            /* Name */
1186 static int hf_qsig_pumch_null = -1;               /* NULL */
1187 static int hf_qsig_pumch_extension = -1;          /* Extension */
1188 static int hf_qsig_pumch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1189 static int hf_qsig_pumch_sequOfExtn_item = -1;    /* Extension */
1190 static int hf_qsig_pumch_alternativeId = -1;      /* AlternativeId */
1191 static int hf_qsig_pumch_both = -1;               /* T_both */
1192 static int hf_qsig_pumch_destinationNumber = -1;  /* PartyNumber */
1193 static int hf_qsig_pumch_sendingComplete = -1;    /* NULL */
1194 static int hf_qsig_pumch_pumoaextension = -1;     /* T_pumoaextension */
1195 static int hf_qsig_pumch_single = -1;             /* Extension */
1196 static int hf_qsig_pumch_multiple = -1;           /* SEQUENCE_OF_Extension */
1197 static int hf_qsig_pumch_multiple_item = -1;      /* Extension */
1198
1199 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1200
1201 static int hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU = -1;  /* SSCTInitiateArg */
1202 static int hf_qsig_ssct_qsig_ssct_DummyRes_PDU = -1;  /* DummyRes */
1203 static int hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU = -1;  /* SSCTSetupArg */
1204 static int hf_qsig_ssct_qsig_ssct_DummyArg_PDU = -1;  /* DummyArg */
1205 static int hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU = -1;  /* SSCTDigitInfoArg */
1206 static int hf_qsig_ssct_qsig_ssct_Extension_PDU = -1;  /* Extension */
1207 static int hf_qsig_ssct_null = -1;                /* NULL */
1208 static int hf_qsig_ssct_single = -1;              /* Extension */
1209 static int hf_qsig_ssct_multiple = -1;            /* SEQUENCE_OF_Extension */
1210 static int hf_qsig_ssct_multiple_item = -1;       /* Extension */
1211 static int hf_qsig_ssct_rerouteingNumber = -1;    /* PartyNumber */
1212 static int hf_qsig_ssct_transferredAddress = -1;  /* PresentedAddressScreened */
1213 static int hf_qsig_ssct_awaitConnect = -1;        /* AwaitConnect */
1214 static int hf_qsig_ssct_transferredName = -1;     /* Name */
1215 static int hf_qsig_ssct_transferringAddress = -1;  /* PresentedAddressScreened */
1216 static int hf_qsig_ssct_transferringName = -1;    /* Name */
1217 static int hf_qsig_ssct_argumentExtensionSSCTI = -1;  /* SSCTIargumentExtension */
1218 static int hf_qsig_ssct_argumentExtensionSSCTS = -1;  /* SSCTSargumentExtension */
1219 static int hf_qsig_ssct_reroutingNumber = -1;     /* PartyNumber */
1220 static int hf_qsig_ssct_sendingComplete = -1;     /* NULL */
1221 static int hf_qsig_ssct_argumentExtensionSSCTD = -1;  /* SSCTDargumentExtension */
1222
1223 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1224
1225 static int hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU = -1;  /* LocUpdArg */
1226 static int hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU = -1;  /* DummyRes */
1227 static int hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU = -1;  /* LocDelArg */
1228 static int hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU = -1;  /* LocDeRegArg */
1229 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU = -1;  /* PisnEnqArg */
1230 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU = -1;  /* PisnEnqRes */
1231 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU = -1;  /* GetRRCInfArg */
1232 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU = -1;  /* GetRRCInfRes */
1233 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU = -1;  /* LocInfoCheckArg */
1234 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU = -1;  /* LocInfoCheckRes */
1235 static int hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU = -1;  /* Extension */
1236 static int hf_qsig_wtmlr_wtmUserId = -1;          /* WtmUserId */
1237 static int hf_qsig_wtmlr_basicService = -1;       /* BasicService */
1238 static int hf_qsig_wtmlr_visitPINX = -1;          /* PartyNumber */
1239 static int hf_qsig_wtmlr_argExtension = -1;       /* LrExtension */
1240 static int hf_qsig_wtmlr_null = -1;               /* NULL */
1241 static int hf_qsig_wtmlr_extension = -1;          /* Extension */
1242 static int hf_qsig_wtmlr_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1243 static int hf_qsig_wtmlr_sequOfExtn_item = -1;    /* Extension */
1244 static int hf_qsig_wtmlr_alternativeId = -1;      /* AlternativeId */
1245 static int hf_qsig_wtmlr_resExtension = -1;       /* LrExtension */
1246 static int hf_qsig_wtmlr_rrClass = -1;            /* RRClass */
1247 static int hf_qsig_wtmlr_checkResult = -1;        /* CheckResult */
1248 static int hf_qsig_wtmlr_pisnNumber = -1;         /* PartyNumber */
1249
1250 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1251
1252 static int hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1253 static int hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1254 static int hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU = -1;  /* DivertArg */
1255 static int hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU = -1;  /* DummyRes */
1256 static int hf_qsig_wtmch_qsig_wtmch_InformArg_PDU = -1;  /* InformArg */
1257 static int hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU = -1;  /* WtmoArg */
1258 static int hf_qsig_wtmch_qsig_wtmch_Extension_PDU = -1;  /* Extension */
1259 static int hf_qsig_wtmch_pisnNumber = -1;         /* PartyNumber */
1260 static int hf_qsig_wtmch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1261 static int hf_qsig_wtmch_argExtension = -1;       /* WtmiExtension */
1262 static int hf_qsig_wtmch_visitPINX = -1;          /* PartyNumber */
1263 static int hf_qsig_wtmch_callingNumber = -1;      /* PresentedNumberScreened */
1264 static int hf_qsig_wtmch_wtmIdentity = -1;        /* WtmIdentity */
1265 static int hf_qsig_wtmch_callingUserSub = -1;     /* PartySubaddress */
1266 static int hf_qsig_wtmch_callingName = -1;        /* Name */
1267 static int hf_qsig_wtmch_wtmUserSub = -1;         /* PartySubaddress */
1268 static int hf_qsig_wtmch_currLocation = -1;       /* CurrLocation */
1269 static int hf_qsig_wtmch_cfuActivated = -1;       /* CfuActivated */
1270 static int hf_qsig_wtmch_divToAddress = -1;       /* Address */
1271 static int hf_qsig_wtmch_divOptions = -1;         /* SubscriptionOption */
1272 static int hf_qsig_wtmch_wtmName = -1;            /* Name */
1273 static int hf_qsig_wtmch_null = -1;               /* NULL */
1274 static int hf_qsig_wtmch_extension = -1;          /* Extension */
1275 static int hf_qsig_wtmch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1276 static int hf_qsig_wtmch_sequOfExtn_item = -1;    /* Extension */
1277 static int hf_qsig_wtmch_alternativeId = -1;      /* AlternativeId */
1278 static int hf_qsig_wtmch_both = -1;               /* T_both */
1279 static int hf_qsig_wtmch_destinationNumber = -1;  /* PartyNumber */
1280 static int hf_qsig_wtmch_sendingComplete = -1;    /* NULL */
1281 static int hf_qsig_wtmch_wtmoaextension = -1;     /* T_wtmoaextension */
1282 static int hf_qsig_wtmch_single = -1;             /* Extension */
1283 static int hf_qsig_wtmch_multiple = -1;           /* SEQUENCE_OF_Extension */
1284 static int hf_qsig_wtmch_multiple_item = -1;      /* Extension */
1285
1286 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1287
1288 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU = -1;  /* AuthWtmArg */
1289 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU = -1;  /* AuthWtmRes */
1290 static int hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU = -1;  /* WtatParamArg */
1291 static int hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU = -1;  /* WtatParamRes */
1292 static int hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU = -1;  /* WtanParamArg */
1293 static int hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU = -1;  /* WtanParamRes */
1294 static int hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU = -1;  /* ARG_transferAuthParam */
1295 static int hf_qsig_wtmau_qsig_wtmau_Extension_PDU = -1;  /* Extension */
1296 static int hf_qsig_wtmau_wtmUserId = -1;          /* WtmUserId */
1297 static int hf_qsig_wtmau_calcWtatInfo = -1;       /* CalcWtatInfo */
1298 static int hf_qsig_wtmau_dummyExtension = -1;     /* DummyExtension */
1299 static int hf_qsig_wtmau_autWtmResValue = -1;     /* T_autWtmResValue */
1300 static int hf_qsig_wtmau_canCompute = -1;         /* CanCompute */
1301 static int hf_qsig_wtmau_authChallenge = -1;      /* AuthChallenge */
1302 static int hf_qsig_wtmau_wtatParamInfo = -1;      /* WtatParamInfo */
1303 static int hf_qsig_wtmau_authAlgorithm = -1;      /* AuthAlgorithm */
1304 static int hf_qsig_wtmau_pisnNumber = -1;         /* PartyNumber */
1305 static int hf_qsig_wtmau_alternativeId = -1;      /* AlternativeId */
1306 static int hf_qsig_wtmau_wtanParamInfo = -1;      /* WtanParamInfo */
1307 static int hf_qsig_wtmau_wtatParamInfoChoice = -1;  /* T_wtatParamInfoChoice */
1308 static int hf_qsig_wtmau_authSessionKeyInfo = -1;  /* AuthSessionKeyInfo */
1309 static int hf_qsig_wtmau_authKey = -1;            /* AuthKey */
1310 static int hf_qsig_wtmau_challLen = -1;           /* INTEGER_1_8 */
1311 static int hf_qsig_wtmau_calcWtanInfo = -1;       /* CalcWtanInfo */
1312 static int hf_qsig_wtmau_authSessionKey = -1;     /* AuthSessionKey */
1313 static int hf_qsig_wtmau_calculationParam = -1;   /* CalculationParam */
1314 static int hf_qsig_wtmau_CalcWtatInfo_item = -1;  /* CalcWtatInfoUnit */
1315 static int hf_qsig_wtmau_authResponse = -1;       /* AuthResponse */
1316 static int hf_qsig_wtmau_derivedCipherKey = -1;   /* DerivedCipherKey */
1317 static int hf_qsig_wtmau_extension = -1;          /* Extension */
1318 static int hf_qsig_wtmau_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1319 static int hf_qsig_wtmau_sequOfExtn_item = -1;    /* Extension */
1320 static int hf_qsig_wtmau_authAlg = -1;            /* DefinedIDs */
1321 static int hf_qsig_wtmau_param = -1;              /* T_param */
1322
1323 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1324
1325 static int hf_qsig_sd_qsig_sd_DisplayArg_PDU = -1;  /* DisplayArg */
1326 static int hf_qsig_sd_qsig_sd_KeypadArg_PDU = -1;  /* KeypadArg */
1327 static int hf_qsig_sd_qsig_sd_Extension_PDU = -1;  /* Extension */
1328 static int hf_qsig_sd_displayString = -1;         /* DisplayString */
1329 static int hf_qsig_sd_sdextension = -1;           /* SDExtension */
1330 static int hf_qsig_sd_displayStringNormal = -1;   /* BMPStringNormal */
1331 static int hf_qsig_sd_displayStringExtended = -1;  /* BMPStringExtended */
1332 static int hf_qsig_sd_keypadString = -1;          /* BMPStringNormal */
1333 static int hf_qsig_sd_extension = -1;             /* Extension */
1334 static int hf_qsig_sd_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1335 static int hf_qsig_sd_multipleExtension_item = -1;  /* Extension */
1336
1337 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1338
1339 static int hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU = -1;  /* CallIdentificationAssignArg */
1340 static int hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU = -1;  /* CallIdentificationUpdateArg */
1341 static int hf_qsig_cidl_globalCallID = -1;        /* CallIdentificationData */
1342 static int hf_qsig_cidl_threadID = -1;            /* CallIdentificationData */
1343 static int hf_qsig_cidl_legID = -1;               /* CallIdentificationData */
1344 static int hf_qsig_cidl_extensiont = -1;          /* ExtensionType */
1345 static int hf_qsig_cidl_switchingSubDomainName = -1;  /* SwitchingSubDomainName */
1346 static int hf_qsig_cidl_linkageID = -1;           /* T_linkageID */
1347 static int hf_qsig_cidl_subDomainID = -1;         /* SubDomainID */
1348 static int hf_qsig_cidl_globallyUniqueID = -1;    /* GloballyUniqueID */
1349 static int hf_qsig_cidl_timeStamp = -1;           /* TimeStamp */
1350 static int hf_qsig_cidl_extension = -1;           /* Extension */
1351 static int hf_qsig_cidl_sequenceOfExt = -1;       /* SEQUENCE_OF_Extension */
1352 static int hf_qsig_cidl_sequenceOfExt_item = -1;  /* Extension */
1353
1354 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1355
1356 static int hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU = -1;  /* SmsSubmitArg */
1357 static int hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU = -1;  /* SmsSubmitRes */
1358 static int hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU = -1;  /* SmsDeliverArg */
1359 static int hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU = -1;  /* SmsDeliverRes */
1360 static int hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU = -1;  /* SmsStatusReportArg */
1361 static int hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU = -1;  /* SmsStatusReportRes */
1362 static int hf_qsig_sms_qsig_sms_SmsCommandArg_PDU = -1;  /* SmsCommandArg */
1363 static int hf_qsig_sms_qsig_sms_SmsCommandRes_PDU = -1;  /* SmsCommandRes */
1364 static int hf_qsig_sms_qsig_sms_ScAlertArg_PDU = -1;  /* ScAlertArg */
1365 static int hf_qsig_sms_qsig_sms_DummyRes_PDU = -1;  /* DummyRes */
1366 static int hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU = -1;  /* PAR_smsDeliverError */
1367 static int hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU = -1;  /* PAR_smsSubmitError */
1368 static int hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU = -1;  /* PAR_smsStatusReportError */
1369 static int hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU = -1;  /* PAR_smsCommandError */
1370 static int hf_qsig_sms_qsig_sms_SmsExtension_PDU = -1;  /* SmsExtension */
1371 static int hf_qsig_sms_destinationAddress = -1;   /* PartyNumber */
1372 static int hf_qsig_sms_originatingAddress = -1;   /* PartyNumber */
1373 static int hf_qsig_sms_messageReference = -1;     /* MessageReference */
1374 static int hf_qsig_sms_smSubmitParameter = -1;    /* SmSubmitParameter */
1375 static int hf_qsig_sms_userData = -1;             /* UserData */
1376 static int hf_qsig_sms_smsExtension = -1;         /* SmsExtension */
1377 static int hf_qsig_sms_serviceCentreTimeStamp = -1;  /* ServiceCentreTimeStamp */
1378 static int hf_qsig_sms_protocolIdentifier = -1;   /* ProtocolIdentifier */
1379 static int hf_qsig_sms_originatingName = -1;      /* Name */
1380 static int hf_qsig_sms_smDeliverParameter = -1;   /* SmDeliverParameter */
1381 static int hf_qsig_sms_smsDeliverResponseChoice = -1;  /* SmsDeliverResChoice */
1382 static int hf_qsig_sms_dischargeTime = -1;        /* DischargeTime */
1383 static int hf_qsig_sms_recipientAddress = -1;     /* PartyNumber */
1384 static int hf_qsig_sms_recipientName = -1;        /* Name */
1385 static int hf_qsig_sms_status = -1;               /* Status */
1386 static int hf_qsig_sms_priority = -1;             /* BOOLEAN */
1387 static int hf_qsig_sms_moreMessagesToSend = -1;   /* BOOLEAN */
1388 static int hf_qsig_sms_statusReportQualifier = -1;  /* BOOLEAN */
1389 static int hf_qsig_sms_smsStatusReportResponseChoice = -1;  /* SmsStatusReportResponseChoice */
1390 static int hf_qsig_sms_messageNumber = -1;        /* MessageReference */
1391 static int hf_qsig_sms_commandType = -1;          /* CommandType */
1392 static int hf_qsig_sms_commandData = -1;          /* CommandData */
1393 static int hf_qsig_sms_statusReportRequest = -1;  /* BOOLEAN */
1394 static int hf_qsig_sms_null = -1;                 /* NULL */
1395 static int hf_qsig_sms_validityPeriod = -1;       /* ValidityPeriod */
1396 static int hf_qsig_sms_replyPath = -1;            /* BOOLEAN */
1397 static int hf_qsig_sms_rejectDuplicates = -1;     /* BOOLEAN */
1398 static int hf_qsig_sms_statusReportIndication = -1;  /* BOOLEAN */
1399 static int hf_qsig_sms_resChoiceSeq = -1;         /* ResChoiceSeq */
1400 static int hf_qsig_sms_single = -1;               /* Extension */
1401 static int hf_qsig_sms_multiple = -1;             /* SEQUENCE_OF_Extension */
1402 static int hf_qsig_sms_multiple_item = -1;        /* Extension */
1403 static int hf_qsig_sms_validityPeriodRel = -1;    /* ValidityPeriodRel */
1404 static int hf_qsig_sms_validityPeriodAbs = -1;    /* ValidityPeriodAbs */
1405 static int hf_qsig_sms_validityPeriodEnh = -1;    /* ValidityPeriodEnh */
1406 static int hf_qsig_sms_singleShotSM = -1;         /* BOOLEAN */
1407 static int hf_qsig_sms_enhancedVP = -1;           /* EnhancedVP */
1408 static int hf_qsig_sms_validityPeriodSec = -1;    /* INTEGER_0_255 */
1409 static int hf_qsig_sms_validityPeriodSemi = -1;   /* ValidityPeriodSemi */
1410 static int hf_qsig_sms_userDataHeader = -1;       /* UserDataHeader */
1411 static int hf_qsig_sms_class = -1;                /* INTEGER_0_3 */
1412 static int hf_qsig_sms_compressed = -1;           /* BOOLEAN */
1413 static int hf_qsig_sms_shortMessageText = -1;     /* ShortMessageText */
1414 static int hf_qsig_sms_shortMessageTextType = -1;  /* ShortMessageTextType */
1415 static int hf_qsig_sms_shortMessageTextData = -1;  /* ShortMessageTextData */
1416 static int hf_qsig_sms_UserDataHeader_item = -1;  /* UserDataHeaderChoice */
1417 static int hf_qsig_sms_smscControlParameterHeader = -1;  /* SmscControlParameterHeader */
1418 static int hf_qsig_sms_concatenated8BitSMHeader = -1;  /* Concatenated8BitSMHeader */
1419 static int hf_qsig_sms_concatenated16BitSMHeader = -1;  /* Concatenated16BitSMHeader */
1420 static int hf_qsig_sms_applicationPort8BitHeader = -1;  /* ApplicationPort8BitHeader */
1421 static int hf_qsig_sms_applicationPort16BitHeader = -1;  /* ApplicationPort16BitHeader */
1422 static int hf_qsig_sms_dataHeaderSourceIndicator = -1;  /* DataHeaderSourceIndicator */
1423 static int hf_qsig_sms_wirelessControlHeader = -1;  /* WirelessControlHeader */
1424 static int hf_qsig_sms_genericUserValue = -1;     /* GenericUserValue */
1425 static int hf_qsig_sms_concatenated8BitSMReferenceNumber = -1;  /* INTEGER_0_255 */
1426 static int hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1427 static int hf_qsig_sms_sequenceNumberOf8BitSM = -1;  /* INTEGER_0_255 */
1428 static int hf_qsig_sms_concatenated16BitSMReferenceNumber = -1;  /* INTEGER_0_65536 */
1429 static int hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1430 static int hf_qsig_sms_sequenceNumberOf16BitSM = -1;  /* INTEGER_0_255 */
1431 static int hf_qsig_sms_destination8BitPort = -1;  /* INTEGER_0_255 */
1432 static int hf_qsig_sms_originator8BitPort = -1;   /* INTEGER_0_255 */
1433 static int hf_qsig_sms_destination16BitPort = -1;  /* INTEGER_0_65536 */
1434 static int hf_qsig_sms_originator16BitPort = -1;  /* INTEGER_0_65536 */
1435 static int hf_qsig_sms_parameterValue = -1;       /* INTEGER_0_255 */
1436 static int hf_qsig_sms_genericUserData = -1;      /* OCTET_STRING */
1437 static int hf_qsig_sms_failureCause = -1;         /* FailureCause */
1438 static int hf_qsig_sms_scAddressSaved = -1;       /* BOOLEAN */
1439 /* named bits */
1440 static int hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted = -1;
1441 static int hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError = -1;
1442 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying = -1;
1443 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying = -1;
1444 static int hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM = -1;
1445 static int hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR = -1;
1446
1447 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1448
1449 static int hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU = -1;  /* MCRequestArg */
1450 static int hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU = -1;  /* MCRequestResult */
1451 static int hf_qsig_mcr_qsig_mcr_MCInformArg_PDU = -1;  /* MCInformArg */
1452 static int hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU = -1;  /* MCAlertingArg */
1453 static int hf_qsig_mcr_qsig_mcr_Extension_PDU = -1;  /* Extension */
1454 static int hf_qsig_mcr_callType = -1;             /* CallType */
1455 static int hf_qsig_mcr_retainOrigCall = -1;       /* BOOLEAN */
1456 static int hf_qsig_mcr_destinationAddress = -1;   /* PresentedAddressUnscreened */
1457 static int hf_qsig_mcr_requestingAddress = -1;    /* PresentedAddressUnscreened */
1458 static int hf_qsig_mcr_cooperatingAddress = -1;   /* PresentedAddressUnscreened */
1459 static int hf_qsig_mcr_correlation = -1;          /* Correlation */
1460 static int hf_qsig_mcr_extensions = -1;           /* MCRExtensions */
1461 static int hf_qsig_mcr_basicService = -1;         /* BasicService */
1462 static int hf_qsig_mcr_cisc = -1;                 /* NULL */
1463 static int hf_qsig_mcr_correlationData = -1;      /* CallIdentity */
1464 static int hf_qsig_mcr_correlationReason = -1;    /* CorrelationReason */
1465 static int hf_qsig_mcr_none = -1;                 /* NULL */
1466 static int hf_qsig_mcr_single = -1;               /* Extension */
1467 static int hf_qsig_mcr_multiple = -1;             /* SEQUENCE_OF_Extension */
1468 static int hf_qsig_mcr_multiple_item = -1;        /* Extension */
1469
1470 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1471
1472 static int hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU = -1;  /* MCMNewMsgArg */
1473 static int hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU = -1;  /* MCMDummyRes */
1474 static int hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU = -1;  /* MCMNoNewMsgArg */
1475 static int hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU = -1;  /* MCMUpdateArg */
1476 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU = -1;  /* MCMUpdateReqArg */
1477 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU = -1;  /* MCMUpdateReqRes */
1478 static int hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU = -1;  /* MCMServiceArg */
1479 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU = -1;  /* MCMInterrogateArg */
1480 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU = -1;  /* MCMInterrogateRes */
1481 static int hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU = -1;  /* MCMailboxFullArg */
1482 static int hf_qsig_mcm_qsig_mcm_Extension_PDU = -1;  /* Extension */
1483 static int hf_qsig_mcm_partyInfo = -1;            /* PartyInfo */
1484 static int hf_qsig_mcm_mailboxFullFor = -1;       /* MailboxFullFor */
1485 static int hf_qsig_mcm_extensions = -1;           /* MCMExtensions */
1486 static int hf_qsig_mcm_MailboxFullFor_item = -1;  /* MailboxFullPar */
1487 static int hf_qsig_mcm_messageType = -1;          /* MessageType */
1488 static int hf_qsig_mcm_capacityReached = -1;      /* INTEGER_0_100 */
1489 static int hf_qsig_mcm_mCMChange = -1;            /* MCMChange */
1490 static int hf_qsig_mcm_activateMCM = -1;          /* SEQUENCE_OF_MCMServiceInfo */
1491 static int hf_qsig_mcm_activateMCM_item = -1;     /* MCMServiceInfo */
1492 static int hf_qsig_mcm_deactivateMCM = -1;        /* SEQUENCE_OF_MessageType */
1493 static int hf_qsig_mcm_deactivateMCM_item = -1;   /* MessageType */
1494 static int hf_qsig_mcm_setToDefaultValues = -1;   /* NULL */
1495 static int hf_qsig_mcm_mCMModeNew = -1;           /* MCMMode */
1496 static int hf_qsig_mcm_mCMModeRetrieved = -1;     /* MCMMode */
1497 static int hf_qsig_mcm_interrogateInfo = -1;      /* SEQUENCE_OF_MessageType */
1498 static int hf_qsig_mcm_interrogateInfo_item = -1;  /* MessageType */
1499 static int hf_qsig_mcm_interrogateResult = -1;    /* SEQUENCE_OF_MCMServiceInfo */
1500 static int hf_qsig_mcm_interrogateResult_item = -1;  /* MCMServiceInfo */
1501 static int hf_qsig_mcm_servedUserNr = -1;         /* PartyNumber */
1502 static int hf_qsig_mcm_specificMessageType = -1;  /* MessageType */
1503 static int hf_qsig_mcm_msgCentreId = -1;          /* MsgCentreId */
1504 static int hf_qsig_mcm_nrOfMessages = -1;         /* NrOfMessages */
1505 static int hf_qsig_mcm_originatingNr = -1;        /* PartyNumber */
1506 static int hf_qsig_mcm_timestamp = -1;            /* TimeStamp */
1507 static int hf_qsig_mcm_priority = -1;             /* INTEGER_0_9 */
1508 static int hf_qsig_mcm_argumentExtMCMNew = -1;    /* MCMNewArgumentExt */
1509 static int hf_qsig_mcm_extension = -1;            /* Extension */
1510 static int hf_qsig_mcm_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1511 static int hf_qsig_mcm_multipleExtension_item = -1;  /* Extension */
1512 static int hf_qsig_mcm_argumentExtMCMNoNew = -1;  /* MCMNoNewArgumentExt */
1513 static int hf_qsig_mcm_updateInfo = -1;           /* UpdateInfo */
1514 static int hf_qsig_mcm_moreInfoFollows = -1;      /* BOOLEAN */
1515 static int hf_qsig_mcm_argumentExtMCMUpdArg = -1;  /* MCMUpdArgArgumentExt */
1516 static int hf_qsig_mcm_MCMUpdateReqRes_item = -1;  /* MCMUpdateReqResElt */
1517 static int hf_qsig_mcm_argumentExtMCMUpdRes = -1;  /* MCMUpdResArgumentExt */
1518 static int hf_qsig_mcm_messageCentreID = -1;      /* MsgCentreId */
1519 static int hf_qsig_mcm_newMsgInfoOnly = -1;       /* MessageInfo */
1520 static int hf_qsig_mcm_retrievedMsgInfoOnly = -1;  /* MessageInfo */
1521 static int hf_qsig_mcm_allMsgInfo = -1;           /* AllMsgInfo */
1522 static int hf_qsig_mcm_newMsgInfo = -1;           /* MessageInfo */
1523 static int hf_qsig_mcm_retrievedMsgInfo = -1;     /* MessageInfo */
1524 static int hf_qsig_mcm_completeInfo = -1;         /* CompleteInfo */
1525 static int hf_qsig_mcm_compressedInfo = -1;       /* CompressedInfo */
1526 static int hf_qsig_mcm_noMsgsOfMsgType = -1;      /* NULL */
1527 static int hf_qsig_mcm_CompleteInfo_item = -1;    /* AddressHeader */
1528 static int hf_qsig_mcm_originatorNr = -1;         /* PartyNumber */
1529 static int hf_qsig_mcm_timeStamp = -1;            /* TimeStamp */
1530 static int hf_qsig_mcm_ahpriority = -1;           /* Priority */
1531 static int hf_qsig_mcm_lastTimeStamp = -1;        /* TimeStamp */
1532 static int hf_qsig_mcm_highestPriority = -1;      /* Priority */
1533 static int hf_qsig_mcm_integer = -1;              /* INTEGER_0_65535 */
1534 static int hf_qsig_mcm_partyNumber = -1;          /* PartyNumber */
1535 static int hf_qsig_mcm_numericString = -1;        /* NumericString_SIZE_1_10 */
1536 static int hf_qsig_mcm_none = -1;                 /* NULL */
1537
1538 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
1539
1540 static int hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU = -1;  /* MIDMailboxAuthArg */
1541 static int hf_qsig_mid_qsig_mid_MIDDummyRes_PDU = -1;  /* MIDDummyRes */
1542 static int hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU = -1;  /* MIDMailboxIDArg */
1543 static int hf_qsig_mid_qsig_mid_Extension_PDU = -1;  /* Extension */
1544 static int hf_qsig_mid_partyInfo = -1;            /* PartyInfo */
1545 static int hf_qsig_mid_servedUserName = -1;       /* Name */
1546 static int hf_qsig_mid_mailBox = -1;              /* String */
1547 static int hf_qsig_mid_password = -1;             /* String */
1548 static int hf_qsig_mid_extensions = -1;           /* MIDExtensions */
1549 static int hf_qsig_mid_servedUserNr = -1;         /* PresentedAddressUnscreened */
1550 static int hf_qsig_mid_messageType = -1;          /* MessageType */
1551 static int hf_qsig_mid_messageCentreID = -1;      /* MsgCentreId */
1552 static int hf_qsig_mid_stringBmp = -1;            /* BMPString */
1553 static int hf_qsig_mid_stringUtf8 = -1;           /* UTF8String */
1554 static int hf_qsig_mid_none = -1;                 /* NULL */
1555 static int hf_qsig_mid_extension = -1;            /* Extension */
1556 static int hf_qsig_mid_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1557 static int hf_qsig_mid_multipleExtension_item = -1;  /* Extension */
1558
1559 /*--- End of included file: packet-qsig-hf.c ---*/
1560 #line 293 "packet-qsig-template.c"
1561
1562 static int *hf_qsig_ie_type_arr[] = {
1563   NULL,
1564   NULL,
1565   NULL,
1566   NULL,
1567   &hf_qsig_ie_type_cs4,
1568   &hf_qsig_ie_type_cs5,
1569   NULL,
1570   NULL,
1571 };
1572
1573 /* Initialize the subtree pointers */
1574 static gint ett_qsig = -1;
1575 static gint ett_qsig_ie = -1;
1576 static gint ett_qsig_unknown_extension = -1;
1577
1578 /*--- Included file: packet-qsig-ett.c ---*/
1579 #line 1 "packet-qsig-ett.c"
1580
1581 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
1582
1583 static gint ett_qsig_Extension = -1;
1584 static gint ett_qsig_PresentedAddressScreened = -1;
1585 static gint ett_qsig_PresentedAddressUnscreened = -1;
1586 static gint ett_qsig_PresentedNumberScreened = -1;
1587 static gint ett_qsig_PresentedNumberUnscreened = -1;
1588 static gint ett_qsig_AddressScreened = -1;
1589 static gint ett_qsig_NumberScreened = -1;
1590 static gint ett_qsig_Address = -1;
1591 static gint ett_qsig_PartyNumber = -1;
1592 static gint ett_qsig_PublicPartyNumber = -1;
1593 static gint ett_qsig_PrivatePartyNumber = -1;
1594 static gint ett_qsig_PartySubaddress = -1;
1595 static gint ett_qsig_UserSpecifiedSubaddress = -1;
1596
1597 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
1598
1599 static gint ett_qsig_na_NameArg = -1;
1600 static gint ett_qsig_na_T_nameSequence = -1;
1601 static gint ett_qsig_na_NameExtension = -1;
1602 static gint ett_qsig_na_SEQUENCE_OF_Extension = -1;
1603 static gint ett_qsig_na_Name = -1;
1604 static gint ett_qsig_na_NamePresentationAllowed = -1;
1605 static gint ett_qsig_na_NamePresentationRestricted = -1;
1606 static gint ett_qsig_na_NameSet = -1;
1607
1608 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
1609
1610 static gint ett_qsig_cf_ARG_activateDiversionQ = -1;
1611 static gint ett_qsig_cf_ADExtension = -1;
1612 static gint ett_qsig_cf_SEQUENCE_OF_Extension = -1;
1613 static gint ett_qsig_cf_RES_activateDiversionQ = -1;
1614 static gint ett_qsig_cf_ARG_deactivateDiversionQ = -1;
1615 static gint ett_qsig_cf_DDExtension = -1;
1616 static gint ett_qsig_cf_RES_deactivateDiversionQ = -1;
1617 static gint ett_qsig_cf_ARG_interrogateDiversionQ = -1;
1618 static gint ett_qsig_cf_IDExtension = -1;
1619 static gint ett_qsig_cf_ARG_checkRestriction = -1;
1620 static gint ett_qsig_cf_CHRExtension = -1;
1621 static gint ett_qsig_cf_RES_checkRestriction = -1;
1622 static gint ett_qsig_cf_ARG_callRerouteing = -1;
1623 static gint ett_qsig_cf_CRRExtension = -1;
1624 static gint ett_qsig_cf_RES_callRerouteing = -1;
1625 static gint ett_qsig_cf_ARG_divertingLegInformation1 = -1;
1626 static gint ett_qsig_cf_DLI1Extension = -1;
1627 static gint ett_qsig_cf_ARG_divertingLegInformation2 = -1;
1628 static gint ett_qsig_cf_DLI2Extension = -1;
1629 static gint ett_qsig_cf_ARG_divertingLegInformation3 = -1;
1630 static gint ett_qsig_cf_DLI3Extension = -1;
1631 static gint ett_qsig_cf_ARG_cfnrDivertedLegFailed = -1;
1632 static gint ett_qsig_cf_IntResultList = -1;
1633 static gint ett_qsig_cf_IntResult = -1;
1634 static gint ett_qsig_cf_IRExtension = -1;
1635
1636 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
1637
1638 static gint ett_qsig_pr_PRProposeArg = -1;
1639 static gint ett_qsig_pr_PRPExtension = -1;
1640 static gint ett_qsig_pr_SEQUENCE_OF_Extension = -1;
1641 static gint ett_qsig_pr_PRSetupArg = -1;
1642 static gint ett_qsig_pr_PRSExtension = -1;
1643 static gint ett_qsig_pr_PRRetainArg = -1;
1644 static gint ett_qsig_pr_PRRExtension = -1;
1645 static gint ett_qsig_pr_DummyResult = -1;
1646 static gint ett_qsig_pr_DummyArg = -1;
1647
1648 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
1649
1650 static gint ett_qsig_ct_DummyArg = -1;
1651 static gint ett_qsig_ct_SEQUENCE_OF_Extension = -1;
1652 static gint ett_qsig_ct_DummyRes = -1;
1653 static gint ett_qsig_ct_CTIdentifyRes = -1;
1654 static gint ett_qsig_ct_T_resultExtension = -1;
1655 static gint ett_qsig_ct_CTInitiateArg = -1;
1656 static gint ett_qsig_ct_CTIargumentExtension = -1;
1657 static gint ett_qsig_ct_CTSetupArg = -1;
1658 static gint ett_qsig_ct_CTSargumentExtension = -1;
1659 static gint ett_qsig_ct_CTActiveArg = -1;
1660 static gint ett_qsig_ct_CTAargumentExtension = -1;
1661 static gint ett_qsig_ct_CTCompleteArg = -1;
1662 static gint ett_qsig_ct_CTCargumentExtension = -1;
1663 static gint ett_qsig_ct_CTUpdateArg = -1;
1664 static gint ett_qsig_ct_CTUargumentExtension = -1;
1665 static gint ett_qsig_ct_SubaddressTransferArg = -1;
1666 static gint ett_qsig_ct_STargumentExtension = -1;
1667
1668 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
1669
1670 static gint ett_qsig_cc_CcRequestArg = -1;
1671 static gint ett_qsig_cc_CcRequestRes = -1;
1672 static gint ett_qsig_cc_CcOptionalArg = -1;
1673 static gint ett_qsig_cc_T_fullArg = -1;
1674 static gint ett_qsig_cc_CcExtension = -1;
1675 static gint ett_qsig_cc_SEQUENCE_OF_Extension = -1;
1676
1677 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
1678
1679 static gint ett_qsig_co_PathRetainArg = -1;
1680 static gint ett_qsig_co_T_extendedServiceList = -1;
1681 static gint ett_qsig_co_ServiceAvailableArg = -1;
1682 static gint ett_qsig_co_T_extendedServiceList_01 = -1;
1683 static gint ett_qsig_co_ServiceList = -1;
1684 static gint ett_qsig_co_DummyArg = -1;
1685 static gint ett_qsig_co_SEQUENCE_OF_Extension = -1;
1686 static gint ett_qsig_co_DummyRes = -1;
1687
1688 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
1689
1690 static gint ett_qsig_dnd_DummyArg = -1;
1691 static gint ett_qsig_dnd_SEQUENCE_OF_Extension = -1;
1692 static gint ett_qsig_dnd_DummyRes = -1;
1693 static gint ett_qsig_dnd_DNDActivateArg = -1;
1694 static gint ett_qsig_dnd_DNDAargumentExtension = -1;
1695 static gint ett_qsig_dnd_DNDActivateRes = -1;
1696 static gint ett_qsig_dnd_T_status = -1;
1697 static gint ett_qsig_dnd_T_status_item = -1;
1698 static gint ett_qsig_dnd_T_resultExtension = -1;
1699 static gint ett_qsig_dnd_DNDDeactivateArg = -1;
1700 static gint ett_qsig_dnd_DNDDargumentExtension = -1;
1701 static gint ett_qsig_dnd_DNDInterrogateArg = -1;
1702 static gint ett_qsig_dnd_DNDIargumentExtension = -1;
1703 static gint ett_qsig_dnd_DNDInterrogateRes = -1;
1704 static gint ett_qsig_dnd_T_status_01 = -1;
1705 static gint ett_qsig_dnd_T_status_item_01 = -1;
1706 static gint ett_qsig_dnd_T_resultExtension_01 = -1;
1707 static gint ett_qsig_dnd_DNDOverrideArg = -1;
1708 static gint ett_qsig_dnd_DNDOargumentExtension = -1;
1709 static gint ett_qsig_dnd_PathRetainArg = -1;
1710 static gint ett_qsig_dnd_T_extendedServiceList = -1;
1711 static gint ett_qsig_dnd_ServiceAvailableArg = -1;
1712 static gint ett_qsig_dnd_T_extendedServiceList_01 = -1;
1713 static gint ett_qsig_dnd_ServiceList = -1;
1714
1715 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
1716
1717 static gint ett_qsig_ci_PathRetainArg = -1;
1718 static gint ett_qsig_ci_T_extendedServiceList = -1;
1719 static gint ett_qsig_ci_ServiceAvailableArg = -1;
1720 static gint ett_qsig_ci_T_extendedServiceList_01 = -1;
1721 static gint ett_qsig_ci_ServiceList = -1;
1722 static gint ett_qsig_ci_DummyArg = -1;
1723 static gint ett_qsig_ci_SEQUENCE_OF_Extension = -1;
1724 static gint ett_qsig_ci_DummyRes = -1;
1725 static gint ett_qsig_ci_CIRequestArg = -1;
1726 static gint ett_qsig_ci_T_argumentExtension = -1;
1727 static gint ett_qsig_ci_CIRequestRes = -1;
1728 static gint ett_qsig_ci_T_resultExtension = -1;
1729 static gint ett_qsig_ci_CIGetCIPLRes = -1;
1730 static gint ett_qsig_ci_T_resultExtension_01 = -1;
1731
1732 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
1733
1734 static gint ett_qsig_aoc_AocRateArg = -1;
1735 static gint ett_qsig_aoc_T_aocRate = -1;
1736 static gint ett_qsig_aoc_T_rateArgExtension = -1;
1737 static gint ett_qsig_aoc_SEQUENCE_OF_Extension = -1;
1738 static gint ett_qsig_aoc_AocInterimArg = -1;
1739 static gint ett_qsig_aoc_T_interimCharge = -1;
1740 static gint ett_qsig_aoc_T_specificCurrency = -1;
1741 static gint ett_qsig_aoc_T_interimArgExtension = -1;
1742 static gint ett_qsig_aoc_AocFinalArg = -1;
1743 static gint ett_qsig_aoc_T_finalCharge = -1;
1744 static gint ett_qsig_aoc_T_specificCurrency_01 = -1;
1745 static gint ett_qsig_aoc_T_finalArgExtension = -1;
1746 static gint ett_qsig_aoc_AOCSCurrencyInfoList = -1;
1747 static gint ett_qsig_aoc_AOCSCurrencyInfo = -1;
1748 static gint ett_qsig_aoc_T_rateType = -1;
1749 static gint ett_qsig_aoc_DurationCurrency = -1;
1750 static gint ett_qsig_aoc_FlatRateCurrency = -1;
1751 static gint ett_qsig_aoc_VolumeRateCurrency = -1;
1752 static gint ett_qsig_aoc_RecordedCurrency = -1;
1753 static gint ett_qsig_aoc_Amount = -1;
1754 static gint ett_qsig_aoc_Time = -1;
1755 static gint ett_qsig_aoc_ChargingAssociation = -1;
1756 static gint ett_qsig_aoc_ChargeRequestArg = -1;
1757 static gint ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination = -1;
1758 static gint ett_qsig_aoc_T_chargeReqArgExtension = -1;
1759 static gint ett_qsig_aoc_ChargeRequestRes = -1;
1760 static gint ett_qsig_aoc_T_chargeReqResExtension = -1;
1761 static gint ett_qsig_aoc_DummyArg = -1;
1762 static gint ett_qsig_aoc_AocCompleteArg = -1;
1763 static gint ett_qsig_aoc_T_completeArgExtension = -1;
1764 static gint ett_qsig_aoc_AocCompleteRes = -1;
1765 static gint ett_qsig_aoc_T_completeResExtension = -1;
1766 static gint ett_qsig_aoc_AocDivChargeReqArg = -1;
1767 static gint ett_qsig_aoc_T_aocDivChargeReqArgExt = -1;
1768
1769 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1770
1771 static gint ett_qsig_re_ReAlertingArg = -1;
1772 static gint ett_qsig_re_T_argumentExtension = -1;
1773 static gint ett_qsig_re_SEQUENCE_OF_Extension = -1;
1774 static gint ett_qsig_re_ReAnswerArg = -1;
1775 static gint ett_qsig_re_T_argumentExtension_01 = -1;
1776
1777 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1778
1779 static gint ett_qsig_sync_SynchronizationReqArg = -1;
1780 static gint ett_qsig_sync_SynchronizationReqRes = -1;
1781 static gint ett_qsig_sync_SynchronizationInfoArg = -1;
1782 static gint ett_qsig_sync_ArgExtension = -1;
1783 static gint ett_qsig_sync_SEQUENCE_OF_Extension = -1;
1784
1785 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1786
1787 static gint ett_qsig_cint_CintInformation1Arg = -1;
1788 static gint ett_qsig_cint_CintInformation2Arg = -1;
1789 static gint ett_qsig_cint_CintCondArg = -1;
1790 static gint ett_qsig_cint_CintExtension = -1;
1791 static gint ett_qsig_cint_SEQUENCE_OF_Extension = -1;
1792
1793 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1794
1795 static gint ett_qsig_cmn_CmnArg = -1;
1796 static gint ett_qsig_cmn_T_extension = -1;
1797 static gint ett_qsig_cmn_SEQUENCE_OF_Extension = -1;
1798 static gint ett_qsig_cmn_DummyArg = -1;
1799 static gint ett_qsig_cmn_FeatureIdList = -1;
1800 static gint ett_qsig_cmn_EquipmentId = -1;
1801
1802 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1803
1804 static gint ett_qsig_cpi_CPIRequestArg = -1;
1805 static gint ett_qsig_cpi_T_argumentExtension = -1;
1806 static gint ett_qsig_cpi_SEQUENCE_OF_Extension = -1;
1807 static gint ett_qsig_cpi_CPIPRequestArg = -1;
1808 static gint ett_qsig_cpi_T_argumentExtension_01 = -1;
1809
1810 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1811
1812 static gint ett_qsig_pumr_PumRegistrArg = -1;
1813 static gint ett_qsig_pumr_RpumUserId = -1;
1814 static gint ett_qsig_pumr_T_userPin = -1;
1815 static gint ett_qsig_pumr_PumRegistrRes = -1;
1816 static gint ett_qsig_pumr_DummyRes = -1;
1817 static gint ett_qsig_pumr_SEQUENCE_OF_Extension = -1;
1818 static gint ett_qsig_pumr_PumDelRegArg = -1;
1819 static gint ett_qsig_pumr_XpumUserId = -1;
1820 static gint ett_qsig_pumr_PumDe_regArg = -1;
1821 static gint ett_qsig_pumr_DpumUserId = -1;
1822 static gint ett_qsig_pumr_T_userPin_01 = -1;
1823 static gint ett_qsig_pumr_PumInterrogArg = -1;
1824 static gint ett_qsig_pumr_IpumUserId = -1;
1825 static gint ett_qsig_pumr_T_userPin_02 = -1;
1826 static gint ett_qsig_pumr_PumInterrogRes = -1;
1827 static gint ett_qsig_pumr_PumInterrogRes_item = -1;
1828 static gint ett_qsig_pumr_SessionParams = -1;
1829 static gint ett_qsig_pumr_PumrExtension = -1;
1830
1831 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1832
1833 static gint ett_qsig_pumch_EnquiryArg = -1;
1834 static gint ett_qsig_pumch_DivertArg = -1;
1835 static gint ett_qsig_pumch_InformArg = -1;
1836 static gint ett_qsig_pumch_EnquiryRes = -1;
1837 static gint ett_qsig_pumch_CurrLocation = -1;
1838 static gint ett_qsig_pumch_CfuActivated = -1;
1839 static gint ett_qsig_pumch_DummyRes = -1;
1840 static gint ett_qsig_pumch_SEQUENCE_OF_Extension = -1;
1841 static gint ett_qsig_pumch_PumiExtension = -1;
1842 static gint ett_qsig_pumch_PumIdentity = -1;
1843 static gint ett_qsig_pumch_T_both = -1;
1844 static gint ett_qsig_pumch_PumoArg = -1;
1845 static gint ett_qsig_pumch_T_pumoaextension = -1;
1846
1847 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1848
1849 static gint ett_qsig_ssct_DummyArg = -1;
1850 static gint ett_qsig_ssct_SEQUENCE_OF_Extension = -1;
1851 static gint ett_qsig_ssct_DummyRes = -1;
1852 static gint ett_qsig_ssct_SSCTInitiateArg = -1;
1853 static gint ett_qsig_ssct_SSCTIargumentExtension = -1;
1854 static gint ett_qsig_ssct_SSCTSetupArg = -1;
1855 static gint ett_qsig_ssct_SSCTSargumentExtension = -1;
1856 static gint ett_qsig_ssct_SSCTDigitInfoArg = -1;
1857 static gint ett_qsig_ssct_SSCTDargumentExtension = -1;
1858
1859 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1860
1861 static gint ett_qsig_wtmlr_LocUpdArg = -1;
1862 static gint ett_qsig_wtmlr_DummyRes = -1;
1863 static gint ett_qsig_wtmlr_SEQUENCE_OF_Extension = -1;
1864 static gint ett_qsig_wtmlr_LocDelArg = -1;
1865 static gint ett_qsig_wtmlr_LocDeRegArg = -1;
1866 static gint ett_qsig_wtmlr_PisnEnqArg = -1;
1867 static gint ett_qsig_wtmlr_PisnEnqRes = -1;
1868 static gint ett_qsig_wtmlr_GetRRCInfArg = -1;
1869 static gint ett_qsig_wtmlr_GetRRCInfRes = -1;
1870 static gint ett_qsig_wtmlr_LocInfoCheckArg = -1;
1871 static gint ett_qsig_wtmlr_LocInfoCheckRes = -1;
1872 static gint ett_qsig_wtmlr_WtmUserId = -1;
1873 static gint ett_qsig_wtmlr_LrExtension = -1;
1874
1875 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1876
1877 static gint ett_qsig_wtmch_EnquiryArg = -1;
1878 static gint ett_qsig_wtmch_DivertArg = -1;
1879 static gint ett_qsig_wtmch_InformArg = -1;
1880 static gint ett_qsig_wtmch_EnquiryRes = -1;
1881 static gint ett_qsig_wtmch_CurrLocation = -1;
1882 static gint ett_qsig_wtmch_CfuActivated = -1;
1883 static gint ett_qsig_wtmch_DummyRes = -1;
1884 static gint ett_qsig_wtmch_SEQUENCE_OF_Extension = -1;
1885 static gint ett_qsig_wtmch_WtmiExtension = -1;
1886 static gint ett_qsig_wtmch_WtmIdentity = -1;
1887 static gint ett_qsig_wtmch_T_both = -1;
1888 static gint ett_qsig_wtmch_WtmoArg = -1;
1889 static gint ett_qsig_wtmch_T_wtmoaextension = -1;
1890
1891 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1892
1893 static gint ett_qsig_wtmau_AuthWtmArg = -1;
1894 static gint ett_qsig_wtmau_AuthWtmRes = -1;
1895 static gint ett_qsig_wtmau_WtatParamArg = -1;
1896 static gint ett_qsig_wtmau_WtatParamRes = -1;
1897 static gint ett_qsig_wtmau_WtanParamArg = -1;
1898 static gint ett_qsig_wtmau_WtmUserId = -1;
1899 static gint ett_qsig_wtmau_WtanParamRes = -1;
1900 static gint ett_qsig_wtmau_ARG_transferAuthParam = -1;
1901 static gint ett_qsig_wtmau_WtatParamInfo = -1;
1902 static gint ett_qsig_wtmau_T_wtatParamInfoChoice = -1;
1903 static gint ett_qsig_wtmau_WtanParamInfo = -1;
1904 static gint ett_qsig_wtmau_AuthSessionKeyInfo = -1;
1905 static gint ett_qsig_wtmau_CalcWtatInfo = -1;
1906 static gint ett_qsig_wtmau_CalcWtatInfoUnit = -1;
1907 static gint ett_qsig_wtmau_CalcWtanInfo = -1;
1908 static gint ett_qsig_wtmau_DummyExtension = -1;
1909 static gint ett_qsig_wtmau_SEQUENCE_OF_Extension = -1;
1910 static gint ett_qsig_wtmau_AuthAlgorithm = -1;
1911
1912 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1913
1914 static gint ett_qsig_sd_DisplayArg = -1;
1915 static gint ett_qsig_sd_DisplayString = -1;
1916 static gint ett_qsig_sd_KeypadArg = -1;
1917 static gint ett_qsig_sd_SDExtension = -1;
1918 static gint ett_qsig_sd_SEQUENCE_OF_Extension = -1;
1919
1920 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1921
1922 static gint ett_qsig_cidl_CallIdentificationAssignArg = -1;
1923 static gint ett_qsig_cidl_CallIdentificationUpdateArg = -1;
1924 static gint ett_qsig_cidl_CallIdentificationData = -1;
1925 static gint ett_qsig_cidl_T_linkageID = -1;
1926 static gint ett_qsig_cidl_ExtensionType = -1;
1927 static gint ett_qsig_cidl_SEQUENCE_OF_Extension = -1;
1928
1929 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1930
1931 static gint ett_qsig_sms_SmsSubmitArg = -1;
1932 static gint ett_qsig_sms_SmsSubmitRes = -1;
1933 static gint ett_qsig_sms_SmsDeliverArg = -1;
1934 static gint ett_qsig_sms_SmsDeliverRes = -1;
1935 static gint ett_qsig_sms_SmsStatusReportArg = -1;
1936 static gint ett_qsig_sms_SmsStatusReportRes = -1;
1937 static gint ett_qsig_sms_SmsCommandArg = -1;
1938 static gint ett_qsig_sms_SmsCommandRes = -1;
1939 static gint ett_qsig_sms_ScAlertArg = -1;
1940 static gint ett_qsig_sms_DummyRes = -1;
1941 static gint ett_qsig_sms_SmSubmitParameter = -1;
1942 static gint ett_qsig_sms_SmDeliverParameter = -1;
1943 static gint ett_qsig_sms_SmsDeliverResChoice = -1;
1944 static gint ett_qsig_sms_ResChoiceSeq = -1;
1945 static gint ett_qsig_sms_SmsStatusReportResponseChoice = -1;
1946 static gint ett_qsig_sms_SmsExtension = -1;
1947 static gint ett_qsig_sms_SEQUENCE_OF_Extension = -1;
1948 static gint ett_qsig_sms_ValidityPeriod = -1;
1949 static gint ett_qsig_sms_ValidityPeriodEnh = -1;
1950 static gint ett_qsig_sms_EnhancedVP = -1;
1951 static gint ett_qsig_sms_UserData = -1;
1952 static gint ett_qsig_sms_ShortMessageText = -1;
1953 static gint ett_qsig_sms_UserDataHeader = -1;
1954 static gint ett_qsig_sms_UserDataHeaderChoice = -1;
1955 static gint ett_qsig_sms_SmscControlParameterHeader = -1;
1956 static gint ett_qsig_sms_Concatenated8BitSMHeader = -1;
1957 static gint ett_qsig_sms_Concatenated16BitSMHeader = -1;
1958 static gint ett_qsig_sms_ApplicationPort8BitHeader = -1;
1959 static gint ett_qsig_sms_ApplicationPort16BitHeader = -1;
1960 static gint ett_qsig_sms_GenericUserValue = -1;
1961 static gint ett_qsig_sms_PAR_smsDeliverError = -1;
1962 static gint ett_qsig_sms_PAR_smsSubmitError = -1;
1963 static gint ett_qsig_sms_PAR_smsStatusReportError = -1;
1964 static gint ett_qsig_sms_PAR_smsCommandError = -1;
1965
1966 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1967
1968 static gint ett_qsig_mcr_MCRequestArg = -1;
1969 static gint ett_qsig_mcr_MCRequestResult = -1;
1970 static gint ett_qsig_mcr_MCInformArg = -1;
1971 static gint ett_qsig_mcr_MCAlertingArg = -1;
1972 static gint ett_qsig_mcr_CallType = -1;
1973 static gint ett_qsig_mcr_Correlation = -1;
1974 static gint ett_qsig_mcr_MCRExtensions = -1;
1975 static gint ett_qsig_mcr_SEQUENCE_OF_Extension = -1;
1976
1977 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1978
1979 static gint ett_qsig_mcm_MCMailboxFullArg = -1;
1980 static gint ett_qsig_mcm_MailboxFullFor = -1;
1981 static gint ett_qsig_mcm_MailboxFullPar = -1;
1982 static gint ett_qsig_mcm_MCMServiceArg = -1;
1983 static gint ett_qsig_mcm_MCMChange = -1;
1984 static gint ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo = -1;
1985 static gint ett_qsig_mcm_SEQUENCE_OF_MessageType = -1;
1986 static gint ett_qsig_mcm_MCMServiceInfo = -1;
1987 static gint ett_qsig_mcm_MCMInterrogateArg = -1;
1988 static gint ett_qsig_mcm_MCMInterrogateRes = -1;
1989 static gint ett_qsig_mcm_MCMNewMsgArg = -1;
1990 static gint ett_qsig_mcm_MCMNewArgumentExt = -1;
1991 static gint ett_qsig_mcm_SEQUENCE_OF_Extension = -1;
1992 static gint ett_qsig_mcm_MCMNoNewMsgArg = -1;
1993 static gint ett_qsig_mcm_MCMNoNewArgumentExt = -1;
1994 static gint ett_qsig_mcm_MCMUpdateArg = -1;
1995 static gint ett_qsig_mcm_MCMUpdateReqArg = -1;
1996 static gint ett_qsig_mcm_MCMUpdArgArgumentExt = -1;
1997 static gint ett_qsig_mcm_MCMUpdateReqRes = -1;
1998 static gint ett_qsig_mcm_MCMUpdateReqResElt = -1;
1999 static gint ett_qsig_mcm_MCMUpdResArgumentExt = -1;
2000 static gint ett_qsig_mcm_PartyInfo = -1;
2001 static gint ett_qsig_mcm_UpdateInfo = -1;
2002 static gint ett_qsig_mcm_AllMsgInfo = -1;
2003 static gint ett_qsig_mcm_MessageInfo = -1;
2004 static gint ett_qsig_mcm_CompleteInfo = -1;
2005 static gint ett_qsig_mcm_AddressHeader = -1;
2006 static gint ett_qsig_mcm_CompressedInfo = -1;
2007 static gint ett_qsig_mcm_MsgCentreId = -1;
2008 static gint ett_qsig_mcm_MCMExtensions = -1;
2009
2010 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
2011
2012 static gint ett_qsig_mid_MIDMailboxAuthArg = -1;
2013 static gint ett_qsig_mid_MIDMailboxIDArg = -1;
2014 static gint ett_qsig_mid_PartyInfo = -1;
2015 static gint ett_qsig_mid_String = -1;
2016 static gint ett_qsig_mid_MIDExtensions = -1;
2017 static gint ett_qsig_mid_SEQUENCE_OF_Extension = -1;
2018
2019 /*--- End of included file: packet-qsig-ett.c ---*/
2020 #line 310 "packet-qsig-template.c"
2021
2022 /* Preferences */
2023
2024 /* Global variables */
2025 static const char *extension_oid = NULL;
2026
2027 /* Dissector tables */
2028 static dissector_table_t extension_dissector_table;
2029
2030
2031 /*--- Included file: packet-qsig-fn.c ---*/
2032 #line 1 "packet-qsig-fn.c"
2033
2034 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
2035
2036
2037
2038 static int
2039 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_) {
2040   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &extension_oid);
2041
2042   return offset;
2043 }
2044
2045
2046
2047 static int
2048 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_) {
2049 #line 146 "qsig.cnf"
2050     tvbuff_t *next_tvb;
2051
2052     next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
2053     if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) {
2054         proto_item *item=NULL;
2055         proto_tree *next_tree=NULL;
2056
2057         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);
2058         if(item){
2059             next_tree=proto_item_add_subtree(item, ett_qsig_unknown_extension);
2060         }
2061         dissect_unknown_ber(actx->pinfo, next_tvb, offset, next_tree);
2062     }
2063
2064     offset+=tvb_length_remaining(tvb, offset);
2065
2066
2067   return offset;
2068 }
2069
2070
2071 static const ber_sequence_t qsig_Extension_sequence[] = {
2072   { &hf_qsig_extensionId    , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionId },
2073   { &hf_qsig_extensionArgument, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionArgument },
2074   { NULL, 0, 0, 0, NULL }
2075 };
2076
2077 static int
2078 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_) {
2079 #line 143 "qsig.cnf"
2080   extension_oid = NULL;
2081
2082   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2083                                    qsig_Extension_sequence, hf_index, ett_qsig_Extension);
2084
2085   return offset;
2086 }
2087
2088
2089
2090 static int
2091 dissect_qsig_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2092   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2093                                        NULL);
2094
2095   return offset;
2096 }
2097
2098
2099
2100 static int
2101 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_) {
2102   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2103                                       hf_index, BER_CLASS_APP, 0, TRUE, dissect_qsig_OCTET_STRING);
2104
2105   return offset;
2106 }
2107
2108
2109
2110 static int
2111 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_) {
2112   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
2113                                             actx, tree, tvb, offset, hf_index,
2114                                             NULL);
2115
2116   return offset;
2117 }
2118
2119
2120 static const value_string qsig_PublicTypeOfNumber_vals[] = {
2121   {   0, "unknown" },
2122   {   1, "internationalNumber" },
2123   {   2, "nationalNumber" },
2124   {   3, "networkSpecificNumber" },
2125   {   4, "subscriberNumber" },
2126   {   6, "abbreviatedNumber" },
2127   { 0, NULL }
2128 };
2129
2130
2131 static int
2132 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_) {
2133   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2134                                   NULL);
2135
2136   return offset;
2137 }
2138
2139
2140 static const ber_sequence_t qsig_PublicPartyNumber_sequence[] = {
2141   { &hf_qsig_publicTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PublicTypeOfNumber },
2142   { &hf_qsig_publicNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
2143   { NULL, 0, 0, 0, NULL }
2144 };
2145
2146 static int
2147 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_) {
2148   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2149                                    qsig_PublicPartyNumber_sequence, hf_index, ett_qsig_PublicPartyNumber);
2150
2151   return offset;
2152 }
2153
2154
2155 static const value_string qsig_PrivateTypeOfNumber_vals[] = {
2156   {   0, "unknown" },
2157   {   1, "level2RegionalNumber" },
2158   {   2, "level1RegionalNumber" },
2159   {   3, "pISNSpecificNumber" },
2160   {   4, "localNumber" },
2161   {   6, "abbreviatedNumber" },
2162   { 0, NULL }
2163 };
2164
2165
2166 static int
2167 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_) {
2168   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2169                                   NULL);
2170
2171   return offset;
2172 }
2173
2174
2175 static const ber_sequence_t qsig_PrivatePartyNumber_sequence[] = {
2176   { &hf_qsig_privateTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PrivateTypeOfNumber },
2177   { &hf_qsig_privateNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
2178   { NULL, 0, 0, 0, NULL }
2179 };
2180
2181 static int
2182 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_) {
2183   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2184                                    qsig_PrivatePartyNumber_sequence, hf_index, ett_qsig_PrivatePartyNumber);
2185
2186   return offset;
2187 }
2188
2189
2190 static const value_string qsig_PartyNumber_vals[] = {
2191   {   0, "unknownPartyNumber" },
2192   {   1, "publicPartyNumber" },
2193   {   3, "dataPartyNumber" },
2194   {   4, "telexPartyNumber" },
2195   {   5, "privatePartyNumber" },
2196   {   8, "nationalStandardPartyNumber" },
2197   { 0, NULL }
2198 };
2199
2200 static const ber_choice_t qsig_PartyNumber_choice[] = {
2201   {   0, &hf_qsig_unknownPartyNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2202   {   1, &hf_qsig_publicPartyNumber, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_PublicPartyNumber },
2203   {   3, &hf_qsig_dataPartyNumber, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2204   {   4, &hf_qsig_telexPartyNumber, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2205   {   5, &hf_qsig_privatePartyNumber, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_PrivatePartyNumber },
2206   {   8, &hf_qsig_nationalStandardPartyNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2207   { 0, NULL, 0, 0, 0, NULL }
2208 };
2209
2210 static int
2211 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_) {
2212   offset = dissect_ber_choice(actx, tree, tvb, offset,
2213                                  qsig_PartyNumber_choice, hf_index, ett_qsig_PartyNumber,
2214                                  NULL);
2215
2216   return offset;
2217 }
2218
2219
2220 static const value_string qsig_ScreeningIndicator_vals[] = {
2221   {   0, "userProvidedNotScreened" },
2222   {   1, "userProvidedVerifiedAndPassed" },
2223   {   2, "userProvidedVerifiedAndFailed" },
2224   {   3, "networkProvided" },
2225   { 0, NULL }
2226 };
2227
2228
2229 static int
2230 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_) {
2231   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2232                                   NULL);
2233
2234   return offset;
2235 }
2236
2237
2238
2239 static int
2240 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_) {
2241   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2242                                        NULL);
2243
2244   return offset;
2245 }
2246
2247
2248
2249 static int
2250 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_) {
2251   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2252
2253   return offset;
2254 }
2255
2256
2257 static const ber_sequence_t qsig_UserSpecifiedSubaddress_sequence[] = {
2258   { &hf_qsig_subaddressInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_SubaddressInformation },
2259   { &hf_qsig_oddCountIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_BOOLEAN },
2260   { NULL, 0, 0, 0, NULL }
2261 };
2262
2263 static int
2264 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_) {
2265   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2266                                    qsig_UserSpecifiedSubaddress_sequence, hf_index, ett_qsig_UserSpecifiedSubaddress);
2267
2268   return offset;
2269 }
2270
2271
2272
2273 static int
2274 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_) {
2275   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2276                                        NULL);
2277
2278   return offset;
2279 }
2280
2281
2282 static const value_string qsig_PartySubaddress_vals[] = {
2283   {   0, "userSpecifiedSubaddress" },
2284   {   1, "nSAPSubaddress" },
2285   { 0, NULL }
2286 };
2287
2288 static const ber_choice_t qsig_PartySubaddress_choice[] = {
2289   {   0, &hf_qsig_userSpecifiedSubaddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_UserSpecifiedSubaddress },
2290   {   1, &hf_qsig_nSAPSubaddress , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_NSAPSubaddress },
2291   { 0, NULL, 0, 0, 0, NULL }
2292 };
2293
2294 static int
2295 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_) {
2296   offset = dissect_ber_choice(actx, tree, tvb, offset,
2297                                  qsig_PartySubaddress_choice, hf_index, ett_qsig_PartySubaddress,
2298                                  NULL);
2299
2300   return offset;
2301 }
2302
2303
2304 static const ber_sequence_t qsig_AddressScreened_sequence[] = {
2305   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2306   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2307   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2308   { NULL, 0, 0, 0, NULL }
2309 };
2310
2311 static int
2312 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_) {
2313   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2314                                    qsig_AddressScreened_sequence, hf_index, ett_qsig_AddressScreened);
2315
2316   return offset;
2317 }
2318
2319
2320
2321 static int
2322 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_) {
2323   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2324
2325   return offset;
2326 }
2327
2328
2329 static const value_string qsig_PresentedAddressScreened_vals[] = {
2330   {   0, "presentationAllowedAddressS" },
2331   {   1, "presentationRestricted" },
2332   {   2, "numberNotAvailableDueToInterworking" },
2333   {   3, "presentationRestrictedAddressS" },
2334   { 0, NULL }
2335 };
2336
2337 static const ber_choice_t qsig_PresentedAddressScreened_choice[] = {
2338   {   0, &hf_qsig_presentationAllowedAddressS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2339   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2340   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2341   {   3, &hf_qsig_presentationRestrictedAddressS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2342   { 0, NULL, 0, 0, 0, NULL }
2343 };
2344
2345 static int
2346 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_) {
2347   offset = dissect_ber_choice(actx, tree, tvb, offset,
2348                                  qsig_PresentedAddressScreened_choice, hf_index, ett_qsig_PresentedAddressScreened,
2349                                  NULL);
2350
2351   return offset;
2352 }
2353
2354
2355 static const ber_sequence_t qsig_Address_sequence[] = {
2356   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2357   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2358   { NULL, 0, 0, 0, NULL }
2359 };
2360
2361 static int
2362 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_) {
2363   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2364                                    qsig_Address_sequence, hf_index, ett_qsig_Address);
2365
2366   return offset;
2367 }
2368
2369
2370 static const value_string qsig_PresentedAddressUnscreened_vals[] = {
2371   {   0, "presentationAllowedAddressU" },
2372   {   1, "presentationRestricted" },
2373   {   2, "numberNotAvailableDueToInterworking" },
2374   {   3, "presentationRestrictedAddressU" },
2375   { 0, NULL }
2376 };
2377
2378 static const ber_choice_t qsig_PresentedAddressUnscreened_choice[] = {
2379   {   0, &hf_qsig_presentationAllowedAddressU, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2380   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2381   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2382   {   3, &hf_qsig_presentationRestrictedAddressU, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2383   { 0, NULL, 0, 0, 0, NULL }
2384 };
2385
2386 static int
2387 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_) {
2388   offset = dissect_ber_choice(actx, tree, tvb, offset,
2389                                  qsig_PresentedAddressUnscreened_choice, hf_index, ett_qsig_PresentedAddressUnscreened,
2390                                  NULL);
2391
2392   return offset;
2393 }
2394
2395
2396 static const ber_sequence_t qsig_NumberScreened_sequence[] = {
2397   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2398   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2399   { NULL, 0, 0, 0, NULL }
2400 };
2401
2402 static int
2403 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_) {
2404   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2405                                    qsig_NumberScreened_sequence, hf_index, ett_qsig_NumberScreened);
2406
2407   return offset;
2408 }
2409
2410
2411 static const value_string qsig_PresentedNumberScreened_vals[] = {
2412   {   0, "presentationAllowedAddressNS" },
2413   {   1, "presentationRestricted" },
2414   {   2, "numberNotAvailableDueToInterworking" },
2415   {   3, "presentationRestrictedAddressNS" },
2416   { 0, NULL }
2417 };
2418
2419 static const ber_choice_t qsig_PresentedNumberScreened_choice[] = {
2420   {   0, &hf_qsig_presentationAllowedAddressNS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2421   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2422   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2423   {   3, &hf_qsig_presentationRestrictedAddressNS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2424   { 0, NULL, 0, 0, 0, NULL }
2425 };
2426
2427 static int
2428 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_) {
2429   offset = dissect_ber_choice(actx, tree, tvb, offset,
2430                                  qsig_PresentedNumberScreened_choice, hf_index, ett_qsig_PresentedNumberScreened,
2431                                  NULL);
2432
2433   return offset;
2434 }
2435
2436
2437 static const value_string qsig_PresentedNumberUnscreened_vals[] = {
2438   {   0, "presentationAllowedAddressNU" },
2439   {   1, "presentationRestricted" },
2440   {   2, "numberNotAvailableDueToInterworking" },
2441   {   3, "presentationRestrictedAddressNU" },
2442   { 0, NULL }
2443 };
2444
2445 static const ber_choice_t qsig_PresentedNumberUnscreened_choice[] = {
2446   {   0, &hf_qsig_presentationAllowedAddressNU, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
2447   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2448   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2449   {   3, &hf_qsig_presentationRestrictedAddressNU, BER_CLASS_CON, 3, 0, dissect_qsig_PartyNumber },
2450   { 0, NULL, 0, 0, 0, NULL }
2451 };
2452
2453 static int
2454 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_) {
2455   offset = dissect_ber_choice(actx, tree, tvb, offset,
2456                                  qsig_PresentedNumberUnscreened_choice, hf_index, ett_qsig_PresentedNumberUnscreened,
2457                                  NULL);
2458
2459   return offset;
2460 }
2461
2462
2463
2464 static int
2465 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_) {
2466   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2467
2468   return offset;
2469 }
2470
2471
2472 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
2473
2474
2475
2476 static int
2477 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_) {
2478   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2479                                        NULL);
2480
2481   return offset;
2482 }
2483
2484
2485 static const value_string qsig_na_CharacterSet_vals[] = {
2486   {   0, "unknown" },
2487   {   1, "iso8859-1" },
2488   {   3, "iso8859-2" },
2489   {   4, "iso8859-3" },
2490   {   5, "iso8859-4" },
2491   {   6, "iso8859-5" },
2492   {   7, "iso8859-7" },
2493   {   8, "iso10646-BmpString" },
2494   {   9, "iso10646-utf-8String" },
2495   { 0, NULL }
2496 };
2497
2498
2499 static int
2500 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_) {
2501   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2502                                                 NULL);
2503
2504   return offset;
2505 }
2506
2507
2508 static const ber_sequence_t qsig_na_NameSet_sequence[] = {
2509   { &hf_qsig_na_nameData    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameData },
2510   { &hf_qsig_na_characterSet, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_CharacterSet },
2511   { NULL, 0, 0, 0, NULL }
2512 };
2513
2514 static int
2515 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_) {
2516   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2517                                    qsig_na_NameSet_sequence, hf_index, ett_qsig_na_NameSet);
2518
2519   return offset;
2520 }
2521
2522
2523 static const value_string qsig_na_NamePresentationAllowed_vals[] = {
2524   {   0, "namePresentationAllowedSimple" },
2525   {   1, "namePresentationAllowedExtended" },
2526   { 0, NULL }
2527 };
2528
2529 static const ber_choice_t qsig_na_NamePresentationAllowed_choice[] = {
2530   {   0, &hf_qsig_na_namePresentationAllowedSimple, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2531   {   1, &hf_qsig_na_namePresentationAllowedExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2532   { 0, NULL, 0, 0, 0, NULL }
2533 };
2534
2535 static int
2536 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_) {
2537   offset = dissect_ber_choice(actx, tree, tvb, offset,
2538                                  qsig_na_NamePresentationAllowed_choice, hf_index, ett_qsig_na_NamePresentationAllowed,
2539                                  NULL);
2540
2541   return offset;
2542 }
2543
2544
2545
2546 static int
2547 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_) {
2548   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2549
2550   return offset;
2551 }
2552
2553
2554 static const value_string qsig_na_NamePresentationRestricted_vals[] = {
2555   {   2, "namePresentationRestrictedSimple" },
2556   {   3, "namePresentationRestrictedExtended" },
2557   {   7, "namePresentationRestrictedNull" },
2558   { 0, NULL }
2559 };
2560
2561 static const ber_choice_t qsig_na_NamePresentationRestricted_choice[] = {
2562   {   2, &hf_qsig_na_namePresentationRestrictedSimple, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2563   {   3, &hf_qsig_na_namePresentationRestrictedExtended, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2564   {   7, &hf_qsig_na_namePresentationRestrictedNull, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_na_NULL },
2565   { 0, NULL, 0, 0, 0, NULL }
2566 };
2567
2568 static int
2569 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_) {
2570   offset = dissect_ber_choice(actx, tree, tvb, offset,
2571                                  qsig_na_NamePresentationRestricted_choice, hf_index, ett_qsig_na_NamePresentationRestricted,
2572                                  NULL);
2573
2574   return offset;
2575 }
2576
2577
2578
2579 static int
2580 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_) {
2581   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2582                                       hf_index, BER_CLASS_CON, 4, TRUE, dissect_qsig_na_NULL);
2583
2584   return offset;
2585 }
2586
2587
2588 static const ber_choice_t qsig_na_Name_choice[] = {
2589   {   0, &hf_qsig_na_namePresentationAllowed, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationAllowed },
2590   {   1, &hf_qsig_na_namePresentationRestricted, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationRestricted },
2591   {   2, &hf_qsig_na_nameNotAvailable, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameNotAvailable },
2592   { 0, NULL, 0, 0, 0, NULL }
2593 };
2594
2595 int
2596 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_) {
2597   offset = dissect_ber_choice(actx, tree, tvb, offset,
2598                                  qsig_na_Name_choice, hf_index, ett_qsig_na_Name,
2599                                  NULL);
2600
2601   return offset;
2602 }
2603
2604
2605 static const ber_sequence_t qsig_na_SEQUENCE_OF_Extension_sequence_of[1] = {
2606   { &hf_qsig_na_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2607 };
2608
2609 static int
2610 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_) {
2611   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2612                                       qsig_na_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_na_SEQUENCE_OF_Extension);
2613
2614   return offset;
2615 }
2616
2617
2618 static const value_string qsig_na_NameExtension_vals[] = {
2619   {   5, "single" },
2620   {   6, "multiple" },
2621   { 0, NULL }
2622 };
2623
2624 static const ber_choice_t qsig_na_NameExtension_choice[] = {
2625   {   5, &hf_qsig_na_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2626   {   6, &hf_qsig_na_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_na_SEQUENCE_OF_Extension },
2627   { 0, NULL, 0, 0, 0, NULL }
2628 };
2629
2630 static int
2631 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_) {
2632   offset = dissect_ber_choice(actx, tree, tvb, offset,
2633                                  qsig_na_NameExtension_choice, hf_index, ett_qsig_na_NameExtension,
2634                                  NULL);
2635
2636   return offset;
2637 }
2638
2639
2640 static const ber_sequence_t qsig_na_T_nameSequence_sequence[] = {
2641   { &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_Name },
2642   { &hf_qsig_na_extensionNA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_NameExtension },
2643   { NULL, 0, 0, 0, NULL }
2644 };
2645
2646 static int
2647 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_) {
2648   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2649                                    qsig_na_T_nameSequence_sequence, hf_index, ett_qsig_na_T_nameSequence);
2650
2651   return offset;
2652 }
2653
2654
2655 static const value_string qsig_na_NameArg_vals[] = {
2656   {   0, "name" },
2657   {   1, "nameSequence" },
2658   { 0, NULL }
2659 };
2660
2661 static const ber_choice_t qsig_na_NameArg_choice[] = {
2662   {   0, &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
2663   {   1, &hf_qsig_na_nameSequence, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_na_T_nameSequence },
2664   { 0, NULL, 0, 0, 0, NULL }
2665 };
2666
2667 static int
2668 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_) {
2669   offset = dissect_ber_choice(actx, tree, tvb, offset,
2670                                  qsig_na_NameArg_choice, hf_index, ett_qsig_na_NameArg,
2671                                  NULL);
2672
2673   return offset;
2674 }
2675
2676 /*--- PDUs ---*/
2677
2678 static int dissect_qsig_na_NameArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2679   int offset = 0;
2680   asn1_ctx_t asn1_ctx;
2681   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
2682   offset = dissect_qsig_na_NameArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_na_qsig_na_NameArg_PDU);
2683   return offset;
2684 }
2685
2686
2687 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
2688
2689
2690 static const value_string qsig_cf_Procedure_vals[] = {
2691   {   0, "cfu" },
2692   {   1, "cfb" },
2693   {   2, "cfnr" },
2694   { 0, NULL }
2695 };
2696
2697
2698 static int
2699 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_) {
2700   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2701                                   NULL);
2702
2703   return offset;
2704 }
2705
2706
2707 static const value_string qsig_cf_BasicService_vals[] = {
2708   {   0, "allServices" },
2709   {   1, "speech" },
2710   {   2, "unrestrictedDigitalInformation" },
2711   {   3, "audio3100Hz" },
2712   {  32, "telephony" },
2713   {  33, "teletex" },
2714   {  34, "telefaxGroup4Class1" },
2715   {  35, "videotexSyntaxBased" },
2716   {  36, "videotelephony" },
2717   { 0, NULL }
2718 };
2719
2720
2721 static int
2722 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_) {
2723   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2724                                   NULL);
2725
2726   return offset;
2727 }
2728
2729
2730 static const ber_sequence_t qsig_cf_SEQUENCE_OF_Extension_sequence_of[1] = {
2731   { &hf_qsig_cf_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2732 };
2733
2734 static int
2735 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_) {
2736   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2737                                       qsig_cf_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cf_SEQUENCE_OF_Extension);
2738
2739   return offset;
2740 }
2741
2742
2743 static const value_string qsig_cf_ADExtension_vals[] = {
2744   {   1, "single" },
2745   {   2, "multiple" },
2746   { 0, NULL }
2747 };
2748
2749 static const ber_choice_t qsig_cf_ADExtension_choice[] = {
2750   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2751   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2752   { 0, NULL, 0, 0, 0, NULL }
2753 };
2754
2755 static int
2756 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_) {
2757   offset = dissect_ber_choice(actx, tree, tvb, offset,
2758                                  qsig_cf_ADExtension_choice, hf_index, ett_qsig_cf_ADExtension,
2759                                  NULL);
2760
2761   return offset;
2762 }
2763
2764
2765 static const ber_sequence_t qsig_cf_ARG_activateDiversionQ_sequence[] = {
2766   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2767   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2768   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
2769   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2770   { &hf_qsig_cf_activatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2771   { &hf_qsig_cf_extensionAD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_ADExtension },
2772   { NULL, 0, 0, 0, NULL }
2773 };
2774
2775 static int
2776 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_) {
2777   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2778                                    qsig_cf_ARG_activateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_activateDiversionQ);
2779
2780   return offset;
2781 }
2782
2783
2784
2785 static int
2786 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_) {
2787   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2788
2789   return offset;
2790 }
2791
2792
2793 static const value_string qsig_cf_RES_activateDiversionQ_vals[] = {
2794   {   0, "null" },
2795   {   1, "single" },
2796   {   2, "multiple" },
2797   { 0, NULL }
2798 };
2799
2800 static const ber_choice_t qsig_cf_RES_activateDiversionQ_choice[] = {
2801   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2802   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2803   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2804   { 0, NULL, 0, 0, 0, NULL }
2805 };
2806
2807 static int
2808 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_) {
2809   offset = dissect_ber_choice(actx, tree, tvb, offset,
2810                                  qsig_cf_RES_activateDiversionQ_choice, hf_index, ett_qsig_cf_RES_activateDiversionQ,
2811                                  NULL);
2812
2813   return offset;
2814 }
2815
2816
2817 static const value_string qsig_cf_DDExtension_vals[] = {
2818   {   1, "single" },
2819   {   2, "multiple" },
2820   { 0, NULL }
2821 };
2822
2823 static const ber_choice_t qsig_cf_DDExtension_choice[] = {
2824   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2825   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2826   { 0, NULL, 0, 0, 0, NULL }
2827 };
2828
2829 static int
2830 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_) {
2831   offset = dissect_ber_choice(actx, tree, tvb, offset,
2832                                  qsig_cf_DDExtension_choice, hf_index, ett_qsig_cf_DDExtension,
2833                                  NULL);
2834
2835   return offset;
2836 }
2837
2838
2839 static const ber_sequence_t qsig_cf_ARG_deactivateDiversionQ_sequence[] = {
2840   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2841   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2842   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2843   { &hf_qsig_cf_deactivatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2844   { &hf_qsig_cf_extensionDD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DDExtension },
2845   { NULL, 0, 0, 0, NULL }
2846 };
2847
2848 static int
2849 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_) {
2850   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2851                                    qsig_cf_ARG_deactivateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_deactivateDiversionQ);
2852
2853   return offset;
2854 }
2855
2856
2857 static const value_string qsig_cf_RES_deactivateDiversionQ_vals[] = {
2858   {   0, "null" },
2859   {   1, "single" },
2860   {   2, "multiple" },
2861   { 0, NULL }
2862 };
2863
2864 static const ber_choice_t qsig_cf_RES_deactivateDiversionQ_choice[] = {
2865   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2866   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2867   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2868   { 0, NULL, 0, 0, 0, NULL }
2869 };
2870
2871 static int
2872 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_) {
2873   offset = dissect_ber_choice(actx, tree, tvb, offset,
2874                                  qsig_cf_RES_deactivateDiversionQ_choice, hf_index, ett_qsig_cf_RES_deactivateDiversionQ,
2875                                  NULL);
2876
2877   return offset;
2878 }
2879
2880
2881 static const value_string qsig_cf_IDExtension_vals[] = {
2882   {   1, "single" },
2883   {   2, "multiple" },
2884   { 0, NULL }
2885 };
2886
2887 static const ber_choice_t qsig_cf_IDExtension_choice[] = {
2888   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2889   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2890   { 0, NULL, 0, 0, 0, NULL }
2891 };
2892
2893 static int
2894 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_) {
2895   offset = dissect_ber_choice(actx, tree, tvb, offset,
2896                                  qsig_cf_IDExtension_choice, hf_index, ett_qsig_cf_IDExtension,
2897                                  NULL);
2898
2899   return offset;
2900 }
2901
2902
2903 static const ber_sequence_t qsig_cf_ARG_interrogateDiversionQ_sequence[] = {
2904   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2905   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2906   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2907   { &hf_qsig_cf_interrogatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2908   { &hf_qsig_cf_extensionID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IDExtension },
2909   { NULL, 0, 0, 0, NULL }
2910 };
2911
2912 static int
2913 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_) {
2914   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2915                                    qsig_cf_ARG_interrogateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_interrogateDiversionQ);
2916
2917   return offset;
2918 }
2919
2920
2921 static const value_string qsig_cf_CHRExtension_vals[] = {
2922   {   1, "single" },
2923   {   2, "multiple" },
2924   { 0, NULL }
2925 };
2926
2927 static const ber_choice_t qsig_cf_CHRExtension_choice[] = {
2928   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2929   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2930   { 0, NULL, 0, 0, 0, NULL }
2931 };
2932
2933 static int
2934 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_) {
2935   offset = dissect_ber_choice(actx, tree, tvb, offset,
2936                                  qsig_cf_CHRExtension_choice, hf_index, ett_qsig_cf_CHRExtension,
2937                                  NULL);
2938
2939   return offset;
2940 }
2941
2942
2943 static const ber_sequence_t qsig_cf_ARG_checkRestriction_sequence[] = {
2944   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2945   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2946   { &hf_qsig_cf_divertedToNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2947   { &hf_qsig_cf_extensionCHR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CHRExtension },
2948   { NULL, 0, 0, 0, NULL }
2949 };
2950
2951 static int
2952 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_) {
2953   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2954                                    qsig_cf_ARG_checkRestriction_sequence, hf_index, ett_qsig_cf_ARG_checkRestriction);
2955
2956   return offset;
2957 }
2958
2959
2960 static const value_string qsig_cf_RES_checkRestriction_vals[] = {
2961   {   0, "null" },
2962   {   1, "single" },
2963   {   2, "multiple" },
2964   { 0, NULL }
2965 };
2966
2967 static const ber_choice_t qsig_cf_RES_checkRestriction_choice[] = {
2968   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2969   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2970   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2971   { 0, NULL, 0, 0, 0, NULL }
2972 };
2973
2974 static int
2975 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_) {
2976   offset = dissect_ber_choice(actx, tree, tvb, offset,
2977                                  qsig_cf_RES_checkRestriction_choice, hf_index, ett_qsig_cf_RES_checkRestriction,
2978                                  NULL);
2979
2980   return offset;
2981 }
2982
2983
2984 static const value_string qsig_cf_DiversionReason_vals[] = {
2985   {   0, "unknown" },
2986   {   1, "cfu" },
2987   {   2, "cfb" },
2988   {   3, "cfnr" },
2989   { 0, NULL }
2990 };
2991
2992
2993 static int
2994 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_) {
2995   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2996                                   NULL);
2997
2998   return offset;
2999 }
3000
3001
3002
3003 static int
3004 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_) {
3005   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3006                                                 NULL);
3007
3008   return offset;
3009 }
3010
3011
3012 static const value_string qsig_cf_SubscriptionOption_vals[] = {
3013   {   0, "noNotification" },
3014   {   1, "notificationWithoutDivertedToNr" },
3015   {   2, "notificationWithDivertedToNr" },
3016   { 0, NULL }
3017 };
3018
3019
3020 static int
3021 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_) {
3022   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3023                                   NULL);
3024
3025   return offset;
3026 }
3027
3028
3029 static const value_string qsig_cf_CRRExtension_vals[] = {
3030   {   9, "single" },
3031   {  10, "multiple" },
3032   { 0, NULL }
3033 };
3034
3035 static const ber_choice_t qsig_cf_CRRExtension_choice[] = {
3036   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3037   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3038   { 0, NULL, 0, 0, 0, NULL }
3039 };
3040
3041 static int
3042 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_) {
3043   offset = dissect_ber_choice(actx, tree, tvb, offset,
3044                                  qsig_cf_CRRExtension_choice, hf_index, ett_qsig_cf_CRRExtension,
3045                                  NULL);
3046
3047   return offset;
3048 }
3049
3050
3051 static const ber_sequence_t qsig_cf_ARG_callRerouteing_sequence[] = {
3052   { &hf_qsig_cf_rerouteingReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3053   { &hf_qsig_cf_originalRerouteingReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3054   { &hf_qsig_cf_calledAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3055   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3056   { &hf_qsig_cf_pSS1InfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3057   { &hf_qsig_cf_lastRerouteingNr, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberUnscreened },
3058   { &hf_qsig_cf_subscriptionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SubscriptionOption },
3059   { &hf_qsig_cf_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
3060   { &hf_qsig_cf_callingNumber, BER_CLASS_CON, 4, 0, dissect_qsig_PresentedNumberScreened },
3061   { &hf_qsig_cf_callingName , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3062   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3063   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3064   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3065   { &hf_qsig_cf_extensionCRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CRRExtension },
3066   { NULL, 0, 0, 0, NULL }
3067 };
3068
3069 static int
3070 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_) {
3071   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3072                                    qsig_cf_ARG_callRerouteing_sequence, hf_index, ett_qsig_cf_ARG_callRerouteing);
3073
3074   return offset;
3075 }
3076
3077
3078 static const value_string qsig_cf_RES_callRerouteing_vals[] = {
3079   {   0, "null" },
3080   {   1, "single" },
3081   {   2, "multiple" },
3082   { 0, NULL }
3083 };
3084
3085 static const ber_choice_t qsig_cf_RES_callRerouteing_choice[] = {
3086   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3087   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3088   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3089   { 0, NULL, 0, 0, 0, NULL }
3090 };
3091
3092 static int
3093 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_) {
3094   offset = dissect_ber_choice(actx, tree, tvb, offset,
3095                                  qsig_cf_RES_callRerouteing_choice, hf_index, ett_qsig_cf_RES_callRerouteing,
3096                                  NULL);
3097
3098   return offset;
3099 }
3100
3101
3102 static const value_string qsig_cf_DLI1Extension_vals[] = {
3103   {   9, "single" },
3104   {  10, "multiple" },
3105   { 0, NULL }
3106 };
3107
3108 static const ber_choice_t qsig_cf_DLI1Extension_choice[] = {
3109   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3110   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3111   { 0, NULL, 0, 0, 0, NULL }
3112 };
3113
3114 static int
3115 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_) {
3116   offset = dissect_ber_choice(actx, tree, tvb, offset,
3117                                  qsig_cf_DLI1Extension_choice, hf_index, ett_qsig_cf_DLI1Extension,
3118                                  NULL);
3119
3120   return offset;
3121 }
3122
3123
3124 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation1_sequence[] = {
3125   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3126   { &hf_qsig_cf_subscriptionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_SubscriptionOption },
3127   { &hf_qsig_cf_nominatedNr , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3128   { &hf_qsig_cf_extensionDLI1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI1Extension },
3129   { NULL, 0, 0, 0, NULL }
3130 };
3131
3132 static int
3133 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_) {
3134   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3135                                    qsig_cf_ARG_divertingLegInformation1_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation1);
3136
3137   return offset;
3138 }
3139
3140
3141 static const value_string qsig_cf_DLI2Extension_vals[] = {
3142   {   5, "single" },
3143   {   6, "multiple" },
3144   { 0, NULL }
3145 };
3146
3147 static const ber_choice_t qsig_cf_DLI2Extension_choice[] = {
3148   {   5, &hf_qsig_cf_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3149   {   6, &hf_qsig_cf_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3150   { 0, NULL, 0, 0, 0, NULL }
3151 };
3152
3153 static int
3154 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_) {
3155   offset = dissect_ber_choice(actx, tree, tvb, offset,
3156                                  qsig_cf_DLI2Extension_choice, hf_index, ett_qsig_cf_DLI2Extension,
3157                                  NULL);
3158
3159   return offset;
3160 }
3161
3162
3163 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation2_sequence[] = {
3164   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3165   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3166   { &hf_qsig_cf_originalDiversionReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3167   { &hf_qsig_cf_divertingNr , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3168   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3169   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3170   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3171   { &hf_qsig_cf_extensionDLI2, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI2Extension },
3172   { NULL, 0, 0, 0, NULL }
3173 };
3174
3175 static int
3176 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_) {
3177   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3178                                    qsig_cf_ARG_divertingLegInformation2_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation2);
3179
3180   return offset;
3181 }
3182
3183
3184 static const value_string qsig_cf_DLI3Extension_vals[] = {
3185   {   1, "single" },
3186   {   2, "multiple" },
3187   { 0, NULL }
3188 };
3189
3190 static const ber_choice_t qsig_cf_DLI3Extension_choice[] = {
3191   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3192   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3193   { 0, NULL, 0, 0, 0, NULL }
3194 };
3195
3196 static int
3197 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_) {
3198   offset = dissect_ber_choice(actx, tree, tvb, offset,
3199                                  qsig_cf_DLI3Extension_choice, hf_index, ett_qsig_cf_DLI3Extension,
3200                                  NULL);
3201
3202   return offset;
3203 }
3204
3205
3206 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation3_sequence[] = {
3207   { &hf_qsig_cf_presentationAllowedIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentationAllowedIndicator },
3208   { &hf_qsig_cf_redirectionName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3209   { &hf_qsig_cf_extensionDLI3, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI3Extension },
3210   { NULL, 0, 0, 0, NULL }
3211 };
3212
3213 static int
3214 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_) {
3215   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3216                                    qsig_cf_ARG_divertingLegInformation3_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation3);
3217
3218   return offset;
3219 }
3220
3221
3222 static const value_string qsig_cf_ARG_cfnrDivertedLegFailed_vals[] = {
3223   {   0, "null" },
3224   {   1, "single" },
3225   {   2, "multiple" },
3226   { 0, NULL }
3227 };
3228
3229 static const ber_choice_t qsig_cf_ARG_cfnrDivertedLegFailed_choice[] = {
3230   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3231   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3232   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3233   { 0, NULL, 0, 0, 0, NULL }
3234 };
3235
3236 static int
3237 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_) {
3238   offset = dissect_ber_choice(actx, tree, tvb, offset,
3239                                  qsig_cf_ARG_cfnrDivertedLegFailed_choice, hf_index, ett_qsig_cf_ARG_cfnrDivertedLegFailed,
3240                                  NULL);
3241
3242   return offset;
3243 }
3244
3245
3246
3247 static int
3248 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_) {
3249   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
3250
3251   return offset;
3252 }
3253
3254
3255 static const value_string qsig_cf_IRExtension_vals[] = {
3256   {   1, "single" },
3257   {   2, "multiple" },
3258   { 0, NULL }
3259 };
3260
3261 static const ber_choice_t qsig_cf_IRExtension_choice[] = {
3262   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3263   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3264   { 0, NULL, 0, 0, 0, NULL }
3265 };
3266
3267 static int
3268 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_) {
3269   offset = dissect_ber_choice(actx, tree, tvb, offset,
3270                                  qsig_cf_IRExtension_choice, hf_index, ett_qsig_cf_IRExtension,
3271                                  NULL);
3272
3273   return offset;
3274 }
3275
3276
3277 static const ber_sequence_t qsig_cf_IntResult_sequence[] = {
3278   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3279   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
3280   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
3281   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3282   { &hf_qsig_cf_remoteEnabled, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BOOLEAN },
3283   { &hf_qsig_cf_extensionIR , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IRExtension },
3284   { NULL, 0, 0, 0, NULL }
3285 };
3286
3287 static int
3288 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_) {
3289   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3290                                    qsig_cf_IntResult_sequence, hf_index, ett_qsig_cf_IntResult);
3291
3292   return offset;
3293 }
3294
3295
3296 static const ber_sequence_t qsig_cf_IntResultList_set_of[1] = {
3297   { &hf_qsig_cf_IntResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_IntResult },
3298 };
3299
3300 static int
3301 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_) {
3302   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3303                                  qsig_cf_IntResultList_set_of, hf_index, ett_qsig_cf_IntResultList);
3304
3305   return offset;
3306 }
3307
3308 /*--- PDUs ---*/
3309
3310 static int dissect_qsig_cf_ARG_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3311   int offset = 0;
3312   asn1_ctx_t asn1_ctx;
3313   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3314   offset = dissect_qsig_cf_ARG_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU);
3315   return offset;
3316 }
3317 static int dissect_qsig_cf_RES_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3318   int offset = 0;
3319   asn1_ctx_t asn1_ctx;
3320   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3321   offset = dissect_qsig_cf_RES_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU);
3322   return offset;
3323 }
3324 static int dissect_qsig_cf_ARG_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3325   int offset = 0;
3326   asn1_ctx_t asn1_ctx;
3327   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3328   offset = dissect_qsig_cf_ARG_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU);
3329   return offset;
3330 }
3331 static int dissect_qsig_cf_RES_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3332   int offset = 0;
3333   asn1_ctx_t asn1_ctx;
3334   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3335   offset = dissect_qsig_cf_RES_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU);
3336   return offset;
3337 }
3338 static int dissect_qsig_cf_ARG_interrogateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3339   int offset = 0;
3340   asn1_ctx_t asn1_ctx;
3341   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3342   offset = dissect_qsig_cf_ARG_interrogateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU);
3343   return offset;
3344 }
3345 static int dissect_qsig_cf_IntResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3346   int offset = 0;
3347   asn1_ctx_t asn1_ctx;
3348   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3349   offset = dissect_qsig_cf_IntResultList(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_IntResultList_PDU);
3350   return offset;
3351 }
3352 static int dissect_qsig_cf_ARG_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3353   int offset = 0;
3354   asn1_ctx_t asn1_ctx;
3355   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3356   offset = dissect_qsig_cf_ARG_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU);
3357   return offset;
3358 }
3359 static int dissect_qsig_cf_RES_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3360   int offset = 0;
3361   asn1_ctx_t asn1_ctx;
3362   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3363   offset = dissect_qsig_cf_RES_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU);
3364   return offset;
3365 }
3366 static int dissect_qsig_cf_ARG_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3367   int offset = 0;
3368   asn1_ctx_t asn1_ctx;
3369   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3370   offset = dissect_qsig_cf_ARG_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU);
3371   return offset;
3372 }
3373 static int dissect_qsig_cf_RES_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3374   int offset = 0;
3375   asn1_ctx_t asn1_ctx;
3376   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3377   offset = dissect_qsig_cf_RES_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU);
3378   return offset;
3379 }
3380 static int dissect_qsig_cf_ARG_divertingLegInformation1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3381   int offset = 0;
3382   asn1_ctx_t asn1_ctx;
3383   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3384   offset = dissect_qsig_cf_ARG_divertingLegInformation1(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU);
3385   return offset;
3386 }
3387 static int dissect_qsig_cf_ARG_divertingLegInformation2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3388   int offset = 0;
3389   asn1_ctx_t asn1_ctx;
3390   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3391   offset = dissect_qsig_cf_ARG_divertingLegInformation2(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU);
3392   return offset;
3393 }
3394 static int dissect_qsig_cf_ARG_divertingLegInformation3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3395   int offset = 0;
3396   asn1_ctx_t asn1_ctx;
3397   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3398   offset = dissect_qsig_cf_ARG_divertingLegInformation3(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU);
3399   return offset;
3400 }
3401 static int dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3402   int offset = 0;
3403   asn1_ctx_t asn1_ctx;
3404   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3405   offset = dissect_qsig_cf_ARG_cfnrDivertedLegFailed(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU);
3406   return offset;
3407 }
3408 static int dissect_qsig_cf_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3409   int offset = 0;
3410   asn1_ctx_t asn1_ctx;
3411   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3412   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_Extension_PDU);
3413   return offset;
3414 }
3415
3416
3417 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
3418
3419
3420
3421 static int
3422 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_) {
3423   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3424                                             actx, tree, tvb, offset, hf_index,
3425                                             NULL);
3426
3427   return offset;
3428 }
3429
3430
3431 static const ber_sequence_t qsig_pr_SEQUENCE_OF_Extension_sequence_of[1] = {
3432   { &hf_qsig_pr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3433 };
3434
3435 static int
3436 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_) {
3437   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3438                                       qsig_pr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pr_SEQUENCE_OF_Extension);
3439
3440   return offset;
3441 }
3442
3443
3444 static const value_string qsig_pr_PRPExtension_vals[] = {
3445   {   1, "single" },
3446   {   2, "multiple" },
3447   { 0, NULL }
3448 };
3449
3450 static const ber_choice_t qsig_pr_PRPExtension_choice[] = {
3451   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3452   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3453   { 0, NULL, 0, 0, 0, NULL }
3454 };
3455
3456 static int
3457 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_) {
3458   offset = dissect_ber_choice(actx, tree, tvb, offset,
3459                                  qsig_pr_PRPExtension_choice, hf_index, ett_qsig_pr_PRPExtension,
3460                                  NULL);
3461
3462   return offset;
3463 }
3464
3465
3466 static const ber_sequence_t qsig_pr_PRProposeArg_sequence[] = {
3467   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3468   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3469   { &hf_qsig_pr_extensionPRP, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRPExtension },
3470   { NULL, 0, 0, 0, NULL }
3471 };
3472
3473 static int
3474 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_) {
3475   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3476                                    qsig_pr_PRProposeArg_sequence, hf_index, ett_qsig_pr_PRProposeArg);
3477
3478   return offset;
3479 }
3480
3481
3482 static const value_string qsig_pr_PRSExtension_vals[] = {
3483   {   1, "single" },
3484   {   2, "multiple" },
3485   { 0, NULL }
3486 };
3487
3488 static const ber_choice_t qsig_pr_PRSExtension_choice[] = {
3489   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3490   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3491   { 0, NULL, 0, 0, 0, NULL }
3492 };
3493
3494 static int
3495 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_) {
3496   offset = dissect_ber_choice(actx, tree, tvb, offset,
3497                                  qsig_pr_PRSExtension_choice, hf_index, ett_qsig_pr_PRSExtension,
3498                                  NULL);
3499
3500   return offset;
3501 }
3502
3503
3504 static const ber_sequence_t qsig_pr_PRSetupArg_sequence[] = {
3505   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3506   { &hf_qsig_pr_extensionPRS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRSExtension },
3507   { NULL, 0, 0, 0, NULL }
3508 };
3509
3510 static int
3511 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_) {
3512   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3513                                    qsig_pr_PRSetupArg_sequence, hf_index, ett_qsig_pr_PRSetupArg);
3514
3515   return offset;
3516 }
3517
3518
3519 static const value_string qsig_pr_PRRExtension_vals[] = {
3520   {   1, "single" },
3521   {   2, "multiple" },
3522   { 0, NULL }
3523 };
3524
3525 static const ber_choice_t qsig_pr_PRRExtension_choice[] = {
3526   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3527   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3528   { 0, NULL, 0, 0, 0, NULL }
3529 };
3530
3531 static int
3532 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_) {
3533   offset = dissect_ber_choice(actx, tree, tvb, offset,
3534                                  qsig_pr_PRRExtension_choice, hf_index, ett_qsig_pr_PRRExtension,
3535                                  NULL);
3536
3537   return offset;
3538 }
3539
3540
3541 static const ber_sequence_t qsig_pr_PRRetainArg_sequence[] = {
3542   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3543   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3544   { &hf_qsig_pr_extensionPRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRRExtension },
3545   { NULL, 0, 0, 0, NULL }
3546 };
3547
3548 static int
3549 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_) {
3550   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3551                                    qsig_pr_PRRetainArg_sequence, hf_index, ett_qsig_pr_PRRetainArg);
3552
3553   return offset;
3554 }
3555
3556
3557
3558 static int
3559 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_) {
3560   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3561
3562   return offset;
3563 }
3564
3565
3566 static const value_string qsig_pr_DummyResult_vals[] = {
3567   {   0, "null" },
3568   {   1, "single" },
3569   {   2, "multiple" },
3570   { 0, NULL }
3571 };
3572
3573 static const ber_choice_t qsig_pr_DummyResult_choice[] = {
3574   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3575   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3576   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3577   { 0, NULL, 0, 0, 0, NULL }
3578 };
3579
3580 static int
3581 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_) {
3582   offset = dissect_ber_choice(actx, tree, tvb, offset,
3583                                  qsig_pr_DummyResult_choice, hf_index, ett_qsig_pr_DummyResult,
3584                                  NULL);
3585
3586   return offset;
3587 }
3588
3589
3590 static const value_string qsig_pr_DummyArg_vals[] = {
3591   {   0, "null" },
3592   {   1, "single" },
3593   {   2, "multiple" },
3594   { 0, NULL }
3595 };
3596
3597 static const ber_choice_t qsig_pr_DummyArg_choice[] = {
3598   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3599   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3600   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3601   { 0, NULL, 0, 0, 0, NULL }
3602 };
3603
3604 static int
3605 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_) {
3606   offset = dissect_ber_choice(actx, tree, tvb, offset,
3607                                  qsig_pr_DummyArg_choice, hf_index, ett_qsig_pr_DummyArg,
3608                                  NULL);
3609
3610   return offset;
3611 }
3612
3613 /*--- PDUs ---*/
3614
3615 static int dissect_qsig_pr_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3616   int offset = 0;
3617   asn1_ctx_t asn1_ctx;
3618   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3619   offset = dissect_qsig_pr_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyArg_PDU);
3620   return offset;
3621 }
3622 static int dissect_qsig_pr_PRProposeArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3623   int offset = 0;
3624   asn1_ctx_t asn1_ctx;
3625   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3626   offset = dissect_qsig_pr_PRProposeArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRProposeArg_PDU);
3627   return offset;
3628 }
3629 static int dissect_qsig_pr_PRSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3630   int offset = 0;
3631   asn1_ctx_t asn1_ctx;
3632   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3633   offset = dissect_qsig_pr_PRSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRSetupArg_PDU);
3634   return offset;
3635 }
3636 static int dissect_qsig_pr_DummyResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3637   int offset = 0;
3638   asn1_ctx_t asn1_ctx;
3639   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3640   offset = dissect_qsig_pr_DummyResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyResult_PDU);
3641   return offset;
3642 }
3643 static int dissect_qsig_pr_PRRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3644   int offset = 0;
3645   asn1_ctx_t asn1_ctx;
3646   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3647   offset = dissect_qsig_pr_PRRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRRetainArg_PDU);
3648   return offset;
3649 }
3650 static int dissect_qsig_pr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3651   int offset = 0;
3652   asn1_ctx_t asn1_ctx;
3653   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3654   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_Extension_PDU);
3655   return offset;
3656 }
3657
3658
3659 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
3660
3661
3662
3663 static int
3664 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_) {
3665   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3666
3667   return offset;
3668 }
3669
3670
3671 static const ber_sequence_t qsig_ct_SEQUENCE_OF_Extension_sequence_of[1] = {
3672   { &hf_qsig_ct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3673 };
3674
3675 static int
3676 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_) {
3677   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3678                                       qsig_ct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ct_SEQUENCE_OF_Extension);
3679
3680   return offset;
3681 }
3682
3683
3684 static const value_string qsig_ct_DummyArg_vals[] = {
3685   {   0, "null" },
3686   {   1, "single" },
3687   {   2, "multiple" },
3688   { 0, NULL }
3689 };
3690
3691 static const ber_choice_t qsig_ct_DummyArg_choice[] = {
3692   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3693   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3694   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3695   { 0, NULL, 0, 0, 0, NULL }
3696 };
3697
3698 static int
3699 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_) {
3700   offset = dissect_ber_choice(actx, tree, tvb, offset,
3701                                  qsig_ct_DummyArg_choice, hf_index, ett_qsig_ct_DummyArg,
3702                                  NULL);
3703
3704   return offset;
3705 }
3706
3707
3708 static const value_string qsig_ct_DummyRes_vals[] = {
3709   {   0, "null" },
3710   {   1, "single" },
3711   {   2, "multiple" },
3712   { 0, NULL }
3713 };
3714
3715 static const ber_choice_t qsig_ct_DummyRes_choice[] = {
3716   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3717   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3718   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3719   { 0, NULL, 0, 0, 0, NULL }
3720 };
3721
3722 static int
3723 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_) {
3724   offset = dissect_ber_choice(actx, tree, tvb, offset,
3725                                  qsig_ct_DummyRes_choice, hf_index, ett_qsig_ct_DummyRes,
3726                                  NULL);
3727
3728   return offset;
3729 }
3730
3731
3732
3733 static int
3734 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_) {
3735   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3736                                             actx, tree, tvb, offset, hf_index,
3737                                             NULL);
3738
3739   return offset;
3740 }
3741
3742
3743 static const value_string qsig_ct_T_resultExtension_vals[] = {
3744   {   6, "single" },
3745   {   7, "multiple" },
3746   { 0, NULL }
3747 };
3748
3749 static const ber_choice_t qsig_ct_T_resultExtension_choice[] = {
3750   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3751   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3752   { 0, NULL, 0, 0, 0, NULL }
3753 };
3754
3755 static int
3756 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_) {
3757   offset = dissect_ber_choice(actx, tree, tvb, offset,
3758                                  qsig_ct_T_resultExtension_choice, hf_index, ett_qsig_ct_T_resultExtension,
3759                                  NULL);
3760
3761   return offset;
3762 }
3763
3764
3765 static const ber_sequence_t qsig_ct_CTIdentifyRes_sequence[] = {
3766   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3767   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3768   { &hf_qsig_ct_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_resultExtension },
3769   { NULL, 0, 0, 0, NULL }
3770 };
3771
3772 static int
3773 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_) {
3774   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3775                                    qsig_ct_CTIdentifyRes_sequence, hf_index, ett_qsig_ct_CTIdentifyRes);
3776
3777   return offset;
3778 }
3779
3780
3781 static const value_string qsig_ct_CTIargumentExtension_vals[] = {
3782   {   6, "single" },
3783   {   7, "multiple" },
3784   { 0, NULL }
3785 };
3786
3787 static const ber_choice_t qsig_ct_CTIargumentExtension_choice[] = {
3788   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3789   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3790   { 0, NULL, 0, 0, 0, NULL }
3791 };
3792
3793 static int
3794 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_) {
3795   offset = dissect_ber_choice(actx, tree, tvb, offset,
3796                                  qsig_ct_CTIargumentExtension_choice, hf_index, ett_qsig_ct_CTIargumentExtension,
3797                                  NULL);
3798
3799   return offset;
3800 }
3801
3802
3803 static const ber_sequence_t qsig_ct_CTInitiateArg_sequence[] = {
3804   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3805   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3806   { &hf_qsig_ct_argumentExtensionCTI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTIargumentExtension },
3807   { NULL, 0, 0, 0, NULL }
3808 };
3809
3810 static int
3811 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_) {
3812   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3813                                    qsig_ct_CTInitiateArg_sequence, hf_index, ett_qsig_ct_CTInitiateArg);
3814
3815   return offset;
3816 }
3817
3818
3819 static const value_string qsig_ct_CTSargumentExtension_vals[] = {
3820   {   0, "single" },
3821   {   1, "multiple" },
3822   { 0, NULL }
3823 };
3824
3825 static const ber_choice_t qsig_ct_CTSargumentExtension_choice[] = {
3826   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3827   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3828   { 0, NULL, 0, 0, 0, NULL }
3829 };
3830
3831 static int
3832 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_) {
3833   offset = dissect_ber_choice(actx, tree, tvb, offset,
3834                                  qsig_ct_CTSargumentExtension_choice, hf_index, ett_qsig_ct_CTSargumentExtension,
3835                                  NULL);
3836
3837   return offset;
3838 }
3839
3840
3841 static const ber_sequence_t qsig_ct_CTSetupArg_sequence[] = {
3842   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3843   { &hf_qsig_ct_argumentExtensionCTS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTSargumentExtension },
3844   { NULL, 0, 0, 0, NULL }
3845 };
3846
3847 static int
3848 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_) {
3849   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3850                                    qsig_ct_CTSetupArg_sequence, hf_index, ett_qsig_ct_CTSetupArg);
3851
3852   return offset;
3853 }
3854
3855
3856 static const value_string qsig_ct_CTAargumentExtension_vals[] = {
3857   {   9, "single" },
3858   {  10, "multiple" },
3859   { 0, NULL }
3860 };
3861
3862 static const ber_choice_t qsig_ct_CTAargumentExtension_choice[] = {
3863   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3864   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3865   { 0, NULL, 0, 0, 0, NULL }
3866 };
3867
3868 static int
3869 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_) {
3870   offset = dissect_ber_choice(actx, tree, tvb, offset,
3871                                  qsig_ct_CTAargumentExtension_choice, hf_index, ett_qsig_ct_CTAargumentExtension,
3872                                  NULL);
3873
3874   return offset;
3875 }
3876
3877
3878 static const ber_sequence_t qsig_ct_CTActiveArg_sequence[] = {
3879   { &hf_qsig_ct_connectedAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
3880   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3881   { &hf_qsig_ct_connectedName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3882   { &hf_qsig_ct_argumentExtensionCTA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTAargumentExtension },
3883   { NULL, 0, 0, 0, NULL }
3884 };
3885
3886 static int
3887 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_) {
3888   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3889                                    qsig_ct_CTActiveArg_sequence, hf_index, ett_qsig_ct_CTActiveArg);
3890
3891   return offset;
3892 }
3893
3894
3895 static const value_string qsig_ct_EndDesignation_vals[] = {
3896   {   0, "primaryEnd" },
3897   {   1, "secondaryEnd" },
3898   { 0, NULL }
3899 };
3900
3901
3902 static int
3903 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_) {
3904   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3905                                   NULL);
3906
3907   return offset;
3908 }
3909
3910
3911 static const value_string qsig_ct_CallStatus_vals[] = {
3912   {   0, "answered" },
3913   {   1, "alerting" },
3914   { 0, NULL }
3915 };
3916
3917
3918 static int
3919 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_) {
3920   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3921                                   NULL);
3922
3923   return offset;
3924 }
3925
3926
3927 static const value_string qsig_ct_CTCargumentExtension_vals[] = {
3928   {   9, "single" },
3929   {  10, "multiple" },
3930   { 0, NULL }
3931 };
3932
3933 static const ber_choice_t qsig_ct_CTCargumentExtension_choice[] = {
3934   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3935   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3936   { 0, NULL, 0, 0, 0, NULL }
3937 };
3938
3939 static int
3940 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_) {
3941   offset = dissect_ber_choice(actx, tree, tvb, offset,
3942                                  qsig_ct_CTCargumentExtension_choice, hf_index, ett_qsig_ct_CTCargumentExtension,
3943                                  NULL);
3944
3945   return offset;
3946 }
3947
3948
3949 static const ber_sequence_t qsig_ct_CTCompleteArg_sequence[] = {
3950   { &hf_qsig_ct_endDesignation, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_EndDesignation },
3951   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
3952   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3953   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3954   { &hf_qsig_ct_callStatus  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallStatus },
3955   { &hf_qsig_ct_argumentExtensionCTC, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTCargumentExtension },
3956   { NULL, 0, 0, 0, NULL }
3957 };
3958
3959 static int
3960 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_) {
3961   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3962                                    qsig_ct_CTCompleteArg_sequence, hf_index, ett_qsig_ct_CTCompleteArg);
3963
3964   return offset;
3965 }
3966
3967
3968 static const value_string qsig_ct_CTUargumentExtension_vals[] = {
3969   {   9, "single" },
3970   {  10, "multiple" },
3971   { 0, NULL }
3972 };
3973
3974 static const ber_choice_t qsig_ct_CTUargumentExtension_choice[] = {
3975   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3976   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3977   { 0, NULL, 0, 0, 0, NULL }
3978 };
3979
3980 static int
3981 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_) {
3982   offset = dissect_ber_choice(actx, tree, tvb, offset,
3983                                  qsig_ct_CTUargumentExtension_choice, hf_index, ett_qsig_ct_CTUargumentExtension,
3984                                  NULL);
3985
3986   return offset;
3987 }
3988
3989
3990 static const ber_sequence_t qsig_ct_CTUpdateArg_sequence[] = {
3991   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
3992   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3993   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3994   { &hf_qsig_ct_argumentExtensionCTU, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTUargumentExtension },
3995   { NULL, 0, 0, 0, NULL }
3996 };
3997
3998 static int
3999 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_) {
4000   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4001                                    qsig_ct_CTUpdateArg_sequence, hf_index, ett_qsig_ct_CTUpdateArg);
4002
4003   return offset;
4004 }
4005
4006
4007 static const value_string qsig_ct_STargumentExtension_vals[] = {
4008   {   0, "single" },
4009   {   1, "multiple" },
4010   { 0, NULL }
4011 };
4012
4013 static const ber_choice_t qsig_ct_STargumentExtension_choice[] = {
4014   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4015   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
4016   { 0, NULL, 0, 0, 0, NULL }
4017 };
4018
4019 static int
4020 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_) {
4021   offset = dissect_ber_choice(actx, tree, tvb, offset,
4022                                  qsig_ct_STargumentExtension_choice, hf_index, ett_qsig_ct_STargumentExtension,
4023                                  NULL);
4024
4025   return offset;
4026 }
4027
4028
4029 static const ber_sequence_t qsig_ct_SubaddressTransferArg_sequence[] = {
4030   { &hf_qsig_ct_redirectionSubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartySubaddress },
4031   { &hf_qsig_ct_argumentExtensionST, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_STargumentExtension },
4032   { NULL, 0, 0, 0, NULL }
4033 };
4034
4035 static int
4036 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_) {
4037   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4038                                    qsig_ct_SubaddressTransferArg_sequence, hf_index, ett_qsig_ct_SubaddressTransferArg);
4039
4040   return offset;
4041 }
4042
4043 /*--- PDUs ---*/
4044
4045 static int dissect_qsig_ct_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4046   int offset = 0;
4047   asn1_ctx_t asn1_ctx;
4048   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4049   offset = dissect_qsig_ct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyArg_PDU);
4050   return offset;
4051 }
4052 static int dissect_qsig_ct_CTIdentifyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4053   int offset = 0;
4054   asn1_ctx_t asn1_ctx;
4055   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4056   offset = dissect_qsig_ct_CTIdentifyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU);
4057   return offset;
4058 }
4059 static int dissect_qsig_ct_CTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4060   int offset = 0;
4061   asn1_ctx_t asn1_ctx;
4062   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4063   offset = dissect_qsig_ct_CTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTInitiateArg_PDU);
4064   return offset;
4065 }
4066 static int dissect_qsig_ct_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4067   int offset = 0;
4068   asn1_ctx_t asn1_ctx;
4069   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4070   offset = dissect_qsig_ct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyRes_PDU);
4071   return offset;
4072 }
4073 static int dissect_qsig_ct_CTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4074   int offset = 0;
4075   asn1_ctx_t asn1_ctx;
4076   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4077   offset = dissect_qsig_ct_CTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTSetupArg_PDU);
4078   return offset;
4079 }
4080 static int dissect_qsig_ct_CTActiveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4081   int offset = 0;
4082   asn1_ctx_t asn1_ctx;
4083   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4084   offset = dissect_qsig_ct_CTActiveArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTActiveArg_PDU);
4085   return offset;
4086 }
4087 static int dissect_qsig_ct_CTCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4088   int offset = 0;
4089   asn1_ctx_t asn1_ctx;
4090   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4091   offset = dissect_qsig_ct_CTCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTCompleteArg_PDU);
4092   return offset;
4093 }
4094 static int dissect_qsig_ct_CTUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4095   int offset = 0;
4096   asn1_ctx_t asn1_ctx;
4097   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4098   offset = dissect_qsig_ct_CTUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTUpdateArg_PDU);
4099   return offset;
4100 }
4101 static int dissect_qsig_ct_SubaddressTransferArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4102   int offset = 0;
4103   asn1_ctx_t asn1_ctx;
4104   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4105   offset = dissect_qsig_ct_SubaddressTransferArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU);
4106   return offset;
4107 }
4108 static int dissect_qsig_ct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4109   int offset = 0;
4110   asn1_ctx_t asn1_ctx;
4111   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4112   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_Extension_PDU);
4113   return offset;
4114 }
4115
4116
4117 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
4118
4119
4120
4121 static int
4122 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_) {
4123   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
4124
4125   return offset;
4126 }
4127
4128
4129
4130 static int
4131 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_) {
4132   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4133
4134   return offset;
4135 }
4136
4137
4138 static const ber_sequence_t qsig_cc_SEQUENCE_OF_Extension_sequence_of[1] = {
4139   { &hf_qsig_cc_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4140 };
4141
4142 static int
4143 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_) {
4144   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4145                                       qsig_cc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cc_SEQUENCE_OF_Extension);
4146
4147   return offset;
4148 }
4149
4150
4151 static const value_string qsig_cc_CcExtension_vals[] = {
4152   {   0, "none" },
4153   {   1, "single" },
4154   {   2, "multiple" },
4155   { 0, NULL }
4156 };
4157
4158 static const ber_choice_t qsig_cc_CcExtension_choice[] = {
4159   {   0, &hf_qsig_cc_none        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_NULL },
4160   {   1, &hf_qsig_cc_single      , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4161   {   2, &hf_qsig_cc_multiple    , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_qsig_cc_SEQUENCE_OF_Extension },
4162   { 0, NULL, 0, 0, 0, NULL }
4163 };
4164
4165 static int
4166 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_) {
4167   offset = dissect_ber_choice(actx, tree, tvb, offset,
4168                                  qsig_cc_CcExtension_choice, hf_index, ett_qsig_cc_CcExtension,
4169                                  NULL);
4170
4171   return offset;
4172 }
4173
4174
4175 static const ber_sequence_t qsig_cc_CcRequestArg_sequence[] = {
4176   { &hf_qsig_cc_numberA     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberUnscreened },
4177   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4178   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4179   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4180   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4181   { &hf_qsig_cc_can_retain_service, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4182   { &hf_qsig_cc_retain_sig_connection, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4183   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4184   { NULL, 0, 0, 0, NULL }
4185 };
4186
4187 static int
4188 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_) {
4189   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4190                                    qsig_cc_CcRequestArg_sequence, hf_index, ett_qsig_cc_CcRequestArg);
4191
4192   return offset;
4193 }
4194
4195
4196 static const ber_sequence_t qsig_cc_CcRequestRes_sequence[] = {
4197   { &hf_qsig_cc_no_path_reservation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4198   { &hf_qsig_cc_retain_service, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4199   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4200   { NULL, 0, 0, 0, NULL }
4201 };
4202
4203 static int
4204 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_) {
4205   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4206                                    qsig_cc_CcRequestRes_sequence, hf_index, ett_qsig_cc_CcRequestRes);
4207
4208   return offset;
4209 }
4210
4211
4212 static const ber_sequence_t qsig_cc_T_fullArg_sequence[] = {
4213   { &hf_qsig_cc_numberA_01  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4214   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4215   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4216   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4217   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4218   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4219   { NULL, 0, 0, 0, NULL }
4220 };
4221
4222 static int
4223 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_) {
4224   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4225                                    qsig_cc_T_fullArg_sequence, hf_index, ett_qsig_cc_T_fullArg);
4226
4227   return offset;
4228 }
4229
4230
4231 static const value_string qsig_cc_CcOptionalArg_vals[] = {
4232   {   0, "fullArg" },
4233   {   1, "extArg" },
4234   { 0, NULL }
4235 };
4236
4237 static const ber_choice_t qsig_cc_CcOptionalArg_choice[] = {
4238   {   0, &hf_qsig_cc_fullArg     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_cc_T_fullArg },
4239   {   1, &hf_qsig_cc_extArg      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_CcExtension },
4240   { 0, NULL, 0, 0, 0, NULL }
4241 };
4242
4243 static int
4244 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_) {
4245   offset = dissect_ber_choice(actx, tree, tvb, offset,
4246                                  qsig_cc_CcOptionalArg_choice, hf_index, ett_qsig_cc_CcOptionalArg,
4247                                  NULL);
4248
4249   return offset;
4250 }
4251
4252 /*--- PDUs ---*/
4253
4254 static int dissect_qsig_cc_CcRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4255   int offset = 0;
4256   asn1_ctx_t asn1_ctx;
4257   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4258   offset = dissect_qsig_cc_CcRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestArg_PDU);
4259   return offset;
4260 }
4261 static int dissect_qsig_cc_CcRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4262   int offset = 0;
4263   asn1_ctx_t asn1_ctx;
4264   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4265   offset = dissect_qsig_cc_CcRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestRes_PDU);
4266   return offset;
4267 }
4268 static int dissect_qsig_cc_CcOptionalArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4269   int offset = 0;
4270   asn1_ctx_t asn1_ctx;
4271   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4272   offset = dissect_qsig_cc_CcOptionalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcOptionalArg_PDU);
4273   return offset;
4274 }
4275 static int dissect_qsig_cc_CcExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4276   int offset = 0;
4277   asn1_ctx_t asn1_ctx;
4278   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4279   offset = dissect_qsig_cc_CcExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcExtension_PDU);
4280   return offset;
4281 }
4282 static int dissect_qsig_cc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4283   int offset = 0;
4284   asn1_ctx_t asn1_ctx;
4285   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4286   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_Extension_PDU);
4287   return offset;
4288 }
4289
4290
4291 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
4292
4293
4294 static const asn_namedbit qsig_co_ServiceList_bits[] = {
4295   {  0, &hf_qsig_co_ServiceList_callOffer, -1, -1, "callOffer", NULL },
4296   { 0, NULL, 0, 0, NULL, NULL }
4297 };
4298
4299 static int
4300 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_) {
4301   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4302                                     qsig_co_ServiceList_bits, hf_index, ett_qsig_co_ServiceList,
4303                                     NULL);
4304
4305   return offset;
4306 }
4307
4308
4309 static const ber_sequence_t qsig_co_T_extendedServiceList_sequence[] = {
4310   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4311   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4312   { NULL, 0, 0, 0, NULL }
4313 };
4314
4315 static int
4316 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_) {
4317   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4318                                    qsig_co_T_extendedServiceList_sequence, hf_index, ett_qsig_co_T_extendedServiceList);
4319
4320   return offset;
4321 }
4322
4323
4324 static const value_string qsig_co_PathRetainArg_vals[] = {
4325   {   0, "serviceList" },
4326   {   1, "extendedServiceList" },
4327   { 0, NULL }
4328 };
4329
4330 static const ber_choice_t qsig_co_PathRetainArg_choice[] = {
4331   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4332   {   1, &hf_qsig_co_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList },
4333   { 0, NULL, 0, 0, 0, NULL }
4334 };
4335
4336 static int
4337 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_) {
4338   offset = dissect_ber_choice(actx, tree, tvb, offset,
4339                                  qsig_co_PathRetainArg_choice, hf_index, ett_qsig_co_PathRetainArg,
4340                                  NULL);
4341
4342   return offset;
4343 }
4344
4345
4346 static const ber_sequence_t qsig_co_T_extendedServiceList_01_sequence[] = {
4347   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4348   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4349   { NULL, 0, 0, 0, NULL }
4350 };
4351
4352 static int
4353 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_) {
4354   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4355                                    qsig_co_T_extendedServiceList_01_sequence, hf_index, ett_qsig_co_T_extendedServiceList_01);
4356
4357   return offset;
4358 }
4359
4360
4361 static const value_string qsig_co_ServiceAvailableArg_vals[] = {
4362   {   0, "serviceList" },
4363   {   1, "extendedServiceList" },
4364   { 0, NULL }
4365 };
4366
4367 static const ber_choice_t qsig_co_ServiceAvailableArg_choice[] = {
4368   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4369   {   1, &hf_qsig_co_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList_01 },
4370   { 0, NULL, 0, 0, 0, NULL }
4371 };
4372
4373 static int
4374 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_) {
4375   offset = dissect_ber_choice(actx, tree, tvb, offset,
4376                                  qsig_co_ServiceAvailableArg_choice, hf_index, ett_qsig_co_ServiceAvailableArg,
4377                                  NULL);
4378
4379   return offset;
4380 }
4381
4382
4383
4384 static int
4385 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_) {
4386   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4387
4388   return offset;
4389 }
4390
4391
4392 static const ber_sequence_t qsig_co_SEQUENCE_OF_Extension_sequence_of[1] = {
4393   { &hf_qsig_co_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4394 };
4395
4396 static int
4397 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_) {
4398   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4399                                       qsig_co_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_co_SEQUENCE_OF_Extension);
4400
4401   return offset;
4402 }
4403
4404
4405 static const value_string qsig_co_DummyArg_vals[] = {
4406   {   0, "null" },
4407   {   1, "extension" },
4408   {   2, "sequenceOfExtn" },
4409   { 0, NULL }
4410 };
4411
4412 static const ber_choice_t qsig_co_DummyArg_choice[] = {
4413   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4414   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4415   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4416   { 0, NULL, 0, 0, 0, NULL }
4417 };
4418
4419 static int
4420 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_) {
4421   offset = dissect_ber_choice(actx, tree, tvb, offset,
4422                                  qsig_co_DummyArg_choice, hf_index, ett_qsig_co_DummyArg,
4423                                  NULL);
4424
4425   return offset;
4426 }
4427
4428
4429 static const value_string qsig_co_DummyRes_vals[] = {
4430   {   0, "null" },
4431   {   1, "extension" },
4432   {   2, "sequenceOfExtn" },
4433   { 0, NULL }
4434 };
4435
4436 static const ber_choice_t qsig_co_DummyRes_choice[] = {
4437   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4438   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4439   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4440   { 0, NULL, 0, 0, 0, NULL }
4441 };
4442
4443 static int
4444 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_) {
4445   offset = dissect_ber_choice(actx, tree, tvb, offset,
4446                                  qsig_co_DummyRes_choice, hf_index, ett_qsig_co_DummyRes,
4447                                  NULL);
4448
4449   return offset;
4450 }
4451
4452 /*--- PDUs ---*/
4453
4454 static int dissect_qsig_co_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4455   int offset = 0;
4456   asn1_ctx_t asn1_ctx;
4457   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4458   offset = dissect_qsig_co_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_PathRetainArg_PDU);
4459   return offset;
4460 }
4461 static int dissect_qsig_co_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4462   int offset = 0;
4463   asn1_ctx_t asn1_ctx;
4464   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4465   offset = dissect_qsig_co_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_ServiceAvailableArg_PDU);
4466   return offset;
4467 }
4468 static int dissect_qsig_co_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4469   int offset = 0;
4470   asn1_ctx_t asn1_ctx;
4471   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4472   offset = dissect_qsig_co_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyArg_PDU);
4473   return offset;
4474 }
4475 static int dissect_qsig_co_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4476   int offset = 0;
4477   asn1_ctx_t asn1_ctx;
4478   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4479   offset = dissect_qsig_co_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyRes_PDU);
4480   return offset;
4481 }
4482 static int dissect_qsig_co_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4483   int offset = 0;
4484   asn1_ctx_t asn1_ctx;
4485   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4486   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_Extension_PDU);
4487   return offset;
4488 }
4489
4490
4491 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
4492
4493
4494
4495 static int
4496 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_) {
4497   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4498
4499   return offset;
4500 }
4501
4502
4503 static const ber_sequence_t qsig_dnd_SEQUENCE_OF_Extension_sequence_of[1] = {
4504   { &hf_qsig_dnd_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4505 };
4506
4507 static int
4508 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_) {
4509   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4510                                       qsig_dnd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_dnd_SEQUENCE_OF_Extension);
4511
4512   return offset;
4513 }
4514
4515
4516 static const value_string qsig_dnd_DummyArg_vals[] = {
4517   {   0, "null" },
4518   {   1, "extension" },
4519   {   2, "sequenceOfExtn" },
4520   { 0, NULL }
4521 };
4522
4523 static const ber_choice_t qsig_dnd_DummyArg_choice[] = {
4524   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4525   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4526   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4527   { 0, NULL, 0, 0, 0, NULL }
4528 };
4529
4530 static int
4531 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_) {
4532   offset = dissect_ber_choice(actx, tree, tvb, offset,
4533                                  qsig_dnd_DummyArg_choice, hf_index, ett_qsig_dnd_DummyArg,
4534                                  NULL);
4535
4536   return offset;
4537 }
4538
4539
4540 static const value_string qsig_dnd_DummyRes_vals[] = {
4541   {   0, "null" },
4542   {   1, "extension" },
4543   {   2, "sequenceOfExtn" },
4544   { 0, NULL }
4545 };
4546
4547 static const ber_choice_t qsig_dnd_DummyRes_choice[] = {
4548   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4549   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4550   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4551   { 0, NULL, 0, 0, 0, NULL }
4552 };
4553
4554 static int
4555 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_) {
4556   offset = dissect_ber_choice(actx, tree, tvb, offset,
4557                                  qsig_dnd_DummyRes_choice, hf_index, ett_qsig_dnd_DummyRes,
4558                                  NULL);
4559
4560   return offset;
4561 }
4562
4563
4564 static const value_string qsig_dnd_DNDAargumentExtension_vals[] = {
4565   {   1, "extension" },
4566   {   2, "sequenceOfExtn" },
4567   { 0, NULL }
4568 };
4569
4570 static const ber_choice_t qsig_dnd_DNDAargumentExtension_choice[] = {
4571   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4572   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4573   { 0, NULL, 0, 0, 0, NULL }
4574 };
4575
4576 static int
4577 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_) {
4578   offset = dissect_ber_choice(actx, tree, tvb, offset,
4579                                  qsig_dnd_DNDAargumentExtension_choice, hf_index, ett_qsig_dnd_DNDAargumentExtension,
4580                                  NULL);
4581
4582   return offset;
4583 }
4584
4585
4586 static const ber_sequence_t qsig_dnd_DNDActivateArg_sequence[] = {
4587   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4588   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4589   { &hf_qsig_dnd_argumentExtensionDNDA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDAargumentExtension },
4590   { NULL, 0, 0, 0, NULL }
4591 };
4592
4593 static int
4594 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_) {
4595   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4596                                    qsig_dnd_DNDActivateArg_sequence, hf_index, ett_qsig_dnd_DNDActivateArg);
4597
4598   return offset;
4599 }
4600
4601
4602 static const value_string qsig_dnd_DNDProtectionLevel_vals[] = {
4603   {   0, "lowProtection" },
4604   {   1, "mediumProtection" },
4605   {   2, "highProtection" },
4606   {   3, "fullProtection" },
4607   { 0, NULL }
4608 };
4609
4610
4611 static int
4612 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_) {
4613   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4614                                   NULL);
4615
4616   return offset;
4617 }
4618
4619
4620 static const ber_sequence_t qsig_dnd_T_status_item_sequence[] = {
4621   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4622   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4623   { NULL, 0, 0, 0, NULL }
4624 };
4625
4626 static int
4627 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_) {
4628   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4629                                    qsig_dnd_T_status_item_sequence, hf_index, ett_qsig_dnd_T_status_item);
4630
4631   return offset;
4632 }
4633
4634
4635 static const ber_sequence_t qsig_dnd_T_status_set_of[1] = {
4636   { &hf_qsig_dnd_status_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item },
4637 };
4638
4639 static int
4640 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_) {
4641   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4642                                  qsig_dnd_T_status_set_of, hf_index, ett_qsig_dnd_T_status);
4643
4644   return offset;
4645 }
4646
4647
4648 static const value_string qsig_dnd_T_resultExtension_vals[] = {
4649   {   1, "extension" },
4650   {   2, "sequenceOfExtn" },
4651   { 0, NULL }
4652 };
4653
4654 static const ber_choice_t qsig_dnd_T_resultExtension_choice[] = {
4655   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4656   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4657   { 0, NULL, 0, 0, 0, NULL }
4658 };
4659
4660 static int
4661 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_) {
4662   offset = dissect_ber_choice(actx, tree, tvb, offset,
4663                                  qsig_dnd_T_resultExtension_choice, hf_index, ett_qsig_dnd_T_resultExtension,
4664                                  NULL);
4665
4666   return offset;
4667 }
4668
4669
4670 static const ber_sequence_t qsig_dnd_DNDActivateRes_sequence[] = {
4671   { &hf_qsig_dnd_status     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status },
4672   { &hf_qsig_dnd_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_resultExtension },
4673   { NULL, 0, 0, 0, NULL }
4674 };
4675
4676 static int
4677 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_) {
4678   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4679                                    qsig_dnd_DNDActivateRes_sequence, hf_index, ett_qsig_dnd_DNDActivateRes);
4680
4681   return offset;
4682 }
4683
4684
4685 static const value_string qsig_dnd_DNDDargumentExtension_vals[] = {
4686   {   1, "extension" },
4687   {   2, "sequenceOfExtn" },
4688   { 0, NULL }
4689 };
4690
4691 static const ber_choice_t qsig_dnd_DNDDargumentExtension_choice[] = {
4692   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4693   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4694   { 0, NULL, 0, 0, 0, NULL }
4695 };
4696
4697 static int
4698 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_) {
4699   offset = dissect_ber_choice(actx, tree, tvb, offset,
4700                                  qsig_dnd_DNDDargumentExtension_choice, hf_index, ett_qsig_dnd_DNDDargumentExtension,
4701                                  NULL);
4702
4703   return offset;
4704 }
4705
4706
4707 static const ber_sequence_t qsig_dnd_DNDDeactivateArg_sequence[] = {
4708   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4709   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4710   { &hf_qsig_dnd_argumentExtensionDNDD, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDDargumentExtension },
4711   { NULL, 0, 0, 0, NULL }
4712 };
4713
4714 static int
4715 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_) {
4716   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4717                                    qsig_dnd_DNDDeactivateArg_sequence, hf_index, ett_qsig_dnd_DNDDeactivateArg);
4718
4719   return offset;
4720 }
4721
4722
4723 static const value_string qsig_dnd_DNDIargumentExtension_vals[] = {
4724   {   1, "extension" },
4725   {   2, "sequenceOfExtn" },
4726   { 0, NULL }
4727 };
4728
4729 static const ber_choice_t qsig_dnd_DNDIargumentExtension_choice[] = {
4730   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4731   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4732   { 0, NULL, 0, 0, 0, NULL }
4733 };
4734
4735 static int
4736 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_) {
4737   offset = dissect_ber_choice(actx, tree, tvb, offset,
4738                                  qsig_dnd_DNDIargumentExtension_choice, hf_index, ett_qsig_dnd_DNDIargumentExtension,
4739                                  NULL);
4740
4741   return offset;
4742 }
4743
4744
4745 static const ber_sequence_t qsig_dnd_DNDInterrogateArg_sequence[] = {
4746   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4747   { &hf_qsig_dnd_argumentExtensionDNDI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDIargumentExtension },
4748   { NULL, 0, 0, 0, NULL }
4749 };
4750
4751 static int
4752 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_) {
4753   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4754                                    qsig_dnd_DNDInterrogateArg_sequence, hf_index, ett_qsig_dnd_DNDInterrogateArg);
4755
4756   return offset;
4757 }
4758
4759
4760 static const ber_sequence_t qsig_dnd_T_status_item_01_sequence[] = {
4761   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4762   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4763   { NULL, 0, 0, 0, NULL }
4764 };
4765
4766 static int
4767 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_) {
4768   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4769                                    qsig_dnd_T_status_item_01_sequence, hf_index, ett_qsig_dnd_T_status_item_01);
4770
4771   return offset;
4772 }
4773
4774
4775 static const ber_sequence_t qsig_dnd_T_status_01_set_of[1] = {
4776   { &hf_qsig_dnd_status_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item_01 },
4777 };
4778
4779 static int
4780 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_) {
4781   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4782                                  qsig_dnd_T_status_01_set_of, hf_index, ett_qsig_dnd_T_status_01);
4783
4784   return offset;
4785 }
4786
4787
4788 static const value_string qsig_dnd_T_resultExtension_01_vals[] = {
4789   {   1, "extension" },
4790   {   2, "sequenceOfExtn" },
4791   { 0, NULL }
4792 };
4793
4794 static const ber_choice_t qsig_dnd_T_resultExtension_01_choice[] = {
4795   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4796   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4797   { 0, NULL, 0, 0, 0, NULL }
4798 };
4799
4800 static int
4801 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_) {
4802   offset = dissect_ber_choice(actx, tree, tvb, offset,
4803                                  qsig_dnd_T_resultExtension_01_choice, hf_index, ett_qsig_dnd_T_resultExtension_01,
4804                                  NULL);
4805
4806   return offset;
4807 }
4808
4809
4810 static const ber_sequence_t qsig_dnd_DNDInterrogateRes_sequence[] = {
4811   { &hf_qsig_dnd_status_01  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_01 },
4812   { &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 },
4813   { NULL, 0, 0, 0, NULL }
4814 };
4815
4816 static int
4817 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_) {
4818   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4819                                    qsig_dnd_DNDInterrogateRes_sequence, hf_index, ett_qsig_dnd_DNDInterrogateRes);
4820
4821   return offset;
4822 }
4823
4824
4825 static const value_string qsig_dnd_DNDOCapabilityLevel_vals[] = {
4826   {   1, "overrideLowProt" },
4827   {   2, "overrideMediumProt" },
4828   {   3, "overrideHighProt" },
4829   { 0, NULL }
4830 };
4831
4832
4833 static int
4834 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_) {
4835   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4836                                   NULL);
4837
4838   return offset;
4839 }
4840
4841
4842 static const value_string qsig_dnd_DNDOargumentExtension_vals[] = {
4843   {   1, "extension" },
4844   {   2, "sequenceOfExtn" },
4845   { 0, NULL }
4846 };
4847
4848 static const ber_choice_t qsig_dnd_DNDOargumentExtension_choice[] = {
4849   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4850   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4851   { 0, NULL, 0, 0, 0, NULL }
4852 };
4853
4854 static int
4855 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_) {
4856   offset = dissect_ber_choice(actx, tree, tvb, offset,
4857                                  qsig_dnd_DNDOargumentExtension_choice, hf_index, ett_qsig_dnd_DNDOargumentExtension,
4858                                  NULL);
4859
4860   return offset;
4861 }
4862
4863
4864 static const ber_sequence_t qsig_dnd_DNDOverrideArg_sequence[] = {
4865   { &hf_qsig_dnd_dndoCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDOCapabilityLevel },
4866   { &hf_qsig_dnd_argumentExtensionDNDO, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDOargumentExtension },
4867   { NULL, 0, 0, 0, NULL }
4868 };
4869
4870 static int
4871 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_) {
4872   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4873                                    qsig_dnd_DNDOverrideArg_sequence, hf_index, ett_qsig_dnd_DNDOverrideArg);
4874
4875   return offset;
4876 }
4877
4878
4879 static const asn_namedbit qsig_dnd_ServiceList_bits[] = {
4880   {  1, &hf_qsig_dnd_ServiceList_dndo_low, -1, -1, "dndo-low", NULL },
4881   {  2, &hf_qsig_dnd_ServiceList_dndo_medium, -1, -1, "dndo-medium", NULL },
4882   {  3, &hf_qsig_dnd_ServiceList_dndo_high, -1, -1, "dndo-high", NULL },
4883   { 0, NULL, 0, 0, NULL, NULL }
4884 };
4885
4886 static int
4887 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_) {
4888   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4889                                     qsig_dnd_ServiceList_bits, hf_index, ett_qsig_dnd_ServiceList,
4890                                     NULL);
4891
4892   return offset;
4893 }
4894
4895
4896 static const ber_sequence_t qsig_dnd_T_extendedServiceList_sequence[] = {
4897   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4898   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4899   { NULL, 0, 0, 0, NULL }
4900 };
4901
4902 static int
4903 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_) {
4904   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4905                                    qsig_dnd_T_extendedServiceList_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList);
4906
4907   return offset;
4908 }
4909
4910
4911 static const value_string qsig_dnd_PathRetainArg_vals[] = {
4912   {   0, "serviceList" },
4913   {   1, "extendedServiceList" },
4914   { 0, NULL }
4915 };
4916
4917 static const ber_choice_t qsig_dnd_PathRetainArg_choice[] = {
4918   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4919   {   1, &hf_qsig_dnd_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList },
4920   { 0, NULL, 0, 0, 0, NULL }
4921 };
4922
4923 static int
4924 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_) {
4925   offset = dissect_ber_choice(actx, tree, tvb, offset,
4926                                  qsig_dnd_PathRetainArg_choice, hf_index, ett_qsig_dnd_PathRetainArg,
4927                                  NULL);
4928
4929   return offset;
4930 }
4931
4932
4933 static const ber_sequence_t qsig_dnd_T_extendedServiceList_01_sequence[] = {
4934   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4935   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4936   { NULL, 0, 0, 0, NULL }
4937 };
4938
4939 static int
4940 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_) {
4941   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4942                                    qsig_dnd_T_extendedServiceList_01_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList_01);
4943
4944   return offset;
4945 }
4946
4947
4948 static const value_string qsig_dnd_ServiceAvailableArg_vals[] = {
4949   {   0, "serviceList" },
4950   {   1, "extendedServiceList" },
4951   { 0, NULL }
4952 };
4953
4954 static const ber_choice_t qsig_dnd_ServiceAvailableArg_choice[] = {
4955   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4956   {   1, &hf_qsig_dnd_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList_01 },
4957   { 0, NULL, 0, 0, 0, NULL }
4958 };
4959
4960 static int
4961 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_) {
4962   offset = dissect_ber_choice(actx, tree, tvb, offset,
4963                                  qsig_dnd_ServiceAvailableArg_choice, hf_index, ett_qsig_dnd_ServiceAvailableArg,
4964                                  NULL);
4965
4966   return offset;
4967 }
4968
4969 /*--- PDUs ---*/
4970
4971 static int dissect_qsig_dnd_DNDActivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4972   int offset = 0;
4973   asn1_ctx_t asn1_ctx;
4974   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4975   offset = dissect_qsig_dnd_DNDActivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU);
4976   return offset;
4977 }
4978 static int dissect_qsig_dnd_DNDActivateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4979   int offset = 0;
4980   asn1_ctx_t asn1_ctx;
4981   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4982   offset = dissect_qsig_dnd_DNDActivateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU);
4983   return offset;
4984 }
4985 static int dissect_qsig_dnd_DNDDeactivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4986   int offset = 0;
4987   asn1_ctx_t asn1_ctx;
4988   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4989   offset = dissect_qsig_dnd_DNDDeactivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU);
4990   return offset;
4991 }
4992 static int dissect_qsig_dnd_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4993   int offset = 0;
4994   asn1_ctx_t asn1_ctx;
4995   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4996   offset = dissect_qsig_dnd_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyRes_PDU);
4997   return offset;
4998 }
4999 static int dissect_qsig_dnd_DNDInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5000   int offset = 0;
5001   asn1_ctx_t asn1_ctx;
5002   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5003   offset = dissect_qsig_dnd_DNDInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU);
5004   return offset;
5005 }
5006 static int dissect_qsig_dnd_DNDInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5007   int offset = 0;
5008   asn1_ctx_t asn1_ctx;
5009   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5010   offset = dissect_qsig_dnd_DNDInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU);
5011   return offset;
5012 }
5013 static int dissect_qsig_dnd_DNDOverrideArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5014   int offset = 0;
5015   asn1_ctx_t asn1_ctx;
5016   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5017   offset = dissect_qsig_dnd_DNDOverrideArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU);
5018   return offset;
5019 }
5020 static int dissect_qsig_dnd_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5021   int offset = 0;
5022   asn1_ctx_t asn1_ctx;
5023   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5024   offset = dissect_qsig_dnd_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU);
5025   return offset;
5026 }
5027 static int dissect_qsig_dnd_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5028   int offset = 0;
5029   asn1_ctx_t asn1_ctx;
5030   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5031   offset = dissect_qsig_dnd_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU);
5032   return offset;
5033 }
5034 static int dissect_qsig_dnd_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5035   int offset = 0;
5036   asn1_ctx_t asn1_ctx;
5037   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5038   offset = dissect_qsig_dnd_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyArg_PDU);
5039   return offset;
5040 }
5041 static int dissect_qsig_dnd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5042   int offset = 0;
5043   asn1_ctx_t asn1_ctx;
5044   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5045   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_Extension_PDU);
5046   return offset;
5047 }
5048
5049
5050 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
5051
5052
5053 static const asn_namedbit qsig_ci_ServiceList_bits[] = {
5054   {  4, &hf_qsig_ci_ServiceList_ci_low, -1, -1, "ci-low", NULL },
5055   {  5, &hf_qsig_ci_ServiceList_ci_medium, -1, -1, "ci-medium", NULL },
5056   {  6, &hf_qsig_ci_ServiceList_ci_high, -1, -1, "ci-high", NULL },
5057   { 0, NULL, 0, 0, NULL, NULL }
5058 };
5059
5060 static int
5061 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_) {
5062   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5063                                     qsig_ci_ServiceList_bits, hf_index, ett_qsig_ci_ServiceList,
5064                                     NULL);
5065
5066   return offset;
5067 }
5068
5069
5070 static const ber_sequence_t qsig_ci_T_extendedServiceList_sequence[] = {
5071   { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5072   { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5073   { NULL, 0, 0, 0, NULL }
5074 };
5075
5076 static int
5077 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_) {
5078   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5079                                    qsig_ci_T_extendedServiceList_sequence, hf_index, ett_qsig_ci_T_extendedServiceList);
5080
5081   return offset;
5082 }
5083
5084
5085 static const value_string qsig_ci_PathRetainArg_vals[] = {
5086   {   0, "serviceList" },
5087   {   1, "extendedServiceList" },
5088   { 0, NULL }
5089 };
5090
5091 static const ber_choice_t qsig_ci_PathRetainArg_choice[] = {
5092   {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5093   {   1, &hf_qsig_ci_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList },
5094   { 0, NULL, 0, 0, 0, NULL }
5095 };
5096
5097 static int
5098 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_) {
5099   offset = dissect_ber_choice(actx, tree, tvb, offset,
5100                                  qsig_ci_PathRetainArg_choice, hf_index, ett_qsig_ci_PathRetainArg,
5101                                  NULL);
5102
5103   return offset;
5104 }
5105
5106
5107 static const ber_sequence_t qsig_ci_T_extendedServiceList_01_sequence[] = {
5108   { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5109   { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5110   { NULL, 0, 0, 0, NULL }
5111 };
5112
5113 static int
5114 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_) {
5115   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5116                                    qsig_ci_T_extendedServiceList_01_sequence, hf_index, ett_qsig_ci_T_extendedServiceList_01);
5117
5118   return offset;
5119 }
5120
5121
5122 static const value_string qsig_ci_ServiceAvailableArg_vals[] = {
5123   {   0, "serviceList" },
5124   {   1, "extendedServiceList" },
5125   { 0, NULL }
5126 };
5127
5128 static const ber_choice_t qsig_ci_ServiceAvailableArg_choice[] = {
5129   {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5130   {   1, &hf_qsig_ci_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList_01 },
5131   { 0, NULL, 0, 0, 0, NULL }
5132 };
5133
5134 static int
5135 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_) {
5136   offset = dissect_ber_choice(actx, tree, tvb, offset,
5137                                  qsig_ci_ServiceAvailableArg_choice, hf_index, ett_qsig_ci_ServiceAvailableArg,
5138                                  NULL);
5139
5140   return offset;
5141 }
5142
5143
5144
5145 static int
5146 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_) {
5147   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5148
5149   return offset;
5150 }
5151
5152
5153 static const ber_sequence_t qsig_ci_SEQUENCE_OF_Extension_sequence_of[1] = {
5154   { &hf_qsig_ci_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5155 };
5156
5157 static int
5158 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_) {
5159   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5160                                       qsig_ci_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ci_SEQUENCE_OF_Extension);
5161
5162   return offset;
5163 }
5164
5165
5166 static const value_string qsig_ci_DummyArg_vals[] = {
5167   {   0, "null" },
5168   {   1, "extension" },
5169   {   2, "sequenceOfExtn" },
5170   { 0, NULL }
5171 };
5172
5173 static const ber_choice_t qsig_ci_DummyArg_choice[] = {
5174   {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
5175   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5176   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5177   { 0, NULL, 0, 0, 0, NULL }
5178 };
5179
5180 static int
5181 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_) {
5182   offset = dissect_ber_choice(actx, tree, tvb, offset,
5183                                  qsig_ci_DummyArg_choice, hf_index, ett_qsig_ci_DummyArg,
5184                                  NULL);
5185
5186   return offset;
5187 }
5188
5189
5190 static const value_string qsig_ci_DummyRes_vals[] = {
5191   {   0, "null" },
5192   {   1, "extension" },
5193   {   2, "sequenceOfExtn" },
5194   { 0, NULL }
5195 };
5196
5197 static const ber_choice_t qsig_ci_DummyRes_choice[] = {
5198   {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
5199   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5200   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5201   { 0, NULL, 0, 0, 0, NULL }
5202 };
5203
5204 static int
5205 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_) {
5206   offset = dissect_ber_choice(actx, tree, tvb, offset,
5207                                  qsig_ci_DummyRes_choice, hf_index, ett_qsig_ci_DummyRes,
5208                                  NULL);
5209
5210   return offset;
5211 }
5212
5213
5214 static const value_string qsig_ci_CICapabilityLevel_vals[] = {
5215   {   1, "intrusionLowProt" },
5216   {   2, "intrusionMediumProt" },
5217   {   3, "intrusionHighProt" },
5218   { 0, NULL }
5219 };
5220
5221
5222 static int
5223 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_) {
5224   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5225                                   NULL);
5226
5227   return offset;
5228 }
5229
5230
5231 static const value_string qsig_ci_T_argumentExtension_vals[] = {
5232   {   1, "extension" },
5233   {   2, "sequenceOfExtn" },
5234   { 0, NULL }
5235 };
5236
5237 static const ber_choice_t qsig_ci_T_argumentExtension_choice[] = {
5238   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5239   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5240   { 0, NULL, 0, 0, 0, NULL }
5241 };
5242
5243 static int
5244 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_) {
5245   offset = dissect_ber_choice(actx, tree, tvb, offset,
5246                                  qsig_ci_T_argumentExtension_choice, hf_index, ett_qsig_ci_T_argumentExtension,
5247                                  NULL);
5248
5249   return offset;
5250 }
5251
5252
5253 static const ber_sequence_t qsig_ci_CIRequestArg_sequence[] = {
5254   { &hf_qsig_ci_ciCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CICapabilityLevel },
5255   { &hf_qsig_ci_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_argumentExtension },
5256   { NULL, 0, 0, 0, NULL }
5257 };
5258
5259 static int
5260 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_) {
5261   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5262                                    qsig_ci_CIRequestArg_sequence, hf_index, ett_qsig_ci_CIRequestArg);
5263
5264   return offset;
5265 }
5266
5267
5268 static const value_string qsig_ci_CIUnwantedUserStatus_vals[] = {
5269   {   0, "unwantedUserIntruded" },
5270   {   1, "unwantedUserIsolated" },
5271   { 0, NULL }
5272 };
5273
5274
5275 static int
5276 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_) {
5277   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5278                                   NULL);
5279
5280   return offset;
5281 }
5282
5283
5284 static const value_string qsig_ci_T_resultExtension_vals[] = {
5285   {   1, "extension" },
5286   {   2, "sequenceOfExtn" },
5287   { 0, NULL }
5288 };
5289
5290 static const ber_choice_t qsig_ci_T_resultExtension_choice[] = {
5291   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5292   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5293   { 0, NULL, 0, 0, 0, NULL }
5294 };
5295
5296 static int
5297 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_) {
5298   offset = dissect_ber_choice(actx, tree, tvb, offset,
5299                                  qsig_ci_T_resultExtension_choice, hf_index, ett_qsig_ci_T_resultExtension,
5300                                  NULL);
5301
5302   return offset;
5303 }
5304
5305
5306 static const ber_sequence_t qsig_ci_CIRequestRes_sequence[] = {
5307   { &hf_qsig_ci_ciUnwantedUserStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIUnwantedUserStatus },
5308   { &hf_qsig_ci_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_resultExtension },
5309   { NULL, 0, 0, 0, NULL }
5310 };
5311
5312 static int
5313 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_) {
5314   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5315                                    qsig_ci_CIRequestRes_sequence, hf_index, ett_qsig_ci_CIRequestRes);
5316
5317   return offset;
5318 }
5319
5320
5321 static const value_string qsig_ci_CIProtectionLevel_vals[] = {
5322   {   0, "lowProtection" },
5323   {   1, "mediumProtection" },
5324   {   2, "highProtection" },
5325   {   3, "fullProtection" },
5326   { 0, NULL }
5327 };
5328
5329
5330 static int
5331 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_) {
5332   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5333                                   NULL);
5334
5335   return offset;
5336 }
5337
5338
5339 static const value_string qsig_ci_T_resultExtension_01_vals[] = {
5340   {   1, "extension" },
5341   {   2, "sequenceOfExtn" },
5342   { 0, NULL }
5343 };
5344
5345 static const ber_choice_t qsig_ci_T_resultExtension_01_choice[] = {
5346   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5347   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5348   { 0, NULL, 0, 0, 0, NULL }
5349 };
5350
5351 static int
5352 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_) {
5353   offset = dissect_ber_choice(actx, tree, tvb, offset,
5354                                  qsig_ci_T_resultExtension_01_choice, hf_index, ett_qsig_ci_T_resultExtension_01,
5355                                  NULL);
5356
5357   return offset;
5358 }
5359
5360
5361 static const ber_sequence_t qsig_ci_CIGetCIPLRes_sequence[] = {
5362   { &hf_qsig_ci_ciProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIProtectionLevel },
5363   { &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 },
5364   { NULL, 0, 0, 0, NULL }
5365 };
5366
5367 static int
5368 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_) {
5369   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5370                                    qsig_ci_CIGetCIPLRes_sequence, hf_index, ett_qsig_ci_CIGetCIPLRes);
5371
5372   return offset;
5373 }
5374
5375 /*--- PDUs ---*/
5376
5377 static int dissect_qsig_ci_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5378   int offset = 0;
5379   asn1_ctx_t asn1_ctx;
5380   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5381   offset = dissect_qsig_ci_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_PathRetainArg_PDU);
5382   return offset;
5383 }
5384 static int dissect_qsig_ci_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5385   int offset = 0;
5386   asn1_ctx_t asn1_ctx;
5387   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5388   offset = dissect_qsig_ci_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU);
5389   return offset;
5390 }
5391 static int dissect_qsig_ci_CIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5392   int offset = 0;
5393   asn1_ctx_t asn1_ctx;
5394   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5395   offset = dissect_qsig_ci_CIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestArg_PDU);
5396   return offset;
5397 }
5398 static int dissect_qsig_ci_CIRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5399   int offset = 0;
5400   asn1_ctx_t asn1_ctx;
5401   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5402   offset = dissect_qsig_ci_CIRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestRes_PDU);
5403   return offset;
5404 }
5405 static int dissect_qsig_ci_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5406   int offset = 0;
5407   asn1_ctx_t asn1_ctx;
5408   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5409   offset = dissect_qsig_ci_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyArg_PDU);
5410   return offset;
5411 }
5412 static int dissect_qsig_ci_CIGetCIPLRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5413   int offset = 0;
5414   asn1_ctx_t asn1_ctx;
5415   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5416   offset = dissect_qsig_ci_CIGetCIPLRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU);
5417   return offset;
5418 }
5419 static int dissect_qsig_ci_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5420   int offset = 0;
5421   asn1_ctx_t asn1_ctx;
5422   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5423   offset = dissect_qsig_ci_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyRes_PDU);
5424   return offset;
5425 }
5426 static int dissect_qsig_ci_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5427   int offset = 0;
5428   asn1_ctx_t asn1_ctx;
5429   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5430   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_Extension_PDU);
5431   return offset;
5432 }
5433
5434
5435 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
5436
5437
5438
5439 static int
5440 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_) {
5441   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5442
5443   return offset;
5444 }
5445
5446
5447 static const value_string qsig_aoc_ChargedItem_vals[] = {
5448   {   0, "basicCommunication" },
5449   {   1, "callAttempt" },
5450   {   2, "callSetup" },
5451   {   3, "userToUserInfo" },
5452   {   4, "operationOfSupplementaryServ" },
5453   { 0, NULL }
5454 };
5455
5456
5457 static int
5458 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_) {
5459   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5460                                   NULL);
5461
5462   return offset;
5463 }
5464
5465
5466
5467 static int
5468 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_) {
5469   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
5470                                             actx, tree, tvb, offset, hf_index,
5471                                             NULL);
5472
5473   return offset;
5474 }
5475
5476
5477
5478 static int
5479 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_) {
5480   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5481                                                 NULL);
5482
5483   return offset;
5484 }
5485
5486
5487 static const value_string qsig_aoc_Multiplier_vals[] = {
5488   {   0, "oneThousandth" },
5489   {   1, "oneHundredth" },
5490   {   2, "oneTenth" },
5491   {   3, "one" },
5492   {   4, "ten" },
5493   {   5, "hundred" },
5494   {   6, "thousand" },
5495   { 0, NULL }
5496 };
5497
5498
5499 static int
5500 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_) {
5501   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5502                                   NULL);
5503
5504   return offset;
5505 }
5506
5507
5508 static const ber_sequence_t qsig_aoc_Amount_sequence[] = {
5509   { &hf_qsig_aoc_currencyAmount, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_CurrencyAmount },
5510   { &hf_qsig_aoc_multiplier , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Multiplier },
5511   { NULL, 0, 0, 0, NULL }
5512 };
5513
5514 static int
5515 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_) {
5516   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5517                                    qsig_aoc_Amount_sequence, hf_index, ett_qsig_aoc_Amount);
5518
5519   return offset;
5520 }
5521
5522
5523 static const value_string qsig_aoc_ChargingType_vals[] = {
5524   {   0, "continuousCharging" },
5525   {   1, "stepFunction" },
5526   { 0, NULL }
5527 };
5528
5529
5530 static int
5531 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_) {
5532   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5533                                   NULL);
5534
5535   return offset;
5536 }
5537
5538
5539
5540 static int
5541 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_) {
5542   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5543                                                 NULL);
5544
5545   return offset;
5546 }
5547
5548
5549 static const value_string qsig_aoc_Scale_vals[] = {
5550   {   0, "oneHundredthSecond" },
5551   {   1, "oneTenthSecond" },
5552   {   2, "oneSecond" },
5553   {   3, "tenSeconds" },
5554   {   4, "oneMinute" },
5555   {   5, "oneHour" },
5556   {   6, "twentyFourHours" },
5557   { 0, NULL }
5558 };
5559
5560
5561 static int
5562 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_) {
5563   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5564                                   NULL);
5565
5566   return offset;
5567 }
5568
5569
5570 static const ber_sequence_t qsig_aoc_Time_sequence[] = {
5571   { &hf_qsig_aoc_lengthOfTimeUnit, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_LengthOfTimeUnit },
5572   { &hf_qsig_aoc_scale      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Scale },
5573   { NULL, 0, 0, 0, NULL }
5574 };
5575
5576 static int
5577 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_) {
5578   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5579                                    qsig_aoc_Time_sequence, hf_index, ett_qsig_aoc_Time);
5580
5581   return offset;
5582 }
5583
5584
5585 static const ber_sequence_t qsig_aoc_DurationCurrency_sequence[] = {
5586   { &hf_qsig_aoc_dCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5587   { &hf_qsig_aoc_dAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5588   { &hf_qsig_aoc_dChargingType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_ChargingType },
5589   { &hf_qsig_aoc_dTime      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
5590   { &hf_qsig_aoc_dGranularity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
5591   { NULL, 0, 0, 0, NULL }
5592 };
5593
5594 static int
5595 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_) {
5596   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5597                                    qsig_aoc_DurationCurrency_sequence, hf_index, ett_qsig_aoc_DurationCurrency);
5598
5599   return offset;
5600 }
5601
5602
5603 static const ber_sequence_t qsig_aoc_FlatRateCurrency_sequence[] = {
5604   { &hf_qsig_aoc_fRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5605   { &hf_qsig_aoc_fRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5606   { NULL, 0, 0, 0, NULL }
5607 };
5608
5609 static int
5610 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_) {
5611   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5612                                    qsig_aoc_FlatRateCurrency_sequence, hf_index, ett_qsig_aoc_FlatRateCurrency);
5613
5614   return offset;
5615 }
5616
5617
5618 static const value_string qsig_aoc_VolumeUnit_vals[] = {
5619   {   0, "octet" },
5620   {   1, "segment" },
5621   {   2, "message" },
5622   { 0, NULL }
5623 };
5624
5625
5626 static int
5627 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_) {
5628   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5629                                   NULL);
5630
5631   return offset;
5632 }
5633
5634
5635 static const ber_sequence_t qsig_aoc_VolumeRateCurrency_sequence[] = {
5636   { &hf_qsig_aoc_vRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5637   { &hf_qsig_aoc_vRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5638   { &hf_qsig_aoc_vRVolumeUnit, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeUnit },
5639   { NULL, 0, 0, 0, NULL }
5640 };
5641
5642 static int
5643 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_) {
5644   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5645                                    qsig_aoc_VolumeRateCurrency_sequence, hf_index, ett_qsig_aoc_VolumeRateCurrency);
5646
5647   return offset;
5648 }
5649
5650
5651
5652 static int
5653 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_) {
5654   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5655                                                 NULL);
5656
5657   return offset;
5658 }
5659
5660
5661 static const value_string qsig_aoc_T_rateType_vals[] = {
5662   {   0, "durationCurrency" },
5663   {   1, "flatRateCurrency" },
5664   {   2, "volumeRateCurrency" },
5665   {   3, "specialChargingCode" },
5666   {   4, "freeOfCharge" },
5667   {   5, "currencyInfoNotAvailable" },
5668   {   6, "freeOfChargefromBeginning" },
5669   { 0, NULL }
5670 };
5671
5672 static const ber_choice_t qsig_aoc_T_rateType_choice[] = {
5673   {   0, &hf_qsig_aoc_durationCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_DurationCurrency },
5674   {   1, &hf_qsig_aoc_flatRateCurrency, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FlatRateCurrency },
5675   {   2, &hf_qsig_aoc_volumeRateCurrency, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeRateCurrency },
5676   {   3, &hf_qsig_aoc_specialChargingCode, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SpecialChargingCode },
5677   {   4, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5678   {   5, &hf_qsig_aoc_currencyInfoNotAvailable, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5679   {   6, &hf_qsig_aoc_freeOfChargefromBeginning, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5680   { 0, NULL, 0, 0, 0, NULL }
5681 };
5682
5683 static int
5684 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_) {
5685   offset = dissect_ber_choice(actx, tree, tvb, offset,
5686                                  qsig_aoc_T_rateType_choice, hf_index, ett_qsig_aoc_T_rateType,
5687                                  NULL);
5688
5689   return offset;
5690 }
5691
5692
5693 static const ber_sequence_t qsig_aoc_AOCSCurrencyInfo_sequence[] = {
5694   { &hf_qsig_aoc_chargedItem, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargedItem },
5695   { &hf_qsig_aoc_rateType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateType },
5696   { NULL, 0, 0, 0, NULL }
5697 };
5698
5699 static int
5700 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_) {
5701   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5702                                    qsig_aoc_AOCSCurrencyInfo_sequence, hf_index, ett_qsig_aoc_AOCSCurrencyInfo);
5703
5704   return offset;
5705 }
5706
5707
5708 static const ber_sequence_t qsig_aoc_AOCSCurrencyInfoList_sequence_of[1] = {
5709   { &hf_qsig_aoc_AOCSCurrencyInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfo },
5710 };
5711
5712 static int
5713 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_) {
5714   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5715                                       qsig_aoc_AOCSCurrencyInfoList_sequence_of, hf_index, ett_qsig_aoc_AOCSCurrencyInfoList);
5716
5717   return offset;
5718 }
5719
5720
5721 static const value_string qsig_aoc_T_aocRate_vals[] = {
5722   {   0, "chargeNotAvailable" },
5723   {   1, "aocSCurrencyInfoList" },
5724   { 0, NULL }
5725 };
5726
5727 static const ber_choice_t qsig_aoc_T_aocRate_choice[] = {
5728   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
5729   {   1, &hf_qsig_aoc_aocSCurrencyInfoList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfoList },
5730   { 0, NULL, 0, 0, 0, NULL }
5731 };
5732
5733 static int
5734 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_) {
5735   offset = dissect_ber_choice(actx, tree, tvb, offset,
5736                                  qsig_aoc_T_aocRate_choice, hf_index, ett_qsig_aoc_T_aocRate,
5737                                  NULL);
5738
5739   return offset;
5740 }
5741
5742
5743 static const ber_sequence_t qsig_aoc_SEQUENCE_OF_Extension_sequence_of[1] = {
5744   { &hf_qsig_aoc_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5745 };
5746
5747 static int
5748 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_) {
5749   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5750                                       qsig_aoc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_OF_Extension);
5751
5752   return offset;
5753 }
5754
5755
5756 static const value_string qsig_aoc_T_rateArgExtension_vals[] = {
5757   {   1, "extension" },
5758   {   2, "multipleExtension" },
5759   { 0, NULL }
5760 };
5761
5762 static const ber_choice_t qsig_aoc_T_rateArgExtension_choice[] = {
5763   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5764   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
5765   { 0, NULL, 0, 0, 0, NULL }
5766 };
5767
5768 static int
5769 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_) {
5770   offset = dissect_ber_choice(actx, tree, tvb, offset,
5771                                  qsig_aoc_T_rateArgExtension_choice, hf_index, ett_qsig_aoc_T_rateArgExtension,
5772                                  NULL);
5773
5774   return offset;
5775 }
5776
5777
5778 static const ber_sequence_t qsig_aoc_AocRateArg_sequence[] = {
5779   { &hf_qsig_aoc_aocRate    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocRate },
5780   { &hf_qsig_aoc_rateArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateArgExtension },
5781   { NULL, 0, 0, 0, NULL }
5782 };
5783
5784 static int
5785 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_) {
5786   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5787                                    qsig_aoc_AocRateArg_sequence, hf_index, ett_qsig_aoc_AocRateArg);
5788
5789   return offset;
5790 }
5791
5792
5793 static const ber_sequence_t qsig_aoc_RecordedCurrency_sequence[] = {
5794   { &hf_qsig_aoc_rCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5795   { &hf_qsig_aoc_rAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5796   { NULL, 0, 0, 0, NULL }
5797 };
5798
5799 static int
5800 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_) {
5801   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5802                                    qsig_aoc_RecordedCurrency_sequence, hf_index, ett_qsig_aoc_RecordedCurrency);
5803
5804   return offset;
5805 }
5806
5807
5808 static const value_string qsig_aoc_InterimBillingId_vals[] = {
5809   {   0, "normalCharging" },
5810   {   2, "creditCardCharging" },
5811   { 0, NULL }
5812 };
5813
5814
5815 static int
5816 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_) {
5817   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5818                                   NULL);
5819
5820   return offset;
5821 }
5822
5823
5824 static const ber_sequence_t qsig_aoc_T_specificCurrency_sequence[] = {
5825   { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
5826   { &hf_qsig_aoc_interimBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_InterimBillingId },
5827   { NULL, 0, 0, 0, NULL }
5828 };
5829
5830 static int
5831 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_) {
5832   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5833                                    qsig_aoc_T_specificCurrency_sequence, hf_index, ett_qsig_aoc_T_specificCurrency);
5834
5835   return offset;
5836 }
5837
5838
5839 static const value_string qsig_aoc_T_interimCharge_vals[] = {
5840   {   0, "chargeNotAvailable" },
5841   {   1, "freeOfCharge" },
5842   {   2, "specificCurrency" },
5843   { 0, NULL }
5844 };
5845
5846 static const ber_choice_t qsig_aoc_T_interimCharge_choice[] = {
5847   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5848   {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5849   {   2, &hf_qsig_aoc_specificCurrency, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency },
5850   { 0, NULL, 0, 0, 0, NULL }
5851 };
5852
5853 static int
5854 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_) {
5855   offset = dissect_ber_choice(actx, tree, tvb, offset,
5856                                  qsig_aoc_T_interimCharge_choice, hf_index, ett_qsig_aoc_T_interimCharge,
5857                                  NULL);
5858
5859   return offset;
5860 }
5861
5862
5863 static const value_string qsig_aoc_T_interimArgExtension_vals[] = {
5864   {   1, "extension" },
5865   {   2, "multipleExtension" },
5866   { 0, NULL }
5867 };
5868
5869 static const ber_choice_t qsig_aoc_T_interimArgExtension_choice[] = {
5870   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5871   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
5872   { 0, NULL, 0, 0, 0, NULL }
5873 };
5874
5875 static int
5876 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_) {
5877   offset = dissect_ber_choice(actx, tree, tvb, offset,
5878                                  qsig_aoc_T_interimArgExtension_choice, hf_index, ett_qsig_aoc_T_interimArgExtension,
5879                                  NULL);
5880
5881   return offset;
5882 }
5883
5884
5885 static const ber_sequence_t qsig_aoc_AocInterimArg_sequence[] = {
5886   { &hf_qsig_aoc_interimCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimCharge },
5887   { &hf_qsig_aoc_interimArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimArgExtension },
5888   { NULL, 0, 0, 0, NULL }
5889 };
5890
5891 static int
5892 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_) {
5893   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5894                                    qsig_aoc_AocInterimArg_sequence, hf_index, ett_qsig_aoc_AocInterimArg);
5895
5896   return offset;
5897 }
5898
5899
5900 static const value_string qsig_aoc_FinalBillingId_vals[] = {
5901   {   0, "normalCharging" },
5902   {   2, "creditCardCharging" },
5903   {   3, "callForwardingUnconditional" },
5904   {   4, "callForwardingBusy" },
5905   {   5, "callForwardingNoReply" },
5906   {   6, "callDeflection" },
5907   {   7, "callTransfer" },
5908   { 0, NULL }
5909 };
5910
5911
5912 static int
5913 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_) {
5914   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5915                                   NULL);
5916
5917   return offset;
5918 }
5919
5920
5921 static const ber_sequence_t qsig_aoc_T_specificCurrency_01_sequence[] = {
5922   { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
5923   { &hf_qsig_aoc_finalBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FinalBillingId },
5924   { NULL, 0, 0, 0, NULL }
5925 };
5926
5927 static int
5928 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_) {
5929   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5930                                    qsig_aoc_T_specificCurrency_01_sequence, hf_index, ett_qsig_aoc_T_specificCurrency_01);
5931
5932   return offset;
5933 }
5934
5935
5936 static const value_string qsig_aoc_T_finalCharge_vals[] = {
5937   {   0, "chargeNotAvailable" },
5938   {   1, "freeOfCharge" },
5939   {   2, "specificCurrency" },
5940   { 0, NULL }
5941 };
5942
5943 static const ber_choice_t qsig_aoc_T_finalCharge_choice[] = {
5944   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5945   {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5946   {   2, &hf_qsig_aoc_specificCurrency_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency_01 },
5947   { 0, NULL, 0, 0, 0, NULL }
5948 };
5949
5950 static int
5951 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_) {
5952   offset = dissect_ber_choice(actx, tree, tvb, offset,
5953                                  qsig_aoc_T_finalCharge_choice, hf_index, ett_qsig_aoc_T_finalCharge,
5954                                  NULL);
5955
5956   return offset;
5957 }
5958
5959
5960
5961 static int
5962 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_) {
5963   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5964                                                 NULL);
5965
5966   return offset;
5967 }
5968
5969
5970 static const value_string qsig_aoc_ChargingAssociation_vals[] = {
5971   {   0, "chargeNumber" },
5972   {   1, "chargeIdentifier" },
5973   { 0, NULL }
5974 };
5975
5976 static const ber_choice_t qsig_aoc_ChargingAssociation_choice[] = {
5977   {   0, &hf_qsig_aoc_chargeNumber, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
5978   {   1, &hf_qsig_aoc_chargeIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargeIdentifier },
5979   { 0, NULL, 0, 0, 0, NULL }
5980 };
5981
5982 static int
5983 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_) {
5984   offset = dissect_ber_choice(actx, tree, tvb, offset,
5985                                  qsig_aoc_ChargingAssociation_choice, hf_index, ett_qsig_aoc_ChargingAssociation,
5986                                  NULL);
5987
5988   return offset;
5989 }
5990
5991
5992 static const value_string qsig_aoc_T_finalArgExtension_vals[] = {
5993   {   1, "extension" },
5994   {   2, "multipleExtension" },
5995   { 0, NULL }
5996 };
5997
5998 static const ber_choice_t qsig_aoc_T_finalArgExtension_choice[] = {
5999   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6000   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6001   { 0, NULL, 0, 0, 0, NULL }
6002 };
6003
6004 static int
6005 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_) {
6006   offset = dissect_ber_choice(actx, tree, tvb, offset,
6007                                  qsig_aoc_T_finalArgExtension_choice, hf_index, ett_qsig_aoc_T_finalArgExtension,
6008                                  NULL);
6009
6010   return offset;
6011 }
6012
6013
6014 static const ber_sequence_t qsig_aoc_AocFinalArg_sequence[] = {
6015   { &hf_qsig_aoc_finalCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalCharge },
6016   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6017   { &hf_qsig_aoc_finalArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalArgExtension },
6018   { NULL, 0, 0, 0, NULL }
6019 };
6020
6021 static int
6022 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_) {
6023   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6024                                    qsig_aoc_AocFinalArg_sequence, hf_index, ett_qsig_aoc_AocFinalArg);
6025
6026   return offset;
6027 }
6028
6029
6030 static const value_string qsig_aoc_AdviceModeCombination_vals[] = {
6031   {   0, "rate" },
6032   {   1, "rateInterim" },
6033   {   2, "rateFinal" },
6034   {   3, "interim" },
6035   {   4, "final" },
6036   {   5, "interimFinal" },
6037   {   6, "rateInterimFinal" },
6038   { 0, NULL }
6039 };
6040
6041
6042 static int
6043 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_) {
6044   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6045                                   NULL);
6046
6047   return offset;
6048 }
6049
6050
6051 static const ber_sequence_t qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of[1] = {
6052   { &hf_qsig_aoc_adviceModeCombinations_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
6053 };
6054
6055 static int
6056 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_) {
6057   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6058                                       qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination);
6059
6060   return offset;
6061 }
6062
6063
6064 static const value_string qsig_aoc_T_chargeReqArgExtension_vals[] = {
6065   {   1, "extension" },
6066   {   2, "multipleExtension" },
6067   { 0, NULL }
6068 };
6069
6070 static const ber_choice_t qsig_aoc_T_chargeReqArgExtension_choice[] = {
6071   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6072   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6073   { 0, NULL, 0, 0, 0, NULL }
6074 };
6075
6076 static int
6077 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_) {
6078   offset = dissect_ber_choice(actx, tree, tvb, offset,
6079                                  qsig_aoc_T_chargeReqArgExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqArgExtension,
6080                                  NULL);
6081
6082   return offset;
6083 }
6084
6085
6086 static const ber_sequence_t qsig_aoc_ChargeRequestArg_sequence[] = {
6087   { &hf_qsig_aoc_adviceModeCombinations, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination },
6088   { &hf_qsig_aoc_chargeReqArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqArgExtension },
6089   { NULL, 0, 0, 0, NULL }
6090 };
6091
6092 static int
6093 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_) {
6094   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6095                                    qsig_aoc_ChargeRequestArg_sequence, hf_index, ett_qsig_aoc_ChargeRequestArg);
6096
6097   return offset;
6098 }
6099
6100
6101 static const value_string qsig_aoc_T_chargeReqResExtension_vals[] = {
6102   {   1, "extension" },
6103   {   2, "multipleExtension" },
6104   { 0, NULL }
6105 };
6106
6107 static const ber_choice_t qsig_aoc_T_chargeReqResExtension_choice[] = {
6108   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6109   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6110   { 0, NULL, 0, 0, 0, NULL }
6111 };
6112
6113 static int
6114 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_) {
6115   offset = dissect_ber_choice(actx, tree, tvb, offset,
6116                                  qsig_aoc_T_chargeReqResExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqResExtension,
6117                                  NULL);
6118
6119   return offset;
6120 }
6121
6122
6123 static const ber_sequence_t qsig_aoc_ChargeRequestRes_sequence[] = {
6124   { &hf_qsig_aoc_adviceModeCombination, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
6125   { &hf_qsig_aoc_chargeReqResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqResExtension },
6126   { NULL, 0, 0, 0, NULL }
6127 };
6128
6129 static int
6130 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_) {
6131   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6132                                    qsig_aoc_ChargeRequestRes_sequence, hf_index, ett_qsig_aoc_ChargeRequestRes);
6133
6134   return offset;
6135 }
6136
6137
6138 static const value_string qsig_aoc_DummyArg_vals[] = {
6139   {   0, "none" },
6140   {   1, "extension" },
6141   {   2, "multipleExtension" },
6142   { 0, NULL }
6143 };
6144
6145 static const ber_choice_t qsig_aoc_DummyArg_choice[] = {
6146   {   0, &hf_qsig_aoc_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
6147   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6148   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6149   { 0, NULL, 0, 0, 0, NULL }
6150 };
6151
6152 static int
6153 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_) {
6154   offset = dissect_ber_choice(actx, tree, tvb, offset,
6155                                  qsig_aoc_DummyArg_choice, hf_index, ett_qsig_aoc_DummyArg,
6156                                  NULL);
6157
6158   return offset;
6159 }
6160
6161
6162 static const value_string qsig_aoc_T_completeArgExtension_vals[] = {
6163   {   1, "extension" },
6164   {   2, "multipleExtension" },
6165   { 0, NULL }
6166 };
6167
6168 static const ber_choice_t qsig_aoc_T_completeArgExtension_choice[] = {
6169   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6170   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6171   { 0, NULL, 0, 0, 0, NULL }
6172 };
6173
6174 static int
6175 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_) {
6176   offset = dissect_ber_choice(actx, tree, tvb, offset,
6177                                  qsig_aoc_T_completeArgExtension_choice, hf_index, ett_qsig_aoc_T_completeArgExtension,
6178                                  NULL);
6179
6180   return offset;
6181 }
6182
6183
6184 static const ber_sequence_t qsig_aoc_AocCompleteArg_sequence[] = {
6185   { &hf_qsig_aoc_chargedUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6186   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6187   { &hf_qsig_aoc_completeArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeArgExtension },
6188   { NULL, 0, 0, 0, NULL }
6189 };
6190
6191 static int
6192 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_) {
6193   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6194                                    qsig_aoc_AocCompleteArg_sequence, hf_index, ett_qsig_aoc_AocCompleteArg);
6195
6196   return offset;
6197 }
6198
6199
6200 static const value_string qsig_aoc_ChargingOption_vals[] = {
6201   {   0, "aocFreeOfCharge" },
6202   {   1, "aocContinueCharging" },
6203   {   2, "aocStopCharging" },
6204   { 0, NULL }
6205 };
6206
6207
6208 static int
6209 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_) {
6210   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6211                                   NULL);
6212
6213   return offset;
6214 }
6215
6216
6217 static const value_string qsig_aoc_T_completeResExtension_vals[] = {
6218   {   1, "extension" },
6219   {   2, "multipleExtension" },
6220   { 0, NULL }
6221 };
6222
6223 static const ber_choice_t qsig_aoc_T_completeResExtension_choice[] = {
6224   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6225   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6226   { 0, NULL, 0, 0, 0, NULL }
6227 };
6228
6229 static int
6230 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_) {
6231   offset = dissect_ber_choice(actx, tree, tvb, offset,
6232                                  qsig_aoc_T_completeResExtension_choice, hf_index, ett_qsig_aoc_T_completeResExtension,
6233                                  NULL);
6234
6235   return offset;
6236 }
6237
6238
6239 static const ber_sequence_t qsig_aoc_AocCompleteRes_sequence[] = {
6240   { &hf_qsig_aoc_chargingOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargingOption },
6241   { &hf_qsig_aoc_completeResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeResExtension },
6242   { NULL, 0, 0, 0, NULL }
6243 };
6244
6245 static int
6246 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_) {
6247   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6248                                    qsig_aoc_AocCompleteRes_sequence, hf_index, ett_qsig_aoc_AocCompleteRes);
6249
6250   return offset;
6251 }
6252
6253
6254 static const value_string qsig_aoc_DiversionType_vals[] = {
6255   {   0, "callForwardingUnconditional" },
6256   {   1, "callForwardingBusy" },
6257   {   2, "callForwardingNoReply" },
6258   {   3, "callDeflection" },
6259   { 0, NULL }
6260 };
6261
6262
6263 static int
6264 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_) {
6265   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6266                                   NULL);
6267
6268   return offset;
6269 }
6270
6271
6272 static const value_string qsig_aoc_T_aocDivChargeReqArgExt_vals[] = {
6273   {   1, "extension" },
6274   {   2, "multipleExtension" },
6275   { 0, NULL }
6276 };
6277
6278 static const ber_choice_t qsig_aoc_T_aocDivChargeReqArgExt_choice[] = {
6279   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6280   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6281   { 0, NULL, 0, 0, 0, NULL }
6282 };
6283
6284 static int
6285 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_) {
6286   offset = dissect_ber_choice(actx, tree, tvb, offset,
6287                                  qsig_aoc_T_aocDivChargeReqArgExt_choice, hf_index, ett_qsig_aoc_T_aocDivChargeReqArgExt,
6288                                  NULL);
6289
6290   return offset;
6291 }
6292
6293
6294 static const ber_sequence_t qsig_aoc_AocDivChargeReqArg_sequence[] = {
6295   { &hf_qsig_aoc_divertingUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6296   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6297   { &hf_qsig_aoc_diversionType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_DiversionType },
6298   { &hf_qsig_aoc_aocDivChargeReqArgExt, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocDivChargeReqArgExt },
6299   { NULL, 0, 0, 0, NULL }
6300 };
6301
6302 static int
6303 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_) {
6304   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6305                                    qsig_aoc_AocDivChargeReqArg_sequence, hf_index, ett_qsig_aoc_AocDivChargeReqArg);
6306
6307   return offset;
6308 }
6309
6310 /*--- PDUs ---*/
6311
6312 static int dissect_qsig_aoc_AocRateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6313   int offset = 0;
6314   asn1_ctx_t asn1_ctx;
6315   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6316   offset = dissect_qsig_aoc_AocRateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocRateArg_PDU);
6317   return offset;
6318 }
6319 static int dissect_qsig_aoc_AocInterimArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6320   int offset = 0;
6321   asn1_ctx_t asn1_ctx;
6322   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6323   offset = dissect_qsig_aoc_AocInterimArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU);
6324   return offset;
6325 }
6326 static int dissect_qsig_aoc_AocFinalArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6327   int offset = 0;
6328   asn1_ctx_t asn1_ctx;
6329   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6330   offset = dissect_qsig_aoc_AocFinalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU);
6331   return offset;
6332 }
6333 static int dissect_qsig_aoc_ChargeRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6334   int offset = 0;
6335   asn1_ctx_t asn1_ctx;
6336   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6337   offset = dissect_qsig_aoc_ChargeRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU);
6338   return offset;
6339 }
6340 static int dissect_qsig_aoc_ChargeRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6341   int offset = 0;
6342   asn1_ctx_t asn1_ctx;
6343   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6344   offset = dissect_qsig_aoc_ChargeRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU);
6345   return offset;
6346 }
6347 static int dissect_qsig_aoc_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6348   int offset = 0;
6349   asn1_ctx_t asn1_ctx;
6350   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6351   offset = dissect_qsig_aoc_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_DummyArg_PDU);
6352   return offset;
6353 }
6354 static int dissect_qsig_aoc_AocCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6355   int offset = 0;
6356   asn1_ctx_t asn1_ctx;
6357   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6358   offset = dissect_qsig_aoc_AocCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU);
6359   return offset;
6360 }
6361 static int dissect_qsig_aoc_AocCompleteRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6362   int offset = 0;
6363   asn1_ctx_t asn1_ctx;
6364   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6365   offset = dissect_qsig_aoc_AocCompleteRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU);
6366   return offset;
6367 }
6368 static int dissect_qsig_aoc_AocDivChargeReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6369   int offset = 0;
6370   asn1_ctx_t asn1_ctx;
6371   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6372   offset = dissect_qsig_aoc_AocDivChargeReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU);
6373   return offset;
6374 }
6375 static int dissect_qsig_aoc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6376   int offset = 0;
6377   asn1_ctx_t asn1_ctx;
6378   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6379   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_Extension_PDU);
6380   return offset;
6381 }
6382
6383
6384 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
6385
6386
6387 static const ber_sequence_t qsig_re_SEQUENCE_OF_Extension_sequence_of[1] = {
6388   { &hf_qsig_re_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6389 };
6390
6391 static int
6392 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_) {
6393   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6394                                       qsig_re_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_re_SEQUENCE_OF_Extension);
6395
6396   return offset;
6397 }
6398
6399
6400 static const value_string qsig_re_T_argumentExtension_vals[] = {
6401   {   6, "extension" },
6402   {   7, "multipleExtension" },
6403   { 0, NULL }
6404 };
6405
6406 static const ber_choice_t qsig_re_T_argumentExtension_choice[] = {
6407   {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6408   {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
6409   { 0, NULL, 0, 0, 0, NULL }
6410 };
6411
6412 static int
6413 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_) {
6414   offset = dissect_ber_choice(actx, tree, tvb, offset,
6415                                  qsig_re_T_argumentExtension_choice, hf_index, ett_qsig_re_T_argumentExtension,
6416                                  NULL);
6417
6418   return offset;
6419 }
6420
6421
6422 static const ber_sequence_t qsig_re_ReAlertingArg_sequence[] = {
6423   { &hf_qsig_re_alertedNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberScreened },
6424   { &hf_qsig_re_alertedName , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6425   { &hf_qsig_re_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_re_T_argumentExtension },
6426   { NULL, 0, 0, 0, NULL }
6427 };
6428
6429 static int
6430 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_) {
6431   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6432                                    qsig_re_ReAlertingArg_sequence, hf_index, ett_qsig_re_ReAlertingArg);
6433
6434   return offset;
6435 }
6436
6437
6438 static const value_string qsig_re_T_argumentExtension_01_vals[] = {
6439   {   6, "extension" },
6440   {   7, "multipleExtension" },
6441   { 0, NULL }
6442 };
6443
6444 static const ber_choice_t qsig_re_T_argumentExtension_01_choice[] = {
6445   {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6446   {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
6447   { 0, NULL, 0, 0, 0, NULL }
6448 };
6449
6450 static int
6451 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_) {
6452   offset = dissect_ber_choice(actx, tree, tvb, offset,
6453                                  qsig_re_T_argumentExtension_01_choice, hf_index, ett_qsig_re_T_argumentExtension_01,
6454                                  NULL);
6455
6456   return offset;
6457 }
6458
6459
6460 static const ber_sequence_t qsig_re_ReAnswerArg_sequence[] = {
6461   { &hf_qsig_re_connectedNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberScreened },
6462   { &hf_qsig_re_connectedSubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
6463   { &hf_qsig_re_connectedName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6464   { &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 },
6465   { NULL, 0, 0, 0, NULL }
6466 };
6467
6468 static int
6469 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_) {
6470   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6471                                    qsig_re_ReAnswerArg_sequence, hf_index, ett_qsig_re_ReAnswerArg);
6472
6473   return offset;
6474 }
6475
6476 /*--- PDUs ---*/
6477
6478 static int dissect_qsig_re_ReAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6479   int offset = 0;
6480   asn1_ctx_t asn1_ctx;
6481   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6482   offset = dissect_qsig_re_ReAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAlertingArg_PDU);
6483   return offset;
6484 }
6485 static int dissect_qsig_re_ReAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6486   int offset = 0;
6487   asn1_ctx_t asn1_ctx;
6488   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6489   offset = dissect_qsig_re_ReAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAnswerArg_PDU);
6490   return offset;
6491 }
6492
6493
6494 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
6495
6496
6497 static const value_string qsig_sync_Action_vals[] = {
6498   {   0, "enslavement" },
6499   {   1, "holdon" },
6500   { 0, NULL }
6501 };
6502
6503
6504 static int
6505 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_) {
6506   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6507                                                 NULL);
6508
6509   return offset;
6510 }
6511
6512
6513 static const ber_sequence_t qsig_sync_SEQUENCE_OF_Extension_sequence_of[1] = {
6514   { &hf_qsig_sync_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6515 };
6516
6517 static int
6518 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_) {
6519   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6520                                       qsig_sync_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sync_SEQUENCE_OF_Extension);
6521
6522   return offset;
6523 }
6524
6525
6526 static const value_string qsig_sync_ArgExtension_vals[] = {
6527   {   1, "extension" },
6528   {   2, "sequOfExtn" },
6529   { 0, NULL }
6530 };
6531
6532 static const ber_choice_t qsig_sync_ArgExtension_choice[] = {
6533   {   1, &hf_qsig_sync_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6534   {   2, &hf_qsig_sync_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sync_SEQUENCE_OF_Extension },
6535   { 0, NULL, 0, 0, 0, NULL }
6536 };
6537
6538 static int
6539 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_) {
6540   offset = dissect_ber_choice(actx, tree, tvb, offset,
6541                                  qsig_sync_ArgExtension_choice, hf_index, ett_qsig_sync_ArgExtension,
6542                                  NULL);
6543
6544   return offset;
6545 }
6546
6547
6548 static const ber_sequence_t qsig_sync_SynchronizationReqArg_sequence[] = {
6549   { &hf_qsig_sync_action    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
6550   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6551   { NULL, 0, 0, 0, NULL }
6552 };
6553
6554 static int
6555 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_) {
6556   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6557                                    qsig_sync_SynchronizationReqArg_sequence, hf_index, ett_qsig_sync_SynchronizationReqArg);
6558
6559   return offset;
6560 }
6561
6562
6563
6564 static int
6565 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_) {
6566   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
6567
6568   return offset;
6569 }
6570
6571
6572 static const ber_sequence_t qsig_sync_SynchronizationReqRes_sequence[] = {
6573   { &hf_qsig_sync_action    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
6574   { &hf_qsig_sync_response  , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_BOOLEAN },
6575   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6576   { NULL, 0, 0, 0, NULL }
6577 };
6578
6579 static int
6580 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_) {
6581   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6582                                    qsig_sync_SynchronizationReqRes_sequence, hf_index, ett_qsig_sync_SynchronizationReqRes);
6583
6584   return offset;
6585 }
6586
6587
6588 static const value_string qsig_sync_T_stateinfo_vals[] = {
6589   {   0, "freerunning" },
6590   {   1, "idle" },
6591   { 0, NULL }
6592 };
6593
6594
6595 static int
6596 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_) {
6597   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6598                                                 NULL);
6599
6600   return offset;
6601 }
6602
6603
6604 static const ber_sequence_t qsig_sync_SynchronizationInfoArg_sequence[] = {
6605   { &hf_qsig_sync_stateinfo , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_T_stateinfo },
6606   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6607   { NULL, 0, 0, 0, NULL }
6608 };
6609
6610 static int
6611 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_) {
6612   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6613                                    qsig_sync_SynchronizationInfoArg_sequence, hf_index, ett_qsig_sync_SynchronizationInfoArg);
6614
6615   return offset;
6616 }
6617
6618 /*--- PDUs ---*/
6619
6620 static int dissect_qsig_sync_SynchronizationReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6621   int offset = 0;
6622   asn1_ctx_t asn1_ctx;
6623   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6624   offset = dissect_qsig_sync_SynchronizationReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU);
6625   return offset;
6626 }
6627 static int dissect_qsig_sync_SynchronizationReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6628   int offset = 0;
6629   asn1_ctx_t asn1_ctx;
6630   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6631   offset = dissect_qsig_sync_SynchronizationReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU);
6632   return offset;
6633 }
6634 static int dissect_qsig_sync_SynchronizationInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6635   int offset = 0;
6636   asn1_ctx_t asn1_ctx;
6637   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6638   offset = dissect_qsig_sync_SynchronizationInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU);
6639   return offset;
6640 }
6641 static int dissect_qsig_sync_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6642   int offset = 0;
6643   asn1_ctx_t asn1_ctx;
6644   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6645   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_Extension_PDU);
6646   return offset;
6647 }
6648
6649
6650 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
6651
6652
6653 static const value_string qsig_cint_CintCause_vals[] = {
6654   {   0, "unknown" },
6655   {   1, "cintBnan" },
6656   {   2, "cintBus" },
6657   {   3, "cintCug" },
6658   {   4, "cintDnd" },
6659   {   5, "cintIbd" },
6660   {   6, "cintInn" },
6661   {   7, "cintMob1" },
6662   {   8, "cintMob2" },
6663   {   9, "cintMob3" },
6664   {  10, "cintNcmp" },
6665   {  11, "cintNcong" },
6666   {  12, "cintNre" },
6667   {  13, "cintOos" },
6668   {  14, "cintRrs" },
6669   {  15, "cintTbnan" },
6670   {  16, "cintTnre" },
6671   {  17, "cintTrans" },
6672   {  18, "cintUpl" },
6673   {  19, "cintInvDiv" },
6674   {  20, "cintHold" },
6675   { 0, NULL }
6676 };
6677
6678
6679 static int
6680 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_) {
6681   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6682                                                 NULL);
6683
6684   return offset;
6685 }
6686
6687
6688
6689 static int
6690 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_) {
6691   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6692
6693   return offset;
6694 }
6695
6696
6697 static const ber_sequence_t qsig_cint_SEQUENCE_OF_Extension_sequence_of[1] = {
6698   { &hf_qsig_cint_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6699 };
6700
6701 static int
6702 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_) {
6703   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6704                                       qsig_cint_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cint_SEQUENCE_OF_Extension);
6705
6706   return offset;
6707 }
6708
6709
6710 static const value_string qsig_cint_CintExtension_vals[] = {
6711   {   0, "none" },
6712   {   1, "single" },
6713   {   2, "multiple" },
6714   { 0, NULL }
6715 };
6716
6717 static const ber_choice_t qsig_cint_CintExtension_choice[] = {
6718   {   0, &hf_qsig_cint_none      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_NULL },
6719   {   1, &hf_qsig_cint_single    , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6720   {   2, &hf_qsig_cint_multiple  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cint_SEQUENCE_OF_Extension },
6721   { 0, NULL, 0, 0, 0, NULL }
6722 };
6723
6724 static int
6725 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_) {
6726   offset = dissect_ber_choice(actx, tree, tvb, offset,
6727                                  qsig_cint_CintExtension_choice, hf_index, ett_qsig_cint_CintExtension,
6728                                  NULL);
6729
6730   return offset;
6731 }
6732
6733
6734 static const ber_sequence_t qsig_cint_CintInformation1Arg_sequence[] = {
6735   { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
6736   { &hf_qsig_cint_interceptedToNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6737   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6738   { NULL, 0, 0, 0, NULL }
6739 };
6740
6741 static int
6742 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_) {
6743   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6744                                    qsig_cint_CintInformation1Arg_sequence, hf_index, ett_qsig_cint_CintInformation1Arg);
6745
6746   return offset;
6747 }
6748
6749
6750 static const ber_sequence_t qsig_cint_CintInformation2Arg_sequence[] = {
6751   { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
6752   { &hf_qsig_cint_calledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6753   { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6754   { &hf_qsig_cint_calledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6755   { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6756   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6757   { NULL, 0, 0, 0, NULL }
6758 };
6759
6760 static int
6761 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_) {
6762   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6763                                    qsig_cint_CintInformation2Arg_sequence, hf_index, ett_qsig_cint_CintInformation2Arg);
6764
6765   return offset;
6766 }
6767
6768
6769 static const value_string qsig_cint_Condition_vals[] = {
6770   {   0, "unknown" },
6771   {   2, "cintBus" },
6772   {   3, "cintCug" },
6773   {   4, "cintDnd" },
6774   {   5, "cintIbd" },
6775   {   6, "cintInn" },
6776   {   7, "cintMob1" },
6777   {   8, "cintMob2" },
6778   {   9, "cintMob3" },
6779   {  10, "cintNcmp" },
6780   {  11, "cintNcong" },
6781   {  13, "cintOos" },
6782   {  14, "cintRrs" },
6783   {  17, "cintTrans" },
6784   {  18, "cintUpl" },
6785   {  19, "cintInvDiv" },
6786   { 0, NULL }
6787 };
6788
6789
6790 static int
6791 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_) {
6792   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6793                                                 NULL);
6794
6795   return offset;
6796 }
6797
6798
6799 static const ber_sequence_t qsig_cint_CintCondArg_sequence[] = {
6800   { &hf_qsig_cint_interceptionCause_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_Condition },
6801   { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6802   { &hf_qsig_cint_calledName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6803   { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6804   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6805   { NULL, 0, 0, 0, NULL }
6806 };
6807
6808 static int
6809 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_) {
6810   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6811                                    qsig_cint_CintCondArg_sequence, hf_index, ett_qsig_cint_CintCondArg);
6812
6813   return offset;
6814 }
6815
6816 /*--- PDUs ---*/
6817
6818 static int dissect_qsig_cint_CintInformation1Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6819   int offset = 0;
6820   asn1_ctx_t asn1_ctx;
6821   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6822   offset = dissect_qsig_cint_CintInformation1Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU);
6823   return offset;
6824 }
6825 static int dissect_qsig_cint_CintInformation2Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6826   int offset = 0;
6827   asn1_ctx_t asn1_ctx;
6828   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6829   offset = dissect_qsig_cint_CintInformation2Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU);
6830   return offset;
6831 }
6832 static int dissect_qsig_cint_CintCondArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6833   int offset = 0;
6834   asn1_ctx_t asn1_ctx;
6835   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6836   offset = dissect_qsig_cint_CintCondArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintCondArg_PDU);
6837   return offset;
6838 }
6839 static int dissect_qsig_cint_CintExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6840   int offset = 0;
6841   asn1_ctx_t asn1_ctx;
6842   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6843   offset = dissect_qsig_cint_CintExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintExtension_PDU);
6844   return offset;
6845 }
6846
6847
6848 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
6849
6850
6851 static const asn_namedbit qsig_cmn_FeatureIdList_bits[] = {
6852   {  0, &hf_qsig_cmn_FeatureIdList_reserved, -1, -1, "reserved", NULL },
6853   {  1, &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported, -1, -1, "ssCFreRoutingSupported", NULL },
6854   {  2, &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported, -1, -1, "ssCTreRoutingSupported", NULL },
6855   {  3, &hf_qsig_cmn_FeatureIdList_ssCCBSpossible, -1, -1, "ssCCBSpossible", NULL },
6856   {  4, &hf_qsig_cmn_FeatureIdList_ssCCNRpossible, -1, -1, "ssCCNRpossible", NULL },
6857   {  5, &hf_qsig_cmn_FeatureIdList_ssCOsupported, -1, -1, "ssCOsupported", NULL },
6858   {  6, &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease, -1, -1, "ssCIforcedRelease", NULL },
6859   {  7, &hf_qsig_cmn_FeatureIdList_ssCIisolation, -1, -1, "ssCIisolation", NULL },
6860   {  8, &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy, -1, -1, "ssCIwaitOnBusy", NULL },
6861   {  9, &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx, -1, -1, "ssAOCsupportChargeRateProvAtGatewPinx", NULL },
6862   { 10, &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx, -1, -1, "ssAOCsupportInterimChargeProvAtGatewPinx", NULL },
6863   { 11, &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx, -1, -1, "ssAOCsupportFinalChargeProvAtGatewPinx", NULL },
6864   { 12, &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx, -1, -1, "anfPRsupportedAtCooperatingPinx", NULL },
6865   { 13, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate, -1, -1, "anfCINTcanInterceptImmediate", NULL },
6866   { 14, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed, -1, -1, "anfCINTcanInterceptDelayed", NULL },
6867   { 15, &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported, -1, -1, "anfWTMIreRoutingSupported", NULL },
6868   { 16, &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported, -1, -1, "anfPUMIreRoutingSupported", NULL },
6869   { 17, &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported, -1, -1, "ssSSCTreRoutingSupported", NULL },
6870   { 0, NULL, 0, 0, NULL, NULL }
6871 };
6872
6873 static int
6874 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_) {
6875   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6876                                     qsig_cmn_FeatureIdList_bits, hf_index, ett_qsig_cmn_FeatureIdList,
6877                                     NULL);
6878
6879   return offset;
6880 }
6881
6882
6883
6884 static int
6885 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_) {
6886   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6887                                                 NULL);
6888
6889   return offset;
6890 }
6891
6892
6893
6894 static int
6895 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_) {
6896   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
6897                                             actx, tree, tvb, offset, hf_index,
6898                                             NULL);
6899
6900   return offset;
6901 }
6902
6903
6904 static const ber_sequence_t qsig_cmn_EquipmentId_sequence[] = {
6905   { &hf_qsig_cmn_nodeId     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6906   { &hf_qsig_cmn_groupId    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6907   { &hf_qsig_cmn_unitId     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6908   { NULL, 0, 0, 0, NULL }
6909 };
6910
6911 static int
6912 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_) {
6913   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6914                                    qsig_cmn_EquipmentId_sequence, hf_index, ett_qsig_cmn_EquipmentId);
6915
6916   return offset;
6917 }
6918
6919
6920 static const value_string qsig_cmn_PartyCategory_vals[] = {
6921   {   0, "unknown" },
6922   {   1, "extension" },
6923   {   2, "pisnAttendant" },
6924   {   3, "emergExt" },
6925   { 0, NULL }
6926 };
6927
6928
6929 static int
6930 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_) {
6931   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6932                                   NULL);
6933
6934   return offset;
6935 }
6936
6937
6938 static const ber_sequence_t qsig_cmn_SEQUENCE_OF_Extension_sequence_of[1] = {
6939   { &hf_qsig_cmn_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6940 };
6941
6942 static int
6943 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_) {
6944   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6945                                       qsig_cmn_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cmn_SEQUENCE_OF_Extension);
6946
6947   return offset;
6948 }
6949
6950
6951 static const value_string qsig_cmn_T_extension_vals[] = {
6952   {   7, "single" },
6953   {   8, "multiple" },
6954   { 0, NULL }
6955 };
6956
6957 static const ber_choice_t qsig_cmn_T_extension_choice[] = {
6958   {   7, &hf_qsig_cmn_single     , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6959   {   8, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
6960   { 0, NULL, 0, 0, 0, NULL }
6961 };
6962
6963 static int
6964 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_) {
6965   offset = dissect_ber_choice(actx, tree, tvb, offset,
6966                                  qsig_cmn_T_extension_choice, hf_index, ett_qsig_cmn_T_extension,
6967                                  NULL);
6968
6969   return offset;
6970 }
6971
6972
6973 static const ber_sequence_t qsig_cmn_CmnArg_sequence[] = {
6974   { &hf_qsig_cmn_featureIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_FeatureIdList },
6975   { &hf_qsig_cmn_ssDNDOprotectionLevel, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
6976   { &hf_qsig_cmn_ssCIprotectionLevel, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
6977   { &hf_qsig_cmn_equipmentIdentity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_EquipmentId },
6978   { &hf_qsig_cmn_partyCategory, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_PartyCategory },
6979   { &hf_qsig_cmn_extension  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cmn_T_extension },
6980   { NULL, 0, 0, 0, NULL }
6981 };
6982
6983 static int
6984 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_) {
6985   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6986                                    qsig_cmn_CmnArg_sequence, hf_index, ett_qsig_cmn_CmnArg);
6987
6988   return offset;
6989 }
6990
6991
6992
6993 static int
6994 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_) {
6995   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6996
6997   return offset;
6998 }
6999
7000
7001 static const value_string qsig_cmn_DummyArg_vals[] = {
7002   {   0, "null" },
7003   {   1, "single" },
7004   {   2, "multiple" },
7005   { 0, NULL }
7006 };
7007
7008 static const ber_choice_t qsig_cmn_DummyArg_choice[] = {
7009   {   0, &hf_qsig_cmn_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cmn_NULL },
7010   {   1, &hf_qsig_cmn_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7011   {   2, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
7012   { 0, NULL, 0, 0, 0, NULL }
7013 };
7014
7015 static int
7016 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_) {
7017   offset = dissect_ber_choice(actx, tree, tvb, offset,
7018                                  qsig_cmn_DummyArg_choice, hf_index, ett_qsig_cmn_DummyArg,
7019                                  NULL);
7020
7021   return offset;
7022 }
7023
7024 /*--- PDUs ---*/
7025
7026 static int dissect_qsig_cmn_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7027   int offset = 0;
7028   asn1_ctx_t asn1_ctx;
7029   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7030   offset = dissect_qsig_cmn_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_DummyArg_PDU);
7031   return offset;
7032 }
7033 static int dissect_qsig_cmn_CmnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7034   int offset = 0;
7035   asn1_ctx_t asn1_ctx;
7036   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7037   offset = dissect_qsig_cmn_CmnArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_CmnArg_PDU);
7038   return offset;
7039 }
7040
7041
7042 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
7043
7044
7045 static const value_string qsig_cpi_CPICapabilityLevel_vals[] = {
7046   {   1, "interruptionLowPriority" },
7047   {   2, "interruptionMediumPriority" },
7048   {   3, "interruptionHighPriority" },
7049   { 0, NULL }
7050 };
7051
7052
7053 static int
7054 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_) {
7055   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7056                                   NULL);
7057
7058   return offset;
7059 }
7060
7061
7062 static const ber_sequence_t qsig_cpi_SEQUENCE_OF_Extension_sequence_of[1] = {
7063   { &hf_qsig_cpi_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7064 };
7065
7066 static int
7067 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_) {
7068   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7069                                       qsig_cpi_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cpi_SEQUENCE_OF_Extension);
7070
7071   return offset;
7072 }
7073
7074
7075 static const value_string qsig_cpi_T_argumentExtension_vals[] = {
7076   {   1, "extension" },
7077   {   2, "sequenceOfExtn" },
7078   { 0, NULL }
7079 };
7080
7081 static const ber_choice_t qsig_cpi_T_argumentExtension_choice[] = {
7082   {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7083   {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
7084   { 0, NULL, 0, 0, 0, NULL }
7085 };
7086
7087 static int
7088 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_) {
7089   offset = dissect_ber_choice(actx, tree, tvb, offset,
7090                                  qsig_cpi_T_argumentExtension_choice, hf_index, ett_qsig_cpi_T_argumentExtension,
7091                                  NULL);
7092
7093   return offset;
7094 }
7095
7096
7097 static const ber_sequence_t qsig_cpi_CPIRequestArg_sequence[] = {
7098   { &hf_qsig_cpi_cpiCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPICapabilityLevel },
7099   { &hf_qsig_cpi_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cpi_T_argumentExtension },
7100   { NULL, 0, 0, 0, NULL }
7101 };
7102
7103 static int
7104 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_) {
7105   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7106                                    qsig_cpi_CPIRequestArg_sequence, hf_index, ett_qsig_cpi_CPIRequestArg);
7107
7108   return offset;
7109 }
7110
7111
7112 static const value_string qsig_cpi_CPIProtectionLevel_vals[] = {
7113   {   0, "noProtection" },
7114   {   1, "lowProtection" },
7115   {   2, "mediumProtection" },
7116   {   3, "totalProtection" },
7117   { 0, NULL }
7118 };
7119
7120
7121 static int
7122 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_) {
7123   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7124                                   NULL);
7125
7126   return offset;
7127 }
7128
7129
7130 static const value_string qsig_cpi_T_argumentExtension_01_vals[] = {
7131   {   1, "extension" },
7132   {   2, "sequenceOfExtn" },
7133   { 0, NULL }
7134 };
7135
7136 static const ber_choice_t qsig_cpi_T_argumentExtension_01_choice[] = {
7137   {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7138   {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
7139   { 0, NULL, 0, 0, 0, NULL }
7140 };
7141
7142 static int
7143 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_) {
7144   offset = dissect_ber_choice(actx, tree, tvb, offset,
7145                                  qsig_cpi_T_argumentExtension_01_choice, hf_index, ett_qsig_cpi_T_argumentExtension_01,
7146                                  NULL);
7147
7148   return offset;
7149 }
7150
7151
7152 static const ber_sequence_t qsig_cpi_CPIPRequestArg_sequence[] = {
7153   { &hf_qsig_cpi_cpiProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPIProtectionLevel },
7154   { &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 },
7155   { NULL, 0, 0, 0, NULL }
7156 };
7157
7158 static int
7159 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_) {
7160   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7161                                    qsig_cpi_CPIPRequestArg_sequence, hf_index, ett_qsig_cpi_CPIPRequestArg);
7162
7163   return offset;
7164 }
7165
7166 /*--- PDUs ---*/
7167
7168 static int dissect_qsig_cpi_CPIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7169   int offset = 0;
7170   asn1_ctx_t asn1_ctx;
7171   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7172   offset = dissect_qsig_cpi_CPIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU);
7173   return offset;
7174 }
7175 static int dissect_qsig_cpi_CPIPRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7176   int offset = 0;
7177   asn1_ctx_t asn1_ctx;
7178   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7179   offset = dissect_qsig_cpi_CPIPRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU);
7180   return offset;
7181 }
7182
7183
7184 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
7185
7186
7187
7188 static int
7189 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_) {
7190   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7191                                        NULL);
7192
7193   return offset;
7194 }
7195
7196
7197 static const value_string qsig_pumr_RpumUserId_vals[] = {
7198   {   0, "pumNumber" },
7199   {   1, "alternativeId" },
7200   { 0, NULL }
7201 };
7202
7203 static const ber_choice_t qsig_pumr_RpumUserId_choice[] = {
7204   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7205   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7206   { 0, NULL, 0, 0, 0, NULL }
7207 };
7208
7209 static int
7210 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_) {
7211   offset = dissect_ber_choice(actx, tree, tvb, offset,
7212                                  qsig_pumr_RpumUserId_choice, hf_index, ett_qsig_pumr_RpumUserId,
7213                                  NULL);
7214
7215   return offset;
7216 }
7217
7218
7219 static const value_string qsig_pumr_ServiceOption_vals[] = {
7220   {   0, "inCallRegistration" },
7221   {   1, "outCallRegistration" },
7222   {   2, "allCallRegistration" },
7223   { 0, NULL }
7224 };
7225
7226
7227 static int
7228 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_) {
7229   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7230                                   NULL);
7231
7232   return offset;
7233 }
7234
7235
7236
7237 static int
7238 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_) {
7239   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7240                                                 NULL);
7241
7242   return offset;
7243 }
7244
7245
7246 static const ber_sequence_t qsig_pumr_SessionParams_sequence[] = {
7247   { &hf_qsig_pumr_durationOfSession, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
7248   { &hf_qsig_pumr_numberOfOutgCalls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
7249   { NULL, 0, 0, 0, NULL }
7250 };
7251
7252 static int
7253 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_) {
7254   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7255                                    qsig_pumr_SessionParams_sequence, hf_index, ett_qsig_pumr_SessionParams);
7256
7257   return offset;
7258 }
7259
7260
7261
7262 static int
7263 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_) {
7264   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7265                                        NULL);
7266
7267   return offset;
7268 }
7269
7270
7271 static const value_string qsig_pumr_T_userPin_vals[] = {
7272   {   6, "pumUserPin" },
7273   {   7, "activatingUserPin" },
7274   { 0, NULL }
7275 };
7276
7277 static const ber_choice_t qsig_pumr_T_userPin_choice[] = {
7278   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7279   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7280   { 0, NULL, 0, 0, 0, NULL }
7281 };
7282
7283 static int
7284 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_) {
7285   offset = dissect_ber_choice(actx, tree, tvb, offset,
7286                                  qsig_pumr_T_userPin_choice, hf_index, ett_qsig_pumr_T_userPin,
7287                                  NULL);
7288
7289   return offset;
7290 }
7291
7292
7293 static const ber_sequence_t qsig_pumr_SEQUENCE_OF_Extension_sequence_of[1] = {
7294   { &hf_qsig_pumr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7295 };
7296
7297 static int
7298 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_) {
7299   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7300                                       qsig_pumr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumr_SEQUENCE_OF_Extension);
7301
7302   return offset;
7303 }
7304
7305
7306 static const value_string qsig_pumr_PumrExtension_vals[] = {
7307   {   4, "extension" },
7308   {   5, "sequOfExtn" },
7309   { 0, NULL }
7310 };
7311
7312 static const ber_choice_t qsig_pumr_PumrExtension_choice[] = {
7313   {   4, &hf_qsig_pumr_extension , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7314   {   5, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
7315   { 0, NULL, 0, 0, 0, NULL }
7316 };
7317
7318 static int
7319 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_) {
7320   offset = dissect_ber_choice(actx, tree, tvb, offset,
7321                                  qsig_pumr_PumrExtension_choice, hf_index, ett_qsig_pumr_PumrExtension,
7322                                  NULL);
7323
7324   return offset;
7325 }
7326
7327
7328 static const ber_sequence_t qsig_pumr_PumRegistrArg_sequence[] = {
7329   { &hf_qsig_pumr_pumRUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_RpumUserId },
7330   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7331   { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7332   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7333   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7334   { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7335   { &hf_qsig_pumr_userPin   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_userPin },
7336   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7337   { NULL, 0, 0, 0, NULL }
7338 };
7339
7340 static int
7341 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_) {
7342   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7343                                    qsig_pumr_PumRegistrArg_sequence, hf_index, ett_qsig_pumr_PumRegistrArg);
7344
7345   return offset;
7346 }
7347
7348
7349 static const ber_sequence_t qsig_pumr_PumRegistrRes_sequence[] = {
7350   { &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7351   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7352   { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7353   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7354   { NULL, 0, 0, 0, NULL }
7355 };
7356
7357 static int
7358 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_) {
7359   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7360                                    qsig_pumr_PumRegistrRes_sequence, hf_index, ett_qsig_pumr_PumRegistrRes);
7361
7362   return offset;
7363 }
7364
7365
7366
7367 static int
7368 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_) {
7369   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7370
7371   return offset;
7372 }
7373
7374
7375 static const value_string qsig_pumr_DummyRes_vals[] = {
7376   {   0, "null" },
7377   {   1, "extension" },
7378   {   2, "sequOfExtn" },
7379   { 0, NULL }
7380 };
7381
7382 static const ber_choice_t qsig_pumr_DummyRes_choice[] = {
7383   {   0, &hf_qsig_pumr_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_NULL },
7384   {   1, &hf_qsig_pumr_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7385   {   2, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
7386   { 0, NULL, 0, 0, 0, NULL }
7387 };
7388
7389 static int
7390 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_) {
7391   offset = dissect_ber_choice(actx, tree, tvb, offset,
7392                                  qsig_pumr_DummyRes_choice, hf_index, ett_qsig_pumr_DummyRes,
7393                                  NULL);
7394
7395   return offset;
7396 }
7397
7398
7399 static const value_string qsig_pumr_XpumUserId_vals[] = {
7400   {   0, "pumNumber" },
7401   {   1, "alternativeId" },
7402   { 0, NULL }
7403 };
7404
7405 static const ber_choice_t qsig_pumr_XpumUserId_choice[] = {
7406   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7407   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7408   { 0, NULL, 0, 0, 0, NULL }
7409 };
7410
7411 static int
7412 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_) {
7413   offset = dissect_ber_choice(actx, tree, tvb, offset,
7414                                  qsig_pumr_XpumUserId_choice, hf_index, ett_qsig_pumr_XpumUserId,
7415                                  NULL);
7416
7417   return offset;
7418 }
7419
7420
7421 static const ber_sequence_t qsig_pumr_PumDelRegArg_sequence[] = {
7422   { &hf_qsig_pumr_pumXUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_XpumUserId },
7423   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7424   { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7425   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7426   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7427   { NULL, 0, 0, 0, NULL }
7428 };
7429
7430 static int
7431 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_) {
7432   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7433                                    qsig_pumr_PumDelRegArg_sequence, hf_index, ett_qsig_pumr_PumDelRegArg);
7434
7435   return offset;
7436 }
7437
7438
7439 static const value_string qsig_pumr_DpumUserId_vals[] = {
7440   {   0, "pumNumber" },
7441   {   1, "alternativeId" },
7442   { 0, NULL }
7443 };
7444
7445 static const ber_choice_t qsig_pumr_DpumUserId_choice[] = {
7446   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7447   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7448   { 0, NULL, 0, 0, 0, NULL }
7449 };
7450
7451 static int
7452 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_) {
7453   offset = dissect_ber_choice(actx, tree, tvb, offset,
7454                                  qsig_pumr_DpumUserId_choice, hf_index, ett_qsig_pumr_DpumUserId,
7455                                  NULL);
7456
7457   return offset;
7458 }
7459
7460
7461 static const value_string qsig_pumr_T_userPin_01_vals[] = {
7462   {   6, "pumUserPin" },
7463   {   7, "activatingUserPin" },
7464   { 0, NULL }
7465 };
7466
7467 static const ber_choice_t qsig_pumr_T_userPin_01_choice[] = {
7468   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7469   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7470   { 0, NULL, 0, 0, 0, NULL }
7471 };
7472
7473 static int
7474 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_) {
7475   offset = dissect_ber_choice(actx, tree, tvb, offset,
7476                                  qsig_pumr_T_userPin_01_choice, hf_index, ett_qsig_pumr_T_userPin_01,
7477                                  NULL);
7478
7479   return offset;
7480 }
7481
7482
7483 static const ber_sequence_t qsig_pumr_PumDe_regArg_sequence[] = {
7484   { &hf_qsig_pumr_pumDUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_DpumUserId },
7485   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7486   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7487   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7488   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7489   { &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 },
7490   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7491   { NULL, 0, 0, 0, NULL }
7492 };
7493
7494 static int
7495 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_) {
7496   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7497                                    qsig_pumr_PumDe_regArg_sequence, hf_index, ett_qsig_pumr_PumDe_regArg);
7498
7499   return offset;
7500 }
7501
7502
7503 static const value_string qsig_pumr_IpumUserId_vals[] = {
7504   {   0, "pumNumber" },
7505   {   1, "alternativeId" },
7506   { 0, NULL }
7507 };
7508
7509 static const ber_choice_t qsig_pumr_IpumUserId_choice[] = {
7510   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7511   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7512   { 0, NULL, 0, 0, 0, NULL }
7513 };
7514
7515 static int
7516 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_) {
7517   offset = dissect_ber_choice(actx, tree, tvb, offset,
7518                                  qsig_pumr_IpumUserId_choice, hf_index, ett_qsig_pumr_IpumUserId,
7519                                  NULL);
7520
7521   return offset;
7522 }
7523
7524
7525
7526 static int
7527 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_) {
7528   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
7529
7530   return offset;
7531 }
7532
7533
7534 static const value_string qsig_pumr_T_userPin_02_vals[] = {
7535   {   6, "pumUserPin" },
7536   {   7, "activatingUserPin" },
7537   { 0, NULL }
7538 };
7539
7540 static const ber_choice_t qsig_pumr_T_userPin_02_choice[] = {
7541   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7542   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7543   { 0, NULL, 0, 0, 0, NULL }
7544 };
7545
7546 static int
7547 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_) {
7548   offset = dissect_ber_choice(actx, tree, tvb, offset,
7549                                  qsig_pumr_T_userPin_02_choice, hf_index, ett_qsig_pumr_T_userPin_02,
7550                                  NULL);
7551
7552   return offset;
7553 }
7554
7555
7556 static const ber_sequence_t qsig_pumr_PumInterrogArg_sequence[] = {
7557   { &hf_qsig_pumr_pumIUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_IpumUserId },
7558   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7559   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7560   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7561   { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_pumr_ServiceOption },
7562   { &hf_qsig_pumr_homeInfoOnly, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_BOOLEAN },
7563   { &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 },
7564   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7565   { NULL, 0, 0, 0, NULL }
7566 };
7567
7568 static int
7569 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_) {
7570   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7571                                    qsig_pumr_PumInterrogArg_sequence, hf_index, ett_qsig_pumr_PumInterrogArg);
7572
7573   return offset;
7574 }
7575
7576
7577 static const ber_sequence_t qsig_pumr_PumInterrogRes_item_sequence[] = {
7578   { &hf_qsig_pumr_basicService, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_BasicService },
7579   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7580   { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_ServiceOption },
7581   { &hf_qsig_pumr_interrogParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7582   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7583   { NULL, 0, 0, 0, NULL }
7584 };
7585
7586 static int
7587 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_) {
7588   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7589                                    qsig_pumr_PumInterrogRes_item_sequence, hf_index, ett_qsig_pumr_PumInterrogRes_item);
7590
7591   return offset;
7592 }
7593
7594
7595 static const ber_sequence_t qsig_pumr_PumInterrogRes_set_of[1] = {
7596   { &hf_qsig_pumr_PumInterrogRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_PumInterrogRes_item },
7597 };
7598
7599 static int
7600 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_) {
7601   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
7602                                  qsig_pumr_PumInterrogRes_set_of, hf_index, ett_qsig_pumr_PumInterrogRes);
7603
7604   return offset;
7605 }
7606
7607 /*--- PDUs ---*/
7608
7609 static int dissect_qsig_pumr_PumRegistrArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7610   int offset = 0;
7611   asn1_ctx_t asn1_ctx;
7612   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7613   offset = dissect_qsig_pumr_PumRegistrArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU);
7614   return offset;
7615 }
7616 static int dissect_qsig_pumr_PumRegistrRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7617   int offset = 0;
7618   asn1_ctx_t asn1_ctx;
7619   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7620   offset = dissect_qsig_pumr_PumRegistrRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU);
7621   return offset;
7622 }
7623 static int dissect_qsig_pumr_PumDelRegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7624   int offset = 0;
7625   asn1_ctx_t asn1_ctx;
7626   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7627   offset = dissect_qsig_pumr_PumDelRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU);
7628   return offset;
7629 }
7630 static int dissect_qsig_pumr_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7631   int offset = 0;
7632   asn1_ctx_t asn1_ctx;
7633   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7634   offset = dissect_qsig_pumr_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_DummyRes_PDU);
7635   return offset;
7636 }
7637 static int dissect_qsig_pumr_PumDe_regArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7638   int offset = 0;
7639   asn1_ctx_t asn1_ctx;
7640   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7641   offset = dissect_qsig_pumr_PumDe_regArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU);
7642   return offset;
7643 }
7644 static int dissect_qsig_pumr_PumInterrogArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7645   int offset = 0;
7646   asn1_ctx_t asn1_ctx;
7647   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7648   offset = dissect_qsig_pumr_PumInterrogArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU);
7649   return offset;
7650 }
7651 static int dissect_qsig_pumr_PumInterrogRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7652   int offset = 0;
7653   asn1_ctx_t asn1_ctx;
7654   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7655   offset = dissect_qsig_pumr_PumInterrogRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU);
7656   return offset;
7657 }
7658 static int dissect_qsig_pumr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7659   int offset = 0;
7660   asn1_ctx_t asn1_ctx;
7661   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7662   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_Extension_PDU);
7663   return offset;
7664 }
7665
7666
7667 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
7668
7669
7670 static const ber_sequence_t qsig_pumch_SEQUENCE_OF_Extension_sequence_of[1] = {
7671   { &hf_qsig_pumch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7672 };
7673
7674 static int
7675 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_) {
7676   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7677                                       qsig_pumch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumch_SEQUENCE_OF_Extension);
7678
7679   return offset;
7680 }
7681
7682
7683 static const value_string qsig_pumch_PumiExtension_vals[] = {
7684   {   4, "extension" },
7685   {   5, "sequOfExtn" },
7686   { 0, NULL }
7687 };
7688
7689 static const ber_choice_t qsig_pumch_PumiExtension_choice[] = {
7690   {   4, &hf_qsig_pumch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7691   {   5, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7692   { 0, NULL, 0, 0, 0, NULL }
7693 };
7694
7695 static int
7696 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_) {
7697   offset = dissect_ber_choice(actx, tree, tvb, offset,
7698                                  qsig_pumch_PumiExtension_choice, hf_index, ett_qsig_pumch_PumiExtension,
7699                                  NULL);
7700
7701   return offset;
7702 }
7703
7704
7705 static const ber_sequence_t qsig_pumch_EnquiryArg_sequence[] = {
7706   { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7707   { &hf_qsig_pumch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
7708   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7709   { NULL, 0, 0, 0, NULL }
7710 };
7711
7712 static int
7713 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_) {
7714   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7715                                    qsig_pumch_EnquiryArg_sequence, hf_index, ett_qsig_pumch_EnquiryArg);
7716
7717   return offset;
7718 }
7719
7720
7721
7722 static int
7723 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_) {
7724   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7725                                        NULL);
7726
7727   return offset;
7728 }
7729
7730
7731 static const ber_sequence_t qsig_pumch_T_both_sequence[] = {
7732   { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7733   { &hf_qsig_pumch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_AlternativeId },
7734   { NULL, 0, 0, 0, NULL }
7735 };
7736
7737 static int
7738 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_) {
7739   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7740                                    qsig_pumch_T_both_sequence, hf_index, ett_qsig_pumch_T_both);
7741
7742   return offset;
7743 }
7744
7745
7746 static const value_string qsig_pumch_PumIdentity_vals[] = {
7747   {   0, "pisnNumber" },
7748   {   1, "alternativeId" },
7749   {   2, "both" },
7750   { 0, NULL }
7751 };
7752
7753 static const ber_choice_t qsig_pumch_PumIdentity_choice[] = {
7754   {   0, &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7755   {   1, &hf_qsig_pumch_alternativeId, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_AlternativeId },
7756   {   2, &hf_qsig_pumch_both     , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_T_both },
7757   { 0, NULL, 0, 0, 0, NULL }
7758 };
7759
7760 static int
7761 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_) {
7762   offset = dissect_ber_choice(actx, tree, tvb, offset,
7763                                  qsig_pumch_PumIdentity_choice, hf_index, ett_qsig_pumch_PumIdentity,
7764                                  NULL);
7765
7766   return offset;
7767 }
7768
7769
7770 static const ber_sequence_t qsig_pumch_DivertArg_sequence[] = {
7771   { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7772   { &hf_qsig_pumch_callingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
7773   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7774   { &hf_qsig_pumch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
7775   { &hf_qsig_pumch_callingUserSub, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
7776   { &hf_qsig_pumch_callingUserName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
7777   { &hf_qsig_pumch_pumUserSub, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
7778   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7779   { NULL, 0, 0, 0, NULL }
7780 };
7781
7782 static int
7783 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_) {
7784   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7785                                    qsig_pumch_DivertArg_sequence, hf_index, ett_qsig_pumch_DivertArg);
7786
7787   return offset;
7788 }
7789
7790
7791 static const ber_sequence_t qsig_pumch_InformArg_sequence[] = {
7792   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7793   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7794   { NULL, 0, 0, 0, NULL }
7795 };
7796
7797 static int
7798 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_) {
7799   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7800                                    qsig_pumch_InformArg_sequence, hf_index, ett_qsig_pumch_InformArg);
7801
7802   return offset;
7803 }
7804
7805
7806 static const ber_sequence_t qsig_pumch_CurrLocation_sequence[] = {
7807   { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7808   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7809   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7810   { NULL, 0, 0, 0, NULL }
7811 };
7812
7813 static int
7814 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_) {
7815   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7816                                    qsig_pumch_CurrLocation_sequence, hf_index, ett_qsig_pumch_CurrLocation);
7817
7818   return offset;
7819 }
7820
7821
7822 static const value_string qsig_pumch_SubscriptionOption_vals[] = {
7823   {   0, "noNotification" },
7824   {   1, "notificationWithoutDivertedToNr" },
7825   {   2, "notificationWithDivertedToNr" },
7826   { 0, NULL }
7827 };
7828
7829
7830 static int
7831 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_) {
7832   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7833                                   NULL);
7834
7835   return offset;
7836 }
7837
7838
7839 static const ber_sequence_t qsig_pumch_CfuActivated_sequence[] = {
7840   { &hf_qsig_pumch_divToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
7841   { &hf_qsig_pumch_divOptions, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_SubscriptionOption },
7842   { &hf_qsig_pumch_pumName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
7843   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7844   { NULL, 0, 0, 0, NULL }
7845 };
7846
7847 static int
7848 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_) {
7849   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7850                                    qsig_pumch_CfuActivated_sequence, hf_index, ett_qsig_pumch_CfuActivated);
7851
7852   return offset;
7853 }
7854
7855
7856 static const value_string qsig_pumch_EnquiryRes_vals[] = {
7857   {   1, "currLocation" },
7858   {   2, "cfuActivated" },
7859   { 0, NULL }
7860 };
7861
7862 static const ber_choice_t qsig_pumch_EnquiryRes_choice[] = {
7863   {   1, &hf_qsig_pumch_currLocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CurrLocation },
7864   {   2, &hf_qsig_pumch_cfuActivated, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CfuActivated },
7865   { 0, NULL, 0, 0, 0, NULL }
7866 };
7867
7868 static int
7869 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_) {
7870   offset = dissect_ber_choice(actx, tree, tvb, offset,
7871                                  qsig_pumch_EnquiryRes_choice, hf_index, ett_qsig_pumch_EnquiryRes,
7872                                  NULL);
7873
7874   return offset;
7875 }
7876
7877
7878
7879 static int
7880 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_) {
7881   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7882
7883   return offset;
7884 }
7885
7886
7887 static const value_string qsig_pumch_DummyRes_vals[] = {
7888   {   0, "null" },
7889   {   1, "extension" },
7890   {   2, "sequOfExtn" },
7891   { 0, NULL }
7892 };
7893
7894 static const ber_choice_t qsig_pumch_DummyRes_choice[] = {
7895   {   0, &hf_qsig_pumch_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_NULL },
7896   {   1, &hf_qsig_pumch_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7897   {   2, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7898   { 0, NULL, 0, 0, 0, NULL }
7899 };
7900
7901 static int
7902 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_) {
7903   offset = dissect_ber_choice(actx, tree, tvb, offset,
7904                                  qsig_pumch_DummyRes_choice, hf_index, ett_qsig_pumch_DummyRes,
7905                                  NULL);
7906
7907   return offset;
7908 }
7909
7910
7911 static const value_string qsig_pumch_T_pumoaextension_vals[] = {
7912   {   3, "single" },
7913   {   4, "multiple" },
7914   { 0, NULL }
7915 };
7916
7917 static const ber_choice_t qsig_pumch_T_pumoaextension_choice[] = {
7918   {   3, &hf_qsig_pumch_single   , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7919   {   4, &hf_qsig_pumch_multiple , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7920   { 0, NULL, 0, 0, 0, NULL }
7921 };
7922
7923 static int
7924 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_) {
7925   offset = dissect_ber_choice(actx, tree, tvb, offset,
7926                                  qsig_pumch_T_pumoaextension_choice, hf_index, ett_qsig_pumch_T_pumoaextension,
7927                                  NULL);
7928
7929   return offset;
7930 }
7931
7932
7933 static const ber_sequence_t qsig_pumch_PumoArg_sequence[] = {
7934   { &hf_qsig_pumch_destinationNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7935   { &hf_qsig_pumch_pumIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7936   { &hf_qsig_pumch_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumch_NULL },
7937   { &hf_qsig_pumch_pumoaextension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_T_pumoaextension },
7938   { NULL, 0, 0, 0, NULL }
7939 };
7940
7941 static int
7942 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_) {
7943   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7944                                    qsig_pumch_PumoArg_sequence, hf_index, ett_qsig_pumch_PumoArg);
7945
7946   return offset;
7947 }
7948
7949 /*--- PDUs ---*/
7950
7951 static int dissect_qsig_pumch_EnquiryArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7952   int offset = 0;
7953   asn1_ctx_t asn1_ctx;
7954   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7955   offset = dissect_qsig_pumch_EnquiryArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU);
7956   return offset;
7957 }
7958 static int dissect_qsig_pumch_EnquiryRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7959   int offset = 0;
7960   asn1_ctx_t asn1_ctx;
7961   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7962   offset = dissect_qsig_pumch_EnquiryRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU);
7963   return offset;
7964 }
7965 static int dissect_qsig_pumch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7966   int offset = 0;
7967   asn1_ctx_t asn1_ctx;
7968   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7969   offset = dissect_qsig_pumch_DivertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DivertArg_PDU);
7970   return offset;
7971 }
7972 static int dissect_qsig_pumch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7973   int offset = 0;
7974   asn1_ctx_t asn1_ctx;
7975   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7976   offset = dissect_qsig_pumch_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DummyRes_PDU);
7977   return offset;
7978 }
7979 static int dissect_qsig_pumch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7980   int offset = 0;
7981   asn1_ctx_t asn1_ctx;
7982   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7983   offset = dissect_qsig_pumch_InformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_InformArg_PDU);
7984   return offset;
7985 }
7986 static int dissect_qsig_pumch_PumoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7987   int offset = 0;
7988   asn1_ctx_t asn1_ctx;
7989   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7990   offset = dissect_qsig_pumch_PumoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_PumoArg_PDU);
7991   return offset;
7992 }
7993 static int dissect_qsig_pumch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7994   int offset = 0;
7995   asn1_ctx_t asn1_ctx;
7996   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7997   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_Extension_PDU);
7998   return offset;
7999 }
8000
8001
8002 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
8003
8004
8005
8006 static int
8007 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_) {
8008   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8009
8010   return offset;
8011 }
8012
8013
8014 static const ber_sequence_t qsig_ssct_SEQUENCE_OF_Extension_sequence_of[1] = {
8015   { &hf_qsig_ssct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8016 };
8017
8018 static int
8019 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_) {
8020   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8021                                       qsig_ssct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ssct_SEQUENCE_OF_Extension);
8022
8023   return offset;
8024 }
8025
8026
8027 static const value_string qsig_ssct_DummyArg_vals[] = {
8028   {   0, "null" },
8029   {   1, "single" },
8030   {   2, "multiple" },
8031   { 0, NULL }
8032 };
8033
8034 static const ber_choice_t qsig_ssct_DummyArg_choice[] = {
8035   {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
8036   {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8037   {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8038   { 0, NULL, 0, 0, 0, NULL }
8039 };
8040
8041 static int
8042 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_) {
8043   offset = dissect_ber_choice(actx, tree, tvb, offset,
8044                                  qsig_ssct_DummyArg_choice, hf_index, ett_qsig_ssct_DummyArg,
8045                                  NULL);
8046
8047   return offset;
8048 }
8049
8050
8051 static const value_string qsig_ssct_DummyRes_vals[] = {
8052   {   0, "null" },
8053   {   1, "single" },
8054   {   2, "multiple" },
8055   { 0, NULL }
8056 };
8057
8058 static const ber_choice_t qsig_ssct_DummyRes_choice[] = {
8059   {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
8060   {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8061   {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8062   { 0, NULL, 0, 0, 0, NULL }
8063 };
8064
8065 static int
8066 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_) {
8067   offset = dissect_ber_choice(actx, tree, tvb, offset,
8068                                  qsig_ssct_DummyRes_choice, hf_index, ett_qsig_ssct_DummyRes,
8069                                  NULL);
8070
8071   return offset;
8072 }
8073
8074
8075
8076 static int
8077 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_) {
8078   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
8079
8080   return offset;
8081 }
8082
8083
8084 static const value_string qsig_ssct_SSCTIargumentExtension_vals[] = {
8085   {   4, "single" },
8086   {   5, "multiple" },
8087   { 0, NULL }
8088 };
8089
8090 static const ber_choice_t qsig_ssct_SSCTIargumentExtension_choice[] = {
8091   {   4, &hf_qsig_ssct_single    , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8092   {   5, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8093   { 0, NULL, 0, 0, 0, NULL }
8094 };
8095
8096 static int
8097 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_) {
8098   offset = dissect_ber_choice(actx, tree, tvb, offset,
8099                                  qsig_ssct_SSCTIargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTIargumentExtension,
8100                                  NULL);
8101
8102   return offset;
8103 }
8104
8105
8106 static const ber_sequence_t qsig_ssct_SSCTInitiateArg_sequence[] = {
8107   { &hf_qsig_ssct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8108   { &hf_qsig_ssct_transferredAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
8109   { &hf_qsig_ssct_awaitConnect, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_AwaitConnect },
8110   { &hf_qsig_ssct_transferredName, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8111   { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
8112   { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8113   { &hf_qsig_ssct_argumentExtensionSSCTI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTIargumentExtension },
8114   { NULL, 0, 0, 0, NULL }
8115 };
8116
8117 static int
8118 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_) {
8119   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8120                                    qsig_ssct_SSCTInitiateArg_sequence, hf_index, ett_qsig_ssct_SSCTInitiateArg);
8121
8122   return offset;
8123 }
8124
8125
8126 static const value_string qsig_ssct_SSCTSargumentExtension_vals[] = {
8127   {   3, "single" },
8128   {   4, "multiple" },
8129   { 0, NULL }
8130 };
8131
8132 static const ber_choice_t qsig_ssct_SSCTSargumentExtension_choice[] = {
8133   {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8134   {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8135   { 0, NULL, 0, 0, 0, NULL }
8136 };
8137
8138 static int
8139 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_) {
8140   offset = dissect_ber_choice(actx, tree, tvb, offset,
8141                                  qsig_ssct_SSCTSargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTSargumentExtension,
8142                                  NULL);
8143
8144   return offset;
8145 }
8146
8147
8148 static const ber_sequence_t qsig_ssct_SSCTSetupArg_sequence[] = {
8149   { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
8150   { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8151   { &hf_qsig_ssct_argumentExtensionSSCTS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTSargumentExtension },
8152   { NULL, 0, 0, 0, NULL }
8153 };
8154
8155 static int
8156 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_) {
8157   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8158                                    qsig_ssct_SSCTSetupArg_sequence, hf_index, ett_qsig_ssct_SSCTSetupArg);
8159
8160   return offset;
8161 }
8162
8163
8164 static const value_string qsig_ssct_SSCTDargumentExtension_vals[] = {
8165   {   3, "single" },
8166   {   4, "multiple" },
8167   { 0, NULL }
8168 };
8169
8170 static const ber_choice_t qsig_ssct_SSCTDargumentExtension_choice[] = {
8171   {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8172   {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8173   { 0, NULL, 0, 0, 0, NULL }
8174 };
8175
8176 static int
8177 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_) {
8178   offset = dissect_ber_choice(actx, tree, tvb, offset,
8179                                  qsig_ssct_SSCTDargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTDargumentExtension,
8180                                  NULL);
8181
8182   return offset;
8183 }
8184
8185
8186 static const ber_sequence_t qsig_ssct_SSCTDigitInfoArg_sequence[] = {
8187   { &hf_qsig_ssct_reroutingNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
8188   { &hf_qsig_ssct_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_ssct_NULL },
8189   { &hf_qsig_ssct_argumentExtensionSSCTD, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTDargumentExtension },
8190   { NULL, 0, 0, 0, NULL }
8191 };
8192
8193 static int
8194 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_) {
8195   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8196                                    qsig_ssct_SSCTDigitInfoArg_sequence, hf_index, ett_qsig_ssct_SSCTDigitInfoArg);
8197
8198   return offset;
8199 }
8200
8201 /*--- PDUs ---*/
8202
8203 static int dissect_qsig_ssct_SSCTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8204   int offset = 0;
8205   asn1_ctx_t asn1_ctx;
8206   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8207   offset = dissect_qsig_ssct_SSCTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU);
8208   return offset;
8209 }
8210 static int dissect_qsig_ssct_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8211   int offset = 0;
8212   asn1_ctx_t asn1_ctx;
8213   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8214   offset = dissect_qsig_ssct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyRes_PDU);
8215   return offset;
8216 }
8217 static int dissect_qsig_ssct_SSCTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8218   int offset = 0;
8219   asn1_ctx_t asn1_ctx;
8220   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8221   offset = dissect_qsig_ssct_SSCTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU);
8222   return offset;
8223 }
8224 static int dissect_qsig_ssct_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8225   int offset = 0;
8226   asn1_ctx_t asn1_ctx;
8227   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8228   offset = dissect_qsig_ssct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyArg_PDU);
8229   return offset;
8230 }
8231 static int dissect_qsig_ssct_SSCTDigitInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8232   int offset = 0;
8233   asn1_ctx_t asn1_ctx;
8234   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8235   offset = dissect_qsig_ssct_SSCTDigitInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU);
8236   return offset;
8237 }
8238 static int dissect_qsig_ssct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8239   int offset = 0;
8240   asn1_ctx_t asn1_ctx;
8241   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8242   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_Extension_PDU);
8243   return offset;
8244 }
8245
8246
8247 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
8248
8249
8250
8251 static int
8252 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_) {
8253   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8254                                        NULL);
8255
8256   return offset;
8257 }
8258
8259
8260 static const value_string qsig_wtmlr_WtmUserId_vals[] = {
8261   {   0, "pisnNumber" },
8262   {   1, "alternativeId" },
8263   { 0, NULL }
8264 };
8265
8266 static const ber_choice_t qsig_wtmlr_WtmUserId_choice[] = {
8267   {   0, &hf_qsig_wtmlr_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8268   {   1, &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8269   { 0, NULL, 0, 0, 0, NULL }
8270 };
8271
8272 static int
8273 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_) {
8274   offset = dissect_ber_choice(actx, tree, tvb, offset,
8275                                  qsig_wtmlr_WtmUserId_choice, hf_index, ett_qsig_wtmlr_WtmUserId,
8276                                  NULL);
8277
8278   return offset;
8279 }
8280
8281
8282 static const ber_sequence_t qsig_wtmlr_SEQUENCE_OF_Extension_sequence_of[1] = {
8283   { &hf_qsig_wtmlr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8284 };
8285
8286 static int
8287 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_) {
8288   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8289                                       qsig_wtmlr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmlr_SEQUENCE_OF_Extension);
8290
8291   return offset;
8292 }
8293
8294
8295 static const value_string qsig_wtmlr_LrExtension_vals[] = {
8296   {   1, "extension" },
8297   {   2, "sequOfExtn" },
8298   { 0, NULL }
8299 };
8300
8301 static const ber_choice_t qsig_wtmlr_LrExtension_choice[] = {
8302   {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8303   {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
8304   { 0, NULL, 0, 0, 0, NULL }
8305 };
8306
8307 static int
8308 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_) {
8309   offset = dissect_ber_choice(actx, tree, tvb, offset,
8310                                  qsig_wtmlr_LrExtension_choice, hf_index, ett_qsig_wtmlr_LrExtension,
8311                                  NULL);
8312
8313   return offset;
8314 }
8315
8316
8317 static const ber_sequence_t qsig_wtmlr_LocUpdArg_sequence[] = {
8318   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8319   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8320   { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8321   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8322   { NULL, 0, 0, 0, NULL }
8323 };
8324
8325 static int
8326 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_) {
8327   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8328                                    qsig_wtmlr_LocUpdArg_sequence, hf_index, ett_qsig_wtmlr_LocUpdArg);
8329
8330   return offset;
8331 }
8332
8333
8334
8335 static int
8336 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_) {
8337   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8338
8339   return offset;
8340 }
8341
8342
8343 static const value_string qsig_wtmlr_DummyRes_vals[] = {
8344   {   0, "null" },
8345   {   1, "extension" },
8346   {   2, "sequOfExtn" },
8347   { 0, NULL }
8348 };
8349
8350 static const ber_choice_t qsig_wtmlr_DummyRes_choice[] = {
8351   {   0, &hf_qsig_wtmlr_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_NULL },
8352   {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8353   {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
8354   { 0, NULL, 0, 0, 0, NULL }
8355 };
8356
8357 static int
8358 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_) {
8359   offset = dissect_ber_choice(actx, tree, tvb, offset,
8360                                  qsig_wtmlr_DummyRes_choice, hf_index, ett_qsig_wtmlr_DummyRes,
8361                                  NULL);
8362
8363   return offset;
8364 }
8365
8366
8367 static const ber_sequence_t qsig_wtmlr_LocDelArg_sequence[] = {
8368   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8369   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8370   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8371   { NULL, 0, 0, 0, NULL }
8372 };
8373
8374 static int
8375 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_) {
8376   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8377                                    qsig_wtmlr_LocDelArg_sequence, hf_index, ett_qsig_wtmlr_LocDelArg);
8378
8379   return offset;
8380 }
8381
8382
8383 static const ber_sequence_t qsig_wtmlr_LocDeRegArg_sequence[] = {
8384   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8385   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8386   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8387   { NULL, 0, 0, 0, NULL }
8388 };
8389
8390 static int
8391 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_) {
8392   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8393                                    qsig_wtmlr_LocDeRegArg_sequence, hf_index, ett_qsig_wtmlr_LocDeRegArg);
8394
8395   return offset;
8396 }
8397
8398
8399 static const ber_sequence_t qsig_wtmlr_PisnEnqArg_sequence[] = {
8400   { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8401   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8402   { NULL, 0, 0, 0, NULL }
8403 };
8404
8405 static int
8406 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_) {
8407   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8408                                    qsig_wtmlr_PisnEnqArg_sequence, hf_index, ett_qsig_wtmlr_PisnEnqArg);
8409
8410   return offset;
8411 }
8412
8413
8414 static const ber_sequence_t qsig_wtmlr_PisnEnqRes_sequence[] = {
8415   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8416   { &hf_qsig_wtmlr_resExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8417   { NULL, 0, 0, 0, NULL }
8418 };
8419
8420 static int
8421 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_) {
8422   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8423                                    qsig_wtmlr_PisnEnqRes_sequence, hf_index, ett_qsig_wtmlr_PisnEnqRes);
8424
8425   return offset;
8426 }
8427
8428
8429 static const ber_sequence_t qsig_wtmlr_GetRRCInfArg_sequence[] = {
8430   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8431   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8432   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8433   { NULL, 0, 0, 0, NULL }
8434 };
8435
8436 static int
8437 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_) {
8438   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8439                                    qsig_wtmlr_GetRRCInfArg_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfArg);
8440
8441   return offset;
8442 }
8443
8444
8445
8446 static int
8447 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_) {
8448   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8449                                                 NULL);
8450
8451   return offset;
8452 }
8453
8454
8455 static const ber_sequence_t qsig_wtmlr_GetRRCInfRes_sequence[] = {
8456   { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8457   { &hf_qsig_wtmlr_rrClass  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_RRClass },
8458   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8459   { NULL, 0, 0, 0, NULL }
8460 };
8461
8462 static int
8463 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_) {
8464   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8465                                    qsig_wtmlr_GetRRCInfRes_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfRes);
8466
8467   return offset;
8468 }
8469
8470
8471 static const ber_sequence_t qsig_wtmlr_LocInfoCheckArg_sequence[] = {
8472   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8473   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8474   { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8475   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8476   { NULL, 0, 0, 0, NULL }
8477 };
8478
8479 static int
8480 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_) {
8481   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8482                                    qsig_wtmlr_LocInfoCheckArg_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckArg);
8483
8484   return offset;
8485 }
8486
8487
8488 static const value_string qsig_wtmlr_CheckResult_vals[] = {
8489   {   0, "locInfChk-correct" },
8490   {   1, "locInfChk-incorrect" },
8491   { 0, NULL }
8492 };
8493
8494
8495 static int
8496 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_) {
8497   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8498                                   NULL);
8499
8500   return offset;
8501 }
8502
8503
8504 static const ber_sequence_t qsig_wtmlr_LocInfoCheckRes_sequence[] = {
8505   { &hf_qsig_wtmlr_checkResult, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_CheckResult },
8506   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8507   { NULL, 0, 0, 0, NULL }
8508 };
8509
8510 static int
8511 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_) {
8512   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8513                                    qsig_wtmlr_LocInfoCheckRes_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckRes);
8514
8515   return offset;
8516 }
8517
8518 /*--- PDUs ---*/
8519
8520 static int dissect_qsig_wtmlr_LocUpdArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8521   int offset = 0;
8522   asn1_ctx_t asn1_ctx;
8523   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8524   offset = dissect_qsig_wtmlr_LocUpdArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU);
8525   return offset;
8526 }
8527 static int dissect_qsig_wtmlr_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8528   int offset = 0;
8529   asn1_ctx_t asn1_ctx;
8530   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8531   offset = dissect_qsig_wtmlr_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU);
8532   return offset;
8533 }
8534 static int dissect_qsig_wtmlr_LocDelArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8535   int offset = 0;
8536   asn1_ctx_t asn1_ctx;
8537   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8538   offset = dissect_qsig_wtmlr_LocDelArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU);
8539   return offset;
8540 }
8541 static int dissect_qsig_wtmlr_LocDeRegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8542   int offset = 0;
8543   asn1_ctx_t asn1_ctx;
8544   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8545   offset = dissect_qsig_wtmlr_LocDeRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU);
8546   return offset;
8547 }
8548 static int dissect_qsig_wtmlr_PisnEnqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8549   int offset = 0;
8550   asn1_ctx_t asn1_ctx;
8551   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8552   offset = dissect_qsig_wtmlr_PisnEnqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU);
8553   return offset;
8554 }
8555 static int dissect_qsig_wtmlr_PisnEnqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8556   int offset = 0;
8557   asn1_ctx_t asn1_ctx;
8558   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8559   offset = dissect_qsig_wtmlr_PisnEnqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU);
8560   return offset;
8561 }
8562 static int dissect_qsig_wtmlr_GetRRCInfArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8563   int offset = 0;
8564   asn1_ctx_t asn1_ctx;
8565   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8566   offset = dissect_qsig_wtmlr_GetRRCInfArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU);
8567   return offset;
8568 }
8569 static int dissect_qsig_wtmlr_GetRRCInfRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8570   int offset = 0;
8571   asn1_ctx_t asn1_ctx;
8572   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8573   offset = dissect_qsig_wtmlr_GetRRCInfRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU);
8574   return offset;
8575 }
8576 static int dissect_qsig_wtmlr_LocInfoCheckArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8577   int offset = 0;
8578   asn1_ctx_t asn1_ctx;
8579   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8580   offset = dissect_qsig_wtmlr_LocInfoCheckArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU);
8581   return offset;
8582 }
8583 static int dissect_qsig_wtmlr_LocInfoCheckRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8584   int offset = 0;
8585   asn1_ctx_t asn1_ctx;
8586   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8587   offset = dissect_qsig_wtmlr_LocInfoCheckRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU);
8588   return offset;
8589 }
8590 static int dissect_qsig_wtmlr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8591   int offset = 0;
8592   asn1_ctx_t asn1_ctx;
8593   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8594   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU);
8595   return offset;
8596 }
8597
8598
8599 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
8600
8601
8602 static const ber_sequence_t qsig_wtmch_SEQUENCE_OF_Extension_sequence_of[1] = {
8603   { &hf_qsig_wtmch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8604 };
8605
8606 static int
8607 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_) {
8608   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8609                                       qsig_wtmch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmch_SEQUENCE_OF_Extension);
8610
8611   return offset;
8612 }
8613
8614
8615 static const value_string qsig_wtmch_WtmiExtension_vals[] = {
8616   {   4, "extension" },
8617   {   5, "sequOfExtn" },
8618   { 0, NULL }
8619 };
8620
8621 static const ber_choice_t qsig_wtmch_WtmiExtension_choice[] = {
8622   {   4, &hf_qsig_wtmch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8623   {   5, &hf_qsig_wtmch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8624   { 0, NULL, 0, 0, 0, NULL }
8625 };
8626
8627 static int
8628 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_) {
8629   offset = dissect_ber_choice(actx, tree, tvb, offset,
8630                                  qsig_wtmch_WtmiExtension_choice, hf_index, ett_qsig_wtmch_WtmiExtension,
8631                                  NULL);
8632
8633   return offset;
8634 }
8635
8636
8637 static const ber_sequence_t qsig_wtmch_EnquiryArg_sequence[] = {
8638   { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8639   { &hf_qsig_wtmch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
8640   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8641   { NULL, 0, 0, 0, NULL }
8642 };
8643
8644 static int
8645 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_) {
8646   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8647                                    qsig_wtmch_EnquiryArg_sequence, hf_index, ett_qsig_wtmch_EnquiryArg);
8648
8649   return offset;
8650 }
8651
8652
8653
8654 static int
8655 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_) {
8656   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8657                                        NULL);
8658
8659   return offset;
8660 }
8661
8662
8663 static const ber_sequence_t qsig_wtmch_T_both_sequence[] = {
8664   { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8665   { &hf_qsig_wtmch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_AlternativeId },
8666   { NULL, 0, 0, 0, NULL }
8667 };
8668
8669 static int
8670 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_) {
8671   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8672                                    qsig_wtmch_T_both_sequence, hf_index, ett_qsig_wtmch_T_both);
8673
8674   return offset;
8675 }
8676
8677
8678 static const value_string qsig_wtmch_WtmIdentity_vals[] = {
8679   {   0, "pisnNumber" },
8680   {   1, "alternativeId" },
8681   {   2, "both" },
8682   { 0, NULL }
8683 };
8684
8685 static const ber_choice_t qsig_wtmch_WtmIdentity_choice[] = {
8686   {   0, &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8687   {   1, &hf_qsig_wtmch_alternativeId, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_AlternativeId },
8688   {   2, &hf_qsig_wtmch_both     , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_T_both },
8689   { 0, NULL, 0, 0, 0, NULL }
8690 };
8691
8692 static int
8693 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_) {
8694   offset = dissect_ber_choice(actx, tree, tvb, offset,
8695                                  qsig_wtmch_WtmIdentity_choice, hf_index, ett_qsig_wtmch_WtmIdentity,
8696                                  NULL);
8697
8698   return offset;
8699 }
8700
8701
8702 static const ber_sequence_t qsig_wtmch_DivertArg_sequence[] = {
8703   { &hf_qsig_wtmch_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8704   { &hf_qsig_wtmch_callingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
8705   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8706   { &hf_qsig_wtmch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
8707   { &hf_qsig_wtmch_callingUserSub, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
8708   { &hf_qsig_wtmch_callingName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8709   { &hf_qsig_wtmch_wtmUserSub, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
8710   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8711   { NULL, 0, 0, 0, NULL }
8712 };
8713
8714 static int
8715 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_) {
8716   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8717                                    qsig_wtmch_DivertArg_sequence, hf_index, ett_qsig_wtmch_DivertArg);
8718
8719   return offset;
8720 }
8721
8722
8723 static const ber_sequence_t qsig_wtmch_InformArg_sequence[] = {
8724   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8725   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8726   { NULL, 0, 0, 0, NULL }
8727 };
8728
8729 static int
8730 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_) {
8731   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8732                                    qsig_wtmch_InformArg_sequence, hf_index, ett_qsig_wtmch_InformArg);
8733
8734   return offset;
8735 }
8736
8737
8738 static const ber_sequence_t qsig_wtmch_CurrLocation_sequence[] = {
8739   { &hf_qsig_wtmch_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8740   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8741   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8742   { NULL, 0, 0, 0, NULL }
8743 };
8744
8745 static int
8746 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_) {
8747   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8748                                    qsig_wtmch_CurrLocation_sequence, hf_index, ett_qsig_wtmch_CurrLocation);
8749
8750   return offset;
8751 }
8752
8753
8754 static const value_string qsig_wtmch_SubscriptionOption_vals[] = {
8755   {   0, "noNotification" },
8756   {   1, "notificationWithoutDivertedToNr" },
8757   {   2, "notificationWithDivertedToNr" },
8758   { 0, NULL }
8759 };
8760
8761
8762 static int
8763 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_) {
8764   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8765                                   NULL);
8766
8767   return offset;
8768 }
8769
8770
8771 static const ber_sequence_t qsig_wtmch_CfuActivated_sequence[] = {
8772   { &hf_qsig_wtmch_divToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
8773   { &hf_qsig_wtmch_divOptions, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_SubscriptionOption },
8774   { &hf_qsig_wtmch_wtmName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8775   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8776   { NULL, 0, 0, 0, NULL }
8777 };
8778
8779 static int
8780 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_) {
8781   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8782                                    qsig_wtmch_CfuActivated_sequence, hf_index, ett_qsig_wtmch_CfuActivated);
8783
8784   return offset;
8785 }
8786
8787
8788 static const value_string qsig_wtmch_EnquiryRes_vals[] = {
8789   {   1, "currLocation" },
8790   {   2, "cfuActivated" },
8791   { 0, NULL }
8792 };
8793
8794 static const ber_choice_t qsig_wtmch_EnquiryRes_choice[] = {
8795   {   1, &hf_qsig_wtmch_currLocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_CurrLocation },
8796   {   2, &hf_qsig_wtmch_cfuActivated, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_CfuActivated },
8797   { 0, NULL, 0, 0, 0, NULL }
8798 };
8799
8800 static int
8801 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_) {
8802   offset = dissect_ber_choice(actx, tree, tvb, offset,
8803                                  qsig_wtmch_EnquiryRes_choice, hf_index, ett_qsig_wtmch_EnquiryRes,
8804                                  NULL);
8805
8806   return offset;
8807 }
8808
8809
8810
8811 static int
8812 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_) {
8813   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8814
8815   return offset;
8816 }
8817
8818
8819 static const value_string qsig_wtmch_DummyRes_vals[] = {
8820   {   0, "null" },
8821   {   1, "extension" },
8822   {   2, "sequOfExtn" },
8823   { 0, NULL }
8824 };
8825
8826 static const ber_choice_t qsig_wtmch_DummyRes_choice[] = {
8827   {   0, &hf_qsig_wtmch_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_NULL },
8828   {   1, &hf_qsig_wtmch_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8829   {   2, &hf_qsig_wtmch_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8830   { 0, NULL, 0, 0, 0, NULL }
8831 };
8832
8833 static int
8834 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_) {
8835   offset = dissect_ber_choice(actx, tree, tvb, offset,
8836                                  qsig_wtmch_DummyRes_choice, hf_index, ett_qsig_wtmch_DummyRes,
8837                                  NULL);
8838
8839   return offset;
8840 }
8841
8842
8843 static const value_string qsig_wtmch_T_wtmoaextension_vals[] = {
8844   {   2, "single" },
8845   {   3, "multiple" },
8846   { 0, NULL }
8847 };
8848
8849 static const ber_choice_t qsig_wtmch_T_wtmoaextension_choice[] = {
8850   {   2, &hf_qsig_wtmch_single   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8851   {   3, &hf_qsig_wtmch_multiple , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8852   { 0, NULL, 0, 0, 0, NULL }
8853 };
8854
8855 static int
8856 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_) {
8857   offset = dissect_ber_choice(actx, tree, tvb, offset,
8858                                  qsig_wtmch_T_wtmoaextension_choice, hf_index, ett_qsig_wtmch_T_wtmoaextension,
8859                                  NULL);
8860
8861   return offset;
8862 }
8863
8864
8865 static const ber_sequence_t qsig_wtmch_WtmoArg_sequence[] = {
8866   { &hf_qsig_wtmch_destinationNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
8867   { &hf_qsig_wtmch_sendingComplete, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_NULL },
8868   { &hf_qsig_wtmch_wtmoaextension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_T_wtmoaextension },
8869   { NULL, 0, 0, 0, NULL }
8870 };
8871
8872 static int
8873 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_) {
8874   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8875                                    qsig_wtmch_WtmoArg_sequence, hf_index, ett_qsig_wtmch_WtmoArg);
8876
8877   return offset;
8878 }
8879
8880 /*--- PDUs ---*/
8881
8882 static int dissect_qsig_wtmch_EnquiryArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8883   int offset = 0;
8884   asn1_ctx_t asn1_ctx;
8885   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8886   offset = dissect_qsig_wtmch_EnquiryArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU);
8887   return offset;
8888 }
8889 static int dissect_qsig_wtmch_EnquiryRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8890   int offset = 0;
8891   asn1_ctx_t asn1_ctx;
8892   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8893   offset = dissect_qsig_wtmch_EnquiryRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU);
8894   return offset;
8895 }
8896 static int dissect_qsig_wtmch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8897   int offset = 0;
8898   asn1_ctx_t asn1_ctx;
8899   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8900   offset = dissect_qsig_wtmch_DivertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU);
8901   return offset;
8902 }
8903 static int dissect_qsig_wtmch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8904   int offset = 0;
8905   asn1_ctx_t asn1_ctx;
8906   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8907   offset = dissect_qsig_wtmch_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU);
8908   return offset;
8909 }
8910 static int dissect_qsig_wtmch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8911   int offset = 0;
8912   asn1_ctx_t asn1_ctx;
8913   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8914   offset = dissect_qsig_wtmch_InformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_InformArg_PDU);
8915   return offset;
8916 }
8917 static int dissect_qsig_wtmch_WtmoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8918   int offset = 0;
8919   asn1_ctx_t asn1_ctx;
8920   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8921   offset = dissect_qsig_wtmch_WtmoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU);
8922   return offset;
8923 }
8924 static int dissect_qsig_wtmch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8925   int offset = 0;
8926   asn1_ctx_t asn1_ctx;
8927   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8928   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_Extension_PDU);
8929   return offset;
8930 }
8931
8932
8933 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
8934
8935
8936
8937 static int
8938 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_) {
8939   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8940                                        NULL);
8941
8942   return offset;
8943 }
8944
8945
8946 static const value_string qsig_wtmau_WtmUserId_vals[] = {
8947   {   0, "pisnNumber" },
8948   {   1, "alternativeId" },
8949   { 0, NULL }
8950 };
8951
8952 static const ber_choice_t qsig_wtmau_WtmUserId_choice[] = {
8953   {   0, &hf_qsig_wtmau_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8954   {   1, &hf_qsig_wtmau_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AlternativeId },
8955   { 0, NULL, 0, 0, 0, NULL }
8956 };
8957
8958 static int
8959 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_) {
8960   offset = dissect_ber_choice(actx, tree, tvb, offset,
8961                                  qsig_wtmau_WtmUserId_choice, hf_index, ett_qsig_wtmau_WtmUserId,
8962                                  NULL);
8963
8964   return offset;
8965 }
8966
8967
8968
8969 static int
8970 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_) {
8971   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8972                                        NULL);
8973
8974   return offset;
8975 }
8976
8977
8978
8979 static int
8980 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_) {
8981   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8982                                        NULL);
8983
8984   return offset;
8985 }
8986
8987
8988
8989 static int
8990 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_) {
8991   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8992                                        NULL);
8993
8994   return offset;
8995 }
8996
8997
8998
8999 static int
9000 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_) {
9001   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9002                                        NULL);
9003
9004   return offset;
9005 }
9006
9007
9008 static const ber_sequence_t qsig_wtmau_CalcWtatInfoUnit_sequence[] = {
9009   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9010   { &hf_qsig_wtmau_authResponse, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthResponse },
9011   { &hf_qsig_wtmau_derivedCipherKey, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_DerivedCipherKey },
9012   { &hf_qsig_wtmau_calculationParam, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalculationParam },
9013   { NULL, 0, 0, 0, NULL }
9014 };
9015
9016 static int
9017 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_) {
9018   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9019                                    qsig_wtmau_CalcWtatInfoUnit_sequence, hf_index, ett_qsig_wtmau_CalcWtatInfoUnit);
9020
9021   return offset;
9022 }
9023
9024
9025 static const ber_sequence_t qsig_wtmau_CalcWtatInfo_sequence_of[1] = {
9026   { &hf_qsig_wtmau_CalcWtatInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalcWtatInfoUnit },
9027 };
9028
9029 static int
9030 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_) {
9031   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9032                                       qsig_wtmau_CalcWtatInfo_sequence_of, hf_index, ett_qsig_wtmau_CalcWtatInfo);
9033
9034   return offset;
9035 }
9036
9037
9038 static const ber_sequence_t qsig_wtmau_SEQUENCE_OF_Extension_sequence_of[1] = {
9039   { &hf_qsig_wtmau_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9040 };
9041
9042 static int
9043 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_) {
9044   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9045                                       qsig_wtmau_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmau_SEQUENCE_OF_Extension);
9046
9047   return offset;
9048 }
9049
9050
9051 static const value_string qsig_wtmau_DummyExtension_vals[] = {
9052   {   5, "extension" },
9053   {   6, "sequOfExtn" },
9054   { 0, NULL }
9055 };
9056
9057 static const ber_choice_t qsig_wtmau_DummyExtension_choice[] = {
9058   {   5, &hf_qsig_wtmau_extension, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
9059   {   6, &hf_qsig_wtmau_sequOfExtn, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_SEQUENCE_OF_Extension },
9060   { 0, NULL, 0, 0, 0, NULL }
9061 };
9062
9063 static int
9064 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_) {
9065   offset = dissect_ber_choice(actx, tree, tvb, offset,
9066                                  qsig_wtmau_DummyExtension_choice, hf_index, ett_qsig_wtmau_DummyExtension,
9067                                  NULL);
9068
9069   return offset;
9070 }
9071
9072
9073 static const ber_sequence_t qsig_wtmau_AuthWtmArg_sequence[] = {
9074   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9075   { &hf_qsig_wtmau_calcWtatInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtatInfo },
9076   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9077   { NULL, 0, 0, 0, NULL }
9078 };
9079
9080 static int
9081 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_) {
9082   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9083                                    qsig_wtmau_AuthWtmArg_sequence, hf_index, ett_qsig_wtmau_AuthWtmArg);
9084
9085   return offset;
9086 }
9087
9088
9089 static const value_string qsig_wtmau_T_autWtmResValue_vals[] = {
9090   {   0, "auth-res-correct" },
9091   {   1, "auth-res-incorrect" },
9092   { 0, NULL }
9093 };
9094
9095
9096 static int
9097 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_) {
9098   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9099                                   NULL);
9100
9101   return offset;
9102 }
9103
9104
9105 static const ber_sequence_t qsig_wtmau_AuthWtmRes_sequence[] = {
9106   { &hf_qsig_wtmau_autWtmResValue, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_T_autWtmResValue },
9107   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9108   { NULL, 0, 0, 0, NULL }
9109 };
9110
9111 static int
9112 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_) {
9113   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9114                                    qsig_wtmau_AuthWtmRes_sequence, hf_index, ett_qsig_wtmau_AuthWtmRes);
9115
9116   return offset;
9117 }
9118
9119
9120
9121 static int
9122 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_) {
9123   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9124
9125   return offset;
9126 }
9127
9128
9129 static const ber_sequence_t qsig_wtmau_WtatParamArg_sequence[] = {
9130   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9131   { &hf_qsig_wtmau_canCompute, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CanCompute },
9132   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9133   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9134   { NULL, 0, 0, 0, NULL }
9135 };
9136
9137 static int
9138 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_) {
9139   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9140                                    qsig_wtmau_WtatParamArg_sequence, hf_index, ett_qsig_wtmau_WtatParamArg);
9141
9142   return offset;
9143 }
9144
9145
9146 static const value_string qsig_wtmau_DefinedIDs_vals[] = {
9147   {   0, "ct2" },
9148   {   1, "dect" },
9149   {   2, "gsm" },
9150   {   3, "pci" },
9151   {   4, "pwt" },
9152   {   5, "us-gsm" },
9153   {   6, "phs" },
9154   {   7, "tetra" },
9155   { 0, NULL }
9156 };
9157
9158
9159 static int
9160 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_) {
9161   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9162                                                 NULL);
9163
9164   return offset;
9165 }
9166
9167
9168
9169 static int
9170 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_) {
9171 #line 164 "qsig.cnf"
9172
9173
9174
9175   return offset;
9176 }
9177
9178
9179 static const ber_sequence_t qsig_wtmau_AuthAlgorithm_sequence[] = {
9180   { &hf_qsig_wtmau_authAlg  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_DefinedIDs },
9181   { &hf_qsig_wtmau_param    , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_T_param },
9182   { NULL, 0, 0, 0, NULL }
9183 };
9184
9185 static int
9186 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_) {
9187   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9188                                    qsig_wtmau_AuthAlgorithm_sequence, hf_index, ett_qsig_wtmau_AuthAlgorithm);
9189
9190   return offset;
9191 }
9192
9193
9194
9195 static int
9196 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_) {
9197   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9198                                        NULL);
9199
9200   return offset;
9201 }
9202
9203
9204 static const ber_sequence_t qsig_wtmau_AuthSessionKeyInfo_sequence[] = {
9205   { &hf_qsig_wtmau_authSessionKey, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthSessionKey },
9206   { &hf_qsig_wtmau_calculationParam, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalculationParam },
9207   { NULL, 0, 0, 0, NULL }
9208 };
9209
9210 static int
9211 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_) {
9212   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9213                                    qsig_wtmau_AuthSessionKeyInfo_sequence, hf_index, ett_qsig_wtmau_AuthSessionKeyInfo);
9214
9215   return offset;
9216 }
9217
9218
9219
9220 static int
9221 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_) {
9222   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9223                                        NULL);
9224
9225   return offset;
9226 }
9227
9228
9229
9230 static int
9231 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_) {
9232   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9233                                                 NULL);
9234
9235   return offset;
9236 }
9237
9238
9239 static const value_string qsig_wtmau_T_wtatParamInfoChoice_vals[] = {
9240   {   1, "authSessionKeyInfo" },
9241   {   2, "calcWtatInfo" },
9242   {   3, "authKey" },
9243   {   4, "challLen" },
9244   { 0, NULL }
9245 };
9246
9247 static const ber_choice_t qsig_wtmau_T_wtatParamInfoChoice_choice[] = {
9248   {   1, &hf_qsig_wtmau_authSessionKeyInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthSessionKeyInfo },
9249   {   2, &hf_qsig_wtmau_calcWtatInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtatInfo },
9250   {   3, &hf_qsig_wtmau_authKey  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthKey },
9251   {   4, &hf_qsig_wtmau_challLen , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_INTEGER_1_8 },
9252   { 0, NULL, 0, 0, 0, NULL }
9253 };
9254
9255 static int
9256 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_) {
9257   offset = dissect_ber_choice(actx, tree, tvb, offset,
9258                                  qsig_wtmau_T_wtatParamInfoChoice_choice, hf_index, ett_qsig_wtmau_T_wtatParamInfoChoice,
9259                                  NULL);
9260
9261   return offset;
9262 }
9263
9264
9265 static const ber_sequence_t qsig_wtmau_WtatParamInfo_sequence[] = {
9266   { &hf_qsig_wtmau_authAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthAlgorithm },
9267   { &hf_qsig_wtmau_wtatParamInfoChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_T_wtatParamInfoChoice },
9268   { NULL, 0, 0, 0, NULL }
9269 };
9270
9271 static int
9272 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_) {
9273   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9274                                    qsig_wtmau_WtatParamInfo_sequence, hf_index, ett_qsig_wtmau_WtatParamInfo);
9275
9276   return offset;
9277 }
9278
9279
9280 static const ber_sequence_t qsig_wtmau_WtatParamRes_sequence[] = {
9281   { &hf_qsig_wtmau_wtatParamInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_WtatParamInfo },
9282   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9283   { NULL, 0, 0, 0, NULL }
9284 };
9285
9286 static int
9287 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_) {
9288   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9289                                    qsig_wtmau_WtatParamRes_sequence, hf_index, ett_qsig_wtmau_WtatParamRes);
9290
9291   return offset;
9292 }
9293
9294
9295 static const ber_sequence_t qsig_wtmau_WtanParamArg_sequence[] = {
9296   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9297   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9298   { &hf_qsig_wtmau_authAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthAlgorithm },
9299   { &hf_qsig_wtmau_canCompute, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CanCompute },
9300   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9301   { NULL, 0, 0, 0, NULL }
9302 };
9303
9304 static int
9305 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_) {
9306   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9307                                    qsig_wtmau_WtanParamArg_sequence, hf_index, ett_qsig_wtmau_WtanParamArg);
9308
9309   return offset;
9310 }
9311
9312
9313 static const ber_sequence_t qsig_wtmau_CalcWtanInfo_sequence[] = {
9314   { &hf_qsig_wtmau_authResponse, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthResponse },
9315   { &hf_qsig_wtmau_calculationParam, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalculationParam },
9316   { NULL, 0, 0, 0, NULL }
9317 };
9318
9319 static int
9320 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_) {
9321   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9322                                    qsig_wtmau_CalcWtanInfo_sequence, hf_index, ett_qsig_wtmau_CalcWtanInfo);
9323
9324   return offset;
9325 }
9326
9327
9328 static const value_string qsig_wtmau_WtanParamInfo_vals[] = {
9329   {   1, "authSessionKeyInfo" },
9330   {   2, "calcWtanInfo" },
9331   { 0, NULL }
9332 };
9333
9334 static const ber_choice_t qsig_wtmau_WtanParamInfo_choice[] = {
9335   {   1, &hf_qsig_wtmau_authSessionKeyInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthSessionKeyInfo },
9336   {   2, &hf_qsig_wtmau_calcWtanInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtanInfo },
9337   { 0, NULL, 0, 0, 0, NULL }
9338 };
9339
9340 static int
9341 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_) {
9342   offset = dissect_ber_choice(actx, tree, tvb, offset,
9343                                  qsig_wtmau_WtanParamInfo_choice, hf_index, ett_qsig_wtmau_WtanParamInfo,
9344                                  NULL);
9345
9346   return offset;
9347 }
9348
9349
9350 static const ber_sequence_t qsig_wtmau_WtanParamRes_sequence[] = {
9351   { &hf_qsig_wtmau_wtanParamInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtanParamInfo },
9352   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9353   { NULL, 0, 0, 0, NULL }
9354 };
9355
9356 static int
9357 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_) {
9358   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9359                                    qsig_wtmau_WtanParamRes_sequence, hf_index, ett_qsig_wtmau_WtanParamRes);
9360
9361   return offset;
9362 }
9363
9364
9365 static const ber_sequence_t qsig_wtmau_ARG_transferAuthParam_sequence[] = {
9366   { &hf_qsig_wtmau_wtatParamInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_WtatParamInfo },
9367   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9368   { NULL, 0, 0, 0, NULL }
9369 };
9370
9371 static int
9372 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_) {
9373   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9374                                    qsig_wtmau_ARG_transferAuthParam_sequence, hf_index, ett_qsig_wtmau_ARG_transferAuthParam);
9375
9376   return offset;
9377 }
9378
9379 /*--- PDUs ---*/
9380
9381 static int dissect_qsig_wtmau_AuthWtmArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9382   int offset = 0;
9383   asn1_ctx_t asn1_ctx;
9384   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9385   offset = dissect_qsig_wtmau_AuthWtmArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU);
9386   return offset;
9387 }
9388 static int dissect_qsig_wtmau_AuthWtmRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9389   int offset = 0;
9390   asn1_ctx_t asn1_ctx;
9391   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9392   offset = dissect_qsig_wtmau_AuthWtmRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU);
9393   return offset;
9394 }
9395 static int dissect_qsig_wtmau_WtatParamArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9396   int offset = 0;
9397   asn1_ctx_t asn1_ctx;
9398   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9399   offset = dissect_qsig_wtmau_WtatParamArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU);
9400   return offset;
9401 }
9402 static int dissect_qsig_wtmau_WtatParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9403   int offset = 0;
9404   asn1_ctx_t asn1_ctx;
9405   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9406   offset = dissect_qsig_wtmau_WtatParamRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU);
9407   return offset;
9408 }
9409 static int dissect_qsig_wtmau_WtanParamArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9410   int offset = 0;
9411   asn1_ctx_t asn1_ctx;
9412   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9413   offset = dissect_qsig_wtmau_WtanParamArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU);
9414   return offset;
9415 }
9416 static int dissect_qsig_wtmau_WtanParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9417   int offset = 0;
9418   asn1_ctx_t asn1_ctx;
9419   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9420   offset = dissect_qsig_wtmau_WtanParamRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU);
9421   return offset;
9422 }
9423 static int dissect_qsig_wtmau_ARG_transferAuthParam_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9424   int offset = 0;
9425   asn1_ctx_t asn1_ctx;
9426   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9427   offset = dissect_qsig_wtmau_ARG_transferAuthParam(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU);
9428   return offset;
9429 }
9430 static int dissect_qsig_wtmau_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9431   int offset = 0;
9432   asn1_ctx_t asn1_ctx;
9433   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9434   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_Extension_PDU);
9435   return offset;
9436 }
9437
9438
9439 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
9440
9441
9442
9443 static int
9444 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_) {
9445   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9446                                        NULL);
9447
9448   return offset;
9449 }
9450
9451
9452
9453 static int
9454 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_) {
9455   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9456                                        NULL);
9457
9458   return offset;
9459 }
9460
9461
9462 static const value_string qsig_sd_DisplayString_vals[] = {
9463   {   0, "displayStringNormal" },
9464   {   1, "displayStringExtended" },
9465   { 0, NULL }
9466 };
9467
9468 static const ber_choice_t qsig_sd_DisplayString_choice[] = {
9469   {   0, &hf_qsig_sd_displayStringNormal, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringNormal },
9470   {   1, &hf_qsig_sd_displayStringExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringExtended },
9471   { 0, NULL, 0, 0, 0, NULL }
9472 };
9473
9474 static int
9475 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_) {
9476   offset = dissect_ber_choice(actx, tree, tvb, offset,
9477                                  qsig_sd_DisplayString_choice, hf_index, ett_qsig_sd_DisplayString,
9478                                  NULL);
9479
9480   return offset;
9481 }
9482
9483
9484 static const ber_sequence_t qsig_sd_SEQUENCE_OF_Extension_sequence_of[1] = {
9485   { &hf_qsig_sd_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9486 };
9487
9488 static int
9489 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_) {
9490   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9491                                       qsig_sd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sd_SEQUENCE_OF_Extension);
9492
9493   return offset;
9494 }
9495
9496
9497 static const value_string qsig_sd_SDExtension_vals[] = {
9498   {   2, "extension" },
9499   {   3, "multipleExtension" },
9500   { 0, NULL }
9501 };
9502
9503 static const ber_choice_t qsig_sd_SDExtension_choice[] = {
9504   {   2, &hf_qsig_sd_extension   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
9505   {   3, &hf_qsig_sd_multipleExtension, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_sd_SEQUENCE_OF_Extension },
9506   { 0, NULL, 0, 0, 0, NULL }
9507 };
9508
9509 static int
9510 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_) {
9511   offset = dissect_ber_choice(actx, tree, tvb, offset,
9512                                  qsig_sd_SDExtension_choice, hf_index, ett_qsig_sd_SDExtension,
9513                                  NULL);
9514
9515   return offset;
9516 }
9517
9518
9519 static const ber_sequence_t qsig_sd_DisplayArg_sequence[] = {
9520   { &hf_qsig_sd_displayString, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_DisplayString },
9521   { &hf_qsig_sd_sdextension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_SDExtension },
9522   { NULL, 0, 0, 0, NULL }
9523 };
9524
9525 static int
9526 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_) {
9527   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9528                                    qsig_sd_DisplayArg_sequence, hf_index, ett_qsig_sd_DisplayArg);
9529
9530   return offset;
9531 }
9532
9533
9534 static const ber_sequence_t qsig_sd_KeypadArg_sequence[] = {
9535   { &hf_qsig_sd_keypadString, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringNormal },
9536   { &hf_qsig_sd_sdextension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_SDExtension },
9537   { NULL, 0, 0, 0, NULL }
9538 };
9539
9540 static int
9541 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_) {
9542   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9543                                    qsig_sd_KeypadArg_sequence, hf_index, ett_qsig_sd_KeypadArg);
9544
9545   return offset;
9546 }
9547
9548 /*--- PDUs ---*/
9549
9550 static int dissect_qsig_sd_DisplayArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9551   int offset = 0;
9552   asn1_ctx_t asn1_ctx;
9553   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9554   offset = dissect_qsig_sd_DisplayArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_DisplayArg_PDU);
9555   return offset;
9556 }
9557 static int dissect_qsig_sd_KeypadArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9558   int offset = 0;
9559   asn1_ctx_t asn1_ctx;
9560   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9561   offset = dissect_qsig_sd_KeypadArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_KeypadArg_PDU);
9562   return offset;
9563 }
9564 static int dissect_qsig_sd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9565   int offset = 0;
9566   asn1_ctx_t asn1_ctx;
9567   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9568   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_Extension_PDU);
9569   return offset;
9570 }
9571
9572
9573 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
9574
9575
9576
9577 static int
9578 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_) {
9579   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
9580                                             actx, tree, tvb, offset, hf_index,
9581                                             NULL);
9582
9583   return offset;
9584 }
9585
9586
9587
9588 static int
9589 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_) {
9590   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9591                                        NULL);
9592
9593   return offset;
9594 }
9595
9596
9597
9598 static int
9599 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_) {
9600   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9601                                        NULL);
9602
9603   return offset;
9604 }
9605
9606
9607 static const value_string qsig_cidl_T_linkageID_vals[] = {
9608   {   1, "subDomainID" },
9609   {   2, "globallyUniqueID" },
9610   { 0, NULL }
9611 };
9612
9613 static const ber_choice_t qsig_cidl_T_linkageID_choice[] = {
9614   {   1, &hf_qsig_cidl_subDomainID, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SubDomainID },
9615   {   2, &hf_qsig_cidl_globallyUniqueID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_GloballyUniqueID },
9616   { 0, NULL, 0, 0, 0, NULL }
9617 };
9618
9619 static int
9620 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_) {
9621   offset = dissect_ber_choice(actx, tree, tvb, offset,
9622                                  qsig_cidl_T_linkageID_choice, hf_index, ett_qsig_cidl_T_linkageID,
9623                                  NULL);
9624
9625   return offset;
9626 }
9627
9628
9629
9630 static int
9631 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_) {
9632   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
9633
9634   return offset;
9635 }
9636
9637
9638 static const ber_sequence_t qsig_cidl_CallIdentificationData_sequence[] = {
9639   { &hf_qsig_cidl_switchingSubDomainName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SwitchingSubDomainName },
9640   { &hf_qsig_cidl_linkageID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_T_linkageID },
9641   { &hf_qsig_cidl_timeStamp , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cidl_TimeStamp },
9642   { NULL, 0, 0, 0, NULL }
9643 };
9644
9645 static int
9646 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_) {
9647   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9648                                    qsig_cidl_CallIdentificationData_sequence, hf_index, ett_qsig_cidl_CallIdentificationData);
9649
9650   return offset;
9651 }
9652
9653
9654 static const ber_sequence_t qsig_cidl_SEQUENCE_OF_Extension_sequence_of[1] = {
9655   { &hf_qsig_cidl_sequenceOfExt_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9656 };
9657
9658 static int
9659 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_) {
9660   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9661                                       qsig_cidl_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cidl_SEQUENCE_OF_Extension);
9662
9663   return offset;
9664 }
9665
9666
9667 static const value_string qsig_cidl_ExtensionType_vals[] = {
9668   {   3, "extension" },
9669   {   4, "sequenceOfExt" },
9670   { 0, NULL }
9671 };
9672
9673 static const ber_choice_t qsig_cidl_ExtensionType_choice[] = {
9674   {   3, &hf_qsig_cidl_extension , BER_CLASS_CON, 3, 0, dissect_qsig_Extension },
9675   {   4, &hf_qsig_cidl_sequenceOfExt, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SEQUENCE_OF_Extension },
9676   { 0, NULL, 0, 0, 0, NULL }
9677 };
9678
9679 static int
9680 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_) {
9681   offset = dissect_ber_choice(actx, tree, tvb, offset,
9682                                  qsig_cidl_ExtensionType_choice, hf_index, ett_qsig_cidl_ExtensionType,
9683                                  NULL);
9684
9685   return offset;
9686 }
9687
9688
9689 static const ber_sequence_t qsig_cidl_CallIdentificationAssignArg_sequence[] = {
9690   { &hf_qsig_cidl_globalCallID, BER_CLASS_CON, 0, 0, dissect_qsig_cidl_CallIdentificationData },
9691   { &hf_qsig_cidl_threadID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9692   { &hf_qsig_cidl_legID     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9693   { &hf_qsig_cidl_extensiont, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_ExtensionType },
9694   { NULL, 0, 0, 0, NULL }
9695 };
9696
9697 static int
9698 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_) {
9699   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9700                                    qsig_cidl_CallIdentificationAssignArg_sequence, hf_index, ett_qsig_cidl_CallIdentificationAssignArg);
9701
9702   return offset;
9703 }
9704
9705
9706 static const ber_sequence_t qsig_cidl_CallIdentificationUpdateArg_sequence[] = {
9707   { &hf_qsig_cidl_globalCallID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9708   { &hf_qsig_cidl_threadID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9709   { &hf_qsig_cidl_legID     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9710   { &hf_qsig_cidl_extensiont, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_ExtensionType },
9711   { NULL, 0, 0, 0, NULL }
9712 };
9713
9714 static int
9715 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_) {
9716   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9717                                    qsig_cidl_CallIdentificationUpdateArg_sequence, hf_index, ett_qsig_cidl_CallIdentificationUpdateArg);
9718
9719   return offset;
9720 }
9721
9722 /*--- PDUs ---*/
9723
9724 static int dissect_qsig_cidl_CallIdentificationAssignArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9725   int offset = 0;
9726   asn1_ctx_t asn1_ctx;
9727   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9728   offset = dissect_qsig_cidl_CallIdentificationAssignArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU);
9729   return offset;
9730 }
9731 static int dissect_qsig_cidl_CallIdentificationUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9732   int offset = 0;
9733   asn1_ctx_t asn1_ctx;
9734   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9735   offset = dissect_qsig_cidl_CallIdentificationUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU);
9736   return offset;
9737 }
9738
9739
9740 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
9741
9742
9743
9744 static int
9745 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_) {
9746   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9747                                                 NULL);
9748
9749   return offset;
9750 }
9751
9752
9753
9754 static int
9755 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_) {
9756   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9757                                                 NULL);
9758
9759   return offset;
9760 }
9761
9762
9763
9764 static int
9765 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_) {
9766   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9767                                                 NULL);
9768
9769   return offset;
9770 }
9771
9772
9773
9774 static int
9775 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_) {
9776   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
9777
9778   return offset;
9779 }
9780
9781
9782
9783 static int
9784 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_) {
9785   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
9786
9787   return offset;
9788 }
9789
9790
9791
9792 static int
9793 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_) {
9794   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9795                                                 NULL);
9796
9797   return offset;
9798 }
9799
9800
9801
9802 static int
9803 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_) {
9804   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9805                                        NULL);
9806
9807   return offset;
9808 }
9809
9810
9811 static const value_string qsig_sms_EnhancedVP_vals[] = {
9812   {   0, "validityPeriodRel" },
9813   {   1, "validityPeriodSec" },
9814   {   2, "validityPeriodSemi" },
9815   { 0, NULL }
9816 };
9817
9818 static const ber_choice_t qsig_sms_EnhancedVP_choice[] = {
9819   {   0, &hf_qsig_sms_validityPeriodRel, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodRel },
9820   {   1, &hf_qsig_sms_validityPeriodSec, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_INTEGER_0_255 },
9821   {   2, &hf_qsig_sms_validityPeriodSemi, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodSemi },
9822   { 0, NULL, 0, 0, 0, NULL }
9823 };
9824
9825 static int
9826 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_) {
9827   offset = dissect_ber_choice(actx, tree, tvb, offset,
9828                                  qsig_sms_EnhancedVP_choice, hf_index, ett_qsig_sms_EnhancedVP,
9829                                  NULL);
9830
9831   return offset;
9832 }
9833
9834
9835 static const ber_sequence_t qsig_sms_ValidityPeriodEnh_sequence[] = {
9836   { &hf_qsig_sms_singleShotSM, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_BOOLEAN },
9837   { &hf_qsig_sms_enhancedVP , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_EnhancedVP },
9838   { NULL, 0, 0, 0, NULL }
9839 };
9840
9841 static int
9842 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_) {
9843   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9844                                    qsig_sms_ValidityPeriodEnh_sequence, hf_index, ett_qsig_sms_ValidityPeriodEnh);
9845
9846   return offset;
9847 }
9848
9849
9850 static const value_string qsig_sms_ValidityPeriod_vals[] = {
9851   {   0, "validityPeriodRel" },
9852   {   1, "validityPeriodAbs" },
9853   {   2, "validityPeriodEnh" },
9854   { 0, NULL }
9855 };
9856
9857 static const ber_choice_t qsig_sms_ValidityPeriod_choice[] = {
9858   {   0, &hf_qsig_sms_validityPeriodRel, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodRel },
9859   {   1, &hf_qsig_sms_validityPeriodAbs, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodAbs },
9860   {   2, &hf_qsig_sms_validityPeriodEnh, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodEnh },
9861   { 0, NULL, 0, 0, 0, NULL }
9862 };
9863
9864 static int
9865 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_) {
9866   offset = dissect_ber_choice(actx, tree, tvb, offset,
9867                                  qsig_sms_ValidityPeriod_choice, hf_index, ett_qsig_sms_ValidityPeriod,
9868                                  NULL);
9869
9870   return offset;
9871 }
9872
9873
9874 static const ber_sequence_t qsig_sms_SmSubmitParameter_sequence[] = {
9875   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
9876   { &hf_qsig_sms_validityPeriod, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_ValidityPeriod },
9877   { &hf_qsig_sms_statusReportRequest, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9878   { &hf_qsig_sms_replyPath  , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9879   { &hf_qsig_sms_rejectDuplicates, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9880   { NULL, 0, 0, 0, NULL }
9881 };
9882
9883 static int
9884 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_) {
9885   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9886                                    qsig_sms_SmSubmitParameter_sequence, hf_index, ett_qsig_sms_SmSubmitParameter);
9887
9888   return offset;
9889 }
9890
9891
9892 static const asn_namedbit qsig_sms_SmscControlParameterHeader_bits[] = {
9893   {  0, &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted, -1, -1, "sRforTransactionCompleted", NULL },
9894   {  1, &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError, -1, -1, "sRforPermanentError", NULL },
9895   {  2, &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying, -1, -1, "sRforTempErrorSCnotTrying", NULL },
9896   {  3, &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying, -1, -1, "sRforTempErrorSCstillTrying", NULL },
9897   {  6, &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM, -1, -1, "cancelSRRforConcatenatedSM", NULL },
9898   {  7, &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR, -1, -1, "includeOrigUDHintoSR", NULL },
9899   { 0, NULL, 0, 0, NULL, NULL }
9900 };
9901
9902 static int
9903 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_) {
9904   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9905                                     qsig_sms_SmscControlParameterHeader_bits, hf_index, ett_qsig_sms_SmscControlParameterHeader,
9906                                     NULL);
9907
9908   return offset;
9909 }
9910
9911
9912 static const ber_sequence_t qsig_sms_Concatenated8BitSMHeader_sequence[] = {
9913   { &hf_qsig_sms_concatenated8BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9914   { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9915   { &hf_qsig_sms_sequenceNumberOf8BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9916   { NULL, 0, 0, 0, NULL }
9917 };
9918
9919 static int
9920 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_) {
9921   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9922                                    qsig_sms_Concatenated8BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated8BitSMHeader);
9923
9924   return offset;
9925 }
9926
9927
9928
9929 static int
9930 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_) {
9931   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9932                                                 NULL);
9933
9934   return offset;
9935 }
9936
9937
9938 static const ber_sequence_t qsig_sms_Concatenated16BitSMHeader_sequence[] = {
9939   { &hf_qsig_sms_concatenated16BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
9940   { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9941   { &hf_qsig_sms_sequenceNumberOf16BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9942   { NULL, 0, 0, 0, NULL }
9943 };
9944
9945 static int
9946 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_) {
9947   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9948                                    qsig_sms_Concatenated16BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated16BitSMHeader);
9949
9950   return offset;
9951 }
9952
9953
9954 static const ber_sequence_t qsig_sms_ApplicationPort8BitHeader_sequence[] = {
9955   { &hf_qsig_sms_destination8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9956   { &hf_qsig_sms_originator8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9957   { NULL, 0, 0, 0, NULL }
9958 };
9959
9960 static int
9961 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_) {
9962   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9963                                    qsig_sms_ApplicationPort8BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort8BitHeader);
9964
9965   return offset;
9966 }
9967
9968
9969 static const ber_sequence_t qsig_sms_ApplicationPort16BitHeader_sequence[] = {
9970   { &hf_qsig_sms_destination16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
9971   { &hf_qsig_sms_originator16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
9972   { NULL, 0, 0, 0, NULL }
9973 };
9974
9975 static int
9976 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_) {
9977   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9978                                    qsig_sms_ApplicationPort16BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort16BitHeader);
9979
9980   return offset;
9981 }
9982
9983
9984 static const value_string qsig_sms_DataHeaderSourceIndicator_vals[] = {
9985   {   1, "originalSender" },
9986   {   2, "originalReceiver" },
9987   {   3, "sMSC" },
9988   { 0, NULL }
9989 };
9990
9991
9992 static int
9993 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_) {
9994   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9995                                                 NULL);
9996
9997   return offset;
9998 }
9999
10000
10001
10002 static int
10003 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_) {
10004   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10005                                        NULL);
10006
10007   return offset;
10008 }
10009
10010
10011
10012 static int
10013 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_) {
10014   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10015                                        NULL);
10016
10017   return offset;
10018 }
10019
10020
10021 static const ber_sequence_t qsig_sms_GenericUserValue_sequence[] = {
10022   { &hf_qsig_sms_parameterValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
10023   { &hf_qsig_sms_genericUserData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_OCTET_STRING },
10024   { NULL, 0, 0, 0, NULL }
10025 };
10026
10027 static int
10028 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_) {
10029   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10030                                    qsig_sms_GenericUserValue_sequence, hf_index, ett_qsig_sms_GenericUserValue);
10031
10032   return offset;
10033 }
10034
10035
10036 static const value_string qsig_sms_UserDataHeaderChoice_vals[] = {
10037   {   0, "smscControlParameterHeader" },
10038   {   1, "concatenated8BitSMHeader" },
10039   {   2, "concatenated16BitSMHeader" },
10040   {   3, "applicationPort8BitHeader" },
10041   {   4, "applicationPort16BitHeader" },
10042   {   5, "dataHeaderSourceIndicator" },
10043   {   6, "wirelessControlHeader" },
10044   {  99, "genericUserValue" },
10045   { 0, NULL }
10046 };
10047
10048 static const ber_choice_t qsig_sms_UserDataHeaderChoice_choice[] = {
10049   {   0, &hf_qsig_sms_smscControlParameterHeader, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SmscControlParameterHeader },
10050   {   1, &hf_qsig_sms_concatenated8BitSMHeader, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated8BitSMHeader },
10051   {   2, &hf_qsig_sms_concatenated16BitSMHeader, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated16BitSMHeader },
10052   {   3, &hf_qsig_sms_applicationPort8BitHeader, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort8BitHeader },
10053   {   4, &hf_qsig_sms_applicationPort16BitHeader, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort16BitHeader },
10054   {   5, &hf_qsig_sms_dataHeaderSourceIndicator, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_sms_DataHeaderSourceIndicator },
10055   {   6, &hf_qsig_sms_wirelessControlHeader, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_sms_WirelessControlHeader },
10056   {  99, &hf_qsig_sms_genericUserValue, BER_CLASS_CON, 99, BER_FLAGS_IMPLTAG, dissect_qsig_sms_GenericUserValue },
10057   { 0, NULL, 0, 0, 0, NULL }
10058 };
10059
10060 static int
10061 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_) {
10062   offset = dissect_ber_choice(actx, tree, tvb, offset,
10063                                  qsig_sms_UserDataHeaderChoice_choice, hf_index, ett_qsig_sms_UserDataHeaderChoice,
10064                                  NULL);
10065
10066   return offset;
10067 }
10068
10069
10070 static const ber_sequence_t qsig_sms_UserDataHeader_sequence_of[1] = {
10071   { &hf_qsig_sms_UserDataHeader_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_UserDataHeaderChoice },
10072 };
10073
10074 static int
10075 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_) {
10076   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10077                                       qsig_sms_UserDataHeader_sequence_of, hf_index, ett_qsig_sms_UserDataHeader);
10078
10079   return offset;
10080 }
10081
10082
10083
10084 static int
10085 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_) {
10086   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10087                                                 NULL);
10088
10089   return offset;
10090 }
10091
10092
10093 static const value_string qsig_sms_ShortMessageTextType_vals[] = {
10094   {   0, "iA5Coded" },
10095   {   1, "octetCoded" },
10096   {   2, "uniCoded" },
10097   {   3, "compressedCoded" },
10098   { 0, NULL }
10099 };
10100
10101
10102 static int
10103 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_) {
10104   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10105                                                 NULL);
10106
10107   return offset;
10108 }
10109
10110
10111
10112 static int
10113 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_) {
10114   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10115                                        NULL);
10116
10117   return offset;
10118 }
10119
10120
10121 static const ber_sequence_t qsig_sms_ShortMessageText_sequence[] = {
10122   { &hf_qsig_sms_shortMessageTextType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextType },
10123   { &hf_qsig_sms_shortMessageTextData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextData },
10124   { NULL, 0, 0, 0, NULL }
10125 };
10126
10127 static int
10128 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_) {
10129   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10130                                    qsig_sms_ShortMessageText_sequence, hf_index, ett_qsig_sms_ShortMessageText);
10131
10132   return offset;
10133 }
10134
10135
10136 static const ber_sequence_t qsig_sms_UserData_sequence[] = {
10137   { &hf_qsig_sms_userDataHeader, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserDataHeader },
10138   { &hf_qsig_sms_class      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_INTEGER_0_3 },
10139   { &hf_qsig_sms_compressed , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10140   { &hf_qsig_sms_shortMessageText, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageText },
10141   { NULL, 0, 0, 0, NULL }
10142 };
10143
10144 static int
10145 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_) {
10146   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10147                                    qsig_sms_UserData_sequence, hf_index, ett_qsig_sms_UserData);
10148
10149   return offset;
10150 }
10151
10152
10153 static const ber_sequence_t qsig_sms_SEQUENCE_OF_Extension_sequence_of[1] = {
10154   { &hf_qsig_sms_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10155 };
10156
10157 static int
10158 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_) {
10159   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10160                                       qsig_sms_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sms_SEQUENCE_OF_Extension);
10161
10162   return offset;
10163 }
10164
10165
10166 static const value_string qsig_sms_SmsExtension_vals[] = {
10167   {   1, "single" },
10168   {   2, "multiple" },
10169   { 0, NULL }
10170 };
10171
10172 static const ber_choice_t qsig_sms_SmsExtension_choice[] = {
10173   {   1, &hf_qsig_sms_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10174   {   2, &hf_qsig_sms_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SEQUENCE_OF_Extension },
10175   { 0, NULL, 0, 0, 0, NULL }
10176 };
10177
10178 static int
10179 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_) {
10180   offset = dissect_ber_choice(actx, tree, tvb, offset,
10181                                  qsig_sms_SmsExtension_choice, hf_index, ett_qsig_sms_SmsExtension,
10182                                  NULL);
10183
10184   return offset;
10185 }
10186
10187
10188 static const ber_sequence_t qsig_sms_SmsSubmitArg_sequence[] = {
10189   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10190   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10191   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10192   { &hf_qsig_sms_smSubmitParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmSubmitParameter },
10193   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10194   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10195   { NULL, 0, 0, 0, NULL }
10196 };
10197
10198 static int
10199 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_) {
10200   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10201                                    qsig_sms_SmsSubmitArg_sequence, hf_index, ett_qsig_sms_SmsSubmitArg);
10202
10203   return offset;
10204 }
10205
10206
10207
10208 static int
10209 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_) {
10210   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10211
10212   return offset;
10213 }
10214
10215
10216 static const ber_sequence_t qsig_sms_SmsSubmitRes_sequence[] = {
10217   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10218   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10219   { &hf_qsig_sms_userData   , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10220   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10221   { NULL, 0, 0, 0, NULL }
10222 };
10223
10224 static int
10225 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_) {
10226   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10227                                    qsig_sms_SmsSubmitRes_sequence, hf_index, ett_qsig_sms_SmsSubmitRes);
10228
10229   return offset;
10230 }
10231
10232
10233 static const ber_sequence_t qsig_sms_SmDeliverParameter_sequence[] = {
10234   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10235   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10236   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10237   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10238   { &hf_qsig_sms_statusReportIndication, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10239   { &hf_qsig_sms_replyPath  , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10240   { NULL, 0, 0, 0, NULL }
10241 };
10242
10243 static int
10244 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_) {
10245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10246                                    qsig_sms_SmDeliverParameter_sequence, hf_index, ett_qsig_sms_SmDeliverParameter);
10247
10248   return offset;
10249 }
10250
10251
10252 static const ber_sequence_t qsig_sms_SmsDeliverArg_sequence[] = {
10253   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10254   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10255   { &hf_qsig_sms_originatingName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
10256   { &hf_qsig_sms_smDeliverParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmDeliverParameter },
10257   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10258   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10259   { NULL, 0, 0, 0, NULL }
10260 };
10261
10262 static int
10263 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_) {
10264   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10265                                    qsig_sms_SmsDeliverArg_sequence, hf_index, ett_qsig_sms_SmsDeliverArg);
10266
10267   return offset;
10268 }
10269
10270
10271
10272 static int
10273 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_) {
10274   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10275
10276   return offset;
10277 }
10278
10279
10280 static const ber_sequence_t qsig_sms_ResChoiceSeq_sequence[] = {
10281   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10282   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10283   { NULL, 0, 0, 0, NULL }
10284 };
10285
10286 static int
10287 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_) {
10288   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10289                                    qsig_sms_ResChoiceSeq_sequence, hf_index, ett_qsig_sms_ResChoiceSeq);
10290
10291   return offset;
10292 }
10293
10294
10295 static const value_string qsig_sms_SmsDeliverResChoice_vals[] = {
10296   {   0, "null" },
10297   {   1, "protocolIdentifier" },
10298   {   2, "userData" },
10299   {   3, "resChoiceSeq" },
10300   { 0, NULL }
10301 };
10302
10303 static const ber_choice_t qsig_sms_SmsDeliverResChoice_choice[] = {
10304   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10305   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10306   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10307   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10308   { 0, NULL, 0, 0, 0, NULL }
10309 };
10310
10311 static int
10312 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_) {
10313   offset = dissect_ber_choice(actx, tree, tvb, offset,
10314                                  qsig_sms_SmsDeliverResChoice_choice, hf_index, ett_qsig_sms_SmsDeliverResChoice,
10315                                  NULL);
10316
10317   return offset;
10318 }
10319
10320
10321 static const ber_sequence_t qsig_sms_SmsDeliverRes_sequence[] = {
10322   { &hf_qsig_sms_smsDeliverResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsDeliverResChoice },
10323   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10324   { NULL, 0, 0, 0, NULL }
10325 };
10326
10327 static int
10328 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_) {
10329   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10330                                    qsig_sms_SmsDeliverRes_sequence, hf_index, ett_qsig_sms_SmsDeliverRes);
10331
10332   return offset;
10333 }
10334
10335
10336
10337 static int
10338 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_) {
10339   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10340
10341   return offset;
10342 }
10343
10344
10345
10346 static int
10347 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_) {
10348   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10349                                                 NULL);
10350
10351   return offset;
10352 }
10353
10354
10355 static const ber_sequence_t qsig_sms_SmsStatusReportArg_sequence[] = {
10356   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10357   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10358   { &hf_qsig_sms_dischargeTime, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_DischargeTime },
10359   { &hf_qsig_sms_recipientAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10360   { &hf_qsig_sms_recipientName, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
10361   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10362   { &hf_qsig_sms_status     , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_Status },
10363   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10364   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10365   { &hf_qsig_sms_statusReportQualifier, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10366   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10367   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10368   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10369   { NULL, 0, 0, 0, NULL }
10370 };
10371
10372 static int
10373 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_) {
10374   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10375                                    qsig_sms_SmsStatusReportArg_sequence, hf_index, ett_qsig_sms_SmsStatusReportArg);
10376
10377   return offset;
10378 }
10379
10380
10381 static const value_string qsig_sms_SmsStatusReportResponseChoice_vals[] = {
10382   {   0, "null" },
10383   {   1, "protocolIdentifier" },
10384   {   2, "userData" },
10385   {   3, "resChoiceSeq" },
10386   { 0, NULL }
10387 };
10388
10389 static const ber_choice_t qsig_sms_SmsStatusReportResponseChoice_choice[] = {
10390   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10391   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10392   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10393   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10394   { 0, NULL, 0, 0, 0, NULL }
10395 };
10396
10397 static int
10398 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_) {
10399   offset = dissect_ber_choice(actx, tree, tvb, offset,
10400                                  qsig_sms_SmsStatusReportResponseChoice_choice, hf_index, ett_qsig_sms_SmsStatusReportResponseChoice,
10401                                  NULL);
10402
10403   return offset;
10404 }
10405
10406
10407 static const ber_sequence_t qsig_sms_SmsStatusReportRes_sequence[] = {
10408   { &hf_qsig_sms_smsStatusReportResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsStatusReportResponseChoice },
10409   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10410   { NULL, 0, 0, 0, NULL }
10411 };
10412
10413 static int
10414 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_) {
10415   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10416                                    qsig_sms_SmsStatusReportRes_sequence, hf_index, ett_qsig_sms_SmsStatusReportRes);
10417
10418   return offset;
10419 }
10420
10421
10422 static const value_string qsig_sms_CommandType_vals[] = {
10423   {   0, "enquiry" },
10424   {   1, "cancelSRR" },
10425   {   2, "deletePreviouslySubmittedSM" },
10426   {   3, "enableSRRrelatingToPreviouslySubmittedSM" },
10427   { 0, NULL }
10428 };
10429
10430
10431 static int
10432 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_) {
10433   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10434                                                 NULL);
10435
10436   return offset;
10437 }
10438
10439
10440
10441 static int
10442 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_) {
10443   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10444                                        NULL);
10445
10446   return offset;
10447 }
10448
10449
10450 static const ber_sequence_t qsig_sms_SmsCommandArg_sequence[] = {
10451   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10452   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10453   { &hf_qsig_sms_messageNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10454   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10455   { &hf_qsig_sms_commandType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandType },
10456   { &hf_qsig_sms_commandData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandData },
10457   { &hf_qsig_sms_statusReportRequest, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_BOOLEAN },
10458   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10459   { NULL, 0, 0, 0, NULL }
10460 };
10461
10462 static int
10463 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_) {
10464   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10465                                    qsig_sms_SmsCommandArg_sequence, hf_index, ett_qsig_sms_SmsCommandArg);
10466
10467   return offset;
10468 }
10469
10470
10471 static const ber_sequence_t qsig_sms_SmsCommandRes_sequence[] = {
10472   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10473   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10474   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10475   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10476   { NULL, 0, 0, 0, NULL }
10477 };
10478
10479 static int
10480 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_) {
10481   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10482                                    qsig_sms_SmsCommandRes_sequence, hf_index, ett_qsig_sms_SmsCommandRes);
10483
10484   return offset;
10485 }
10486
10487
10488 static const ber_sequence_t qsig_sms_ScAlertArg_sequence[] = {
10489   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10490   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10491   { NULL, 0, 0, 0, NULL }
10492 };
10493
10494 static int
10495 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_) {
10496   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10497                                    qsig_sms_ScAlertArg_sequence, hf_index, ett_qsig_sms_ScAlertArg);
10498
10499   return offset;
10500 }
10501
10502
10503 static const value_string qsig_sms_DummyRes_vals[] = {
10504   {   0, "null" },
10505   {   1, "smsExtension" },
10506   { 0, NULL }
10507 };
10508
10509 static const ber_choice_t qsig_sms_DummyRes_choice[] = {
10510   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10511   {   1, &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmsExtension },
10512   { 0, NULL, 0, 0, 0, NULL }
10513 };
10514
10515 static int
10516 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_) {
10517   offset = dissect_ber_choice(actx, tree, tvb, offset,
10518                                  qsig_sms_DummyRes_choice, hf_index, ett_qsig_sms_DummyRes,
10519                                  NULL);
10520
10521   return offset;
10522 }
10523
10524
10525
10526 static int
10527 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_) {
10528   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10529                                                 NULL);
10530
10531   return offset;
10532 }
10533
10534
10535 static const ber_sequence_t qsig_sms_PAR_smsDeliverError_sequence[] = {
10536   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10537   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10538   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10539   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10540   { NULL, 0, 0, 0, NULL }
10541 };
10542
10543 static int
10544 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_) {
10545   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10546                                    qsig_sms_PAR_smsDeliverError_sequence, hf_index, ett_qsig_sms_PAR_smsDeliverError);
10547
10548   return offset;
10549 }
10550
10551
10552 static const ber_sequence_t qsig_sms_PAR_smsSubmitError_sequence[] = {
10553   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10554   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10555   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10556   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10557   { NULL, 0, 0, 0, NULL }
10558 };
10559
10560 static int
10561 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_) {
10562   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10563                                    qsig_sms_PAR_smsSubmitError_sequence, hf_index, ett_qsig_sms_PAR_smsSubmitError);
10564
10565   return offset;
10566 }
10567
10568
10569 static const ber_sequence_t qsig_sms_PAR_smsStatusReportError_sequence[] = {
10570   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10571   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10572   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10573   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10574   { NULL, 0, 0, 0, NULL }
10575 };
10576
10577 static int
10578 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_) {
10579   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10580                                    qsig_sms_PAR_smsStatusReportError_sequence, hf_index, ett_qsig_sms_PAR_smsStatusReportError);
10581
10582   return offset;
10583 }
10584
10585
10586 static const ber_sequence_t qsig_sms_PAR_smsCommandError_sequence[] = {
10587   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10588   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10589   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10590   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10591   { NULL, 0, 0, 0, NULL }
10592 };
10593
10594 static int
10595 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_) {
10596   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10597                                    qsig_sms_PAR_smsCommandError_sequence, hf_index, ett_qsig_sms_PAR_smsCommandError);
10598
10599   return offset;
10600 }
10601
10602 /*--- PDUs ---*/
10603
10604 static int dissect_qsig_sms_SmsSubmitArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10605   int offset = 0;
10606   asn1_ctx_t asn1_ctx;
10607   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10608   offset = dissect_qsig_sms_SmsSubmitArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU);
10609   return offset;
10610 }
10611 static int dissect_qsig_sms_SmsSubmitRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10612   int offset = 0;
10613   asn1_ctx_t asn1_ctx;
10614   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10615   offset = dissect_qsig_sms_SmsSubmitRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU);
10616   return offset;
10617 }
10618 static int dissect_qsig_sms_SmsDeliverArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10619   int offset = 0;
10620   asn1_ctx_t asn1_ctx;
10621   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10622   offset = dissect_qsig_sms_SmsDeliverArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU);
10623   return offset;
10624 }
10625 static int dissect_qsig_sms_SmsDeliverRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10626   int offset = 0;
10627   asn1_ctx_t asn1_ctx;
10628   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10629   offset = dissect_qsig_sms_SmsDeliverRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU);
10630   return offset;
10631 }
10632 static int dissect_qsig_sms_SmsStatusReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10633   int offset = 0;
10634   asn1_ctx_t asn1_ctx;
10635   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10636   offset = dissect_qsig_sms_SmsStatusReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU);
10637   return offset;
10638 }
10639 static int dissect_qsig_sms_SmsStatusReportRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10640   int offset = 0;
10641   asn1_ctx_t asn1_ctx;
10642   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10643   offset = dissect_qsig_sms_SmsStatusReportRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU);
10644   return offset;
10645 }
10646 static int dissect_qsig_sms_SmsCommandArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10647   int offset = 0;
10648   asn1_ctx_t asn1_ctx;
10649   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10650   offset = dissect_qsig_sms_SmsCommandArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandArg_PDU);
10651   return offset;
10652 }
10653 static int dissect_qsig_sms_SmsCommandRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10654   int offset = 0;
10655   asn1_ctx_t asn1_ctx;
10656   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10657   offset = dissect_qsig_sms_SmsCommandRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandRes_PDU);
10658   return offset;
10659 }
10660 static int dissect_qsig_sms_ScAlertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10661   int offset = 0;
10662   asn1_ctx_t asn1_ctx;
10663   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10664   offset = dissect_qsig_sms_ScAlertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_ScAlertArg_PDU);
10665   return offset;
10666 }
10667 static int dissect_qsig_sms_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10668   int offset = 0;
10669   asn1_ctx_t asn1_ctx;
10670   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10671   offset = dissect_qsig_sms_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_DummyRes_PDU);
10672   return offset;
10673 }
10674 static int dissect_qsig_sms_PAR_smsDeliverError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10675   int offset = 0;
10676   asn1_ctx_t asn1_ctx;
10677   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10678   offset = dissect_qsig_sms_PAR_smsDeliverError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU);
10679   return offset;
10680 }
10681 static int dissect_qsig_sms_PAR_smsSubmitError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10682   int offset = 0;
10683   asn1_ctx_t asn1_ctx;
10684   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10685   offset = dissect_qsig_sms_PAR_smsSubmitError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU);
10686   return offset;
10687 }
10688 static int dissect_qsig_sms_PAR_smsStatusReportError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10689   int offset = 0;
10690   asn1_ctx_t asn1_ctx;
10691   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10692   offset = dissect_qsig_sms_PAR_smsStatusReportError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU);
10693   return offset;
10694 }
10695 static int dissect_qsig_sms_PAR_smsCommandError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10696   int offset = 0;
10697   asn1_ctx_t asn1_ctx;
10698   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10699   offset = dissect_qsig_sms_PAR_smsCommandError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU);
10700   return offset;
10701 }
10702 static int dissect_qsig_sms_SmsExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10703   int offset = 0;
10704   asn1_ctx_t asn1_ctx;
10705   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10706   offset = dissect_qsig_sms_SmsExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsExtension_PDU);
10707   return offset;
10708 }
10709
10710
10711 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
10712
10713
10714
10715 static int
10716 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_) {
10717   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10718
10719   return offset;
10720 }
10721
10722
10723 static const value_string qsig_mcr_CallType_vals[] = {
10724   {   0, "basicService" },
10725   {   1, "cisc" },
10726   { 0, NULL }
10727 };
10728
10729 static const ber_choice_t qsig_mcr_CallType_choice[] = {
10730   {   0, &hf_qsig_mcr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
10731   {   1, &hf_qsig_mcr_cisc       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10732   { 0, NULL, 0, 0, 0, NULL }
10733 };
10734
10735 static int
10736 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_) {
10737   offset = dissect_ber_choice(actx, tree, tvb, offset,
10738                                  qsig_mcr_CallType_choice, hf_index, ett_qsig_mcr_CallType,
10739                                  NULL);
10740
10741   return offset;
10742 }
10743
10744
10745
10746 static int
10747 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_) {
10748   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
10749
10750   return offset;
10751 }
10752
10753
10754 static const value_string qsig_mcr_CorrelationReason_vals[] = {
10755   {   0, "unknown" },
10756   {   1, "mCACommunication" },
10757   {   2, "cTIApplication" },
10758   { 0, NULL }
10759 };
10760
10761
10762 static int
10763 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_) {
10764   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10765                                                 NULL);
10766
10767   return offset;
10768 }
10769
10770
10771 static const ber_sequence_t qsig_mcr_Correlation_sequence[] = {
10772   { &hf_qsig_mcr_correlationData, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
10773   { &hf_qsig_mcr_correlationReason, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_CorrelationReason },
10774   { NULL, 0, 0, 0, NULL }
10775 };
10776
10777 static int
10778 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_) {
10779   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10780                                    qsig_mcr_Correlation_sequence, hf_index, ett_qsig_mcr_Correlation);
10781
10782   return offset;
10783 }
10784
10785
10786 static const ber_sequence_t qsig_mcr_SEQUENCE_OF_Extension_sequence_of[1] = {
10787   { &hf_qsig_mcr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10788 };
10789
10790 static int
10791 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_) {
10792   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10793                                       qsig_mcr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcr_SEQUENCE_OF_Extension);
10794
10795   return offset;
10796 }
10797
10798
10799 static const value_string qsig_mcr_MCRExtensions_vals[] = {
10800   {   0, "none" },
10801   {   1, "single" },
10802   {   2, "multiple" },
10803   { 0, NULL }
10804 };
10805
10806 static const ber_choice_t qsig_mcr_MCRExtensions_choice[] = {
10807   {   0, &hf_qsig_mcr_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10808   {   1, &hf_qsig_mcr_single     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10809   {   2, &hf_qsig_mcr_multiple   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcr_SEQUENCE_OF_Extension },
10810   { 0, NULL, 0, 0, 0, NULL }
10811 };
10812
10813 static int
10814 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_) {
10815   offset = dissect_ber_choice(actx, tree, tvb, offset,
10816                                  qsig_mcr_MCRExtensions_choice, hf_index, ett_qsig_mcr_MCRExtensions,
10817                                  NULL);
10818
10819   return offset;
10820 }
10821
10822
10823 static const ber_sequence_t qsig_mcr_MCRequestArg_sequence[] = {
10824   { &hf_qsig_mcr_callType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_CallType },
10825   { &hf_qsig_mcr_retainOrigCall, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_BOOLEAN },
10826   { &hf_qsig_mcr_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
10827   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10828   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10829   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10830   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10831   { NULL, 0, 0, 0, NULL }
10832 };
10833
10834 static int
10835 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_) {
10836   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10837                                    qsig_mcr_MCRequestArg_sequence, hf_index, ett_qsig_mcr_MCRequestArg);
10838
10839   return offset;
10840 }
10841
10842
10843 static const ber_sequence_t qsig_mcr_MCRequestResult_sequence[] = {
10844   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10845   { NULL, 0, 0, 0, NULL }
10846 };
10847
10848 static int
10849 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_) {
10850   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10851                                    qsig_mcr_MCRequestResult_sequence, hf_index, ett_qsig_mcr_MCRequestResult);
10852
10853   return offset;
10854 }
10855
10856
10857 static const ber_sequence_t qsig_mcr_MCInformArg_sequence[] = {
10858   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10859   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10860   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10861   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10862   { NULL, 0, 0, 0, NULL }
10863 };
10864
10865 static int
10866 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_) {
10867   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10868                                    qsig_mcr_MCInformArg_sequence, hf_index, ett_qsig_mcr_MCInformArg);
10869
10870   return offset;
10871 }
10872
10873
10874 static const ber_sequence_t qsig_mcr_MCAlertingArg_sequence[] = {
10875   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10876   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10877   { NULL, 0, 0, 0, NULL }
10878 };
10879
10880 static int
10881 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_) {
10882   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10883                                    qsig_mcr_MCAlertingArg_sequence, hf_index, ett_qsig_mcr_MCAlertingArg);
10884
10885   return offset;
10886 }
10887
10888 /*--- PDUs ---*/
10889
10890 static int dissect_qsig_mcr_MCRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10891   int offset = 0;
10892   asn1_ctx_t asn1_ctx;
10893   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10894   offset = dissect_qsig_mcr_MCRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU);
10895   return offset;
10896 }
10897 static int dissect_qsig_mcr_MCRequestResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10898   int offset = 0;
10899   asn1_ctx_t asn1_ctx;
10900   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10901   offset = dissect_qsig_mcr_MCRequestResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU);
10902   return offset;
10903 }
10904 static int dissect_qsig_mcr_MCInformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10905   int offset = 0;
10906   asn1_ctx_t asn1_ctx;
10907   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10908   offset = dissect_qsig_mcr_MCInformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCInformArg_PDU);
10909   return offset;
10910 }
10911 static int dissect_qsig_mcr_MCAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10912   int offset = 0;
10913   asn1_ctx_t asn1_ctx;
10914   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10915   offset = dissect_qsig_mcr_MCAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU);
10916   return offset;
10917 }
10918 static int dissect_qsig_mcr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10919   int offset = 0;
10920   asn1_ctx_t asn1_ctx;
10921   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10922   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_Extension_PDU);
10923   return offset;
10924 }
10925
10926
10927 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
10928
10929
10930
10931 static int
10932 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_) {
10933   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10934                                                 NULL);
10935
10936   return offset;
10937 }
10938
10939
10940
10941 static int
10942 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_) {
10943   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
10944                                             actx, tree, tvb, offset, hf_index,
10945                                             NULL);
10946
10947   return offset;
10948 }
10949
10950
10951 static const value_string qsig_mcm_MsgCentreId_vals[] = {
10952   {   0, "integer" },
10953   {   1, "partyNumber" },
10954   {   2, "numericString" },
10955   { 0, NULL }
10956 };
10957
10958 static const ber_choice_t qsig_mcm_MsgCentreId_choice[] = {
10959   {   0, &hf_qsig_mcm_integer    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_65535 },
10960   {   1, &hf_qsig_mcm_partyNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PartyNumber },
10961   {   2, &hf_qsig_mcm_numericString, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NumericString_SIZE_1_10 },
10962   { 0, NULL, 0, 0, 0, NULL }
10963 };
10964
10965 static int
10966 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_) {
10967   offset = dissect_ber_choice(actx, tree, tvb, offset,
10968                                  qsig_mcm_MsgCentreId_choice, hf_index, ett_qsig_mcm_MsgCentreId,
10969                                  NULL);
10970
10971   return offset;
10972 }
10973
10974
10975 static const ber_sequence_t qsig_mcm_PartyInfo_sequence[] = {
10976   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10977   { &hf_qsig_mcm_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
10978   { NULL, 0, 0, 0, NULL }
10979 };
10980
10981 static int
10982 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_) {
10983   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10984                                    qsig_mcm_PartyInfo_sequence, hf_index, ett_qsig_mcm_PartyInfo);
10985
10986   return offset;
10987 }
10988
10989
10990 static const value_string qsig_mcm_MessageType_vals[] = {
10991   {   0, "allServices" },
10992   {   1, "speech" },
10993   {   2, "unrestrictedDigitalInformation" },
10994   {   3, "audio3100Hz" },
10995   {  32, "telephony" },
10996   {  33, "teletex" },
10997   {  34, "telefaxGroup4Class1" },
10998   {  35, "videotextSyntaxBased" },
10999   {  36, "videotelephony" },
11000   {  37, "telefaxGroup2-3" },
11001   {  38, "reservedNotUsed1" },
11002   {  39, "reservedNotUsed2" },
11003   {  40, "reservedNotUsed3" },
11004   {  41, "reservedNotUsed4" },
11005   {  42, "reservedNotUsed5" },
11006   {  51, "email" },
11007   {  52, "video" },
11008   {  53, "fileTransfer" },
11009   {  54, "shortMessageService" },
11010   {  55, "speechAndVideo" },
11011   {  56, "speechAndFax" },
11012   {  57, "speechAndEmail" },
11013   {  58, "videoAndFax" },
11014   {  59, "videoAndEmail" },
11015   {  60, "faxAndEmail" },
11016   {  61, "speechVideoAndFax" },
11017   {  62, "speechVideoAndEmail" },
11018   {  63, "speechFaxAndEmail" },
11019   {  64, "videoFaxAndEmail" },
11020   {  65, "speechVideoFaxAndEmail" },
11021   {  66, "multimediaUnknown" },
11022   {  67, "serviceUnknown" },
11023   {  68, "futureReserve1" },
11024   {  69, "futureReserve2" },
11025   {  70, "futureReserve3" },
11026   {  71, "futureReserve4" },
11027   {  72, "futureReserve5" },
11028   {  73, "futureReserve6" },
11029   {  74, "futureReserve7" },
11030   {  75, "futureReserve8" },
11031   { 0, NULL }
11032 };
11033
11034
11035 static int
11036 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_) {
11037   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11038                                   NULL);
11039
11040   return offset;
11041 }
11042
11043
11044
11045 static int
11046 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_) {
11047   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11048                                                 NULL);
11049
11050   return offset;
11051 }
11052
11053
11054 static const ber_sequence_t qsig_mcm_MailboxFullPar_sequence[] = {
11055   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11056   { &hf_qsig_mcm_capacityReached, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_INTEGER_0_100 },
11057   { NULL, 0, 0, 0, NULL }
11058 };
11059
11060 static int
11061 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_) {
11062   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11063                                    qsig_mcm_MailboxFullPar_sequence, hf_index, ett_qsig_mcm_MailboxFullPar);
11064
11065   return offset;
11066 }
11067
11068
11069 static const ber_sequence_t qsig_mcm_MailboxFullFor_sequence_of[1] = {
11070   { &hf_qsig_mcm_MailboxFullFor_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullPar },
11071 };
11072
11073 static int
11074 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_) {
11075   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11076                                       qsig_mcm_MailboxFullFor_sequence_of, hf_index, ett_qsig_mcm_MailboxFullFor);
11077
11078   return offset;
11079 }
11080
11081
11082
11083 static int
11084 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_) {
11085   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11086
11087   return offset;
11088 }
11089
11090
11091 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_Extension_sequence_of[1] = {
11092   { &hf_qsig_mcm_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11093 };
11094
11095 static int
11096 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_) {
11097   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11098                                       qsig_mcm_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_Extension);
11099
11100   return offset;
11101 }
11102
11103
11104 static const value_string qsig_mcm_MCMExtensions_vals[] = {
11105   {   0, "none" },
11106   {   1, "extension" },
11107   {   2, "multipleExtension" },
11108   { 0, NULL }
11109 };
11110
11111 static const ber_choice_t qsig_mcm_MCMExtensions_choice[] = {
11112   {   0, &hf_qsig_mcm_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11113   {   1, &hf_qsig_mcm_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11114   {   2, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11115   { 0, NULL, 0, 0, 0, NULL }
11116 };
11117
11118 static int
11119 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_) {
11120   offset = dissect_ber_choice(actx, tree, tvb, offset,
11121                                  qsig_mcm_MCMExtensions_choice, hf_index, ett_qsig_mcm_MCMExtensions,
11122                                  NULL);
11123
11124   return offset;
11125 }
11126
11127
11128 static const ber_sequence_t qsig_mcm_MCMailboxFullArg_sequence[] = {
11129   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11130   { &hf_qsig_mcm_mailboxFullFor, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullFor },
11131   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11132   { NULL, 0, 0, 0, NULL }
11133 };
11134
11135 static int
11136 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_) {
11137   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11138                                    qsig_mcm_MCMailboxFullArg_sequence, hf_index, ett_qsig_mcm_MCMailboxFullArg);
11139
11140   return offset;
11141 }
11142
11143
11144 static const value_string qsig_mcm_MCMMode_vals[] = {
11145   {   0, "compressed" },
11146   {   1, "complete" },
11147   { 0, NULL }
11148 };
11149
11150
11151 static int
11152 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_) {
11153   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11154                                                 NULL);
11155
11156   return offset;
11157 }
11158
11159
11160 static const ber_sequence_t qsig_mcm_MCMServiceInfo_sequence[] = {
11161   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11162   { &hf_qsig_mcm_mCMModeNew , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11163   { &hf_qsig_mcm_mCMModeRetrieved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11164   { NULL, 0, 0, 0, NULL }
11165 };
11166
11167 static int
11168 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_) {
11169   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11170                                    qsig_mcm_MCMServiceInfo_sequence, hf_index, ett_qsig_mcm_MCMServiceInfo);
11171
11172   return offset;
11173 }
11174
11175
11176 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of[1] = {
11177   { &hf_qsig_mcm_activateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMServiceInfo },
11178 };
11179
11180 static int
11181 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_) {
11182   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11183                                       qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo);
11184
11185   return offset;
11186 }
11187
11188
11189 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MessageType_sequence_of[1] = {
11190   { &hf_qsig_mcm_deactivateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11191 };
11192
11193 static int
11194 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_) {
11195   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11196                                       qsig_mcm_SEQUENCE_OF_MessageType_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MessageType);
11197
11198   return offset;
11199 }
11200
11201
11202 static const value_string qsig_mcm_MCMChange_vals[] = {
11203   {   0, "activateMCM" },
11204   {   1, "deactivateMCM" },
11205   {   2, "setToDefaultValues" },
11206   { 0, NULL }
11207 };
11208
11209 static const ber_choice_t qsig_mcm_MCMChange_choice[] = {
11210   {   0, &hf_qsig_mcm_activateMCM, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11211   {   1, &hf_qsig_mcm_deactivateMCM, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11212   {   2, &hf_qsig_mcm_setToDefaultValues, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11213   { 0, NULL, 0, 0, 0, NULL }
11214 };
11215
11216 static int
11217 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_) {
11218   offset = dissect_ber_choice(actx, tree, tvb, offset,
11219                                  qsig_mcm_MCMChange_choice, hf_index, ett_qsig_mcm_MCMChange,
11220                                  NULL);
11221
11222   return offset;
11223 }
11224
11225
11226 static const ber_sequence_t qsig_mcm_MCMServiceArg_sequence[] = {
11227   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11228   { &hf_qsig_mcm_mCMChange  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMChange },
11229   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11230   { NULL, 0, 0, 0, NULL }
11231 };
11232
11233 static int
11234 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_) {
11235   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11236                                    qsig_mcm_MCMServiceArg_sequence, hf_index, ett_qsig_mcm_MCMServiceArg);
11237
11238   return offset;
11239 }
11240
11241
11242 static const ber_sequence_t qsig_mcm_MCMInterrogateArg_sequence[] = {
11243   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11244   { &hf_qsig_mcm_interrogateInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11245   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11246   { NULL, 0, 0, 0, NULL }
11247 };
11248
11249 static int
11250 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_) {
11251   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11252                                    qsig_mcm_MCMInterrogateArg_sequence, hf_index, ett_qsig_mcm_MCMInterrogateArg);
11253
11254   return offset;
11255 }
11256
11257
11258 static const ber_sequence_t qsig_mcm_MCMInterrogateRes_sequence[] = {
11259   { &hf_qsig_mcm_interrogateResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11260   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11261   { NULL, 0, 0, 0, NULL }
11262 };
11263
11264 static int
11265 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_) {
11266   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11267                                    qsig_mcm_MCMInterrogateRes_sequence, hf_index, ett_qsig_mcm_MCMInterrogateRes);
11268
11269   return offset;
11270 }
11271
11272
11273
11274 static int
11275 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_) {
11276   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11277                                                 NULL);
11278
11279   return offset;
11280 }
11281
11282
11283
11284 static int
11285 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_) {
11286   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
11287
11288   return offset;
11289 }
11290
11291
11292
11293 static int
11294 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_) {
11295   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11296                                                 NULL);
11297
11298   return offset;
11299 }
11300
11301
11302 static const value_string qsig_mcm_MCMNewArgumentExt_vals[] = {
11303   {   6, "extension" },
11304   {   7, "multipleExtension" },
11305   { 0, NULL }
11306 };
11307
11308 static const ber_choice_t qsig_mcm_MCMNewArgumentExt_choice[] = {
11309   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11310   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11311   { 0, NULL, 0, 0, 0, NULL }
11312 };
11313
11314 static int
11315 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_) {
11316   offset = dissect_ber_choice(actx, tree, tvb, offset,
11317                                  qsig_mcm_MCMNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNewArgumentExt,
11318                                  NULL);
11319
11320   return offset;
11321 }
11322
11323
11324 static const ber_sequence_t qsig_mcm_MCMNewMsgArg_sequence[] = {
11325   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11326   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11327   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11328   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11329   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11330   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11331   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11332   { &hf_qsig_mcm_argumentExtMCMNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNewArgumentExt },
11333   { NULL, 0, 0, 0, NULL }
11334 };
11335
11336 static int
11337 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_) {
11338   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11339                                    qsig_mcm_MCMNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNewMsgArg);
11340
11341   return offset;
11342 }
11343
11344
11345 static const value_string qsig_mcm_MCMNoNewArgumentExt_vals[] = {
11346   {   3, "extension" },
11347   {   4, "multipleExtension" },
11348   { 0, NULL }
11349 };
11350
11351 static const ber_choice_t qsig_mcm_MCMNoNewArgumentExt_choice[] = {
11352   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11353   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11354   { 0, NULL, 0, 0, 0, NULL }
11355 };
11356
11357 static int
11358 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_) {
11359   offset = dissect_ber_choice(actx, tree, tvb, offset,
11360                                  qsig_mcm_MCMNoNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNoNewArgumentExt,
11361                                  NULL);
11362
11363   return offset;
11364 }
11365
11366
11367 static const ber_sequence_t qsig_mcm_MCMNoNewMsgArg_sequence[] = {
11368   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11369   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11370   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11371   { &hf_qsig_mcm_argumentExtMCMNoNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNoNewArgumentExt },
11372   { NULL, 0, 0, 0, NULL }
11373 };
11374
11375 static int
11376 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_) {
11377   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11378                                    qsig_mcm_MCMNoNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNoNewMsgArg);
11379
11380   return offset;
11381 }
11382
11383
11384
11385 static int
11386 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_) {
11387   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11388                                                 NULL);
11389
11390   return offset;
11391 }
11392
11393
11394 static const ber_sequence_t qsig_mcm_AddressHeader_sequence[] = {
11395   { &hf_qsig_mcm_originatorNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11396   { &hf_qsig_mcm_timeStamp  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_TimeStamp },
11397   { &hf_qsig_mcm_ahpriority , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_Priority },
11398   { NULL, 0, 0, 0, NULL }
11399 };
11400
11401 static int
11402 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_) {
11403   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11404                                    qsig_mcm_AddressHeader_sequence, hf_index, ett_qsig_mcm_AddressHeader);
11405
11406   return offset;
11407 }
11408
11409
11410 static const ber_sequence_t qsig_mcm_CompleteInfo_sequence_of[1] = {
11411   { &hf_qsig_mcm_CompleteInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AddressHeader },
11412 };
11413
11414 static int
11415 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_) {
11416   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11417                                       qsig_mcm_CompleteInfo_sequence_of, hf_index, ett_qsig_mcm_CompleteInfo);
11418
11419   return offset;
11420 }
11421
11422
11423 static const ber_sequence_t qsig_mcm_CompressedInfo_sequence[] = {
11424   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NrOfMessages },
11425   { &hf_qsig_mcm_lastTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11426   { &hf_qsig_mcm_highestPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_Priority },
11427   { NULL, 0, 0, 0, NULL }
11428 };
11429
11430 static int
11431 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_) {
11432   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11433                                    qsig_mcm_CompressedInfo_sequence, hf_index, ett_qsig_mcm_CompressedInfo);
11434
11435   return offset;
11436 }
11437
11438
11439 static const value_string qsig_mcm_MessageInfo_vals[] = {
11440   {   0, "completeInfo" },
11441   {   1, "compressedInfo" },
11442   {   2, "noMsgsOfMsgType" },
11443   { 0, NULL }
11444 };
11445
11446 static const ber_choice_t qsig_mcm_MessageInfo_choice[] = {
11447   {   0, &hf_qsig_mcm_completeInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompleteInfo },
11448   {   1, &hf_qsig_mcm_compressedInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompressedInfo },
11449   {   2, &hf_qsig_mcm_noMsgsOfMsgType, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11450   { 0, NULL, 0, 0, 0, NULL }
11451 };
11452
11453 static int
11454 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_) {
11455   offset = dissect_ber_choice(actx, tree, tvb, offset,
11456                                  qsig_mcm_MessageInfo_choice, hf_index, ett_qsig_mcm_MessageInfo,
11457                                  NULL);
11458
11459   return offset;
11460 }
11461
11462
11463 static const ber_sequence_t qsig_mcm_AllMsgInfo_sequence[] = {
11464   { &hf_qsig_mcm_newMsgInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11465   { &hf_qsig_mcm_retrievedMsgInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11466   { NULL, 0, 0, 0, NULL }
11467 };
11468
11469 static int
11470 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_) {
11471   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11472                                    qsig_mcm_AllMsgInfo_sequence, hf_index, ett_qsig_mcm_AllMsgInfo);
11473
11474   return offset;
11475 }
11476
11477
11478 static const value_string qsig_mcm_UpdateInfo_vals[] = {
11479   {   0, "newMsgInfoOnly" },
11480   {   1, "retrievedMsgInfoOnly" },
11481   {   2, "allMsgInfo" },
11482   { 0, NULL }
11483 };
11484
11485 static const ber_choice_t qsig_mcm_UpdateInfo_choice[] = {
11486   {   0, &hf_qsig_mcm_newMsgInfoOnly, BER_CLASS_CON, 1, 0, dissect_qsig_mcm_MessageInfo },
11487   {   1, &hf_qsig_mcm_retrievedMsgInfoOnly, BER_CLASS_CON, 2, 0, dissect_qsig_mcm_MessageInfo },
11488   {   2, &hf_qsig_mcm_allMsgInfo , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AllMsgInfo },
11489   { 0, NULL, 0, 0, 0, NULL }
11490 };
11491
11492 static int
11493 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_) {
11494   offset = dissect_ber_choice(actx, tree, tvb, offset,
11495                                  qsig_mcm_UpdateInfo_choice, hf_index, ett_qsig_mcm_UpdateInfo,
11496                                  NULL);
11497
11498   return offset;
11499 }
11500
11501
11502
11503 static int
11504 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_) {
11505   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
11506
11507   return offset;
11508 }
11509
11510
11511 static const ber_sequence_t qsig_mcm_MCMUpdateArg_sequence[] = {
11512   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11513   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11514   { &hf_qsig_mcm_updateInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_UpdateInfo },
11515   { &hf_qsig_mcm_moreInfoFollows, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_BOOLEAN },
11516   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11517   { NULL, 0, 0, 0, NULL }
11518 };
11519
11520 static int
11521 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_) {
11522   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11523                                    qsig_mcm_MCMUpdateArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateArg);
11524
11525   return offset;
11526 }
11527
11528
11529 static const value_string qsig_mcm_MCMUpdArgArgumentExt_vals[] = {
11530   {   3, "extension" },
11531   {   4, "multipleExtension" },
11532   { 0, NULL }
11533 };
11534
11535 static const ber_choice_t qsig_mcm_MCMUpdArgArgumentExt_choice[] = {
11536   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11537   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11538   { 0, NULL, 0, 0, 0, NULL }
11539 };
11540
11541 static int
11542 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_) {
11543   offset = dissect_ber_choice(actx, tree, tvb, offset,
11544                                  qsig_mcm_MCMUpdArgArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdArgArgumentExt,
11545                                  NULL);
11546
11547   return offset;
11548 }
11549
11550
11551 static const ber_sequence_t qsig_mcm_MCMUpdateReqArg_sequence[] = {
11552   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11553   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11554   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11555   { &hf_qsig_mcm_argumentExtMCMUpdArg, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdArgArgumentExt },
11556   { NULL, 0, 0, 0, NULL }
11557 };
11558
11559 static int
11560 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_) {
11561   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11562                                    qsig_mcm_MCMUpdateReqArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqArg);
11563
11564   return offset;
11565 }
11566
11567
11568 static const value_string qsig_mcm_MCMUpdResArgumentExt_vals[] = {
11569   {   6, "extension" },
11570   {   7, "multipleExtension" },
11571   { 0, NULL }
11572 };
11573
11574 static const ber_choice_t qsig_mcm_MCMUpdResArgumentExt_choice[] = {
11575   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11576   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11577   { 0, NULL, 0, 0, 0, NULL }
11578 };
11579
11580 static int
11581 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_) {
11582   offset = dissect_ber_choice(actx, tree, tvb, offset,
11583                                  qsig_mcm_MCMUpdResArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdResArgumentExt,
11584                                  NULL);
11585
11586   return offset;
11587 }
11588
11589
11590 static const ber_sequence_t qsig_mcm_MCMUpdateReqResElt_sequence[] = {
11591   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11592   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11593   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11594   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11595   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11596   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11597   { &hf_qsig_mcm_argumentExtMCMUpdRes, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdResArgumentExt },
11598   { NULL, 0, 0, 0, NULL }
11599 };
11600
11601 static int
11602 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_) {
11603   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11604                                    qsig_mcm_MCMUpdateReqResElt_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqResElt);
11605
11606   return offset;
11607 }
11608
11609
11610 static const ber_sequence_t qsig_mcm_MCMUpdateReqRes_sequence_of[1] = {
11611   { &hf_qsig_mcm_MCMUpdateReqRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMUpdateReqResElt },
11612 };
11613
11614 static int
11615 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_) {
11616   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11617                                       qsig_mcm_MCMUpdateReqRes_sequence_of, hf_index, ett_qsig_mcm_MCMUpdateReqRes);
11618
11619   return offset;
11620 }
11621
11622
11623
11624 static int
11625 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_) {
11626   offset = dissect_qsig_mcm_MCMExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11627
11628   return offset;
11629 }
11630
11631 /*--- PDUs ---*/
11632
11633 static int dissect_qsig_mcm_MCMNewMsgArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11634   int offset = 0;
11635   asn1_ctx_t asn1_ctx;
11636   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11637   offset = dissect_qsig_mcm_MCMNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU);
11638   return offset;
11639 }
11640 static int dissect_qsig_mcm_MCMDummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11641   int offset = 0;
11642   asn1_ctx_t asn1_ctx;
11643   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11644   offset = dissect_qsig_mcm_MCMDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU);
11645   return offset;
11646 }
11647 static int dissect_qsig_mcm_MCMNoNewMsgArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11648   int offset = 0;
11649   asn1_ctx_t asn1_ctx;
11650   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11651   offset = dissect_qsig_mcm_MCMNoNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU);
11652   return offset;
11653 }
11654 static int dissect_qsig_mcm_MCMUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11655   int offset = 0;
11656   asn1_ctx_t asn1_ctx;
11657   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11658   offset = dissect_qsig_mcm_MCMUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU);
11659   return offset;
11660 }
11661 static int dissect_qsig_mcm_MCMUpdateReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11662   int offset = 0;
11663   asn1_ctx_t asn1_ctx;
11664   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11665   offset = dissect_qsig_mcm_MCMUpdateReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU);
11666   return offset;
11667 }
11668 static int dissect_qsig_mcm_MCMUpdateReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11669   int offset = 0;
11670   asn1_ctx_t asn1_ctx;
11671   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11672   offset = dissect_qsig_mcm_MCMUpdateReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU);
11673   return offset;
11674 }
11675 static int dissect_qsig_mcm_MCMServiceArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11676   int offset = 0;
11677   asn1_ctx_t asn1_ctx;
11678   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11679   offset = dissect_qsig_mcm_MCMServiceArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU);
11680   return offset;
11681 }
11682 static int dissect_qsig_mcm_MCMInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11683   int offset = 0;
11684   asn1_ctx_t asn1_ctx;
11685   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11686   offset = dissect_qsig_mcm_MCMInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU);
11687   return offset;
11688 }
11689 static int dissect_qsig_mcm_MCMInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11690   int offset = 0;
11691   asn1_ctx_t asn1_ctx;
11692   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11693   offset = dissect_qsig_mcm_MCMInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU);
11694   return offset;
11695 }
11696 static int dissect_qsig_mcm_MCMailboxFullArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11697   int offset = 0;
11698   asn1_ctx_t asn1_ctx;
11699   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11700   offset = dissect_qsig_mcm_MCMailboxFullArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU);
11701   return offset;
11702 }
11703 static int dissect_qsig_mcm_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11704   int offset = 0;
11705   asn1_ctx_t asn1_ctx;
11706   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11707   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_Extension_PDU);
11708   return offset;
11709 }
11710
11711
11712 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
11713
11714
11715 static const ber_sequence_t qsig_mid_PartyInfo_sequence[] = {
11716   { &hf_qsig_mid_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
11717   { &hf_qsig_mid_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11718   { &hf_qsig_mid_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MsgCentreId },
11719   { NULL, 0, 0, 0, NULL }
11720 };
11721
11722 static int
11723 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_) {
11724   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11725                                    qsig_mid_PartyInfo_sequence, hf_index, ett_qsig_mid_PartyInfo);
11726
11727   return offset;
11728 }
11729
11730
11731
11732 static int
11733 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_) {
11734   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
11735                                             actx, tree, tvb, offset, hf_index,
11736                                             NULL);
11737
11738   return offset;
11739 }
11740
11741
11742
11743 static int
11744 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_) {
11745   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
11746                                             actx, tree, tvb, offset, hf_index,
11747                                             NULL);
11748
11749   return offset;
11750 }
11751
11752
11753 static const value_string qsig_mid_String_vals[] = {
11754   {   0, "stringBmp" },
11755   {   1, "stringUtf8" },
11756   { 0, NULL }
11757 };
11758
11759 static const ber_choice_t qsig_mid_String_choice[] = {
11760   {   0, &hf_qsig_mid_stringBmp  , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_BMPString },
11761   {   1, &hf_qsig_mid_stringUtf8 , BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_UTF8String },
11762   { 0, NULL, 0, 0, 0, NULL }
11763 };
11764
11765 static int
11766 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_) {
11767   offset = dissect_ber_choice(actx, tree, tvb, offset,
11768                                  qsig_mid_String_choice, hf_index, ett_qsig_mid_String,
11769                                  NULL);
11770
11771   return offset;
11772 }
11773
11774
11775
11776 static int
11777 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_) {
11778   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11779
11780   return offset;
11781 }
11782
11783
11784 static const ber_sequence_t qsig_mid_SEQUENCE_OF_Extension_sequence_of[1] = {
11785   { &hf_qsig_mid_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11786 };
11787
11788 static int
11789 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_) {
11790   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11791                                       qsig_mid_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mid_SEQUENCE_OF_Extension);
11792
11793   return offset;
11794 }
11795
11796
11797 static const value_string qsig_mid_MIDExtensions_vals[] = {
11798   {   0, "none" },
11799   {   1, "extension" },
11800   {   2, "multipleExtension" },
11801   { 0, NULL }
11802 };
11803
11804 static const ber_choice_t qsig_mid_MIDExtensions_choice[] = {
11805   {   0, &hf_qsig_mid_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_NULL },
11806   {   1, &hf_qsig_mid_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11807   {   2, &hf_qsig_mid_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mid_SEQUENCE_OF_Extension },
11808   { 0, NULL, 0, 0, 0, NULL }
11809 };
11810
11811 static int
11812 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_) {
11813   offset = dissect_ber_choice(actx, tree, tvb, offset,
11814                                  qsig_mid_MIDExtensions_choice, hf_index, ett_qsig_mid_MIDExtensions,
11815                                  NULL);
11816
11817   return offset;
11818 }
11819
11820
11821 static const ber_sequence_t qsig_mid_MIDMailboxAuthArg_sequence[] = {
11822   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11823   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11824   { &hf_qsig_mid_mailBox    , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11825   { &hf_qsig_mid_password   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11826   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11827   { NULL, 0, 0, 0, NULL }
11828 };
11829
11830 static int
11831 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_) {
11832   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11833                                    qsig_mid_MIDMailboxAuthArg_sequence, hf_index, ett_qsig_mid_MIDMailboxAuthArg);
11834
11835   return offset;
11836 }
11837
11838
11839 static const ber_sequence_t qsig_mid_MIDMailboxIDArg_sequence[] = {
11840   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11841   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11842   { &hf_qsig_mid_mailBox    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11843   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11844   { NULL, 0, 0, 0, NULL }
11845 };
11846
11847 static int
11848 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_) {
11849   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11850                                    qsig_mid_MIDMailboxIDArg_sequence, hf_index, ett_qsig_mid_MIDMailboxIDArg);
11851
11852   return offset;
11853 }
11854
11855
11856
11857 static int
11858 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_) {
11859   offset = dissect_qsig_mid_MIDExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11860
11861   return offset;
11862 }
11863
11864 /*--- PDUs ---*/
11865
11866 static int dissect_qsig_mid_MIDMailboxAuthArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11867   int offset = 0;
11868   asn1_ctx_t asn1_ctx;
11869   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11870   offset = dissect_qsig_mid_MIDMailboxAuthArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU);
11871   return offset;
11872 }
11873 static int dissect_qsig_mid_MIDDummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11874   int offset = 0;
11875   asn1_ctx_t asn1_ctx;
11876   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11877   offset = dissect_qsig_mid_MIDDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDDummyRes_PDU);
11878   return offset;
11879 }
11880 static int dissect_qsig_mid_MIDMailboxIDArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11881   int offset = 0;
11882   asn1_ctx_t asn1_ctx;
11883   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11884   offset = dissect_qsig_mid_MIDMailboxIDArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU);
11885   return offset;
11886 }
11887 static int dissect_qsig_mid_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11888   int offset = 0;
11889   asn1_ctx_t asn1_ctx;
11890   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11891   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_Extension_PDU);
11892   return offset;
11893 }
11894
11895
11896 /*--- End of included file: packet-qsig-fn.c ---*/
11897 #line 320 "packet-qsig-template.c"
11898
11899 typedef struct _qsig_op_t {
11900   gint32 opcode;
11901   new_dissector_t arg_pdu;
11902   new_dissector_t res_pdu;
11903 } qsig_op_t;
11904
11905 static const qsig_op_t qsig_op_tab[] = {
11906
11907 /*--- Included file: packet-qsig-table11.c ---*/
11908 #line 1 "packet-qsig-table11.c"
11909
11910 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
11911
11912 /* Unknown or empty loop list OPERATION */
11913
11914 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
11915
11916   /* callingName              */ {   0, dissect_qsig_na_NameArg_PDU, NULL },
11917   /* calledName               */ {   1, dissect_qsig_na_NameArg_PDU, NULL },
11918   /* connectedName            */ {   2, dissect_qsig_na_NameArg_PDU, NULL },
11919   /* busyName                 */ {   3, dissect_qsig_na_NameArg_PDU, NULL },
11920
11921 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
11922
11923   /* activateDiversionQ       */ {  15, dissect_qsig_cf_ARG_activateDiversionQ_PDU, dissect_qsig_cf_RES_activateDiversionQ_PDU },
11924   /* deactivateDiversionQ     */ {  16, dissect_qsig_cf_ARG_deactivateDiversionQ_PDU, dissect_qsig_cf_RES_deactivateDiversionQ_PDU },
11925   /* interrogateDiversionQ    */ {  17, dissect_qsig_cf_ARG_interrogateDiversionQ_PDU, dissect_qsig_cf_IntResultList_PDU },
11926   /* checkRestriction         */ {  18, dissect_qsig_cf_ARG_checkRestriction_PDU, dissect_qsig_cf_RES_checkRestriction_PDU },
11927   /* callRerouteing           */ {  19, dissect_qsig_cf_ARG_callRerouteing_PDU, dissect_qsig_cf_RES_callRerouteing_PDU },
11928   /* divertingLegInformation1 */ {  20, dissect_qsig_cf_ARG_divertingLegInformation1_PDU, NULL },
11929   /* divertingLegInformation2 */ {  21, dissect_qsig_cf_ARG_divertingLegInformation2_PDU, NULL },
11930   /* divertingLegInformation3 */ {  22, dissect_qsig_cf_ARG_divertingLegInformation3_PDU, NULL },
11931   /* cfnrDivertedLegFailed    */ {  23, dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU, NULL },
11932
11933 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
11934
11935   /* pathReplaceInvite        */ {  86, dissect_qsig_pr_DummyArg_PDU, NULL },
11936   /* pathReplacePropose       */ {   4, dissect_qsig_pr_PRProposeArg_PDU, NULL },
11937   /* pathReplaceSetup         */ {   5, dissect_qsig_pr_PRSetupArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11938   /* pathReplaceRetain        */ {   6, dissect_qsig_pr_PRRetainArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11939
11940 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
11941
11942   /* callTransferIdentify     */ {   7, dissect_qsig_ct_DummyArg_PDU, dissect_qsig_ct_CTIdentifyRes_PDU },
11943   /* callTransferAbandon      */ {   8, dissect_qsig_ct_DummyArg_PDU, NULL },
11944   /* callTransferInitiate     */ {   9, dissect_qsig_ct_CTInitiateArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11945   /* callTransferSetup        */ {  10, dissect_qsig_ct_CTSetupArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11946   /* callTransferActive       */ {  11, dissect_qsig_ct_CTActiveArg_PDU, NULL },
11947   /* callTransferComplete     */ {  12, dissect_qsig_ct_CTCompleteArg_PDU, NULL },
11948   /* callTransferUpdate       */ {  13, dissect_qsig_ct_CTUpdateArg_PDU, NULL },
11949   /* subaddressTransfer       */ {  14, dissect_qsig_ct_SubaddressTransferArg_PDU, NULL },
11950
11951 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
11952
11953   /* ccbsRequest              */ {  40, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11954   /* ccnrRequest              */ {  27, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11955   /* ccCancel                 */ {  28, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11956   /* ccExecPossible           */ {  29, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11957   /* ccPathReserve            */ {  30, dissect_qsig_cc_CcExtension_PDU, dissect_qsig_cc_CcExtension_PDU },
11958   /* ccRingout                */ {  31, dissect_qsig_cc_CcExtension_PDU, NULL },
11959   /* ccSuspend                */ {  32, dissect_qsig_cc_CcExtension_PDU, NULL },
11960   /* ccResume                 */ {  33, dissect_qsig_cc_CcExtension_PDU, NULL },
11961
11962 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
11963
11964   /* pathRetain               */ {  41, dissect_qsig_co_PathRetainArg_PDU, NULL },
11965   /* serviceAvailable         */ {  42, dissect_qsig_co_ServiceAvailableArg_PDU, NULL },
11966   /* callOfferRequest         */ {  34, dissect_qsig_co_DummyArg_PDU, dissect_qsig_co_DummyRes_PDU },
11967   /* cfbOverride              */ {  49, dissect_qsig_co_DummyArg_PDU, NULL },
11968
11969 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
11970
11971   /* doNotDisturbActivateQ    */ {  35, dissect_qsig_dnd_DNDActivateArg_PDU, dissect_qsig_dnd_DNDActivateRes_PDU },
11972   /* doNotDisturbDeactivateQ  */ {  36, dissect_qsig_dnd_DNDDeactivateArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
11973   /* doNotDisturbInterrogateQ */ {  37, dissect_qsig_dnd_DNDInterrogateArg_PDU, dissect_qsig_dnd_DNDInterrogateRes_PDU },
11974   /* doNotDisturbOverrideQ    */ {  38, dissect_qsig_dnd_DNDOverrideArg_PDU, NULL },
11975   /* pathRetain               */ {  41, dissect_qsig_dnd_PathRetainArg_PDU, NULL },
11976   /* serviceAvailable         */ {  42, dissect_qsig_dnd_ServiceAvailableArg_PDU, NULL },
11977   /* doNotDisturbOvrExecuteQ  */ {  39, dissect_qsig_dnd_DummyArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
11978
11979 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
11980
11981   /* pathRetain               */ {  41, dissect_qsig_ci_PathRetainArg_PDU, NULL },
11982   /* serviceAvailable         */ {  42, dissect_qsig_ci_ServiceAvailableArg_PDU, NULL },
11983   /* callIntrusionRequest     */ {  43, dissect_qsig_ci_CIRequestArg_PDU, dissect_qsig_ci_CIRequestRes_PDU },
11984   /* callIntrusionGetCIPL     */ {  44, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_CIGetCIPLRes_PDU },
11985   /* callIntrusionForcedRelease */ {  46, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
11986   /* callIntrusionIsolate     */ {  45, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
11987   /* callIntrusionWOBRequest  */ {  47, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
11988   /* callIntrusionCompleted   */ {  48, dissect_qsig_ci_DummyArg_PDU, NULL },
11989   /* cfbOverride              */ {  49, dissect_qsig_ci_DummyArg_PDU, NULL },
11990
11991 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
11992
11993   /* aocRate                  */ {  63, dissect_qsig_aoc_AocRateArg_PDU, NULL },
11994   /* aocInterim               */ {  62, dissect_qsig_aoc_AocInterimArg_PDU, NULL },
11995   /* aocFinal                 */ {  61, dissect_qsig_aoc_AocFinalArg_PDU, NULL },
11996   /* chargeRequest            */ {  59, dissect_qsig_aoc_ChargeRequestArg_PDU, dissect_qsig_aoc_ChargeRequestRes_PDU },
11997   /* getFinalCharge           */ {  60, dissect_qsig_aoc_DummyArg_PDU, NULL },
11998   /* aocComplete              */ {  64, dissect_qsig_aoc_AocCompleteArg_PDU, dissect_qsig_aoc_AocCompleteRes_PDU },
11999   /* aocDivChargeReq          */ {  65, dissect_qsig_aoc_AocDivChargeReqArg_PDU, NULL },
12000
12001 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12002
12003   /* recallAlerting           */ {  57, dissect_qsig_re_ReAlertingArg_PDU, NULL },
12004   /* recallAnswered           */ {  58, dissect_qsig_re_ReAnswerArg_PDU, NULL },
12005
12006 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12007
12008   /* synchronizationRequest   */ {  78, dissect_qsig_sync_SynchronizationReqArg_PDU, dissect_qsig_sync_SynchronizationReqRes_PDU },
12009   /* synchronizationInfo      */ {  79, dissect_qsig_sync_SynchronizationInfoArg_PDU, NULL },
12010
12011 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12012
12013   /* cintLegInformation1      */ {  66, dissect_qsig_cint_CintInformation1Arg_PDU, NULL },
12014   /* cintLegInformation2      */ {  67, dissect_qsig_cint_CintInformation2Arg_PDU, NULL },
12015   /* cintCondition            */ {  68, dissect_qsig_cint_CintCondArg_PDU, NULL },
12016   /* cintDisable              */ {  69, dissect_qsig_cint_CintExtension_PDU, NULL },
12017   /* cintEnable               */ {  70, dissect_qsig_cint_CintExtension_PDU, NULL },
12018
12019 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12020
12021   /* cmnRequest               */ {  84, dissect_qsig_cmn_DummyArg_PDU, dissect_qsig_cmn_CmnArg_PDU },
12022   /* cmnInform                */ {  85, dissect_qsig_cmn_CmnArg_PDU, NULL },
12023
12024 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12025
12026   /* callInterruptionRequest  */ {  87, dissect_qsig_cpi_CPIRequestArg_PDU, NULL },
12027   /* callProtectionRequest    */ {  88, dissect_qsig_cpi_CPIPRequestArg_PDU, NULL },
12028
12029 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12030
12031   /* pumRegistr               */ {  89, dissect_qsig_pumr_PumRegistrArg_PDU, dissect_qsig_pumr_PumRegistrRes_PDU },
12032   /* pumDelReg                */ {  90, dissect_qsig_pumr_PumDelRegArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12033   /* pumDe-reg                */ {  91, dissect_qsig_pumr_PumDe_regArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12034   /* pumInterrog              */ {  92, dissect_qsig_pumr_PumInterrogArg_PDU, dissect_qsig_pumr_PumInterrogRes_PDU },
12035
12036 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12037
12038   /* pumiEnquiry              */ {  93, dissect_qsig_pumch_EnquiryArg_PDU, dissect_qsig_pumch_EnquiryRes_PDU },
12039   /* pumiDivert               */ {  94, dissect_qsig_pumch_DivertArg_PDU, dissect_qsig_pumch_DummyRes_PDU },
12040   /* pumiInform               */ {  95, dissect_qsig_pumch_InformArg_PDU, NULL },
12041   /* pumoCall                 */ {  96, dissect_qsig_pumch_PumoArg_PDU, NULL },
12042
12043 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12044
12045   /* ssctInitiate             */ {  99, dissect_qsig_ssct_SSCTInitiateArg_PDU, dissect_qsig_ssct_DummyRes_PDU },
12046   /* ssctSetup                */ { 100, dissect_qsig_ssct_SSCTSetupArg_PDU, NULL },
12047   /* ssctPostDial             */ { 101, dissect_qsig_ssct_DummyArg_PDU, NULL },
12048   /* ssctDigitInfo            */ { 102, dissect_qsig_ssct_SSCTDigitInfoArg_PDU, NULL },
12049
12050 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12051
12052   /* locUpdate                */ {  50, dissect_qsig_wtmlr_LocUpdArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12053   /* locDelete                */ {  51, dissect_qsig_wtmlr_LocDelArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12054   /* locDeReg                 */ {  52, dissect_qsig_wtmlr_LocDeRegArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12055   /* pisnEnquiry              */ {  53, dissect_qsig_wtmlr_PisnEnqArg_PDU, dissect_qsig_wtmlr_PisnEnqRes_PDU },
12056   /* getRRCInf                */ {  97, dissect_qsig_wtmlr_GetRRCInfArg_PDU, dissect_qsig_wtmlr_GetRRCInfRes_PDU },
12057   /* locInfoCheck             */ {  98, dissect_qsig_wtmlr_LocInfoCheckArg_PDU, dissect_qsig_wtmlr_LocInfoCheckRes_PDU },
12058
12059 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12060
12061   /* wtmiEnquiry              */ {  54, dissect_qsig_wtmch_EnquiryArg_PDU, dissect_qsig_wtmch_EnquiryRes_PDU },
12062   /* wtmiDivert               */ {  55, dissect_qsig_wtmch_DivertArg_PDU, dissect_qsig_wtmch_DummyRes_PDU },
12063   /* wtmiInform               */ {  56, dissect_qsig_wtmch_InformArg_PDU, NULL },
12064   /* wtmoCall                 */ {  71, dissect_qsig_wtmch_WtmoArg_PDU, NULL },
12065
12066 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12067
12068   /* authWtmUser              */ {  72, dissect_qsig_wtmau_AuthWtmArg_PDU, dissect_qsig_wtmau_AuthWtmRes_PDU },
12069   /* getWtatParam             */ {  73, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12070   /* wtatParamEnq             */ {  74, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12071   /* getWtanParam             */ {  75, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12072   /* wtanParamEnq             */ {  76, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12073   /* transferAuthParam        */ {  77, dissect_qsig_wtmau_ARG_transferAuthParam_PDU, NULL },
12074
12075 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12076
12077   /* display                  */ { 103, dissect_qsig_sd_DisplayArg_PDU, NULL },
12078   /* keypad                   */ { 104, dissect_qsig_sd_KeypadArg_PDU, NULL },
12079
12080 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12081
12082   /* callIdentificationAssign */ { 105, dissect_qsig_cidl_CallIdentificationAssignArg_PDU, NULL },
12083   /* callIdentificationUpdate */ { 106, dissect_qsig_cidl_CallIdentificationUpdateArg_PDU, NULL },
12084
12085 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12086
12087   /* smsSubmit                */ { 107, dissect_qsig_sms_SmsSubmitArg_PDU, dissect_qsig_sms_SmsSubmitRes_PDU },
12088   /* smsDeliver               */ { 108, dissect_qsig_sms_SmsDeliverArg_PDU, dissect_qsig_sms_SmsDeliverRes_PDU },
12089   /* smsStatusReport          */ { 109, dissect_qsig_sms_SmsStatusReportArg_PDU, dissect_qsig_sms_SmsStatusReportRes_PDU },
12090   /* smsCommand               */ { 110, dissect_qsig_sms_SmsCommandArg_PDU, dissect_qsig_sms_SmsCommandRes_PDU },
12091   /* scAlert                  */ { 111, dissect_qsig_sms_ScAlertArg_PDU, dissect_qsig_sms_DummyRes_PDU },
12092
12093 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12094
12095   /* mCRequest                */ { 112, dissect_qsig_mcr_MCRequestArg_PDU, dissect_qsig_mcr_MCRequestResult_PDU },
12096   /* mCInform                 */ { 113, dissect_qsig_mcr_MCInformArg_PDU, NULL },
12097   /* mCAlerting               */ { 114, dissect_qsig_mcr_MCAlertingArg_PDU, NULL },
12098
12099 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12100
12101   /* mCMNewMsg                */ {  80, dissect_qsig_mcm_MCMNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12102   /* mCMNoNewMsg              */ {  81, dissect_qsig_mcm_MCMNoNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12103   /* mCMUpdate                */ { 115, dissect_qsig_mcm_MCMUpdateArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12104   /* mCMUpdateReq             */ {  82, dissect_qsig_mcm_MCMUpdateReqArg_PDU, dissect_qsig_mcm_MCMUpdateReqRes_PDU },
12105   /* mCMService               */ { 116, dissect_qsig_mcm_MCMServiceArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12106   /* mCMInterrogate           */ { 117, dissect_qsig_mcm_MCMInterrogateArg_PDU, dissect_qsig_mcm_MCMInterrogateRes_PDU },
12107   /* mCMailboxFull            */ { 118, dissect_qsig_mcm_MCMailboxFullArg_PDU, NULL },
12108
12109 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12110
12111   /* mIDMailboxAuth           */ { 119, dissect_qsig_mid_MIDMailboxAuthArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12112   /* mIDMailboxID             */ { 120, dissect_qsig_mid_MIDMailboxIDArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12113
12114 /*--- End of included file: packet-qsig-table11.c ---*/
12115 #line 329 "packet-qsig-template.c"
12116 };                                 
12117
12118 typedef struct _qsig_err_t {
12119   gint32 errcode;
12120   new_dissector_t err_pdu;
12121 } qsig_err_t;
12122
12123 static const qsig_err_t qsig_err_tab[] = {
12124
12125 /*--- Included file: packet-qsig-table21.c ---*/
12126 #line 1 "packet-qsig-table21.c"
12127
12128 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12129
12130 /* Unknown or empty loop list ERROR */
12131
12132 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12133
12134 /* Unknown or empty loop list ERROR */
12135
12136 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12137
12138   /* invalidDivertedToNr      */ {   12, NULL },
12139   /* specialServiceNr         */ {   14, NULL },
12140   /* diversionToServedUserNr  */ {   15, NULL },
12141   /* numberOfDiversionsExceeded */ {   24, NULL },
12142   /* temporarilyUnavailable   */ { 1000, NULL },
12143   /* notAuthorized            */ { 1007, NULL },
12144   /* unspecified              */ { 1008, dissect_qsig_cf_Extension_PDU },
12145
12146 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
12147
12148   /* temporarilyUnavailable   */ { 1000, NULL },
12149   /* collision                */ { 1001, NULL },
12150   /* criteriaPermanentlyUnachievable */ { 1002, NULL },
12151   /* criteriaTemporarilyUnachievable */ { 1003, NULL },
12152   /* invalidRerouteingNumber  */ { 1004, NULL },
12153   /* unrecognizedCallIdentity */ { 1005, NULL },
12154   /* establishmentFailure     */ { 1006, NULL },
12155   /* unspecified              */ { 1008, dissect_qsig_pr_Extension_PDU },
12156
12157 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
12158
12159   /* unspecified              */ { 1008, dissect_qsig_ct_Extension_PDU },
12160   /* invalidRerouteingNumber  */ { 1004, NULL },
12161   /* unrecognizedCallIdentity */ { 1005, NULL },
12162   /* establishmentFailure     */ { 1006, NULL },
12163
12164 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
12165
12166   /* unspecified              */ { 1008, dissect_qsig_cc_Extension_PDU },
12167   /* shortTermRejection       */ { 1010, NULL },
12168   /* longTermRejection        */ { 1011, NULL },
12169   /* remoteUserBusyAgain      */ { 1012, NULL },
12170   /* failureToMatch           */ { 1013, NULL },
12171   /* failedDueToInterworking  */ { 1014, NULL },
12172
12173 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
12174
12175   /* notBusy                  */ { 1009, NULL },
12176   /* temporarilyUnavailable   */ { 1000, NULL },
12177   /* unspecified              */ { 1008, dissect_qsig_co_Extension_PDU },
12178
12179 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
12180
12181   /* temporarilyUnavailable   */ { 1000, NULL },
12182   /* notActivated             */ {   43, NULL },
12183   /* unspecified              */ { 1008, dissect_qsig_dnd_Extension_PDU },
12184
12185 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
12186
12187   /* notBusy                  */ { 1009, NULL },
12188   /* temporarilyUnavailable   */ { 1000, NULL },
12189   /* notAuthorized            */ { 1007, NULL },
12190   /* unspecified              */ { 1008, dissect_qsig_ci_Extension_PDU },
12191
12192 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
12193
12194   /* unspecified              */ { 1008, dissect_qsig_aoc_Extension_PDU },
12195   /* freeOfCharge             */ { 1016, NULL },
12196
12197 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12198
12199 /* Unknown or empty loop list ERROR */
12200
12201 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12202
12203   /* unspecified              */ { 1008, dissect_qsig_sync_Extension_PDU },
12204
12205 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12206
12207 /* Unknown or empty loop list ERROR */
12208
12209 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12210
12211 /* Unknown or empty loop list ERROR */
12212
12213 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12214
12215 /* Unknown or empty loop list ERROR */
12216
12217 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12218
12219   /* unspecified              */ { 1008, dissect_qsig_pumr_Extension_PDU },
12220   /* notAuthorized            */ { 1007, NULL },
12221   /* temporarilyUnavailable   */ { 1000, NULL },
12222   /* pumUserNotSubscribedToThisServiceOpt */ { 1019, NULL },
12223   /* pumUserFailedAuthentication */ { 1020, NULL },
12224   /* hostingAddrInvalid       */ { 1021, NULL },
12225   /* pumUserNotRegistered     */ { 1022, NULL },
12226
12227 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12228
12229   /* locationNotKnown         */ { 1015, NULL },
12230   /* unspecified              */ { 1008, dissect_qsig_pumch_Extension_PDU },
12231
12232 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12233
12234   /* unspecified              */ { 1008, dissect_qsig_ssct_Extension_PDU },
12235
12236 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12237
12238   /* notAuthorized            */ { 1007, NULL },
12239   /* temporarilyUnavailable   */ { 1000, NULL },
12240   /* unspecified              */ { 1008, dissect_qsig_wtmlr_Extension_PDU },
12241
12242 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12243
12244   /* unspecified              */ { 1008, dissect_qsig_wtmch_Extension_PDU },
12245   /* locationNotKnown         */ { 1015, NULL },
12246
12247 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12248
12249   /* notAuthorized            */ { 1007, NULL },
12250   /* paramNotAvailable        */ { 1017, NULL },
12251   /* temporarilyUnavailable   */ { 1000, NULL },
12252   /* unspecified              */ { 1008, dissect_qsig_wtmau_Extension_PDU },
12253
12254 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12255
12256   /* unspecified              */ { 1008, dissect_qsig_sd_Extension_PDU },
12257   /* noDisplayAvailable       */ { 1023, NULL },
12258   /* displayTemporarilyNotAvailable */ { 1024, NULL },
12259   /* notPresentable           */ { 1025, NULL },
12260
12261 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12262
12263 /* Unknown or empty loop list ERROR */
12264
12265 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12266
12267   /* smsDeliverError          */ { 1026, dissect_qsig_sms_PAR_smsDeliverError_PDU },
12268   /* smsSubmitError           */ { 1027, dissect_qsig_sms_PAR_smsSubmitError_PDU },
12269   /* smsStatusReportError     */ { 1028, dissect_qsig_sms_PAR_smsStatusReportError_PDU },
12270   /* smsCommandError          */ { 1029, dissect_qsig_sms_PAR_smsCommandError_PDU },
12271   /* unspecified              */ { 1008, dissect_qsig_sms_SmsExtension_PDU },
12272
12273 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12274
12275   /* invalidDestinationNumber */ { 1030, NULL },
12276   /* invalidCooperationNumber */ { 1031, NULL },
12277   /* mCRequestNotAllowed      */ { 1032, NULL },
12278   /* mCExecutionNotAllowed    */ { 1033, NULL },
12279   /* mCDestUserBusy           */ { 1034, NULL },
12280   /* mCCoopUserBusy           */ { 1035, NULL },
12281   /* mCCoopUserRejected       */ { 1036, NULL },
12282   /* unspecified              */ { 1008, dissect_qsig_mcr_Extension_PDU },
12283
12284 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12285
12286   /* mCMModeNotProvided       */ { 1037, NULL },
12287   /* unspecified              */ { 1008, dissect_qsig_mcm_Extension_PDU },
12288
12289 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12290
12291   /* invalidMailbox           */ { 1039, NULL },
12292   /* authorizationFailed      */ { 1040, NULL },
12293   /* unspecified              */ { 1008, dissect_qsig_mid_Extension_PDU },
12294
12295 /*--- End of included file: packet-qsig-table21.c ---*/
12296 #line 338 "packet-qsig-template.c"
12297 };                                 
12298
12299 static const qsig_op_t *get_op(gint32 opcode) {
12300   int i;
12301
12302   /* search from the end to get the last occurence if the operation is redefined in some newer specification */
12303   for (i = array_length(qsig_op_tab) - 1; i >= 0; i--)
12304     if (qsig_op_tab[i].opcode == opcode)
12305       return &qsig_op_tab[i];
12306   return NULL;
12307 }
12308
12309 static gint32 get_service(gint32 opcode) {
12310   if ((opcode < 0) || (opcode >= (int)array_length(op2srv_tab)))
12311     return NO_SRV;
12312   return op2srv_tab[opcode];
12313 }
12314
12315 static const qsig_err_t *get_err(gint32 errcode) {
12316   int i;
12317
12318   /* search from the end to get the last occurence if the operation is redefined in some newer specification */
12319   for (i = array_length(qsig_err_tab) - 1; i >= 0; i--)
12320     if (qsig_err_tab[i].errcode == errcode)
12321       return &qsig_err_tab[i];
12322   return NULL;
12323 }
12324                   
12325 /*--- dissect_qsig_arg ------------------------------------------------------*/
12326 static int   
12327 dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12328   int offset;
12329   rose_ctx_t *rctx;
12330   gint32 opcode, service;
12331   const qsig_op_t *op_ptr;
12332   const gchar *p;
12333   proto_item *ti, *ti_tmp;
12334   proto_tree *qsig_tree;
12335
12336   offset = 0;
12337   rctx = get_rose_ctx(pinfo->private_data);
12338   DISSECTOR_ASSERT(rctx);
12339   if (rctx->d.pdu != 1)  /* invoke */
12340     return offset; 
12341   if (rctx->d.code != 0)  /* local */
12342     return offset; 
12343   opcode = rctx->d.code_local;
12344   op_ptr = get_op(opcode);
12345   if (!op_ptr)
12346     return offset; 
12347   service = get_service(opcode);
12348
12349   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
12350   qsig_tree = proto_item_add_subtree(ti, ett_qsig); 
12351
12352   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12353   p = match_strval(opcode, VALS(qsig_str_operation));
12354   if (p) {
12355     proto_item_append_text(ti, ": %s", p);
12356     proto_item_append_text(rctx->d.code_item, " - %s", p);
12357     if (rctx->apdu_depth >= 0)
12358       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12359   }
12360
12361   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12362   p = match_strval(service, VALS(qsig_str_service_name));
12363   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12364
12365   if (op_ptr->arg_pdu)
12366     offset = op_ptr->arg_pdu(tvb, pinfo, qsig_tree);
12367   else 
12368     if (tvb_length_remaining(tvb, offset) > 0) {
12369       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ARGUMENT TYPE (QSIG)");
12370       offset += tvb_length_remaining(tvb, offset);
12371     }
12372
12373   return offset;
12374 }
12375
12376 /*--- dissect_qsig_res -------------------------------------------------------*/
12377 static int
12378 dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12379   gint offset;
12380   rose_ctx_t *rctx;
12381   gint32 opcode, service;
12382   const qsig_op_t *op_ptr;
12383   const gchar *p;
12384   proto_item *ti, *ti_tmp;
12385   proto_tree *qsig_tree;
12386
12387   offset = 0;
12388   rctx = get_rose_ctx(pinfo->private_data);
12389   DISSECTOR_ASSERT(rctx);
12390   if (rctx->d.pdu != 2)  /* returnResult */
12391     return offset; 
12392   if (rctx->d.code != 0)  /* local */
12393     return offset; 
12394   opcode = rctx->d.code_local;
12395   op_ptr = get_op(opcode);
12396   if (!op_ptr)
12397     return offset; 
12398   service = get_service(opcode);
12399
12400   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
12401   qsig_tree = proto_item_add_subtree(ti, ett_qsig); 
12402
12403   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12404   p = match_strval(opcode, VALS(qsig_str_operation));
12405   if (p) {
12406     proto_item_append_text(ti, ": %s", p);
12407     proto_item_append_text(rctx->d.code_item, " - %s", p);
12408     if (rctx->apdu_depth >= 0)
12409       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12410   }
12411
12412   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12413   p = match_strval(service, VALS(qsig_str_service_name));
12414   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12415
12416   if (op_ptr->res_pdu)
12417     offset = op_ptr->res_pdu(tvb, pinfo, qsig_tree);
12418   else 
12419     if (tvb_length_remaining(tvb, offset) > 0) {
12420       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED RESULT TYPE (QSIG)");
12421       offset += tvb_length_remaining(tvb, offset);
12422     }
12423
12424   return offset;
12425 }
12426
12427 /*--- dissect_qsig_err ------------------------------------------------------*/
12428 static int   
12429 dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12430   int offset;
12431   rose_ctx_t *rctx;
12432   gint32 errcode;
12433   const qsig_err_t *err_ptr;
12434   const gchar *p;
12435   proto_item *ti;
12436   proto_tree *qsig_tree;
12437
12438   offset = 0;
12439   rctx = get_rose_ctx(pinfo->private_data);
12440   DISSECTOR_ASSERT(rctx);
12441   if (rctx->d.pdu != 3)  /* returnError */
12442     return offset; 
12443   if (rctx->d.code != 0)  /* local */
12444     return offset; 
12445   errcode = rctx->d.code_local;
12446   err_ptr = get_err(errcode);
12447   if (!err_ptr)
12448     return offset; 
12449
12450   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
12451   qsig_tree = proto_item_add_subtree(ti, ett_qsig); 
12452
12453   proto_tree_add_uint(qsig_tree, hf_qsig_error, tvb, 0, 0, errcode);
12454   p = match_strval(errcode, VALS(qsig_str_error));
12455   if (p) {
12456     proto_item_append_text(ti, ": %s", p);
12457     proto_item_append_text(rctx->d.code_item, " - %s", p);
12458     if (rctx->apdu_depth >= 0)
12459       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12460   }
12461
12462   if (err_ptr->err_pdu)
12463     offset = err_ptr->err_pdu(tvb, pinfo, qsig_tree);
12464   else 
12465     if (tvb_length_remaining(tvb, offset) > 0) {
12466       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (QSIG)");
12467       offset += tvb_length_remaining(tvb, offset);
12468     }
12469
12470   return offset;
12471 }
12472
12473 /*--- dissect_qsig_transit_counter_ie ---------------------------------------*/
12474 static int
12475 dissect_qsig_transit_counter_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length  _U_) {
12476   proto_tree_add_item(tree, hf_qsig_tc, tvb, offset, 1, FALSE);
12477   offset++;
12478   return offset;
12479 }
12480 /*--- dissect_qsig_party_category_ie ----------------------------------------*/
12481 static int 
12482 dissect_qsig_party_category_ie(tvbuff_t *tvb, int offset, packet_info *pinfo  _U_, proto_tree *tree, int length  _U_) {
12483   proto_tree_add_item(tree, hf_qsig_pc, tvb, offset, 1, FALSE);
12484   offset++;
12485   return offset;
12486 }
12487
12488 /*--- dissect_qsig_ie -------------------------------------------------------*/
12489 static void
12490 dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset) {
12491   gint offset;
12492   proto_item *ti, *ti_ie, *hidden_item;
12493   proto_tree *ie_tree;
12494   guint8 ie_type, ie_len;
12495
12496   offset = 0;
12497
12498   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, -1, FALSE);
12499   PROTO_ITEM_SET_HIDDEN(ti);
12500
12501   ie_type = tvb_get_guint8(tvb, offset);
12502   ie_len = tvb_get_guint8(tvb, offset + 1);
12503
12504   ti_ie = proto_tree_add_text(tree, tvb, offset, -1, "%s",
12505             val_to_str(ie_type, VALS(qsig_str_ie_type[codeset]), "unknown (0x%02X)"));
12506   ie_tree = proto_item_add_subtree(ti_ie, ett_qsig_ie); 
12507   proto_tree_add_item(ie_tree, *hf_qsig_ie_type_arr[codeset], tvb, offset, 1, FALSE);
12508   hidden_item = proto_tree_add_item(ie_tree, hf_qsig_ie_type, tvb, offset, 1, FALSE);
12509   PROTO_ITEM_SET_HIDDEN(hidden_item);
12510   proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, FALSE);
12511   offset += 2;
12512   if (tvb_length_remaining(tvb, offset) <= 0)
12513     return;
12514   switch ((codeset << 8) | ie_type) {
12515     case CS4 | QSIG_IE_TRANSIT_COUNTER :
12516       dissect_qsig_transit_counter_ie(tvb, offset, pinfo, ie_tree, ie_len);
12517       break;
12518     case CS5 | QSIG_IE_PARTY_CATEGORY :
12519       dissect_qsig_party_category_ie(tvb, offset, pinfo, ie_tree, ie_len);
12520       break;
12521     default:
12522       if (ie_len > 0) {
12523         if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, FALSE);
12524       }
12525   }
12526 }
12527 /*--- dissect_qsig_ie_cs4 ---------------------------------------------------*/
12528 static void
12529 dissect_qsig_ie_cs4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12530   dissect_qsig_ie(tvb, pinfo, tree, 4);
12531 }
12532 /*--- dissect_qsig_ie_cs5 ---------------------------------------------------*/
12533 static void
12534 dissect_qsig_ie_cs5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12535   dissect_qsig_ie(tvb, pinfo, tree, 5);
12536 }
12537
12538 /*--- proto_register_qsig ---------------------------------------------------*/
12539 void proto_register_qsig(void) {
12540
12541   /* List of fields */
12542   static hf_register_info hf[] = {
12543     { &hf_qsig_operation, { "Operation", "qsig.operation",
12544                            FT_UINT8, BASE_DEC, VALS(qsig_str_operation), 0x0,
12545                            NULL, HFILL }},
12546     { &hf_qsig_service,   { "Service", "qsig.service",
12547                            FT_UINT8, BASE_DEC, VALS(qsig_str_service), 0x0,
12548                            "Supplementary Service", HFILL }},
12549     { &hf_qsig_error,     { "Error", "qsig.error",
12550                            FT_UINT8, BASE_DEC, VALS(qsig_str_error), 0x0,
12551                            NULL, HFILL }},
12552     { &hf_qsig_ie_type, { "Type", "qsig.ie.type",
12553                           FT_UINT8, BASE_HEX, NULL, 0x0,
12554                           "Information Element Type", HFILL }},
12555     { &hf_qsig_ie_type_cs4, { "Type", "qsig.ie.type.cs4",
12556                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs4), 0x0,
12557                           "Information Element Type (Codeset 4)", HFILL }},
12558     { &hf_qsig_ie_type_cs5, { "Type", "qsig.ie.type.cs5",
12559                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs5), 0x0,
12560                           "Information Element Type (Codeset 5)", HFILL }},
12561     { &hf_qsig_ie_len,  { "Length", "qsig.ie.len",
12562                           FT_UINT8, BASE_DEC, NULL, 0x0,
12563                           "Information Element Length", HFILL }},
12564     { &hf_qsig_ie_data, { "Data", "qsig.ie.data",
12565                           FT_BYTES, BASE_NONE, NULL, 0x0,
12566                           NULL, HFILL }},
12567     { &hf_qsig_tc,      { "Transit count", "qsig.tc",
12568                           FT_UINT8, BASE_DEC, NULL, 0x1F,
12569                           NULL, HFILL }},
12570     { &hf_qsig_pc,      { "Party category", "qsig.pc",
12571                           FT_UINT8, BASE_HEX, VALS(qsig_str_pc), 0x07,
12572                           NULL, HFILL }},
12573
12574 /*--- Included file: packet-qsig-hfarr.c ---*/
12575 #line 1 "packet-qsig-hfarr.c"
12576
12577 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12578
12579     { &hf_qsig_extensionId,
12580       { "extensionId", "qsig.extensionId",
12581         FT_OID, BASE_NONE, NULL, 0,
12582         "qsig.T_extensionId", HFILL }},
12583     { &hf_qsig_extensionArgument,
12584       { "extensionArgument", "qsig.extensionArgument",
12585         FT_NONE, BASE_NONE, NULL, 0,
12586         "qsig.T_extensionArgument", HFILL }},
12587     { &hf_qsig_presentationAllowedAddressS,
12588       { "presentationAllowedAddressS", "qsig.presentationAllowedAddressS",
12589         FT_NONE, BASE_NONE, NULL, 0,
12590         "qsig.AddressScreened", HFILL }},
12591     { &hf_qsig_presentationRestricted,
12592       { "presentationRestricted", "qsig.presentationRestricted",
12593         FT_NONE, BASE_NONE, NULL, 0,
12594         "qsig.NULL", HFILL }},
12595     { &hf_qsig_numberNotAvailableDueToInterworking,
12596       { "numberNotAvailableDueToInterworking", "qsig.numberNotAvailableDueToInterworking",
12597         FT_NONE, BASE_NONE, NULL, 0,
12598         "qsig.NULL", HFILL }},
12599     { &hf_qsig_presentationRestrictedAddressS,
12600       { "presentationRestrictedAddressS", "qsig.presentationRestrictedAddressS",
12601         FT_NONE, BASE_NONE, NULL, 0,
12602         "qsig.AddressScreened", HFILL }},
12603     { &hf_qsig_presentationAllowedAddressU,
12604       { "presentationAllowedAddressU", "qsig.presentationAllowedAddressU",
12605         FT_NONE, BASE_NONE, NULL, 0,
12606         "qsig.Address", HFILL }},
12607     { &hf_qsig_presentationRestrictedAddressU,
12608       { "presentationRestrictedAddressU", "qsig.presentationRestrictedAddressU",
12609         FT_NONE, BASE_NONE, NULL, 0,
12610         "qsig.Address", HFILL }},
12611     { &hf_qsig_presentationAllowedAddressNS,
12612       { "presentationAllowedAddressNS", "qsig.presentationAllowedAddressNS",
12613         FT_NONE, BASE_NONE, NULL, 0,
12614         "qsig.NumberScreened", HFILL }},
12615     { &hf_qsig_presentationRestrictedAddressNS,
12616       { "presentationRestrictedAddressNS", "qsig.presentationRestrictedAddressNS",
12617         FT_NONE, BASE_NONE, NULL, 0,
12618         "qsig.NumberScreened", HFILL }},
12619     { &hf_qsig_presentationAllowedAddressNU,
12620       { "presentationAllowedAddressNU", "qsig.presentationAllowedAddressNU",
12621         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12622         "qsig.PartyNumber", HFILL }},
12623     { &hf_qsig_presentationRestrictedAddressNU,
12624       { "presentationRestrictedAddressNU", "qsig.presentationRestrictedAddressNU",
12625         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12626         "qsig.PartyNumber", HFILL }},
12627     { &hf_qsig_partyNumber,
12628       { "partyNumber", "qsig.partyNumber",
12629         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12630         "qsig.PartyNumber", HFILL }},
12631     { &hf_qsig_screeningIndicator,
12632       { "screeningIndicator", "qsig.screeningIndicator",
12633         FT_UINT32, BASE_DEC, VALS(qsig_ScreeningIndicator_vals), 0,
12634         "qsig.ScreeningIndicator", HFILL }},
12635     { &hf_qsig_partySubaddress,
12636       { "partySubaddress", "qsig.partySubaddress",
12637         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
12638         "qsig.PartySubaddress", HFILL }},
12639     { &hf_qsig_unknownPartyNumber,
12640       { "unknownPartyNumber", "qsig.unknownPartyNumber",
12641         FT_STRING, BASE_NONE, NULL, 0,
12642         "qsig.NumberDigits", HFILL }},
12643     { &hf_qsig_publicPartyNumber,
12644       { "publicPartyNumber", "qsig.publicPartyNumber",
12645         FT_NONE, BASE_NONE, NULL, 0,
12646         "qsig.PublicPartyNumber", HFILL }},
12647     { &hf_qsig_dataPartyNumber,
12648       { "dataPartyNumber", "qsig.dataPartyNumber",
12649         FT_STRING, BASE_NONE, NULL, 0,
12650         "qsig.NumberDigits", HFILL }},
12651     { &hf_qsig_telexPartyNumber,
12652       { "telexPartyNumber", "qsig.telexPartyNumber",
12653         FT_STRING, BASE_NONE, NULL, 0,
12654         "qsig.NumberDigits", HFILL }},
12655     { &hf_qsig_privatePartyNumber,
12656       { "privatePartyNumber", "qsig.privatePartyNumber",
12657         FT_NONE, BASE_NONE, NULL, 0,
12658         "qsig.PrivatePartyNumber", HFILL }},
12659     { &hf_qsig_nationalStandardPartyNumber,
12660       { "nationalStandardPartyNumber", "qsig.nationalStandardPartyNumber",
12661         FT_STRING, BASE_NONE, NULL, 0,
12662         "qsig.NumberDigits", HFILL }},
12663     { &hf_qsig_publicTypeOfNumber,
12664       { "publicTypeOfNumber", "qsig.publicTypeOfNumber",
12665         FT_UINT32, BASE_DEC, VALS(qsig_PublicTypeOfNumber_vals), 0,
12666         "qsig.PublicTypeOfNumber", HFILL }},
12667     { &hf_qsig_publicNumberDigits,
12668       { "publicNumberDigits", "qsig.publicNumberDigits",
12669         FT_STRING, BASE_NONE, NULL, 0,
12670         "qsig.NumberDigits", HFILL }},
12671     { &hf_qsig_privateTypeOfNumber,
12672       { "privateTypeOfNumber", "qsig.privateTypeOfNumber",
12673         FT_UINT32, BASE_DEC, VALS(qsig_PrivateTypeOfNumber_vals), 0,
12674         "qsig.PrivateTypeOfNumber", HFILL }},
12675     { &hf_qsig_privateNumberDigits,
12676       { "privateNumberDigits", "qsig.privateNumberDigits",
12677         FT_STRING, BASE_NONE, NULL, 0,
12678         "qsig.NumberDigits", HFILL }},
12679     { &hf_qsig_userSpecifiedSubaddress,
12680       { "userSpecifiedSubaddress", "qsig.userSpecifiedSubaddress",
12681         FT_NONE, BASE_NONE, NULL, 0,
12682         "qsig.UserSpecifiedSubaddress", HFILL }},
12683     { &hf_qsig_nSAPSubaddress,
12684       { "nSAPSubaddress", "qsig.nSAPSubaddress",
12685         FT_BYTES, BASE_NONE, NULL, 0,
12686         "qsig.NSAPSubaddress", HFILL }},
12687     { &hf_qsig_subaddressInformation,
12688       { "subaddressInformation", "qsig.subaddressInformation",
12689         FT_BYTES, BASE_NONE, NULL, 0,
12690         "qsig.SubaddressInformation", HFILL }},
12691     { &hf_qsig_oddCountIndicator,
12692       { "oddCountIndicator", "qsig.oddCountIndicator",
12693         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
12694         "qsig.BOOLEAN", HFILL }},
12695
12696 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12697
12698     { &hf_qsig_na_qsig_na_NameArg_PDU,
12699       { "NameArg", "qsig.na.NameArg",
12700         FT_UINT32, BASE_DEC, VALS(qsig_na_NameArg_vals), 0,
12701         "qsig_na.NameArg", HFILL }},
12702     { &hf_qsig_na_name,
12703       { "name", "qsig.na.name",
12704         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12705         "qsig_na.Name", HFILL }},
12706     { &hf_qsig_na_nameSequence,
12707       { "nameSequence", "qsig.na.nameSequence",
12708         FT_NONE, BASE_NONE, NULL, 0,
12709         "qsig_na.T_nameSequence", HFILL }},
12710     { &hf_qsig_na_extensionNA,
12711       { "extension", "qsig.na.extension",
12712         FT_UINT32, BASE_DEC, VALS(qsig_na_NameExtension_vals), 0,
12713         "qsig_na.NameExtension", HFILL }},
12714     { &hf_qsig_na_single,
12715       { "single", "qsig.na.single",
12716         FT_NONE, BASE_NONE, NULL, 0,
12717         "qsig.Extension", HFILL }},
12718     { &hf_qsig_na_multiple,
12719       { "multiple", "qsig.na.multiple",
12720         FT_UINT32, BASE_DEC, NULL, 0,
12721         "qsig_na.SEQUENCE_OF_Extension", HFILL }},
12722     { &hf_qsig_na_multiple_item,
12723       { "Extension", "qsig.na.Extension",
12724         FT_NONE, BASE_NONE, NULL, 0,
12725         "qsig.Extension", HFILL }},
12726     { &hf_qsig_na_namePresentationAllowed,
12727       { "namePresentationAllowed", "qsig.na.namePresentationAllowed",
12728         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationAllowed_vals), 0,
12729         "qsig_na.NamePresentationAllowed", HFILL }},
12730     { &hf_qsig_na_namePresentationRestricted,
12731       { "namePresentationRestricted", "qsig.na.namePresentationRestricted",
12732         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationRestricted_vals), 0,
12733         "qsig_na.NamePresentationRestricted", HFILL }},
12734     { &hf_qsig_na_nameNotAvailable,
12735       { "nameNotAvailable", "qsig.na.nameNotAvailable",
12736         FT_NONE, BASE_NONE, NULL, 0,
12737         "qsig_na.NameNotAvailable", HFILL }},
12738     { &hf_qsig_na_namePresentationAllowedSimple,
12739       { "namePresentationAllowedSimple", "qsig.na.namePresentationAllowedSimple",
12740         FT_STRING, BASE_NONE, NULL, 0,
12741         "qsig_na.NameData", HFILL }},
12742     { &hf_qsig_na_namePresentationAllowedExtended,
12743       { "namePresentationAllowedExtended", "qsig.na.namePresentationAllowedExtended",
12744         FT_NONE, BASE_NONE, NULL, 0,
12745         "qsig_na.NameSet", HFILL }},
12746     { &hf_qsig_na_namePresentationRestrictedSimple,
12747       { "namePresentationRestrictedSimple", "qsig.na.namePresentationRestrictedSimple",
12748         FT_STRING, BASE_NONE, NULL, 0,
12749         "qsig_na.NameData", HFILL }},
12750     { &hf_qsig_na_namePresentationRestrictedExtended,
12751       { "namePresentationRestrictedExtended", "qsig.na.namePresentationRestrictedExtended",
12752         FT_NONE, BASE_NONE, NULL, 0,
12753         "qsig_na.NameSet", HFILL }},
12754     { &hf_qsig_na_namePresentationRestrictedNull,
12755       { "namePresentationRestrictedNull", "qsig.na.namePresentationRestrictedNull",
12756         FT_NONE, BASE_NONE, NULL, 0,
12757         "qsig_na.NULL", HFILL }},
12758     { &hf_qsig_na_nameData,
12759       { "nameData", "qsig.na.nameData",
12760         FT_STRING, BASE_NONE, NULL, 0,
12761         "qsig_na.NameData", HFILL }},
12762     { &hf_qsig_na_characterSet,
12763       { "characterSet", "qsig.na.characterSet",
12764         FT_UINT32, BASE_DEC, VALS(qsig_na_CharacterSet_vals), 0,
12765         "qsig_na.CharacterSet", HFILL }},
12766
12767 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12768
12769     { &hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU,
12770       { "ARG-activateDiversionQ", "qsig.cf.ARG_activateDiversionQ",
12771         FT_NONE, BASE_NONE, NULL, 0,
12772         "qsig_cf.ARG_activateDiversionQ", HFILL }},
12773     { &hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU,
12774       { "RES-activateDiversionQ", "qsig.cf.RES_activateDiversionQ",
12775         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_activateDiversionQ_vals), 0,
12776         "qsig_cf.RES_activateDiversionQ", HFILL }},
12777     { &hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU,
12778       { "ARG-deactivateDiversionQ", "qsig.cf.ARG_deactivateDiversionQ",
12779         FT_NONE, BASE_NONE, NULL, 0,
12780         "qsig_cf.ARG_deactivateDiversionQ", HFILL }},
12781     { &hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU,
12782       { "RES-deactivateDiversionQ", "qsig.cf.RES_deactivateDiversionQ",
12783         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_deactivateDiversionQ_vals), 0,
12784         "qsig_cf.RES_deactivateDiversionQ", HFILL }},
12785     { &hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU,
12786       { "ARG-interrogateDiversionQ", "qsig.cf.ARG_interrogateDiversionQ",
12787         FT_NONE, BASE_NONE, NULL, 0,
12788         "qsig_cf.ARG_interrogateDiversionQ", HFILL }},
12789     { &hf_qsig_cf_qsig_cf_IntResultList_PDU,
12790       { "IntResultList", "qsig.cf.IntResultList",
12791         FT_UINT32, BASE_DEC, NULL, 0,
12792         "qsig_cf.IntResultList", HFILL }},
12793     { &hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU,
12794       { "ARG-checkRestriction", "qsig.cf.ARG_checkRestriction",
12795         FT_NONE, BASE_NONE, NULL, 0,
12796         "qsig_cf.ARG_checkRestriction", HFILL }},
12797     { &hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU,
12798       { "RES-checkRestriction", "qsig.cf.RES_checkRestriction",
12799         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_checkRestriction_vals), 0,
12800         "qsig_cf.RES_checkRestriction", HFILL }},
12801     { &hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU,
12802       { "ARG-callRerouteing", "qsig.cf.ARG_callRerouteing",
12803         FT_NONE, BASE_NONE, NULL, 0,
12804         "qsig_cf.ARG_callRerouteing", HFILL }},
12805     { &hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU,
12806       { "RES-callRerouteing", "qsig.cf.RES_callRerouteing",
12807         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_callRerouteing_vals), 0,
12808         "qsig_cf.RES_callRerouteing", HFILL }},
12809     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU,
12810       { "ARG-divertingLegInformation1", "qsig.cf.ARG_divertingLegInformation1",
12811         FT_NONE, BASE_NONE, NULL, 0,
12812         "qsig_cf.ARG_divertingLegInformation1", HFILL }},
12813     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU,
12814       { "ARG-divertingLegInformation2", "qsig.cf.ARG_divertingLegInformation2",
12815         FT_NONE, BASE_NONE, NULL, 0,
12816         "qsig_cf.ARG_divertingLegInformation2", HFILL }},
12817     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU,
12818       { "ARG-divertingLegInformation3", "qsig.cf.ARG_divertingLegInformation3",
12819         FT_NONE, BASE_NONE, NULL, 0,
12820         "qsig_cf.ARG_divertingLegInformation3", HFILL }},
12821     { &hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU,
12822       { "ARG-cfnrDivertedLegFailed", "qsig.cf.ARG_cfnrDivertedLegFailed",
12823         FT_UINT32, BASE_DEC, VALS(qsig_cf_ARG_cfnrDivertedLegFailed_vals), 0,
12824         "qsig_cf.ARG_cfnrDivertedLegFailed", HFILL }},
12825     { &hf_qsig_cf_qsig_cf_Extension_PDU,
12826       { "Extension", "qsig.cf.Extension",
12827         FT_NONE, BASE_NONE, NULL, 0,
12828         "qsig.Extension", HFILL }},
12829     { &hf_qsig_cf_procedure,
12830       { "procedure", "qsig.cf.procedure",
12831         FT_UINT32, BASE_DEC, VALS(qsig_cf_Procedure_vals), 0,
12832         "qsig_cf.Procedure", HFILL }},
12833     { &hf_qsig_cf_basicService,
12834       { "basicService", "qsig.cf.basicService",
12835         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
12836         "qsig_cf.BasicService", HFILL }},
12837     { &hf_qsig_cf_divertedToAddress,
12838       { "divertedToAddress", "qsig.cf.divertedToAddress",
12839         FT_NONE, BASE_NONE, NULL, 0,
12840         "qsig.Address", HFILL }},
12841     { &hf_qsig_cf_servedUserNr,
12842       { "servedUserNr", "qsig.cf.servedUserNr",
12843         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12844         "qsig.PartyNumber", HFILL }},
12845     { &hf_qsig_cf_activatingUserNr,
12846       { "activatingUserNr", "qsig.cf.activatingUserNr",
12847         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12848         "qsig.PartyNumber", HFILL }},
12849     { &hf_qsig_cf_extensionAD,
12850       { "extension", "qsig.cf.extension",
12851         FT_UINT32, BASE_DEC, VALS(qsig_cf_ADExtension_vals), 0,
12852         "qsig_cf.ADExtension", HFILL }},
12853     { &hf_qsig_cf_single,
12854       { "single", "qsig.cf.single",
12855         FT_NONE, BASE_NONE, NULL, 0,
12856         "qsig.Extension", HFILL }},
12857     { &hf_qsig_cf_multiple,
12858       { "multiple", "qsig.cf.multiple",
12859         FT_UINT32, BASE_DEC, NULL, 0,
12860         "qsig_cf.SEQUENCE_OF_Extension", HFILL }},
12861     { &hf_qsig_cf_multiple_item,
12862       { "Extension", "qsig.cf.Extension",
12863         FT_NONE, BASE_NONE, NULL, 0,
12864         "qsig.Extension", HFILL }},
12865     { &hf_qsig_cf_null,
12866       { "null", "qsig.cf.null",
12867         FT_NONE, BASE_NONE, NULL, 0,
12868         "qsig_cf.NULL", HFILL }},
12869     { &hf_qsig_cf_deactivatingUserNr,
12870       { "deactivatingUserNr", "qsig.cf.deactivatingUserNr",
12871         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12872         "qsig.PartyNumber", HFILL }},
12873     { &hf_qsig_cf_extensionDD,
12874       { "extension", "qsig.cf.extension",
12875         FT_UINT32, BASE_DEC, VALS(qsig_cf_DDExtension_vals), 0,
12876         "qsig_cf.DDExtension", HFILL }},
12877     { &hf_qsig_cf_interrogatingUserNr,
12878       { "interrogatingUserNr", "qsig.cf.interrogatingUserNr",
12879         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12880         "qsig.PartyNumber", HFILL }},
12881     { &hf_qsig_cf_extensionID,
12882       { "extension", "qsig.cf.extension",
12883         FT_UINT32, BASE_DEC, VALS(qsig_cf_IDExtension_vals), 0,
12884         "qsig_cf.IDExtension", HFILL }},
12885     { &hf_qsig_cf_divertedToNr,
12886       { "divertedToNr", "qsig.cf.divertedToNr",
12887         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12888         "qsig.PartyNumber", HFILL }},
12889     { &hf_qsig_cf_extensionCHR,
12890       { "extension", "qsig.cf.extension",
12891         FT_UINT32, BASE_DEC, VALS(qsig_cf_CHRExtension_vals), 0,
12892         "qsig_cf.CHRExtension", HFILL }},
12893     { &hf_qsig_cf_rerouteingReason,
12894       { "rerouteingReason", "qsig.cf.rerouteingReason",
12895         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12896         "qsig_cf.DiversionReason", HFILL }},
12897     { &hf_qsig_cf_originalRerouteingReason,
12898       { "originalRerouteingReason", "qsig.cf.originalRerouteingReason",
12899         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12900         "qsig_cf.DiversionReason", HFILL }},
12901     { &hf_qsig_cf_calledAddress,
12902       { "calledAddress", "qsig.cf.calledAddress",
12903         FT_NONE, BASE_NONE, NULL, 0,
12904         "qsig.Address", HFILL }},
12905     { &hf_qsig_cf_diversionCounter,
12906       { "diversionCounter", "qsig.cf.diversionCounter",
12907         FT_UINT32, BASE_DEC, NULL, 0,
12908         "qsig_cf.INTEGER_1_15", HFILL }},
12909     { &hf_qsig_cf_pSS1InfoElement,
12910       { "pSS1InfoElement", "qsig.cf.pSS1InfoElement",
12911         FT_BYTES, BASE_NONE, NULL, 0,
12912         "qsig.PSS1InformationElement", HFILL }},
12913     { &hf_qsig_cf_lastRerouteingNr,
12914       { "lastRerouteingNr", "qsig.cf.lastRerouteingNr",
12915         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
12916         "qsig.PresentedNumberUnscreened", HFILL }},
12917     { &hf_qsig_cf_subscriptionOption,
12918       { "subscriptionOption", "qsig.cf.subscriptionOption",
12919         FT_UINT32, BASE_DEC, VALS(qsig_cf_SubscriptionOption_vals), 0,
12920         "qsig_cf.SubscriptionOption", HFILL }},
12921     { &hf_qsig_cf_callingPartySubaddress,
12922       { "callingPartySubaddress", "qsig.cf.callingPartySubaddress",
12923         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
12924         "qsig.PartySubaddress", HFILL }},
12925     { &hf_qsig_cf_callingNumber,
12926       { "callingNumber", "qsig.cf.callingNumber",
12927         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
12928         "qsig.PresentedNumberScreened", HFILL }},
12929     { &hf_qsig_cf_callingName,
12930       { "callingName", "qsig.cf.callingName",
12931         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12932         "qsig_na.Name", HFILL }},
12933     { &hf_qsig_cf_originalCalledNr,
12934       { "originalCalledNr", "qsig.cf.originalCalledNr",
12935         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
12936         "qsig.PresentedNumberUnscreened", HFILL }},
12937     { &hf_qsig_cf_redirectingName,
12938       { "redirectingName", "qsig.cf.redirectingName",
12939         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12940         "qsig_na.Name", HFILL }},
12941     { &hf_qsig_cf_originalCalledName,
12942       { "originalCalledName", "qsig.cf.originalCalledName",
12943         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12944         "qsig_na.Name", HFILL }},
12945     { &hf_qsig_cf_extensionCRR,
12946       { "extension", "qsig.cf.extension",
12947         FT_UINT32, BASE_DEC, VALS(qsig_cf_CRRExtension_vals), 0,
12948         "qsig_cf.CRRExtension", HFILL }},
12949     { &hf_qsig_cf_diversionReason,
12950       { "diversionReason", "qsig.cf.diversionReason",
12951         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12952         "qsig_cf.DiversionReason", HFILL }},
12953     { &hf_qsig_cf_nominatedNr,
12954       { "nominatedNr", "qsig.cf.nominatedNr",
12955         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12956         "qsig.PartyNumber", HFILL }},
12957     { &hf_qsig_cf_extensionDLI1,
12958       { "extension", "qsig.cf.extension",
12959         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI1Extension_vals), 0,
12960         "qsig_cf.DLI1Extension", HFILL }},
12961     { &hf_qsig_cf_originalDiversionReason,
12962       { "originalDiversionReason", "qsig.cf.originalDiversionReason",
12963         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12964         "qsig_cf.DiversionReason", HFILL }},
12965     { &hf_qsig_cf_divertingNr,
12966       { "divertingNr", "qsig.cf.divertingNr",
12967         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
12968         "qsig.PresentedNumberUnscreened", HFILL }},
12969     { &hf_qsig_cf_extensionDLI2,
12970       { "extension", "qsig.cf.extension",
12971         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI2Extension_vals), 0,
12972         "qsig_cf.DLI2Extension", HFILL }},
12973     { &hf_qsig_cf_presentationAllowedIndicator,
12974       { "presentationAllowedIndicator", "qsig.cf.presentationAllowedIndicator",
12975         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
12976         "qsig.PresentationAllowedIndicator", HFILL }},
12977     { &hf_qsig_cf_redirectionName,
12978       { "redirectionName", "qsig.cf.redirectionName",
12979         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12980         "qsig_na.Name", HFILL }},
12981     { &hf_qsig_cf_extensionDLI3,
12982       { "extension", "qsig.cf.extension",
12983         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI3Extension_vals), 0,
12984         "qsig_cf.DLI3Extension", HFILL }},
12985     { &hf_qsig_cf_IntResultList_item,
12986       { "IntResult", "qsig.cf.IntResult",
12987         FT_NONE, BASE_NONE, NULL, 0,
12988         "qsig_cf.IntResult", HFILL }},
12989     { &hf_qsig_cf_remoteEnabled,
12990       { "remoteEnabled", "qsig.cf.remoteEnabled",
12991         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
12992         "qsig_cf.BOOLEAN", HFILL }},
12993     { &hf_qsig_cf_extensionIR,
12994       { "extension", "qsig.cf.extension",
12995         FT_UINT32, BASE_DEC, VALS(qsig_cf_IRExtension_vals), 0,
12996         "qsig_cf.IRExtension", HFILL }},
12997
12998 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
12999
13000     { &hf_qsig_pr_qsig_pr_DummyArg_PDU,
13001       { "DummyArg", "qsig.pr.DummyArg",
13002         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyArg_vals), 0,
13003         "qsig_pr.DummyArg", HFILL }},
13004     { &hf_qsig_pr_qsig_pr_PRProposeArg_PDU,
13005       { "PRProposeArg", "qsig.pr.PRProposeArg",
13006         FT_NONE, BASE_NONE, NULL, 0,
13007         "qsig_pr.PRProposeArg", HFILL }},
13008     { &hf_qsig_pr_qsig_pr_PRSetupArg_PDU,
13009       { "PRSetupArg", "qsig.pr.PRSetupArg",
13010         FT_NONE, BASE_NONE, NULL, 0,
13011         "qsig_pr.PRSetupArg", HFILL }},
13012     { &hf_qsig_pr_qsig_pr_DummyResult_PDU,
13013       { "DummyResult", "qsig.pr.DummyResult",
13014         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyResult_vals), 0,
13015         "qsig_pr.DummyResult", HFILL }},
13016     { &hf_qsig_pr_qsig_pr_PRRetainArg_PDU,
13017       { "PRRetainArg", "qsig.pr.PRRetainArg",
13018         FT_NONE, BASE_NONE, NULL, 0,
13019         "qsig_pr.PRRetainArg", HFILL }},
13020     { &hf_qsig_pr_qsig_pr_Extension_PDU,
13021       { "Extension", "qsig.pr.Extension",
13022         FT_NONE, BASE_NONE, NULL, 0,
13023         "qsig.Extension", HFILL }},
13024     { &hf_qsig_pr_callIdentity,
13025       { "callIdentity", "qsig.pr.callIdentity",
13026         FT_STRING, BASE_NONE, NULL, 0,
13027         "qsig_pr.CallIdentity", HFILL }},
13028     { &hf_qsig_pr_rerouteingNumber,
13029       { "rerouteingNumber", "qsig.pr.rerouteingNumber",
13030         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13031         "qsig.PartyNumber", HFILL }},
13032     { &hf_qsig_pr_extensionPRP,
13033       { "extension", "qsig.pr.extension",
13034         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRPExtension_vals), 0,
13035         "qsig_pr.PRPExtension", HFILL }},
13036     { &hf_qsig_pr_single,
13037       { "single", "qsig.pr.single",
13038         FT_NONE, BASE_NONE, NULL, 0,
13039         "qsig.Extension", HFILL }},
13040     { &hf_qsig_pr_multiple,
13041       { "multiple", "qsig.pr.multiple",
13042         FT_UINT32, BASE_DEC, NULL, 0,
13043         "qsig_pr.SEQUENCE_OF_Extension", HFILL }},
13044     { &hf_qsig_pr_multiple_item,
13045       { "Extension", "qsig.pr.Extension",
13046         FT_NONE, BASE_NONE, NULL, 0,
13047         "qsig.Extension", HFILL }},
13048     { &hf_qsig_pr_extensionPRS,
13049       { "extension", "qsig.pr.extension",
13050         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRSExtension_vals), 0,
13051         "qsig_pr.PRSExtension", HFILL }},
13052     { &hf_qsig_pr_extensionPRR,
13053       { "extension", "qsig.pr.extension",
13054         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRRExtension_vals), 0,
13055         "qsig_pr.PRRExtension", HFILL }},
13056     { &hf_qsig_pr_null,
13057       { "null", "qsig.pr.null",
13058         FT_NONE, BASE_NONE, NULL, 0,
13059         "qsig_pr.NULL", HFILL }},
13060
13061 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
13062
13063     { &hf_qsig_ct_qsig_ct_DummyArg_PDU,
13064       { "DummyArg", "qsig.ct.DummyArg",
13065         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyArg_vals), 0,
13066         "qsig_ct.DummyArg", HFILL }},
13067     { &hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU,
13068       { "CTIdentifyRes", "qsig.ct.CTIdentifyRes",
13069         FT_NONE, BASE_NONE, NULL, 0,
13070         "qsig_ct.CTIdentifyRes", HFILL }},
13071     { &hf_qsig_ct_qsig_ct_CTInitiateArg_PDU,
13072       { "CTInitiateArg", "qsig.ct.CTInitiateArg",
13073         FT_NONE, BASE_NONE, NULL, 0,
13074         "qsig_ct.CTInitiateArg", HFILL }},
13075     { &hf_qsig_ct_qsig_ct_DummyRes_PDU,
13076       { "DummyRes", "qsig.ct.DummyRes",
13077         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyRes_vals), 0,
13078         "qsig_ct.DummyRes", HFILL }},
13079     { &hf_qsig_ct_qsig_ct_CTSetupArg_PDU,
13080       { "CTSetupArg", "qsig.ct.CTSetupArg",
13081         FT_NONE, BASE_NONE, NULL, 0,
13082         "qsig_ct.CTSetupArg", HFILL }},
13083     { &hf_qsig_ct_qsig_ct_CTActiveArg_PDU,
13084       { "CTActiveArg", "qsig.ct.CTActiveArg",
13085         FT_NONE, BASE_NONE, NULL, 0,
13086         "qsig_ct.CTActiveArg", HFILL }},
13087     { &hf_qsig_ct_qsig_ct_CTCompleteArg_PDU,
13088       { "CTCompleteArg", "qsig.ct.CTCompleteArg",
13089         FT_NONE, BASE_NONE, NULL, 0,
13090         "qsig_ct.CTCompleteArg", HFILL }},
13091     { &hf_qsig_ct_qsig_ct_CTUpdateArg_PDU,
13092       { "CTUpdateArg", "qsig.ct.CTUpdateArg",
13093         FT_NONE, BASE_NONE, NULL, 0,
13094         "qsig_ct.CTUpdateArg", HFILL }},
13095     { &hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU,
13096       { "SubaddressTransferArg", "qsig.ct.SubaddressTransferArg",
13097         FT_NONE, BASE_NONE, NULL, 0,
13098         "qsig_ct.SubaddressTransferArg", HFILL }},
13099     { &hf_qsig_ct_qsig_ct_Extension_PDU,
13100       { "Extension", "qsig.ct.Extension",
13101         FT_NONE, BASE_NONE, NULL, 0,
13102         "qsig.Extension", HFILL }},
13103     { &hf_qsig_ct_null,
13104       { "null", "qsig.ct.null",
13105         FT_NONE, BASE_NONE, NULL, 0,
13106         "qsig_ct.NULL", HFILL }},
13107     { &hf_qsig_ct_single,
13108       { "single", "qsig.ct.single",
13109         FT_NONE, BASE_NONE, NULL, 0,
13110         "qsig.Extension", HFILL }},
13111     { &hf_qsig_ct_multiple,
13112       { "multiple", "qsig.ct.multiple",
13113         FT_UINT32, BASE_DEC, NULL, 0,
13114         "qsig_ct.SEQUENCE_OF_Extension", HFILL }},
13115     { &hf_qsig_ct_multiple_item,
13116       { "Extension", "qsig.ct.Extension",
13117         FT_NONE, BASE_NONE, NULL, 0,
13118         "qsig.Extension", HFILL }},
13119     { &hf_qsig_ct_callIdentity,
13120       { "callIdentity", "qsig.ct.callIdentity",
13121         FT_STRING, BASE_NONE, NULL, 0,
13122         "qsig_ct.CallIdentity", HFILL }},
13123     { &hf_qsig_ct_rerouteingNumber,
13124       { "rerouteingNumber", "qsig.ct.rerouteingNumber",
13125         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13126         "qsig.PartyNumber", HFILL }},
13127     { &hf_qsig_ct_resultExtension,
13128       { "resultExtension", "qsig.ct.resultExtension",
13129         FT_UINT32, BASE_DEC, VALS(qsig_ct_T_resultExtension_vals), 0,
13130         "qsig_ct.T_resultExtension", HFILL }},
13131     { &hf_qsig_ct_argumentExtensionCTI,
13132       { "argumentExtension", "qsig.ct.argumentExtension",
13133         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTIargumentExtension_vals), 0,
13134         "qsig_ct.CTIargumentExtension", HFILL }},
13135     { &hf_qsig_ct_argumentExtensionCTS,
13136       { "argumentExtension", "qsig.ct.argumentExtension",
13137         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTSargumentExtension_vals), 0,
13138         "qsig_ct.CTSargumentExtension", HFILL }},
13139     { &hf_qsig_ct_connectedAddress,
13140       { "connectedAddress", "qsig.ct.connectedAddress",
13141         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
13142         "qsig.PresentedAddressScreened", HFILL }},
13143     { &hf_qsig_ct_basicCallInfoElements,
13144       { "basicCallInfoElements", "qsig.ct.basicCallInfoElements",
13145         FT_BYTES, BASE_NONE, NULL, 0,
13146         "qsig.PSS1InformationElement", HFILL }},
13147     { &hf_qsig_ct_connectedName,
13148       { "connectedName", "qsig.ct.connectedName",
13149         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13150         "qsig_na.Name", HFILL }},
13151     { &hf_qsig_ct_argumentExtensionCTA,
13152       { "argumentExtension", "qsig.ct.argumentExtension",
13153         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTAargumentExtension_vals), 0,
13154         "qsig_ct.CTAargumentExtension", HFILL }},
13155     { &hf_qsig_ct_endDesignation,
13156       { "endDesignation", "qsig.ct.endDesignation",
13157         FT_UINT32, BASE_DEC, VALS(qsig_ct_EndDesignation_vals), 0,
13158         "qsig_ct.EndDesignation", HFILL }},
13159     { &hf_qsig_ct_redirectionNumber,
13160       { "redirectionNumber", "qsig.ct.redirectionNumber",
13161         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13162         "qsig.PresentedNumberScreened", HFILL }},
13163     { &hf_qsig_ct_redirectionName,
13164       { "redirectionName", "qsig.ct.redirectionName",
13165         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13166         "qsig_na.Name", HFILL }},
13167     { &hf_qsig_ct_callStatus,
13168       { "callStatus", "qsig.ct.callStatus",
13169         FT_UINT32, BASE_DEC, VALS(qsig_ct_CallStatus_vals), 0,
13170         "qsig_ct.CallStatus", HFILL }},
13171     { &hf_qsig_ct_argumentExtensionCTC,
13172       { "argumentExtension", "qsig.ct.argumentExtension",
13173         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTCargumentExtension_vals), 0,
13174         "qsig_ct.CTCargumentExtension", HFILL }},
13175     { &hf_qsig_ct_argumentExtensionCTU,
13176       { "argumentExtension", "qsig.ct.argumentExtension",
13177         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTUargumentExtension_vals), 0,
13178         "qsig_ct.CTUargumentExtension", HFILL }},
13179     { &hf_qsig_ct_redirectionSubaddress,
13180       { "redirectionSubaddress", "qsig.ct.redirectionSubaddress",
13181         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13182         "qsig.PartySubaddress", HFILL }},
13183     { &hf_qsig_ct_argumentExtensionST,
13184       { "argumentExtension", "qsig.ct.argumentExtension",
13185         FT_UINT32, BASE_DEC, VALS(qsig_ct_STargumentExtension_vals), 0,
13186         "qsig_ct.STargumentExtension", HFILL }},
13187
13188 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
13189
13190     { &hf_qsig_cc_qsig_cc_CcRequestArg_PDU,
13191       { "CcRequestArg", "qsig.cc.CcRequestArg",
13192         FT_NONE, BASE_NONE, NULL, 0,
13193         "qsig_cc.CcRequestArg", HFILL }},
13194     { &hf_qsig_cc_qsig_cc_CcRequestRes_PDU,
13195       { "CcRequestRes", "qsig.cc.CcRequestRes",
13196         FT_NONE, BASE_NONE, NULL, 0,
13197         "qsig_cc.CcRequestRes", HFILL }},
13198     { &hf_qsig_cc_qsig_cc_CcOptionalArg_PDU,
13199       { "CcOptionalArg", "qsig.cc.CcOptionalArg",
13200         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcOptionalArg_vals), 0,
13201         "qsig_cc.CcOptionalArg", HFILL }},
13202     { &hf_qsig_cc_qsig_cc_CcExtension_PDU,
13203       { "CcExtension", "qsig.cc.CcExtension",
13204         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13205         "qsig_cc.CcExtension", HFILL }},
13206     { &hf_qsig_cc_qsig_cc_Extension_PDU,
13207       { "Extension", "qsig.cc.Extension",
13208         FT_NONE, BASE_NONE, NULL, 0,
13209         "qsig.Extension", HFILL }},
13210     { &hf_qsig_cc_numberA,
13211       { "numberA", "qsig.cc.numberA",
13212         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13213         "qsig.PresentedNumberUnscreened", HFILL }},
13214     { &hf_qsig_cc_numberB,
13215       { "numberB", "qsig.cc.numberB",
13216         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13217         "qsig.PartyNumber", HFILL }},
13218     { &hf_qsig_cc_service,
13219       { "service", "qsig.cc.service",
13220         FT_BYTES, BASE_NONE, NULL, 0,
13221         "qsig.PSS1InformationElement", HFILL }},
13222     { &hf_qsig_cc_subaddrA,
13223       { "subaddrA", "qsig.cc.subaddrA",
13224         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13225         "qsig.PartySubaddress", HFILL }},
13226     { &hf_qsig_cc_subaddrB,
13227       { "subaddrB", "qsig.cc.subaddrB",
13228         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13229         "qsig.PartySubaddress", HFILL }},
13230     { &hf_qsig_cc_can_retain_service,
13231       { "can-retain-service", "qsig.cc.can_retain_service",
13232         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
13233         "qsig_cc.BOOLEAN", HFILL }},
13234     { &hf_qsig_cc_retain_sig_connection,
13235       { "retain-sig-connection", "qsig.cc.retain_sig_connection",
13236         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
13237         "qsig_cc.BOOLEAN", HFILL }},
13238     { &hf_qsig_cc_extension,
13239       { "extension", "qsig.cc.extension",
13240         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13241         "qsig_cc.CcExtension", HFILL }},
13242     { &hf_qsig_cc_no_path_reservation,
13243       { "no-path-reservation", "qsig.cc.no_path_reservation",
13244         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
13245         "qsig_cc.BOOLEAN", HFILL }},
13246     { &hf_qsig_cc_retain_service,
13247       { "retain-service", "qsig.cc.retain_service",
13248         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
13249         "qsig_cc.BOOLEAN", HFILL }},
13250     { &hf_qsig_cc_fullArg,
13251       { "fullArg", "qsig.cc.fullArg",
13252         FT_NONE, BASE_NONE, NULL, 0,
13253         "qsig_cc.T_fullArg", HFILL }},
13254     { &hf_qsig_cc_numberA_01,
13255       { "numberA", "qsig.cc.numberA",
13256         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13257         "qsig.PartyNumber", HFILL }},
13258     { &hf_qsig_cc_extArg,
13259       { "extArg", "qsig.cc.extArg",
13260         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13261         "qsig_cc.CcExtension", HFILL }},
13262     { &hf_qsig_cc_none,
13263       { "none", "qsig.cc.none",
13264         FT_NONE, BASE_NONE, NULL, 0,
13265         "qsig_cc.NULL", HFILL }},
13266     { &hf_qsig_cc_single,
13267       { "single", "qsig.cc.single",
13268         FT_NONE, BASE_NONE, NULL, 0,
13269         "qsig.Extension", HFILL }},
13270     { &hf_qsig_cc_multiple,
13271       { "multiple", "qsig.cc.multiple",
13272         FT_UINT32, BASE_DEC, NULL, 0,
13273         "qsig_cc.SEQUENCE_OF_Extension", HFILL }},
13274     { &hf_qsig_cc_multiple_item,
13275       { "Extension", "qsig.cc.Extension",
13276         FT_NONE, BASE_NONE, NULL, 0,
13277         "qsig.Extension", HFILL }},
13278
13279 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
13280
13281     { &hf_qsig_co_qsig_co_PathRetainArg_PDU,
13282       { "PathRetainArg", "qsig.co.PathRetainArg",
13283         FT_UINT32, BASE_DEC, VALS(qsig_co_PathRetainArg_vals), 0,
13284         "qsig_co.PathRetainArg", HFILL }},
13285     { &hf_qsig_co_qsig_co_ServiceAvailableArg_PDU,
13286       { "ServiceAvailableArg", "qsig.co.ServiceAvailableArg",
13287         FT_UINT32, BASE_DEC, VALS(qsig_co_ServiceAvailableArg_vals), 0,
13288         "qsig_co.ServiceAvailableArg", HFILL }},
13289     { &hf_qsig_co_qsig_co_DummyArg_PDU,
13290       { "DummyArg", "qsig.co.DummyArg",
13291         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyArg_vals), 0,
13292         "qsig_co.DummyArg", HFILL }},
13293     { &hf_qsig_co_qsig_co_DummyRes_PDU,
13294       { "DummyRes", "qsig.co.DummyRes",
13295         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyRes_vals), 0,
13296         "qsig_co.DummyRes", HFILL }},
13297     { &hf_qsig_co_qsig_co_Extension_PDU,
13298       { "Extension", "qsig.co.Extension",
13299         FT_NONE, BASE_NONE, NULL, 0,
13300         "qsig.Extension", HFILL }},
13301     { &hf_qsig_co_serviceList,
13302       { "serviceList", "qsig.co.serviceList",
13303         FT_BYTES, BASE_NONE, NULL, 0,
13304         "qsig_co.ServiceList", HFILL }},
13305     { &hf_qsig_co_extendedServiceList,
13306       { "extendedServiceList", "qsig.co.extendedServiceList",
13307         FT_NONE, BASE_NONE, NULL, 0,
13308         "qsig_co.T_extendedServiceList", HFILL }},
13309     { &hf_qsig_co_extension,
13310       { "extension", "qsig.co.extension",
13311         FT_NONE, BASE_NONE, NULL, 0,
13312         "qsig.Extension", HFILL }},
13313     { &hf_qsig_co_extendedServiceList_01,
13314       { "extendedServiceList", "qsig.co.extendedServiceList",
13315         FT_NONE, BASE_NONE, NULL, 0,
13316         "qsig_co.T_extendedServiceList_01", HFILL }},
13317     { &hf_qsig_co_null,
13318       { "null", "qsig.co.null",
13319         FT_NONE, BASE_NONE, NULL, 0,
13320         "qsig_co.NULL", HFILL }},
13321     { &hf_qsig_co_sequenceOfExtn,
13322       { "sequenceOfExtn", "qsig.co.sequenceOfExtn",
13323         FT_UINT32, BASE_DEC, NULL, 0,
13324         "qsig_co.SEQUENCE_OF_Extension", HFILL }},
13325     { &hf_qsig_co_sequenceOfExtn_item,
13326       { "Extension", "qsig.co.Extension",
13327         FT_NONE, BASE_NONE, NULL, 0,
13328         "qsig.Extension", HFILL }},
13329     { &hf_qsig_co_ServiceList_callOffer,
13330       { "callOffer", "qsig.co.callOffer",
13331         FT_BOOLEAN, 8, NULL, 0x80,
13332         NULL, HFILL }},
13333
13334 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
13335
13336     { &hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU,
13337       { "DNDActivateArg", "qsig.dnd.DNDActivateArg",
13338         FT_NONE, BASE_NONE, NULL, 0,
13339         "qsig_dnd.DNDActivateArg", HFILL }},
13340     { &hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU,
13341       { "DNDActivateRes", "qsig.dnd.DNDActivateRes",
13342         FT_NONE, BASE_NONE, NULL, 0,
13343         "qsig_dnd.DNDActivateRes", HFILL }},
13344     { &hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU,
13345       { "DNDDeactivateArg", "qsig.dnd.DNDDeactivateArg",
13346         FT_NONE, BASE_NONE, NULL, 0,
13347         "qsig_dnd.DNDDeactivateArg", HFILL }},
13348     { &hf_qsig_dnd_qsig_dnd_DummyRes_PDU,
13349       { "DummyRes", "qsig.dnd.DummyRes",
13350         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyRes_vals), 0,
13351         "qsig_dnd.DummyRes", HFILL }},
13352     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU,
13353       { "DNDInterrogateArg", "qsig.dnd.DNDInterrogateArg",
13354         FT_NONE, BASE_NONE, NULL, 0,
13355         "qsig_dnd.DNDInterrogateArg", HFILL }},
13356     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU,
13357       { "DNDInterrogateRes", "qsig.dnd.DNDInterrogateRes",
13358         FT_NONE, BASE_NONE, NULL, 0,
13359         "qsig_dnd.DNDInterrogateRes", HFILL }},
13360     { &hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU,
13361       { "DNDOverrideArg", "qsig.dnd.DNDOverrideArg",
13362         FT_NONE, BASE_NONE, NULL, 0,
13363         "qsig_dnd.DNDOverrideArg", HFILL }},
13364     { &hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU,
13365       { "PathRetainArg", "qsig.dnd.PathRetainArg",
13366         FT_UINT32, BASE_DEC, VALS(qsig_dnd_PathRetainArg_vals), 0,
13367         "qsig_dnd.PathRetainArg", HFILL }},
13368     { &hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU,
13369       { "ServiceAvailableArg", "qsig.dnd.ServiceAvailableArg",
13370         FT_UINT32, BASE_DEC, VALS(qsig_dnd_ServiceAvailableArg_vals), 0,
13371         "qsig_dnd.ServiceAvailableArg", HFILL }},
13372     { &hf_qsig_dnd_qsig_dnd_DummyArg_PDU,
13373       { "DummyArg", "qsig.dnd.DummyArg",
13374         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyArg_vals), 0,
13375         "qsig_dnd.DummyArg", HFILL }},
13376     { &hf_qsig_dnd_qsig_dnd_Extension_PDU,
13377       { "Extension", "qsig.dnd.Extension",
13378         FT_NONE, BASE_NONE, NULL, 0,
13379         "qsig.Extension", HFILL }},
13380     { &hf_qsig_dnd_null,
13381       { "null", "qsig.dnd.null",
13382         FT_NONE, BASE_NONE, NULL, 0,
13383         "qsig_dnd.NULL", HFILL }},
13384     { &hf_qsig_dnd_extension,
13385       { "extension", "qsig.dnd.extension",
13386         FT_NONE, BASE_NONE, NULL, 0,
13387         "qsig.Extension", HFILL }},
13388     { &hf_qsig_dnd_sequenceOfExtn,
13389       { "sequenceOfExtn", "qsig.dnd.sequenceOfExtn",
13390         FT_UINT32, BASE_DEC, NULL, 0,
13391         "qsig_dnd.SEQUENCE_OF_Extension", HFILL }},
13392     { &hf_qsig_dnd_sequenceOfExtn_item,
13393       { "Extension", "qsig.dnd.Extension",
13394         FT_NONE, BASE_NONE, NULL, 0,
13395         "qsig.Extension", HFILL }},
13396     { &hf_qsig_dnd_basicService,
13397       { "basicService", "qsig.dnd.basicService",
13398         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
13399         "qsig_cf.BasicService", HFILL }},
13400     { &hf_qsig_dnd_servedUserNr,
13401       { "servedUserNr", "qsig.dnd.servedUserNr",
13402         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13403         "qsig.PartyNumber", HFILL }},
13404     { &hf_qsig_dnd_argumentExtensionDNDA,
13405       { "argumentExtension", "qsig.dnd.argumentExtension",
13406         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDAargumentExtension_vals), 0,
13407         "qsig_dnd.DNDAargumentExtension", HFILL }},
13408     { &hf_qsig_dnd_status,
13409       { "status", "qsig.dnd.status",
13410         FT_UINT32, BASE_DEC, NULL, 0,
13411         "qsig_dnd.T_status", HFILL }},
13412     { &hf_qsig_dnd_status_item,
13413       { "status item", "qsig.dnd.status_item",
13414         FT_NONE, BASE_NONE, NULL, 0,
13415         "qsig_dnd.T_status_item", HFILL }},
13416     { &hf_qsig_dnd_dndProtectionLevel,
13417       { "dndProtectionLevel", "qsig.dnd.dndProtectionLevel",
13418         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDProtectionLevel_vals), 0,
13419         "qsig_dnd.DNDProtectionLevel", HFILL }},
13420     { &hf_qsig_dnd_resultExtension,
13421       { "resultExtension", "qsig.dnd.resultExtension",
13422         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_vals), 0,
13423         "qsig_dnd.T_resultExtension", HFILL }},
13424     { &hf_qsig_dnd_argumentExtensionDNDD,
13425       { "argumentExtension", "qsig.dnd.argumentExtension",
13426         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDDargumentExtension_vals), 0,
13427         "qsig_dnd.DNDDargumentExtension", HFILL }},
13428     { &hf_qsig_dnd_argumentExtensionDNDI,
13429       { "argumentExtension", "qsig.dnd.argumentExtension",
13430         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDIargumentExtension_vals), 0,
13431         "qsig_dnd.DNDIargumentExtension", HFILL }},
13432     { &hf_qsig_dnd_status_01,
13433       { "status", "qsig.dnd.status",
13434         FT_UINT32, BASE_DEC, NULL, 0,
13435         "qsig_dnd.T_status_01", HFILL }},
13436     { &hf_qsig_dnd_status_item_01,
13437       { "status item", "qsig.dnd.status_item",
13438         FT_NONE, BASE_NONE, NULL, 0,
13439         "qsig_dnd.T_status_item_01", HFILL }},
13440     { &hf_qsig_dnd_resultExtension_01,
13441       { "resultExtension", "qsig.dnd.resultExtension",
13442         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_01_vals), 0,
13443         "qsig_dnd.T_resultExtension_01", HFILL }},
13444     { &hf_qsig_dnd_dndoCapabilityLevel,
13445       { "dndoCapabilityLevel", "qsig.dnd.dndoCapabilityLevel",
13446         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOCapabilityLevel_vals), 0,
13447         "qsig_dnd.DNDOCapabilityLevel", HFILL }},
13448     { &hf_qsig_dnd_argumentExtensionDNDO,
13449       { "argumentExtension", "qsig.dnd.argumentExtension",
13450         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOargumentExtension_vals), 0,
13451         "qsig_dnd.DNDOargumentExtension", HFILL }},
13452     { &hf_qsig_dnd_serviceList,
13453       { "serviceList", "qsig.dnd.serviceList",
13454         FT_BYTES, BASE_NONE, NULL, 0,
13455         "qsig_dnd.ServiceList", HFILL }},
13456     { &hf_qsig_dnd_extendedServiceList,
13457       { "extendedServiceList", "qsig.dnd.extendedServiceList",
13458         FT_NONE, BASE_NONE, NULL, 0,
13459         "qsig_dnd.T_extendedServiceList", HFILL }},
13460     { &hf_qsig_dnd_extendedServiceList_01,
13461       { "extendedServiceList", "qsig.dnd.extendedServiceList",
13462         FT_NONE, BASE_NONE, NULL, 0,
13463         "qsig_dnd.T_extendedServiceList_01", HFILL }},
13464     { &hf_qsig_dnd_ServiceList_dndo_low,
13465       { "dndo-low", "qsig.dnd.dndo-low",
13466         FT_BOOLEAN, 8, NULL, 0x40,
13467         NULL, HFILL }},
13468     { &hf_qsig_dnd_ServiceList_dndo_medium,
13469       { "dndo-medium", "qsig.dnd.dndo-medium",
13470         FT_BOOLEAN, 8, NULL, 0x20,
13471         NULL, HFILL }},
13472     { &hf_qsig_dnd_ServiceList_dndo_high,
13473       { "dndo-high", "qsig.dnd.dndo-high",
13474         FT_BOOLEAN, 8, NULL, 0x10,
13475         NULL, HFILL }},
13476
13477 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
13478
13479     { &hf_qsig_ci_qsig_ci_PathRetainArg_PDU,
13480       { "PathRetainArg", "qsig.ci.PathRetainArg",
13481         FT_UINT32, BASE_DEC, VALS(qsig_ci_PathRetainArg_vals), 0,
13482         "qsig_ci.PathRetainArg", HFILL }},
13483     { &hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU,
13484       { "ServiceAvailableArg", "qsig.ci.ServiceAvailableArg",
13485         FT_UINT32, BASE_DEC, VALS(qsig_ci_ServiceAvailableArg_vals), 0,
13486         "qsig_ci.ServiceAvailableArg", HFILL }},
13487     { &hf_qsig_ci_qsig_ci_CIRequestArg_PDU,
13488       { "CIRequestArg", "qsig.ci.CIRequestArg",
13489         FT_NONE, BASE_NONE, NULL, 0,
13490         "qsig_ci.CIRequestArg", HFILL }},
13491     { &hf_qsig_ci_qsig_ci_CIRequestRes_PDU,
13492       { "CIRequestRes", "qsig.ci.CIRequestRes",
13493         FT_NONE, BASE_NONE, NULL, 0,
13494         "qsig_ci.CIRequestRes", HFILL }},
13495     { &hf_qsig_ci_qsig_ci_DummyArg_PDU,
13496       { "DummyArg", "qsig.ci.DummyArg",
13497         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyArg_vals), 0,
13498         "qsig_ci.DummyArg", HFILL }},
13499     { &hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU,
13500       { "CIGetCIPLRes", "qsig.ci.CIGetCIPLRes",
13501         FT_NONE, BASE_NONE, NULL, 0,
13502         "qsig_ci.CIGetCIPLRes", HFILL }},
13503     { &hf_qsig_ci_qsig_ci_DummyRes_PDU,
13504       { "DummyRes", "qsig.ci.DummyRes",
13505         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyRes_vals), 0,
13506         "qsig_ci.DummyRes", HFILL }},
13507     { &hf_qsig_ci_qsig_ci_Extension_PDU,
13508       { "Extension", "qsig.ci.Extension",
13509         FT_NONE, BASE_NONE, NULL, 0,
13510         "qsig.Extension", HFILL }},
13511     { &hf_qsig_ci_serviceList,
13512       { "serviceList", "qsig.ci.serviceList",
13513         FT_BYTES, BASE_NONE, NULL, 0,
13514         "qsig_ci.ServiceList", HFILL }},
13515     { &hf_qsig_ci_extendedServiceList,
13516       { "extendedServiceList", "qsig.ci.extendedServiceList",
13517         FT_NONE, BASE_NONE, NULL, 0,
13518         "qsig_ci.T_extendedServiceList", HFILL }},
13519     { &hf_qsig_ci_extension,
13520       { "extension", "qsig.ci.extension",
13521         FT_NONE, BASE_NONE, NULL, 0,
13522         "qsig.Extension", HFILL }},
13523     { &hf_qsig_ci_extendedServiceList_01,
13524       { "extendedServiceList", "qsig.ci.extendedServiceList",
13525         FT_NONE, BASE_NONE, NULL, 0,
13526         "qsig_ci.T_extendedServiceList_01", HFILL }},
13527     { &hf_qsig_ci_null,
13528       { "null", "qsig.ci.null",
13529         FT_NONE, BASE_NONE, NULL, 0,
13530         "qsig_ci.NULL", HFILL }},
13531     { &hf_qsig_ci_sequenceOfExtn,
13532       { "sequenceOfExtn", "qsig.ci.sequenceOfExtn",
13533         FT_UINT32, BASE_DEC, NULL, 0,
13534         "qsig_ci.SEQUENCE_OF_Extension", HFILL }},
13535     { &hf_qsig_ci_sequenceOfExtn_item,
13536       { "Extension", "qsig.ci.Extension",
13537         FT_NONE, BASE_NONE, NULL, 0,
13538         "qsig.Extension", HFILL }},
13539     { &hf_qsig_ci_ciCapabilityLevel,
13540       { "ciCapabilityLevel", "qsig.ci.ciCapabilityLevel",
13541         FT_UINT32, BASE_DEC, VALS(qsig_ci_CICapabilityLevel_vals), 0,
13542         "qsig_ci.CICapabilityLevel", HFILL }},
13543     { &hf_qsig_ci_argumentExtension,
13544       { "argumentExtension", "qsig.ci.argumentExtension",
13545         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_argumentExtension_vals), 0,
13546         "qsig_ci.T_argumentExtension", HFILL }},
13547     { &hf_qsig_ci_ciUnwantedUserStatus,
13548       { "ciUnwantedUserStatus", "qsig.ci.ciUnwantedUserStatus",
13549         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIUnwantedUserStatus_vals), 0,
13550         "qsig_ci.CIUnwantedUserStatus", HFILL }},
13551     { &hf_qsig_ci_resultExtension,
13552       { "resultExtension", "qsig.ci.resultExtension",
13553         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_vals), 0,
13554         "qsig_ci.T_resultExtension", HFILL }},
13555     { &hf_qsig_ci_ciProtectionLevel,
13556       { "ciProtectionLevel", "qsig.ci.ciProtectionLevel",
13557         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIProtectionLevel_vals), 0,
13558         "qsig_ci.CIProtectionLevel", HFILL }},
13559     { &hf_qsig_ci_resultExtension_01,
13560       { "resultExtension", "qsig.ci.resultExtension",
13561         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_01_vals), 0,
13562         "qsig_ci.T_resultExtension_01", HFILL }},
13563     { &hf_qsig_ci_ServiceList_ci_low,
13564       { "ci-low", "qsig.ci.ci-low",
13565         FT_BOOLEAN, 8, NULL, 0x08,
13566         NULL, HFILL }},
13567     { &hf_qsig_ci_ServiceList_ci_medium,
13568       { "ci-medium", "qsig.ci.ci-medium",
13569         FT_BOOLEAN, 8, NULL, 0x04,
13570         NULL, HFILL }},
13571     { &hf_qsig_ci_ServiceList_ci_high,
13572       { "ci-high", "qsig.ci.ci-high",
13573         FT_BOOLEAN, 8, NULL, 0x02,
13574         NULL, HFILL }},
13575
13576 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
13577
13578     { &hf_qsig_aoc_qsig_aoc_AocRateArg_PDU,
13579       { "AocRateArg", "qsig.aoc.AocRateArg",
13580         FT_NONE, BASE_NONE, NULL, 0,
13581         "qsig_aoc.AocRateArg", HFILL }},
13582     { &hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU,
13583       { "AocInterimArg", "qsig.aoc.AocInterimArg",
13584         FT_NONE, BASE_NONE, NULL, 0,
13585         "qsig_aoc.AocInterimArg", HFILL }},
13586     { &hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU,
13587       { "AocFinalArg", "qsig.aoc.AocFinalArg",
13588         FT_NONE, BASE_NONE, NULL, 0,
13589         "qsig_aoc.AocFinalArg", HFILL }},
13590     { &hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU,
13591       { "ChargeRequestArg", "qsig.aoc.ChargeRequestArg",
13592         FT_NONE, BASE_NONE, NULL, 0,
13593         "qsig_aoc.ChargeRequestArg", HFILL }},
13594     { &hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU,
13595       { "ChargeRequestRes", "qsig.aoc.ChargeRequestRes",
13596         FT_NONE, BASE_NONE, NULL, 0,
13597         "qsig_aoc.ChargeRequestRes", HFILL }},
13598     { &hf_qsig_aoc_qsig_aoc_DummyArg_PDU,
13599       { "DummyArg", "qsig.aoc.DummyArg",
13600         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DummyArg_vals), 0,
13601         "qsig_aoc.DummyArg", HFILL }},
13602     { &hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU,
13603       { "AocCompleteArg", "qsig.aoc.AocCompleteArg",
13604         FT_NONE, BASE_NONE, NULL, 0,
13605         "qsig_aoc.AocCompleteArg", HFILL }},
13606     { &hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU,
13607       { "AocCompleteRes", "qsig.aoc.AocCompleteRes",
13608         FT_NONE, BASE_NONE, NULL, 0,
13609         "qsig_aoc.AocCompleteRes", HFILL }},
13610     { &hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU,
13611       { "AocDivChargeReqArg", "qsig.aoc.AocDivChargeReqArg",
13612         FT_NONE, BASE_NONE, NULL, 0,
13613         "qsig_aoc.AocDivChargeReqArg", HFILL }},
13614     { &hf_qsig_aoc_qsig_aoc_Extension_PDU,
13615       { "Extension", "qsig.aoc.Extension",
13616         FT_NONE, BASE_NONE, NULL, 0,
13617         "qsig.Extension", HFILL }},
13618     { &hf_qsig_aoc_aocRate,
13619       { "aocRate", "qsig.aoc.aocRate",
13620         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocRate_vals), 0,
13621         "qsig_aoc.T_aocRate", HFILL }},
13622     { &hf_qsig_aoc_chargeNotAvailable,
13623       { "chargeNotAvailable", "qsig.aoc.chargeNotAvailable",
13624         FT_NONE, BASE_NONE, NULL, 0,
13625         "qsig_aoc.NULL", HFILL }},
13626     { &hf_qsig_aoc_aocSCurrencyInfoList,
13627       { "aocSCurrencyInfoList", "qsig.aoc.aocSCurrencyInfoList",
13628         FT_UINT32, BASE_DEC, NULL, 0,
13629         "qsig_aoc.AOCSCurrencyInfoList", HFILL }},
13630     { &hf_qsig_aoc_rateArgExtension,
13631       { "rateArgExtension", "qsig.aoc.rateArgExtension",
13632         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateArgExtension_vals), 0,
13633         "qsig_aoc.T_rateArgExtension", HFILL }},
13634     { &hf_qsig_aoc_extension,
13635       { "extension", "qsig.aoc.extension",
13636         FT_NONE, BASE_NONE, NULL, 0,
13637         "qsig.Extension", HFILL }},
13638     { &hf_qsig_aoc_multipleExtension,
13639       { "multipleExtension", "qsig.aoc.multipleExtension",
13640         FT_UINT32, BASE_DEC, NULL, 0,
13641         "qsig_aoc.SEQUENCE_OF_Extension", HFILL }},
13642     { &hf_qsig_aoc_multipleExtension_item,
13643       { "Extension", "qsig.aoc.Extension",
13644         FT_NONE, BASE_NONE, NULL, 0,
13645         "qsig.Extension", HFILL }},
13646     { &hf_qsig_aoc_interimCharge,
13647       { "interimCharge", "qsig.aoc.interimCharge",
13648         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimCharge_vals), 0,
13649         "qsig_aoc.T_interimCharge", HFILL }},
13650     { &hf_qsig_aoc_freeOfCharge,
13651       { "freeOfCharge", "qsig.aoc.freeOfCharge",
13652         FT_NONE, BASE_NONE, NULL, 0,
13653         "qsig_aoc.NULL", HFILL }},
13654     { &hf_qsig_aoc_specificCurrency,
13655       { "specificCurrency", "qsig.aoc.specificCurrency",
13656         FT_NONE, BASE_NONE, NULL, 0,
13657         "qsig_aoc.T_specificCurrency", HFILL }},
13658     { &hf_qsig_aoc_recordedCurrency,
13659       { "recordedCurrency", "qsig.aoc.recordedCurrency",
13660         FT_NONE, BASE_NONE, NULL, 0,
13661         "qsig_aoc.RecordedCurrency", HFILL }},
13662     { &hf_qsig_aoc_interimBillingId,
13663       { "interimBillingId", "qsig.aoc.interimBillingId",
13664         FT_UINT32, BASE_DEC, VALS(qsig_aoc_InterimBillingId_vals), 0,
13665         "qsig_aoc.InterimBillingId", HFILL }},
13666     { &hf_qsig_aoc_interimArgExtension,
13667       { "interimArgExtension", "qsig.aoc.interimArgExtension",
13668         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimArgExtension_vals), 0,
13669         "qsig_aoc.T_interimArgExtension", HFILL }},
13670     { &hf_qsig_aoc_finalCharge,
13671       { "finalCharge", "qsig.aoc.finalCharge",
13672         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalCharge_vals), 0,
13673         "qsig_aoc.T_finalCharge", HFILL }},
13674     { &hf_qsig_aoc_specificCurrency_01,
13675       { "specificCurrency", "qsig.aoc.specificCurrency",
13676         FT_NONE, BASE_NONE, NULL, 0,
13677         "qsig_aoc.T_specificCurrency_01", HFILL }},
13678     { &hf_qsig_aoc_finalBillingId,
13679       { "finalBillingId", "qsig.aoc.finalBillingId",
13680         FT_UINT32, BASE_DEC, VALS(qsig_aoc_FinalBillingId_vals), 0,
13681         "qsig_aoc.FinalBillingId", HFILL }},
13682     { &hf_qsig_aoc_chargingAssociation,
13683       { "chargingAssociation", "qsig.aoc.chargingAssociation",
13684         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingAssociation_vals), 0,
13685         "qsig_aoc.ChargingAssociation", HFILL }},
13686     { &hf_qsig_aoc_finalArgExtension,
13687       { "finalArgExtension", "qsig.aoc.finalArgExtension",
13688         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalArgExtension_vals), 0,
13689         "qsig_aoc.T_finalArgExtension", HFILL }},
13690     { &hf_qsig_aoc_AOCSCurrencyInfoList_item,
13691       { "AOCSCurrencyInfo", "qsig.aoc.AOCSCurrencyInfo",
13692         FT_NONE, BASE_NONE, NULL, 0,
13693         "qsig_aoc.AOCSCurrencyInfo", HFILL }},
13694     { &hf_qsig_aoc_chargedItem,
13695       { "chargedItem", "qsig.aoc.chargedItem",
13696         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargedItem_vals), 0,
13697         "qsig_aoc.ChargedItem", HFILL }},
13698     { &hf_qsig_aoc_rateType,
13699       { "rateType", "qsig.aoc.rateType",
13700         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateType_vals), 0,
13701         "qsig_aoc.T_rateType", HFILL }},
13702     { &hf_qsig_aoc_durationCurrency,
13703       { "durationCurrency", "qsig.aoc.durationCurrency",
13704         FT_NONE, BASE_NONE, NULL, 0,
13705         "qsig_aoc.DurationCurrency", HFILL }},
13706     { &hf_qsig_aoc_flatRateCurrency,
13707       { "flatRateCurrency", "qsig.aoc.flatRateCurrency",
13708         FT_NONE, BASE_NONE, NULL, 0,
13709         "qsig_aoc.FlatRateCurrency", HFILL }},
13710     { &hf_qsig_aoc_volumeRateCurrency,
13711       { "volumeRateCurrency", "qsig.aoc.volumeRateCurrency",
13712         FT_NONE, BASE_NONE, NULL, 0,
13713         "qsig_aoc.VolumeRateCurrency", HFILL }},
13714     { &hf_qsig_aoc_specialChargingCode,
13715       { "specialChargingCode", "qsig.aoc.specialChargingCode",
13716         FT_UINT32, BASE_DEC, NULL, 0,
13717         "qsig_aoc.SpecialChargingCode", HFILL }},
13718     { &hf_qsig_aoc_currencyInfoNotAvailable,
13719       { "currencyInfoNotAvailable", "qsig.aoc.currencyInfoNotAvailable",
13720         FT_NONE, BASE_NONE, NULL, 0,
13721         "qsig_aoc.NULL", HFILL }},
13722     { &hf_qsig_aoc_freeOfChargefromBeginning,
13723       { "freeOfChargefromBeginning", "qsig.aoc.freeOfChargefromBeginning",
13724         FT_NONE, BASE_NONE, NULL, 0,
13725         "qsig_aoc.NULL", HFILL }},
13726     { &hf_qsig_aoc_dCurrency,
13727       { "dCurrency", "qsig.aoc.dCurrency",
13728         FT_STRING, BASE_NONE, NULL, 0,
13729         "qsig_aoc.Currency", HFILL }},
13730     { &hf_qsig_aoc_dAmount,
13731       { "dAmount", "qsig.aoc.dAmount",
13732         FT_NONE, BASE_NONE, NULL, 0,
13733         "qsig_aoc.Amount", HFILL }},
13734     { &hf_qsig_aoc_dChargingType,
13735       { "dChargingType", "qsig.aoc.dChargingType",
13736         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingType_vals), 0,
13737         "qsig_aoc.ChargingType", HFILL }},
13738     { &hf_qsig_aoc_dTime,
13739       { "dTime", "qsig.aoc.dTime",
13740         FT_NONE, BASE_NONE, NULL, 0,
13741         "qsig_aoc.Time", HFILL }},
13742     { &hf_qsig_aoc_dGranularity,
13743       { "dGranularity", "qsig.aoc.dGranularity",
13744         FT_NONE, BASE_NONE, NULL, 0,
13745         "qsig_aoc.Time", HFILL }},
13746     { &hf_qsig_aoc_fRCurrency,
13747       { "fRCurrency", "qsig.aoc.fRCurrency",
13748         FT_STRING, BASE_NONE, NULL, 0,
13749         "qsig_aoc.Currency", HFILL }},
13750     { &hf_qsig_aoc_fRAmount,
13751       { "fRAmount", "qsig.aoc.fRAmount",
13752         FT_NONE, BASE_NONE, NULL, 0,
13753         "qsig_aoc.Amount", HFILL }},
13754     { &hf_qsig_aoc_vRCurrency,
13755       { "vRCurrency", "qsig.aoc.vRCurrency",
13756         FT_STRING, BASE_NONE, NULL, 0,
13757         "qsig_aoc.Currency", HFILL }},
13758     { &hf_qsig_aoc_vRAmount,
13759       { "vRAmount", "qsig.aoc.vRAmount",
13760         FT_NONE, BASE_NONE, NULL, 0,
13761         "qsig_aoc.Amount", HFILL }},
13762     { &hf_qsig_aoc_vRVolumeUnit,
13763       { "vRVolumeUnit", "qsig.aoc.vRVolumeUnit",
13764         FT_UINT32, BASE_DEC, VALS(qsig_aoc_VolumeUnit_vals), 0,
13765         "qsig_aoc.VolumeUnit", HFILL }},
13766     { &hf_qsig_aoc_rCurrency,
13767       { "rCurrency", "qsig.aoc.rCurrency",
13768         FT_STRING, BASE_NONE, NULL, 0,
13769         "qsig_aoc.Currency", HFILL }},
13770     { &hf_qsig_aoc_rAmount,
13771       { "rAmount", "qsig.aoc.rAmount",
13772         FT_NONE, BASE_NONE, NULL, 0,
13773         "qsig_aoc.Amount", HFILL }},
13774     { &hf_qsig_aoc_currencyAmount,
13775       { "currencyAmount", "qsig.aoc.currencyAmount",
13776         FT_UINT32, BASE_DEC, NULL, 0,
13777         "qsig_aoc.CurrencyAmount", HFILL }},
13778     { &hf_qsig_aoc_multiplier,
13779       { "multiplier", "qsig.aoc.multiplier",
13780         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Multiplier_vals), 0,
13781         "qsig_aoc.Multiplier", HFILL }},
13782     { &hf_qsig_aoc_lengthOfTimeUnit,
13783       { "lengthOfTimeUnit", "qsig.aoc.lengthOfTimeUnit",
13784         FT_UINT32, BASE_DEC, NULL, 0,
13785         "qsig_aoc.LengthOfTimeUnit", HFILL }},
13786     { &hf_qsig_aoc_scale,
13787       { "scale", "qsig.aoc.scale",
13788         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Scale_vals), 0,
13789         "qsig_aoc.Scale", HFILL }},
13790     { &hf_qsig_aoc_chargeNumber,
13791       { "chargeNumber", "qsig.aoc.chargeNumber",
13792         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13793         "qsig.PartyNumber", HFILL }},
13794     { &hf_qsig_aoc_chargeIdentifier,
13795       { "chargeIdentifier", "qsig.aoc.chargeIdentifier",
13796         FT_INT32, BASE_DEC, NULL, 0,
13797         "qsig_aoc.ChargeIdentifier", HFILL }},
13798     { &hf_qsig_aoc_adviceModeCombinations,
13799       { "adviceModeCombinations", "qsig.aoc.adviceModeCombinations",
13800         FT_UINT32, BASE_DEC, NULL, 0,
13801         "qsig_aoc.SEQUENCE_SIZE_0_7_OF_AdviceModeCombination", HFILL }},
13802     { &hf_qsig_aoc_adviceModeCombinations_item,
13803       { "AdviceModeCombination", "qsig.aoc.AdviceModeCombination",
13804         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13805         "qsig_aoc.AdviceModeCombination", HFILL }},
13806     { &hf_qsig_aoc_chargeReqArgExtension,
13807       { "chargeReqArgExtension", "qsig.aoc.chargeReqArgExtension",
13808         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqArgExtension_vals), 0,
13809         "qsig_aoc.T_chargeReqArgExtension", HFILL }},
13810     { &hf_qsig_aoc_adviceModeCombination,
13811       { "adviceModeCombination", "qsig.aoc.adviceModeCombination",
13812         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13813         "qsig_aoc.AdviceModeCombination", HFILL }},
13814     { &hf_qsig_aoc_chargeReqResExtension,
13815       { "chargeReqResExtension", "qsig.aoc.chargeReqResExtension",
13816         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqResExtension_vals), 0,
13817         "qsig_aoc.T_chargeReqResExtension", HFILL }},
13818     { &hf_qsig_aoc_none,
13819       { "none", "qsig.aoc.none",
13820         FT_NONE, BASE_NONE, NULL, 0,
13821         "qsig_aoc.NULL", HFILL }},
13822     { &hf_qsig_aoc_chargedUser,
13823       { "chargedUser", "qsig.aoc.chargedUser",
13824         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13825         "qsig.PartyNumber", HFILL }},
13826     { &hf_qsig_aoc_completeArgExtension,
13827       { "completeArgExtension", "qsig.aoc.completeArgExtension",
13828         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeArgExtension_vals), 0,
13829         "qsig_aoc.T_completeArgExtension", HFILL }},
13830     { &hf_qsig_aoc_chargingOption,
13831       { "chargingOption", "qsig.aoc.chargingOption",
13832         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingOption_vals), 0,
13833         "qsig_aoc.ChargingOption", HFILL }},
13834     { &hf_qsig_aoc_completeResExtension,
13835       { "completeResExtension", "qsig.aoc.completeResExtension",
13836         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeResExtension_vals), 0,
13837         "qsig_aoc.T_completeResExtension", HFILL }},
13838     { &hf_qsig_aoc_divertingUser,
13839       { "divertingUser", "qsig.aoc.divertingUser",
13840         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13841         "qsig.PartyNumber", HFILL }},
13842     { &hf_qsig_aoc_diversionType,
13843       { "diversionType", "qsig.aoc.diversionType",
13844         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DiversionType_vals), 0,
13845         "qsig_aoc.DiversionType", HFILL }},
13846     { &hf_qsig_aoc_aocDivChargeReqArgExt,
13847       { "aocDivChargeReqArgExt", "qsig.aoc.aocDivChargeReqArgExt",
13848         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocDivChargeReqArgExt_vals), 0,
13849         "qsig_aoc.T_aocDivChargeReqArgExt", HFILL }},
13850
13851 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
13852
13853     { &hf_qsig_re_qsig_re_ReAlertingArg_PDU,
13854       { "ReAlertingArg", "qsig.re.ReAlertingArg",
13855         FT_NONE, BASE_NONE, NULL, 0,
13856         "qsig_re.ReAlertingArg", HFILL }},
13857     { &hf_qsig_re_qsig_re_ReAnswerArg_PDU,
13858       { "ReAnswerArg", "qsig.re.ReAnswerArg",
13859         FT_NONE, BASE_NONE, NULL, 0,
13860         "qsig_re.ReAnswerArg", HFILL }},
13861     { &hf_qsig_re_alertedNumber,
13862       { "alertedNumber", "qsig.re.alertedNumber",
13863         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13864         "qsig.PresentedNumberScreened", HFILL }},
13865     { &hf_qsig_re_alertedName,
13866       { "alertedName", "qsig.re.alertedName",
13867         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13868         "qsig_na.Name", HFILL }},
13869     { &hf_qsig_re_argumentExtension,
13870       { "argumentExtension", "qsig.re.argumentExtension",
13871         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_vals), 0,
13872         "qsig_re.T_argumentExtension", HFILL }},
13873     { &hf_qsig_re_extension,
13874       { "extension", "qsig.re.extension",
13875         FT_NONE, BASE_NONE, NULL, 0,
13876         "qsig.Extension", HFILL }},
13877     { &hf_qsig_re_multipleExtension,
13878       { "multipleExtension", "qsig.re.multipleExtension",
13879         FT_UINT32, BASE_DEC, NULL, 0,
13880         "qsig_re.SEQUENCE_OF_Extension", HFILL }},
13881     { &hf_qsig_re_multipleExtension_item,
13882       { "Extension", "qsig.re.Extension",
13883         FT_NONE, BASE_NONE, NULL, 0,
13884         "qsig.Extension", HFILL }},
13885     { &hf_qsig_re_connectedNumber,
13886       { "connectedNumber", "qsig.re.connectedNumber",
13887         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13888         "qsig.PresentedNumberScreened", HFILL }},
13889     { &hf_qsig_re_connectedSubaddress,
13890       { "connectedSubaddress", "qsig.re.connectedSubaddress",
13891         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13892         "qsig.PartySubaddress", HFILL }},
13893     { &hf_qsig_re_connectedName,
13894       { "connectedName", "qsig.re.connectedName",
13895         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13896         "qsig_na.Name", HFILL }},
13897     { &hf_qsig_re_argumentExtension_01,
13898       { "argumentExtension", "qsig.re.argumentExtension",
13899         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_01_vals), 0,
13900         "qsig_re.T_argumentExtension_01", HFILL }},
13901
13902 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
13903
13904     { &hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU,
13905       { "SynchronizationReqArg", "qsig.sync.SynchronizationReqArg",
13906         FT_NONE, BASE_NONE, NULL, 0,
13907         "qsig_sync.SynchronizationReqArg", HFILL }},
13908     { &hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU,
13909       { "SynchronizationReqRes", "qsig.sync.SynchronizationReqRes",
13910         FT_NONE, BASE_NONE, NULL, 0,
13911         "qsig_sync.SynchronizationReqRes", HFILL }},
13912     { &hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU,
13913       { "SynchronizationInfoArg", "qsig.sync.SynchronizationInfoArg",
13914         FT_NONE, BASE_NONE, NULL, 0,
13915         "qsig_sync.SynchronizationInfoArg", HFILL }},
13916     { &hf_qsig_sync_qsig_sync_Extension_PDU,
13917       { "Extension", "qsig.sync.Extension",
13918         FT_NONE, BASE_NONE, NULL, 0,
13919         "qsig.Extension", HFILL }},
13920     { &hf_qsig_sync_action,
13921       { "action", "qsig.sync.action",
13922         FT_INT32, BASE_DEC, VALS(qsig_sync_Action_vals), 0,
13923         "qsig_sync.Action", HFILL }},
13924     { &hf_qsig_sync_argExtension,
13925       { "argExtension", "qsig.sync.argExtension",
13926         FT_UINT32, BASE_DEC, VALS(qsig_sync_ArgExtension_vals), 0,
13927         "qsig_sync.ArgExtension", HFILL }},
13928     { &hf_qsig_sync_response,
13929       { "response", "qsig.sync.response",
13930         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
13931         "qsig_sync.BOOLEAN", HFILL }},
13932     { &hf_qsig_sync_stateinfo,
13933       { "stateinfo", "qsig.sync.stateinfo",
13934         FT_INT32, BASE_DEC, VALS(qsig_sync_T_stateinfo_vals), 0,
13935         "qsig_sync.T_stateinfo", HFILL }},
13936     { &hf_qsig_sync_extension,
13937       { "extension", "qsig.sync.extension",
13938         FT_NONE, BASE_NONE, NULL, 0,
13939         "qsig.Extension", HFILL }},
13940     { &hf_qsig_sync_sequOfExtn,
13941       { "sequOfExtn", "qsig.sync.sequOfExtn",
13942         FT_UINT32, BASE_DEC, NULL, 0,
13943         "qsig_sync.SEQUENCE_OF_Extension", HFILL }},
13944     { &hf_qsig_sync_sequOfExtn_item,
13945       { "Extension", "qsig.sync.Extension",
13946         FT_NONE, BASE_NONE, NULL, 0,
13947         "qsig.Extension", HFILL }},
13948
13949 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
13950
13951     { &hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU,
13952       { "CintInformation1Arg", "qsig.cint.CintInformation1Arg",
13953         FT_NONE, BASE_NONE, NULL, 0,
13954         "qsig_cint.CintInformation1Arg", HFILL }},
13955     { &hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU,
13956       { "CintInformation2Arg", "qsig.cint.CintInformation2Arg",
13957         FT_NONE, BASE_NONE, NULL, 0,
13958         "qsig_cint.CintInformation2Arg", HFILL }},
13959     { &hf_qsig_cint_qsig_cint_CintCondArg_PDU,
13960       { "CintCondArg", "qsig.cint.CintCondArg",
13961         FT_NONE, BASE_NONE, NULL, 0,
13962         "qsig_cint.CintCondArg", HFILL }},
13963     { &hf_qsig_cint_qsig_cint_CintExtension_PDU,
13964       { "CintExtension", "qsig.cint.CintExtension",
13965         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
13966         "qsig_cint.CintExtension", HFILL }},
13967     { &hf_qsig_cint_interceptionCause,
13968       { "interceptionCause", "qsig.cint.interceptionCause",
13969         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintCause_vals), 0,
13970         "qsig_cint.CintCause", HFILL }},
13971     { &hf_qsig_cint_interceptedToNumber,
13972       { "interceptedToNumber", "qsig.cint.interceptedToNumber",
13973         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13974         "qsig.PartyNumber", HFILL }},
13975     { &hf_qsig_cint_extension,
13976       { "extension", "qsig.cint.extension",
13977         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
13978         "qsig_cint.CintExtension", HFILL }},
13979     { &hf_qsig_cint_calledNumber,
13980       { "calledNumber", "qsig.cint.calledNumber",
13981         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13982         "qsig.PresentedNumberUnscreened", HFILL }},
13983     { &hf_qsig_cint_originalCalledNumber,
13984       { "originalCalledNumber", "qsig.cint.originalCalledNumber",
13985         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13986         "qsig.PresentedNumberUnscreened", HFILL }},
13987     { &hf_qsig_cint_calledName,
13988       { "calledName", "qsig.cint.calledName",
13989         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13990         "qsig_na.Name", HFILL }},
13991     { &hf_qsig_cint_originalCalledName,
13992       { "originalCalledName", "qsig.cint.originalCalledName",
13993         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13994         "qsig_na.Name", HFILL }},
13995     { &hf_qsig_cint_interceptionCause_01,
13996       { "interceptionCause", "qsig.cint.interceptionCause",
13997         FT_UINT32, BASE_DEC, VALS(qsig_cint_Condition_vals), 0,
13998         "qsig_cint.Condition", HFILL }},
13999     { &hf_qsig_cint_none,
14000       { "none", "qsig.cint.none",
14001         FT_NONE, BASE_NONE, NULL, 0,
14002         "qsig_cint.NULL", HFILL }},
14003     { &hf_qsig_cint_single,
14004       { "single", "qsig.cint.single",
14005         FT_NONE, BASE_NONE, NULL, 0,
14006         "qsig.Extension", HFILL }},
14007     { &hf_qsig_cint_multiple,
14008       { "multiple", "qsig.cint.multiple",
14009         FT_UINT32, BASE_DEC, NULL, 0,
14010         "qsig_cint.SEQUENCE_OF_Extension", HFILL }},
14011     { &hf_qsig_cint_multiple_item,
14012       { "Extension", "qsig.cint.Extension",
14013         FT_NONE, BASE_NONE, NULL, 0,
14014         "qsig.Extension", HFILL }},
14015
14016 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
14017
14018     { &hf_qsig_cmn_qsig_cmn_DummyArg_PDU,
14019       { "DummyArg", "qsig.cmn.DummyArg",
14020         FT_UINT32, BASE_DEC, VALS(qsig_cmn_DummyArg_vals), 0,
14021         "qsig_cmn.DummyArg", HFILL }},
14022     { &hf_qsig_cmn_qsig_cmn_CmnArg_PDU,
14023       { "CmnArg", "qsig.cmn.CmnArg",
14024         FT_NONE, BASE_NONE, NULL, 0,
14025         "qsig_cmn.CmnArg", HFILL }},
14026     { &hf_qsig_cmn_featureIdentifier,
14027       { "featureIdentifier", "qsig.cmn.featureIdentifier",
14028         FT_BYTES, BASE_NONE, NULL, 0,
14029         "qsig_cmn.FeatureIdList", HFILL }},
14030     { &hf_qsig_cmn_ssDNDOprotectionLevel,
14031       { "ssDNDOprotectionLevel", "qsig.cmn.ssDNDOprotectionLevel",
14032         FT_UINT32, BASE_DEC, NULL, 0,
14033         "qsig_cmn.INTEGER_0_3", HFILL }},
14034     { &hf_qsig_cmn_ssCIprotectionLevel,
14035       { "ssCIprotectionLevel", "qsig.cmn.ssCIprotectionLevel",
14036         FT_UINT32, BASE_DEC, NULL, 0,
14037         "qsig_cmn.INTEGER_0_3", HFILL }},
14038     { &hf_qsig_cmn_equipmentIdentity,
14039       { "equipmentIdentity", "qsig.cmn.equipmentIdentity",
14040         FT_NONE, BASE_NONE, NULL, 0,
14041         "qsig_cmn.EquipmentId", HFILL }},
14042     { &hf_qsig_cmn_partyCategory,
14043       { "partyCategory", "qsig.cmn.partyCategory",
14044         FT_UINT32, BASE_DEC, VALS(qsig_cmn_PartyCategory_vals), 0,
14045         "qsig_cmn.PartyCategory", HFILL }},
14046     { &hf_qsig_cmn_extension,
14047       { "extension", "qsig.cmn.extension",
14048         FT_UINT32, BASE_DEC, VALS(qsig_cmn_T_extension_vals), 0,
14049         "qsig_cmn.T_extension", HFILL }},
14050     { &hf_qsig_cmn_single,
14051       { "single", "qsig.cmn.single",
14052         FT_NONE, BASE_NONE, NULL, 0,
14053         "qsig.Extension", HFILL }},
14054     { &hf_qsig_cmn_multiple,
14055       { "multiple", "qsig.cmn.multiple",
14056         FT_UINT32, BASE_DEC, NULL, 0,
14057         "qsig_cmn.SEQUENCE_OF_Extension", HFILL }},
14058     { &hf_qsig_cmn_multiple_item,
14059       { "Extension", "qsig.cmn.Extension",
14060         FT_NONE, BASE_NONE, NULL, 0,
14061         "qsig.Extension", HFILL }},
14062     { &hf_qsig_cmn_null,
14063       { "null", "qsig.cmn.null",
14064         FT_NONE, BASE_NONE, NULL, 0,
14065         "qsig_cmn.NULL", HFILL }},
14066     { &hf_qsig_cmn_nodeId,
14067       { "nodeId", "qsig.cmn.nodeId",
14068         FT_STRING, BASE_NONE, NULL, 0,
14069         "qsig_cmn.IA5String_SIZE_1_10", HFILL }},
14070     { &hf_qsig_cmn_groupId,
14071       { "groupId", "qsig.cmn.groupId",
14072         FT_STRING, BASE_NONE, NULL, 0,
14073         "qsig_cmn.IA5String_SIZE_1_10", HFILL }},
14074     { &hf_qsig_cmn_unitId,
14075       { "unitId", "qsig.cmn.unitId",
14076         FT_STRING, BASE_NONE, NULL, 0,
14077         "qsig_cmn.IA5String_SIZE_1_10", HFILL }},
14078     { &hf_qsig_cmn_FeatureIdList_reserved,
14079       { "reserved", "qsig.cmn.reserved",
14080         FT_BOOLEAN, 8, NULL, 0x80,
14081         NULL, HFILL }},
14082     { &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported,
14083       { "ssCFreRoutingSupported", "qsig.cmn.ssCFreRoutingSupported",
14084         FT_BOOLEAN, 8, NULL, 0x40,
14085         NULL, HFILL }},
14086     { &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported,
14087       { "ssCTreRoutingSupported", "qsig.cmn.ssCTreRoutingSupported",
14088         FT_BOOLEAN, 8, NULL, 0x20,
14089         NULL, HFILL }},
14090     { &hf_qsig_cmn_FeatureIdList_ssCCBSpossible,
14091       { "ssCCBSpossible", "qsig.cmn.ssCCBSpossible",
14092         FT_BOOLEAN, 8, NULL, 0x10,
14093         NULL, HFILL }},
14094     { &hf_qsig_cmn_FeatureIdList_ssCCNRpossible,
14095       { "ssCCNRpossible", "qsig.cmn.ssCCNRpossible",
14096         FT_BOOLEAN, 8, NULL, 0x08,
14097         NULL, HFILL }},
14098     { &hf_qsig_cmn_FeatureIdList_ssCOsupported,
14099       { "ssCOsupported", "qsig.cmn.ssCOsupported",
14100         FT_BOOLEAN, 8, NULL, 0x04,
14101         NULL, HFILL }},
14102     { &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease,
14103       { "ssCIforcedRelease", "qsig.cmn.ssCIforcedRelease",
14104         FT_BOOLEAN, 8, NULL, 0x02,
14105         NULL, HFILL }},
14106     { &hf_qsig_cmn_FeatureIdList_ssCIisolation,
14107       { "ssCIisolation", "qsig.cmn.ssCIisolation",
14108         FT_BOOLEAN, 8, NULL, 0x01,
14109         NULL, HFILL }},
14110     { &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy,
14111       { "ssCIwaitOnBusy", "qsig.cmn.ssCIwaitOnBusy",
14112         FT_BOOLEAN, 8, NULL, 0x80,
14113         NULL, HFILL }},
14114     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx,
14115       { "ssAOCsupportChargeRateProvAtGatewPinx", "qsig.cmn.ssAOCsupportChargeRateProvAtGatewPinx",
14116         FT_BOOLEAN, 8, NULL, 0x40,
14117         NULL, HFILL }},
14118     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx,
14119       { "ssAOCsupportInterimChargeProvAtGatewPinx", "qsig.cmn.ssAOCsupportInterimChargeProvAtGatewPinx",
14120         FT_BOOLEAN, 8, NULL, 0x20,
14121         NULL, HFILL }},
14122     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx,
14123       { "ssAOCsupportFinalChargeProvAtGatewPinx", "qsig.cmn.ssAOCsupportFinalChargeProvAtGatewPinx",
14124         FT_BOOLEAN, 8, NULL, 0x10,
14125         NULL, HFILL }},
14126     { &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx,
14127       { "anfPRsupportedAtCooperatingPinx", "qsig.cmn.anfPRsupportedAtCooperatingPinx",
14128         FT_BOOLEAN, 8, NULL, 0x08,
14129         NULL, HFILL }},
14130     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate,
14131       { "anfCINTcanInterceptImmediate", "qsig.cmn.anfCINTcanInterceptImmediate",
14132         FT_BOOLEAN, 8, NULL, 0x04,
14133         NULL, HFILL }},
14134     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed,
14135       { "anfCINTcanInterceptDelayed", "qsig.cmn.anfCINTcanInterceptDelayed",
14136         FT_BOOLEAN, 8, NULL, 0x02,
14137         NULL, HFILL }},
14138     { &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported,
14139       { "anfWTMIreRoutingSupported", "qsig.cmn.anfWTMIreRoutingSupported",
14140         FT_BOOLEAN, 8, NULL, 0x01,
14141         NULL, HFILL }},
14142     { &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported,
14143       { "anfPUMIreRoutingSupported", "qsig.cmn.anfPUMIreRoutingSupported",
14144         FT_BOOLEAN, 8, NULL, 0x80,
14145         NULL, HFILL }},
14146     { &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported,
14147       { "ssSSCTreRoutingSupported", "qsig.cmn.ssSSCTreRoutingSupported",
14148         FT_BOOLEAN, 8, NULL, 0x40,
14149         NULL, HFILL }},
14150
14151 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
14152
14153     { &hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU,
14154       { "CPIRequestArg", "qsig.cpi.CPIRequestArg",
14155         FT_NONE, BASE_NONE, NULL, 0,
14156         "qsig_cpi.CPIRequestArg", HFILL }},
14157     { &hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU,
14158       { "CPIPRequestArg", "qsig.cpi.CPIPRequestArg",
14159         FT_NONE, BASE_NONE, NULL, 0,
14160         "qsig_cpi.CPIPRequestArg", HFILL }},
14161     { &hf_qsig_cpi_cpiCapabilityLevel,
14162       { "cpiCapabilityLevel", "qsig.cpi.cpiCapabilityLevel",
14163         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPICapabilityLevel_vals), 0,
14164         "qsig_cpi.CPICapabilityLevel", HFILL }},
14165     { &hf_qsig_cpi_argumentExtension,
14166       { "argumentExtension", "qsig.cpi.argumentExtension",
14167         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_vals), 0,
14168         "qsig_cpi.T_argumentExtension", HFILL }},
14169     { &hf_qsig_cpi_extension,
14170       { "extension", "qsig.cpi.extension",
14171         FT_NONE, BASE_NONE, NULL, 0,
14172         "qsig.Extension", HFILL }},
14173     { &hf_qsig_cpi_sequenceOfExtn,
14174       { "sequenceOfExtn", "qsig.cpi.sequenceOfExtn",
14175         FT_UINT32, BASE_DEC, NULL, 0,
14176         "qsig_cpi.SEQUENCE_OF_Extension", HFILL }},
14177     { &hf_qsig_cpi_sequenceOfExtn_item,
14178       { "Extension", "qsig.cpi.Extension",
14179         FT_NONE, BASE_NONE, NULL, 0,
14180         "qsig.Extension", HFILL }},
14181     { &hf_qsig_cpi_cpiProtectionLevel,
14182       { "cpiProtectionLevel", "qsig.cpi.cpiProtectionLevel",
14183         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPIProtectionLevel_vals), 0,
14184         "qsig_cpi.CPIProtectionLevel", HFILL }},
14185     { &hf_qsig_cpi_argumentExtension_01,
14186       { "argumentExtension", "qsig.cpi.argumentExtension",
14187         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_01_vals), 0,
14188         "qsig_cpi.T_argumentExtension_01", HFILL }},
14189
14190 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
14191
14192     { &hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU,
14193       { "PumRegistrArg", "qsig.pumr.PumRegistrArg",
14194         FT_NONE, BASE_NONE, NULL, 0,
14195         "qsig_pumr.PumRegistrArg", HFILL }},
14196     { &hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU,
14197       { "PumRegistrRes", "qsig.pumr.PumRegistrRes",
14198         FT_NONE, BASE_NONE, NULL, 0,
14199         "qsig_pumr.PumRegistrRes", HFILL }},
14200     { &hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU,
14201       { "PumDelRegArg", "qsig.pumr.PumDelRegArg",
14202         FT_NONE, BASE_NONE, NULL, 0,
14203         "qsig_pumr.PumDelRegArg", HFILL }},
14204     { &hf_qsig_pumr_qsig_pumr_DummyRes_PDU,
14205       { "DummyRes", "qsig.pumr.DummyRes",
14206         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DummyRes_vals), 0,
14207         "qsig_pumr.DummyRes", HFILL }},
14208     { &hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU,
14209       { "PumDe-regArg", "qsig.pumr.PumDe_regArg",
14210         FT_NONE, BASE_NONE, NULL, 0,
14211         "qsig_pumr.PumDe_regArg", HFILL }},
14212     { &hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU,
14213       { "PumInterrogArg", "qsig.pumr.PumInterrogArg",
14214         FT_NONE, BASE_NONE, NULL, 0,
14215         "qsig_pumr.PumInterrogArg", HFILL }},
14216     { &hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU,
14217       { "PumInterrogRes", "qsig.pumr.PumInterrogRes",
14218         FT_UINT32, BASE_DEC, NULL, 0,
14219         "qsig_pumr.PumInterrogRes", HFILL }},
14220     { &hf_qsig_pumr_qsig_pumr_Extension_PDU,
14221       { "Extension", "qsig.pumr.Extension",
14222         FT_NONE, BASE_NONE, NULL, 0,
14223         "qsig.Extension", HFILL }},
14224     { &hf_qsig_pumr_pumRUserId,
14225       { "pumUserId", "qsig.pumr.pumUserId",
14226         FT_UINT32, BASE_DEC, VALS(qsig_pumr_RpumUserId_vals), 0,
14227         "qsig_pumr.RpumUserId", HFILL }},
14228     { &hf_qsig_pumr_pumNumber,
14229       { "pumNumber", "qsig.pumr.pumNumber",
14230         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14231         "qsig.PartyNumber", HFILL }},
14232     { &hf_qsig_pumr_alternativeId,
14233       { "alternativeId", "qsig.pumr.alternativeId",
14234         FT_BYTES, BASE_NONE, NULL, 0,
14235         "qsig_pumr.AlternativeId", HFILL }},
14236     { &hf_qsig_pumr_basicService,
14237       { "basicService", "qsig.pumr.basicService",
14238         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14239         "qsig_cf.BasicService", HFILL }},
14240     { &hf_qsig_pumr_hostingAddr,
14241       { "hostingAddr", "qsig.pumr.hostingAddr",
14242         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14243         "qsig.PartyNumber", HFILL }},
14244     { &hf_qsig_pumr_activatingUserAddr,
14245       { "activatingUserAddr", "qsig.pumr.activatingUserAddr",
14246         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14247         "qsig.PartyNumber", HFILL }},
14248     { &hf_qsig_pumr_serviceOption,
14249       { "serviceOption", "qsig.pumr.serviceOption",
14250         FT_UINT32, BASE_DEC, VALS(qsig_pumr_ServiceOption_vals), 0,
14251         "qsig_pumr.ServiceOption", HFILL }},
14252     { &hf_qsig_pumr_sessionParams,
14253       { "sessionParams", "qsig.pumr.sessionParams",
14254         FT_NONE, BASE_NONE, NULL, 0,
14255         "qsig_pumr.SessionParams", HFILL }},
14256     { &hf_qsig_pumr_userPin,
14257       { "userPin", "qsig.pumr.userPin",
14258         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_vals), 0,
14259         "qsig_pumr.T_userPin", HFILL }},
14260     { &hf_qsig_pumr_pumUserPin,
14261       { "pumUserPin", "qsig.pumr.pumUserPin",
14262         FT_BYTES, BASE_NONE, NULL, 0,
14263         "qsig_pumr.UserPin", HFILL }},
14264     { &hf_qsig_pumr_activatingUserPin,
14265       { "activatingUserPin", "qsig.pumr.activatingUserPin",
14266         FT_BYTES, BASE_NONE, NULL, 0,
14267         "qsig_pumr.UserPin", HFILL }},
14268     { &hf_qsig_pumr_argExtension,
14269       { "argExtension", "qsig.pumr.argExtension",
14270         FT_UINT32, BASE_DEC, VALS(qsig_pumr_PumrExtension_vals), 0,
14271         "qsig_pumr.PumrExtension", HFILL }},
14272     { &hf_qsig_pumr_null,
14273       { "null", "qsig.pumr.null",
14274         FT_NONE, BASE_NONE, NULL, 0,
14275         "qsig_pumr.NULL", HFILL }},
14276     { &hf_qsig_pumr_extension,
14277       { "extension", "qsig.pumr.extension",
14278         FT_NONE, BASE_NONE, NULL, 0,
14279         "qsig.Extension", HFILL }},
14280     { &hf_qsig_pumr_sequOfExtn,
14281       { "sequOfExtn", "qsig.pumr.sequOfExtn",
14282         FT_UINT32, BASE_DEC, NULL, 0,
14283         "qsig_pumr.SEQUENCE_OF_Extension", HFILL }},
14284     { &hf_qsig_pumr_sequOfExtn_item,
14285       { "Extension", "qsig.pumr.Extension",
14286         FT_NONE, BASE_NONE, NULL, 0,
14287         "qsig.Extension", HFILL }},
14288     { &hf_qsig_pumr_pumXUserId,
14289       { "pumUserId", "qsig.pumr.pumUserId",
14290         FT_UINT32, BASE_DEC, VALS(qsig_pumr_XpumUserId_vals), 0,
14291         "qsig_pumr.XpumUserId", HFILL }},
14292     { &hf_qsig_pumr_pumDUserId,
14293       { "pumUserId", "qsig.pumr.pumUserId",
14294         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DpumUserId_vals), 0,
14295         "qsig_pumr.DpumUserId", HFILL }},
14296     { &hf_qsig_pumr_userPin_01,
14297       { "userPin", "qsig.pumr.userPin",
14298         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_01_vals), 0,
14299         "qsig_pumr.T_userPin_01", HFILL }},
14300     { &hf_qsig_pumr_pumIUserId,
14301       { "pumUserId", "qsig.pumr.pumUserId",
14302         FT_UINT32, BASE_DEC, VALS(qsig_pumr_IpumUserId_vals), 0,
14303         "qsig_pumr.IpumUserId", HFILL }},
14304     { &hf_qsig_pumr_homeInfoOnly,
14305       { "homeInfoOnly", "qsig.pumr.homeInfoOnly",
14306         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
14307         "qsig_pumr.BOOLEAN", HFILL }},
14308     { &hf_qsig_pumr_userPin_02,
14309       { "userPin", "qsig.pumr.userPin",
14310         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_02_vals), 0,
14311         "qsig_pumr.T_userPin_02", HFILL }},
14312     { &hf_qsig_pumr_PumInterrogRes_item,
14313       { "PumInterrogRes item", "qsig.pumr.PumInterrogRes_item",
14314         FT_NONE, BASE_NONE, NULL, 0,
14315         "qsig_pumr.PumInterrogRes_item", HFILL }},
14316     { &hf_qsig_pumr_interrogParams,
14317       { "interrogParams", "qsig.pumr.interrogParams",
14318         FT_NONE, BASE_NONE, NULL, 0,
14319         "qsig_pumr.SessionParams", HFILL }},
14320     { &hf_qsig_pumr_durationOfSession,
14321       { "durationOfSession", "qsig.pumr.durationOfSession",
14322         FT_INT32, BASE_DEC, NULL, 0,
14323         "qsig_pumr.INTEGER", HFILL }},
14324     { &hf_qsig_pumr_numberOfOutgCalls,
14325       { "numberOfOutgCalls", "qsig.pumr.numberOfOutgCalls",
14326         FT_INT32, BASE_DEC, NULL, 0,
14327         "qsig_pumr.INTEGER", HFILL }},
14328
14329 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
14330
14331     { &hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU,
14332       { "EnquiryArg", "qsig.pumch.EnquiryArg",
14333         FT_NONE, BASE_NONE, NULL, 0,
14334         "qsig_pumch.EnquiryArg", HFILL }},
14335     { &hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU,
14336       { "EnquiryRes", "qsig.pumch.EnquiryRes",
14337         FT_UINT32, BASE_DEC, VALS(qsig_pumch_EnquiryRes_vals), 0,
14338         "qsig_pumch.EnquiryRes", HFILL }},
14339     { &hf_qsig_pumch_qsig_pumch_DivertArg_PDU,
14340       { "DivertArg", "qsig.pumch.DivertArg",
14341         FT_NONE, BASE_NONE, NULL, 0,
14342         "qsig_pumch.DivertArg", HFILL }},
14343     { &hf_qsig_pumch_qsig_pumch_DummyRes_PDU,
14344       { "DummyRes", "qsig.pumch.DummyRes",
14345         FT_UINT32, BASE_DEC, VALS(qsig_pumch_DummyRes_vals), 0,
14346         "qsig_pumch.DummyRes", HFILL }},
14347     { &hf_qsig_pumch_qsig_pumch_InformArg_PDU,
14348       { "InformArg", "qsig.pumch.InformArg",
14349         FT_NONE, BASE_NONE, NULL, 0,
14350         "qsig_pumch.InformArg", HFILL }},
14351     { &hf_qsig_pumch_qsig_pumch_PumoArg_PDU,
14352       { "PumoArg", "qsig.pumch.PumoArg",
14353         FT_NONE, BASE_NONE, NULL, 0,
14354         "qsig_pumch.PumoArg", HFILL }},
14355     { &hf_qsig_pumch_qsig_pumch_Extension_PDU,
14356       { "Extension", "qsig.pumch.Extension",
14357         FT_NONE, BASE_NONE, NULL, 0,
14358         "qsig.Extension", HFILL }},
14359     { &hf_qsig_pumch_pisnNumber,
14360       { "pisnNumber", "qsig.pumch.pisnNumber",
14361         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14362         "qsig.PartyNumber", HFILL }},
14363     { &hf_qsig_pumch_qSIGInfoElement,
14364       { "qSIGInfoElement", "qsig.pumch.qSIGInfoElement",
14365         FT_BYTES, BASE_NONE, NULL, 0,
14366         "qsig.PSS1InformationElement", HFILL }},
14367     { &hf_qsig_pumch_argExtension,
14368       { "argExtension", "qsig.pumch.argExtension",
14369         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumiExtension_vals), 0,
14370         "qsig_pumch.PumiExtension", HFILL }},
14371     { &hf_qsig_pumch_hostingAddr,
14372       { "hostingAddr", "qsig.pumch.hostingAddr",
14373         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14374         "qsig.PartyNumber", HFILL }},
14375     { &hf_qsig_pumch_callingNumber,
14376       { "callingNumber", "qsig.pumch.callingNumber",
14377         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14378         "qsig.PresentedNumberScreened", HFILL }},
14379     { &hf_qsig_pumch_pumIdentity,
14380       { "pumIdentity", "qsig.pumch.pumIdentity",
14381         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumIdentity_vals), 0,
14382         "qsig_pumch.PumIdentity", HFILL }},
14383     { &hf_qsig_pumch_callingUserSub,
14384       { "callingUserSub", "qsig.pumch.callingUserSub",
14385         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14386         "qsig.PartySubaddress", HFILL }},
14387     { &hf_qsig_pumch_callingUserName,
14388       { "callingUserName", "qsig.pumch.callingUserName",
14389         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14390         "qsig_na.Name", HFILL }},
14391     { &hf_qsig_pumch_pumUserSub,
14392       { "pumUserSub", "qsig.pumch.pumUserSub",
14393         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14394         "qsig.PartySubaddress", HFILL }},
14395     { &hf_qsig_pumch_currLocation,
14396       { "currLocation", "qsig.pumch.currLocation",
14397         FT_NONE, BASE_NONE, NULL, 0,
14398         "qsig_pumch.CurrLocation", HFILL }},
14399     { &hf_qsig_pumch_cfuActivated,
14400       { "cfuActivated", "qsig.pumch.cfuActivated",
14401         FT_NONE, BASE_NONE, NULL, 0,
14402         "qsig_pumch.CfuActivated", HFILL }},
14403     { &hf_qsig_pumch_divToAddress,
14404       { "divToAddress", "qsig.pumch.divToAddress",
14405         FT_NONE, BASE_NONE, NULL, 0,
14406         "qsig.Address", HFILL }},
14407     { &hf_qsig_pumch_divOptions,
14408       { "divOptions", "qsig.pumch.divOptions",
14409         FT_UINT32, BASE_DEC, VALS(qsig_pumch_SubscriptionOption_vals), 0,
14410         "qsig_pumch.SubscriptionOption", HFILL }},
14411     { &hf_qsig_pumch_pumName,
14412       { "pumName", "qsig.pumch.pumName",
14413         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14414         "qsig_na.Name", HFILL }},
14415     { &hf_qsig_pumch_null,
14416       { "null", "qsig.pumch.null",
14417         FT_NONE, BASE_NONE, NULL, 0,
14418         "qsig_pumch.NULL", HFILL }},
14419     { &hf_qsig_pumch_extension,
14420       { "extension", "qsig.pumch.extension",
14421         FT_NONE, BASE_NONE, NULL, 0,
14422         "qsig.Extension", HFILL }},
14423     { &hf_qsig_pumch_sequOfExtn,
14424       { "sequOfExtn", "qsig.pumch.sequOfExtn",
14425         FT_UINT32, BASE_DEC, NULL, 0,
14426         "qsig_pumch.SEQUENCE_OF_Extension", HFILL }},
14427     { &hf_qsig_pumch_sequOfExtn_item,
14428       { "Extension", "qsig.pumch.Extension",
14429         FT_NONE, BASE_NONE, NULL, 0,
14430         "qsig.Extension", HFILL }},
14431     { &hf_qsig_pumch_alternativeId,
14432       { "alternativeId", "qsig.pumch.alternativeId",
14433         FT_BYTES, BASE_NONE, NULL, 0,
14434         "qsig_pumch.AlternativeId", HFILL }},
14435     { &hf_qsig_pumch_both,
14436       { "both", "qsig.pumch.both",
14437         FT_NONE, BASE_NONE, NULL, 0,
14438         "qsig_pumch.T_both", HFILL }},
14439     { &hf_qsig_pumch_destinationNumber,
14440       { "destinationNumber", "qsig.pumch.destinationNumber",
14441         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14442         "qsig.PartyNumber", HFILL }},
14443     { &hf_qsig_pumch_sendingComplete,
14444       { "sendingComplete", "qsig.pumch.sendingComplete",
14445         FT_NONE, BASE_NONE, NULL, 0,
14446         "qsig_pumch.NULL", HFILL }},
14447     { &hf_qsig_pumch_pumoaextension,
14448       { "extension", "qsig.pumch.extension",
14449         FT_UINT32, BASE_DEC, VALS(qsig_pumch_T_pumoaextension_vals), 0,
14450         "qsig_pumch.T_pumoaextension", HFILL }},
14451     { &hf_qsig_pumch_single,
14452       { "single", "qsig.pumch.single",
14453         FT_NONE, BASE_NONE, NULL, 0,
14454         "qsig.Extension", HFILL }},
14455     { &hf_qsig_pumch_multiple,
14456       { "multiple", "qsig.pumch.multiple",
14457         FT_UINT32, BASE_DEC, NULL, 0,
14458         "qsig_pumch.SEQUENCE_OF_Extension", HFILL }},
14459     { &hf_qsig_pumch_multiple_item,
14460       { "Extension", "qsig.pumch.Extension",
14461         FT_NONE, BASE_NONE, NULL, 0,
14462         "qsig.Extension", HFILL }},
14463
14464 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
14465
14466     { &hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU,
14467       { "SSCTInitiateArg", "qsig.ssct.SSCTInitiateArg",
14468         FT_NONE, BASE_NONE, NULL, 0,
14469         "qsig_ssct.SSCTInitiateArg", HFILL }},
14470     { &hf_qsig_ssct_qsig_ssct_DummyRes_PDU,
14471       { "DummyRes", "qsig.ssct.DummyRes",
14472         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyRes_vals), 0,
14473         "qsig_ssct.DummyRes", HFILL }},
14474     { &hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU,
14475       { "SSCTSetupArg", "qsig.ssct.SSCTSetupArg",
14476         FT_NONE, BASE_NONE, NULL, 0,
14477         "qsig_ssct.SSCTSetupArg", HFILL }},
14478     { &hf_qsig_ssct_qsig_ssct_DummyArg_PDU,
14479       { "DummyArg", "qsig.ssct.DummyArg",
14480         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyArg_vals), 0,
14481         "qsig_ssct.DummyArg", HFILL }},
14482     { &hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU,
14483       { "SSCTDigitInfoArg", "qsig.ssct.SSCTDigitInfoArg",
14484         FT_NONE, BASE_NONE, NULL, 0,
14485         "qsig_ssct.SSCTDigitInfoArg", HFILL }},
14486     { &hf_qsig_ssct_qsig_ssct_Extension_PDU,
14487       { "Extension", "qsig.ssct.Extension",
14488         FT_NONE, BASE_NONE, NULL, 0,
14489         "qsig.Extension", HFILL }},
14490     { &hf_qsig_ssct_null,
14491       { "null", "qsig.ssct.null",
14492         FT_NONE, BASE_NONE, NULL, 0,
14493         "qsig_ssct.NULL", HFILL }},
14494     { &hf_qsig_ssct_single,
14495       { "single", "qsig.ssct.single",
14496         FT_NONE, BASE_NONE, NULL, 0,
14497         "qsig.Extension", HFILL }},
14498     { &hf_qsig_ssct_multiple,
14499       { "multiple", "qsig.ssct.multiple",
14500         FT_UINT32, BASE_DEC, NULL, 0,
14501         "qsig_ssct.SEQUENCE_OF_Extension", HFILL }},
14502     { &hf_qsig_ssct_multiple_item,
14503       { "Extension", "qsig.ssct.Extension",
14504         FT_NONE, BASE_NONE, NULL, 0,
14505         "qsig.Extension", HFILL }},
14506     { &hf_qsig_ssct_rerouteingNumber,
14507       { "rerouteingNumber", "qsig.ssct.rerouteingNumber",
14508         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14509         "qsig.PartyNumber", HFILL }},
14510     { &hf_qsig_ssct_transferredAddress,
14511       { "transferredAddress", "qsig.ssct.transferredAddress",
14512         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14513         "qsig.PresentedAddressScreened", HFILL }},
14514     { &hf_qsig_ssct_awaitConnect,
14515       { "awaitConnect", "qsig.ssct.awaitConnect",
14516         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
14517         "qsig_ssct.AwaitConnect", HFILL }},
14518     { &hf_qsig_ssct_transferredName,
14519       { "transferredName", "qsig.ssct.transferredName",
14520         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14521         "qsig_na.Name", HFILL }},
14522     { &hf_qsig_ssct_transferringAddress,
14523       { "transferringAddress", "qsig.ssct.transferringAddress",
14524         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14525         "qsig.PresentedAddressScreened", HFILL }},
14526     { &hf_qsig_ssct_transferringName,
14527       { "transferringName", "qsig.ssct.transferringName",
14528         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14529         "qsig_na.Name", HFILL }},
14530     { &hf_qsig_ssct_argumentExtensionSSCTI,
14531       { "argumentExtension", "qsig.ssct.argumentExtension",
14532         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTIargumentExtension_vals), 0,
14533         "qsig_ssct.SSCTIargumentExtension", HFILL }},
14534     { &hf_qsig_ssct_argumentExtensionSSCTS,
14535       { "argumentExtension", "qsig.ssct.argumentExtension",
14536         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTSargumentExtension_vals), 0,
14537         "qsig_ssct.SSCTSargumentExtension", HFILL }},
14538     { &hf_qsig_ssct_reroutingNumber,
14539       { "reroutingNumber", "qsig.ssct.reroutingNumber",
14540         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14541         "qsig.PartyNumber", HFILL }},
14542     { &hf_qsig_ssct_sendingComplete,
14543       { "sendingComplete", "qsig.ssct.sendingComplete",
14544         FT_NONE, BASE_NONE, NULL, 0,
14545         "qsig_ssct.NULL", HFILL }},
14546     { &hf_qsig_ssct_argumentExtensionSSCTD,
14547       { "argumentExtension", "qsig.ssct.argumentExtension",
14548         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTDargumentExtension_vals), 0,
14549         "qsig_ssct.SSCTDargumentExtension", HFILL }},
14550
14551 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
14552
14553     { &hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU,
14554       { "LocUpdArg", "qsig.wtmlr.LocUpdArg",
14555         FT_NONE, BASE_NONE, NULL, 0,
14556         "qsig_wtmlr.LocUpdArg", HFILL }},
14557     { &hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU,
14558       { "DummyRes", "qsig.wtmlr.DummyRes",
14559         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_DummyRes_vals), 0,
14560         "qsig_wtmlr.DummyRes", HFILL }},
14561     { &hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU,
14562       { "LocDelArg", "qsig.wtmlr.LocDelArg",
14563         FT_NONE, BASE_NONE, NULL, 0,
14564         "qsig_wtmlr.LocDelArg", HFILL }},
14565     { &hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU,
14566       { "LocDeRegArg", "qsig.wtmlr.LocDeRegArg",
14567         FT_NONE, BASE_NONE, NULL, 0,
14568         "qsig_wtmlr.LocDeRegArg", HFILL }},
14569     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU,
14570       { "PisnEnqArg", "qsig.wtmlr.PisnEnqArg",
14571         FT_NONE, BASE_NONE, NULL, 0,
14572         "qsig_wtmlr.PisnEnqArg", HFILL }},
14573     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU,
14574       { "PisnEnqRes", "qsig.wtmlr.PisnEnqRes",
14575         FT_NONE, BASE_NONE, NULL, 0,
14576         "qsig_wtmlr.PisnEnqRes", HFILL }},
14577     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU,
14578       { "GetRRCInfArg", "qsig.wtmlr.GetRRCInfArg",
14579         FT_NONE, BASE_NONE, NULL, 0,
14580         "qsig_wtmlr.GetRRCInfArg", HFILL }},
14581     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU,
14582       { "GetRRCInfRes", "qsig.wtmlr.GetRRCInfRes",
14583         FT_NONE, BASE_NONE, NULL, 0,
14584         "qsig_wtmlr.GetRRCInfRes", HFILL }},
14585     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU,
14586       { "LocInfoCheckArg", "qsig.wtmlr.LocInfoCheckArg",
14587         FT_NONE, BASE_NONE, NULL, 0,
14588         "qsig_wtmlr.LocInfoCheckArg", HFILL }},
14589     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU,
14590       { "LocInfoCheckRes", "qsig.wtmlr.LocInfoCheckRes",
14591         FT_NONE, BASE_NONE, NULL, 0,
14592         "qsig_wtmlr.LocInfoCheckRes", HFILL }},
14593     { &hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU,
14594       { "Extension", "qsig.wtmlr.Extension",
14595         FT_NONE, BASE_NONE, NULL, 0,
14596         "qsig.Extension", HFILL }},
14597     { &hf_qsig_wtmlr_wtmUserId,
14598       { "wtmUserId", "qsig.wtmlr.wtmUserId",
14599         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_WtmUserId_vals), 0,
14600         "qsig_wtmlr.WtmUserId", HFILL }},
14601     { &hf_qsig_wtmlr_basicService,
14602       { "basicService", "qsig.wtmlr.basicService",
14603         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14604         "qsig_cf.BasicService", HFILL }},
14605     { &hf_qsig_wtmlr_visitPINX,
14606       { "visitPINX", "qsig.wtmlr.visitPINX",
14607         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14608         "qsig.PartyNumber", HFILL }},
14609     { &hf_qsig_wtmlr_argExtension,
14610       { "argExtension", "qsig.wtmlr.argExtension",
14611         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14612         "qsig_wtmlr.LrExtension", HFILL }},
14613     { &hf_qsig_wtmlr_null,
14614       { "null", "qsig.wtmlr.null",
14615         FT_NONE, BASE_NONE, NULL, 0,
14616         "qsig_wtmlr.NULL", HFILL }},
14617     { &hf_qsig_wtmlr_extension,
14618       { "extension", "qsig.wtmlr.extension",
14619         FT_NONE, BASE_NONE, NULL, 0,
14620         "qsig.Extension", HFILL }},
14621     { &hf_qsig_wtmlr_sequOfExtn,
14622       { "sequOfExtn", "qsig.wtmlr.sequOfExtn",
14623         FT_UINT32, BASE_DEC, NULL, 0,
14624         "qsig_wtmlr.SEQUENCE_OF_Extension", HFILL }},
14625     { &hf_qsig_wtmlr_sequOfExtn_item,
14626       { "Extension", "qsig.wtmlr.Extension",
14627         FT_NONE, BASE_NONE, NULL, 0,
14628         "qsig.Extension", HFILL }},
14629     { &hf_qsig_wtmlr_alternativeId,
14630       { "alternativeId", "qsig.wtmlr.alternativeId",
14631         FT_BYTES, BASE_NONE, NULL, 0,
14632         "qsig_wtmlr.AlternativeId", HFILL }},
14633     { &hf_qsig_wtmlr_resExtension,
14634       { "resExtension", "qsig.wtmlr.resExtension",
14635         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14636         "qsig_wtmlr.LrExtension", HFILL }},
14637     { &hf_qsig_wtmlr_rrClass,
14638       { "rrClass", "qsig.wtmlr.rrClass",
14639         FT_UINT32, BASE_DEC, NULL, 0,
14640         "qsig_wtmlr.RRClass", HFILL }},
14641     { &hf_qsig_wtmlr_checkResult,
14642       { "checkResult", "qsig.wtmlr.checkResult",
14643         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_CheckResult_vals), 0,
14644         "qsig_wtmlr.CheckResult", HFILL }},
14645     { &hf_qsig_wtmlr_pisnNumber,
14646       { "pisnNumber", "qsig.wtmlr.pisnNumber",
14647         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14648         "qsig.PartyNumber", HFILL }},
14649
14650 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
14651
14652     { &hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU,
14653       { "EnquiryArg", "qsig.wtmch.EnquiryArg",
14654         FT_NONE, BASE_NONE, NULL, 0,
14655         "qsig_wtmch.EnquiryArg", HFILL }},
14656     { &hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU,
14657       { "EnquiryRes", "qsig.wtmch.EnquiryRes",
14658         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_EnquiryRes_vals), 0,
14659         "qsig_wtmch.EnquiryRes", HFILL }},
14660     { &hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU,
14661       { "DivertArg", "qsig.wtmch.DivertArg",
14662         FT_NONE, BASE_NONE, NULL, 0,
14663         "qsig_wtmch.DivertArg", HFILL }},
14664     { &hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU,
14665       { "DummyRes", "qsig.wtmch.DummyRes",
14666         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_DummyRes_vals), 0,
14667         "qsig_wtmch.DummyRes", HFILL }},
14668     { &hf_qsig_wtmch_qsig_wtmch_InformArg_PDU,
14669       { "InformArg", "qsig.wtmch.InformArg",
14670         FT_NONE, BASE_NONE, NULL, 0,
14671         "qsig_wtmch.InformArg", HFILL }},
14672     { &hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU,
14673       { "WtmoArg", "qsig.wtmch.WtmoArg",
14674         FT_NONE, BASE_NONE, NULL, 0,
14675         "qsig_wtmch.WtmoArg", HFILL }},
14676     { &hf_qsig_wtmch_qsig_wtmch_Extension_PDU,
14677       { "Extension", "qsig.wtmch.Extension",
14678         FT_NONE, BASE_NONE, NULL, 0,
14679         "qsig.Extension", HFILL }},
14680     { &hf_qsig_wtmch_pisnNumber,
14681       { "pisnNumber", "qsig.wtmch.pisnNumber",
14682         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14683         "qsig.PartyNumber", HFILL }},
14684     { &hf_qsig_wtmch_qSIGInfoElement,
14685       { "qSIGInfoElement", "qsig.wtmch.qSIGInfoElement",
14686         FT_BYTES, BASE_NONE, NULL, 0,
14687         "qsig.PSS1InformationElement", HFILL }},
14688     { &hf_qsig_wtmch_argExtension,
14689       { "argExtension", "qsig.wtmch.argExtension",
14690         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmiExtension_vals), 0,
14691         "qsig_wtmch.WtmiExtension", HFILL }},
14692     { &hf_qsig_wtmch_visitPINX,
14693       { "visitPINX", "qsig.wtmch.visitPINX",
14694         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14695         "qsig.PartyNumber", HFILL }},
14696     { &hf_qsig_wtmch_callingNumber,
14697       { "callingNumber", "qsig.wtmch.callingNumber",
14698         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14699         "qsig.PresentedNumberScreened", HFILL }},
14700     { &hf_qsig_wtmch_wtmIdentity,
14701       { "wtmIdentity", "qsig.wtmch.wtmIdentity",
14702         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmIdentity_vals), 0,
14703         "qsig_wtmch.WtmIdentity", HFILL }},
14704     { &hf_qsig_wtmch_callingUserSub,
14705       { "callingUserSub", "qsig.wtmch.callingUserSub",
14706         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14707         "qsig.PartySubaddress", HFILL }},
14708     { &hf_qsig_wtmch_callingName,
14709       { "callingName", "qsig.wtmch.callingName",
14710         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14711         "qsig_na.Name", HFILL }},
14712     { &hf_qsig_wtmch_wtmUserSub,
14713       { "wtmUserSub", "qsig.wtmch.wtmUserSub",
14714         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14715         "qsig.PartySubaddress", HFILL }},
14716     { &hf_qsig_wtmch_currLocation,
14717       { "currLocation", "qsig.wtmch.currLocation",
14718         FT_NONE, BASE_NONE, NULL, 0,
14719         "qsig_wtmch.CurrLocation", HFILL }},
14720     { &hf_qsig_wtmch_cfuActivated,
14721       { "cfuActivated", "qsig.wtmch.cfuActivated",
14722         FT_NONE, BASE_NONE, NULL, 0,
14723         "qsig_wtmch.CfuActivated", HFILL }},
14724     { &hf_qsig_wtmch_divToAddress,
14725       { "divToAddress", "qsig.wtmch.divToAddress",
14726         FT_NONE, BASE_NONE, NULL, 0,
14727         "qsig.Address", HFILL }},
14728     { &hf_qsig_wtmch_divOptions,
14729       { "divOptions", "qsig.wtmch.divOptions",
14730         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_SubscriptionOption_vals), 0,
14731         "qsig_wtmch.SubscriptionOption", HFILL }},
14732     { &hf_qsig_wtmch_wtmName,
14733       { "wtmName", "qsig.wtmch.wtmName",
14734         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14735         "qsig_na.Name", HFILL }},
14736     { &hf_qsig_wtmch_null,
14737       { "null", "qsig.wtmch.null",
14738         FT_NONE, BASE_NONE, NULL, 0,
14739         "qsig_wtmch.NULL", HFILL }},
14740     { &hf_qsig_wtmch_extension,
14741       { "extension", "qsig.wtmch.extension",
14742         FT_NONE, BASE_NONE, NULL, 0,
14743         "qsig.Extension", HFILL }},
14744     { &hf_qsig_wtmch_sequOfExtn,
14745       { "sequOfExtn", "qsig.wtmch.sequOfExtn",
14746         FT_UINT32, BASE_DEC, NULL, 0,
14747         "qsig_wtmch.SEQUENCE_OF_Extension", HFILL }},
14748     { &hf_qsig_wtmch_sequOfExtn_item,
14749       { "Extension", "qsig.wtmch.Extension",
14750         FT_NONE, BASE_NONE, NULL, 0,
14751         "qsig.Extension", HFILL }},
14752     { &hf_qsig_wtmch_alternativeId,
14753       { "alternativeId", "qsig.wtmch.alternativeId",
14754         FT_BYTES, BASE_NONE, NULL, 0,
14755         "qsig_wtmch.AlternativeId", HFILL }},
14756     { &hf_qsig_wtmch_both,
14757       { "both", "qsig.wtmch.both",
14758         FT_NONE, BASE_NONE, NULL, 0,
14759         "qsig_wtmch.T_both", HFILL }},
14760     { &hf_qsig_wtmch_destinationNumber,
14761       { "destinationNumber", "qsig.wtmch.destinationNumber",
14762         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14763         "qsig.PartyNumber", HFILL }},
14764     { &hf_qsig_wtmch_sendingComplete,
14765       { "sendingComplete", "qsig.wtmch.sendingComplete",
14766         FT_NONE, BASE_NONE, NULL, 0,
14767         "qsig_wtmch.NULL", HFILL }},
14768     { &hf_qsig_wtmch_wtmoaextension,
14769       { "extension", "qsig.wtmch.extension",
14770         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_T_wtmoaextension_vals), 0,
14771         "qsig_wtmch.T_wtmoaextension", HFILL }},
14772     { &hf_qsig_wtmch_single,
14773       { "single", "qsig.wtmch.single",
14774         FT_NONE, BASE_NONE, NULL, 0,
14775         "qsig.Extension", HFILL }},
14776     { &hf_qsig_wtmch_multiple,
14777       { "multiple", "qsig.wtmch.multiple",
14778         FT_UINT32, BASE_DEC, NULL, 0,
14779         "qsig_wtmch.SEQUENCE_OF_Extension", HFILL }},
14780     { &hf_qsig_wtmch_multiple_item,
14781       { "Extension", "qsig.wtmch.Extension",
14782         FT_NONE, BASE_NONE, NULL, 0,
14783         "qsig.Extension", HFILL }},
14784
14785 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
14786
14787     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU,
14788       { "AuthWtmArg", "qsig.wtmau.AuthWtmArg",
14789         FT_NONE, BASE_NONE, NULL, 0,
14790         "qsig_wtmau.AuthWtmArg", HFILL }},
14791     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU,
14792       { "AuthWtmRes", "qsig.wtmau.AuthWtmRes",
14793         FT_NONE, BASE_NONE, NULL, 0,
14794         "qsig_wtmau.AuthWtmRes", HFILL }},
14795     { &hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU,
14796       { "WtatParamArg", "qsig.wtmau.WtatParamArg",
14797         FT_NONE, BASE_NONE, NULL, 0,
14798         "qsig_wtmau.WtatParamArg", HFILL }},
14799     { &hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU,
14800       { "WtatParamRes", "qsig.wtmau.WtatParamRes",
14801         FT_NONE, BASE_NONE, NULL, 0,
14802         "qsig_wtmau.WtatParamRes", HFILL }},
14803     { &hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU,
14804       { "WtanParamArg", "qsig.wtmau.WtanParamArg",
14805         FT_NONE, BASE_NONE, NULL, 0,
14806         "qsig_wtmau.WtanParamArg", HFILL }},
14807     { &hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU,
14808       { "WtanParamRes", "qsig.wtmau.WtanParamRes",
14809         FT_NONE, BASE_NONE, NULL, 0,
14810         "qsig_wtmau.WtanParamRes", HFILL }},
14811     { &hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU,
14812       { "ARG-transferAuthParam", "qsig.wtmau.ARG_transferAuthParam",
14813         FT_NONE, BASE_NONE, NULL, 0,
14814         "qsig_wtmau.ARG_transferAuthParam", HFILL }},
14815     { &hf_qsig_wtmau_qsig_wtmau_Extension_PDU,
14816       { "Extension", "qsig.wtmau.Extension",
14817         FT_NONE, BASE_NONE, NULL, 0,
14818         "qsig.Extension", HFILL }},
14819     { &hf_qsig_wtmau_wtmUserId,
14820       { "wtmUserId", "qsig.wtmau.wtmUserId",
14821         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtmUserId_vals), 0,
14822         "qsig_wtmau.WtmUserId", HFILL }},
14823     { &hf_qsig_wtmau_calcWtatInfo,
14824       { "calcWtatInfo", "qsig.wtmau.calcWtatInfo",
14825         FT_UINT32, BASE_DEC, NULL, 0,
14826         "qsig_wtmau.CalcWtatInfo", HFILL }},
14827     { &hf_qsig_wtmau_dummyExtension,
14828       { "dummyExtension", "qsig.wtmau.dummyExtension",
14829         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DummyExtension_vals), 0,
14830         "qsig_wtmau.DummyExtension", HFILL }},
14831     { &hf_qsig_wtmau_autWtmResValue,
14832       { "autWtmResValue", "qsig.wtmau.autWtmResValue",
14833         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_autWtmResValue_vals), 0,
14834         "qsig_wtmau.T_autWtmResValue", HFILL }},
14835     { &hf_qsig_wtmau_canCompute,
14836       { "canCompute", "qsig.wtmau.canCompute",
14837         FT_NONE, BASE_NONE, NULL, 0,
14838         "qsig_wtmau.CanCompute", HFILL }},
14839     { &hf_qsig_wtmau_authChallenge,
14840       { "authChallenge", "qsig.wtmau.authChallenge",
14841         FT_BYTES, BASE_NONE, NULL, 0,
14842         "qsig_wtmau.AuthChallenge", HFILL }},
14843     { &hf_qsig_wtmau_wtatParamInfo,
14844       { "wtatParamInfo", "qsig.wtmau.wtatParamInfo",
14845         FT_NONE, BASE_NONE, NULL, 0,
14846         "qsig_wtmau.WtatParamInfo", HFILL }},
14847     { &hf_qsig_wtmau_authAlgorithm,
14848       { "authAlgorithm", "qsig.wtmau.authAlgorithm",
14849         FT_NONE, BASE_NONE, NULL, 0,
14850         "qsig_wtmau.AuthAlgorithm", HFILL }},
14851     { &hf_qsig_wtmau_pisnNumber,
14852       { "pisnNumber", "qsig.wtmau.pisnNumber",
14853         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14854         "qsig.PartyNumber", HFILL }},
14855     { &hf_qsig_wtmau_alternativeId,
14856       { "alternativeId", "qsig.wtmau.alternativeId",
14857         FT_BYTES, BASE_NONE, NULL, 0,
14858         "qsig_wtmau.AlternativeId", HFILL }},
14859     { &hf_qsig_wtmau_wtanParamInfo,
14860       { "wtanParamInfo", "qsig.wtmau.wtanParamInfo",
14861         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtanParamInfo_vals), 0,
14862         "qsig_wtmau.WtanParamInfo", HFILL }},
14863     { &hf_qsig_wtmau_wtatParamInfoChoice,
14864       { "wtatParamInfoChoice", "qsig.wtmau.wtatParamInfoChoice",
14865         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_wtatParamInfoChoice_vals), 0,
14866         "qsig_wtmau.T_wtatParamInfoChoice", HFILL }},
14867     { &hf_qsig_wtmau_authSessionKeyInfo,
14868       { "authSessionKeyInfo", "qsig.wtmau.authSessionKeyInfo",
14869         FT_NONE, BASE_NONE, NULL, 0,
14870         "qsig_wtmau.AuthSessionKeyInfo", HFILL }},
14871     { &hf_qsig_wtmau_authKey,
14872       { "authKey", "qsig.wtmau.authKey",
14873         FT_BYTES, BASE_NONE, NULL, 0,
14874         "qsig_wtmau.AuthKey", HFILL }},
14875     { &hf_qsig_wtmau_challLen,
14876       { "challLen", "qsig.wtmau.challLen",
14877         FT_UINT32, BASE_DEC, NULL, 0,
14878         "qsig_wtmau.INTEGER_1_8", HFILL }},
14879     { &hf_qsig_wtmau_calcWtanInfo,
14880       { "calcWtanInfo", "qsig.wtmau.calcWtanInfo",
14881         FT_NONE, BASE_NONE, NULL, 0,
14882         "qsig_wtmau.CalcWtanInfo", HFILL }},
14883     { &hf_qsig_wtmau_authSessionKey,
14884       { "authSessionKey", "qsig.wtmau.authSessionKey",
14885         FT_BYTES, BASE_NONE, NULL, 0,
14886         "qsig_wtmau.AuthSessionKey", HFILL }},
14887     { &hf_qsig_wtmau_calculationParam,
14888       { "calculationParam", "qsig.wtmau.calculationParam",
14889         FT_BYTES, BASE_NONE, NULL, 0,
14890         "qsig_wtmau.CalculationParam", HFILL }},
14891     { &hf_qsig_wtmau_CalcWtatInfo_item,
14892       { "CalcWtatInfoUnit", "qsig.wtmau.CalcWtatInfoUnit",
14893         FT_NONE, BASE_NONE, NULL, 0,
14894         "qsig_wtmau.CalcWtatInfoUnit", HFILL }},
14895     { &hf_qsig_wtmau_authResponse,
14896       { "authResponse", "qsig.wtmau.authResponse",
14897         FT_BYTES, BASE_NONE, NULL, 0,
14898         "qsig_wtmau.AuthResponse", HFILL }},
14899     { &hf_qsig_wtmau_derivedCipherKey,
14900       { "derivedCipherKey", "qsig.wtmau.derivedCipherKey",
14901         FT_BYTES, BASE_NONE, NULL, 0,
14902         "qsig_wtmau.DerivedCipherKey", HFILL }},
14903     { &hf_qsig_wtmau_extension,
14904       { "extension", "qsig.wtmau.extension",
14905         FT_NONE, BASE_NONE, NULL, 0,
14906         "qsig.Extension", HFILL }},
14907     { &hf_qsig_wtmau_sequOfExtn,
14908       { "sequOfExtn", "qsig.wtmau.sequOfExtn",
14909         FT_UINT32, BASE_DEC, NULL, 0,
14910         "qsig_wtmau.SEQUENCE_OF_Extension", HFILL }},
14911     { &hf_qsig_wtmau_sequOfExtn_item,
14912       { "Extension", "qsig.wtmau.Extension",
14913         FT_NONE, BASE_NONE, NULL, 0,
14914         "qsig.Extension", HFILL }},
14915     { &hf_qsig_wtmau_authAlg,
14916       { "authAlg", "qsig.wtmau.authAlg",
14917         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DefinedIDs_vals), 0,
14918         "qsig_wtmau.DefinedIDs", HFILL }},
14919     { &hf_qsig_wtmau_param,
14920       { "param", "qsig.wtmau.param",
14921         FT_NONE, BASE_NONE, NULL, 0,
14922         "qsig_wtmau.T_param", HFILL }},
14923
14924 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
14925
14926     { &hf_qsig_sd_qsig_sd_DisplayArg_PDU,
14927       { "DisplayArg", "qsig.sd.DisplayArg",
14928         FT_NONE, BASE_NONE, NULL, 0,
14929         "qsig_sd.DisplayArg", HFILL }},
14930     { &hf_qsig_sd_qsig_sd_KeypadArg_PDU,
14931       { "KeypadArg", "qsig.sd.KeypadArg",
14932         FT_NONE, BASE_NONE, NULL, 0,
14933         "qsig_sd.KeypadArg", HFILL }},
14934     { &hf_qsig_sd_qsig_sd_Extension_PDU,
14935       { "Extension", "qsig.sd.Extension",
14936         FT_NONE, BASE_NONE, NULL, 0,
14937         "qsig.Extension", HFILL }},
14938     { &hf_qsig_sd_displayString,
14939       { "displayString", "qsig.sd.displayString",
14940         FT_UINT32, BASE_DEC, VALS(qsig_sd_DisplayString_vals), 0,
14941         "qsig_sd.DisplayString", HFILL }},
14942     { &hf_qsig_sd_sdextension,
14943       { "extension", "qsig.sd.extension",
14944         FT_UINT32, BASE_DEC, VALS(qsig_sd_SDExtension_vals), 0,
14945         "qsig_sd.SDExtension", HFILL }},
14946     { &hf_qsig_sd_displayStringNormal,
14947       { "displayStringNormal", "qsig.sd.displayStringNormal",
14948         FT_BYTES, BASE_NONE, NULL, 0,
14949         "qsig_sd.BMPStringNormal", HFILL }},
14950     { &hf_qsig_sd_displayStringExtended,
14951       { "displayStringExtended", "qsig.sd.displayStringExtended",
14952         FT_BYTES, BASE_NONE, NULL, 0,
14953         "qsig_sd.BMPStringExtended", HFILL }},
14954     { &hf_qsig_sd_keypadString,
14955       { "keypadString", "qsig.sd.keypadString",
14956         FT_BYTES, BASE_NONE, NULL, 0,
14957         "qsig_sd.BMPStringNormal", HFILL }},
14958     { &hf_qsig_sd_extension,
14959       { "extension", "qsig.sd.extension",
14960         FT_NONE, BASE_NONE, NULL, 0,
14961         "qsig.Extension", HFILL }},
14962     { &hf_qsig_sd_multipleExtension,
14963       { "multipleExtension", "qsig.sd.multipleExtension",
14964         FT_UINT32, BASE_DEC, NULL, 0,
14965         "qsig_sd.SEQUENCE_OF_Extension", HFILL }},
14966     { &hf_qsig_sd_multipleExtension_item,
14967       { "Extension", "qsig.sd.Extension",
14968         FT_NONE, BASE_NONE, NULL, 0,
14969         "qsig.Extension", HFILL }},
14970
14971 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
14972
14973     { &hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU,
14974       { "CallIdentificationAssignArg", "qsig.cidl.CallIdentificationAssignArg",
14975         FT_NONE, BASE_NONE, NULL, 0,
14976         "qsig_cidl.CallIdentificationAssignArg", HFILL }},
14977     { &hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU,
14978       { "CallIdentificationUpdateArg", "qsig.cidl.CallIdentificationUpdateArg",
14979         FT_NONE, BASE_NONE, NULL, 0,
14980         "qsig_cidl.CallIdentificationUpdateArg", HFILL }},
14981     { &hf_qsig_cidl_globalCallID,
14982       { "globalCallID", "qsig.cidl.globalCallID",
14983         FT_NONE, BASE_NONE, NULL, 0,
14984         "qsig_cidl.CallIdentificationData", HFILL }},
14985     { &hf_qsig_cidl_threadID,
14986       { "threadID", "qsig.cidl.threadID",
14987         FT_NONE, BASE_NONE, NULL, 0,
14988         "qsig_cidl.CallIdentificationData", HFILL }},
14989     { &hf_qsig_cidl_legID,
14990       { "legID", "qsig.cidl.legID",
14991         FT_NONE, BASE_NONE, NULL, 0,
14992         "qsig_cidl.CallIdentificationData", HFILL }},
14993     { &hf_qsig_cidl_extensiont,
14994       { "extension", "qsig.cidl.extension",
14995         FT_UINT32, BASE_DEC, VALS(qsig_cidl_ExtensionType_vals), 0,
14996         "qsig_cidl.ExtensionType", HFILL }},
14997     { &hf_qsig_cidl_switchingSubDomainName,
14998       { "switchingSubDomainName", "qsig.cidl.switchingSubDomainName",
14999         FT_STRING, BASE_NONE, NULL, 0,
15000         "qsig_cidl.SwitchingSubDomainName", HFILL }},
15001     { &hf_qsig_cidl_linkageID,
15002       { "linkageID", "qsig.cidl.linkageID",
15003         FT_UINT32, BASE_DEC, VALS(qsig_cidl_T_linkageID_vals), 0,
15004         "qsig_cidl.T_linkageID", HFILL }},
15005     { &hf_qsig_cidl_subDomainID,
15006       { "subDomainID", "qsig.cidl.subDomainID",
15007         FT_BYTES, BASE_NONE, NULL, 0,
15008         "qsig_cidl.SubDomainID", HFILL }},
15009     { &hf_qsig_cidl_globallyUniqueID,
15010       { "globallyUniqueID", "qsig.cidl.globallyUniqueID",
15011         FT_BYTES, BASE_NONE, NULL, 0,
15012         "qsig_cidl.GloballyUniqueID", HFILL }},
15013     { &hf_qsig_cidl_timeStamp,
15014       { "timeStamp", "qsig.cidl.timeStamp",
15015         FT_STRING, BASE_NONE, NULL, 0,
15016         "qsig_cidl.TimeStamp", HFILL }},
15017     { &hf_qsig_cidl_extension,
15018       { "extension", "qsig.cidl.extension",
15019         FT_NONE, BASE_NONE, NULL, 0,
15020         "qsig.Extension", HFILL }},
15021     { &hf_qsig_cidl_sequenceOfExt,
15022       { "sequenceOfExt", "qsig.cidl.sequenceOfExt",
15023         FT_UINT32, BASE_DEC, NULL, 0,
15024         "qsig_cidl.SEQUENCE_OF_Extension", HFILL }},
15025     { &hf_qsig_cidl_sequenceOfExt_item,
15026       { "Extension", "qsig.cidl.Extension",
15027         FT_NONE, BASE_NONE, NULL, 0,
15028         "qsig.Extension", HFILL }},
15029
15030 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
15031
15032     { &hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU,
15033       { "SmsSubmitArg", "qsig.sms.SmsSubmitArg",
15034         FT_NONE, BASE_NONE, NULL, 0,
15035         "qsig_sms.SmsSubmitArg", HFILL }},
15036     { &hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU,
15037       { "SmsSubmitRes", "qsig.sms.SmsSubmitRes",
15038         FT_NONE, BASE_NONE, NULL, 0,
15039         "qsig_sms.SmsSubmitRes", HFILL }},
15040     { &hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU,
15041       { "SmsDeliverArg", "qsig.sms.SmsDeliverArg",
15042         FT_NONE, BASE_NONE, NULL, 0,
15043         "qsig_sms.SmsDeliverArg", HFILL }},
15044     { &hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU,
15045       { "SmsDeliverRes", "qsig.sms.SmsDeliverRes",
15046         FT_NONE, BASE_NONE, NULL, 0,
15047         "qsig_sms.SmsDeliverRes", HFILL }},
15048     { &hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU,
15049       { "SmsStatusReportArg", "qsig.sms.SmsStatusReportArg",
15050         FT_NONE, BASE_NONE, NULL, 0,
15051         "qsig_sms.SmsStatusReportArg", HFILL }},
15052     { &hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU,
15053       { "SmsStatusReportRes", "qsig.sms.SmsStatusReportRes",
15054         FT_NONE, BASE_NONE, NULL, 0,
15055         "qsig_sms.SmsStatusReportRes", HFILL }},
15056     { &hf_qsig_sms_qsig_sms_SmsCommandArg_PDU,
15057       { "SmsCommandArg", "qsig.sms.SmsCommandArg",
15058         FT_NONE, BASE_NONE, NULL, 0,
15059         "qsig_sms.SmsCommandArg", HFILL }},
15060     { &hf_qsig_sms_qsig_sms_SmsCommandRes_PDU,
15061       { "SmsCommandRes", "qsig.sms.SmsCommandRes",
15062         FT_NONE, BASE_NONE, NULL, 0,
15063         "qsig_sms.SmsCommandRes", HFILL }},
15064     { &hf_qsig_sms_qsig_sms_ScAlertArg_PDU,
15065       { "ScAlertArg", "qsig.sms.ScAlertArg",
15066         FT_NONE, BASE_NONE, NULL, 0,
15067         "qsig_sms.ScAlertArg", HFILL }},
15068     { &hf_qsig_sms_qsig_sms_DummyRes_PDU,
15069       { "DummyRes", "qsig.sms.DummyRes",
15070         FT_UINT32, BASE_DEC, VALS(qsig_sms_DummyRes_vals), 0,
15071         "qsig_sms.DummyRes", HFILL }},
15072     { &hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU,
15073       { "PAR-smsDeliverError", "qsig.sms.PAR_smsDeliverError",
15074         FT_NONE, BASE_NONE, NULL, 0,
15075         "qsig_sms.PAR_smsDeliverError", HFILL }},
15076     { &hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU,
15077       { "PAR-smsSubmitError", "qsig.sms.PAR_smsSubmitError",
15078         FT_NONE, BASE_NONE, NULL, 0,
15079         "qsig_sms.PAR_smsSubmitError", HFILL }},
15080     { &hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU,
15081       { "PAR-smsStatusReportError", "qsig.sms.PAR_smsStatusReportError",
15082         FT_NONE, BASE_NONE, NULL, 0,
15083         "qsig_sms.PAR_smsStatusReportError", HFILL }},
15084     { &hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU,
15085       { "PAR-smsCommandError", "qsig.sms.PAR_smsCommandError",
15086         FT_NONE, BASE_NONE, NULL, 0,
15087         "qsig_sms.PAR_smsCommandError", HFILL }},
15088     { &hf_qsig_sms_qsig_sms_SmsExtension_PDU,
15089       { "SmsExtension", "qsig.sms.SmsExtension",
15090         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15091         "qsig_sms.SmsExtension", HFILL }},
15092     { &hf_qsig_sms_destinationAddress,
15093       { "destinationAddress", "qsig.sms.destinationAddress",
15094         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15095         "qsig.PartyNumber", HFILL }},
15096     { &hf_qsig_sms_originatingAddress,
15097       { "originatingAddress", "qsig.sms.originatingAddress",
15098         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15099         "qsig.PartyNumber", HFILL }},
15100     { &hf_qsig_sms_messageReference,
15101       { "messageReference", "qsig.sms.messageReference",
15102         FT_UINT32, BASE_DEC, NULL, 0,
15103         "qsig_sms.MessageReference", HFILL }},
15104     { &hf_qsig_sms_smSubmitParameter,
15105       { "smSubmitParameter", "qsig.sms.smSubmitParameter",
15106         FT_NONE, BASE_NONE, NULL, 0,
15107         "qsig_sms.SmSubmitParameter", HFILL }},
15108     { &hf_qsig_sms_userData,
15109       { "userData", "qsig.sms.userData",
15110         FT_NONE, BASE_NONE, NULL, 0,
15111         "qsig_sms.UserData", HFILL }},
15112     { &hf_qsig_sms_smsExtension,
15113       { "smsExtension", "qsig.sms.smsExtension",
15114         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15115         "qsig_sms.SmsExtension", HFILL }},
15116     { &hf_qsig_sms_serviceCentreTimeStamp,
15117       { "serviceCentreTimeStamp", "qsig.sms.serviceCentreTimeStamp",
15118         FT_STRING, BASE_NONE, NULL, 0,
15119         "qsig_sms.ServiceCentreTimeStamp", HFILL }},
15120     { &hf_qsig_sms_protocolIdentifier,
15121       { "protocolIdentifier", "qsig.sms.protocolIdentifier",
15122         FT_UINT32, BASE_DEC, NULL, 0,
15123         "qsig_sms.ProtocolIdentifier", HFILL }},
15124     { &hf_qsig_sms_originatingName,
15125       { "originatingName", "qsig.sms.originatingName",
15126         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15127         "qsig_na.Name", HFILL }},
15128     { &hf_qsig_sms_smDeliverParameter,
15129       { "smDeliverParameter", "qsig.sms.smDeliverParameter",
15130         FT_NONE, BASE_NONE, NULL, 0,
15131         "qsig_sms.SmDeliverParameter", HFILL }},
15132     { &hf_qsig_sms_smsDeliverResponseChoice,
15133       { "smsDeliverResponseChoice", "qsig.sms.smsDeliverResponseChoice",
15134         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsDeliverResChoice_vals), 0,
15135         "qsig_sms.SmsDeliverResChoice", HFILL }},
15136     { &hf_qsig_sms_dischargeTime,
15137       { "dischargeTime", "qsig.sms.dischargeTime",
15138         FT_STRING, BASE_NONE, NULL, 0,
15139         "qsig_sms.DischargeTime", HFILL }},
15140     { &hf_qsig_sms_recipientAddress,
15141       { "recipientAddress", "qsig.sms.recipientAddress",
15142         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15143         "qsig.PartyNumber", HFILL }},
15144     { &hf_qsig_sms_recipientName,
15145       { "recipientName", "qsig.sms.recipientName",
15146         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15147         "qsig_na.Name", HFILL }},
15148     { &hf_qsig_sms_status,
15149       { "status", "qsig.sms.status",
15150         FT_UINT32, BASE_DEC, NULL, 0,
15151         "qsig_sms.Status", HFILL }},
15152     { &hf_qsig_sms_priority,
15153       { "priority", "qsig.sms.priority",
15154         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15155         "qsig_sms.BOOLEAN", HFILL }},
15156     { &hf_qsig_sms_moreMessagesToSend,
15157       { "moreMessagesToSend", "qsig.sms.moreMessagesToSend",
15158         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15159         "qsig_sms.BOOLEAN", HFILL }},
15160     { &hf_qsig_sms_statusReportQualifier,
15161       { "statusReportQualifier", "qsig.sms.statusReportQualifier",
15162         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15163         "qsig_sms.BOOLEAN", HFILL }},
15164     { &hf_qsig_sms_smsStatusReportResponseChoice,
15165       { "smsStatusReportResponseChoice", "qsig.sms.smsStatusReportResponseChoice",
15166         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsStatusReportResponseChoice_vals), 0,
15167         "qsig_sms.SmsStatusReportResponseChoice", HFILL }},
15168     { &hf_qsig_sms_messageNumber,
15169       { "messageNumber", "qsig.sms.messageNumber",
15170         FT_UINT32, BASE_DEC, NULL, 0,
15171         "qsig_sms.MessageReference", HFILL }},
15172     { &hf_qsig_sms_commandType,
15173       { "commandType", "qsig.sms.commandType",
15174         FT_UINT32, BASE_DEC, VALS(qsig_sms_CommandType_vals), 0,
15175         "qsig_sms.CommandType", HFILL }},
15176     { &hf_qsig_sms_commandData,
15177       { "commandData", "qsig.sms.commandData",
15178         FT_BYTES, BASE_NONE, NULL, 0,
15179         "qsig_sms.CommandData", HFILL }},
15180     { &hf_qsig_sms_statusReportRequest,
15181       { "statusReportRequest", "qsig.sms.statusReportRequest",
15182         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15183         "qsig_sms.BOOLEAN", HFILL }},
15184     { &hf_qsig_sms_null,
15185       { "null", "qsig.sms.null",
15186         FT_NONE, BASE_NONE, NULL, 0,
15187         "qsig_sms.NULL", HFILL }},
15188     { &hf_qsig_sms_validityPeriod,
15189       { "validityPeriod", "qsig.sms.validityPeriod",
15190         FT_UINT32, BASE_DEC, VALS(qsig_sms_ValidityPeriod_vals), 0,
15191         "qsig_sms.ValidityPeriod", HFILL }},
15192     { &hf_qsig_sms_replyPath,
15193       { "replyPath", "qsig.sms.replyPath",
15194         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15195         "qsig_sms.BOOLEAN", HFILL }},
15196     { &hf_qsig_sms_rejectDuplicates,
15197       { "rejectDuplicates", "qsig.sms.rejectDuplicates",
15198         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15199         "qsig_sms.BOOLEAN", HFILL }},
15200     { &hf_qsig_sms_statusReportIndication,
15201       { "statusReportIndication", "qsig.sms.statusReportIndication",
15202         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15203         "qsig_sms.BOOLEAN", HFILL }},
15204     { &hf_qsig_sms_resChoiceSeq,
15205       { "resChoiceSeq", "qsig.sms.resChoiceSeq",
15206         FT_NONE, BASE_NONE, NULL, 0,
15207         "qsig_sms.ResChoiceSeq", HFILL }},
15208     { &hf_qsig_sms_single,
15209       { "single", "qsig.sms.single",
15210         FT_NONE, BASE_NONE, NULL, 0,
15211         "qsig.Extension", HFILL }},
15212     { &hf_qsig_sms_multiple,
15213       { "multiple", "qsig.sms.multiple",
15214         FT_UINT32, BASE_DEC, NULL, 0,
15215         "qsig_sms.SEQUENCE_OF_Extension", HFILL }},
15216     { &hf_qsig_sms_multiple_item,
15217       { "Extension", "qsig.sms.Extension",
15218         FT_NONE, BASE_NONE, NULL, 0,
15219         "qsig.Extension", HFILL }},
15220     { &hf_qsig_sms_validityPeriodRel,
15221       { "validityPeriodRel", "qsig.sms.validityPeriodRel",
15222         FT_UINT32, BASE_DEC, NULL, 0,
15223         "qsig_sms.ValidityPeriodRel", HFILL }},
15224     { &hf_qsig_sms_validityPeriodAbs,
15225       { "validityPeriodAbs", "qsig.sms.validityPeriodAbs",
15226         FT_STRING, BASE_NONE, NULL, 0,
15227         "qsig_sms.ValidityPeriodAbs", HFILL }},
15228     { &hf_qsig_sms_validityPeriodEnh,
15229       { "validityPeriodEnh", "qsig.sms.validityPeriodEnh",
15230         FT_NONE, BASE_NONE, NULL, 0,
15231         "qsig_sms.ValidityPeriodEnh", HFILL }},
15232     { &hf_qsig_sms_singleShotSM,
15233       { "singleShotSM", "qsig.sms.singleShotSM",
15234         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15235         "qsig_sms.BOOLEAN", HFILL }},
15236     { &hf_qsig_sms_enhancedVP,
15237       { "enhancedVP", "qsig.sms.enhancedVP",
15238         FT_UINT32, BASE_DEC, VALS(qsig_sms_EnhancedVP_vals), 0,
15239         "qsig_sms.EnhancedVP", HFILL }},
15240     { &hf_qsig_sms_validityPeriodSec,
15241       { "validityPeriodSec", "qsig.sms.validityPeriodSec",
15242         FT_UINT32, BASE_DEC, NULL, 0,
15243         "qsig_sms.INTEGER_0_255", HFILL }},
15244     { &hf_qsig_sms_validityPeriodSemi,
15245       { "validityPeriodSemi", "qsig.sms.validityPeriodSemi",
15246         FT_BYTES, BASE_NONE, NULL, 0,
15247         "qsig_sms.ValidityPeriodSemi", HFILL }},
15248     { &hf_qsig_sms_userDataHeader,
15249       { "userDataHeader", "qsig.sms.userDataHeader",
15250         FT_UINT32, BASE_DEC, NULL, 0,
15251         "qsig_sms.UserDataHeader", HFILL }},
15252     { &hf_qsig_sms_class,
15253       { "class", "qsig.sms.class",
15254         FT_UINT32, BASE_DEC, NULL, 0,
15255         "qsig_sms.INTEGER_0_3", HFILL }},
15256     { &hf_qsig_sms_compressed,
15257       { "compressed", "qsig.sms.compressed",
15258         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15259         "qsig_sms.BOOLEAN", HFILL }},
15260     { &hf_qsig_sms_shortMessageText,
15261       { "shortMessageText", "qsig.sms.shortMessageText",
15262         FT_NONE, BASE_NONE, NULL, 0,
15263         "qsig_sms.ShortMessageText", HFILL }},
15264     { &hf_qsig_sms_shortMessageTextType,
15265       { "shortMessageTextType", "qsig.sms.shortMessageTextType",
15266         FT_UINT32, BASE_DEC, VALS(qsig_sms_ShortMessageTextType_vals), 0,
15267         "qsig_sms.ShortMessageTextType", HFILL }},
15268     { &hf_qsig_sms_shortMessageTextData,
15269       { "shortMessageTextData", "qsig.sms.shortMessageTextData",
15270         FT_BYTES, BASE_NONE, NULL, 0,
15271         "qsig_sms.ShortMessageTextData", HFILL }},
15272     { &hf_qsig_sms_UserDataHeader_item,
15273       { "UserDataHeaderChoice", "qsig.sms.UserDataHeaderChoice",
15274         FT_UINT32, BASE_DEC, VALS(qsig_sms_UserDataHeaderChoice_vals), 0,
15275         "qsig_sms.UserDataHeaderChoice", HFILL }},
15276     { &hf_qsig_sms_smscControlParameterHeader,
15277       { "smscControlParameterHeader", "qsig.sms.smscControlParameterHeader",
15278         FT_BYTES, BASE_NONE, NULL, 0,
15279         "qsig_sms.SmscControlParameterHeader", HFILL }},
15280     { &hf_qsig_sms_concatenated8BitSMHeader,
15281       { "concatenated8BitSMHeader", "qsig.sms.concatenated8BitSMHeader",
15282         FT_NONE, BASE_NONE, NULL, 0,
15283         "qsig_sms.Concatenated8BitSMHeader", HFILL }},
15284     { &hf_qsig_sms_concatenated16BitSMHeader,
15285       { "concatenated16BitSMHeader", "qsig.sms.concatenated16BitSMHeader",
15286         FT_NONE, BASE_NONE, NULL, 0,
15287         "qsig_sms.Concatenated16BitSMHeader", HFILL }},
15288     { &hf_qsig_sms_applicationPort8BitHeader,
15289       { "applicationPort8BitHeader", "qsig.sms.applicationPort8BitHeader",
15290         FT_NONE, BASE_NONE, NULL, 0,
15291         "qsig_sms.ApplicationPort8BitHeader", HFILL }},
15292     { &hf_qsig_sms_applicationPort16BitHeader,
15293       { "applicationPort16BitHeader", "qsig.sms.applicationPort16BitHeader",
15294         FT_NONE, BASE_NONE, NULL, 0,
15295         "qsig_sms.ApplicationPort16BitHeader", HFILL }},
15296     { &hf_qsig_sms_dataHeaderSourceIndicator,
15297       { "dataHeaderSourceIndicator", "qsig.sms.dataHeaderSourceIndicator",
15298         FT_UINT32, BASE_DEC, VALS(qsig_sms_DataHeaderSourceIndicator_vals), 0,
15299         "qsig_sms.DataHeaderSourceIndicator", HFILL }},
15300     { &hf_qsig_sms_wirelessControlHeader,
15301       { "wirelessControlHeader", "qsig.sms.wirelessControlHeader",
15302         FT_BYTES, BASE_NONE, NULL, 0,
15303         "qsig_sms.WirelessControlHeader", HFILL }},
15304     { &hf_qsig_sms_genericUserValue,
15305       { "genericUserValue", "qsig.sms.genericUserValue",
15306         FT_NONE, BASE_NONE, NULL, 0,
15307         "qsig_sms.GenericUserValue", HFILL }},
15308     { &hf_qsig_sms_concatenated8BitSMReferenceNumber,
15309       { "concatenated8BitSMReferenceNumber", "qsig.sms.concatenated8BitSMReferenceNumber",
15310         FT_UINT32, BASE_DEC, NULL, 0,
15311         "qsig_sms.INTEGER_0_255", HFILL }},
15312     { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM,
15313       { "maximumNumberOf8BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf8BitSMInConcatenatedSM",
15314         FT_UINT32, BASE_DEC, NULL, 0,
15315         "qsig_sms.INTEGER_0_255", HFILL }},
15316     { &hf_qsig_sms_sequenceNumberOf8BitSM,
15317       { "sequenceNumberOf8BitSM", "qsig.sms.sequenceNumberOf8BitSM",
15318         FT_UINT32, BASE_DEC, NULL, 0,
15319         "qsig_sms.INTEGER_0_255", HFILL }},
15320     { &hf_qsig_sms_concatenated16BitSMReferenceNumber,
15321       { "concatenated16BitSMReferenceNumber", "qsig.sms.concatenated16BitSMReferenceNumber",
15322         FT_UINT32, BASE_DEC, NULL, 0,
15323         "qsig_sms.INTEGER_0_65536", HFILL }},
15324     { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM,
15325       { "maximumNumberOf16BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf16BitSMInConcatenatedSM",
15326         FT_UINT32, BASE_DEC, NULL, 0,
15327         "qsig_sms.INTEGER_0_255", HFILL }},
15328     { &hf_qsig_sms_sequenceNumberOf16BitSM,
15329       { "sequenceNumberOf16BitSM", "qsig.sms.sequenceNumberOf16BitSM",
15330         FT_UINT32, BASE_DEC, NULL, 0,
15331         "qsig_sms.INTEGER_0_255", HFILL }},
15332     { &hf_qsig_sms_destination8BitPort,
15333       { "destination8BitPort", "qsig.sms.destination8BitPort",
15334         FT_UINT32, BASE_DEC, NULL, 0,
15335         "qsig_sms.INTEGER_0_255", HFILL }},
15336     { &hf_qsig_sms_originator8BitPort,
15337       { "originator8BitPort", "qsig.sms.originator8BitPort",
15338         FT_UINT32, BASE_DEC, NULL, 0,
15339         "qsig_sms.INTEGER_0_255", HFILL }},
15340     { &hf_qsig_sms_destination16BitPort,
15341       { "destination16BitPort", "qsig.sms.destination16BitPort",
15342         FT_UINT32, BASE_DEC, NULL, 0,
15343         "qsig_sms.INTEGER_0_65536", HFILL }},
15344     { &hf_qsig_sms_originator16BitPort,
15345       { "originator16BitPort", "qsig.sms.originator16BitPort",
15346         FT_UINT32, BASE_DEC, NULL, 0,
15347         "qsig_sms.INTEGER_0_65536", HFILL }},
15348     { &hf_qsig_sms_parameterValue,
15349       { "parameterValue", "qsig.sms.parameterValue",
15350         FT_UINT32, BASE_DEC, NULL, 0,
15351         "qsig_sms.INTEGER_0_255", HFILL }},
15352     { &hf_qsig_sms_genericUserData,
15353       { "genericUserData", "qsig.sms.genericUserData",
15354         FT_BYTES, BASE_NONE, NULL, 0,
15355         "qsig_sms.OCTET_STRING", HFILL }},
15356     { &hf_qsig_sms_failureCause,
15357       { "failureCause", "qsig.sms.failureCause",
15358         FT_UINT32, BASE_DEC, NULL, 0,
15359         "qsig_sms.FailureCause", HFILL }},
15360     { &hf_qsig_sms_scAddressSaved,
15361       { "scAddressSaved", "qsig.sms.scAddressSaved",
15362         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15363         "qsig_sms.BOOLEAN", HFILL }},
15364     { &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted,
15365       { "sRforTransactionCompleted", "qsig.sms.sRforTransactionCompleted",
15366         FT_BOOLEAN, 8, NULL, 0x80,
15367         NULL, HFILL }},
15368     { &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError,
15369       { "sRforPermanentError", "qsig.sms.sRforPermanentError",
15370         FT_BOOLEAN, 8, NULL, 0x40,
15371         NULL, HFILL }},
15372     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying,
15373       { "sRforTempErrorSCnotTrying", "qsig.sms.sRforTempErrorSCnotTrying",
15374         FT_BOOLEAN, 8, NULL, 0x20,
15375         NULL, HFILL }},
15376     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying,
15377       { "sRforTempErrorSCstillTrying", "qsig.sms.sRforTempErrorSCstillTrying",
15378         FT_BOOLEAN, 8, NULL, 0x10,
15379         NULL, HFILL }},
15380     { &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM,
15381       { "cancelSRRforConcatenatedSM", "qsig.sms.cancelSRRforConcatenatedSM",
15382         FT_BOOLEAN, 8, NULL, 0x02,
15383         NULL, HFILL }},
15384     { &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR,
15385       { "includeOrigUDHintoSR", "qsig.sms.includeOrigUDHintoSR",
15386         FT_BOOLEAN, 8, NULL, 0x01,
15387         NULL, HFILL }},
15388
15389 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
15390
15391     { &hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU,
15392       { "MCRequestArg", "qsig.mcr.MCRequestArg",
15393         FT_NONE, BASE_NONE, NULL, 0,
15394         "qsig_mcr.MCRequestArg", HFILL }},
15395     { &hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU,
15396       { "MCRequestResult", "qsig.mcr.MCRequestResult",
15397         FT_NONE, BASE_NONE, NULL, 0,
15398         "qsig_mcr.MCRequestResult", HFILL }},
15399     { &hf_qsig_mcr_qsig_mcr_MCInformArg_PDU,
15400       { "MCInformArg", "qsig.mcr.MCInformArg",
15401         FT_NONE, BASE_NONE, NULL, 0,
15402         "qsig_mcr.MCInformArg", HFILL }},
15403     { &hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU,
15404       { "MCAlertingArg", "qsig.mcr.MCAlertingArg",
15405         FT_NONE, BASE_NONE, NULL, 0,
15406         "qsig_mcr.MCAlertingArg", HFILL }},
15407     { &hf_qsig_mcr_qsig_mcr_Extension_PDU,
15408       { "Extension", "qsig.mcr.Extension",
15409         FT_NONE, BASE_NONE, NULL, 0,
15410         "qsig.Extension", HFILL }},
15411     { &hf_qsig_mcr_callType,
15412       { "callType", "qsig.mcr.callType",
15413         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CallType_vals), 0,
15414         "qsig_mcr.CallType", HFILL }},
15415     { &hf_qsig_mcr_retainOrigCall,
15416       { "retainOrigCall", "qsig.mcr.retainOrigCall",
15417         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15418         "qsig_mcr.BOOLEAN", HFILL }},
15419     { &hf_qsig_mcr_destinationAddress,
15420       { "destinationAddress", "qsig.mcr.destinationAddress",
15421         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15422         "qsig.PresentedAddressUnscreened", HFILL }},
15423     { &hf_qsig_mcr_requestingAddress,
15424       { "requestingAddress", "qsig.mcr.requestingAddress",
15425         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15426         "qsig.PresentedAddressUnscreened", HFILL }},
15427     { &hf_qsig_mcr_cooperatingAddress,
15428       { "cooperatingAddress", "qsig.mcr.cooperatingAddress",
15429         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15430         "qsig.PresentedAddressUnscreened", HFILL }},
15431     { &hf_qsig_mcr_correlation,
15432       { "correlation", "qsig.mcr.correlation",
15433         FT_NONE, BASE_NONE, NULL, 0,
15434         "qsig_mcr.Correlation", HFILL }},
15435     { &hf_qsig_mcr_extensions,
15436       { "extensions", "qsig.mcr.extensions",
15437         FT_UINT32, BASE_DEC, VALS(qsig_mcr_MCRExtensions_vals), 0,
15438         "qsig_mcr.MCRExtensions", HFILL }},
15439     { &hf_qsig_mcr_basicService,
15440       { "basicService", "qsig.mcr.basicService",
15441         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
15442         "qsig_cf.BasicService", HFILL }},
15443     { &hf_qsig_mcr_cisc,
15444       { "cisc", "qsig.mcr.cisc",
15445         FT_NONE, BASE_NONE, NULL, 0,
15446         "qsig_mcr.NULL", HFILL }},
15447     { &hf_qsig_mcr_correlationData,
15448       { "correlationData", "qsig.mcr.correlationData",
15449         FT_STRING, BASE_NONE, NULL, 0,
15450         "qsig_pr.CallIdentity", HFILL }},
15451     { &hf_qsig_mcr_correlationReason,
15452       { "correlationReason", "qsig.mcr.correlationReason",
15453         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CorrelationReason_vals), 0,
15454         "qsig_mcr.CorrelationReason", HFILL }},
15455     { &hf_qsig_mcr_none,
15456       { "none", "qsig.mcr.none",
15457         FT_NONE, BASE_NONE, NULL, 0,
15458         "qsig_mcr.NULL", HFILL }},
15459     { &hf_qsig_mcr_single,
15460       { "single", "qsig.mcr.single",
15461         FT_NONE, BASE_NONE, NULL, 0,
15462         "qsig.Extension", HFILL }},
15463     { &hf_qsig_mcr_multiple,
15464       { "multiple", "qsig.mcr.multiple",
15465         FT_UINT32, BASE_DEC, NULL, 0,
15466         "qsig_mcr.SEQUENCE_OF_Extension", HFILL }},
15467     { &hf_qsig_mcr_multiple_item,
15468       { "Extension", "qsig.mcr.Extension",
15469         FT_NONE, BASE_NONE, NULL, 0,
15470         "qsig.Extension", HFILL }},
15471
15472 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
15473
15474     { &hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU,
15475       { "MCMNewMsgArg", "qsig.mcm.MCMNewMsgArg",
15476         FT_NONE, BASE_NONE, NULL, 0,
15477         "qsig_mcm.MCMNewMsgArg", HFILL }},
15478     { &hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU,
15479       { "MCMDummyRes", "qsig.mcm.MCMDummyRes",
15480         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15481         "qsig_mcm.MCMDummyRes", HFILL }},
15482     { &hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU,
15483       { "MCMNoNewMsgArg", "qsig.mcm.MCMNoNewMsgArg",
15484         FT_NONE, BASE_NONE, NULL, 0,
15485         "qsig_mcm.MCMNoNewMsgArg", HFILL }},
15486     { &hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU,
15487       { "MCMUpdateArg", "qsig.mcm.MCMUpdateArg",
15488         FT_NONE, BASE_NONE, NULL, 0,
15489         "qsig_mcm.MCMUpdateArg", HFILL }},
15490     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU,
15491       { "MCMUpdateReqArg", "qsig.mcm.MCMUpdateReqArg",
15492         FT_NONE, BASE_NONE, NULL, 0,
15493         "qsig_mcm.MCMUpdateReqArg", HFILL }},
15494     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU,
15495       { "MCMUpdateReqRes", "qsig.mcm.MCMUpdateReqRes",
15496         FT_UINT32, BASE_DEC, NULL, 0,
15497         "qsig_mcm.MCMUpdateReqRes", HFILL }},
15498     { &hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU,
15499       { "MCMServiceArg", "qsig.mcm.MCMServiceArg",
15500         FT_NONE, BASE_NONE, NULL, 0,
15501         "qsig_mcm.MCMServiceArg", HFILL }},
15502     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU,
15503       { "MCMInterrogateArg", "qsig.mcm.MCMInterrogateArg",
15504         FT_NONE, BASE_NONE, NULL, 0,
15505         "qsig_mcm.MCMInterrogateArg", HFILL }},
15506     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU,
15507       { "MCMInterrogateRes", "qsig.mcm.MCMInterrogateRes",
15508         FT_NONE, BASE_NONE, NULL, 0,
15509         "qsig_mcm.MCMInterrogateRes", HFILL }},
15510     { &hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU,
15511       { "MCMailboxFullArg", "qsig.mcm.MCMailboxFullArg",
15512         FT_NONE, BASE_NONE, NULL, 0,
15513         "qsig_mcm.MCMailboxFullArg", HFILL }},
15514     { &hf_qsig_mcm_qsig_mcm_Extension_PDU,
15515       { "Extension", "qsig.mcm.Extension",
15516         FT_NONE, BASE_NONE, NULL, 0,
15517         "qsig.Extension", HFILL }},
15518     { &hf_qsig_mcm_partyInfo,
15519       { "partyInfo", "qsig.mcm.partyInfo",
15520         FT_NONE, BASE_NONE, NULL, 0,
15521         "qsig_mcm.PartyInfo", HFILL }},
15522     { &hf_qsig_mcm_mailboxFullFor,
15523       { "mailboxFullFor", "qsig.mcm.mailboxFullFor",
15524         FT_UINT32, BASE_DEC, NULL, 0,
15525         "qsig_mcm.MailboxFullFor", HFILL }},
15526     { &hf_qsig_mcm_extensions,
15527       { "extensions", "qsig.mcm.extensions",
15528         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15529         "qsig_mcm.MCMExtensions", HFILL }},
15530     { &hf_qsig_mcm_MailboxFullFor_item,
15531       { "MailboxFullPar", "qsig.mcm.MailboxFullPar",
15532         FT_NONE, BASE_NONE, NULL, 0,
15533         "qsig_mcm.MailboxFullPar", HFILL }},
15534     { &hf_qsig_mcm_messageType,
15535       { "messageType", "qsig.mcm.messageType",
15536         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15537         "qsig_mcm.MessageType", HFILL }},
15538     { &hf_qsig_mcm_capacityReached,
15539       { "capacityReached", "qsig.mcm.capacityReached",
15540         FT_UINT32, BASE_DEC, NULL, 0,
15541         "qsig_mcm.INTEGER_0_100", HFILL }},
15542     { &hf_qsig_mcm_mCMChange,
15543       { "mCMChange", "qsig.mcm.mCMChange",
15544         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMChange_vals), 0,
15545         "qsig_mcm.MCMChange", HFILL }},
15546     { &hf_qsig_mcm_activateMCM,
15547       { "activateMCM", "qsig.mcm.activateMCM",
15548         FT_UINT32, BASE_DEC, NULL, 0,
15549         "qsig_mcm.SEQUENCE_OF_MCMServiceInfo", HFILL }},
15550     { &hf_qsig_mcm_activateMCM_item,
15551       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo",
15552         FT_NONE, BASE_NONE, NULL, 0,
15553         "qsig_mcm.MCMServiceInfo", HFILL }},
15554     { &hf_qsig_mcm_deactivateMCM,
15555       { "deactivateMCM", "qsig.mcm.deactivateMCM",
15556         FT_UINT32, BASE_DEC, NULL, 0,
15557         "qsig_mcm.SEQUENCE_OF_MessageType", HFILL }},
15558     { &hf_qsig_mcm_deactivateMCM_item,
15559       { "MessageType", "qsig.mcm.MessageType",
15560         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15561         "qsig_mcm.MessageType", HFILL }},
15562     { &hf_qsig_mcm_setToDefaultValues,
15563       { "setToDefaultValues", "qsig.mcm.setToDefaultValues",
15564         FT_NONE, BASE_NONE, NULL, 0,
15565         "qsig_mcm.NULL", HFILL }},
15566     { &hf_qsig_mcm_mCMModeNew,
15567       { "mCMModeNew", "qsig.mcm.mCMModeNew",
15568         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15569         "qsig_mcm.MCMMode", HFILL }},
15570     { &hf_qsig_mcm_mCMModeRetrieved,
15571       { "mCMModeRetrieved", "qsig.mcm.mCMModeRetrieved",
15572         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15573         "qsig_mcm.MCMMode", HFILL }},
15574     { &hf_qsig_mcm_interrogateInfo,
15575       { "interrogateInfo", "qsig.mcm.interrogateInfo",
15576         FT_UINT32, BASE_DEC, NULL, 0,
15577         "qsig_mcm.SEQUENCE_OF_MessageType", HFILL }},
15578     { &hf_qsig_mcm_interrogateInfo_item,
15579       { "MessageType", "qsig.mcm.MessageType",
15580         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15581         "qsig_mcm.MessageType", HFILL }},
15582     { &hf_qsig_mcm_interrogateResult,
15583       { "interrogateResult", "qsig.mcm.interrogateResult",
15584         FT_UINT32, BASE_DEC, NULL, 0,
15585         "qsig_mcm.SEQUENCE_OF_MCMServiceInfo", HFILL }},
15586     { &hf_qsig_mcm_interrogateResult_item,
15587       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo",
15588         FT_NONE, BASE_NONE, NULL, 0,
15589         "qsig_mcm.MCMServiceInfo", HFILL }},
15590     { &hf_qsig_mcm_servedUserNr,
15591       { "servedUserNr", "qsig.mcm.servedUserNr",
15592         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15593         "qsig.PartyNumber", HFILL }},
15594     { &hf_qsig_mcm_specificMessageType,
15595       { "specificMessageType", "qsig.mcm.specificMessageType",
15596         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15597         "qsig_mcm.MessageType", HFILL }},
15598     { &hf_qsig_mcm_msgCentreId,
15599       { "msgCentreId", "qsig.mcm.msgCentreId",
15600         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15601         "qsig_mcm.MsgCentreId", HFILL }},
15602     { &hf_qsig_mcm_nrOfMessages,
15603       { "nrOfMessages", "qsig.mcm.nrOfMessages",
15604         FT_UINT32, BASE_DEC, NULL, 0,
15605         "qsig_mcm.NrOfMessages", HFILL }},
15606     { &hf_qsig_mcm_originatingNr,
15607       { "originatingNr", "qsig.mcm.originatingNr",
15608         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15609         "qsig.PartyNumber", HFILL }},
15610     { &hf_qsig_mcm_timestamp,
15611       { "timestamp", "qsig.mcm.timestamp",
15612         FT_STRING, BASE_NONE, NULL, 0,
15613         "qsig_mcm.TimeStamp", HFILL }},
15614     { &hf_qsig_mcm_priority,
15615       { "priority", "qsig.mcm.priority",
15616         FT_UINT32, BASE_DEC, NULL, 0,
15617         "qsig_mcm.INTEGER_0_9", HFILL }},
15618     { &hf_qsig_mcm_argumentExtMCMNew,
15619       { "argumentExt", "qsig.mcm.argumentExt",
15620         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNewArgumentExt_vals), 0,
15621         "qsig_mcm.MCMNewArgumentExt", HFILL }},
15622     { &hf_qsig_mcm_extension,
15623       { "extension", "qsig.mcm.extension",
15624         FT_NONE, BASE_NONE, NULL, 0,
15625         "qsig.Extension", HFILL }},
15626     { &hf_qsig_mcm_multipleExtension,
15627       { "multipleExtension", "qsig.mcm.multipleExtension",
15628         FT_UINT32, BASE_DEC, NULL, 0,
15629         "qsig_mcm.SEQUENCE_OF_Extension", HFILL }},
15630     { &hf_qsig_mcm_multipleExtension_item,
15631       { "Extension", "qsig.mcm.Extension",
15632         FT_NONE, BASE_NONE, NULL, 0,
15633         "qsig.Extension", HFILL }},
15634     { &hf_qsig_mcm_argumentExtMCMNoNew,
15635       { "argumentExt", "qsig.mcm.argumentExt",
15636         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNoNewArgumentExt_vals), 0,
15637         "qsig_mcm.MCMNoNewArgumentExt", HFILL }},
15638     { &hf_qsig_mcm_updateInfo,
15639       { "updateInfo", "qsig.mcm.updateInfo",
15640         FT_UINT32, BASE_DEC, VALS(qsig_mcm_UpdateInfo_vals), 0,
15641         "qsig_mcm.UpdateInfo", HFILL }},
15642     { &hf_qsig_mcm_moreInfoFollows,
15643       { "moreInfoFollows", "qsig.mcm.moreInfoFollows",
15644         FT_BOOLEAN, BASE_NONE, NULL, 0x0,
15645         "qsig_mcm.BOOLEAN", HFILL }},
15646     { &hf_qsig_mcm_argumentExtMCMUpdArg,
15647       { "argumentExt", "qsig.mcm.argumentExt",
15648         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdArgArgumentExt_vals), 0,
15649         "qsig_mcm.MCMUpdArgArgumentExt", HFILL }},
15650     { &hf_qsig_mcm_MCMUpdateReqRes_item,
15651       { "MCMUpdateReqResElt", "qsig.mcm.MCMUpdateReqResElt",
15652         FT_NONE, BASE_NONE, NULL, 0,
15653         "qsig_mcm.MCMUpdateReqResElt", HFILL }},
15654     { &hf_qsig_mcm_argumentExtMCMUpdRes,
15655       { "argumentExt", "qsig.mcm.argumentExt",
15656         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdResArgumentExt_vals), 0,
15657         "qsig_mcm.MCMUpdResArgumentExt", HFILL }},
15658     { &hf_qsig_mcm_messageCentreID,
15659       { "messageCentreID", "qsig.mcm.messageCentreID",
15660         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15661         "qsig_mcm.MsgCentreId", HFILL }},
15662     { &hf_qsig_mcm_newMsgInfoOnly,
15663       { "newMsgInfoOnly", "qsig.mcm.newMsgInfoOnly",
15664         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15665         "qsig_mcm.MessageInfo", HFILL }},
15666     { &hf_qsig_mcm_retrievedMsgInfoOnly,
15667       { "retrievedMsgInfoOnly", "qsig.mcm.retrievedMsgInfoOnly",
15668         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15669         "qsig_mcm.MessageInfo", HFILL }},
15670     { &hf_qsig_mcm_allMsgInfo,
15671       { "allMsgInfo", "qsig.mcm.allMsgInfo",
15672         FT_NONE, BASE_NONE, NULL, 0,
15673         "qsig_mcm.AllMsgInfo", HFILL }},
15674     { &hf_qsig_mcm_newMsgInfo,
15675       { "newMsgInfo", "qsig.mcm.newMsgInfo",
15676         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15677         "qsig_mcm.MessageInfo", HFILL }},
15678     { &hf_qsig_mcm_retrievedMsgInfo,
15679       { "retrievedMsgInfo", "qsig.mcm.retrievedMsgInfo",
15680         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15681         "qsig_mcm.MessageInfo", HFILL }},
15682     { &hf_qsig_mcm_completeInfo,
15683       { "completeInfo", "qsig.mcm.completeInfo",
15684         FT_UINT32, BASE_DEC, NULL, 0,
15685         "qsig_mcm.CompleteInfo", HFILL }},
15686     { &hf_qsig_mcm_compressedInfo,
15687       { "compressedInfo", "qsig.mcm.compressedInfo",
15688         FT_NONE, BASE_NONE, NULL, 0,
15689         "qsig_mcm.CompressedInfo", HFILL }},
15690     { &hf_qsig_mcm_noMsgsOfMsgType,
15691       { "noMsgsOfMsgType", "qsig.mcm.noMsgsOfMsgType",
15692         FT_NONE, BASE_NONE, NULL, 0,
15693         "qsig_mcm.NULL", HFILL }},
15694     { &hf_qsig_mcm_CompleteInfo_item,
15695       { "AddressHeader", "qsig.mcm.AddressHeader",
15696         FT_NONE, BASE_NONE, NULL, 0,
15697         "qsig_mcm.AddressHeader", HFILL }},
15698     { &hf_qsig_mcm_originatorNr,
15699       { "originatorNr", "qsig.mcm.originatorNr",
15700         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15701         "qsig.PartyNumber", HFILL }},
15702     { &hf_qsig_mcm_timeStamp,
15703       { "timeStamp", "qsig.mcm.timeStamp",
15704         FT_STRING, BASE_NONE, NULL, 0,
15705         "qsig_mcm.TimeStamp", HFILL }},
15706     { &hf_qsig_mcm_ahpriority,
15707       { "priority", "qsig.mcm.priority",
15708         FT_UINT32, BASE_DEC, NULL, 0,
15709         "qsig_mcm.Priority", HFILL }},
15710     { &hf_qsig_mcm_lastTimeStamp,
15711       { "lastTimeStamp", "qsig.mcm.lastTimeStamp",
15712         FT_STRING, BASE_NONE, NULL, 0,
15713         "qsig_mcm.TimeStamp", HFILL }},
15714     { &hf_qsig_mcm_highestPriority,
15715       { "highestPriority", "qsig.mcm.highestPriority",
15716         FT_UINT32, BASE_DEC, NULL, 0,
15717         "qsig_mcm.Priority", HFILL }},
15718     { &hf_qsig_mcm_integer,
15719       { "integer", "qsig.mcm.integer",
15720         FT_UINT32, BASE_DEC, NULL, 0,
15721         "qsig_mcm.INTEGER_0_65535", HFILL }},
15722     { &hf_qsig_mcm_partyNumber,
15723       { "partyNumber", "qsig.mcm.partyNumber",
15724         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15725         "qsig.PartyNumber", HFILL }},
15726     { &hf_qsig_mcm_numericString,
15727       { "numericString", "qsig.mcm.numericString",
15728         FT_STRING, BASE_NONE, NULL, 0,
15729         "qsig_mcm.NumericString_SIZE_1_10", HFILL }},
15730     { &hf_qsig_mcm_none,
15731       { "none", "qsig.mcm.none",
15732         FT_NONE, BASE_NONE, NULL, 0,
15733         "qsig_mcm.NULL", HFILL }},
15734
15735 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
15736
15737     { &hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU,
15738       { "MIDMailboxAuthArg", "qsig.mid.MIDMailboxAuthArg",
15739         FT_NONE, BASE_NONE, NULL, 0,
15740         "qsig_mid.MIDMailboxAuthArg", HFILL }},
15741     { &hf_qsig_mid_qsig_mid_MIDDummyRes_PDU,
15742       { "MIDDummyRes", "qsig.mid.MIDDummyRes",
15743         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15744         "qsig_mid.MIDDummyRes", HFILL }},
15745     { &hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU,
15746       { "MIDMailboxIDArg", "qsig.mid.MIDMailboxIDArg",
15747         FT_NONE, BASE_NONE, NULL, 0,
15748         "qsig_mid.MIDMailboxIDArg", HFILL }},
15749     { &hf_qsig_mid_qsig_mid_Extension_PDU,
15750       { "Extension", "qsig.mid.Extension",
15751         FT_NONE, BASE_NONE, NULL, 0,
15752         "qsig.Extension", HFILL }},
15753     { &hf_qsig_mid_partyInfo,
15754       { "partyInfo", "qsig.mid.partyInfo",
15755         FT_NONE, BASE_NONE, NULL, 0,
15756         "qsig_mid.PartyInfo", HFILL }},
15757     { &hf_qsig_mid_servedUserName,
15758       { "servedUserName", "qsig.mid.servedUserName",
15759         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15760         "qsig_na.Name", HFILL }},
15761     { &hf_qsig_mid_mailBox,
15762       { "mailBox", "qsig.mid.mailBox",
15763         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15764         "qsig_mid.String", HFILL }},
15765     { &hf_qsig_mid_password,
15766       { "password", "qsig.mid.password",
15767         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15768         "qsig_mid.String", HFILL }},
15769     { &hf_qsig_mid_extensions,
15770       { "extensions", "qsig.mid.extensions",
15771         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15772         "qsig_mid.MIDExtensions", HFILL }},
15773     { &hf_qsig_mid_servedUserNr,
15774       { "servedUserNr", "qsig.mid.servedUserNr",
15775         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15776         "qsig.PresentedAddressUnscreened", HFILL }},
15777     { &hf_qsig_mid_messageType,
15778       { "messageType", "qsig.mid.messageType",
15779         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15780         "qsig_mcm.MessageType", HFILL }},
15781     { &hf_qsig_mid_messageCentreID,
15782       { "messageCentreID", "qsig.mid.messageCentreID",
15783         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15784         "qsig_mcm.MsgCentreId", HFILL }},
15785     { &hf_qsig_mid_stringBmp,
15786       { "stringBmp", "qsig.mid.stringBmp",
15787         FT_STRING, BASE_NONE, NULL, 0,
15788         "qsig_mid.BMPString", HFILL }},
15789     { &hf_qsig_mid_stringUtf8,
15790       { "stringUtf8", "qsig.mid.stringUtf8",
15791         FT_STRING, BASE_NONE, NULL, 0,
15792         "qsig_mid.UTF8String", HFILL }},
15793     { &hf_qsig_mid_none,
15794       { "none", "qsig.mid.none",
15795         FT_NONE, BASE_NONE, NULL, 0,
15796         "qsig_mid.NULL", HFILL }},
15797     { &hf_qsig_mid_extension,
15798       { "extension", "qsig.mid.extension",
15799         FT_NONE, BASE_NONE, NULL, 0,
15800         "qsig.Extension", HFILL }},
15801     { &hf_qsig_mid_multipleExtension,
15802       { "multipleExtension", "qsig.mid.multipleExtension",
15803         FT_UINT32, BASE_DEC, NULL, 0,
15804         "qsig_mid.SEQUENCE_OF_Extension", HFILL }},
15805     { &hf_qsig_mid_multipleExtension_item,
15806       { "Extension", "qsig.mid.Extension",
15807         FT_NONE, BASE_NONE, NULL, 0,
15808         "qsig.Extension", HFILL }},
15809
15810 /*--- End of included file: packet-qsig-hfarr.c ---*/
15811 #line 615 "packet-qsig-template.c"
15812   };
15813
15814   /* List of subtrees */
15815   static gint *ett[] = {
15816     &ett_qsig,
15817     &ett_qsig_ie,
15818     &ett_qsig_unknown_extension,
15819
15820 /*--- Included file: packet-qsig-ettarr.c ---*/
15821 #line 1 "packet-qsig-ettarr.c"
15822
15823 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
15824
15825     &ett_qsig_Extension,
15826     &ett_qsig_PresentedAddressScreened,
15827     &ett_qsig_PresentedAddressUnscreened,
15828     &ett_qsig_PresentedNumberScreened,
15829     &ett_qsig_PresentedNumberUnscreened,
15830     &ett_qsig_AddressScreened,
15831     &ett_qsig_NumberScreened,
15832     &ett_qsig_Address,
15833     &ett_qsig_PartyNumber,
15834     &ett_qsig_PublicPartyNumber,
15835     &ett_qsig_PrivatePartyNumber,
15836     &ett_qsig_PartySubaddress,
15837     &ett_qsig_UserSpecifiedSubaddress,
15838
15839 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
15840
15841     &ett_qsig_na_NameArg,
15842     &ett_qsig_na_T_nameSequence,
15843     &ett_qsig_na_NameExtension,
15844     &ett_qsig_na_SEQUENCE_OF_Extension,
15845     &ett_qsig_na_Name,
15846     &ett_qsig_na_NamePresentationAllowed,
15847     &ett_qsig_na_NamePresentationRestricted,
15848     &ett_qsig_na_NameSet,
15849
15850 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
15851
15852     &ett_qsig_cf_ARG_activateDiversionQ,
15853     &ett_qsig_cf_ADExtension,
15854     &ett_qsig_cf_SEQUENCE_OF_Extension,
15855     &ett_qsig_cf_RES_activateDiversionQ,
15856     &ett_qsig_cf_ARG_deactivateDiversionQ,
15857     &ett_qsig_cf_DDExtension,
15858     &ett_qsig_cf_RES_deactivateDiversionQ,
15859     &ett_qsig_cf_ARG_interrogateDiversionQ,
15860     &ett_qsig_cf_IDExtension,
15861     &ett_qsig_cf_ARG_checkRestriction,
15862     &ett_qsig_cf_CHRExtension,
15863     &ett_qsig_cf_RES_checkRestriction,
15864     &ett_qsig_cf_ARG_callRerouteing,
15865     &ett_qsig_cf_CRRExtension,
15866     &ett_qsig_cf_RES_callRerouteing,
15867     &ett_qsig_cf_ARG_divertingLegInformation1,
15868     &ett_qsig_cf_DLI1Extension,
15869     &ett_qsig_cf_ARG_divertingLegInformation2,
15870     &ett_qsig_cf_DLI2Extension,
15871     &ett_qsig_cf_ARG_divertingLegInformation3,
15872     &ett_qsig_cf_DLI3Extension,
15873     &ett_qsig_cf_ARG_cfnrDivertedLegFailed,
15874     &ett_qsig_cf_IntResultList,
15875     &ett_qsig_cf_IntResult,
15876     &ett_qsig_cf_IRExtension,
15877
15878 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
15879
15880     &ett_qsig_pr_PRProposeArg,
15881     &ett_qsig_pr_PRPExtension,
15882     &ett_qsig_pr_SEQUENCE_OF_Extension,
15883     &ett_qsig_pr_PRSetupArg,
15884     &ett_qsig_pr_PRSExtension,
15885     &ett_qsig_pr_PRRetainArg,
15886     &ett_qsig_pr_PRRExtension,
15887     &ett_qsig_pr_DummyResult,
15888     &ett_qsig_pr_DummyArg,
15889
15890 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
15891
15892     &ett_qsig_ct_DummyArg,
15893     &ett_qsig_ct_SEQUENCE_OF_Extension,
15894     &ett_qsig_ct_DummyRes,
15895     &ett_qsig_ct_CTIdentifyRes,
15896     &ett_qsig_ct_T_resultExtension,
15897     &ett_qsig_ct_CTInitiateArg,
15898     &ett_qsig_ct_CTIargumentExtension,
15899     &ett_qsig_ct_CTSetupArg,
15900     &ett_qsig_ct_CTSargumentExtension,
15901     &ett_qsig_ct_CTActiveArg,
15902     &ett_qsig_ct_CTAargumentExtension,
15903     &ett_qsig_ct_CTCompleteArg,
15904     &ett_qsig_ct_CTCargumentExtension,
15905     &ett_qsig_ct_CTUpdateArg,
15906     &ett_qsig_ct_CTUargumentExtension,
15907     &ett_qsig_ct_SubaddressTransferArg,
15908     &ett_qsig_ct_STargumentExtension,
15909
15910 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
15911
15912     &ett_qsig_cc_CcRequestArg,
15913     &ett_qsig_cc_CcRequestRes,
15914     &ett_qsig_cc_CcOptionalArg,
15915     &ett_qsig_cc_T_fullArg,
15916     &ett_qsig_cc_CcExtension,
15917     &ett_qsig_cc_SEQUENCE_OF_Extension,
15918
15919 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
15920
15921     &ett_qsig_co_PathRetainArg,
15922     &ett_qsig_co_T_extendedServiceList,
15923     &ett_qsig_co_ServiceAvailableArg,
15924     &ett_qsig_co_T_extendedServiceList_01,
15925     &ett_qsig_co_ServiceList,
15926     &ett_qsig_co_DummyArg,
15927     &ett_qsig_co_SEQUENCE_OF_Extension,
15928     &ett_qsig_co_DummyRes,
15929
15930 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
15931
15932     &ett_qsig_dnd_DummyArg,
15933     &ett_qsig_dnd_SEQUENCE_OF_Extension,
15934     &ett_qsig_dnd_DummyRes,
15935     &ett_qsig_dnd_DNDActivateArg,
15936     &ett_qsig_dnd_DNDAargumentExtension,
15937     &ett_qsig_dnd_DNDActivateRes,
15938     &ett_qsig_dnd_T_status,
15939     &ett_qsig_dnd_T_status_item,
15940     &ett_qsig_dnd_T_resultExtension,
15941     &ett_qsig_dnd_DNDDeactivateArg,
15942     &ett_qsig_dnd_DNDDargumentExtension,
15943     &ett_qsig_dnd_DNDInterrogateArg,
15944     &ett_qsig_dnd_DNDIargumentExtension,
15945     &ett_qsig_dnd_DNDInterrogateRes,
15946     &ett_qsig_dnd_T_status_01,
15947     &ett_qsig_dnd_T_status_item_01,
15948     &ett_qsig_dnd_T_resultExtension_01,
15949     &ett_qsig_dnd_DNDOverrideArg,
15950     &ett_qsig_dnd_DNDOargumentExtension,
15951     &ett_qsig_dnd_PathRetainArg,
15952     &ett_qsig_dnd_T_extendedServiceList,
15953     &ett_qsig_dnd_ServiceAvailableArg,
15954     &ett_qsig_dnd_T_extendedServiceList_01,
15955     &ett_qsig_dnd_ServiceList,
15956
15957 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
15958
15959     &ett_qsig_ci_PathRetainArg,
15960     &ett_qsig_ci_T_extendedServiceList,
15961     &ett_qsig_ci_ServiceAvailableArg,
15962     &ett_qsig_ci_T_extendedServiceList_01,
15963     &ett_qsig_ci_ServiceList,
15964     &ett_qsig_ci_DummyArg,
15965     &ett_qsig_ci_SEQUENCE_OF_Extension,
15966     &ett_qsig_ci_DummyRes,
15967     &ett_qsig_ci_CIRequestArg,
15968     &ett_qsig_ci_T_argumentExtension,
15969     &ett_qsig_ci_CIRequestRes,
15970     &ett_qsig_ci_T_resultExtension,
15971     &ett_qsig_ci_CIGetCIPLRes,
15972     &ett_qsig_ci_T_resultExtension_01,
15973
15974 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
15975
15976     &ett_qsig_aoc_AocRateArg,
15977     &ett_qsig_aoc_T_aocRate,
15978     &ett_qsig_aoc_T_rateArgExtension,
15979     &ett_qsig_aoc_SEQUENCE_OF_Extension,
15980     &ett_qsig_aoc_AocInterimArg,
15981     &ett_qsig_aoc_T_interimCharge,
15982     &ett_qsig_aoc_T_specificCurrency,
15983     &ett_qsig_aoc_T_interimArgExtension,
15984     &ett_qsig_aoc_AocFinalArg,
15985     &ett_qsig_aoc_T_finalCharge,
15986     &ett_qsig_aoc_T_specificCurrency_01,
15987     &ett_qsig_aoc_T_finalArgExtension,
15988     &ett_qsig_aoc_AOCSCurrencyInfoList,
15989     &ett_qsig_aoc_AOCSCurrencyInfo,
15990     &ett_qsig_aoc_T_rateType,
15991     &ett_qsig_aoc_DurationCurrency,
15992     &ett_qsig_aoc_FlatRateCurrency,
15993     &ett_qsig_aoc_VolumeRateCurrency,
15994     &ett_qsig_aoc_RecordedCurrency,
15995     &ett_qsig_aoc_Amount,
15996     &ett_qsig_aoc_Time,
15997     &ett_qsig_aoc_ChargingAssociation,
15998     &ett_qsig_aoc_ChargeRequestArg,
15999     &ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination,
16000     &ett_qsig_aoc_T_chargeReqArgExtension,
16001     &ett_qsig_aoc_ChargeRequestRes,
16002     &ett_qsig_aoc_T_chargeReqResExtension,
16003     &ett_qsig_aoc_DummyArg,
16004     &ett_qsig_aoc_AocCompleteArg,
16005     &ett_qsig_aoc_T_completeArgExtension,
16006     &ett_qsig_aoc_AocCompleteRes,
16007     &ett_qsig_aoc_T_completeResExtension,
16008     &ett_qsig_aoc_AocDivChargeReqArg,
16009     &ett_qsig_aoc_T_aocDivChargeReqArgExt,
16010
16011 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
16012
16013     &ett_qsig_re_ReAlertingArg,
16014     &ett_qsig_re_T_argumentExtension,
16015     &ett_qsig_re_SEQUENCE_OF_Extension,
16016     &ett_qsig_re_ReAnswerArg,
16017     &ett_qsig_re_T_argumentExtension_01,
16018
16019 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
16020
16021     &ett_qsig_sync_SynchronizationReqArg,
16022     &ett_qsig_sync_SynchronizationReqRes,
16023     &ett_qsig_sync_SynchronizationInfoArg,
16024     &ett_qsig_sync_ArgExtension,
16025     &ett_qsig_sync_SEQUENCE_OF_Extension,
16026
16027 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
16028
16029     &ett_qsig_cint_CintInformation1Arg,
16030     &ett_qsig_cint_CintInformation2Arg,
16031     &ett_qsig_cint_CintCondArg,
16032     &ett_qsig_cint_CintExtension,
16033     &ett_qsig_cint_SEQUENCE_OF_Extension,
16034
16035 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
16036
16037     &ett_qsig_cmn_CmnArg,
16038     &ett_qsig_cmn_T_extension,
16039     &ett_qsig_cmn_SEQUENCE_OF_Extension,
16040     &ett_qsig_cmn_DummyArg,
16041     &ett_qsig_cmn_FeatureIdList,
16042     &ett_qsig_cmn_EquipmentId,
16043
16044 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
16045
16046     &ett_qsig_cpi_CPIRequestArg,
16047     &ett_qsig_cpi_T_argumentExtension,
16048     &ett_qsig_cpi_SEQUENCE_OF_Extension,
16049     &ett_qsig_cpi_CPIPRequestArg,
16050     &ett_qsig_cpi_T_argumentExtension_01,
16051
16052 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
16053
16054     &ett_qsig_pumr_PumRegistrArg,
16055     &ett_qsig_pumr_RpumUserId,
16056     &ett_qsig_pumr_T_userPin,
16057     &ett_qsig_pumr_PumRegistrRes,
16058     &ett_qsig_pumr_DummyRes,
16059     &ett_qsig_pumr_SEQUENCE_OF_Extension,
16060     &ett_qsig_pumr_PumDelRegArg,
16061     &ett_qsig_pumr_XpumUserId,
16062     &ett_qsig_pumr_PumDe_regArg,
16063     &ett_qsig_pumr_DpumUserId,
16064     &ett_qsig_pumr_T_userPin_01,
16065     &ett_qsig_pumr_PumInterrogArg,
16066     &ett_qsig_pumr_IpumUserId,
16067     &ett_qsig_pumr_T_userPin_02,
16068     &ett_qsig_pumr_PumInterrogRes,
16069     &ett_qsig_pumr_PumInterrogRes_item,
16070     &ett_qsig_pumr_SessionParams,
16071     &ett_qsig_pumr_PumrExtension,
16072
16073 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
16074
16075     &ett_qsig_pumch_EnquiryArg,
16076     &ett_qsig_pumch_DivertArg,
16077     &ett_qsig_pumch_InformArg,
16078     &ett_qsig_pumch_EnquiryRes,
16079     &ett_qsig_pumch_CurrLocation,
16080     &ett_qsig_pumch_CfuActivated,
16081     &ett_qsig_pumch_DummyRes,
16082     &ett_qsig_pumch_SEQUENCE_OF_Extension,
16083     &ett_qsig_pumch_PumiExtension,
16084     &ett_qsig_pumch_PumIdentity,
16085     &ett_qsig_pumch_T_both,
16086     &ett_qsig_pumch_PumoArg,
16087     &ett_qsig_pumch_T_pumoaextension,
16088
16089 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
16090
16091     &ett_qsig_ssct_DummyArg,
16092     &ett_qsig_ssct_SEQUENCE_OF_Extension,
16093     &ett_qsig_ssct_DummyRes,
16094     &ett_qsig_ssct_SSCTInitiateArg,
16095     &ett_qsig_ssct_SSCTIargumentExtension,
16096     &ett_qsig_ssct_SSCTSetupArg,
16097     &ett_qsig_ssct_SSCTSargumentExtension,
16098     &ett_qsig_ssct_SSCTDigitInfoArg,
16099     &ett_qsig_ssct_SSCTDargumentExtension,
16100
16101 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
16102
16103     &ett_qsig_wtmlr_LocUpdArg,
16104     &ett_qsig_wtmlr_DummyRes,
16105     &ett_qsig_wtmlr_SEQUENCE_OF_Extension,
16106     &ett_qsig_wtmlr_LocDelArg,
16107     &ett_qsig_wtmlr_LocDeRegArg,
16108     &ett_qsig_wtmlr_PisnEnqArg,
16109     &ett_qsig_wtmlr_PisnEnqRes,
16110     &ett_qsig_wtmlr_GetRRCInfArg,
16111     &ett_qsig_wtmlr_GetRRCInfRes,
16112     &ett_qsig_wtmlr_LocInfoCheckArg,
16113     &ett_qsig_wtmlr_LocInfoCheckRes,
16114     &ett_qsig_wtmlr_WtmUserId,
16115     &ett_qsig_wtmlr_LrExtension,
16116
16117 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
16118
16119     &ett_qsig_wtmch_EnquiryArg,
16120     &ett_qsig_wtmch_DivertArg,
16121     &ett_qsig_wtmch_InformArg,
16122     &ett_qsig_wtmch_EnquiryRes,
16123     &ett_qsig_wtmch_CurrLocation,
16124     &ett_qsig_wtmch_CfuActivated,
16125     &ett_qsig_wtmch_DummyRes,
16126     &ett_qsig_wtmch_SEQUENCE_OF_Extension,
16127     &ett_qsig_wtmch_WtmiExtension,
16128     &ett_qsig_wtmch_WtmIdentity,
16129     &ett_qsig_wtmch_T_both,
16130     &ett_qsig_wtmch_WtmoArg,
16131     &ett_qsig_wtmch_T_wtmoaextension,
16132
16133 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
16134
16135     &ett_qsig_wtmau_AuthWtmArg,
16136     &ett_qsig_wtmau_AuthWtmRes,
16137     &ett_qsig_wtmau_WtatParamArg,
16138     &ett_qsig_wtmau_WtatParamRes,
16139     &ett_qsig_wtmau_WtanParamArg,
16140     &ett_qsig_wtmau_WtmUserId,
16141     &ett_qsig_wtmau_WtanParamRes,
16142     &ett_qsig_wtmau_ARG_transferAuthParam,
16143     &ett_qsig_wtmau_WtatParamInfo,
16144     &ett_qsig_wtmau_T_wtatParamInfoChoice,
16145     &ett_qsig_wtmau_WtanParamInfo,
16146     &ett_qsig_wtmau_AuthSessionKeyInfo,
16147     &ett_qsig_wtmau_CalcWtatInfo,
16148     &ett_qsig_wtmau_CalcWtatInfoUnit,
16149     &ett_qsig_wtmau_CalcWtanInfo,
16150     &ett_qsig_wtmau_DummyExtension,
16151     &ett_qsig_wtmau_SEQUENCE_OF_Extension,
16152     &ett_qsig_wtmau_AuthAlgorithm,
16153
16154 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
16155
16156     &ett_qsig_sd_DisplayArg,
16157     &ett_qsig_sd_DisplayString,
16158     &ett_qsig_sd_KeypadArg,
16159     &ett_qsig_sd_SDExtension,
16160     &ett_qsig_sd_SEQUENCE_OF_Extension,
16161
16162 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
16163
16164     &ett_qsig_cidl_CallIdentificationAssignArg,
16165     &ett_qsig_cidl_CallIdentificationUpdateArg,
16166     &ett_qsig_cidl_CallIdentificationData,
16167     &ett_qsig_cidl_T_linkageID,
16168     &ett_qsig_cidl_ExtensionType,
16169     &ett_qsig_cidl_SEQUENCE_OF_Extension,
16170
16171 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
16172
16173     &ett_qsig_sms_SmsSubmitArg,
16174     &ett_qsig_sms_SmsSubmitRes,
16175     &ett_qsig_sms_SmsDeliverArg,
16176     &ett_qsig_sms_SmsDeliverRes,
16177     &ett_qsig_sms_SmsStatusReportArg,
16178     &ett_qsig_sms_SmsStatusReportRes,
16179     &ett_qsig_sms_SmsCommandArg,
16180     &ett_qsig_sms_SmsCommandRes,
16181     &ett_qsig_sms_ScAlertArg,
16182     &ett_qsig_sms_DummyRes,
16183     &ett_qsig_sms_SmSubmitParameter,
16184     &ett_qsig_sms_SmDeliverParameter,
16185     &ett_qsig_sms_SmsDeliverResChoice,
16186     &ett_qsig_sms_ResChoiceSeq,
16187     &ett_qsig_sms_SmsStatusReportResponseChoice,
16188     &ett_qsig_sms_SmsExtension,
16189     &ett_qsig_sms_SEQUENCE_OF_Extension,
16190     &ett_qsig_sms_ValidityPeriod,
16191     &ett_qsig_sms_ValidityPeriodEnh,
16192     &ett_qsig_sms_EnhancedVP,
16193     &ett_qsig_sms_UserData,
16194     &ett_qsig_sms_ShortMessageText,
16195     &ett_qsig_sms_UserDataHeader,
16196     &ett_qsig_sms_UserDataHeaderChoice,
16197     &ett_qsig_sms_SmscControlParameterHeader,
16198     &ett_qsig_sms_Concatenated8BitSMHeader,
16199     &ett_qsig_sms_Concatenated16BitSMHeader,
16200     &ett_qsig_sms_ApplicationPort8BitHeader,
16201     &ett_qsig_sms_ApplicationPort16BitHeader,
16202     &ett_qsig_sms_GenericUserValue,
16203     &ett_qsig_sms_PAR_smsDeliverError,
16204     &ett_qsig_sms_PAR_smsSubmitError,
16205     &ett_qsig_sms_PAR_smsStatusReportError,
16206     &ett_qsig_sms_PAR_smsCommandError,
16207
16208 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
16209
16210     &ett_qsig_mcr_MCRequestArg,
16211     &ett_qsig_mcr_MCRequestResult,
16212     &ett_qsig_mcr_MCInformArg,
16213     &ett_qsig_mcr_MCAlertingArg,
16214     &ett_qsig_mcr_CallType,
16215     &ett_qsig_mcr_Correlation,
16216     &ett_qsig_mcr_MCRExtensions,
16217     &ett_qsig_mcr_SEQUENCE_OF_Extension,
16218
16219 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
16220
16221     &ett_qsig_mcm_MCMailboxFullArg,
16222     &ett_qsig_mcm_MailboxFullFor,
16223     &ett_qsig_mcm_MailboxFullPar,
16224     &ett_qsig_mcm_MCMServiceArg,
16225     &ett_qsig_mcm_MCMChange,
16226     &ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo,
16227     &ett_qsig_mcm_SEQUENCE_OF_MessageType,
16228     &ett_qsig_mcm_MCMServiceInfo,
16229     &ett_qsig_mcm_MCMInterrogateArg,
16230     &ett_qsig_mcm_MCMInterrogateRes,
16231     &ett_qsig_mcm_MCMNewMsgArg,
16232     &ett_qsig_mcm_MCMNewArgumentExt,
16233     &ett_qsig_mcm_SEQUENCE_OF_Extension,
16234     &ett_qsig_mcm_MCMNoNewMsgArg,
16235     &ett_qsig_mcm_MCMNoNewArgumentExt,
16236     &ett_qsig_mcm_MCMUpdateArg,
16237     &ett_qsig_mcm_MCMUpdateReqArg,
16238     &ett_qsig_mcm_MCMUpdArgArgumentExt,
16239     &ett_qsig_mcm_MCMUpdateReqRes,
16240     &ett_qsig_mcm_MCMUpdateReqResElt,
16241     &ett_qsig_mcm_MCMUpdResArgumentExt,
16242     &ett_qsig_mcm_PartyInfo,
16243     &ett_qsig_mcm_UpdateInfo,
16244     &ett_qsig_mcm_AllMsgInfo,
16245     &ett_qsig_mcm_MessageInfo,
16246     &ett_qsig_mcm_CompleteInfo,
16247     &ett_qsig_mcm_AddressHeader,
16248     &ett_qsig_mcm_CompressedInfo,
16249     &ett_qsig_mcm_MsgCentreId,
16250     &ett_qsig_mcm_MCMExtensions,
16251
16252 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
16253
16254     &ett_qsig_mid_MIDMailboxAuthArg,
16255     &ett_qsig_mid_MIDMailboxIDArg,
16256     &ett_qsig_mid_PartyInfo,
16257     &ett_qsig_mid_String,
16258     &ett_qsig_mid_MIDExtensions,
16259     &ett_qsig_mid_SEQUENCE_OF_Extension,
16260
16261 /*--- End of included file: packet-qsig-ettarr.c ---*/
16262 #line 623 "packet-qsig-template.c"
16263   };
16264
16265   /* Register protocol and dissector */
16266   proto_qsig = proto_register_protocol(PNAME, PSNAME, PFNAME);
16267
16268   /* Register fields and subtrees */
16269   proto_register_field_array(proto_qsig, hf, array_length(hf));
16270   proto_register_subtree_array(ett, array_length(ett));
16271
16272   /* Register dissector tables */
16273   extension_dissector_table = register_dissector_table("qsig.ext", "QSIG Extension", FT_STRING, BASE_NONE);
16274 }
16275
16276
16277 /*--- proto_reg_handoff_qsig ------------------------------------------------*/
16278 void proto_reg_handoff_qsig(void) {
16279   int i;
16280   dissector_handle_t q931_handle; 
16281   dissector_handle_t qsig_arg_handle;
16282   dissector_handle_t qsig_res_handle;
16283   dissector_handle_t qsig_err_handle;
16284   dissector_handle_t qsig_ie_handle;
16285
16286   q931_handle = find_dissector("q931");
16287
16288   qsig_arg_handle = new_create_dissector_handle(dissect_qsig_arg, proto_qsig);
16289   qsig_res_handle = new_create_dissector_handle(dissect_qsig_res, proto_qsig);
16290   for (i=0; i<(int)array_length(qsig_op_tab); i++) {
16291     dissector_add("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle);
16292     dissector_add("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle);
16293   }
16294   qsig_err_handle = new_create_dissector_handle(dissect_qsig_err, proto_qsig);
16295   for (i=0; i<(int)array_length(qsig_err_tab); i++) {
16296     dissector_add("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle);
16297   }
16298
16299   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs4, proto_qsig);
16300   /* QSIG-TC - Transit counter */
16301   dissector_add("q931.ie", CS4 | QSIG_IE_TRANSIT_COUNTER, qsig_ie_handle);
16302
16303   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs5, proto_qsig);
16304   /* SSIG-BC - Party category */
16305   dissector_add("q931.ie", CS5 | QSIG_IE_PARTY_CATEGORY, qsig_ie_handle);
16306
16307   /* RFC 3204, 3.2 QSIG Media Type */
16308   dissector_add_string("media_type", "application/qsig", q931_handle);
16309
16310 }
16311
16312 /*---------------------------------------------------------------------------*/