Convert 'encoding' parameter of certain proto_tree_add_item() calls in asn1 dissectors:
[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 . General-Error-List.asn qsig-gf-ext.asn qsig-gf-gp.asn qsig-gf-ade.asn QSIG-NA.asn QSIG-CF.asn QSIG-PR.asn QSIG-CT.asn QSIG-CC.asn QSIG-CO.asn QSIG-DND.asn QSIG-CI.asn QSIG-AOC.asn QSIG-RE.asn SYNC-SIG.asn QSIG-CINT.asn QSIG-CMN.asn QSIG-CPI.asn QSIG-PUMR.asn QSIG-PUMCH.asn QSIG-SSCT.asn QSIG-WTMLR.asn QSIG-WTMCH.asn QSIG-WTMAU.asn QSIG-SD.asn QSIG-CIDL.asn QSIG-SMS.asn QSIG-MCR.asn QSIG-MCM.asn QSIG-MID.asn */
5
6 /* Input file: packet-qsig-template.c */
7
8 #line 1 "../../asn1/qsig/packet-qsig-template.c"
9 /* packet-qsig.c
10  * Routines for QSIG packet dissection
11  * 2007  Tomas Kukosa
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License
21  * as published by the Free Software Foundation; either version 2
22  * of the License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program; if not, write to the Free Software
31  * Foundation, Inc., 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 "../../asn1/qsig/packet-qsig-table10.c"
282
283 /* --- Module General-Error-List --- --- ---                                  */
284
285 /* Unknown or empty loop list OPERATION */
286
287 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
288
289 /* Unknown or empty loop list OPERATION */
290
291 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
292
293   {   0, "callingName" },
294   {   1, "calledName" },
295   {   2, "connectedName" },
296   {   3, "busyName" },
297
298 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
299
300   {  15, "activateDiversionQ" },
301   {  16, "deactivateDiversionQ" },
302   {  17, "interrogateDiversionQ" },
303   {  18, "checkRestriction" },
304   {  19, "callRerouteing" },
305   {  20, "divertingLegInformation1" },
306   {  21, "divertingLegInformation2" },
307   {  22, "divertingLegInformation3" },
308   {  23, "cfnrDivertedLegFailed" },
309
310 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
311
312   {  86, "pathReplaceInvite" },
313   {   4, "pathReplacePropose" },
314   {   5, "pathReplaceSetup" },
315   {   6, "pathReplaceRetain" },
316
317 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
318
319   {   7, "callTransferIdentify" },
320   {   8, "callTransferAbandon" },
321   {   9, "callTransferInitiate" },
322   {  10, "callTransferSetup" },
323   {  11, "callTransferActive" },
324   {  12, "callTransferComplete" },
325   {  13, "callTransferUpdate" },
326   {  14, "subaddressTransfer" },
327
328 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
329
330   {  40, "ccbsRequest" },
331   {  27, "ccnrRequest" },
332   {  28, "ccCancel" },
333   {  29, "ccExecPossible" },
334   {  30, "ccPathReserve" },
335   {  31, "ccRingout" },
336   {  32, "ccSuspend" },
337   {  33, "ccResume" },
338
339 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
340
341   {  41, "pathRetain" },
342   {  42, "serviceAvailable" },
343   {  34, "callOfferRequest" },
344   {  49, "cfbOverride" },
345
346 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
347
348   {  35, "doNotDisturbActivateQ" },
349   {  36, "doNotDisturbDeactivateQ" },
350   {  37, "doNotDisturbInterrogateQ" },
351   {  38, "doNotDisturbOverrideQ" },
352   {  41, "pathRetain" },
353   {  42, "serviceAvailable" },
354   {  39, "doNotDisturbOvrExecuteQ" },
355
356 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
357
358   {  41, "pathRetain" },
359   {  42, "serviceAvailable" },
360   {  43, "callIntrusionRequest" },
361   {  44, "callIntrusionGetCIPL" },
362   {  46, "callIntrusionForcedRelease" },
363   {  45, "callIntrusionIsolate" },
364   {  47, "callIntrusionWOBRequest" },
365   {  48, "callIntrusionCompleted" },
366   {  49, "cfbOverride" },
367
368 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
369
370   {  63, "aocRate" },
371   {  62, "aocInterim" },
372   {  61, "aocFinal" },
373   {  59, "chargeRequest" },
374   {  60, "getFinalCharge" },
375   {  64, "aocComplete" },
376   {  65, "aocDivChargeReq" },
377
378 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
379
380   {  57, "recallAlerting" },
381   {  58, "recallAnswered" },
382
383 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
384
385   {  78, "synchronizationRequest" },
386   {  79, "synchronizationInfo" },
387
388 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
389
390   {  66, "cintLegInformation1" },
391   {  67, "cintLegInformation2" },
392   {  68, "cintCondition" },
393   {  69, "cintDisable" },
394   {  70, "cintEnable" },
395
396 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
397
398   {  84, "cmnRequest" },
399   {  85, "cmnInform" },
400
401 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
402
403   {  87, "callInterruptionRequest" },
404   {  88, "callProtectionRequest" },
405
406 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
407
408   {  89, "pumRegistr" },
409   {  90, "pumDelReg" },
410   {  91, "pumDe-reg" },
411   {  92, "pumInterrog" },
412
413 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
414
415   {  93, "pumiEnquiry" },
416   {  94, "pumiDivert" },
417   {  95, "pumiInform" },
418   {  96, "pumoCall" },
419
420 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
421
422   {  99, "ssctInitiate" },
423   { 100, "ssctSetup" },
424   { 101, "ssctPostDial" },
425   { 102, "ssctDigitInfo" },
426
427 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
428
429   {  50, "locUpdate" },
430   {  51, "locDelete" },
431   {  52, "locDeReg" },
432   {  53, "pisnEnquiry" },
433   {  97, "getRRCInf" },
434   {  98, "locInfoCheck" },
435
436 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
437
438   {  54, "wtmiEnquiry" },
439   {  55, "wtmiDivert" },
440   {  56, "wtmiInform" },
441   {  71, "wtmoCall" },
442
443 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
444
445   {  72, "authWtmUser" },
446   {  73, "getWtatParam" },
447   {  74, "wtatParamEnq" },
448   {  75, "getWtanParam" },
449   {  76, "wtanParamEnq" },
450   {  77, "transferAuthParam" },
451
452 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
453
454   { 103, "display" },
455   { 104, "keypad" },
456
457 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
458
459   { 105, "callIdentificationAssign" },
460   { 106, "callIdentificationUpdate" },
461
462 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
463
464   { 107, "smsSubmit" },
465   { 108, "smsDeliver" },
466   { 109, "smsStatusReport" },
467   { 110, "smsCommand" },
468   { 111, "scAlert" },
469
470 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
471
472   { 112, "mCRequest" },
473   { 113, "mCInform" },
474   { 114, "mCAlerting" },
475
476 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
477
478   {  80, "mCMNewMsg" },
479   {  81, "mCMNoNewMsg" },
480   { 115, "mCMUpdate" },
481   {  82, "mCMUpdateReq" },
482   { 116, "mCMService" },
483   { 117, "mCMInterrogate" },
484   { 118, "mCMailboxFull" },
485
486 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
487
488   { 119, "mIDMailboxAuth" },
489   { 120, "mIDMailboxID" },
490
491 /*--- End of included file: packet-qsig-table10.c ---*/
492 #line 272 "../../asn1/qsig/packet-qsig-template.c"
493   {   0, NULL}
494 };
495
496 static const value_string qsig_str_error[] = {
497
498 /*--- Included file: packet-qsig-table20.c ---*/
499 #line 1 "../../asn1/qsig/packet-qsig-table20.c"
500
501 /* --- Module General-Error-List --- --- ---                                  */
502
503   {    0, "userNotSubscribed" },
504   {    1, "rejectedByNetwork" },
505   {    2, "rejectedByUser" },
506   {    3, "notAvailable" },
507   {    5, "insufficientInformation" },
508   {    6, "invalidServedUserNr" },
509   {    7, "invalidCallState" },
510   {    8, "basicServiceNotProvided" },
511   {    9, "notIncomingCall" },
512   {   10, "supplementaryServiceInteractionNotAllowed" },
513   {   11, "resourceUnavailable" },
514   {   25, "callFailure" },
515   {   43, "proceduralError" },
516
517 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
518
519 /* Unknown or empty loop list ERROR */
520
521 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
522
523 /* Unknown or empty loop list ERROR */
524
525 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
526
527   {   12, "invalidDivertedToNr" },
528   {   14, "specialServiceNr" },
529   {   15, "diversionToServedUserNr" },
530   {   24, "numberOfDiversionsExceeded" },
531   { 1000, "temporarilyUnavailable" },
532   { 1007, "notAuthorized" },
533   { 1008, "unspecified" },
534
535 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
536
537   { 1000, "temporarilyUnavailable" },
538   { 1001, "collision" },
539   { 1002, "criteriaPermanentlyUnachievable" },
540   { 1003, "criteriaTemporarilyUnachievable" },
541   { 1004, "invalidRerouteingNumber" },
542   { 1005, "unrecognizedCallIdentity" },
543   { 1006, "establishmentFailure" },
544   { 1008, "unspecified" },
545
546 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
547
548   { 1008, "unspecified" },
549   { 1004, "invalidRerouteingNumber" },
550   { 1005, "unrecognizedCallIdentity" },
551   { 1006, "establishmentFailure" },
552
553 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
554
555   { 1008, "unspecified" },
556   { 1010, "shortTermRejection" },
557   { 1011, "longTermRejection" },
558   { 1012, "remoteUserBusyAgain" },
559   { 1013, "failureToMatch" },
560   { 1014, "failedDueToInterworking" },
561
562 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
563
564   { 1009, "notBusy" },
565   { 1000, "temporarilyUnavailable" },
566   { 1008, "unspecified" },
567
568 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
569
570   { 1000, "temporarilyUnavailable" },
571   {   43, "notActivated" },
572   { 1008, "unspecified" },
573
574 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
575
576   { 1009, "notBusy" },
577   { 1000, "temporarilyUnavailable" },
578   { 1007, "notAuthorized" },
579   { 1008, "unspecified" },
580
581 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
582
583   { 1008, "unspecified" },
584   { 1016, "freeOfCharge" },
585
586 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
587
588 /* Unknown or empty loop list ERROR */
589
590 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
591
592   { 1008, "unspecified" },
593
594 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
595
596 /* Unknown or empty loop list ERROR */
597
598 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
599
600 /* Unknown or empty loop list ERROR */
601
602 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
603
604 /* Unknown or empty loop list ERROR */
605
606 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
607
608   { 1008, "unspecified" },
609   { 1007, "notAuthorized" },
610   { 1000, "temporarilyUnavailable" },
611   { 1019, "pumUserNotSubscribedToThisServiceOpt" },
612   { 1020, "pumUserFailedAuthentication" },
613   { 1021, "hostingAddrInvalid" },
614   { 1022, "pumUserNotRegistered" },
615
616 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
617
618   { 1015, "locationNotKnown" },
619   { 1008, "unspecified" },
620
621 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
622
623   { 1008, "unspecified" },
624
625 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
626
627   { 1007, "notAuthorized" },
628   { 1000, "temporarilyUnavailable" },
629   { 1008, "unspecified" },
630
631 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
632
633   { 1008, "unspecified" },
634   { 1015, "locationNotKnown" },
635
636 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
637
638   { 1007, "notAuthorized" },
639   { 1017, "paramNotAvailable" },
640   { 1000, "temporarilyUnavailable" },
641   { 1008, "unspecified" },
642
643 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
644
645   { 1008, "unspecified" },
646   { 1023, "noDisplayAvailable" },
647   { 1024, "displayTemporarilyNotAvailable" },
648   { 1025, "notPresentable" },
649
650 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
651
652 /* Unknown or empty loop list ERROR */
653
654 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
655
656   { 1026, "smsDeliverError" },
657   { 1027, "smsSubmitError" },
658   { 1028, "smsStatusReportError" },
659   { 1029, "smsCommandError" },
660   { 1008, "unspecified" },
661
662 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
663
664   { 1030, "invalidDestinationNumber" },
665   { 1031, "invalidCooperationNumber" },
666   { 1032, "mCRequestNotAllowed" },
667   { 1033, "mCExecutionNotAllowed" },
668   { 1034, "mCDestUserBusy" },
669   { 1035, "mCCoopUserBusy" },
670   { 1036, "mCCoopUserRejected" },
671   { 1008, "unspecified" },
672
673 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
674
675   { 1037, "mCMModeNotProvided" },
676   { 1008, "unspecified" },
677
678 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
679
680   { 1039, "invalidMailbox" },
681   { 1040, "authorizationFailed" },
682   { 1008, "unspecified" },
683
684 /*--- End of included file: packet-qsig-table20.c ---*/
685 #line 277 "../../asn1/qsig/packet-qsig-template.c"
686   {   0, NULL}
687 };
688
689 /* Initialize the protocol and registered fields */
690 static int proto_qsig = -1;
691 static int hf_qsig_operation = -1;
692 static int hf_qsig_service = -1;
693 static int hf_qsig_error = -1;
694 static int hf_qsig_ie_type = -1;
695 static int hf_qsig_ie_type_cs4 = -1;
696 static int hf_qsig_ie_type_cs5 = -1;
697 static int hf_qsig_ie_len = -1;
698 static int hf_qsig_ie_data = -1;
699 static int hf_qsig_tc = -1;
700 static int hf_qsig_pc = -1;
701
702 /*--- Included file: packet-qsig-hf.c ---*/
703 #line 1 "../../asn1/qsig/packet-qsig-hf.c"
704
705 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
706
707 static int hf_qsig_extensionId = -1;              /* T_extensionId */
708 static int hf_qsig_extensionArgument = -1;        /* T_extensionArgument */
709 static int hf_qsig_presentationAllowedAddressS = -1;  /* AddressScreened */
710 static int hf_qsig_presentationRestricted = -1;   /* NULL */
711 static int hf_qsig_numberNotAvailableDueToInterworking = -1;  /* NULL */
712 static int hf_qsig_presentationRestrictedAddressS = -1;  /* AddressScreened */
713 static int hf_qsig_presentationAllowedAddressU = -1;  /* Address */
714 static int hf_qsig_presentationRestrictedAddressU = -1;  /* Address */
715 static int hf_qsig_presentationAllowedAddressNS = -1;  /* NumberScreened */
716 static int hf_qsig_presentationRestrictedAddressNS = -1;  /* NumberScreened */
717 static int hf_qsig_presentationAllowedAddressNU = -1;  /* PartyNumber */
718 static int hf_qsig_presentationRestrictedAddressNU = -1;  /* PartyNumber */
719 static int hf_qsig_partyNumber = -1;              /* PartyNumber */
720 static int hf_qsig_screeningIndicator = -1;       /* ScreeningIndicator */
721 static int hf_qsig_partySubaddress = -1;          /* PartySubaddress */
722 static int hf_qsig_unknownPartyNumber = -1;       /* NumberDigits */
723 static int hf_qsig_publicPartyNumber = -1;        /* PublicPartyNumber */
724 static int hf_qsig_dataPartyNumber = -1;          /* NumberDigits */
725 static int hf_qsig_telexPartyNumber = -1;         /* NumberDigits */
726 static int hf_qsig_privatePartyNumber = -1;       /* PrivatePartyNumber */
727 static int hf_qsig_nationalStandardPartyNumber = -1;  /* NumberDigits */
728 static int hf_qsig_publicTypeOfNumber = -1;       /* PublicTypeOfNumber */
729 static int hf_qsig_publicNumberDigits = -1;       /* NumberDigits */
730 static int hf_qsig_privateTypeOfNumber = -1;      /* PrivateTypeOfNumber */
731 static int hf_qsig_privateNumberDigits = -1;      /* NumberDigits */
732 static int hf_qsig_userSpecifiedSubaddress = -1;  /* UserSpecifiedSubaddress */
733 static int hf_qsig_nSAPSubaddress = -1;           /* NSAPSubaddress */
734 static int hf_qsig_subaddressInformation = -1;    /* SubaddressInformation */
735 static int hf_qsig_oddCountIndicator = -1;        /* BOOLEAN */
736
737 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
738
739 static int hf_qsig_na_qsig_na_NameArg_PDU = -1;   /* NameArg */
740 static int hf_qsig_na_name = -1;                  /* Name */
741 static int hf_qsig_na_nameSequence = -1;          /* T_nameSequence */
742 static int hf_qsig_na_extensionNA = -1;           /* NameExtension */
743 static int hf_qsig_na_single = -1;                /* Extension */
744 static int hf_qsig_na_multiple = -1;              /* SEQUENCE_OF_Extension */
745 static int hf_qsig_na_multiple_item = -1;         /* Extension */
746 static int hf_qsig_na_namePresentationAllowed = -1;  /* NamePresentationAllowed */
747 static int hf_qsig_na_namePresentationRestricted = -1;  /* NamePresentationRestricted */
748 static int hf_qsig_na_nameNotAvailable = -1;      /* NameNotAvailable */
749 static int hf_qsig_na_namePresentationAllowedSimple = -1;  /* NameData */
750 static int hf_qsig_na_namePresentationAllowedExtended = -1;  /* NameSet */
751 static int hf_qsig_na_namePresentationRestrictedSimple = -1;  /* NameData */
752 static int hf_qsig_na_namePresentationRestrictedExtended = -1;  /* NameSet */
753 static int hf_qsig_na_namePresentationRestrictedNull = -1;  /* NULL */
754 static int hf_qsig_na_nameData = -1;              /* NameData */
755 static int hf_qsig_na_characterSet = -1;          /* CharacterSet */
756
757 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
758
759 static int hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU = -1;  /* ARG_activateDiversionQ */
760 static int hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU = -1;  /* RES_activateDiversionQ */
761 static int hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU = -1;  /* ARG_deactivateDiversionQ */
762 static int hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU = -1;  /* RES_deactivateDiversionQ */
763 static int hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU = -1;  /* ARG_interrogateDiversionQ */
764 static int hf_qsig_cf_qsig_cf_IntResultList_PDU = -1;  /* IntResultList */
765 static int hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU = -1;  /* ARG_checkRestriction */
766 static int hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU = -1;  /* RES_checkRestriction */
767 static int hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU = -1;  /* ARG_callRerouteing */
768 static int hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU = -1;  /* RES_callRerouteing */
769 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU = -1;  /* ARG_divertingLegInformation1 */
770 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU = -1;  /* ARG_divertingLegInformation2 */
771 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU = -1;  /* ARG_divertingLegInformation3 */
772 static int hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU = -1;  /* ARG_cfnrDivertedLegFailed */
773 static int hf_qsig_cf_qsig_cf_Extension_PDU = -1;  /* Extension */
774 static int hf_qsig_cf_procedure = -1;             /* Procedure */
775 static int hf_qsig_cf_basicService = -1;          /* BasicService */
776 static int hf_qsig_cf_divertedToAddress = -1;     /* Address */
777 static int hf_qsig_cf_servedUserNr = -1;          /* PartyNumber */
778 static int hf_qsig_cf_activatingUserNr = -1;      /* PartyNumber */
779 static int hf_qsig_cf_extensionAD = -1;           /* ADExtension */
780 static int hf_qsig_cf_single = -1;                /* Extension */
781 static int hf_qsig_cf_multiple = -1;              /* SEQUENCE_OF_Extension */
782 static int hf_qsig_cf_multiple_item = -1;         /* Extension */
783 static int hf_qsig_cf_null = -1;                  /* NULL */
784 static int hf_qsig_cf_deactivatingUserNr = -1;    /* PartyNumber */
785 static int hf_qsig_cf_extensionDD = -1;           /* DDExtension */
786 static int hf_qsig_cf_interrogatingUserNr = -1;   /* PartyNumber */
787 static int hf_qsig_cf_extensionID = -1;           /* IDExtension */
788 static int hf_qsig_cf_divertedToNr = -1;          /* PartyNumber */
789 static int hf_qsig_cf_extensionCHR = -1;          /* CHRExtension */
790 static int hf_qsig_cf_rerouteingReason = -1;      /* DiversionReason */
791 static int hf_qsig_cf_originalRerouteingReason = -1;  /* DiversionReason */
792 static int hf_qsig_cf_calledAddress = -1;         /* Address */
793 static int hf_qsig_cf_diversionCounter = -1;      /* INTEGER_1_15 */
794 static int hf_qsig_cf_pSS1InfoElement = -1;       /* PSS1InformationElement */
795 static int hf_qsig_cf_lastRerouteingNr = -1;      /* PresentedNumberUnscreened */
796 static int hf_qsig_cf_subscriptionOption = -1;    /* SubscriptionOption */
797 static int hf_qsig_cf_callingPartySubaddress = -1;  /* PartySubaddress */
798 static int hf_qsig_cf_callingNumber = -1;         /* PresentedNumberScreened */
799 static int hf_qsig_cf_callingName = -1;           /* Name */
800 static int hf_qsig_cf_originalCalledNr = -1;      /* PresentedNumberUnscreened */
801 static int hf_qsig_cf_redirectingName = -1;       /* Name */
802 static int hf_qsig_cf_originalCalledName = -1;    /* Name */
803 static int hf_qsig_cf_extensionCRR = -1;          /* CRRExtension */
804 static int hf_qsig_cf_diversionReason = -1;       /* DiversionReason */
805 static int hf_qsig_cf_nominatedNr = -1;           /* PartyNumber */
806 static int hf_qsig_cf_extensionDLI1 = -1;         /* DLI1Extension */
807 static int hf_qsig_cf_originalDiversionReason = -1;  /* DiversionReason */
808 static int hf_qsig_cf_divertingNr = -1;           /* PresentedNumberUnscreened */
809 static int hf_qsig_cf_extensionDLI2 = -1;         /* DLI2Extension */
810 static int hf_qsig_cf_presentationAllowedIndicator = -1;  /* PresentationAllowedIndicator */
811 static int hf_qsig_cf_redirectionName = -1;       /* Name */
812 static int hf_qsig_cf_extensionDLI3 = -1;         /* DLI3Extension */
813 static int hf_qsig_cf_IntResultList_item = -1;    /* IntResult */
814 static int hf_qsig_cf_remoteEnabled = -1;         /* BOOLEAN */
815 static int hf_qsig_cf_extensionIR = -1;           /* IRExtension */
816
817 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
818
819 static int hf_qsig_pr_qsig_pr_DummyArg_PDU = -1;  /* DummyArg */
820 static int hf_qsig_pr_qsig_pr_PRProposeArg_PDU = -1;  /* PRProposeArg */
821 static int hf_qsig_pr_qsig_pr_PRSetupArg_PDU = -1;  /* PRSetupArg */
822 static int hf_qsig_pr_qsig_pr_DummyResult_PDU = -1;  /* DummyResult */
823 static int hf_qsig_pr_qsig_pr_PRRetainArg_PDU = -1;  /* PRRetainArg */
824 static int hf_qsig_pr_qsig_pr_Extension_PDU = -1;  /* Extension */
825 static int hf_qsig_pr_callIdentity = -1;          /* CallIdentity */
826 static int hf_qsig_pr_rerouteingNumber = -1;      /* PartyNumber */
827 static int hf_qsig_pr_extensionPRP = -1;          /* PRPExtension */
828 static int hf_qsig_pr_single = -1;                /* Extension */
829 static int hf_qsig_pr_multiple = -1;              /* SEQUENCE_OF_Extension */
830 static int hf_qsig_pr_multiple_item = -1;         /* Extension */
831 static int hf_qsig_pr_extensionPRS = -1;          /* PRSExtension */
832 static int hf_qsig_pr_extensionPRR = -1;          /* PRRExtension */
833 static int hf_qsig_pr_null = -1;                  /* NULL */
834
835 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
836
837 static int hf_qsig_ct_qsig_ct_DummyArg_PDU = -1;  /* DummyArg */
838 static int hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU = -1;  /* CTIdentifyRes */
839 static int hf_qsig_ct_qsig_ct_CTInitiateArg_PDU = -1;  /* CTInitiateArg */
840 static int hf_qsig_ct_qsig_ct_DummyRes_PDU = -1;  /* DummyRes */
841 static int hf_qsig_ct_qsig_ct_CTSetupArg_PDU = -1;  /* CTSetupArg */
842 static int hf_qsig_ct_qsig_ct_CTActiveArg_PDU = -1;  /* CTActiveArg */
843 static int hf_qsig_ct_qsig_ct_CTCompleteArg_PDU = -1;  /* CTCompleteArg */
844 static int hf_qsig_ct_qsig_ct_CTUpdateArg_PDU = -1;  /* CTUpdateArg */
845 static int hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU = -1;  /* SubaddressTransferArg */
846 static int hf_qsig_ct_qsig_ct_Extension_PDU = -1;  /* Extension */
847 static int hf_qsig_ct_null = -1;                  /* NULL */
848 static int hf_qsig_ct_single = -1;                /* Extension */
849 static int hf_qsig_ct_multiple = -1;              /* SEQUENCE_OF_Extension */
850 static int hf_qsig_ct_multiple_item = -1;         /* Extension */
851 static int hf_qsig_ct_callIdentity = -1;          /* CallIdentity */
852 static int hf_qsig_ct_rerouteingNumber = -1;      /* PartyNumber */
853 static int hf_qsig_ct_resultExtension = -1;       /* T_resultExtension */
854 static int hf_qsig_ct_argumentExtensionCTI = -1;  /* CTIargumentExtension */
855 static int hf_qsig_ct_argumentExtensionCTS = -1;  /* CTSargumentExtension */
856 static int hf_qsig_ct_connectedAddress = -1;      /* PresentedAddressScreened */
857 static int hf_qsig_ct_basicCallInfoElements = -1;  /* PSS1InformationElement */
858 static int hf_qsig_ct_connectedName = -1;         /* Name */
859 static int hf_qsig_ct_argumentExtensionCTA = -1;  /* CTAargumentExtension */
860 static int hf_qsig_ct_endDesignation = -1;        /* EndDesignation */
861 static int hf_qsig_ct_redirectionNumber = -1;     /* PresentedNumberScreened */
862 static int hf_qsig_ct_redirectionName = -1;       /* Name */
863 static int hf_qsig_ct_callStatus = -1;            /* CallStatus */
864 static int hf_qsig_ct_argumentExtensionCTC = -1;  /* CTCargumentExtension */
865 static int hf_qsig_ct_argumentExtensionCTU = -1;  /* CTUargumentExtension */
866 static int hf_qsig_ct_redirectionSubaddress = -1;  /* PartySubaddress */
867 static int hf_qsig_ct_argumentExtensionST = -1;   /* STargumentExtension */
868
869 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
870
871 static int hf_qsig_cc_qsig_cc_CcRequestArg_PDU = -1;  /* CcRequestArg */
872 static int hf_qsig_cc_qsig_cc_CcRequestRes_PDU = -1;  /* CcRequestRes */
873 static int hf_qsig_cc_qsig_cc_CcOptionalArg_PDU = -1;  /* CcOptionalArg */
874 static int hf_qsig_cc_qsig_cc_CcExtension_PDU = -1;  /* CcExtension */
875 static int hf_qsig_cc_qsig_cc_Extension_PDU = -1;  /* Extension */
876 static int hf_qsig_cc_numberA = -1;               /* PresentedNumberUnscreened */
877 static int hf_qsig_cc_numberB = -1;               /* PartyNumber */
878 static int hf_qsig_cc_service = -1;               /* PSS1InformationElement */
879 static int hf_qsig_cc_subaddrA = -1;              /* PartySubaddress */
880 static int hf_qsig_cc_subaddrB = -1;              /* PartySubaddress */
881 static int hf_qsig_cc_can_retain_service = -1;    /* BOOLEAN */
882 static int hf_qsig_cc_retain_sig_connection = -1;  /* BOOLEAN */
883 static int hf_qsig_cc_extension = -1;             /* CcExtension */
884 static int hf_qsig_cc_no_path_reservation = -1;   /* BOOLEAN */
885 static int hf_qsig_cc_retain_service = -1;        /* BOOLEAN */
886 static int hf_qsig_cc_fullArg = -1;               /* T_fullArg */
887 static int hf_qsig_cc_numberA_01 = -1;            /* PartyNumber */
888 static int hf_qsig_cc_extArg = -1;                /* CcExtension */
889 static int hf_qsig_cc_none = -1;                  /* NULL */
890 static int hf_qsig_cc_single = -1;                /* Extension */
891 static int hf_qsig_cc_multiple = -1;              /* SEQUENCE_OF_Extension */
892 static int hf_qsig_cc_multiple_item = -1;         /* Extension */
893
894 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
895
896 static int hf_qsig_co_qsig_co_PathRetainArg_PDU = -1;  /* PathRetainArg */
897 static int hf_qsig_co_qsig_co_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
898 static int hf_qsig_co_qsig_co_DummyArg_PDU = -1;  /* DummyArg */
899 static int hf_qsig_co_qsig_co_DummyRes_PDU = -1;  /* DummyRes */
900 static int hf_qsig_co_qsig_co_Extension_PDU = -1;  /* Extension */
901 static int hf_qsig_co_serviceList = -1;           /* ServiceList */
902 static int hf_qsig_co_extendedServiceList = -1;   /* T_extendedServiceList */
903 static int hf_qsig_co_extension = -1;             /* Extension */
904 static int hf_qsig_co_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
905 static int hf_qsig_co_null = -1;                  /* NULL */
906 static int hf_qsig_co_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
907 static int hf_qsig_co_sequenceOfExtn_item = -1;   /* Extension */
908 /* named bits */
909 static int hf_qsig_co_ServiceList_callOffer = -1;
910
911 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
912
913 static int hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU = -1;  /* DNDActivateArg */
914 static int hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU = -1;  /* DNDActivateRes */
915 static int hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU = -1;  /* DNDDeactivateArg */
916 static int hf_qsig_dnd_qsig_dnd_DummyRes_PDU = -1;  /* DummyRes */
917 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU = -1;  /* DNDInterrogateArg */
918 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU = -1;  /* DNDInterrogateRes */
919 static int hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU = -1;  /* DNDOverrideArg */
920 static int hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU = -1;  /* PathRetainArg */
921 static int hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
922 static int hf_qsig_dnd_qsig_dnd_DummyArg_PDU = -1;  /* DummyArg */
923 static int hf_qsig_dnd_qsig_dnd_Extension_PDU = -1;  /* Extension */
924 static int hf_qsig_dnd_null = -1;                 /* NULL */
925 static int hf_qsig_dnd_extension = -1;            /* Extension */
926 static int hf_qsig_dnd_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
927 static int hf_qsig_dnd_sequenceOfExtn_item = -1;  /* Extension */
928 static int hf_qsig_dnd_basicService = -1;         /* BasicService */
929 static int hf_qsig_dnd_servedUserNr = -1;         /* PartyNumber */
930 static int hf_qsig_dnd_argumentExtensionDNDA = -1;  /* DNDAargumentExtension */
931 static int hf_qsig_dnd_status = -1;               /* T_status */
932 static int hf_qsig_dnd_status_item = -1;          /* T_status_item */
933 static int hf_qsig_dnd_dndProtectionLevel = -1;   /* DNDProtectionLevel */
934 static int hf_qsig_dnd_resultExtension = -1;      /* T_resultExtension */
935 static int hf_qsig_dnd_argumentExtensionDNDD = -1;  /* DNDDargumentExtension */
936 static int hf_qsig_dnd_argumentExtensionDNDI = -1;  /* DNDIargumentExtension */
937 static int hf_qsig_dnd_status_01 = -1;            /* T_status_01 */
938 static int hf_qsig_dnd_status_item_01 = -1;       /* T_status_item_01 */
939 static int hf_qsig_dnd_resultExtension_01 = -1;   /* T_resultExtension_01 */
940 static int hf_qsig_dnd_dndoCapabilityLevel = -1;  /* DNDOCapabilityLevel */
941 static int hf_qsig_dnd_argumentExtensionDNDO = -1;  /* DNDOargumentExtension */
942 static int hf_qsig_dnd_serviceList = -1;          /* ServiceList */
943 static int hf_qsig_dnd_extendedServiceList = -1;  /* T_extendedServiceList */
944 static int hf_qsig_dnd_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
945 /* named bits */
946 static int hf_qsig_dnd_ServiceList_dndo_low = -1;
947 static int hf_qsig_dnd_ServiceList_dndo_medium = -1;
948 static int hf_qsig_dnd_ServiceList_dndo_high = -1;
949
950 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
951
952 static int hf_qsig_ci_qsig_ci_PathRetainArg_PDU = -1;  /* PathRetainArg */
953 static int hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
954 static int hf_qsig_ci_qsig_ci_CIRequestArg_PDU = -1;  /* CIRequestArg */
955 static int hf_qsig_ci_qsig_ci_CIRequestRes_PDU = -1;  /* CIRequestRes */
956 static int hf_qsig_ci_qsig_ci_DummyArg_PDU = -1;  /* DummyArg */
957 static int hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU = -1;  /* CIGetCIPLRes */
958 static int hf_qsig_ci_qsig_ci_DummyRes_PDU = -1;  /* DummyRes */
959 static int hf_qsig_ci_qsig_ci_Extension_PDU = -1;  /* Extension */
960 static int hf_qsig_ci_serviceList = -1;           /* ServiceList */
961 static int hf_qsig_ci_extendedServiceList = -1;   /* T_extendedServiceList */
962 static int hf_qsig_ci_extension = -1;             /* Extension */
963 static int hf_qsig_ci_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
964 static int hf_qsig_ci_null = -1;                  /* NULL */
965 static int hf_qsig_ci_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
966 static int hf_qsig_ci_sequenceOfExtn_item = -1;   /* Extension */
967 static int hf_qsig_ci_ciCapabilityLevel = -1;     /* CICapabilityLevel */
968 static int hf_qsig_ci_argumentExtension = -1;     /* T_argumentExtension */
969 static int hf_qsig_ci_ciUnwantedUserStatus = -1;  /* CIUnwantedUserStatus */
970 static int hf_qsig_ci_resultExtension = -1;       /* T_resultExtension */
971 static int hf_qsig_ci_ciProtectionLevel = -1;     /* CIProtectionLevel */
972 static int hf_qsig_ci_resultExtension_01 = -1;    /* T_resultExtension_01 */
973 /* named bits */
974 static int hf_qsig_ci_ServiceList_ci_low = -1;
975 static int hf_qsig_ci_ServiceList_ci_medium = -1;
976 static int hf_qsig_ci_ServiceList_ci_high = -1;
977
978 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
979
980 static int hf_qsig_aoc_qsig_aoc_AocRateArg_PDU = -1;  /* AocRateArg */
981 static int hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU = -1;  /* AocInterimArg */
982 static int hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU = -1;  /* AocFinalArg */
983 static int hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU = -1;  /* ChargeRequestArg */
984 static int hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU = -1;  /* ChargeRequestRes */
985 static int hf_qsig_aoc_qsig_aoc_DummyArg_PDU = -1;  /* DummyArg */
986 static int hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU = -1;  /* AocCompleteArg */
987 static int hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU = -1;  /* AocCompleteRes */
988 static int hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU = -1;  /* AocDivChargeReqArg */
989 static int hf_qsig_aoc_qsig_aoc_Extension_PDU = -1;  /* Extension */
990 static int hf_qsig_aoc_aocRate = -1;              /* T_aocRate */
991 static int hf_qsig_aoc_chargeNotAvailable = -1;   /* NULL */
992 static int hf_qsig_aoc_aocSCurrencyInfoList = -1;  /* AOCSCurrencyInfoList */
993 static int hf_qsig_aoc_rateArgExtension = -1;     /* T_rateArgExtension */
994 static int hf_qsig_aoc_extension = -1;            /* Extension */
995 static int hf_qsig_aoc_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
996 static int hf_qsig_aoc_multipleExtension_item = -1;  /* Extension */
997 static int hf_qsig_aoc_interimCharge = -1;        /* T_interimCharge */
998 static int hf_qsig_aoc_freeOfCharge = -1;         /* NULL */
999 static int hf_qsig_aoc_specificCurrency = -1;     /* T_specificCurrency */
1000 static int hf_qsig_aoc_recordedCurrency = -1;     /* RecordedCurrency */
1001 static int hf_qsig_aoc_interimBillingId = -1;     /* InterimBillingId */
1002 static int hf_qsig_aoc_interimArgExtension = -1;  /* T_interimArgExtension */
1003 static int hf_qsig_aoc_finalCharge = -1;          /* T_finalCharge */
1004 static int hf_qsig_aoc_specificCurrency_01 = -1;  /* T_specificCurrency_01 */
1005 static int hf_qsig_aoc_finalBillingId = -1;       /* FinalBillingId */
1006 static int hf_qsig_aoc_chargingAssociation = -1;  /* ChargingAssociation */
1007 static int hf_qsig_aoc_finalArgExtension = -1;    /* T_finalArgExtension */
1008 static int hf_qsig_aoc_AOCSCurrencyInfoList_item = -1;  /* AOCSCurrencyInfo */
1009 static int hf_qsig_aoc_chargedItem = -1;          /* ChargedItem */
1010 static int hf_qsig_aoc_rateType = -1;             /* T_rateType */
1011 static int hf_qsig_aoc_durationCurrency = -1;     /* DurationCurrency */
1012 static int hf_qsig_aoc_flatRateCurrency = -1;     /* FlatRateCurrency */
1013 static int hf_qsig_aoc_volumeRateCurrency = -1;   /* VolumeRateCurrency */
1014 static int hf_qsig_aoc_specialChargingCode = -1;  /* SpecialChargingCode */
1015 static int hf_qsig_aoc_currencyInfoNotAvailable = -1;  /* NULL */
1016 static int hf_qsig_aoc_freeOfChargefromBeginning = -1;  /* NULL */
1017 static int hf_qsig_aoc_dCurrency = -1;            /* Currency */
1018 static int hf_qsig_aoc_dAmount = -1;              /* Amount */
1019 static int hf_qsig_aoc_dChargingType = -1;        /* ChargingType */
1020 static int hf_qsig_aoc_dTime = -1;                /* Time */
1021 static int hf_qsig_aoc_dGranularity = -1;         /* Time */
1022 static int hf_qsig_aoc_fRCurrency = -1;           /* Currency */
1023 static int hf_qsig_aoc_fRAmount = -1;             /* Amount */
1024 static int hf_qsig_aoc_vRCurrency = -1;           /* Currency */
1025 static int hf_qsig_aoc_vRAmount = -1;             /* Amount */
1026 static int hf_qsig_aoc_vRVolumeUnit = -1;         /* VolumeUnit */
1027 static int hf_qsig_aoc_rCurrency = -1;            /* Currency */
1028 static int hf_qsig_aoc_rAmount = -1;              /* Amount */
1029 static int hf_qsig_aoc_currencyAmount = -1;       /* CurrencyAmount */
1030 static int hf_qsig_aoc_multiplier = -1;           /* Multiplier */
1031 static int hf_qsig_aoc_lengthOfTimeUnit = -1;     /* LengthOfTimeUnit */
1032 static int hf_qsig_aoc_scale = -1;                /* Scale */
1033 static int hf_qsig_aoc_chargeNumber = -1;         /* PartyNumber */
1034 static int hf_qsig_aoc_chargeIdentifier = -1;     /* ChargeIdentifier */
1035 static int hf_qsig_aoc_adviceModeCombinations = -1;  /* SEQUENCE_SIZE_0_7_OF_AdviceModeCombination */
1036 static int hf_qsig_aoc_adviceModeCombinations_item = -1;  /* AdviceModeCombination */
1037 static int hf_qsig_aoc_chargeReqArgExtension = -1;  /* T_chargeReqArgExtension */
1038 static int hf_qsig_aoc_adviceModeCombination = -1;  /* AdviceModeCombination */
1039 static int hf_qsig_aoc_chargeReqResExtension = -1;  /* T_chargeReqResExtension */
1040 static int hf_qsig_aoc_none = -1;                 /* NULL */
1041 static int hf_qsig_aoc_chargedUser = -1;          /* PartyNumber */
1042 static int hf_qsig_aoc_completeArgExtension = -1;  /* T_completeArgExtension */
1043 static int hf_qsig_aoc_chargingOption = -1;       /* ChargingOption */
1044 static int hf_qsig_aoc_completeResExtension = -1;  /* T_completeResExtension */
1045 static int hf_qsig_aoc_divertingUser = -1;        /* PartyNumber */
1046 static int hf_qsig_aoc_diversionType = -1;        /* DiversionType */
1047 static int hf_qsig_aoc_aocDivChargeReqArgExt = -1;  /* T_aocDivChargeReqArgExt */
1048
1049 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1050
1051 static int hf_qsig_re_qsig_re_ReAlertingArg_PDU = -1;  /* ReAlertingArg */
1052 static int hf_qsig_re_qsig_re_ReAnswerArg_PDU = -1;  /* ReAnswerArg */
1053 static int hf_qsig_re_alertedNumber = -1;         /* PresentedNumberScreened */
1054 static int hf_qsig_re_alertedName = -1;           /* Name */
1055 static int hf_qsig_re_argumentExtension = -1;     /* T_argumentExtension */
1056 static int hf_qsig_re_extension = -1;             /* Extension */
1057 static int hf_qsig_re_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1058 static int hf_qsig_re_multipleExtension_item = -1;  /* Extension */
1059 static int hf_qsig_re_connectedNumber = -1;       /* PresentedNumberScreened */
1060 static int hf_qsig_re_connectedSubaddress = -1;   /* PartySubaddress */
1061 static int hf_qsig_re_connectedName = -1;         /* Name */
1062 static int hf_qsig_re_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1063
1064 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1065
1066 static int hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU = -1;  /* SynchronizationReqArg */
1067 static int hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU = -1;  /* SynchronizationReqRes */
1068 static int hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU = -1;  /* SynchronizationInfoArg */
1069 static int hf_qsig_sync_qsig_sync_Extension_PDU = -1;  /* Extension */
1070 static int hf_qsig_sync_action = -1;              /* Action */
1071 static int hf_qsig_sync_argExtension = -1;        /* ArgExtension */
1072 static int hf_qsig_sync_response = -1;            /* BOOLEAN */
1073 static int hf_qsig_sync_stateinfo = -1;           /* T_stateinfo */
1074 static int hf_qsig_sync_extension = -1;           /* Extension */
1075 static int hf_qsig_sync_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1076 static int hf_qsig_sync_sequOfExtn_item = -1;     /* Extension */
1077
1078 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1079
1080 static int hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU = -1;  /* CintInformation1Arg */
1081 static int hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU = -1;  /* CintInformation2Arg */
1082 static int hf_qsig_cint_qsig_cint_CintCondArg_PDU = -1;  /* CintCondArg */
1083 static int hf_qsig_cint_qsig_cint_CintExtension_PDU = -1;  /* CintExtension */
1084 static int hf_qsig_cint_interceptionCause = -1;   /* CintCause */
1085 static int hf_qsig_cint_interceptedToNumber = -1;  /* PartyNumber */
1086 static int hf_qsig_cint_extension = -1;           /* CintExtension */
1087 static int hf_qsig_cint_calledNumber = -1;        /* PresentedNumberUnscreened */
1088 static int hf_qsig_cint_originalCalledNumber = -1;  /* PresentedNumberUnscreened */
1089 static int hf_qsig_cint_calledName = -1;          /* Name */
1090 static int hf_qsig_cint_originalCalledName = -1;  /* Name */
1091 static int hf_qsig_cint_interceptionCause_01 = -1;  /* Condition */
1092 static int hf_qsig_cint_none = -1;                /* NULL */
1093 static int hf_qsig_cint_single = -1;              /* Extension */
1094 static int hf_qsig_cint_multiple = -1;            /* SEQUENCE_OF_Extension */
1095 static int hf_qsig_cint_multiple_item = -1;       /* Extension */
1096
1097 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1098
1099 static int hf_qsig_cmn_qsig_cmn_DummyArg_PDU = -1;  /* DummyArg */
1100 static int hf_qsig_cmn_qsig_cmn_CmnArg_PDU = -1;  /* CmnArg */
1101 static int hf_qsig_cmn_featureIdentifier = -1;    /* FeatureIdList */
1102 static int hf_qsig_cmn_ssDNDOprotectionLevel = -1;  /* INTEGER_0_3 */
1103 static int hf_qsig_cmn_ssCIprotectionLevel = -1;  /* INTEGER_0_3 */
1104 static int hf_qsig_cmn_equipmentIdentity = -1;    /* EquipmentId */
1105 static int hf_qsig_cmn_partyCategory = -1;        /* PartyCategory */
1106 static int hf_qsig_cmn_extension = -1;            /* T_extension */
1107 static int hf_qsig_cmn_single = -1;               /* Extension */
1108 static int hf_qsig_cmn_multiple = -1;             /* SEQUENCE_OF_Extension */
1109 static int hf_qsig_cmn_multiple_item = -1;        /* Extension */
1110 static int hf_qsig_cmn_null = -1;                 /* NULL */
1111 static int hf_qsig_cmn_nodeId = -1;               /* IA5String_SIZE_1_10 */
1112 static int hf_qsig_cmn_groupId = -1;              /* IA5String_SIZE_1_10 */
1113 static int hf_qsig_cmn_unitId = -1;               /* IA5String_SIZE_1_10 */
1114 /* named bits */
1115 static int hf_qsig_cmn_FeatureIdList_reserved = -1;
1116 static int hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported = -1;
1117 static int hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported = -1;
1118 static int hf_qsig_cmn_FeatureIdList_ssCCBSpossible = -1;
1119 static int hf_qsig_cmn_FeatureIdList_ssCCNRpossible = -1;
1120 static int hf_qsig_cmn_FeatureIdList_ssCOsupported = -1;
1121 static int hf_qsig_cmn_FeatureIdList_ssCIforcedRelease = -1;
1122 static int hf_qsig_cmn_FeatureIdList_ssCIisolation = -1;
1123 static int hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy = -1;
1124 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx = -1;
1125 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx = -1;
1126 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx = -1;
1127 static int hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx = -1;
1128 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate = -1;
1129 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed = -1;
1130 static int hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported = -1;
1131 static int hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported = -1;
1132 static int hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported = -1;
1133
1134 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1135
1136 static int hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU = -1;  /* CPIRequestArg */
1137 static int hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU = -1;  /* CPIPRequestArg */
1138 static int hf_qsig_cpi_cpiCapabilityLevel = -1;   /* CPICapabilityLevel */
1139 static int hf_qsig_cpi_argumentExtension = -1;    /* T_argumentExtension */
1140 static int hf_qsig_cpi_extension = -1;            /* Extension */
1141 static int hf_qsig_cpi_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
1142 static int hf_qsig_cpi_sequenceOfExtn_item = -1;  /* Extension */
1143 static int hf_qsig_cpi_cpiProtectionLevel = -1;   /* CPIProtectionLevel */
1144 static int hf_qsig_cpi_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1145
1146 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1147
1148 static int hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU = -1;  /* PumRegistrArg */
1149 static int hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU = -1;  /* PumRegistrRes */
1150 static int hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU = -1;  /* PumDelRegArg */
1151 static int hf_qsig_pumr_qsig_pumr_DummyRes_PDU = -1;  /* DummyRes */
1152 static int hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU = -1;  /* PumDe_regArg */
1153 static int hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU = -1;  /* PumInterrogArg */
1154 static int hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU = -1;  /* PumInterrogRes */
1155 static int hf_qsig_pumr_qsig_pumr_Extension_PDU = -1;  /* Extension */
1156 static int hf_qsig_pumr_pumRUserId = -1;          /* RpumUserId */
1157 static int hf_qsig_pumr_pumNumber = -1;           /* PartyNumber */
1158 static int hf_qsig_pumr_alternativeId = -1;       /* AlternativeId */
1159 static int hf_qsig_pumr_basicService = -1;        /* BasicService */
1160 static int hf_qsig_pumr_hostingAddr = -1;         /* PartyNumber */
1161 static int hf_qsig_pumr_activatingUserAddr = -1;  /* PartyNumber */
1162 static int hf_qsig_pumr_serviceOption = -1;       /* ServiceOption */
1163 static int hf_qsig_pumr_sessionParams = -1;       /* SessionParams */
1164 static int hf_qsig_pumr_userPin = -1;             /* T_userPin */
1165 static int hf_qsig_pumr_pumUserPin = -1;          /* UserPin */
1166 static int hf_qsig_pumr_activatingUserPin = -1;   /* UserPin */
1167 static int hf_qsig_pumr_argExtension = -1;        /* PumrExtension */
1168 static int hf_qsig_pumr_null = -1;                /* NULL */
1169 static int hf_qsig_pumr_extension = -1;           /* Extension */
1170 static int hf_qsig_pumr_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1171 static int hf_qsig_pumr_sequOfExtn_item = -1;     /* Extension */
1172 static int hf_qsig_pumr_pumXUserId = -1;          /* XpumUserId */
1173 static int hf_qsig_pumr_pumDUserId = -1;          /* DpumUserId */
1174 static int hf_qsig_pumr_userPin_01 = -1;          /* T_userPin_01 */
1175 static int hf_qsig_pumr_pumIUserId = -1;          /* IpumUserId */
1176 static int hf_qsig_pumr_homeInfoOnly = -1;        /* BOOLEAN */
1177 static int hf_qsig_pumr_userPin_02 = -1;          /* T_userPin_02 */
1178 static int hf_qsig_pumr_PumInterrogRes_item = -1;  /* PumInterrogRes_item */
1179 static int hf_qsig_pumr_interrogParams = -1;      /* SessionParams */
1180 static int hf_qsig_pumr_durationOfSession = -1;   /* INTEGER */
1181 static int hf_qsig_pumr_numberOfOutgCalls = -1;   /* INTEGER */
1182
1183 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1184
1185 static int hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1186 static int hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1187 static int hf_qsig_pumch_qsig_pumch_DivertArg_PDU = -1;  /* DivertArg */
1188 static int hf_qsig_pumch_qsig_pumch_DummyRes_PDU = -1;  /* DummyRes */
1189 static int hf_qsig_pumch_qsig_pumch_InformArg_PDU = -1;  /* InformArg */
1190 static int hf_qsig_pumch_qsig_pumch_PumoArg_PDU = -1;  /* PumoArg */
1191 static int hf_qsig_pumch_qsig_pumch_Extension_PDU = -1;  /* Extension */
1192 static int hf_qsig_pumch_pisnNumber = -1;         /* PartyNumber */
1193 static int hf_qsig_pumch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1194 static int hf_qsig_pumch_argExtension = -1;       /* PumiExtension */
1195 static int hf_qsig_pumch_hostingAddr = -1;        /* PartyNumber */
1196 static int hf_qsig_pumch_callingNumber = -1;      /* PresentedNumberScreened */
1197 static int hf_qsig_pumch_pumIdentity = -1;        /* PumIdentity */
1198 static int hf_qsig_pumch_callingUserSub = -1;     /* PartySubaddress */
1199 static int hf_qsig_pumch_callingUserName = -1;    /* Name */
1200 static int hf_qsig_pumch_pumUserSub = -1;         /* PartySubaddress */
1201 static int hf_qsig_pumch_currLocation = -1;       /* CurrLocation */
1202 static int hf_qsig_pumch_cfuActivated = -1;       /* CfuActivated */
1203 static int hf_qsig_pumch_divToAddress = -1;       /* Address */
1204 static int hf_qsig_pumch_divOptions = -1;         /* SubscriptionOption */
1205 static int hf_qsig_pumch_pumName = -1;            /* Name */
1206 static int hf_qsig_pumch_null = -1;               /* NULL */
1207 static int hf_qsig_pumch_extension = -1;          /* Extension */
1208 static int hf_qsig_pumch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1209 static int hf_qsig_pumch_sequOfExtn_item = -1;    /* Extension */
1210 static int hf_qsig_pumch_alternativeId = -1;      /* AlternativeId */
1211 static int hf_qsig_pumch_both = -1;               /* T_both */
1212 static int hf_qsig_pumch_destinationNumber = -1;  /* PartyNumber */
1213 static int hf_qsig_pumch_sendingComplete = -1;    /* NULL */
1214 static int hf_qsig_pumch_pumoaextension = -1;     /* T_pumoaextension */
1215 static int hf_qsig_pumch_single = -1;             /* Extension */
1216 static int hf_qsig_pumch_multiple = -1;           /* SEQUENCE_OF_Extension */
1217 static int hf_qsig_pumch_multiple_item = -1;      /* Extension */
1218
1219 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1220
1221 static int hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU = -1;  /* SSCTInitiateArg */
1222 static int hf_qsig_ssct_qsig_ssct_DummyRes_PDU = -1;  /* DummyRes */
1223 static int hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU = -1;  /* SSCTSetupArg */
1224 static int hf_qsig_ssct_qsig_ssct_DummyArg_PDU = -1;  /* DummyArg */
1225 static int hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU = -1;  /* SSCTDigitInfoArg */
1226 static int hf_qsig_ssct_qsig_ssct_Extension_PDU = -1;  /* Extension */
1227 static int hf_qsig_ssct_null = -1;                /* NULL */
1228 static int hf_qsig_ssct_single = -1;              /* Extension */
1229 static int hf_qsig_ssct_multiple = -1;            /* SEQUENCE_OF_Extension */
1230 static int hf_qsig_ssct_multiple_item = -1;       /* Extension */
1231 static int hf_qsig_ssct_rerouteingNumber = -1;    /* PartyNumber */
1232 static int hf_qsig_ssct_transferredAddress = -1;  /* PresentedAddressScreened */
1233 static int hf_qsig_ssct_awaitConnect = -1;        /* AwaitConnect */
1234 static int hf_qsig_ssct_transferredName = -1;     /* Name */
1235 static int hf_qsig_ssct_transferringAddress = -1;  /* PresentedAddressScreened */
1236 static int hf_qsig_ssct_transferringName = -1;    /* Name */
1237 static int hf_qsig_ssct_argumentExtensionSSCTI = -1;  /* SSCTIargumentExtension */
1238 static int hf_qsig_ssct_argumentExtensionSSCTS = -1;  /* SSCTSargumentExtension */
1239 static int hf_qsig_ssct_reroutingNumber = -1;     /* PartyNumber */
1240 static int hf_qsig_ssct_sendingComplete = -1;     /* NULL */
1241 static int hf_qsig_ssct_argumentExtensionSSCTD = -1;  /* SSCTDargumentExtension */
1242
1243 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1244
1245 static int hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU = -1;  /* LocUpdArg */
1246 static int hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU = -1;  /* DummyRes */
1247 static int hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU = -1;  /* LocDelArg */
1248 static int hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU = -1;  /* LocDeRegArg */
1249 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU = -1;  /* PisnEnqArg */
1250 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU = -1;  /* PisnEnqRes */
1251 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU = -1;  /* GetRRCInfArg */
1252 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU = -1;  /* GetRRCInfRes */
1253 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU = -1;  /* LocInfoCheckArg */
1254 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU = -1;  /* LocInfoCheckRes */
1255 static int hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU = -1;  /* Extension */
1256 static int hf_qsig_wtmlr_wtmUserId = -1;          /* WtmUserId */
1257 static int hf_qsig_wtmlr_basicService = -1;       /* BasicService */
1258 static int hf_qsig_wtmlr_visitPINX = -1;          /* PartyNumber */
1259 static int hf_qsig_wtmlr_argExtension = -1;       /* LrExtension */
1260 static int hf_qsig_wtmlr_null = -1;               /* NULL */
1261 static int hf_qsig_wtmlr_extension = -1;          /* Extension */
1262 static int hf_qsig_wtmlr_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1263 static int hf_qsig_wtmlr_sequOfExtn_item = -1;    /* Extension */
1264 static int hf_qsig_wtmlr_alternativeId = -1;      /* AlternativeId */
1265 static int hf_qsig_wtmlr_resExtension = -1;       /* LrExtension */
1266 static int hf_qsig_wtmlr_rrClass = -1;            /* RRClass */
1267 static int hf_qsig_wtmlr_checkResult = -1;        /* CheckResult */
1268 static int hf_qsig_wtmlr_pisnNumber = -1;         /* PartyNumber */
1269
1270 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1271
1272 static int hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1273 static int hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1274 static int hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU = -1;  /* DivertArg */
1275 static int hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU = -1;  /* DummyRes */
1276 static int hf_qsig_wtmch_qsig_wtmch_InformArg_PDU = -1;  /* InformArg */
1277 static int hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU = -1;  /* WtmoArg */
1278 static int hf_qsig_wtmch_qsig_wtmch_Extension_PDU = -1;  /* Extension */
1279 static int hf_qsig_wtmch_pisnNumber = -1;         /* PartyNumber */
1280 static int hf_qsig_wtmch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1281 static int hf_qsig_wtmch_argExtension = -1;       /* WtmiExtension */
1282 static int hf_qsig_wtmch_visitPINX = -1;          /* PartyNumber */
1283 static int hf_qsig_wtmch_callingNumber = -1;      /* PresentedNumberScreened */
1284 static int hf_qsig_wtmch_wtmIdentity = -1;        /* WtmIdentity */
1285 static int hf_qsig_wtmch_callingUserSub = -1;     /* PartySubaddress */
1286 static int hf_qsig_wtmch_callingName = -1;        /* Name */
1287 static int hf_qsig_wtmch_wtmUserSub = -1;         /* PartySubaddress */
1288 static int hf_qsig_wtmch_currLocation = -1;       /* CurrLocation */
1289 static int hf_qsig_wtmch_cfuActivated = -1;       /* CfuActivated */
1290 static int hf_qsig_wtmch_divToAddress = -1;       /* Address */
1291 static int hf_qsig_wtmch_divOptions = -1;         /* SubscriptionOption */
1292 static int hf_qsig_wtmch_wtmName = -1;            /* Name */
1293 static int hf_qsig_wtmch_null = -1;               /* NULL */
1294 static int hf_qsig_wtmch_extension = -1;          /* Extension */
1295 static int hf_qsig_wtmch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1296 static int hf_qsig_wtmch_sequOfExtn_item = -1;    /* Extension */
1297 static int hf_qsig_wtmch_alternativeId = -1;      /* AlternativeId */
1298 static int hf_qsig_wtmch_both = -1;               /* T_both */
1299 static int hf_qsig_wtmch_destinationNumber = -1;  /* PartyNumber */
1300 static int hf_qsig_wtmch_sendingComplete = -1;    /* NULL */
1301 static int hf_qsig_wtmch_wtmoaextension = -1;     /* T_wtmoaextension */
1302 static int hf_qsig_wtmch_single = -1;             /* Extension */
1303 static int hf_qsig_wtmch_multiple = -1;           /* SEQUENCE_OF_Extension */
1304 static int hf_qsig_wtmch_multiple_item = -1;      /* Extension */
1305
1306 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1307
1308 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU = -1;  /* AuthWtmArg */
1309 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU = -1;  /* AuthWtmRes */
1310 static int hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU = -1;  /* WtatParamArg */
1311 static int hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU = -1;  /* WtatParamRes */
1312 static int hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU = -1;  /* WtanParamArg */
1313 static int hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU = -1;  /* WtanParamRes */
1314 static int hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU = -1;  /* ARG_transferAuthParam */
1315 static int hf_qsig_wtmau_qsig_wtmau_Extension_PDU = -1;  /* Extension */
1316 static int hf_qsig_wtmau_wtmUserId = -1;          /* WtmUserId */
1317 static int hf_qsig_wtmau_calcWtatInfo = -1;       /* CalcWtatInfo */
1318 static int hf_qsig_wtmau_dummyExtension = -1;     /* DummyExtension */
1319 static int hf_qsig_wtmau_autWtmResValue = -1;     /* T_autWtmResValue */
1320 static int hf_qsig_wtmau_canCompute = -1;         /* CanCompute */
1321 static int hf_qsig_wtmau_authChallenge = -1;      /* AuthChallenge */
1322 static int hf_qsig_wtmau_wtatParamInfo = -1;      /* WtatParamInfo */
1323 static int hf_qsig_wtmau_authAlgorithm = -1;      /* AuthAlgorithm */
1324 static int hf_qsig_wtmau_pisnNumber = -1;         /* PartyNumber */
1325 static int hf_qsig_wtmau_alternativeId = -1;      /* AlternativeId */
1326 static int hf_qsig_wtmau_wtanParamInfo = -1;      /* WtanParamInfo */
1327 static int hf_qsig_wtmau_wtatParamInfoChoice = -1;  /* T_wtatParamInfoChoice */
1328 static int hf_qsig_wtmau_authSessionKeyInfo = -1;  /* AuthSessionKeyInfo */
1329 static int hf_qsig_wtmau_authKey = -1;            /* AuthKey */
1330 static int hf_qsig_wtmau_challLen = -1;           /* INTEGER_1_8 */
1331 static int hf_qsig_wtmau_calcWtanInfo = -1;       /* CalcWtanInfo */
1332 static int hf_qsig_wtmau_authSessionKey = -1;     /* AuthSessionKey */
1333 static int hf_qsig_wtmau_calculationParam = -1;   /* CalculationParam */
1334 static int hf_qsig_wtmau_CalcWtatInfo_item = -1;  /* CalcWtatInfoUnit */
1335 static int hf_qsig_wtmau_authResponse = -1;       /* AuthResponse */
1336 static int hf_qsig_wtmau_derivedCipherKey = -1;   /* DerivedCipherKey */
1337 static int hf_qsig_wtmau_extension = -1;          /* Extension */
1338 static int hf_qsig_wtmau_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1339 static int hf_qsig_wtmau_sequOfExtn_item = -1;    /* Extension */
1340 static int hf_qsig_wtmau_authAlg = -1;            /* DefinedIDs */
1341 static int hf_qsig_wtmau_param = -1;              /* T_param */
1342
1343 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1344
1345 static int hf_qsig_sd_qsig_sd_DisplayArg_PDU = -1;  /* DisplayArg */
1346 static int hf_qsig_sd_qsig_sd_KeypadArg_PDU = -1;  /* KeypadArg */
1347 static int hf_qsig_sd_qsig_sd_Extension_PDU = -1;  /* Extension */
1348 static int hf_qsig_sd_displayString = -1;         /* DisplayString */
1349 static int hf_qsig_sd_sdextension = -1;           /* SDExtension */
1350 static int hf_qsig_sd_displayStringNormal = -1;   /* BMPStringNormal */
1351 static int hf_qsig_sd_displayStringExtended = -1;  /* BMPStringExtended */
1352 static int hf_qsig_sd_keypadString = -1;          /* BMPStringNormal */
1353 static int hf_qsig_sd_extension = -1;             /* Extension */
1354 static int hf_qsig_sd_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1355 static int hf_qsig_sd_multipleExtension_item = -1;  /* Extension */
1356
1357 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1358
1359 static int hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU = -1;  /* CallIdentificationAssignArg */
1360 static int hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU = -1;  /* CallIdentificationUpdateArg */
1361 static int hf_qsig_cidl_globalCallID = -1;        /* CallIdentificationData */
1362 static int hf_qsig_cidl_threadID = -1;            /* CallIdentificationData */
1363 static int hf_qsig_cidl_legID = -1;               /* CallIdentificationData */
1364 static int hf_qsig_cidl_extensiont = -1;          /* ExtensionType */
1365 static int hf_qsig_cidl_switchingSubDomainName = -1;  /* SwitchingSubDomainName */
1366 static int hf_qsig_cidl_linkageID = -1;           /* T_linkageID */
1367 static int hf_qsig_cidl_subDomainID = -1;         /* SubDomainID */
1368 static int hf_qsig_cidl_globallyUniqueID = -1;    /* GloballyUniqueID */
1369 static int hf_qsig_cidl_timeStamp = -1;           /* TimeStamp */
1370 static int hf_qsig_cidl_extension = -1;           /* Extension */
1371 static int hf_qsig_cidl_sequenceOfExt = -1;       /* SEQUENCE_OF_Extension */
1372 static int hf_qsig_cidl_sequenceOfExt_item = -1;  /* Extension */
1373
1374 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1375
1376 static int hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU = -1;  /* SmsSubmitArg */
1377 static int hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU = -1;  /* SmsSubmitRes */
1378 static int hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU = -1;  /* SmsDeliverArg */
1379 static int hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU = -1;  /* SmsDeliverRes */
1380 static int hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU = -1;  /* SmsStatusReportArg */
1381 static int hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU = -1;  /* SmsStatusReportRes */
1382 static int hf_qsig_sms_qsig_sms_SmsCommandArg_PDU = -1;  /* SmsCommandArg */
1383 static int hf_qsig_sms_qsig_sms_SmsCommandRes_PDU = -1;  /* SmsCommandRes */
1384 static int hf_qsig_sms_qsig_sms_ScAlertArg_PDU = -1;  /* ScAlertArg */
1385 static int hf_qsig_sms_qsig_sms_DummyRes_PDU = -1;  /* DummyRes */
1386 static int hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU = -1;  /* PAR_smsDeliverError */
1387 static int hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU = -1;  /* PAR_smsSubmitError */
1388 static int hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU = -1;  /* PAR_smsStatusReportError */
1389 static int hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU = -1;  /* PAR_smsCommandError */
1390 static int hf_qsig_sms_qsig_sms_SmsExtension_PDU = -1;  /* SmsExtension */
1391 static int hf_qsig_sms_destinationAddress = -1;   /* PartyNumber */
1392 static int hf_qsig_sms_originatingAddress = -1;   /* PartyNumber */
1393 static int hf_qsig_sms_messageReference = -1;     /* MessageReference */
1394 static int hf_qsig_sms_smSubmitParameter = -1;    /* SmSubmitParameter */
1395 static int hf_qsig_sms_userData = -1;             /* UserData */
1396 static int hf_qsig_sms_smsExtension = -1;         /* SmsExtension */
1397 static int hf_qsig_sms_serviceCentreTimeStamp = -1;  /* ServiceCentreTimeStamp */
1398 static int hf_qsig_sms_protocolIdentifier = -1;   /* ProtocolIdentifier */
1399 static int hf_qsig_sms_originatingName = -1;      /* Name */
1400 static int hf_qsig_sms_smDeliverParameter = -1;   /* SmDeliverParameter */
1401 static int hf_qsig_sms_smsDeliverResponseChoice = -1;  /* SmsDeliverResChoice */
1402 static int hf_qsig_sms_dischargeTime = -1;        /* DischargeTime */
1403 static int hf_qsig_sms_recipientAddress = -1;     /* PartyNumber */
1404 static int hf_qsig_sms_recipientName = -1;        /* Name */
1405 static int hf_qsig_sms_status = -1;               /* Status */
1406 static int hf_qsig_sms_priority = -1;             /* BOOLEAN */
1407 static int hf_qsig_sms_moreMessagesToSend = -1;   /* BOOLEAN */
1408 static int hf_qsig_sms_statusReportQualifier = -1;  /* BOOLEAN */
1409 static int hf_qsig_sms_smsStatusReportResponseChoice = -1;  /* SmsStatusReportResponseChoice */
1410 static int hf_qsig_sms_messageNumber = -1;        /* MessageReference */
1411 static int hf_qsig_sms_commandType = -1;          /* CommandType */
1412 static int hf_qsig_sms_commandData = -1;          /* CommandData */
1413 static int hf_qsig_sms_statusReportRequest = -1;  /* BOOLEAN */
1414 static int hf_qsig_sms_null = -1;                 /* NULL */
1415 static int hf_qsig_sms_validityPeriod = -1;       /* ValidityPeriod */
1416 static int hf_qsig_sms_replyPath = -1;            /* BOOLEAN */
1417 static int hf_qsig_sms_rejectDuplicates = -1;     /* BOOLEAN */
1418 static int hf_qsig_sms_statusReportIndication = -1;  /* BOOLEAN */
1419 static int hf_qsig_sms_resChoiceSeq = -1;         /* ResChoiceSeq */
1420 static int hf_qsig_sms_single = -1;               /* Extension */
1421 static int hf_qsig_sms_multiple = -1;             /* SEQUENCE_OF_Extension */
1422 static int hf_qsig_sms_multiple_item = -1;        /* Extension */
1423 static int hf_qsig_sms_validityPeriodRel = -1;    /* ValidityPeriodRel */
1424 static int hf_qsig_sms_validityPeriodAbs = -1;    /* ValidityPeriodAbs */
1425 static int hf_qsig_sms_validityPeriodEnh = -1;    /* ValidityPeriodEnh */
1426 static int hf_qsig_sms_singleShotSM = -1;         /* BOOLEAN */
1427 static int hf_qsig_sms_enhancedVP = -1;           /* EnhancedVP */
1428 static int hf_qsig_sms_validityPeriodSec = -1;    /* INTEGER_0_255 */
1429 static int hf_qsig_sms_validityPeriodSemi = -1;   /* ValidityPeriodSemi */
1430 static int hf_qsig_sms_userDataHeader = -1;       /* UserDataHeader */
1431 static int hf_qsig_sms_class = -1;                /* INTEGER_0_3 */
1432 static int hf_qsig_sms_compressed = -1;           /* BOOLEAN */
1433 static int hf_qsig_sms_shortMessageText = -1;     /* ShortMessageText */
1434 static int hf_qsig_sms_shortMessageTextType = -1;  /* ShortMessageTextType */
1435 static int hf_qsig_sms_shortMessageTextData = -1;  /* ShortMessageTextData */
1436 static int hf_qsig_sms_UserDataHeader_item = -1;  /* UserDataHeaderChoice */
1437 static int hf_qsig_sms_smscControlParameterHeader = -1;  /* SmscControlParameterHeader */
1438 static int hf_qsig_sms_concatenated8BitSMHeader = -1;  /* Concatenated8BitSMHeader */
1439 static int hf_qsig_sms_concatenated16BitSMHeader = -1;  /* Concatenated16BitSMHeader */
1440 static int hf_qsig_sms_applicationPort8BitHeader = -1;  /* ApplicationPort8BitHeader */
1441 static int hf_qsig_sms_applicationPort16BitHeader = -1;  /* ApplicationPort16BitHeader */
1442 static int hf_qsig_sms_dataHeaderSourceIndicator = -1;  /* DataHeaderSourceIndicator */
1443 static int hf_qsig_sms_wirelessControlHeader = -1;  /* WirelessControlHeader */
1444 static int hf_qsig_sms_genericUserValue = -1;     /* GenericUserValue */
1445 static int hf_qsig_sms_concatenated8BitSMReferenceNumber = -1;  /* INTEGER_0_255 */
1446 static int hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1447 static int hf_qsig_sms_sequenceNumberOf8BitSM = -1;  /* INTEGER_0_255 */
1448 static int hf_qsig_sms_concatenated16BitSMReferenceNumber = -1;  /* INTEGER_0_65536 */
1449 static int hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1450 static int hf_qsig_sms_sequenceNumberOf16BitSM = -1;  /* INTEGER_0_255 */
1451 static int hf_qsig_sms_destination8BitPort = -1;  /* INTEGER_0_255 */
1452 static int hf_qsig_sms_originator8BitPort = -1;   /* INTEGER_0_255 */
1453 static int hf_qsig_sms_destination16BitPort = -1;  /* INTEGER_0_65536 */
1454 static int hf_qsig_sms_originator16BitPort = -1;  /* INTEGER_0_65536 */
1455 static int hf_qsig_sms_parameterValue = -1;       /* INTEGER_0_255 */
1456 static int hf_qsig_sms_genericUserData = -1;      /* OCTET_STRING */
1457 static int hf_qsig_sms_failureCause = -1;         /* FailureCause */
1458 static int hf_qsig_sms_scAddressSaved = -1;       /* BOOLEAN */
1459 /* named bits */
1460 static int hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted = -1;
1461 static int hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError = -1;
1462 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying = -1;
1463 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying = -1;
1464 static int hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM = -1;
1465 static int hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR = -1;
1466
1467 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1468
1469 static int hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU = -1;  /* MCRequestArg */
1470 static int hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU = -1;  /* MCRequestResult */
1471 static int hf_qsig_mcr_qsig_mcr_MCInformArg_PDU = -1;  /* MCInformArg */
1472 static int hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU = -1;  /* MCAlertingArg */
1473 static int hf_qsig_mcr_qsig_mcr_Extension_PDU = -1;  /* Extension */
1474 static int hf_qsig_mcr_callType = -1;             /* CallType */
1475 static int hf_qsig_mcr_retainOrigCall = -1;       /* BOOLEAN */
1476 static int hf_qsig_mcr_destinationAddress = -1;   /* PresentedAddressUnscreened */
1477 static int hf_qsig_mcr_requestingAddress = -1;    /* PresentedAddressUnscreened */
1478 static int hf_qsig_mcr_cooperatingAddress = -1;   /* PresentedAddressUnscreened */
1479 static int hf_qsig_mcr_correlation = -1;          /* Correlation */
1480 static int hf_qsig_mcr_extensions = -1;           /* MCRExtensions */
1481 static int hf_qsig_mcr_basicService = -1;         /* BasicService */
1482 static int hf_qsig_mcr_cisc = -1;                 /* NULL */
1483 static int hf_qsig_mcr_correlationData = -1;      /* CallIdentity */
1484 static int hf_qsig_mcr_correlationReason = -1;    /* CorrelationReason */
1485 static int hf_qsig_mcr_none = -1;                 /* NULL */
1486 static int hf_qsig_mcr_single = -1;               /* Extension */
1487 static int hf_qsig_mcr_multiple = -1;             /* SEQUENCE_OF_Extension */
1488 static int hf_qsig_mcr_multiple_item = -1;        /* Extension */
1489
1490 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1491
1492 static int hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU = -1;  /* MCMNewMsgArg */
1493 static int hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU = -1;  /* MCMDummyRes */
1494 static int hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU = -1;  /* MCMNoNewMsgArg */
1495 static int hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU = -1;  /* MCMUpdateArg */
1496 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU = -1;  /* MCMUpdateReqArg */
1497 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU = -1;  /* MCMUpdateReqRes */
1498 static int hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU = -1;  /* MCMServiceArg */
1499 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU = -1;  /* MCMInterrogateArg */
1500 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU = -1;  /* MCMInterrogateRes */
1501 static int hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU = -1;  /* MCMailboxFullArg */
1502 static int hf_qsig_mcm_qsig_mcm_Extension_PDU = -1;  /* Extension */
1503 static int hf_qsig_mcm_partyInfo = -1;            /* PartyInfo */
1504 static int hf_qsig_mcm_mailboxFullFor = -1;       /* MailboxFullFor */
1505 static int hf_qsig_mcm_extensions = -1;           /* MCMExtensions */
1506 static int hf_qsig_mcm_MailboxFullFor_item = -1;  /* MailboxFullPar */
1507 static int hf_qsig_mcm_messageType = -1;          /* MessageType */
1508 static int hf_qsig_mcm_capacityReached = -1;      /* INTEGER_0_100 */
1509 static int hf_qsig_mcm_mCMChange = -1;            /* MCMChange */
1510 static int hf_qsig_mcm_activateMCM = -1;          /* SEQUENCE_OF_MCMServiceInfo */
1511 static int hf_qsig_mcm_activateMCM_item = -1;     /* MCMServiceInfo */
1512 static int hf_qsig_mcm_deactivateMCM = -1;        /* SEQUENCE_OF_MessageType */
1513 static int hf_qsig_mcm_deactivateMCM_item = -1;   /* MessageType */
1514 static int hf_qsig_mcm_setToDefaultValues = -1;   /* NULL */
1515 static int hf_qsig_mcm_mCMModeNew = -1;           /* MCMMode */
1516 static int hf_qsig_mcm_mCMModeRetrieved = -1;     /* MCMMode */
1517 static int hf_qsig_mcm_interrogateInfo = -1;      /* SEQUENCE_OF_MessageType */
1518 static int hf_qsig_mcm_interrogateInfo_item = -1;  /* MessageType */
1519 static int hf_qsig_mcm_interrogateResult = -1;    /* SEQUENCE_OF_MCMServiceInfo */
1520 static int hf_qsig_mcm_interrogateResult_item = -1;  /* MCMServiceInfo */
1521 static int hf_qsig_mcm_servedUserNr = -1;         /* PartyNumber */
1522 static int hf_qsig_mcm_specificMessageType = -1;  /* MessageType */
1523 static int hf_qsig_mcm_msgCentreId = -1;          /* MsgCentreId */
1524 static int hf_qsig_mcm_nrOfMessages = -1;         /* NrOfMessages */
1525 static int hf_qsig_mcm_originatingNr = -1;        /* PartyNumber */
1526 static int hf_qsig_mcm_timestamp = -1;            /* TimeStamp */
1527 static int hf_qsig_mcm_priority = -1;             /* INTEGER_0_9 */
1528 static int hf_qsig_mcm_argumentExtMCMNew = -1;    /* MCMNewArgumentExt */
1529 static int hf_qsig_mcm_extension = -1;            /* Extension */
1530 static int hf_qsig_mcm_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1531 static int hf_qsig_mcm_multipleExtension_item = -1;  /* Extension */
1532 static int hf_qsig_mcm_argumentExtMCMNoNew = -1;  /* MCMNoNewArgumentExt */
1533 static int hf_qsig_mcm_updateInfo = -1;           /* UpdateInfo */
1534 static int hf_qsig_mcm_moreInfoFollows = -1;      /* BOOLEAN */
1535 static int hf_qsig_mcm_argumentExtMCMUpdArg = -1;  /* MCMUpdArgArgumentExt */
1536 static int hf_qsig_mcm_MCMUpdateReqRes_item = -1;  /* MCMUpdateReqResElt */
1537 static int hf_qsig_mcm_argumentExtMCMUpdRes = -1;  /* MCMUpdResArgumentExt */
1538 static int hf_qsig_mcm_messageCentreID = -1;      /* MsgCentreId */
1539 static int hf_qsig_mcm_newMsgInfoOnly = -1;       /* MessageInfo */
1540 static int hf_qsig_mcm_retrievedMsgInfoOnly = -1;  /* MessageInfo */
1541 static int hf_qsig_mcm_allMsgInfo = -1;           /* AllMsgInfo */
1542 static int hf_qsig_mcm_newMsgInfo = -1;           /* MessageInfo */
1543 static int hf_qsig_mcm_retrievedMsgInfo = -1;     /* MessageInfo */
1544 static int hf_qsig_mcm_completeInfo = -1;         /* CompleteInfo */
1545 static int hf_qsig_mcm_compressedInfo = -1;       /* CompressedInfo */
1546 static int hf_qsig_mcm_noMsgsOfMsgType = -1;      /* NULL */
1547 static int hf_qsig_mcm_CompleteInfo_item = -1;    /* AddressHeader */
1548 static int hf_qsig_mcm_originatorNr = -1;         /* PartyNumber */
1549 static int hf_qsig_mcm_timeStamp = -1;            /* TimeStamp */
1550 static int hf_qsig_mcm_ahpriority = -1;           /* Priority */
1551 static int hf_qsig_mcm_lastTimeStamp = -1;        /* TimeStamp */
1552 static int hf_qsig_mcm_highestPriority = -1;      /* Priority */
1553 static int hf_qsig_mcm_integer = -1;              /* INTEGER_0_65535 */
1554 static int hf_qsig_mcm_partyNumber = -1;          /* PartyNumber */
1555 static int hf_qsig_mcm_numericString = -1;        /* NumericString_SIZE_1_10 */
1556 static int hf_qsig_mcm_none = -1;                 /* NULL */
1557
1558 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
1559
1560 static int hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU = -1;  /* MIDMailboxAuthArg */
1561 static int hf_qsig_mid_qsig_mid_MIDDummyRes_PDU = -1;  /* MIDDummyRes */
1562 static int hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU = -1;  /* MIDMailboxIDArg */
1563 static int hf_qsig_mid_qsig_mid_Extension_PDU = -1;  /* Extension */
1564 static int hf_qsig_mid_partyInfo = -1;            /* PartyInfo */
1565 static int hf_qsig_mid_servedUserName = -1;       /* Name */
1566 static int hf_qsig_mid_mailBox = -1;              /* String */
1567 static int hf_qsig_mid_password = -1;             /* String */
1568 static int hf_qsig_mid_extensions = -1;           /* MIDExtensions */
1569 static int hf_qsig_mid_servedUserNr = -1;         /* PresentedAddressUnscreened */
1570 static int hf_qsig_mid_messageType = -1;          /* MessageType */
1571 static int hf_qsig_mid_messageCentreID = -1;      /* MsgCentreId */
1572 static int hf_qsig_mid_stringBmp = -1;            /* BMPString */
1573 static int hf_qsig_mid_stringUtf8 = -1;           /* UTF8String */
1574 static int hf_qsig_mid_none = -1;                 /* NULL */
1575 static int hf_qsig_mid_extension = -1;            /* Extension */
1576 static int hf_qsig_mid_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1577 static int hf_qsig_mid_multipleExtension_item = -1;  /* Extension */
1578
1579 /*--- End of included file: packet-qsig-hf.c ---*/
1580 #line 293 "../../asn1/qsig/packet-qsig-template.c"
1581
1582 static int *hf_qsig_ie_type_arr[] = {
1583   NULL,
1584   NULL,
1585   NULL,
1586   NULL,
1587   &hf_qsig_ie_type_cs4,
1588   &hf_qsig_ie_type_cs5,
1589   NULL,
1590   NULL,
1591 };
1592
1593 /* Initialize the subtree pointers */
1594 static gint ett_qsig = -1;
1595 static gint ett_qsig_ie = -1;
1596 static gint ett_qsig_unknown_extension = -1;
1597
1598 /*--- Included file: packet-qsig-ett.c ---*/
1599 #line 1 "../../asn1/qsig/packet-qsig-ett.c"
1600
1601 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
1602
1603 static gint ett_qsig_Extension = -1;
1604 static gint ett_qsig_PresentedAddressScreened = -1;
1605 static gint ett_qsig_PresentedAddressUnscreened = -1;
1606 static gint ett_qsig_PresentedNumberScreened = -1;
1607 static gint ett_qsig_PresentedNumberUnscreened = -1;
1608 static gint ett_qsig_AddressScreened = -1;
1609 static gint ett_qsig_NumberScreened = -1;
1610 static gint ett_qsig_Address = -1;
1611 static gint ett_qsig_PartyNumber = -1;
1612 static gint ett_qsig_PublicPartyNumber = -1;
1613 static gint ett_qsig_PrivatePartyNumber = -1;
1614 static gint ett_qsig_PartySubaddress = -1;
1615 static gint ett_qsig_UserSpecifiedSubaddress = -1;
1616
1617 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
1618
1619 static gint ett_qsig_na_NameArg = -1;
1620 static gint ett_qsig_na_T_nameSequence = -1;
1621 static gint ett_qsig_na_NameExtension = -1;
1622 static gint ett_qsig_na_SEQUENCE_OF_Extension = -1;
1623 static gint ett_qsig_na_Name = -1;
1624 static gint ett_qsig_na_NamePresentationAllowed = -1;
1625 static gint ett_qsig_na_NamePresentationRestricted = -1;
1626 static gint ett_qsig_na_NameSet = -1;
1627
1628 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
1629
1630 static gint ett_qsig_cf_ARG_activateDiversionQ = -1;
1631 static gint ett_qsig_cf_ADExtension = -1;
1632 static gint ett_qsig_cf_SEQUENCE_OF_Extension = -1;
1633 static gint ett_qsig_cf_RES_activateDiversionQ = -1;
1634 static gint ett_qsig_cf_ARG_deactivateDiversionQ = -1;
1635 static gint ett_qsig_cf_DDExtension = -1;
1636 static gint ett_qsig_cf_RES_deactivateDiversionQ = -1;
1637 static gint ett_qsig_cf_ARG_interrogateDiversionQ = -1;
1638 static gint ett_qsig_cf_IDExtension = -1;
1639 static gint ett_qsig_cf_ARG_checkRestriction = -1;
1640 static gint ett_qsig_cf_CHRExtension = -1;
1641 static gint ett_qsig_cf_RES_checkRestriction = -1;
1642 static gint ett_qsig_cf_ARG_callRerouteing = -1;
1643 static gint ett_qsig_cf_CRRExtension = -1;
1644 static gint ett_qsig_cf_RES_callRerouteing = -1;
1645 static gint ett_qsig_cf_ARG_divertingLegInformation1 = -1;
1646 static gint ett_qsig_cf_DLI1Extension = -1;
1647 static gint ett_qsig_cf_ARG_divertingLegInformation2 = -1;
1648 static gint ett_qsig_cf_DLI2Extension = -1;
1649 static gint ett_qsig_cf_ARG_divertingLegInformation3 = -1;
1650 static gint ett_qsig_cf_DLI3Extension = -1;
1651 static gint ett_qsig_cf_ARG_cfnrDivertedLegFailed = -1;
1652 static gint ett_qsig_cf_IntResultList = -1;
1653 static gint ett_qsig_cf_IntResult = -1;
1654 static gint ett_qsig_cf_IRExtension = -1;
1655
1656 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
1657
1658 static gint ett_qsig_pr_PRProposeArg = -1;
1659 static gint ett_qsig_pr_PRPExtension = -1;
1660 static gint ett_qsig_pr_SEQUENCE_OF_Extension = -1;
1661 static gint ett_qsig_pr_PRSetupArg = -1;
1662 static gint ett_qsig_pr_PRSExtension = -1;
1663 static gint ett_qsig_pr_PRRetainArg = -1;
1664 static gint ett_qsig_pr_PRRExtension = -1;
1665 static gint ett_qsig_pr_DummyResult = -1;
1666 static gint ett_qsig_pr_DummyArg = -1;
1667
1668 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
1669
1670 static gint ett_qsig_ct_DummyArg = -1;
1671 static gint ett_qsig_ct_SEQUENCE_OF_Extension = -1;
1672 static gint ett_qsig_ct_DummyRes = -1;
1673 static gint ett_qsig_ct_CTIdentifyRes = -1;
1674 static gint ett_qsig_ct_T_resultExtension = -1;
1675 static gint ett_qsig_ct_CTInitiateArg = -1;
1676 static gint ett_qsig_ct_CTIargumentExtension = -1;
1677 static gint ett_qsig_ct_CTSetupArg = -1;
1678 static gint ett_qsig_ct_CTSargumentExtension = -1;
1679 static gint ett_qsig_ct_CTActiveArg = -1;
1680 static gint ett_qsig_ct_CTAargumentExtension = -1;
1681 static gint ett_qsig_ct_CTCompleteArg = -1;
1682 static gint ett_qsig_ct_CTCargumentExtension = -1;
1683 static gint ett_qsig_ct_CTUpdateArg = -1;
1684 static gint ett_qsig_ct_CTUargumentExtension = -1;
1685 static gint ett_qsig_ct_SubaddressTransferArg = -1;
1686 static gint ett_qsig_ct_STargumentExtension = -1;
1687
1688 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
1689
1690 static gint ett_qsig_cc_CcRequestArg = -1;
1691 static gint ett_qsig_cc_CcRequestRes = -1;
1692 static gint ett_qsig_cc_CcOptionalArg = -1;
1693 static gint ett_qsig_cc_T_fullArg = -1;
1694 static gint ett_qsig_cc_CcExtension = -1;
1695 static gint ett_qsig_cc_SEQUENCE_OF_Extension = -1;
1696
1697 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
1698
1699 static gint ett_qsig_co_PathRetainArg = -1;
1700 static gint ett_qsig_co_T_extendedServiceList = -1;
1701 static gint ett_qsig_co_ServiceAvailableArg = -1;
1702 static gint ett_qsig_co_T_extendedServiceList_01 = -1;
1703 static gint ett_qsig_co_ServiceList = -1;
1704 static gint ett_qsig_co_DummyArg = -1;
1705 static gint ett_qsig_co_SEQUENCE_OF_Extension = -1;
1706 static gint ett_qsig_co_DummyRes = -1;
1707
1708 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
1709
1710 static gint ett_qsig_dnd_DummyArg = -1;
1711 static gint ett_qsig_dnd_SEQUENCE_OF_Extension = -1;
1712 static gint ett_qsig_dnd_DummyRes = -1;
1713 static gint ett_qsig_dnd_DNDActivateArg = -1;
1714 static gint ett_qsig_dnd_DNDAargumentExtension = -1;
1715 static gint ett_qsig_dnd_DNDActivateRes = -1;
1716 static gint ett_qsig_dnd_T_status = -1;
1717 static gint ett_qsig_dnd_T_status_item = -1;
1718 static gint ett_qsig_dnd_T_resultExtension = -1;
1719 static gint ett_qsig_dnd_DNDDeactivateArg = -1;
1720 static gint ett_qsig_dnd_DNDDargumentExtension = -1;
1721 static gint ett_qsig_dnd_DNDInterrogateArg = -1;
1722 static gint ett_qsig_dnd_DNDIargumentExtension = -1;
1723 static gint ett_qsig_dnd_DNDInterrogateRes = -1;
1724 static gint ett_qsig_dnd_T_status_01 = -1;
1725 static gint ett_qsig_dnd_T_status_item_01 = -1;
1726 static gint ett_qsig_dnd_T_resultExtension_01 = -1;
1727 static gint ett_qsig_dnd_DNDOverrideArg = -1;
1728 static gint ett_qsig_dnd_DNDOargumentExtension = -1;
1729 static gint ett_qsig_dnd_PathRetainArg = -1;
1730 static gint ett_qsig_dnd_T_extendedServiceList = -1;
1731 static gint ett_qsig_dnd_ServiceAvailableArg = -1;
1732 static gint ett_qsig_dnd_T_extendedServiceList_01 = -1;
1733 static gint ett_qsig_dnd_ServiceList = -1;
1734
1735 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
1736
1737 static gint ett_qsig_ci_PathRetainArg = -1;
1738 static gint ett_qsig_ci_T_extendedServiceList = -1;
1739 static gint ett_qsig_ci_ServiceAvailableArg = -1;
1740 static gint ett_qsig_ci_T_extendedServiceList_01 = -1;
1741 static gint ett_qsig_ci_ServiceList = -1;
1742 static gint ett_qsig_ci_DummyArg = -1;
1743 static gint ett_qsig_ci_SEQUENCE_OF_Extension = -1;
1744 static gint ett_qsig_ci_DummyRes = -1;
1745 static gint ett_qsig_ci_CIRequestArg = -1;
1746 static gint ett_qsig_ci_T_argumentExtension = -1;
1747 static gint ett_qsig_ci_CIRequestRes = -1;
1748 static gint ett_qsig_ci_T_resultExtension = -1;
1749 static gint ett_qsig_ci_CIGetCIPLRes = -1;
1750 static gint ett_qsig_ci_T_resultExtension_01 = -1;
1751
1752 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
1753
1754 static gint ett_qsig_aoc_AocRateArg = -1;
1755 static gint ett_qsig_aoc_T_aocRate = -1;
1756 static gint ett_qsig_aoc_T_rateArgExtension = -1;
1757 static gint ett_qsig_aoc_SEQUENCE_OF_Extension = -1;
1758 static gint ett_qsig_aoc_AocInterimArg = -1;
1759 static gint ett_qsig_aoc_T_interimCharge = -1;
1760 static gint ett_qsig_aoc_T_specificCurrency = -1;
1761 static gint ett_qsig_aoc_T_interimArgExtension = -1;
1762 static gint ett_qsig_aoc_AocFinalArg = -1;
1763 static gint ett_qsig_aoc_T_finalCharge = -1;
1764 static gint ett_qsig_aoc_T_specificCurrency_01 = -1;
1765 static gint ett_qsig_aoc_T_finalArgExtension = -1;
1766 static gint ett_qsig_aoc_AOCSCurrencyInfoList = -1;
1767 static gint ett_qsig_aoc_AOCSCurrencyInfo = -1;
1768 static gint ett_qsig_aoc_T_rateType = -1;
1769 static gint ett_qsig_aoc_DurationCurrency = -1;
1770 static gint ett_qsig_aoc_FlatRateCurrency = -1;
1771 static gint ett_qsig_aoc_VolumeRateCurrency = -1;
1772 static gint ett_qsig_aoc_RecordedCurrency = -1;
1773 static gint ett_qsig_aoc_Amount = -1;
1774 static gint ett_qsig_aoc_Time = -1;
1775 static gint ett_qsig_aoc_ChargingAssociation = -1;
1776 static gint ett_qsig_aoc_ChargeRequestArg = -1;
1777 static gint ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination = -1;
1778 static gint ett_qsig_aoc_T_chargeReqArgExtension = -1;
1779 static gint ett_qsig_aoc_ChargeRequestRes = -1;
1780 static gint ett_qsig_aoc_T_chargeReqResExtension = -1;
1781 static gint ett_qsig_aoc_DummyArg = -1;
1782 static gint ett_qsig_aoc_AocCompleteArg = -1;
1783 static gint ett_qsig_aoc_T_completeArgExtension = -1;
1784 static gint ett_qsig_aoc_AocCompleteRes = -1;
1785 static gint ett_qsig_aoc_T_completeResExtension = -1;
1786 static gint ett_qsig_aoc_AocDivChargeReqArg = -1;
1787 static gint ett_qsig_aoc_T_aocDivChargeReqArgExt = -1;
1788
1789 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1790
1791 static gint ett_qsig_re_ReAlertingArg = -1;
1792 static gint ett_qsig_re_T_argumentExtension = -1;
1793 static gint ett_qsig_re_SEQUENCE_OF_Extension = -1;
1794 static gint ett_qsig_re_ReAnswerArg = -1;
1795 static gint ett_qsig_re_T_argumentExtension_01 = -1;
1796
1797 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1798
1799 static gint ett_qsig_sync_SynchronizationReqArg = -1;
1800 static gint ett_qsig_sync_SynchronizationReqRes = -1;
1801 static gint ett_qsig_sync_SynchronizationInfoArg = -1;
1802 static gint ett_qsig_sync_ArgExtension = -1;
1803 static gint ett_qsig_sync_SEQUENCE_OF_Extension = -1;
1804
1805 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1806
1807 static gint ett_qsig_cint_CintInformation1Arg = -1;
1808 static gint ett_qsig_cint_CintInformation2Arg = -1;
1809 static gint ett_qsig_cint_CintCondArg = -1;
1810 static gint ett_qsig_cint_CintExtension = -1;
1811 static gint ett_qsig_cint_SEQUENCE_OF_Extension = -1;
1812
1813 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1814
1815 static gint ett_qsig_cmn_CmnArg = -1;
1816 static gint ett_qsig_cmn_T_extension = -1;
1817 static gint ett_qsig_cmn_SEQUENCE_OF_Extension = -1;
1818 static gint ett_qsig_cmn_DummyArg = -1;
1819 static gint ett_qsig_cmn_FeatureIdList = -1;
1820 static gint ett_qsig_cmn_EquipmentId = -1;
1821
1822 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1823
1824 static gint ett_qsig_cpi_CPIRequestArg = -1;
1825 static gint ett_qsig_cpi_T_argumentExtension = -1;
1826 static gint ett_qsig_cpi_SEQUENCE_OF_Extension = -1;
1827 static gint ett_qsig_cpi_CPIPRequestArg = -1;
1828 static gint ett_qsig_cpi_T_argumentExtension_01 = -1;
1829
1830 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1831
1832 static gint ett_qsig_pumr_PumRegistrArg = -1;
1833 static gint ett_qsig_pumr_RpumUserId = -1;
1834 static gint ett_qsig_pumr_T_userPin = -1;
1835 static gint ett_qsig_pumr_PumRegistrRes = -1;
1836 static gint ett_qsig_pumr_DummyRes = -1;
1837 static gint ett_qsig_pumr_SEQUENCE_OF_Extension = -1;
1838 static gint ett_qsig_pumr_PumDelRegArg = -1;
1839 static gint ett_qsig_pumr_XpumUserId = -1;
1840 static gint ett_qsig_pumr_PumDe_regArg = -1;
1841 static gint ett_qsig_pumr_DpumUserId = -1;
1842 static gint ett_qsig_pumr_T_userPin_01 = -1;
1843 static gint ett_qsig_pumr_PumInterrogArg = -1;
1844 static gint ett_qsig_pumr_IpumUserId = -1;
1845 static gint ett_qsig_pumr_T_userPin_02 = -1;
1846 static gint ett_qsig_pumr_PumInterrogRes = -1;
1847 static gint ett_qsig_pumr_PumInterrogRes_item = -1;
1848 static gint ett_qsig_pumr_SessionParams = -1;
1849 static gint ett_qsig_pumr_PumrExtension = -1;
1850
1851 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1852
1853 static gint ett_qsig_pumch_EnquiryArg = -1;
1854 static gint ett_qsig_pumch_DivertArg = -1;
1855 static gint ett_qsig_pumch_InformArg = -1;
1856 static gint ett_qsig_pumch_EnquiryRes = -1;
1857 static gint ett_qsig_pumch_CurrLocation = -1;
1858 static gint ett_qsig_pumch_CfuActivated = -1;
1859 static gint ett_qsig_pumch_DummyRes = -1;
1860 static gint ett_qsig_pumch_SEQUENCE_OF_Extension = -1;
1861 static gint ett_qsig_pumch_PumiExtension = -1;
1862 static gint ett_qsig_pumch_PumIdentity = -1;
1863 static gint ett_qsig_pumch_T_both = -1;
1864 static gint ett_qsig_pumch_PumoArg = -1;
1865 static gint ett_qsig_pumch_T_pumoaextension = -1;
1866
1867 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1868
1869 static gint ett_qsig_ssct_DummyArg = -1;
1870 static gint ett_qsig_ssct_SEQUENCE_OF_Extension = -1;
1871 static gint ett_qsig_ssct_DummyRes = -1;
1872 static gint ett_qsig_ssct_SSCTInitiateArg = -1;
1873 static gint ett_qsig_ssct_SSCTIargumentExtension = -1;
1874 static gint ett_qsig_ssct_SSCTSetupArg = -1;
1875 static gint ett_qsig_ssct_SSCTSargumentExtension = -1;
1876 static gint ett_qsig_ssct_SSCTDigitInfoArg = -1;
1877 static gint ett_qsig_ssct_SSCTDargumentExtension = -1;
1878
1879 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1880
1881 static gint ett_qsig_wtmlr_LocUpdArg = -1;
1882 static gint ett_qsig_wtmlr_DummyRes = -1;
1883 static gint ett_qsig_wtmlr_SEQUENCE_OF_Extension = -1;
1884 static gint ett_qsig_wtmlr_LocDelArg = -1;
1885 static gint ett_qsig_wtmlr_LocDeRegArg = -1;
1886 static gint ett_qsig_wtmlr_PisnEnqArg = -1;
1887 static gint ett_qsig_wtmlr_PisnEnqRes = -1;
1888 static gint ett_qsig_wtmlr_GetRRCInfArg = -1;
1889 static gint ett_qsig_wtmlr_GetRRCInfRes = -1;
1890 static gint ett_qsig_wtmlr_LocInfoCheckArg = -1;
1891 static gint ett_qsig_wtmlr_LocInfoCheckRes = -1;
1892 static gint ett_qsig_wtmlr_WtmUserId = -1;
1893 static gint ett_qsig_wtmlr_LrExtension = -1;
1894
1895 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1896
1897 static gint ett_qsig_wtmch_EnquiryArg = -1;
1898 static gint ett_qsig_wtmch_DivertArg = -1;
1899 static gint ett_qsig_wtmch_InformArg = -1;
1900 static gint ett_qsig_wtmch_EnquiryRes = -1;
1901 static gint ett_qsig_wtmch_CurrLocation = -1;
1902 static gint ett_qsig_wtmch_CfuActivated = -1;
1903 static gint ett_qsig_wtmch_DummyRes = -1;
1904 static gint ett_qsig_wtmch_SEQUENCE_OF_Extension = -1;
1905 static gint ett_qsig_wtmch_WtmiExtension = -1;
1906 static gint ett_qsig_wtmch_WtmIdentity = -1;
1907 static gint ett_qsig_wtmch_T_both = -1;
1908 static gint ett_qsig_wtmch_WtmoArg = -1;
1909 static gint ett_qsig_wtmch_T_wtmoaextension = -1;
1910
1911 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1912
1913 static gint ett_qsig_wtmau_AuthWtmArg = -1;
1914 static gint ett_qsig_wtmau_AuthWtmRes = -1;
1915 static gint ett_qsig_wtmau_WtatParamArg = -1;
1916 static gint ett_qsig_wtmau_WtatParamRes = -1;
1917 static gint ett_qsig_wtmau_WtanParamArg = -1;
1918 static gint ett_qsig_wtmau_WtmUserId = -1;
1919 static gint ett_qsig_wtmau_WtanParamRes = -1;
1920 static gint ett_qsig_wtmau_ARG_transferAuthParam = -1;
1921 static gint ett_qsig_wtmau_WtatParamInfo = -1;
1922 static gint ett_qsig_wtmau_T_wtatParamInfoChoice = -1;
1923 static gint ett_qsig_wtmau_WtanParamInfo = -1;
1924 static gint ett_qsig_wtmau_AuthSessionKeyInfo = -1;
1925 static gint ett_qsig_wtmau_CalcWtatInfo = -1;
1926 static gint ett_qsig_wtmau_CalcWtatInfoUnit = -1;
1927 static gint ett_qsig_wtmau_CalcWtanInfo = -1;
1928 static gint ett_qsig_wtmau_DummyExtension = -1;
1929 static gint ett_qsig_wtmau_SEQUENCE_OF_Extension = -1;
1930 static gint ett_qsig_wtmau_AuthAlgorithm = -1;
1931
1932 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1933
1934 static gint ett_qsig_sd_DisplayArg = -1;
1935 static gint ett_qsig_sd_DisplayString = -1;
1936 static gint ett_qsig_sd_KeypadArg = -1;
1937 static gint ett_qsig_sd_SDExtension = -1;
1938 static gint ett_qsig_sd_SEQUENCE_OF_Extension = -1;
1939
1940 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1941
1942 static gint ett_qsig_cidl_CallIdentificationAssignArg = -1;
1943 static gint ett_qsig_cidl_CallIdentificationUpdateArg = -1;
1944 static gint ett_qsig_cidl_CallIdentificationData = -1;
1945 static gint ett_qsig_cidl_T_linkageID = -1;
1946 static gint ett_qsig_cidl_ExtensionType = -1;
1947 static gint ett_qsig_cidl_SEQUENCE_OF_Extension = -1;
1948
1949 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1950
1951 static gint ett_qsig_sms_SmsSubmitArg = -1;
1952 static gint ett_qsig_sms_SmsSubmitRes = -1;
1953 static gint ett_qsig_sms_SmsDeliverArg = -1;
1954 static gint ett_qsig_sms_SmsDeliverRes = -1;
1955 static gint ett_qsig_sms_SmsStatusReportArg = -1;
1956 static gint ett_qsig_sms_SmsStatusReportRes = -1;
1957 static gint ett_qsig_sms_SmsCommandArg = -1;
1958 static gint ett_qsig_sms_SmsCommandRes = -1;
1959 static gint ett_qsig_sms_ScAlertArg = -1;
1960 static gint ett_qsig_sms_DummyRes = -1;
1961 static gint ett_qsig_sms_SmSubmitParameter = -1;
1962 static gint ett_qsig_sms_SmDeliverParameter = -1;
1963 static gint ett_qsig_sms_SmsDeliverResChoice = -1;
1964 static gint ett_qsig_sms_ResChoiceSeq = -1;
1965 static gint ett_qsig_sms_SmsStatusReportResponseChoice = -1;
1966 static gint ett_qsig_sms_SmsExtension = -1;
1967 static gint ett_qsig_sms_SEQUENCE_OF_Extension = -1;
1968 static gint ett_qsig_sms_ValidityPeriod = -1;
1969 static gint ett_qsig_sms_ValidityPeriodEnh = -1;
1970 static gint ett_qsig_sms_EnhancedVP = -1;
1971 static gint ett_qsig_sms_UserData = -1;
1972 static gint ett_qsig_sms_ShortMessageText = -1;
1973 static gint ett_qsig_sms_UserDataHeader = -1;
1974 static gint ett_qsig_sms_UserDataHeaderChoice = -1;
1975 static gint ett_qsig_sms_SmscControlParameterHeader = -1;
1976 static gint ett_qsig_sms_Concatenated8BitSMHeader = -1;
1977 static gint ett_qsig_sms_Concatenated16BitSMHeader = -1;
1978 static gint ett_qsig_sms_ApplicationPort8BitHeader = -1;
1979 static gint ett_qsig_sms_ApplicationPort16BitHeader = -1;
1980 static gint ett_qsig_sms_GenericUserValue = -1;
1981 static gint ett_qsig_sms_PAR_smsDeliverError = -1;
1982 static gint ett_qsig_sms_PAR_smsSubmitError = -1;
1983 static gint ett_qsig_sms_PAR_smsStatusReportError = -1;
1984 static gint ett_qsig_sms_PAR_smsCommandError = -1;
1985
1986 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1987
1988 static gint ett_qsig_mcr_MCRequestArg = -1;
1989 static gint ett_qsig_mcr_MCRequestResult = -1;
1990 static gint ett_qsig_mcr_MCInformArg = -1;
1991 static gint ett_qsig_mcr_MCAlertingArg = -1;
1992 static gint ett_qsig_mcr_CallType = -1;
1993 static gint ett_qsig_mcr_Correlation = -1;
1994 static gint ett_qsig_mcr_MCRExtensions = -1;
1995 static gint ett_qsig_mcr_SEQUENCE_OF_Extension = -1;
1996
1997 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1998
1999 static gint ett_qsig_mcm_MCMailboxFullArg = -1;
2000 static gint ett_qsig_mcm_MailboxFullFor = -1;
2001 static gint ett_qsig_mcm_MailboxFullPar = -1;
2002 static gint ett_qsig_mcm_MCMServiceArg = -1;
2003 static gint ett_qsig_mcm_MCMChange = -1;
2004 static gint ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo = -1;
2005 static gint ett_qsig_mcm_SEQUENCE_OF_MessageType = -1;
2006 static gint ett_qsig_mcm_MCMServiceInfo = -1;
2007 static gint ett_qsig_mcm_MCMInterrogateArg = -1;
2008 static gint ett_qsig_mcm_MCMInterrogateRes = -1;
2009 static gint ett_qsig_mcm_MCMNewMsgArg = -1;
2010 static gint ett_qsig_mcm_MCMNewArgumentExt = -1;
2011 static gint ett_qsig_mcm_SEQUENCE_OF_Extension = -1;
2012 static gint ett_qsig_mcm_MCMNoNewMsgArg = -1;
2013 static gint ett_qsig_mcm_MCMNoNewArgumentExt = -1;
2014 static gint ett_qsig_mcm_MCMUpdateArg = -1;
2015 static gint ett_qsig_mcm_MCMUpdateReqArg = -1;
2016 static gint ett_qsig_mcm_MCMUpdArgArgumentExt = -1;
2017 static gint ett_qsig_mcm_MCMUpdateReqRes = -1;
2018 static gint ett_qsig_mcm_MCMUpdateReqResElt = -1;
2019 static gint ett_qsig_mcm_MCMUpdResArgumentExt = -1;
2020 static gint ett_qsig_mcm_PartyInfo = -1;
2021 static gint ett_qsig_mcm_UpdateInfo = -1;
2022 static gint ett_qsig_mcm_AllMsgInfo = -1;
2023 static gint ett_qsig_mcm_MessageInfo = -1;
2024 static gint ett_qsig_mcm_CompleteInfo = -1;
2025 static gint ett_qsig_mcm_AddressHeader = -1;
2026 static gint ett_qsig_mcm_CompressedInfo = -1;
2027 static gint ett_qsig_mcm_MsgCentreId = -1;
2028 static gint ett_qsig_mcm_MCMExtensions = -1;
2029
2030 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
2031
2032 static gint ett_qsig_mid_MIDMailboxAuthArg = -1;
2033 static gint ett_qsig_mid_MIDMailboxIDArg = -1;
2034 static gint ett_qsig_mid_PartyInfo = -1;
2035 static gint ett_qsig_mid_String = -1;
2036 static gint ett_qsig_mid_MIDExtensions = -1;
2037 static gint ett_qsig_mid_SEQUENCE_OF_Extension = -1;
2038
2039 /*--- End of included file: packet-qsig-ett.c ---*/
2040 #line 310 "../../asn1/qsig/packet-qsig-template.c"
2041 static gint ett_cnq_PSS1InformationElement = -1;
2042
2043 /* Preferences */
2044
2045 /* Subdissectors */
2046 static dissector_handle_t q931_ie_handle = NULL;
2047
2048 /* Global variables */
2049 static const char *extension_oid = NULL;
2050 static GHashTable *qsig_opcode2oid_hashtable = NULL;
2051 static GHashTable *qsig_oid2op_hashtable = NULL;
2052
2053 /* Dissector tables */
2054 static dissector_table_t extension_dissector_table;
2055
2056
2057 /*--- Included file: packet-qsig-fn.c ---*/
2058 #line 1 "../../asn1/qsig/packet-qsig-fn.c"
2059
2060 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
2061
2062
2063
2064 static int
2065 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_) {
2066   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &extension_oid);
2067
2068   return offset;
2069 }
2070
2071
2072
2073 static int
2074 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_) {
2075 #line 146 "../../asn1/qsig/qsig.cnf"
2076     tvbuff_t *next_tvb;
2077
2078     next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_reported_length_remaining(tvb, offset));
2079     if (!dissector_try_string(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree)) {
2080         proto_item *item=NULL;
2081         proto_tree *next_tree=NULL;
2082
2083         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);
2084         if(item){
2085             next_tree=proto_item_add_subtree(item, ett_qsig_unknown_extension);
2086         }
2087         dissect_unknown_ber(actx->pinfo, next_tvb, offset, next_tree);
2088     }
2089
2090     offset+=tvb_length_remaining(tvb, offset);
2091
2092
2093   return offset;
2094 }
2095
2096
2097 static const ber_sequence_t qsig_Extension_sequence[] = {
2098   { &hf_qsig_extensionId    , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionId },
2099   { &hf_qsig_extensionArgument, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionArgument },
2100   { NULL, 0, 0, 0, NULL }
2101 };
2102
2103 static int
2104 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_) {
2105 #line 143 "../../asn1/qsig/qsig.cnf"
2106   extension_oid = NULL;
2107
2108   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2109                                    qsig_Extension_sequence, hf_index, ett_qsig_Extension);
2110
2111   return offset;
2112 }
2113
2114
2115
2116 static int
2117 dissect_qsig_PSS1InformationElement_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2118 #line 168 "../../asn1/qsig/qsig.cnf"
2119   tvbuff_t *out_tvb = NULL;
2120   proto_tree *data_tree;
2121
2122   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2123                                        &out_tvb);
2124
2125   data_tree = proto_item_add_subtree(actx->created_item, ett_cnq_PSS1InformationElement); 
2126   if (out_tvb && (tvb_length(out_tvb) > 0) && q931_ie_handle)
2127     call_dissector(q931_ie_handle, out_tvb, actx->pinfo, data_tree);
2128
2129
2130   return offset;
2131 }
2132
2133
2134
2135 static int
2136 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_) {
2137   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2138                                       hf_index, BER_CLASS_APP, 0, TRUE, dissect_qsig_PSS1InformationElement_U);
2139
2140   return offset;
2141 }
2142
2143
2144
2145 static int
2146 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_) {
2147   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
2148                                             actx, tree, tvb, offset, hf_index,
2149                                             NULL);
2150
2151   return offset;
2152 }
2153
2154
2155 static const value_string qsig_PublicTypeOfNumber_vals[] = {
2156   {   0, "unknown" },
2157   {   1, "internationalNumber" },
2158   {   2, "nationalNumber" },
2159   {   3, "networkSpecificNumber" },
2160   {   4, "subscriberNumber" },
2161   {   6, "abbreviatedNumber" },
2162   { 0, NULL }
2163 };
2164
2165
2166 static int
2167 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_) {
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_PublicPartyNumber_sequence[] = {
2176   { &hf_qsig_publicTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PublicTypeOfNumber },
2177   { &hf_qsig_publicNumberDigits, 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_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_) {
2183   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2184                                    qsig_PublicPartyNumber_sequence, hf_index, ett_qsig_PublicPartyNumber);
2185
2186   return offset;
2187 }
2188
2189
2190 static const value_string qsig_PrivateTypeOfNumber_vals[] = {
2191   {   0, "unknown" },
2192   {   1, "level2RegionalNumber" },
2193   {   2, "level1RegionalNumber" },
2194   {   3, "pISNSpecificNumber" },
2195   {   4, "localNumber" },
2196   {   6, "abbreviatedNumber" },
2197   { 0, NULL }
2198 };
2199
2200
2201 static int
2202 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_) {
2203   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2204                                   NULL);
2205
2206   return offset;
2207 }
2208
2209
2210 static const ber_sequence_t qsig_PrivatePartyNumber_sequence[] = {
2211   { &hf_qsig_privateTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PrivateTypeOfNumber },
2212   { &hf_qsig_privateNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
2213   { NULL, 0, 0, 0, NULL }
2214 };
2215
2216 static int
2217 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_) {
2218   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2219                                    qsig_PrivatePartyNumber_sequence, hf_index, ett_qsig_PrivatePartyNumber);
2220
2221   return offset;
2222 }
2223
2224
2225 static const value_string qsig_PartyNumber_vals[] = {
2226   {   0, "unknownPartyNumber" },
2227   {   1, "publicPartyNumber" },
2228   {   3, "dataPartyNumber" },
2229   {   4, "telexPartyNumber" },
2230   {   5, "privatePartyNumber" },
2231   {   8, "nationalStandardPartyNumber" },
2232   { 0, NULL }
2233 };
2234
2235 static const ber_choice_t qsig_PartyNumber_choice[] = {
2236   {   0, &hf_qsig_unknownPartyNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2237   {   1, &hf_qsig_publicPartyNumber, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_PublicPartyNumber },
2238   {   3, &hf_qsig_dataPartyNumber, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2239   {   4, &hf_qsig_telexPartyNumber, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2240   {   5, &hf_qsig_privatePartyNumber, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_PrivatePartyNumber },
2241   {   8, &hf_qsig_nationalStandardPartyNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2242   { 0, NULL, 0, 0, 0, NULL }
2243 };
2244
2245 static int
2246 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_) {
2247   offset = dissect_ber_choice(actx, tree, tvb, offset,
2248                                  qsig_PartyNumber_choice, hf_index, ett_qsig_PartyNumber,
2249                                  NULL);
2250
2251   return offset;
2252 }
2253
2254
2255 static const value_string qsig_ScreeningIndicator_vals[] = {
2256   {   0, "userProvidedNotScreened" },
2257   {   1, "userProvidedVerifiedAndPassed" },
2258   {   2, "userProvidedVerifiedAndFailed" },
2259   {   3, "networkProvided" },
2260   { 0, NULL }
2261 };
2262
2263
2264 static int
2265 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_) {
2266   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2267                                   NULL);
2268
2269   return offset;
2270 }
2271
2272
2273
2274 static int
2275 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_) {
2276   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2277                                        NULL);
2278
2279   return offset;
2280 }
2281
2282
2283
2284 static int
2285 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_) {
2286   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2287
2288   return offset;
2289 }
2290
2291
2292 static const ber_sequence_t qsig_UserSpecifiedSubaddress_sequence[] = {
2293   { &hf_qsig_subaddressInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_SubaddressInformation },
2294   { &hf_qsig_oddCountIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_BOOLEAN },
2295   { NULL, 0, 0, 0, NULL }
2296 };
2297
2298 static int
2299 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_) {
2300   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2301                                    qsig_UserSpecifiedSubaddress_sequence, hf_index, ett_qsig_UserSpecifiedSubaddress);
2302
2303   return offset;
2304 }
2305
2306
2307
2308 static int
2309 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_) {
2310   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2311                                        NULL);
2312
2313   return offset;
2314 }
2315
2316
2317 static const value_string qsig_PartySubaddress_vals[] = {
2318   {   0, "userSpecifiedSubaddress" },
2319   {   1, "nSAPSubaddress" },
2320   { 0, NULL }
2321 };
2322
2323 static const ber_choice_t qsig_PartySubaddress_choice[] = {
2324   {   0, &hf_qsig_userSpecifiedSubaddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_UserSpecifiedSubaddress },
2325   {   1, &hf_qsig_nSAPSubaddress , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_NSAPSubaddress },
2326   { 0, NULL, 0, 0, 0, NULL }
2327 };
2328
2329 static int
2330 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_) {
2331   offset = dissect_ber_choice(actx, tree, tvb, offset,
2332                                  qsig_PartySubaddress_choice, hf_index, ett_qsig_PartySubaddress,
2333                                  NULL);
2334
2335   return offset;
2336 }
2337
2338
2339 static const ber_sequence_t qsig_AddressScreened_sequence[] = {
2340   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2341   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2342   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2343   { NULL, 0, 0, 0, NULL }
2344 };
2345
2346 static int
2347 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_) {
2348   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2349                                    qsig_AddressScreened_sequence, hf_index, ett_qsig_AddressScreened);
2350
2351   return offset;
2352 }
2353
2354
2355
2356 static int
2357 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_) {
2358   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2359
2360   return offset;
2361 }
2362
2363
2364 static const value_string qsig_PresentedAddressScreened_vals[] = {
2365   {   0, "presentationAllowedAddressS" },
2366   {   1, "presentationRestricted" },
2367   {   2, "numberNotAvailableDueToInterworking" },
2368   {   3, "presentationRestrictedAddressS" },
2369   { 0, NULL }
2370 };
2371
2372 static const ber_choice_t qsig_PresentedAddressScreened_choice[] = {
2373   {   0, &hf_qsig_presentationAllowedAddressS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2374   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2375   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2376   {   3, &hf_qsig_presentationRestrictedAddressS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2377   { 0, NULL, 0, 0, 0, NULL }
2378 };
2379
2380 static int
2381 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_) {
2382   offset = dissect_ber_choice(actx, tree, tvb, offset,
2383                                  qsig_PresentedAddressScreened_choice, hf_index, ett_qsig_PresentedAddressScreened,
2384                                  NULL);
2385
2386   return offset;
2387 }
2388
2389
2390 static const ber_sequence_t qsig_Address_sequence[] = {
2391   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2392   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2393   { NULL, 0, 0, 0, NULL }
2394 };
2395
2396 static int
2397 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_) {
2398   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2399                                    qsig_Address_sequence, hf_index, ett_qsig_Address);
2400
2401   return offset;
2402 }
2403
2404
2405 static const value_string qsig_PresentedAddressUnscreened_vals[] = {
2406   {   0, "presentationAllowedAddressU" },
2407   {   1, "presentationRestricted" },
2408   {   2, "numberNotAvailableDueToInterworking" },
2409   {   3, "presentationRestrictedAddressU" },
2410   { 0, NULL }
2411 };
2412
2413 static const ber_choice_t qsig_PresentedAddressUnscreened_choice[] = {
2414   {   0, &hf_qsig_presentationAllowedAddressU, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2415   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2416   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2417   {   3, &hf_qsig_presentationRestrictedAddressU, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2418   { 0, NULL, 0, 0, 0, NULL }
2419 };
2420
2421 static int
2422 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_) {
2423   offset = dissect_ber_choice(actx, tree, tvb, offset,
2424                                  qsig_PresentedAddressUnscreened_choice, hf_index, ett_qsig_PresentedAddressUnscreened,
2425                                  NULL);
2426
2427   return offset;
2428 }
2429
2430
2431 static const ber_sequence_t qsig_NumberScreened_sequence[] = {
2432   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2433   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2434   { NULL, 0, 0, 0, NULL }
2435 };
2436
2437 static int
2438 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_) {
2439   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2440                                    qsig_NumberScreened_sequence, hf_index, ett_qsig_NumberScreened);
2441
2442   return offset;
2443 }
2444
2445
2446 static const value_string qsig_PresentedNumberScreened_vals[] = {
2447   {   0, "presentationAllowedAddressNS" },
2448   {   1, "presentationRestricted" },
2449   {   2, "numberNotAvailableDueToInterworking" },
2450   {   3, "presentationRestrictedAddressNS" },
2451   { 0, NULL }
2452 };
2453
2454 static const ber_choice_t qsig_PresentedNumberScreened_choice[] = {
2455   {   0, &hf_qsig_presentationAllowedAddressNS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2456   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2457   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2458   {   3, &hf_qsig_presentationRestrictedAddressNS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2459   { 0, NULL, 0, 0, 0, NULL }
2460 };
2461
2462 static int
2463 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_) {
2464   offset = dissect_ber_choice(actx, tree, tvb, offset,
2465                                  qsig_PresentedNumberScreened_choice, hf_index, ett_qsig_PresentedNumberScreened,
2466                                  NULL);
2467
2468   return offset;
2469 }
2470
2471
2472 static const value_string qsig_PresentedNumberUnscreened_vals[] = {
2473   {   0, "presentationAllowedAddressNU" },
2474   {   1, "presentationRestricted" },
2475   {   2, "numberNotAvailableDueToInterworking" },
2476   {   3, "presentationRestrictedAddressNU" },
2477   { 0, NULL }
2478 };
2479
2480 static const ber_choice_t qsig_PresentedNumberUnscreened_choice[] = {
2481   {   0, &hf_qsig_presentationAllowedAddressNU, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
2482   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2483   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2484   {   3, &hf_qsig_presentationRestrictedAddressNU, BER_CLASS_CON, 3, 0, dissect_qsig_PartyNumber },
2485   { 0, NULL, 0, 0, 0, NULL }
2486 };
2487
2488 static int
2489 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_) {
2490   offset = dissect_ber_choice(actx, tree, tvb, offset,
2491                                  qsig_PresentedNumberUnscreened_choice, hf_index, ett_qsig_PresentedNumberUnscreened,
2492                                  NULL);
2493
2494   return offset;
2495 }
2496
2497
2498
2499 static int
2500 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_) {
2501   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2502
2503   return offset;
2504 }
2505
2506
2507 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
2508
2509
2510
2511 static int
2512 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_) {
2513   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2514                                        NULL);
2515
2516   return offset;
2517 }
2518
2519
2520 static const value_string qsig_na_CharacterSet_vals[] = {
2521   {   0, "unknown" },
2522   {   1, "iso8859-1" },
2523   {   3, "iso8859-2" },
2524   {   4, "iso8859-3" },
2525   {   5, "iso8859-4" },
2526   {   6, "iso8859-5" },
2527   {   7, "iso8859-7" },
2528   {   8, "iso10646-BmpString" },
2529   {   9, "iso10646-utf-8String" },
2530   { 0, NULL }
2531 };
2532
2533
2534 static int
2535 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_) {
2536   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2537                                                 NULL);
2538
2539   return offset;
2540 }
2541
2542
2543 static const ber_sequence_t qsig_na_NameSet_sequence[] = {
2544   { &hf_qsig_na_nameData    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameData },
2545   { &hf_qsig_na_characterSet, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_CharacterSet },
2546   { NULL, 0, 0, 0, NULL }
2547 };
2548
2549 static int
2550 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_) {
2551   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2552                                    qsig_na_NameSet_sequence, hf_index, ett_qsig_na_NameSet);
2553
2554   return offset;
2555 }
2556
2557
2558 static const value_string qsig_na_NamePresentationAllowed_vals[] = {
2559   {   0, "namePresentationAllowedSimple" },
2560   {   1, "namePresentationAllowedExtended" },
2561   { 0, NULL }
2562 };
2563
2564 static const ber_choice_t qsig_na_NamePresentationAllowed_choice[] = {
2565   {   0, &hf_qsig_na_namePresentationAllowedSimple, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2566   {   1, &hf_qsig_na_namePresentationAllowedExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2567   { 0, NULL, 0, 0, 0, NULL }
2568 };
2569
2570 static int
2571 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_) {
2572   offset = dissect_ber_choice(actx, tree, tvb, offset,
2573                                  qsig_na_NamePresentationAllowed_choice, hf_index, ett_qsig_na_NamePresentationAllowed,
2574                                  NULL);
2575
2576   return offset;
2577 }
2578
2579
2580
2581 static int
2582 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_) {
2583   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2584
2585   return offset;
2586 }
2587
2588
2589 static const value_string qsig_na_NamePresentationRestricted_vals[] = {
2590   {   2, "namePresentationRestrictedSimple" },
2591   {   3, "namePresentationRestrictedExtended" },
2592   {   7, "namePresentationRestrictedNull" },
2593   { 0, NULL }
2594 };
2595
2596 static const ber_choice_t qsig_na_NamePresentationRestricted_choice[] = {
2597   {   2, &hf_qsig_na_namePresentationRestrictedSimple, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2598   {   3, &hf_qsig_na_namePresentationRestrictedExtended, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2599   {   7, &hf_qsig_na_namePresentationRestrictedNull, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_na_NULL },
2600   { 0, NULL, 0, 0, 0, NULL }
2601 };
2602
2603 static int
2604 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_) {
2605   offset = dissect_ber_choice(actx, tree, tvb, offset,
2606                                  qsig_na_NamePresentationRestricted_choice, hf_index, ett_qsig_na_NamePresentationRestricted,
2607                                  NULL);
2608
2609   return offset;
2610 }
2611
2612
2613
2614 static int
2615 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_) {
2616   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2617                                       hf_index, BER_CLASS_CON, 4, TRUE, dissect_qsig_na_NULL);
2618
2619   return offset;
2620 }
2621
2622
2623 static const ber_choice_t qsig_na_Name_choice[] = {
2624   {   0, &hf_qsig_na_namePresentationAllowed, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationAllowed },
2625   {   1, &hf_qsig_na_namePresentationRestricted, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationRestricted },
2626   {   2, &hf_qsig_na_nameNotAvailable, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameNotAvailable },
2627   { 0, NULL, 0, 0, 0, NULL }
2628 };
2629
2630 int
2631 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_) {
2632   offset = dissect_ber_choice(actx, tree, tvb, offset,
2633                                  qsig_na_Name_choice, hf_index, ett_qsig_na_Name,
2634                                  NULL);
2635
2636   return offset;
2637 }
2638
2639
2640 static const ber_sequence_t qsig_na_SEQUENCE_OF_Extension_sequence_of[1] = {
2641   { &hf_qsig_na_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2642 };
2643
2644 static int
2645 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_) {
2646   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2647                                       qsig_na_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_na_SEQUENCE_OF_Extension);
2648
2649   return offset;
2650 }
2651
2652
2653 static const value_string qsig_na_NameExtension_vals[] = {
2654   {   5, "single" },
2655   {   6, "multiple" },
2656   { 0, NULL }
2657 };
2658
2659 static const ber_choice_t qsig_na_NameExtension_choice[] = {
2660   {   5, &hf_qsig_na_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2661   {   6, &hf_qsig_na_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_na_SEQUENCE_OF_Extension },
2662   { 0, NULL, 0, 0, 0, NULL }
2663 };
2664
2665 static int
2666 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_) {
2667   offset = dissect_ber_choice(actx, tree, tvb, offset,
2668                                  qsig_na_NameExtension_choice, hf_index, ett_qsig_na_NameExtension,
2669                                  NULL);
2670
2671   return offset;
2672 }
2673
2674
2675 static const ber_sequence_t qsig_na_T_nameSequence_sequence[] = {
2676   { &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_Name },
2677   { &hf_qsig_na_extensionNA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_NameExtension },
2678   { NULL, 0, 0, 0, NULL }
2679 };
2680
2681 static int
2682 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_) {
2683   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2684                                    qsig_na_T_nameSequence_sequence, hf_index, ett_qsig_na_T_nameSequence);
2685
2686   return offset;
2687 }
2688
2689
2690 static const value_string qsig_na_NameArg_vals[] = {
2691   {   0, "name" },
2692   {   1, "nameSequence" },
2693   { 0, NULL }
2694 };
2695
2696 static const ber_choice_t qsig_na_NameArg_choice[] = {
2697   {   0, &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
2698   {   1, &hf_qsig_na_nameSequence, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_na_T_nameSequence },
2699   { 0, NULL, 0, 0, 0, NULL }
2700 };
2701
2702 static int
2703 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_) {
2704   offset = dissect_ber_choice(actx, tree, tvb, offset,
2705                                  qsig_na_NameArg_choice, hf_index, ett_qsig_na_NameArg,
2706                                  NULL);
2707
2708   return offset;
2709 }
2710
2711 /*--- PDUs ---*/
2712
2713 static int dissect_qsig_na_NameArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2714   int offset = 0;
2715   asn1_ctx_t asn1_ctx;
2716   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
2717   offset = dissect_qsig_na_NameArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_na_qsig_na_NameArg_PDU);
2718   return offset;
2719 }
2720
2721
2722 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
2723
2724
2725 static const value_string qsig_cf_Procedure_vals[] = {
2726   {   0, "cfu" },
2727   {   1, "cfb" },
2728   {   2, "cfnr" },
2729   { 0, NULL }
2730 };
2731
2732
2733 static int
2734 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_) {
2735   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2736                                   NULL);
2737
2738   return offset;
2739 }
2740
2741
2742 static const value_string qsig_cf_BasicService_vals[] = {
2743   {   0, "allServices" },
2744   {   1, "speech" },
2745   {   2, "unrestrictedDigitalInformation" },
2746   {   3, "audio3100Hz" },
2747   {  32, "telephony" },
2748   {  33, "teletex" },
2749   {  34, "telefaxGroup4Class1" },
2750   {  35, "videotexSyntaxBased" },
2751   {  36, "videotelephony" },
2752   { 0, NULL }
2753 };
2754
2755
2756 static int
2757 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_) {
2758   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2759                                   NULL);
2760
2761   return offset;
2762 }
2763
2764
2765 static const ber_sequence_t qsig_cf_SEQUENCE_OF_Extension_sequence_of[1] = {
2766   { &hf_qsig_cf_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2767 };
2768
2769 static int
2770 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_) {
2771   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2772                                       qsig_cf_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cf_SEQUENCE_OF_Extension);
2773
2774   return offset;
2775 }
2776
2777
2778 static const value_string qsig_cf_ADExtension_vals[] = {
2779   {   1, "single" },
2780   {   2, "multiple" },
2781   { 0, NULL }
2782 };
2783
2784 static const ber_choice_t qsig_cf_ADExtension_choice[] = {
2785   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2786   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2787   { 0, NULL, 0, 0, 0, NULL }
2788 };
2789
2790 static int
2791 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_) {
2792   offset = dissect_ber_choice(actx, tree, tvb, offset,
2793                                  qsig_cf_ADExtension_choice, hf_index, ett_qsig_cf_ADExtension,
2794                                  NULL);
2795
2796   return offset;
2797 }
2798
2799
2800 static const ber_sequence_t qsig_cf_ARG_activateDiversionQ_sequence[] = {
2801   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2802   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2803   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
2804   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2805   { &hf_qsig_cf_activatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2806   { &hf_qsig_cf_extensionAD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_ADExtension },
2807   { NULL, 0, 0, 0, NULL }
2808 };
2809
2810 static int
2811 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_) {
2812   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2813                                    qsig_cf_ARG_activateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_activateDiversionQ);
2814
2815   return offset;
2816 }
2817
2818
2819
2820 static int
2821 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_) {
2822   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2823
2824   return offset;
2825 }
2826
2827
2828 static const value_string qsig_cf_RES_activateDiversionQ_vals[] = {
2829   {   0, "null" },
2830   {   1, "single" },
2831   {   2, "multiple" },
2832   { 0, NULL }
2833 };
2834
2835 static const ber_choice_t qsig_cf_RES_activateDiversionQ_choice[] = {
2836   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2837   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2838   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2839   { 0, NULL, 0, 0, 0, NULL }
2840 };
2841
2842 static int
2843 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_) {
2844   offset = dissect_ber_choice(actx, tree, tvb, offset,
2845                                  qsig_cf_RES_activateDiversionQ_choice, hf_index, ett_qsig_cf_RES_activateDiversionQ,
2846                                  NULL);
2847
2848   return offset;
2849 }
2850
2851
2852 static const value_string qsig_cf_DDExtension_vals[] = {
2853   {   1, "single" },
2854   {   2, "multiple" },
2855   { 0, NULL }
2856 };
2857
2858 static const ber_choice_t qsig_cf_DDExtension_choice[] = {
2859   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2860   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2861   { 0, NULL, 0, 0, 0, NULL }
2862 };
2863
2864 static int
2865 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_) {
2866   offset = dissect_ber_choice(actx, tree, tvb, offset,
2867                                  qsig_cf_DDExtension_choice, hf_index, ett_qsig_cf_DDExtension,
2868                                  NULL);
2869
2870   return offset;
2871 }
2872
2873
2874 static const ber_sequence_t qsig_cf_ARG_deactivateDiversionQ_sequence[] = {
2875   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2876   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2877   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2878   { &hf_qsig_cf_deactivatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2879   { &hf_qsig_cf_extensionDD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DDExtension },
2880   { NULL, 0, 0, 0, NULL }
2881 };
2882
2883 static int
2884 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_) {
2885   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2886                                    qsig_cf_ARG_deactivateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_deactivateDiversionQ);
2887
2888   return offset;
2889 }
2890
2891
2892 static const value_string qsig_cf_RES_deactivateDiversionQ_vals[] = {
2893   {   0, "null" },
2894   {   1, "single" },
2895   {   2, "multiple" },
2896   { 0, NULL }
2897 };
2898
2899 static const ber_choice_t qsig_cf_RES_deactivateDiversionQ_choice[] = {
2900   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2901   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2902   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2903   { 0, NULL, 0, 0, 0, NULL }
2904 };
2905
2906 static int
2907 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_) {
2908   offset = dissect_ber_choice(actx, tree, tvb, offset,
2909                                  qsig_cf_RES_deactivateDiversionQ_choice, hf_index, ett_qsig_cf_RES_deactivateDiversionQ,
2910                                  NULL);
2911
2912   return offset;
2913 }
2914
2915
2916 static const value_string qsig_cf_IDExtension_vals[] = {
2917   {   1, "single" },
2918   {   2, "multiple" },
2919   { 0, NULL }
2920 };
2921
2922 static const ber_choice_t qsig_cf_IDExtension_choice[] = {
2923   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2924   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2925   { 0, NULL, 0, 0, 0, NULL }
2926 };
2927
2928 static int
2929 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_) {
2930   offset = dissect_ber_choice(actx, tree, tvb, offset,
2931                                  qsig_cf_IDExtension_choice, hf_index, ett_qsig_cf_IDExtension,
2932                                  NULL);
2933
2934   return offset;
2935 }
2936
2937
2938 static const ber_sequence_t qsig_cf_ARG_interrogateDiversionQ_sequence[] = {
2939   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2940   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2941   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2942   { &hf_qsig_cf_interrogatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2943   { &hf_qsig_cf_extensionID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IDExtension },
2944   { NULL, 0, 0, 0, NULL }
2945 };
2946
2947 static int
2948 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_) {
2949   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2950                                    qsig_cf_ARG_interrogateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_interrogateDiversionQ);
2951
2952   return offset;
2953 }
2954
2955
2956 static const value_string qsig_cf_CHRExtension_vals[] = {
2957   {   1, "single" },
2958   {   2, "multiple" },
2959   { 0, NULL }
2960 };
2961
2962 static const ber_choice_t qsig_cf_CHRExtension_choice[] = {
2963   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2964   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2965   { 0, NULL, 0, 0, 0, NULL }
2966 };
2967
2968 static int
2969 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_) {
2970   offset = dissect_ber_choice(actx, tree, tvb, offset,
2971                                  qsig_cf_CHRExtension_choice, hf_index, ett_qsig_cf_CHRExtension,
2972                                  NULL);
2973
2974   return offset;
2975 }
2976
2977
2978 static const ber_sequence_t qsig_cf_ARG_checkRestriction_sequence[] = {
2979   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2980   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2981   { &hf_qsig_cf_divertedToNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2982   { &hf_qsig_cf_extensionCHR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CHRExtension },
2983   { NULL, 0, 0, 0, NULL }
2984 };
2985
2986 static int
2987 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_) {
2988   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2989                                    qsig_cf_ARG_checkRestriction_sequence, hf_index, ett_qsig_cf_ARG_checkRestriction);
2990
2991   return offset;
2992 }
2993
2994
2995 static const value_string qsig_cf_RES_checkRestriction_vals[] = {
2996   {   0, "null" },
2997   {   1, "single" },
2998   {   2, "multiple" },
2999   { 0, NULL }
3000 };
3001
3002 static const ber_choice_t qsig_cf_RES_checkRestriction_choice[] = {
3003   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3004   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3005   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3006   { 0, NULL, 0, 0, 0, NULL }
3007 };
3008
3009 static int
3010 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_) {
3011   offset = dissect_ber_choice(actx, tree, tvb, offset,
3012                                  qsig_cf_RES_checkRestriction_choice, hf_index, ett_qsig_cf_RES_checkRestriction,
3013                                  NULL);
3014
3015   return offset;
3016 }
3017
3018
3019 static const value_string qsig_cf_DiversionReason_vals[] = {
3020   {   0, "unknown" },
3021   {   1, "cfu" },
3022   {   2, "cfb" },
3023   {   3, "cfnr" },
3024   { 0, NULL }
3025 };
3026
3027
3028 static int
3029 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_) {
3030   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3031                                   NULL);
3032
3033   return offset;
3034 }
3035
3036
3037
3038 static int
3039 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_) {
3040   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3041                                                 NULL);
3042
3043   return offset;
3044 }
3045
3046
3047 static const value_string qsig_cf_SubscriptionOption_vals[] = {
3048   {   0, "noNotification" },
3049   {   1, "notificationWithoutDivertedToNr" },
3050   {   2, "notificationWithDivertedToNr" },
3051   { 0, NULL }
3052 };
3053
3054
3055 static int
3056 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_) {
3057   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3058                                   NULL);
3059
3060   return offset;
3061 }
3062
3063
3064 static const value_string qsig_cf_CRRExtension_vals[] = {
3065   {   9, "single" },
3066   {  10, "multiple" },
3067   { 0, NULL }
3068 };
3069
3070 static const ber_choice_t qsig_cf_CRRExtension_choice[] = {
3071   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3072   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3073   { 0, NULL, 0, 0, 0, NULL }
3074 };
3075
3076 static int
3077 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_) {
3078   offset = dissect_ber_choice(actx, tree, tvb, offset,
3079                                  qsig_cf_CRRExtension_choice, hf_index, ett_qsig_cf_CRRExtension,
3080                                  NULL);
3081
3082   return offset;
3083 }
3084
3085
3086 static const ber_sequence_t qsig_cf_ARG_callRerouteing_sequence[] = {
3087   { &hf_qsig_cf_rerouteingReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3088   { &hf_qsig_cf_originalRerouteingReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3089   { &hf_qsig_cf_calledAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3090   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3091   { &hf_qsig_cf_pSS1InfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3092   { &hf_qsig_cf_lastRerouteingNr, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberUnscreened },
3093   { &hf_qsig_cf_subscriptionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SubscriptionOption },
3094   { &hf_qsig_cf_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
3095   { &hf_qsig_cf_callingNumber, BER_CLASS_CON, 4, 0, dissect_qsig_PresentedNumberScreened },
3096   { &hf_qsig_cf_callingName , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3097   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3098   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3099   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3100   { &hf_qsig_cf_extensionCRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CRRExtension },
3101   { NULL, 0, 0, 0, NULL }
3102 };
3103
3104 static int
3105 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_) {
3106   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3107                                    qsig_cf_ARG_callRerouteing_sequence, hf_index, ett_qsig_cf_ARG_callRerouteing);
3108
3109   return offset;
3110 }
3111
3112
3113 static const value_string qsig_cf_RES_callRerouteing_vals[] = {
3114   {   0, "null" },
3115   {   1, "single" },
3116   {   2, "multiple" },
3117   { 0, NULL }
3118 };
3119
3120 static const ber_choice_t qsig_cf_RES_callRerouteing_choice[] = {
3121   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3122   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3123   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3124   { 0, NULL, 0, 0, 0, NULL }
3125 };
3126
3127 static int
3128 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_) {
3129   offset = dissect_ber_choice(actx, tree, tvb, offset,
3130                                  qsig_cf_RES_callRerouteing_choice, hf_index, ett_qsig_cf_RES_callRerouteing,
3131                                  NULL);
3132
3133   return offset;
3134 }
3135
3136
3137 static const value_string qsig_cf_DLI1Extension_vals[] = {
3138   {   9, "single" },
3139   {  10, "multiple" },
3140   { 0, NULL }
3141 };
3142
3143 static const ber_choice_t qsig_cf_DLI1Extension_choice[] = {
3144   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3145   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3146   { 0, NULL, 0, 0, 0, NULL }
3147 };
3148
3149 static int
3150 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_) {
3151   offset = dissect_ber_choice(actx, tree, tvb, offset,
3152                                  qsig_cf_DLI1Extension_choice, hf_index, ett_qsig_cf_DLI1Extension,
3153                                  NULL);
3154
3155   return offset;
3156 }
3157
3158
3159 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation1_sequence[] = {
3160   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3161   { &hf_qsig_cf_subscriptionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_SubscriptionOption },
3162   { &hf_qsig_cf_nominatedNr , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3163   { &hf_qsig_cf_extensionDLI1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI1Extension },
3164   { NULL, 0, 0, 0, NULL }
3165 };
3166
3167 static int
3168 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_) {
3169   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3170                                    qsig_cf_ARG_divertingLegInformation1_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation1);
3171
3172   return offset;
3173 }
3174
3175
3176 static const value_string qsig_cf_DLI2Extension_vals[] = {
3177   {   5, "single" },
3178   {   6, "multiple" },
3179   { 0, NULL }
3180 };
3181
3182 static const ber_choice_t qsig_cf_DLI2Extension_choice[] = {
3183   {   5, &hf_qsig_cf_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3184   {   6, &hf_qsig_cf_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3185   { 0, NULL, 0, 0, 0, NULL }
3186 };
3187
3188 static int
3189 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_) {
3190   offset = dissect_ber_choice(actx, tree, tvb, offset,
3191                                  qsig_cf_DLI2Extension_choice, hf_index, ett_qsig_cf_DLI2Extension,
3192                                  NULL);
3193
3194   return offset;
3195 }
3196
3197
3198 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation2_sequence[] = {
3199   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3200   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3201   { &hf_qsig_cf_originalDiversionReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3202   { &hf_qsig_cf_divertingNr , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3203   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3204   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3205   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3206   { &hf_qsig_cf_extensionDLI2, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI2Extension },
3207   { NULL, 0, 0, 0, NULL }
3208 };
3209
3210 static int
3211 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_) {
3212   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3213                                    qsig_cf_ARG_divertingLegInformation2_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation2);
3214
3215   return offset;
3216 }
3217
3218
3219 static const value_string qsig_cf_DLI3Extension_vals[] = {
3220   {   1, "single" },
3221   {   2, "multiple" },
3222   { 0, NULL }
3223 };
3224
3225 static const ber_choice_t qsig_cf_DLI3Extension_choice[] = {
3226   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3227   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3228   { 0, NULL, 0, 0, 0, NULL }
3229 };
3230
3231 static int
3232 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_) {
3233   offset = dissect_ber_choice(actx, tree, tvb, offset,
3234                                  qsig_cf_DLI3Extension_choice, hf_index, ett_qsig_cf_DLI3Extension,
3235                                  NULL);
3236
3237   return offset;
3238 }
3239
3240
3241 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation3_sequence[] = {
3242   { &hf_qsig_cf_presentationAllowedIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentationAllowedIndicator },
3243   { &hf_qsig_cf_redirectionName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3244   { &hf_qsig_cf_extensionDLI3, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI3Extension },
3245   { NULL, 0, 0, 0, NULL }
3246 };
3247
3248 static int
3249 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_) {
3250   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3251                                    qsig_cf_ARG_divertingLegInformation3_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation3);
3252
3253   return offset;
3254 }
3255
3256
3257 static const value_string qsig_cf_ARG_cfnrDivertedLegFailed_vals[] = {
3258   {   0, "null" },
3259   {   1, "single" },
3260   {   2, "multiple" },
3261   { 0, NULL }
3262 };
3263
3264 static const ber_choice_t qsig_cf_ARG_cfnrDivertedLegFailed_choice[] = {
3265   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3266   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3267   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3268   { 0, NULL, 0, 0, 0, NULL }
3269 };
3270
3271 static int
3272 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_) {
3273   offset = dissect_ber_choice(actx, tree, tvb, offset,
3274                                  qsig_cf_ARG_cfnrDivertedLegFailed_choice, hf_index, ett_qsig_cf_ARG_cfnrDivertedLegFailed,
3275                                  NULL);
3276
3277   return offset;
3278 }
3279
3280
3281
3282 static int
3283 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_) {
3284   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
3285
3286   return offset;
3287 }
3288
3289
3290 static const value_string qsig_cf_IRExtension_vals[] = {
3291   {   1, "single" },
3292   {   2, "multiple" },
3293   { 0, NULL }
3294 };
3295
3296 static const ber_choice_t qsig_cf_IRExtension_choice[] = {
3297   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3298   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3299   { 0, NULL, 0, 0, 0, NULL }
3300 };
3301
3302 static int
3303 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_) {
3304   offset = dissect_ber_choice(actx, tree, tvb, offset,
3305                                  qsig_cf_IRExtension_choice, hf_index, ett_qsig_cf_IRExtension,
3306                                  NULL);
3307
3308   return offset;
3309 }
3310
3311
3312 static const ber_sequence_t qsig_cf_IntResult_sequence[] = {
3313   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3314   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
3315   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
3316   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3317   { &hf_qsig_cf_remoteEnabled, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BOOLEAN },
3318   { &hf_qsig_cf_extensionIR , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IRExtension },
3319   { NULL, 0, 0, 0, NULL }
3320 };
3321
3322 static int
3323 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_) {
3324   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3325                                    qsig_cf_IntResult_sequence, hf_index, ett_qsig_cf_IntResult);
3326
3327   return offset;
3328 }
3329
3330
3331 static const ber_sequence_t qsig_cf_IntResultList_set_of[1] = {
3332   { &hf_qsig_cf_IntResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_IntResult },
3333 };
3334
3335 static int
3336 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_) {
3337   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3338                                  qsig_cf_IntResultList_set_of, hf_index, ett_qsig_cf_IntResultList);
3339
3340   return offset;
3341 }
3342
3343 /*--- PDUs ---*/
3344
3345 static int dissect_qsig_cf_ARG_activateDiversionQ_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_ARG_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU);
3350   return offset;
3351 }
3352 static int dissect_qsig_cf_RES_activateDiversionQ_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_RES_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU);
3357   return offset;
3358 }
3359 static int dissect_qsig_cf_ARG_deactivateDiversionQ_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_ARG_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU);
3364   return offset;
3365 }
3366 static int dissect_qsig_cf_RES_deactivateDiversionQ_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_RES_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU);
3371   return offset;
3372 }
3373 static int dissect_qsig_cf_ARG_interrogateDiversionQ_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_ARG_interrogateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU);
3378   return offset;
3379 }
3380 static int dissect_qsig_cf_IntResultList_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_IntResultList(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_IntResultList_PDU);
3385   return offset;
3386 }
3387 static int dissect_qsig_cf_ARG_checkRestriction_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_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU);
3392   return offset;
3393 }
3394 static int dissect_qsig_cf_RES_checkRestriction_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_RES_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU);
3399   return offset;
3400 }
3401 static int dissect_qsig_cf_ARG_callRerouteing_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_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU);
3406   return offset;
3407 }
3408 static int dissect_qsig_cf_RES_callRerouteing_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_cf_RES_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU);
3413   return offset;
3414 }
3415 static int dissect_qsig_cf_ARG_divertingLegInformation1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3416   int offset = 0;
3417   asn1_ctx_t asn1_ctx;
3418   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3419   offset = dissect_qsig_cf_ARG_divertingLegInformation1(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU);
3420   return offset;
3421 }
3422 static int dissect_qsig_cf_ARG_divertingLegInformation2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3423   int offset = 0;
3424   asn1_ctx_t asn1_ctx;
3425   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3426   offset = dissect_qsig_cf_ARG_divertingLegInformation2(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU);
3427   return offset;
3428 }
3429 static int dissect_qsig_cf_ARG_divertingLegInformation3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3430   int offset = 0;
3431   asn1_ctx_t asn1_ctx;
3432   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3433   offset = dissect_qsig_cf_ARG_divertingLegInformation3(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU);
3434   return offset;
3435 }
3436 static int dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3437   int offset = 0;
3438   asn1_ctx_t asn1_ctx;
3439   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3440   offset = dissect_qsig_cf_ARG_cfnrDivertedLegFailed(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU);
3441   return offset;
3442 }
3443 static int dissect_qsig_cf_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3444   int offset = 0;
3445   asn1_ctx_t asn1_ctx;
3446   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3447   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_Extension_PDU);
3448   return offset;
3449 }
3450
3451
3452 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
3453
3454
3455
3456 static int
3457 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_) {
3458   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3459                                             actx, tree, tvb, offset, hf_index,
3460                                             NULL);
3461
3462   return offset;
3463 }
3464
3465
3466 static const ber_sequence_t qsig_pr_SEQUENCE_OF_Extension_sequence_of[1] = {
3467   { &hf_qsig_pr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3468 };
3469
3470 static int
3471 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_) {
3472   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3473                                       qsig_pr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pr_SEQUENCE_OF_Extension);
3474
3475   return offset;
3476 }
3477
3478
3479 static const value_string qsig_pr_PRPExtension_vals[] = {
3480   {   1, "single" },
3481   {   2, "multiple" },
3482   { 0, NULL }
3483 };
3484
3485 static const ber_choice_t qsig_pr_PRPExtension_choice[] = {
3486   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3487   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3488   { 0, NULL, 0, 0, 0, NULL }
3489 };
3490
3491 static int
3492 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_) {
3493   offset = dissect_ber_choice(actx, tree, tvb, offset,
3494                                  qsig_pr_PRPExtension_choice, hf_index, ett_qsig_pr_PRPExtension,
3495                                  NULL);
3496
3497   return offset;
3498 }
3499
3500
3501 static const ber_sequence_t qsig_pr_PRProposeArg_sequence[] = {
3502   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3503   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3504   { &hf_qsig_pr_extensionPRP, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRPExtension },
3505   { NULL, 0, 0, 0, NULL }
3506 };
3507
3508 static int
3509 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_) {
3510   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3511                                    qsig_pr_PRProposeArg_sequence, hf_index, ett_qsig_pr_PRProposeArg);
3512
3513   return offset;
3514 }
3515
3516
3517 static const value_string qsig_pr_PRSExtension_vals[] = {
3518   {   1, "single" },
3519   {   2, "multiple" },
3520   { 0, NULL }
3521 };
3522
3523 static const ber_choice_t qsig_pr_PRSExtension_choice[] = {
3524   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3525   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3526   { 0, NULL, 0, 0, 0, NULL }
3527 };
3528
3529 static int
3530 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_) {
3531   offset = dissect_ber_choice(actx, tree, tvb, offset,
3532                                  qsig_pr_PRSExtension_choice, hf_index, ett_qsig_pr_PRSExtension,
3533                                  NULL);
3534
3535   return offset;
3536 }
3537
3538
3539 static const ber_sequence_t qsig_pr_PRSetupArg_sequence[] = {
3540   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3541   { &hf_qsig_pr_extensionPRS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRSExtension },
3542   { NULL, 0, 0, 0, NULL }
3543 };
3544
3545 static int
3546 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_) {
3547   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3548                                    qsig_pr_PRSetupArg_sequence, hf_index, ett_qsig_pr_PRSetupArg);
3549
3550   return offset;
3551 }
3552
3553
3554 static const value_string qsig_pr_PRRExtension_vals[] = {
3555   {   1, "single" },
3556   {   2, "multiple" },
3557   { 0, NULL }
3558 };
3559
3560 static const ber_choice_t qsig_pr_PRRExtension_choice[] = {
3561   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3562   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3563   { 0, NULL, 0, 0, 0, NULL }
3564 };
3565
3566 static int
3567 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_) {
3568   offset = dissect_ber_choice(actx, tree, tvb, offset,
3569                                  qsig_pr_PRRExtension_choice, hf_index, ett_qsig_pr_PRRExtension,
3570                                  NULL);
3571
3572   return offset;
3573 }
3574
3575
3576 static const ber_sequence_t qsig_pr_PRRetainArg_sequence[] = {
3577   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3578   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3579   { &hf_qsig_pr_extensionPRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRRExtension },
3580   { NULL, 0, 0, 0, NULL }
3581 };
3582
3583 static int
3584 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_) {
3585   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3586                                    qsig_pr_PRRetainArg_sequence, hf_index, ett_qsig_pr_PRRetainArg);
3587
3588   return offset;
3589 }
3590
3591
3592
3593 static int
3594 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_) {
3595   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3596
3597   return offset;
3598 }
3599
3600
3601 static const value_string qsig_pr_DummyResult_vals[] = {
3602   {   0, "null" },
3603   {   1, "single" },
3604   {   2, "multiple" },
3605   { 0, NULL }
3606 };
3607
3608 static const ber_choice_t qsig_pr_DummyResult_choice[] = {
3609   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3610   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3611   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3612   { 0, NULL, 0, 0, 0, NULL }
3613 };
3614
3615 static int
3616 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_) {
3617   offset = dissect_ber_choice(actx, tree, tvb, offset,
3618                                  qsig_pr_DummyResult_choice, hf_index, ett_qsig_pr_DummyResult,
3619                                  NULL);
3620
3621   return offset;
3622 }
3623
3624
3625 static const value_string qsig_pr_DummyArg_vals[] = {
3626   {   0, "null" },
3627   {   1, "single" },
3628   {   2, "multiple" },
3629   { 0, NULL }
3630 };
3631
3632 static const ber_choice_t qsig_pr_DummyArg_choice[] = {
3633   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3634   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3635   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3636   { 0, NULL, 0, 0, 0, NULL }
3637 };
3638
3639 static int
3640 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_) {
3641   offset = dissect_ber_choice(actx, tree, tvb, offset,
3642                                  qsig_pr_DummyArg_choice, hf_index, ett_qsig_pr_DummyArg,
3643                                  NULL);
3644
3645   return offset;
3646 }
3647
3648 /*--- PDUs ---*/
3649
3650 static int dissect_qsig_pr_DummyArg_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_pr_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyArg_PDU);
3655   return offset;
3656 }
3657 static int dissect_qsig_pr_PRProposeArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3658   int offset = 0;
3659   asn1_ctx_t asn1_ctx;
3660   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3661   offset = dissect_qsig_pr_PRProposeArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRProposeArg_PDU);
3662   return offset;
3663 }
3664 static int dissect_qsig_pr_PRSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3665   int offset = 0;
3666   asn1_ctx_t asn1_ctx;
3667   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3668   offset = dissect_qsig_pr_PRSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRSetupArg_PDU);
3669   return offset;
3670 }
3671 static int dissect_qsig_pr_DummyResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3672   int offset = 0;
3673   asn1_ctx_t asn1_ctx;
3674   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3675   offset = dissect_qsig_pr_DummyResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyResult_PDU);
3676   return offset;
3677 }
3678 static int dissect_qsig_pr_PRRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3679   int offset = 0;
3680   asn1_ctx_t asn1_ctx;
3681   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3682   offset = dissect_qsig_pr_PRRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRRetainArg_PDU);
3683   return offset;
3684 }
3685 static int dissect_qsig_pr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3686   int offset = 0;
3687   asn1_ctx_t asn1_ctx;
3688   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3689   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_Extension_PDU);
3690   return offset;
3691 }
3692
3693
3694 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
3695
3696
3697
3698 static int
3699 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_) {
3700   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3701
3702   return offset;
3703 }
3704
3705
3706 static const ber_sequence_t qsig_ct_SEQUENCE_OF_Extension_sequence_of[1] = {
3707   { &hf_qsig_ct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3708 };
3709
3710 static int
3711 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_) {
3712   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3713                                       qsig_ct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ct_SEQUENCE_OF_Extension);
3714
3715   return offset;
3716 }
3717
3718
3719 static const value_string qsig_ct_DummyArg_vals[] = {
3720   {   0, "null" },
3721   {   1, "single" },
3722   {   2, "multiple" },
3723   { 0, NULL }
3724 };
3725
3726 static const ber_choice_t qsig_ct_DummyArg_choice[] = {
3727   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3728   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3729   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3730   { 0, NULL, 0, 0, 0, NULL }
3731 };
3732
3733 static int
3734 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_) {
3735   offset = dissect_ber_choice(actx, tree, tvb, offset,
3736                                  qsig_ct_DummyArg_choice, hf_index, ett_qsig_ct_DummyArg,
3737                                  NULL);
3738
3739   return offset;
3740 }
3741
3742
3743 static const value_string qsig_ct_DummyRes_vals[] = {
3744   {   0, "null" },
3745   {   1, "single" },
3746   {   2, "multiple" },
3747   { 0, NULL }
3748 };
3749
3750 static const ber_choice_t qsig_ct_DummyRes_choice[] = {
3751   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3752   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3753   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3754   { 0, NULL, 0, 0, 0, NULL }
3755 };
3756
3757 static int
3758 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_) {
3759   offset = dissect_ber_choice(actx, tree, tvb, offset,
3760                                  qsig_ct_DummyRes_choice, hf_index, ett_qsig_ct_DummyRes,
3761                                  NULL);
3762
3763   return offset;
3764 }
3765
3766
3767
3768 static int
3769 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_) {
3770   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3771                                             actx, tree, tvb, offset, hf_index,
3772                                             NULL);
3773
3774   return offset;
3775 }
3776
3777
3778 static const value_string qsig_ct_T_resultExtension_vals[] = {
3779   {   6, "single" },
3780   {   7, "multiple" },
3781   { 0, NULL }
3782 };
3783
3784 static const ber_choice_t qsig_ct_T_resultExtension_choice[] = {
3785   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3786   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3787   { 0, NULL, 0, 0, 0, NULL }
3788 };
3789
3790 static int
3791 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_) {
3792   offset = dissect_ber_choice(actx, tree, tvb, offset,
3793                                  qsig_ct_T_resultExtension_choice, hf_index, ett_qsig_ct_T_resultExtension,
3794                                  NULL);
3795
3796   return offset;
3797 }
3798
3799
3800 static const ber_sequence_t qsig_ct_CTIdentifyRes_sequence[] = {
3801   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3802   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3803   { &hf_qsig_ct_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_resultExtension },
3804   { NULL, 0, 0, 0, NULL }
3805 };
3806
3807 static int
3808 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_) {
3809   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3810                                    qsig_ct_CTIdentifyRes_sequence, hf_index, ett_qsig_ct_CTIdentifyRes);
3811
3812   return offset;
3813 }
3814
3815
3816 static const value_string qsig_ct_CTIargumentExtension_vals[] = {
3817   {   6, "single" },
3818   {   7, "multiple" },
3819   { 0, NULL }
3820 };
3821
3822 static const ber_choice_t qsig_ct_CTIargumentExtension_choice[] = {
3823   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3824   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3825   { 0, NULL, 0, 0, 0, NULL }
3826 };
3827
3828 static int
3829 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_) {
3830   offset = dissect_ber_choice(actx, tree, tvb, offset,
3831                                  qsig_ct_CTIargumentExtension_choice, hf_index, ett_qsig_ct_CTIargumentExtension,
3832                                  NULL);
3833
3834   return offset;
3835 }
3836
3837
3838 static const ber_sequence_t qsig_ct_CTInitiateArg_sequence[] = {
3839   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3840   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3841   { &hf_qsig_ct_argumentExtensionCTI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTIargumentExtension },
3842   { NULL, 0, 0, 0, NULL }
3843 };
3844
3845 static int
3846 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_) {
3847   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3848                                    qsig_ct_CTInitiateArg_sequence, hf_index, ett_qsig_ct_CTInitiateArg);
3849
3850   return offset;
3851 }
3852
3853
3854 static const value_string qsig_ct_CTSargumentExtension_vals[] = {
3855   {   0, "single" },
3856   {   1, "multiple" },
3857   { 0, NULL }
3858 };
3859
3860 static const ber_choice_t qsig_ct_CTSargumentExtension_choice[] = {
3861   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3862   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3863   { 0, NULL, 0, 0, 0, NULL }
3864 };
3865
3866 static int
3867 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_) {
3868   offset = dissect_ber_choice(actx, tree, tvb, offset,
3869                                  qsig_ct_CTSargumentExtension_choice, hf_index, ett_qsig_ct_CTSargumentExtension,
3870                                  NULL);
3871
3872   return offset;
3873 }
3874
3875
3876 static const ber_sequence_t qsig_ct_CTSetupArg_sequence[] = {
3877   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3878   { &hf_qsig_ct_argumentExtensionCTS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTSargumentExtension },
3879   { NULL, 0, 0, 0, NULL }
3880 };
3881
3882 static int
3883 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_) {
3884   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3885                                    qsig_ct_CTSetupArg_sequence, hf_index, ett_qsig_ct_CTSetupArg);
3886
3887   return offset;
3888 }
3889
3890
3891 static const value_string qsig_ct_CTAargumentExtension_vals[] = {
3892   {   9, "single" },
3893   {  10, "multiple" },
3894   { 0, NULL }
3895 };
3896
3897 static const ber_choice_t qsig_ct_CTAargumentExtension_choice[] = {
3898   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3899   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3900   { 0, NULL, 0, 0, 0, NULL }
3901 };
3902
3903 static int
3904 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_) {
3905   offset = dissect_ber_choice(actx, tree, tvb, offset,
3906                                  qsig_ct_CTAargumentExtension_choice, hf_index, ett_qsig_ct_CTAargumentExtension,
3907                                  NULL);
3908
3909   return offset;
3910 }
3911
3912
3913 static const ber_sequence_t qsig_ct_CTActiveArg_sequence[] = {
3914   { &hf_qsig_ct_connectedAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
3915   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3916   { &hf_qsig_ct_connectedName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3917   { &hf_qsig_ct_argumentExtensionCTA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTAargumentExtension },
3918   { NULL, 0, 0, 0, NULL }
3919 };
3920
3921 static int
3922 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_) {
3923   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3924                                    qsig_ct_CTActiveArg_sequence, hf_index, ett_qsig_ct_CTActiveArg);
3925
3926   return offset;
3927 }
3928
3929
3930 static const value_string qsig_ct_EndDesignation_vals[] = {
3931   {   0, "primaryEnd" },
3932   {   1, "secondaryEnd" },
3933   { 0, NULL }
3934 };
3935
3936
3937 static int
3938 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_) {
3939   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3940                                   NULL);
3941
3942   return offset;
3943 }
3944
3945
3946 static const value_string qsig_ct_CallStatus_vals[] = {
3947   {   0, "answered" },
3948   {   1, "alerting" },
3949   { 0, NULL }
3950 };
3951
3952
3953 static int
3954 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_) {
3955   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3956                                   NULL);
3957
3958   return offset;
3959 }
3960
3961
3962 static const value_string qsig_ct_CTCargumentExtension_vals[] = {
3963   {   9, "single" },
3964   {  10, "multiple" },
3965   { 0, NULL }
3966 };
3967
3968 static const ber_choice_t qsig_ct_CTCargumentExtension_choice[] = {
3969   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3970   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3971   { 0, NULL, 0, 0, 0, NULL }
3972 };
3973
3974 static int
3975 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_) {
3976   offset = dissect_ber_choice(actx, tree, tvb, offset,
3977                                  qsig_ct_CTCargumentExtension_choice, hf_index, ett_qsig_ct_CTCargumentExtension,
3978                                  NULL);
3979
3980   return offset;
3981 }
3982
3983
3984 static const ber_sequence_t qsig_ct_CTCompleteArg_sequence[] = {
3985   { &hf_qsig_ct_endDesignation, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_EndDesignation },
3986   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
3987   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3988   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3989   { &hf_qsig_ct_callStatus  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallStatus },
3990   { &hf_qsig_ct_argumentExtensionCTC, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTCargumentExtension },
3991   { NULL, 0, 0, 0, NULL }
3992 };
3993
3994 static int
3995 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_) {
3996   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3997                                    qsig_ct_CTCompleteArg_sequence, hf_index, ett_qsig_ct_CTCompleteArg);
3998
3999   return offset;
4000 }
4001
4002
4003 static const value_string qsig_ct_CTUargumentExtension_vals[] = {
4004   {   9, "single" },
4005   {  10, "multiple" },
4006   { 0, NULL }
4007 };
4008
4009 static const ber_choice_t qsig_ct_CTUargumentExtension_choice[] = {
4010   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4011   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
4012   { 0, NULL, 0, 0, 0, NULL }
4013 };
4014
4015 static int
4016 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_) {
4017   offset = dissect_ber_choice(actx, tree, tvb, offset,
4018                                  qsig_ct_CTUargumentExtension_choice, hf_index, ett_qsig_ct_CTUargumentExtension,
4019                                  NULL);
4020
4021   return offset;
4022 }
4023
4024
4025 static const ber_sequence_t qsig_ct_CTUpdateArg_sequence[] = {
4026   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
4027   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
4028   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4029   { &hf_qsig_ct_argumentExtensionCTU, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTUargumentExtension },
4030   { NULL, 0, 0, 0, NULL }
4031 };
4032
4033 static int
4034 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_) {
4035   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4036                                    qsig_ct_CTUpdateArg_sequence, hf_index, ett_qsig_ct_CTUpdateArg);
4037
4038   return offset;
4039 }
4040
4041
4042 static const value_string qsig_ct_STargumentExtension_vals[] = {
4043   {   0, "single" },
4044   {   1, "multiple" },
4045   { 0, NULL }
4046 };
4047
4048 static const ber_choice_t qsig_ct_STargumentExtension_choice[] = {
4049   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4050   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
4051   { 0, NULL, 0, 0, 0, NULL }
4052 };
4053
4054 static int
4055 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_) {
4056   offset = dissect_ber_choice(actx, tree, tvb, offset,
4057                                  qsig_ct_STargumentExtension_choice, hf_index, ett_qsig_ct_STargumentExtension,
4058                                  NULL);
4059
4060   return offset;
4061 }
4062
4063
4064 static const ber_sequence_t qsig_ct_SubaddressTransferArg_sequence[] = {
4065   { &hf_qsig_ct_redirectionSubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartySubaddress },
4066   { &hf_qsig_ct_argumentExtensionST, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_STargumentExtension },
4067   { NULL, 0, 0, 0, NULL }
4068 };
4069
4070 static int
4071 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_) {
4072   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4073                                    qsig_ct_SubaddressTransferArg_sequence, hf_index, ett_qsig_ct_SubaddressTransferArg);
4074
4075   return offset;
4076 }
4077
4078 /*--- PDUs ---*/
4079
4080 static int dissect_qsig_ct_DummyArg_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_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyArg_PDU);
4085   return offset;
4086 }
4087 static int dissect_qsig_ct_CTIdentifyRes_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_CTIdentifyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU);
4092   return offset;
4093 }
4094 static int dissect_qsig_ct_CTInitiateArg_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_CTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTInitiateArg_PDU);
4099   return offset;
4100 }
4101 static int dissect_qsig_ct_DummyRes_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_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyRes_PDU);
4106   return offset;
4107 }
4108 static int dissect_qsig_ct_CTSetupArg_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_ct_CTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTSetupArg_PDU);
4113   return offset;
4114 }
4115 static int dissect_qsig_ct_CTActiveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4116   int offset = 0;
4117   asn1_ctx_t asn1_ctx;
4118   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4119   offset = dissect_qsig_ct_CTActiveArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTActiveArg_PDU);
4120   return offset;
4121 }
4122 static int dissect_qsig_ct_CTCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4123   int offset = 0;
4124   asn1_ctx_t asn1_ctx;
4125   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4126   offset = dissect_qsig_ct_CTCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTCompleteArg_PDU);
4127   return offset;
4128 }
4129 static int dissect_qsig_ct_CTUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4130   int offset = 0;
4131   asn1_ctx_t asn1_ctx;
4132   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4133   offset = dissect_qsig_ct_CTUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTUpdateArg_PDU);
4134   return offset;
4135 }
4136 static int dissect_qsig_ct_SubaddressTransferArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4137   int offset = 0;
4138   asn1_ctx_t asn1_ctx;
4139   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4140   offset = dissect_qsig_ct_SubaddressTransferArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU);
4141   return offset;
4142 }
4143 static int dissect_qsig_ct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4144   int offset = 0;
4145   asn1_ctx_t asn1_ctx;
4146   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4147   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_Extension_PDU);
4148   return offset;
4149 }
4150
4151
4152 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
4153
4154
4155
4156 static int
4157 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_) {
4158   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
4159
4160   return offset;
4161 }
4162
4163
4164
4165 static int
4166 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_) {
4167   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4168
4169   return offset;
4170 }
4171
4172
4173 static const ber_sequence_t qsig_cc_SEQUENCE_OF_Extension_sequence_of[1] = {
4174   { &hf_qsig_cc_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4175 };
4176
4177 static int
4178 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_) {
4179   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4180                                       qsig_cc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cc_SEQUENCE_OF_Extension);
4181
4182   return offset;
4183 }
4184
4185
4186 static const value_string qsig_cc_CcExtension_vals[] = {
4187   {   0, "none" },
4188   {   1, "single" },
4189   {   2, "multiple" },
4190   { 0, NULL }
4191 };
4192
4193 static const ber_choice_t qsig_cc_CcExtension_choice[] = {
4194   {   0, &hf_qsig_cc_none        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_NULL },
4195   {   1, &hf_qsig_cc_single      , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4196   {   2, &hf_qsig_cc_multiple    , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_qsig_cc_SEQUENCE_OF_Extension },
4197   { 0, NULL, 0, 0, 0, NULL }
4198 };
4199
4200 static int
4201 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_) {
4202   offset = dissect_ber_choice(actx, tree, tvb, offset,
4203                                  qsig_cc_CcExtension_choice, hf_index, ett_qsig_cc_CcExtension,
4204                                  NULL);
4205
4206   return offset;
4207 }
4208
4209
4210 static const ber_sequence_t qsig_cc_CcRequestArg_sequence[] = {
4211   { &hf_qsig_cc_numberA     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberUnscreened },
4212   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4213   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4214   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4215   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4216   { &hf_qsig_cc_can_retain_service, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4217   { &hf_qsig_cc_retain_sig_connection, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
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_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_) {
4224   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4225                                    qsig_cc_CcRequestArg_sequence, hf_index, ett_qsig_cc_CcRequestArg);
4226
4227   return offset;
4228 }
4229
4230
4231 static const ber_sequence_t qsig_cc_CcRequestRes_sequence[] = {
4232   { &hf_qsig_cc_no_path_reservation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4233   { &hf_qsig_cc_retain_service, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4234   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4235   { NULL, 0, 0, 0, NULL }
4236 };
4237
4238 static int
4239 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_) {
4240   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4241                                    qsig_cc_CcRequestRes_sequence, hf_index, ett_qsig_cc_CcRequestRes);
4242
4243   return offset;
4244 }
4245
4246
4247 static const ber_sequence_t qsig_cc_T_fullArg_sequence[] = {
4248   { &hf_qsig_cc_numberA_01  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4249   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4250   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4251   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4252   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4253   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4254   { NULL, 0, 0, 0, NULL }
4255 };
4256
4257 static int
4258 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_) {
4259   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4260                                    qsig_cc_T_fullArg_sequence, hf_index, ett_qsig_cc_T_fullArg);
4261
4262   return offset;
4263 }
4264
4265
4266 static const value_string qsig_cc_CcOptionalArg_vals[] = {
4267   {   0, "fullArg" },
4268   {   1, "extArg" },
4269   { 0, NULL }
4270 };
4271
4272 static const ber_choice_t qsig_cc_CcOptionalArg_choice[] = {
4273   {   0, &hf_qsig_cc_fullArg     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_cc_T_fullArg },
4274   {   1, &hf_qsig_cc_extArg      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_CcExtension },
4275   { 0, NULL, 0, 0, 0, NULL }
4276 };
4277
4278 static int
4279 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_) {
4280   offset = dissect_ber_choice(actx, tree, tvb, offset,
4281                                  qsig_cc_CcOptionalArg_choice, hf_index, ett_qsig_cc_CcOptionalArg,
4282                                  NULL);
4283
4284   return offset;
4285 }
4286
4287 /*--- PDUs ---*/
4288
4289 static int dissect_qsig_cc_CcRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4290   int offset = 0;
4291   asn1_ctx_t asn1_ctx;
4292   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4293   offset = dissect_qsig_cc_CcRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestArg_PDU);
4294   return offset;
4295 }
4296 static int dissect_qsig_cc_CcRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4297   int offset = 0;
4298   asn1_ctx_t asn1_ctx;
4299   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4300   offset = dissect_qsig_cc_CcRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestRes_PDU);
4301   return offset;
4302 }
4303 static int dissect_qsig_cc_CcOptionalArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4304   int offset = 0;
4305   asn1_ctx_t asn1_ctx;
4306   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4307   offset = dissect_qsig_cc_CcOptionalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcOptionalArg_PDU);
4308   return offset;
4309 }
4310 static int dissect_qsig_cc_CcExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4311   int offset = 0;
4312   asn1_ctx_t asn1_ctx;
4313   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4314   offset = dissect_qsig_cc_CcExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcExtension_PDU);
4315   return offset;
4316 }
4317 static int dissect_qsig_cc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4318   int offset = 0;
4319   asn1_ctx_t asn1_ctx;
4320   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4321   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_Extension_PDU);
4322   return offset;
4323 }
4324
4325
4326 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
4327
4328
4329 static const asn_namedbit qsig_co_ServiceList_bits[] = {
4330   {  0, &hf_qsig_co_ServiceList_callOffer, -1, -1, "callOffer", NULL },
4331   { 0, NULL, 0, 0, NULL, NULL }
4332 };
4333
4334 static int
4335 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_) {
4336   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4337                                     qsig_co_ServiceList_bits, hf_index, ett_qsig_co_ServiceList,
4338                                     NULL);
4339
4340   return offset;
4341 }
4342
4343
4344 static const ber_sequence_t qsig_co_T_extendedServiceList_sequence[] = {
4345   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4346   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4347   { NULL, 0, 0, 0, NULL }
4348 };
4349
4350 static int
4351 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_) {
4352   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4353                                    qsig_co_T_extendedServiceList_sequence, hf_index, ett_qsig_co_T_extendedServiceList);
4354
4355   return offset;
4356 }
4357
4358
4359 static const value_string qsig_co_PathRetainArg_vals[] = {
4360   {   0, "serviceList" },
4361   {   1, "extendedServiceList" },
4362   { 0, NULL }
4363 };
4364
4365 static const ber_choice_t qsig_co_PathRetainArg_choice[] = {
4366   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4367   {   1, &hf_qsig_co_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList },
4368   { 0, NULL, 0, 0, 0, NULL }
4369 };
4370
4371 static int
4372 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_) {
4373   offset = dissect_ber_choice(actx, tree, tvb, offset,
4374                                  qsig_co_PathRetainArg_choice, hf_index, ett_qsig_co_PathRetainArg,
4375                                  NULL);
4376
4377   return offset;
4378 }
4379
4380
4381 static const ber_sequence_t qsig_co_T_extendedServiceList_01_sequence[] = {
4382   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4383   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4384   { NULL, 0, 0, 0, NULL }
4385 };
4386
4387 static int
4388 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_) {
4389   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4390                                    qsig_co_T_extendedServiceList_01_sequence, hf_index, ett_qsig_co_T_extendedServiceList_01);
4391
4392   return offset;
4393 }
4394
4395
4396 static const value_string qsig_co_ServiceAvailableArg_vals[] = {
4397   {   0, "serviceList" },
4398   {   1, "extendedServiceList" },
4399   { 0, NULL }
4400 };
4401
4402 static const ber_choice_t qsig_co_ServiceAvailableArg_choice[] = {
4403   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4404   {   1, &hf_qsig_co_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList_01 },
4405   { 0, NULL, 0, 0, 0, NULL }
4406 };
4407
4408 static int
4409 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_) {
4410   offset = dissect_ber_choice(actx, tree, tvb, offset,
4411                                  qsig_co_ServiceAvailableArg_choice, hf_index, ett_qsig_co_ServiceAvailableArg,
4412                                  NULL);
4413
4414   return offset;
4415 }
4416
4417
4418
4419 static int
4420 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_) {
4421   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4422
4423   return offset;
4424 }
4425
4426
4427 static const ber_sequence_t qsig_co_SEQUENCE_OF_Extension_sequence_of[1] = {
4428   { &hf_qsig_co_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4429 };
4430
4431 static int
4432 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_) {
4433   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4434                                       qsig_co_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_co_SEQUENCE_OF_Extension);
4435
4436   return offset;
4437 }
4438
4439
4440 static const value_string qsig_co_DummyArg_vals[] = {
4441   {   0, "null" },
4442   {   1, "extension" },
4443   {   2, "sequenceOfExtn" },
4444   { 0, NULL }
4445 };
4446
4447 static const ber_choice_t qsig_co_DummyArg_choice[] = {
4448   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4449   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4450   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4451   { 0, NULL, 0, 0, 0, NULL }
4452 };
4453
4454 static int
4455 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_) {
4456   offset = dissect_ber_choice(actx, tree, tvb, offset,
4457                                  qsig_co_DummyArg_choice, hf_index, ett_qsig_co_DummyArg,
4458                                  NULL);
4459
4460   return offset;
4461 }
4462
4463
4464 static const value_string qsig_co_DummyRes_vals[] = {
4465   {   0, "null" },
4466   {   1, "extension" },
4467   {   2, "sequenceOfExtn" },
4468   { 0, NULL }
4469 };
4470
4471 static const ber_choice_t qsig_co_DummyRes_choice[] = {
4472   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4473   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4474   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4475   { 0, NULL, 0, 0, 0, NULL }
4476 };
4477
4478 static int
4479 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_) {
4480   offset = dissect_ber_choice(actx, tree, tvb, offset,
4481                                  qsig_co_DummyRes_choice, hf_index, ett_qsig_co_DummyRes,
4482                                  NULL);
4483
4484   return offset;
4485 }
4486
4487 /*--- PDUs ---*/
4488
4489 static int dissect_qsig_co_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4490   int offset = 0;
4491   asn1_ctx_t asn1_ctx;
4492   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4493   offset = dissect_qsig_co_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_PathRetainArg_PDU);
4494   return offset;
4495 }
4496 static int dissect_qsig_co_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4497   int offset = 0;
4498   asn1_ctx_t asn1_ctx;
4499   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4500   offset = dissect_qsig_co_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_ServiceAvailableArg_PDU);
4501   return offset;
4502 }
4503 static int dissect_qsig_co_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4504   int offset = 0;
4505   asn1_ctx_t asn1_ctx;
4506   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4507   offset = dissect_qsig_co_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyArg_PDU);
4508   return offset;
4509 }
4510 static int dissect_qsig_co_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4511   int offset = 0;
4512   asn1_ctx_t asn1_ctx;
4513   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4514   offset = dissect_qsig_co_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyRes_PDU);
4515   return offset;
4516 }
4517 static int dissect_qsig_co_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4518   int offset = 0;
4519   asn1_ctx_t asn1_ctx;
4520   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4521   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_Extension_PDU);
4522   return offset;
4523 }
4524
4525
4526 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
4527
4528
4529
4530 static int
4531 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_) {
4532   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4533
4534   return offset;
4535 }
4536
4537
4538 static const ber_sequence_t qsig_dnd_SEQUENCE_OF_Extension_sequence_of[1] = {
4539   { &hf_qsig_dnd_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4540 };
4541
4542 static int
4543 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_) {
4544   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4545                                       qsig_dnd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_dnd_SEQUENCE_OF_Extension);
4546
4547   return offset;
4548 }
4549
4550
4551 static const value_string qsig_dnd_DummyArg_vals[] = {
4552   {   0, "null" },
4553   {   1, "extension" },
4554   {   2, "sequenceOfExtn" },
4555   { 0, NULL }
4556 };
4557
4558 static const ber_choice_t qsig_dnd_DummyArg_choice[] = {
4559   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4560   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4561   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4562   { 0, NULL, 0, 0, 0, NULL }
4563 };
4564
4565 static int
4566 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_) {
4567   offset = dissect_ber_choice(actx, tree, tvb, offset,
4568                                  qsig_dnd_DummyArg_choice, hf_index, ett_qsig_dnd_DummyArg,
4569                                  NULL);
4570
4571   return offset;
4572 }
4573
4574
4575 static const value_string qsig_dnd_DummyRes_vals[] = {
4576   {   0, "null" },
4577   {   1, "extension" },
4578   {   2, "sequenceOfExtn" },
4579   { 0, NULL }
4580 };
4581
4582 static const ber_choice_t qsig_dnd_DummyRes_choice[] = {
4583   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4584   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4585   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4586   { 0, NULL, 0, 0, 0, NULL }
4587 };
4588
4589 static int
4590 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_) {
4591   offset = dissect_ber_choice(actx, tree, tvb, offset,
4592                                  qsig_dnd_DummyRes_choice, hf_index, ett_qsig_dnd_DummyRes,
4593                                  NULL);
4594
4595   return offset;
4596 }
4597
4598
4599 static const value_string qsig_dnd_DNDAargumentExtension_vals[] = {
4600   {   1, "extension" },
4601   {   2, "sequenceOfExtn" },
4602   { 0, NULL }
4603 };
4604
4605 static const ber_choice_t qsig_dnd_DNDAargumentExtension_choice[] = {
4606   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4607   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4608   { 0, NULL, 0, 0, 0, NULL }
4609 };
4610
4611 static int
4612 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_) {
4613   offset = dissect_ber_choice(actx, tree, tvb, offset,
4614                                  qsig_dnd_DNDAargumentExtension_choice, hf_index, ett_qsig_dnd_DNDAargumentExtension,
4615                                  NULL);
4616
4617   return offset;
4618 }
4619
4620
4621 static const ber_sequence_t qsig_dnd_DNDActivateArg_sequence[] = {
4622   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4623   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4624   { &hf_qsig_dnd_argumentExtensionDNDA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDAargumentExtension },
4625   { NULL, 0, 0, 0, NULL }
4626 };
4627
4628 static int
4629 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_) {
4630   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4631                                    qsig_dnd_DNDActivateArg_sequence, hf_index, ett_qsig_dnd_DNDActivateArg);
4632
4633   return offset;
4634 }
4635
4636
4637 static const value_string qsig_dnd_DNDProtectionLevel_vals[] = {
4638   {   0, "lowProtection" },
4639   {   1, "mediumProtection" },
4640   {   2, "highProtection" },
4641   {   3, "fullProtection" },
4642   { 0, NULL }
4643 };
4644
4645
4646 static int
4647 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_) {
4648   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4649                                   NULL);
4650
4651   return offset;
4652 }
4653
4654
4655 static const ber_sequence_t qsig_dnd_T_status_item_sequence[] = {
4656   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4657   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4658   { NULL, 0, 0, 0, NULL }
4659 };
4660
4661 static int
4662 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_) {
4663   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4664                                    qsig_dnd_T_status_item_sequence, hf_index, ett_qsig_dnd_T_status_item);
4665
4666   return offset;
4667 }
4668
4669
4670 static const ber_sequence_t qsig_dnd_T_status_set_of[1] = {
4671   { &hf_qsig_dnd_status_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item },
4672 };
4673
4674 static int
4675 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_) {
4676   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4677                                  qsig_dnd_T_status_set_of, hf_index, ett_qsig_dnd_T_status);
4678
4679   return offset;
4680 }
4681
4682
4683 static const value_string qsig_dnd_T_resultExtension_vals[] = {
4684   {   1, "extension" },
4685   {   2, "sequenceOfExtn" },
4686   { 0, NULL }
4687 };
4688
4689 static const ber_choice_t qsig_dnd_T_resultExtension_choice[] = {
4690   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4691   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4692   { 0, NULL, 0, 0, 0, NULL }
4693 };
4694
4695 static int
4696 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_) {
4697   offset = dissect_ber_choice(actx, tree, tvb, offset,
4698                                  qsig_dnd_T_resultExtension_choice, hf_index, ett_qsig_dnd_T_resultExtension,
4699                                  NULL);
4700
4701   return offset;
4702 }
4703
4704
4705 static const ber_sequence_t qsig_dnd_DNDActivateRes_sequence[] = {
4706   { &hf_qsig_dnd_status     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status },
4707   { &hf_qsig_dnd_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_resultExtension },
4708   { NULL, 0, 0, 0, NULL }
4709 };
4710
4711 static int
4712 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_) {
4713   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4714                                    qsig_dnd_DNDActivateRes_sequence, hf_index, ett_qsig_dnd_DNDActivateRes);
4715
4716   return offset;
4717 }
4718
4719
4720 static const value_string qsig_dnd_DNDDargumentExtension_vals[] = {
4721   {   1, "extension" },
4722   {   2, "sequenceOfExtn" },
4723   { 0, NULL }
4724 };
4725
4726 static const ber_choice_t qsig_dnd_DNDDargumentExtension_choice[] = {
4727   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4728   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4729   { 0, NULL, 0, 0, 0, NULL }
4730 };
4731
4732 static int
4733 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_) {
4734   offset = dissect_ber_choice(actx, tree, tvb, offset,
4735                                  qsig_dnd_DNDDargumentExtension_choice, hf_index, ett_qsig_dnd_DNDDargumentExtension,
4736                                  NULL);
4737
4738   return offset;
4739 }
4740
4741
4742 static const ber_sequence_t qsig_dnd_DNDDeactivateArg_sequence[] = {
4743   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4744   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4745   { &hf_qsig_dnd_argumentExtensionDNDD, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDDargumentExtension },
4746   { NULL, 0, 0, 0, NULL }
4747 };
4748
4749 static int
4750 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_) {
4751   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4752                                    qsig_dnd_DNDDeactivateArg_sequence, hf_index, ett_qsig_dnd_DNDDeactivateArg);
4753
4754   return offset;
4755 }
4756
4757
4758 static const value_string qsig_dnd_DNDIargumentExtension_vals[] = {
4759   {   1, "extension" },
4760   {   2, "sequenceOfExtn" },
4761   { 0, NULL }
4762 };
4763
4764 static const ber_choice_t qsig_dnd_DNDIargumentExtension_choice[] = {
4765   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4766   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4767   { 0, NULL, 0, 0, 0, NULL }
4768 };
4769
4770 static int
4771 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_) {
4772   offset = dissect_ber_choice(actx, tree, tvb, offset,
4773                                  qsig_dnd_DNDIargumentExtension_choice, hf_index, ett_qsig_dnd_DNDIargumentExtension,
4774                                  NULL);
4775
4776   return offset;
4777 }
4778
4779
4780 static const ber_sequence_t qsig_dnd_DNDInterrogateArg_sequence[] = {
4781   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4782   { &hf_qsig_dnd_argumentExtensionDNDI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDIargumentExtension },
4783   { NULL, 0, 0, 0, NULL }
4784 };
4785
4786 static int
4787 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_) {
4788   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4789                                    qsig_dnd_DNDInterrogateArg_sequence, hf_index, ett_qsig_dnd_DNDInterrogateArg);
4790
4791   return offset;
4792 }
4793
4794
4795 static const ber_sequence_t qsig_dnd_T_status_item_01_sequence[] = {
4796   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4797   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4798   { NULL, 0, 0, 0, NULL }
4799 };
4800
4801 static int
4802 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_) {
4803   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4804                                    qsig_dnd_T_status_item_01_sequence, hf_index, ett_qsig_dnd_T_status_item_01);
4805
4806   return offset;
4807 }
4808
4809
4810 static const ber_sequence_t qsig_dnd_T_status_01_set_of[1] = {
4811   { &hf_qsig_dnd_status_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item_01 },
4812 };
4813
4814 static int
4815 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_) {
4816   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4817                                  qsig_dnd_T_status_01_set_of, hf_index, ett_qsig_dnd_T_status_01);
4818
4819   return offset;
4820 }
4821
4822
4823 static const value_string qsig_dnd_T_resultExtension_01_vals[] = {
4824   {   1, "extension" },
4825   {   2, "sequenceOfExtn" },
4826   { 0, NULL }
4827 };
4828
4829 static const ber_choice_t qsig_dnd_T_resultExtension_01_choice[] = {
4830   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4831   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4832   { 0, NULL, 0, 0, 0, NULL }
4833 };
4834
4835 static int
4836 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_) {
4837   offset = dissect_ber_choice(actx, tree, tvb, offset,
4838                                  qsig_dnd_T_resultExtension_01_choice, hf_index, ett_qsig_dnd_T_resultExtension_01,
4839                                  NULL);
4840
4841   return offset;
4842 }
4843
4844
4845 static const ber_sequence_t qsig_dnd_DNDInterrogateRes_sequence[] = {
4846   { &hf_qsig_dnd_status_01  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_01 },
4847   { &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 },
4848   { NULL, 0, 0, 0, NULL }
4849 };
4850
4851 static int
4852 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_) {
4853   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4854                                    qsig_dnd_DNDInterrogateRes_sequence, hf_index, ett_qsig_dnd_DNDInterrogateRes);
4855
4856   return offset;
4857 }
4858
4859
4860 static const value_string qsig_dnd_DNDOCapabilityLevel_vals[] = {
4861   {   1, "overrideLowProt" },
4862   {   2, "overrideMediumProt" },
4863   {   3, "overrideHighProt" },
4864   { 0, NULL }
4865 };
4866
4867
4868 static int
4869 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_) {
4870   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4871                                   NULL);
4872
4873   return offset;
4874 }
4875
4876
4877 static const value_string qsig_dnd_DNDOargumentExtension_vals[] = {
4878   {   1, "extension" },
4879   {   2, "sequenceOfExtn" },
4880   { 0, NULL }
4881 };
4882
4883 static const ber_choice_t qsig_dnd_DNDOargumentExtension_choice[] = {
4884   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4885   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4886   { 0, NULL, 0, 0, 0, NULL }
4887 };
4888
4889 static int
4890 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_) {
4891   offset = dissect_ber_choice(actx, tree, tvb, offset,
4892                                  qsig_dnd_DNDOargumentExtension_choice, hf_index, ett_qsig_dnd_DNDOargumentExtension,
4893                                  NULL);
4894
4895   return offset;
4896 }
4897
4898
4899 static const ber_sequence_t qsig_dnd_DNDOverrideArg_sequence[] = {
4900   { &hf_qsig_dnd_dndoCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDOCapabilityLevel },
4901   { &hf_qsig_dnd_argumentExtensionDNDO, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDOargumentExtension },
4902   { NULL, 0, 0, 0, NULL }
4903 };
4904
4905 static int
4906 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_) {
4907   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4908                                    qsig_dnd_DNDOverrideArg_sequence, hf_index, ett_qsig_dnd_DNDOverrideArg);
4909
4910   return offset;
4911 }
4912
4913
4914 static const asn_namedbit qsig_dnd_ServiceList_bits[] = {
4915   {  1, &hf_qsig_dnd_ServiceList_dndo_low, -1, -1, "dndo-low", NULL },
4916   {  2, &hf_qsig_dnd_ServiceList_dndo_medium, -1, -1, "dndo-medium", NULL },
4917   {  3, &hf_qsig_dnd_ServiceList_dndo_high, -1, -1, "dndo-high", NULL },
4918   { 0, NULL, 0, 0, NULL, NULL }
4919 };
4920
4921 static int
4922 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_) {
4923   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4924                                     qsig_dnd_ServiceList_bits, hf_index, ett_qsig_dnd_ServiceList,
4925                                     NULL);
4926
4927   return offset;
4928 }
4929
4930
4931 static const ber_sequence_t qsig_dnd_T_extendedServiceList_sequence[] = {
4932   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4933   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4934   { NULL, 0, 0, 0, NULL }
4935 };
4936
4937 static int
4938 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_) {
4939   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4940                                    qsig_dnd_T_extendedServiceList_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList);
4941
4942   return offset;
4943 }
4944
4945
4946 static const value_string qsig_dnd_PathRetainArg_vals[] = {
4947   {   0, "serviceList" },
4948   {   1, "extendedServiceList" },
4949   { 0, NULL }
4950 };
4951
4952 static const ber_choice_t qsig_dnd_PathRetainArg_choice[] = {
4953   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4954   {   1, &hf_qsig_dnd_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList },
4955   { 0, NULL, 0, 0, 0, NULL }
4956 };
4957
4958 static int
4959 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_) {
4960   offset = dissect_ber_choice(actx, tree, tvb, offset,
4961                                  qsig_dnd_PathRetainArg_choice, hf_index, ett_qsig_dnd_PathRetainArg,
4962                                  NULL);
4963
4964   return offset;
4965 }
4966
4967
4968 static const ber_sequence_t qsig_dnd_T_extendedServiceList_01_sequence[] = {
4969   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4970   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4971   { NULL, 0, 0, 0, NULL }
4972 };
4973
4974 static int
4975 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_) {
4976   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4977                                    qsig_dnd_T_extendedServiceList_01_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList_01);
4978
4979   return offset;
4980 }
4981
4982
4983 static const value_string qsig_dnd_ServiceAvailableArg_vals[] = {
4984   {   0, "serviceList" },
4985   {   1, "extendedServiceList" },
4986   { 0, NULL }
4987 };
4988
4989 static const ber_choice_t qsig_dnd_ServiceAvailableArg_choice[] = {
4990   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4991   {   1, &hf_qsig_dnd_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList_01 },
4992   { 0, NULL, 0, 0, 0, NULL }
4993 };
4994
4995 static int
4996 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_) {
4997   offset = dissect_ber_choice(actx, tree, tvb, offset,
4998                                  qsig_dnd_ServiceAvailableArg_choice, hf_index, ett_qsig_dnd_ServiceAvailableArg,
4999                                  NULL);
5000
5001   return offset;
5002 }
5003
5004 /*--- PDUs ---*/
5005
5006 static int dissect_qsig_dnd_DNDActivateArg_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_DNDActivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU);
5011   return offset;
5012 }
5013 static int dissect_qsig_dnd_DNDActivateRes_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_DNDActivateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU);
5018   return offset;
5019 }
5020 static int dissect_qsig_dnd_DNDDeactivateArg_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_DNDDeactivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU);
5025   return offset;
5026 }
5027 static int dissect_qsig_dnd_DummyRes_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_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyRes_PDU);
5032   return offset;
5033 }
5034 static int dissect_qsig_dnd_DNDInterrogateArg_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_DNDInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU);
5039   return offset;
5040 }
5041 static int dissect_qsig_dnd_DNDInterrogateRes_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_dnd_DNDInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU);
5046   return offset;
5047 }
5048 static int dissect_qsig_dnd_DNDOverrideArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5049   int offset = 0;
5050   asn1_ctx_t asn1_ctx;
5051   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5052   offset = dissect_qsig_dnd_DNDOverrideArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU);
5053   return offset;
5054 }
5055 static int dissect_qsig_dnd_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5056   int offset = 0;
5057   asn1_ctx_t asn1_ctx;
5058   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5059   offset = dissect_qsig_dnd_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU);
5060   return offset;
5061 }
5062 static int dissect_qsig_dnd_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5063   int offset = 0;
5064   asn1_ctx_t asn1_ctx;
5065   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5066   offset = dissect_qsig_dnd_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU);
5067   return offset;
5068 }
5069 static int dissect_qsig_dnd_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5070   int offset = 0;
5071   asn1_ctx_t asn1_ctx;
5072   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5073   offset = dissect_qsig_dnd_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyArg_PDU);
5074   return offset;
5075 }
5076 static int dissect_qsig_dnd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5077   int offset = 0;
5078   asn1_ctx_t asn1_ctx;
5079   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5080   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_Extension_PDU);
5081   return offset;
5082 }
5083
5084
5085 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
5086
5087
5088 static const asn_namedbit qsig_ci_ServiceList_bits[] = {
5089   {  4, &hf_qsig_ci_ServiceList_ci_low, -1, -1, "ci-low", NULL },
5090   {  5, &hf_qsig_ci_ServiceList_ci_medium, -1, -1, "ci-medium", NULL },
5091   {  6, &hf_qsig_ci_ServiceList_ci_high, -1, -1, "ci-high", NULL },
5092   { 0, NULL, 0, 0, NULL, NULL }
5093 };
5094
5095 static int
5096 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_) {
5097   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5098                                     qsig_ci_ServiceList_bits, hf_index, ett_qsig_ci_ServiceList,
5099                                     NULL);
5100
5101   return offset;
5102 }
5103
5104
5105 static const ber_sequence_t qsig_ci_T_extendedServiceList_sequence[] = {
5106   { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5107   { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5108   { NULL, 0, 0, 0, NULL }
5109 };
5110
5111 static int
5112 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_) {
5113   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5114                                    qsig_ci_T_extendedServiceList_sequence, hf_index, ett_qsig_ci_T_extendedServiceList);
5115
5116   return offset;
5117 }
5118
5119
5120 static const value_string qsig_ci_PathRetainArg_vals[] = {
5121   {   0, "serviceList" },
5122   {   1, "extendedServiceList" },
5123   { 0, NULL }
5124 };
5125
5126 static const ber_choice_t qsig_ci_PathRetainArg_choice[] = {
5127   {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5128   {   1, &hf_qsig_ci_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList },
5129   { 0, NULL, 0, 0, 0, NULL }
5130 };
5131
5132 static int
5133 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_) {
5134   offset = dissect_ber_choice(actx, tree, tvb, offset,
5135                                  qsig_ci_PathRetainArg_choice, hf_index, ett_qsig_ci_PathRetainArg,
5136                                  NULL);
5137
5138   return offset;
5139 }
5140
5141
5142 static const ber_sequence_t qsig_ci_T_extendedServiceList_01_sequence[] = {
5143   { &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5144   { &hf_qsig_ci_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5145   { NULL, 0, 0, 0, NULL }
5146 };
5147
5148 static int
5149 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_) {
5150   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5151                                    qsig_ci_T_extendedServiceList_01_sequence, hf_index, ett_qsig_ci_T_extendedServiceList_01);
5152
5153   return offset;
5154 }
5155
5156
5157 static const value_string qsig_ci_ServiceAvailableArg_vals[] = {
5158   {   0, "serviceList" },
5159   {   1, "extendedServiceList" },
5160   { 0, NULL }
5161 };
5162
5163 static const ber_choice_t qsig_ci_ServiceAvailableArg_choice[] = {
5164   {   0, &hf_qsig_ci_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_ServiceList },
5165   {   1, &hf_qsig_ci_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_T_extendedServiceList_01 },
5166   { 0, NULL, 0, 0, 0, NULL }
5167 };
5168
5169 static int
5170 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_) {
5171   offset = dissect_ber_choice(actx, tree, tvb, offset,
5172                                  qsig_ci_ServiceAvailableArg_choice, hf_index, ett_qsig_ci_ServiceAvailableArg,
5173                                  NULL);
5174
5175   return offset;
5176 }
5177
5178
5179
5180 static int
5181 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_) {
5182   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5183
5184   return offset;
5185 }
5186
5187
5188 static const ber_sequence_t qsig_ci_SEQUENCE_OF_Extension_sequence_of[1] = {
5189   { &hf_qsig_ci_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5190 };
5191
5192 static int
5193 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_) {
5194   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5195                                       qsig_ci_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ci_SEQUENCE_OF_Extension);
5196
5197   return offset;
5198 }
5199
5200
5201 static const value_string qsig_ci_DummyArg_vals[] = {
5202   {   0, "null" },
5203   {   1, "extension" },
5204   {   2, "sequenceOfExtn" },
5205   { 0, NULL }
5206 };
5207
5208 static const ber_choice_t qsig_ci_DummyArg_choice[] = {
5209   {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
5210   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5211   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5212   { 0, NULL, 0, 0, 0, NULL }
5213 };
5214
5215 static int
5216 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_) {
5217   offset = dissect_ber_choice(actx, tree, tvb, offset,
5218                                  qsig_ci_DummyArg_choice, hf_index, ett_qsig_ci_DummyArg,
5219                                  NULL);
5220
5221   return offset;
5222 }
5223
5224
5225 static const value_string qsig_ci_DummyRes_vals[] = {
5226   {   0, "null" },
5227   {   1, "extension" },
5228   {   2, "sequenceOfExtn" },
5229   { 0, NULL }
5230 };
5231
5232 static const ber_choice_t qsig_ci_DummyRes_choice[] = {
5233   {   0, &hf_qsig_ci_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_NULL },
5234   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5235   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5236   { 0, NULL, 0, 0, 0, NULL }
5237 };
5238
5239 static int
5240 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_) {
5241   offset = dissect_ber_choice(actx, tree, tvb, offset,
5242                                  qsig_ci_DummyRes_choice, hf_index, ett_qsig_ci_DummyRes,
5243                                  NULL);
5244
5245   return offset;
5246 }
5247
5248
5249 static const value_string qsig_ci_CICapabilityLevel_vals[] = {
5250   {   1, "intrusionLowProt" },
5251   {   2, "intrusionMediumProt" },
5252   {   3, "intrusionHighProt" },
5253   { 0, NULL }
5254 };
5255
5256
5257 static int
5258 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_) {
5259   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5260                                   NULL);
5261
5262   return offset;
5263 }
5264
5265
5266 static const value_string qsig_ci_T_argumentExtension_vals[] = {
5267   {   1, "extension" },
5268   {   2, "sequenceOfExtn" },
5269   { 0, NULL }
5270 };
5271
5272 static const ber_choice_t qsig_ci_T_argumentExtension_choice[] = {
5273   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5274   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5275   { 0, NULL, 0, 0, 0, NULL }
5276 };
5277
5278 static int
5279 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_) {
5280   offset = dissect_ber_choice(actx, tree, tvb, offset,
5281                                  qsig_ci_T_argumentExtension_choice, hf_index, ett_qsig_ci_T_argumentExtension,
5282                                  NULL);
5283
5284   return offset;
5285 }
5286
5287
5288 static const ber_sequence_t qsig_ci_CIRequestArg_sequence[] = {
5289   { &hf_qsig_ci_ciCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CICapabilityLevel },
5290   { &hf_qsig_ci_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_argumentExtension },
5291   { NULL, 0, 0, 0, NULL }
5292 };
5293
5294 static int
5295 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_) {
5296   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5297                                    qsig_ci_CIRequestArg_sequence, hf_index, ett_qsig_ci_CIRequestArg);
5298
5299   return offset;
5300 }
5301
5302
5303 static const value_string qsig_ci_CIUnwantedUserStatus_vals[] = {
5304   {   0, "unwantedUserIntruded" },
5305   {   1, "unwantedUserIsolated" },
5306   { 0, NULL }
5307 };
5308
5309
5310 static int
5311 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_) {
5312   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5313                                   NULL);
5314
5315   return offset;
5316 }
5317
5318
5319 static const value_string qsig_ci_T_resultExtension_vals[] = {
5320   {   1, "extension" },
5321   {   2, "sequenceOfExtn" },
5322   { 0, NULL }
5323 };
5324
5325 static const ber_choice_t qsig_ci_T_resultExtension_choice[] = {
5326   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5327   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5328   { 0, NULL, 0, 0, 0, NULL }
5329 };
5330
5331 static int
5332 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_) {
5333   offset = dissect_ber_choice(actx, tree, tvb, offset,
5334                                  qsig_ci_T_resultExtension_choice, hf_index, ett_qsig_ci_T_resultExtension,
5335                                  NULL);
5336
5337   return offset;
5338 }
5339
5340
5341 static const ber_sequence_t qsig_ci_CIRequestRes_sequence[] = {
5342   { &hf_qsig_ci_ciUnwantedUserStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIUnwantedUserStatus },
5343   { &hf_qsig_ci_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ci_T_resultExtension },
5344   { NULL, 0, 0, 0, NULL }
5345 };
5346
5347 static int
5348 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_) {
5349   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5350                                    qsig_ci_CIRequestRes_sequence, hf_index, ett_qsig_ci_CIRequestRes);
5351
5352   return offset;
5353 }
5354
5355
5356 static const value_string qsig_ci_CIProtectionLevel_vals[] = {
5357   {   0, "lowProtection" },
5358   {   1, "mediumProtection" },
5359   {   2, "highProtection" },
5360   {   3, "fullProtection" },
5361   { 0, NULL }
5362 };
5363
5364
5365 static int
5366 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_) {
5367   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5368                                   NULL);
5369
5370   return offset;
5371 }
5372
5373
5374 static const value_string qsig_ci_T_resultExtension_01_vals[] = {
5375   {   1, "extension" },
5376   {   2, "sequenceOfExtn" },
5377   { 0, NULL }
5378 };
5379
5380 static const ber_choice_t qsig_ci_T_resultExtension_01_choice[] = {
5381   {   1, &hf_qsig_ci_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5382   {   2, &hf_qsig_ci_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ci_SEQUENCE_OF_Extension },
5383   { 0, NULL, 0, 0, 0, NULL }
5384 };
5385
5386 static int
5387 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_) {
5388   offset = dissect_ber_choice(actx, tree, tvb, offset,
5389                                  qsig_ci_T_resultExtension_01_choice, hf_index, ett_qsig_ci_T_resultExtension_01,
5390                                  NULL);
5391
5392   return offset;
5393 }
5394
5395
5396 static const ber_sequence_t qsig_ci_CIGetCIPLRes_sequence[] = {
5397   { &hf_qsig_ci_ciProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ci_CIProtectionLevel },
5398   { &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 },
5399   { NULL, 0, 0, 0, NULL }
5400 };
5401
5402 static int
5403 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_) {
5404   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5405                                    qsig_ci_CIGetCIPLRes_sequence, hf_index, ett_qsig_ci_CIGetCIPLRes);
5406
5407   return offset;
5408 }
5409
5410 /*--- PDUs ---*/
5411
5412 static int dissect_qsig_ci_PathRetainArg_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_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_PathRetainArg_PDU);
5417   return offset;
5418 }
5419 static int dissect_qsig_ci_ServiceAvailableArg_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_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU);
5424   return offset;
5425 }
5426 static int dissect_qsig_ci_CIRequestArg_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_ci_CIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestArg_PDU);
5431   return offset;
5432 }
5433 static int dissect_qsig_ci_CIRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5434   int offset = 0;
5435   asn1_ctx_t asn1_ctx;
5436   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5437   offset = dissect_qsig_ci_CIRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIRequestRes_PDU);
5438   return offset;
5439 }
5440 static int dissect_qsig_ci_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5441   int offset = 0;
5442   asn1_ctx_t asn1_ctx;
5443   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5444   offset = dissect_qsig_ci_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyArg_PDU);
5445   return offset;
5446 }
5447 static int dissect_qsig_ci_CIGetCIPLRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5448   int offset = 0;
5449   asn1_ctx_t asn1_ctx;
5450   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5451   offset = dissect_qsig_ci_CIGetCIPLRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU);
5452   return offset;
5453 }
5454 static int dissect_qsig_ci_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5455   int offset = 0;
5456   asn1_ctx_t asn1_ctx;
5457   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5458   offset = dissect_qsig_ci_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_DummyRes_PDU);
5459   return offset;
5460 }
5461 static int dissect_qsig_ci_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
5462   int offset = 0;
5463   asn1_ctx_t asn1_ctx;
5464   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5465   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ci_qsig_ci_Extension_PDU);
5466   return offset;
5467 }
5468
5469
5470 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
5471
5472
5473
5474 static int
5475 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_) {
5476   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5477
5478   return offset;
5479 }
5480
5481
5482 static const value_string qsig_aoc_ChargedItem_vals[] = {
5483   {   0, "basicCommunication" },
5484   {   1, "callAttempt" },
5485   {   2, "callSetup" },
5486   {   3, "userToUserInfo" },
5487   {   4, "operationOfSupplementaryServ" },
5488   { 0, NULL }
5489 };
5490
5491
5492 static int
5493 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_) {
5494   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5495                                   NULL);
5496
5497   return offset;
5498 }
5499
5500
5501
5502 static int
5503 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_) {
5504   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
5505                                             actx, tree, tvb, offset, hf_index,
5506                                             NULL);
5507
5508   return offset;
5509 }
5510
5511
5512
5513 static int
5514 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_) {
5515   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5516                                                 NULL);
5517
5518   return offset;
5519 }
5520
5521
5522 static const value_string qsig_aoc_Multiplier_vals[] = {
5523   {   0, "oneThousandth" },
5524   {   1, "oneHundredth" },
5525   {   2, "oneTenth" },
5526   {   3, "one" },
5527   {   4, "ten" },
5528   {   5, "hundred" },
5529   {   6, "thousand" },
5530   { 0, NULL }
5531 };
5532
5533
5534 static int
5535 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_) {
5536   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5537                                   NULL);
5538
5539   return offset;
5540 }
5541
5542
5543 static const ber_sequence_t qsig_aoc_Amount_sequence[] = {
5544   { &hf_qsig_aoc_currencyAmount, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_CurrencyAmount },
5545   { &hf_qsig_aoc_multiplier , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Multiplier },
5546   { NULL, 0, 0, 0, NULL }
5547 };
5548
5549 static int
5550 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_) {
5551   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5552                                    qsig_aoc_Amount_sequence, hf_index, ett_qsig_aoc_Amount);
5553
5554   return offset;
5555 }
5556
5557
5558 static const value_string qsig_aoc_ChargingType_vals[] = {
5559   {   0, "continuousCharging" },
5560   {   1, "stepFunction" },
5561   { 0, NULL }
5562 };
5563
5564
5565 static int
5566 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_) {
5567   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5568                                   NULL);
5569
5570   return offset;
5571 }
5572
5573
5574
5575 static int
5576 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_) {
5577   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5578                                                 NULL);
5579
5580   return offset;
5581 }
5582
5583
5584 static const value_string qsig_aoc_Scale_vals[] = {
5585   {   0, "oneHundredthSecond" },
5586   {   1, "oneTenthSecond" },
5587   {   2, "oneSecond" },
5588   {   3, "tenSeconds" },
5589   {   4, "oneMinute" },
5590   {   5, "oneHour" },
5591   {   6, "twentyFourHours" },
5592   { 0, NULL }
5593 };
5594
5595
5596 static int
5597 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_) {
5598   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5599                                   NULL);
5600
5601   return offset;
5602 }
5603
5604
5605 static const ber_sequence_t qsig_aoc_Time_sequence[] = {
5606   { &hf_qsig_aoc_lengthOfTimeUnit, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_LengthOfTimeUnit },
5607   { &hf_qsig_aoc_scale      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Scale },
5608   { NULL, 0, 0, 0, NULL }
5609 };
5610
5611 static int
5612 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_) {
5613   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5614                                    qsig_aoc_Time_sequence, hf_index, ett_qsig_aoc_Time);
5615
5616   return offset;
5617 }
5618
5619
5620 static const ber_sequence_t qsig_aoc_DurationCurrency_sequence[] = {
5621   { &hf_qsig_aoc_dCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5622   { &hf_qsig_aoc_dAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5623   { &hf_qsig_aoc_dChargingType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_ChargingType },
5624   { &hf_qsig_aoc_dTime      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
5625   { &hf_qsig_aoc_dGranularity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Time },
5626   { NULL, 0, 0, 0, NULL }
5627 };
5628
5629 static int
5630 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_) {
5631   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5632                                    qsig_aoc_DurationCurrency_sequence, hf_index, ett_qsig_aoc_DurationCurrency);
5633
5634   return offset;
5635 }
5636
5637
5638 static const ber_sequence_t qsig_aoc_FlatRateCurrency_sequence[] = {
5639   { &hf_qsig_aoc_fRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5640   { &hf_qsig_aoc_fRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5641   { NULL, 0, 0, 0, NULL }
5642 };
5643
5644 static int
5645 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_) {
5646   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5647                                    qsig_aoc_FlatRateCurrency_sequence, hf_index, ett_qsig_aoc_FlatRateCurrency);
5648
5649   return offset;
5650 }
5651
5652
5653 static const value_string qsig_aoc_VolumeUnit_vals[] = {
5654   {   0, "octet" },
5655   {   1, "segment" },
5656   {   2, "message" },
5657   { 0, NULL }
5658 };
5659
5660
5661 static int
5662 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_) {
5663   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5664                                   NULL);
5665
5666   return offset;
5667 }
5668
5669
5670 static const ber_sequence_t qsig_aoc_VolumeRateCurrency_sequence[] = {
5671   { &hf_qsig_aoc_vRCurrency , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5672   { &hf_qsig_aoc_vRAmount   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5673   { &hf_qsig_aoc_vRVolumeUnit, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeUnit },
5674   { NULL, 0, 0, 0, NULL }
5675 };
5676
5677 static int
5678 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_) {
5679   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5680                                    qsig_aoc_VolumeRateCurrency_sequence, hf_index, ett_qsig_aoc_VolumeRateCurrency);
5681
5682   return offset;
5683 }
5684
5685
5686
5687 static int
5688 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_) {
5689   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5690                                                 NULL);
5691
5692   return offset;
5693 }
5694
5695
5696 static const value_string qsig_aoc_T_rateType_vals[] = {
5697   {   0, "durationCurrency" },
5698   {   1, "flatRateCurrency" },
5699   {   2, "volumeRateCurrency" },
5700   {   3, "specialChargingCode" },
5701   {   4, "freeOfCharge" },
5702   {   5, "currencyInfoNotAvailable" },
5703   {   6, "freeOfChargefromBeginning" },
5704   { 0, NULL }
5705 };
5706
5707 static const ber_choice_t qsig_aoc_T_rateType_choice[] = {
5708   {   0, &hf_qsig_aoc_durationCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_DurationCurrency },
5709   {   1, &hf_qsig_aoc_flatRateCurrency, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FlatRateCurrency },
5710   {   2, &hf_qsig_aoc_volumeRateCurrency, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_VolumeRateCurrency },
5711   {   3, &hf_qsig_aoc_specialChargingCode, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SpecialChargingCode },
5712   {   4, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5713   {   5, &hf_qsig_aoc_currencyInfoNotAvailable, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5714   {   6, &hf_qsig_aoc_freeOfChargefromBeginning, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5715   { 0, NULL, 0, 0, 0, NULL }
5716 };
5717
5718 static int
5719 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_) {
5720   offset = dissect_ber_choice(actx, tree, tvb, offset,
5721                                  qsig_aoc_T_rateType_choice, hf_index, ett_qsig_aoc_T_rateType,
5722                                  NULL);
5723
5724   return offset;
5725 }
5726
5727
5728 static const ber_sequence_t qsig_aoc_AOCSCurrencyInfo_sequence[] = {
5729   { &hf_qsig_aoc_chargedItem, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargedItem },
5730   { &hf_qsig_aoc_rateType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateType },
5731   { NULL, 0, 0, 0, NULL }
5732 };
5733
5734 static int
5735 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_) {
5736   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5737                                    qsig_aoc_AOCSCurrencyInfo_sequence, hf_index, ett_qsig_aoc_AOCSCurrencyInfo);
5738
5739   return offset;
5740 }
5741
5742
5743 static const ber_sequence_t qsig_aoc_AOCSCurrencyInfoList_sequence_of[1] = {
5744   { &hf_qsig_aoc_AOCSCurrencyInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfo },
5745 };
5746
5747 static int
5748 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_) {
5749   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5750                                       qsig_aoc_AOCSCurrencyInfoList_sequence_of, hf_index, ett_qsig_aoc_AOCSCurrencyInfoList);
5751
5752   return offset;
5753 }
5754
5755
5756 static const value_string qsig_aoc_T_aocRate_vals[] = {
5757   {   0, "chargeNotAvailable" },
5758   {   1, "aocSCurrencyInfoList" },
5759   { 0, NULL }
5760 };
5761
5762 static const ber_choice_t qsig_aoc_T_aocRate_choice[] = {
5763   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
5764   {   1, &hf_qsig_aoc_aocSCurrencyInfoList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AOCSCurrencyInfoList },
5765   { 0, NULL, 0, 0, 0, NULL }
5766 };
5767
5768 static int
5769 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_) {
5770   offset = dissect_ber_choice(actx, tree, tvb, offset,
5771                                  qsig_aoc_T_aocRate_choice, hf_index, ett_qsig_aoc_T_aocRate,
5772                                  NULL);
5773
5774   return offset;
5775 }
5776
5777
5778 static const ber_sequence_t qsig_aoc_SEQUENCE_OF_Extension_sequence_of[1] = {
5779   { &hf_qsig_aoc_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
5780 };
5781
5782 static int
5783 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_) {
5784   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5785                                       qsig_aoc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_OF_Extension);
5786
5787   return offset;
5788 }
5789
5790
5791 static const value_string qsig_aoc_T_rateArgExtension_vals[] = {
5792   {   1, "extension" },
5793   {   2, "multipleExtension" },
5794   { 0, NULL }
5795 };
5796
5797 static const ber_choice_t qsig_aoc_T_rateArgExtension_choice[] = {
5798   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5799   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
5800   { 0, NULL, 0, 0, 0, NULL }
5801 };
5802
5803 static int
5804 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_) {
5805   offset = dissect_ber_choice(actx, tree, tvb, offset,
5806                                  qsig_aoc_T_rateArgExtension_choice, hf_index, ett_qsig_aoc_T_rateArgExtension,
5807                                  NULL);
5808
5809   return offset;
5810 }
5811
5812
5813 static const ber_sequence_t qsig_aoc_AocRateArg_sequence[] = {
5814   { &hf_qsig_aoc_aocRate    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocRate },
5815   { &hf_qsig_aoc_rateArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_rateArgExtension },
5816   { NULL, 0, 0, 0, NULL }
5817 };
5818
5819 static int
5820 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_) {
5821   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5822                                    qsig_aoc_AocRateArg_sequence, hf_index, ett_qsig_aoc_AocRateArg);
5823
5824   return offset;
5825 }
5826
5827
5828 static const ber_sequence_t qsig_aoc_RecordedCurrency_sequence[] = {
5829   { &hf_qsig_aoc_rCurrency  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Currency },
5830   { &hf_qsig_aoc_rAmount    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_Amount },
5831   { NULL, 0, 0, 0, NULL }
5832 };
5833
5834 static int
5835 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_) {
5836   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5837                                    qsig_aoc_RecordedCurrency_sequence, hf_index, ett_qsig_aoc_RecordedCurrency);
5838
5839   return offset;
5840 }
5841
5842
5843 static const value_string qsig_aoc_InterimBillingId_vals[] = {
5844   {   0, "normalCharging" },
5845   {   2, "creditCardCharging" },
5846   { 0, NULL }
5847 };
5848
5849
5850 static int
5851 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_) {
5852   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5853                                   NULL);
5854
5855   return offset;
5856 }
5857
5858
5859 static const ber_sequence_t qsig_aoc_T_specificCurrency_sequence[] = {
5860   { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
5861   { &hf_qsig_aoc_interimBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_InterimBillingId },
5862   { NULL, 0, 0, 0, NULL }
5863 };
5864
5865 static int
5866 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_) {
5867   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5868                                    qsig_aoc_T_specificCurrency_sequence, hf_index, ett_qsig_aoc_T_specificCurrency);
5869
5870   return offset;
5871 }
5872
5873
5874 static const value_string qsig_aoc_T_interimCharge_vals[] = {
5875   {   0, "chargeNotAvailable" },
5876   {   1, "freeOfCharge" },
5877   {   2, "specificCurrency" },
5878   { 0, NULL }
5879 };
5880
5881 static const ber_choice_t qsig_aoc_T_interimCharge_choice[] = {
5882   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5883   {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5884   {   2, &hf_qsig_aoc_specificCurrency, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency },
5885   { 0, NULL, 0, 0, 0, NULL }
5886 };
5887
5888 static int
5889 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_) {
5890   offset = dissect_ber_choice(actx, tree, tvb, offset,
5891                                  qsig_aoc_T_interimCharge_choice, hf_index, ett_qsig_aoc_T_interimCharge,
5892                                  NULL);
5893
5894   return offset;
5895 }
5896
5897
5898 static const value_string qsig_aoc_T_interimArgExtension_vals[] = {
5899   {   1, "extension" },
5900   {   2, "multipleExtension" },
5901   { 0, NULL }
5902 };
5903
5904 static const ber_choice_t qsig_aoc_T_interimArgExtension_choice[] = {
5905   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
5906   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
5907   { 0, NULL, 0, 0, 0, NULL }
5908 };
5909
5910 static int
5911 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_) {
5912   offset = dissect_ber_choice(actx, tree, tvb, offset,
5913                                  qsig_aoc_T_interimArgExtension_choice, hf_index, ett_qsig_aoc_T_interimArgExtension,
5914                                  NULL);
5915
5916   return offset;
5917 }
5918
5919
5920 static const ber_sequence_t qsig_aoc_AocInterimArg_sequence[] = {
5921   { &hf_qsig_aoc_interimCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimCharge },
5922   { &hf_qsig_aoc_interimArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_interimArgExtension },
5923   { NULL, 0, 0, 0, NULL }
5924 };
5925
5926 static int
5927 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_) {
5928   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5929                                    qsig_aoc_AocInterimArg_sequence, hf_index, ett_qsig_aoc_AocInterimArg);
5930
5931   return offset;
5932 }
5933
5934
5935 static const value_string qsig_aoc_FinalBillingId_vals[] = {
5936   {   0, "normalCharging" },
5937   {   2, "creditCardCharging" },
5938   {   3, "callForwardingUnconditional" },
5939   {   4, "callForwardingBusy" },
5940   {   5, "callForwardingNoReply" },
5941   {   6, "callDeflection" },
5942   {   7, "callTransfer" },
5943   { 0, NULL }
5944 };
5945
5946
5947 static int
5948 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_) {
5949   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5950                                   NULL);
5951
5952   return offset;
5953 }
5954
5955
5956 static const ber_sequence_t qsig_aoc_T_specificCurrency_01_sequence[] = {
5957   { &hf_qsig_aoc_recordedCurrency, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_RecordedCurrency },
5958   { &hf_qsig_aoc_finalBillingId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_aoc_FinalBillingId },
5959   { NULL, 0, 0, 0, NULL }
5960 };
5961
5962 static int
5963 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_) {
5964   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5965                                    qsig_aoc_T_specificCurrency_01_sequence, hf_index, ett_qsig_aoc_T_specificCurrency_01);
5966
5967   return offset;
5968 }
5969
5970
5971 static const value_string qsig_aoc_T_finalCharge_vals[] = {
5972   {   0, "chargeNotAvailable" },
5973   {   1, "freeOfCharge" },
5974   {   2, "specificCurrency" },
5975   { 0, NULL }
5976 };
5977
5978 static const ber_choice_t qsig_aoc_T_finalCharge_choice[] = {
5979   {   0, &hf_qsig_aoc_chargeNotAvailable, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5980   {   1, &hf_qsig_aoc_freeOfCharge, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_NULL },
5981   {   2, &hf_qsig_aoc_specificCurrency_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_T_specificCurrency_01 },
5982   { 0, NULL, 0, 0, 0, NULL }
5983 };
5984
5985 static int
5986 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_) {
5987   offset = dissect_ber_choice(actx, tree, tvb, offset,
5988                                  qsig_aoc_T_finalCharge_choice, hf_index, ett_qsig_aoc_T_finalCharge,
5989                                  NULL);
5990
5991   return offset;
5992 }
5993
5994
5995
5996 static int
5997 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_) {
5998   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5999                                                 NULL);
6000
6001   return offset;
6002 }
6003
6004
6005 static const value_string qsig_aoc_ChargingAssociation_vals[] = {
6006   {   0, "chargeNumber" },
6007   {   1, "chargeIdentifier" },
6008   { 0, NULL }
6009 };
6010
6011 static const ber_choice_t qsig_aoc_ChargingAssociation_choice[] = {
6012   {   0, &hf_qsig_aoc_chargeNumber, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
6013   {   1, &hf_qsig_aoc_chargeIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargeIdentifier },
6014   { 0, NULL, 0, 0, 0, NULL }
6015 };
6016
6017 static int
6018 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_) {
6019   offset = dissect_ber_choice(actx, tree, tvb, offset,
6020                                  qsig_aoc_ChargingAssociation_choice, hf_index, ett_qsig_aoc_ChargingAssociation,
6021                                  NULL);
6022
6023   return offset;
6024 }
6025
6026
6027 static const value_string qsig_aoc_T_finalArgExtension_vals[] = {
6028   {   1, "extension" },
6029   {   2, "multipleExtension" },
6030   { 0, NULL }
6031 };
6032
6033 static const ber_choice_t qsig_aoc_T_finalArgExtension_choice[] = {
6034   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6035   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6036   { 0, NULL, 0, 0, 0, NULL }
6037 };
6038
6039 static int
6040 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_) {
6041   offset = dissect_ber_choice(actx, tree, tvb, offset,
6042                                  qsig_aoc_T_finalArgExtension_choice, hf_index, ett_qsig_aoc_T_finalArgExtension,
6043                                  NULL);
6044
6045   return offset;
6046 }
6047
6048
6049 static const ber_sequence_t qsig_aoc_AocFinalArg_sequence[] = {
6050   { &hf_qsig_aoc_finalCharge, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalCharge },
6051   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6052   { &hf_qsig_aoc_finalArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_finalArgExtension },
6053   { NULL, 0, 0, 0, NULL }
6054 };
6055
6056 static int
6057 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_) {
6058   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6059                                    qsig_aoc_AocFinalArg_sequence, hf_index, ett_qsig_aoc_AocFinalArg);
6060
6061   return offset;
6062 }
6063
6064
6065 static const value_string qsig_aoc_AdviceModeCombination_vals[] = {
6066   {   0, "rate" },
6067   {   1, "rateInterim" },
6068   {   2, "rateFinal" },
6069   {   3, "interim" },
6070   {   4, "final" },
6071   {   5, "interimFinal" },
6072   {   6, "rateInterimFinal" },
6073   { 0, NULL }
6074 };
6075
6076
6077 static int
6078 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_) {
6079   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6080                                   NULL);
6081
6082   return offset;
6083 }
6084
6085
6086 static const ber_sequence_t qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of[1] = {
6087   { &hf_qsig_aoc_adviceModeCombinations_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
6088 };
6089
6090 static int
6091 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_) {
6092   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6093                                       qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination_sequence_of, hf_index, ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination);
6094
6095   return offset;
6096 }
6097
6098
6099 static const value_string qsig_aoc_T_chargeReqArgExtension_vals[] = {
6100   {   1, "extension" },
6101   {   2, "multipleExtension" },
6102   { 0, NULL }
6103 };
6104
6105 static const ber_choice_t qsig_aoc_T_chargeReqArgExtension_choice[] = {
6106   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6107   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6108   { 0, NULL, 0, 0, 0, NULL }
6109 };
6110
6111 static int
6112 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_) {
6113   offset = dissect_ber_choice(actx, tree, tvb, offset,
6114                                  qsig_aoc_T_chargeReqArgExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqArgExtension,
6115                                  NULL);
6116
6117   return offset;
6118 }
6119
6120
6121 static const ber_sequence_t qsig_aoc_ChargeRequestArg_sequence[] = {
6122   { &hf_qsig_aoc_adviceModeCombinations, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination },
6123   { &hf_qsig_aoc_chargeReqArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqArgExtension },
6124   { NULL, 0, 0, 0, NULL }
6125 };
6126
6127 static int
6128 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_) {
6129   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6130                                    qsig_aoc_ChargeRequestArg_sequence, hf_index, ett_qsig_aoc_ChargeRequestArg);
6131
6132   return offset;
6133 }
6134
6135
6136 static const value_string qsig_aoc_T_chargeReqResExtension_vals[] = {
6137   {   1, "extension" },
6138   {   2, "multipleExtension" },
6139   { 0, NULL }
6140 };
6141
6142 static const ber_choice_t qsig_aoc_T_chargeReqResExtension_choice[] = {
6143   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6144   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6145   { 0, NULL, 0, 0, 0, NULL }
6146 };
6147
6148 static int
6149 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_) {
6150   offset = dissect_ber_choice(actx, tree, tvb, offset,
6151                                  qsig_aoc_T_chargeReqResExtension_choice, hf_index, ett_qsig_aoc_T_chargeReqResExtension,
6152                                  NULL);
6153
6154   return offset;
6155 }
6156
6157
6158 static const ber_sequence_t qsig_aoc_ChargeRequestRes_sequence[] = {
6159   { &hf_qsig_aoc_adviceModeCombination, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_AdviceModeCombination },
6160   { &hf_qsig_aoc_chargeReqResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_chargeReqResExtension },
6161   { NULL, 0, 0, 0, NULL }
6162 };
6163
6164 static int
6165 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_) {
6166   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6167                                    qsig_aoc_ChargeRequestRes_sequence, hf_index, ett_qsig_aoc_ChargeRequestRes);
6168
6169   return offset;
6170 }
6171
6172
6173 static const value_string qsig_aoc_DummyArg_vals[] = {
6174   {   0, "none" },
6175   {   1, "extension" },
6176   {   2, "multipleExtension" },
6177   { 0, NULL }
6178 };
6179
6180 static const ber_choice_t qsig_aoc_DummyArg_choice[] = {
6181   {   0, &hf_qsig_aoc_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_NULL },
6182   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6183   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6184   { 0, NULL, 0, 0, 0, NULL }
6185 };
6186
6187 static int
6188 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_) {
6189   offset = dissect_ber_choice(actx, tree, tvb, offset,
6190                                  qsig_aoc_DummyArg_choice, hf_index, ett_qsig_aoc_DummyArg,
6191                                  NULL);
6192
6193   return offset;
6194 }
6195
6196
6197 static const value_string qsig_aoc_T_completeArgExtension_vals[] = {
6198   {   1, "extension" },
6199   {   2, "multipleExtension" },
6200   { 0, NULL }
6201 };
6202
6203 static const ber_choice_t qsig_aoc_T_completeArgExtension_choice[] = {
6204   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6205   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6206   { 0, NULL, 0, 0, 0, NULL }
6207 };
6208
6209 static int
6210 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_) {
6211   offset = dissect_ber_choice(actx, tree, tvb, offset,
6212                                  qsig_aoc_T_completeArgExtension_choice, hf_index, ett_qsig_aoc_T_completeArgExtension,
6213                                  NULL);
6214
6215   return offset;
6216 }
6217
6218
6219 static const ber_sequence_t qsig_aoc_AocCompleteArg_sequence[] = {
6220   { &hf_qsig_aoc_chargedUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6221   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6222   { &hf_qsig_aoc_completeArgExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeArgExtension },
6223   { NULL, 0, 0, 0, NULL }
6224 };
6225
6226 static int
6227 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_) {
6228   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6229                                    qsig_aoc_AocCompleteArg_sequence, hf_index, ett_qsig_aoc_AocCompleteArg);
6230
6231   return offset;
6232 }
6233
6234
6235 static const value_string qsig_aoc_ChargingOption_vals[] = {
6236   {   0, "aocFreeOfCharge" },
6237   {   1, "aocContinueCharging" },
6238   {   2, "aocStopCharging" },
6239   { 0, NULL }
6240 };
6241
6242
6243 static int
6244 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_) {
6245   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6246                                   NULL);
6247
6248   return offset;
6249 }
6250
6251
6252 static const value_string qsig_aoc_T_completeResExtension_vals[] = {
6253   {   1, "extension" },
6254   {   2, "multipleExtension" },
6255   { 0, NULL }
6256 };
6257
6258 static const ber_choice_t qsig_aoc_T_completeResExtension_choice[] = {
6259   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6260   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6261   { 0, NULL, 0, 0, 0, NULL }
6262 };
6263
6264 static int
6265 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_) {
6266   offset = dissect_ber_choice(actx, tree, tvb, offset,
6267                                  qsig_aoc_T_completeResExtension_choice, hf_index, ett_qsig_aoc_T_completeResExtension,
6268                                  NULL);
6269
6270   return offset;
6271 }
6272
6273
6274 static const ber_sequence_t qsig_aoc_AocCompleteRes_sequence[] = {
6275   { &hf_qsig_aoc_chargingOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_ChargingOption },
6276   { &hf_qsig_aoc_completeResExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_completeResExtension },
6277   { NULL, 0, 0, 0, NULL }
6278 };
6279
6280 static int
6281 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_) {
6282   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6283                                    qsig_aoc_AocCompleteRes_sequence, hf_index, ett_qsig_aoc_AocCompleteRes);
6284
6285   return offset;
6286 }
6287
6288
6289 static const value_string qsig_aoc_DiversionType_vals[] = {
6290   {   0, "callForwardingUnconditional" },
6291   {   1, "callForwardingBusy" },
6292   {   2, "callForwardingNoReply" },
6293   {   3, "callDeflection" },
6294   { 0, NULL }
6295 };
6296
6297
6298 static int
6299 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_) {
6300   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6301                                   NULL);
6302
6303   return offset;
6304 }
6305
6306
6307 static const value_string qsig_aoc_T_aocDivChargeReqArgExt_vals[] = {
6308   {   1, "extension" },
6309   {   2, "multipleExtension" },
6310   { 0, NULL }
6311 };
6312
6313 static const ber_choice_t qsig_aoc_T_aocDivChargeReqArgExt_choice[] = {
6314   {   1, &hf_qsig_aoc_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6315   {   2, &hf_qsig_aoc_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_aoc_SEQUENCE_OF_Extension },
6316   { 0, NULL, 0, 0, 0, NULL }
6317 };
6318
6319 static int
6320 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_) {
6321   offset = dissect_ber_choice(actx, tree, tvb, offset,
6322                                  qsig_aoc_T_aocDivChargeReqArgExt_choice, hf_index, ett_qsig_aoc_T_aocDivChargeReqArgExt,
6323                                  NULL);
6324
6325   return offset;
6326 }
6327
6328
6329 static const ber_sequence_t qsig_aoc_AocDivChargeReqArg_sequence[] = {
6330   { &hf_qsig_aoc_divertingUser, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6331   { &hf_qsig_aoc_chargingAssociation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_ChargingAssociation },
6332   { &hf_qsig_aoc_diversionType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_aoc_DiversionType },
6333   { &hf_qsig_aoc_aocDivChargeReqArgExt, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_aoc_T_aocDivChargeReqArgExt },
6334   { NULL, 0, 0, 0, NULL }
6335 };
6336
6337 static int
6338 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_) {
6339   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6340                                    qsig_aoc_AocDivChargeReqArg_sequence, hf_index, ett_qsig_aoc_AocDivChargeReqArg);
6341
6342   return offset;
6343 }
6344
6345 /*--- PDUs ---*/
6346
6347 static int dissect_qsig_aoc_AocRateArg_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_AocRateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocRateArg_PDU);
6352   return offset;
6353 }
6354 static int dissect_qsig_aoc_AocInterimArg_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_AocInterimArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU);
6359   return offset;
6360 }
6361 static int dissect_qsig_aoc_AocFinalArg_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_AocFinalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU);
6366   return offset;
6367 }
6368 static int dissect_qsig_aoc_ChargeRequestArg_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_ChargeRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU);
6373   return offset;
6374 }
6375 static int dissect_qsig_aoc_ChargeRequestRes_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_aoc_ChargeRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU);
6380   return offset;
6381 }
6382 static int dissect_qsig_aoc_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6383   int offset = 0;
6384   asn1_ctx_t asn1_ctx;
6385   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6386   offset = dissect_qsig_aoc_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_DummyArg_PDU);
6387   return offset;
6388 }
6389 static int dissect_qsig_aoc_AocCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6390   int offset = 0;
6391   asn1_ctx_t asn1_ctx;
6392   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6393   offset = dissect_qsig_aoc_AocCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU);
6394   return offset;
6395 }
6396 static int dissect_qsig_aoc_AocCompleteRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6397   int offset = 0;
6398   asn1_ctx_t asn1_ctx;
6399   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6400   offset = dissect_qsig_aoc_AocCompleteRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU);
6401   return offset;
6402 }
6403 static int dissect_qsig_aoc_AocDivChargeReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6404   int offset = 0;
6405   asn1_ctx_t asn1_ctx;
6406   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6407   offset = dissect_qsig_aoc_AocDivChargeReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU);
6408   return offset;
6409 }
6410 static int dissect_qsig_aoc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6411   int offset = 0;
6412   asn1_ctx_t asn1_ctx;
6413   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6414   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_aoc_qsig_aoc_Extension_PDU);
6415   return offset;
6416 }
6417
6418
6419 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
6420
6421
6422 static const ber_sequence_t qsig_re_SEQUENCE_OF_Extension_sequence_of[1] = {
6423   { &hf_qsig_re_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6424 };
6425
6426 static int
6427 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_) {
6428   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6429                                       qsig_re_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_re_SEQUENCE_OF_Extension);
6430
6431   return offset;
6432 }
6433
6434
6435 static const value_string qsig_re_T_argumentExtension_vals[] = {
6436   {   6, "extension" },
6437   {   7, "multipleExtension" },
6438   { 0, NULL }
6439 };
6440
6441 static const ber_choice_t qsig_re_T_argumentExtension_choice[] = {
6442   {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6443   {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
6444   { 0, NULL, 0, 0, 0, NULL }
6445 };
6446
6447 static int
6448 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_) {
6449   offset = dissect_ber_choice(actx, tree, tvb, offset,
6450                                  qsig_re_T_argumentExtension_choice, hf_index, ett_qsig_re_T_argumentExtension,
6451                                  NULL);
6452
6453   return offset;
6454 }
6455
6456
6457 static const ber_sequence_t qsig_re_ReAlertingArg_sequence[] = {
6458   { &hf_qsig_re_alertedNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberScreened },
6459   { &hf_qsig_re_alertedName , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6460   { &hf_qsig_re_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_re_T_argumentExtension },
6461   { NULL, 0, 0, 0, NULL }
6462 };
6463
6464 static int
6465 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_) {
6466   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6467                                    qsig_re_ReAlertingArg_sequence, hf_index, ett_qsig_re_ReAlertingArg);
6468
6469   return offset;
6470 }
6471
6472
6473 static const value_string qsig_re_T_argumentExtension_01_vals[] = {
6474   {   6, "extension" },
6475   {   7, "multipleExtension" },
6476   { 0, NULL }
6477 };
6478
6479 static const ber_choice_t qsig_re_T_argumentExtension_01_choice[] = {
6480   {   6, &hf_qsig_re_extension   , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6481   {   7, &hf_qsig_re_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_re_SEQUENCE_OF_Extension },
6482   { 0, NULL, 0, 0, 0, NULL }
6483 };
6484
6485 static int
6486 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_) {
6487   offset = dissect_ber_choice(actx, tree, tvb, offset,
6488                                  qsig_re_T_argumentExtension_01_choice, hf_index, ett_qsig_re_T_argumentExtension_01,
6489                                  NULL);
6490
6491   return offset;
6492 }
6493
6494
6495 static const ber_sequence_t qsig_re_ReAnswerArg_sequence[] = {
6496   { &hf_qsig_re_connectedNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberScreened },
6497   { &hf_qsig_re_connectedSubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
6498   { &hf_qsig_re_connectedName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6499   { &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 },
6500   { NULL, 0, 0, 0, NULL }
6501 };
6502
6503 static int
6504 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_) {
6505   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6506                                    qsig_re_ReAnswerArg_sequence, hf_index, ett_qsig_re_ReAnswerArg);
6507
6508   return offset;
6509 }
6510
6511 /*--- PDUs ---*/
6512
6513 static int dissect_qsig_re_ReAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6514   int offset = 0;
6515   asn1_ctx_t asn1_ctx;
6516   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6517   offset = dissect_qsig_re_ReAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAlertingArg_PDU);
6518   return offset;
6519 }
6520 static int dissect_qsig_re_ReAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6521   int offset = 0;
6522   asn1_ctx_t asn1_ctx;
6523   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6524   offset = dissect_qsig_re_ReAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_re_qsig_re_ReAnswerArg_PDU);
6525   return offset;
6526 }
6527
6528
6529 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
6530
6531
6532 static const value_string qsig_sync_Action_vals[] = {
6533   {   0, "enslavement" },
6534   {   1, "holdon" },
6535   { 0, NULL }
6536 };
6537
6538
6539 static int
6540 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_) {
6541   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6542                                                 NULL);
6543
6544   return offset;
6545 }
6546
6547
6548 static const ber_sequence_t qsig_sync_SEQUENCE_OF_Extension_sequence_of[1] = {
6549   { &hf_qsig_sync_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6550 };
6551
6552 static int
6553 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_) {
6554   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6555                                       qsig_sync_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sync_SEQUENCE_OF_Extension);
6556
6557   return offset;
6558 }
6559
6560
6561 static const value_string qsig_sync_ArgExtension_vals[] = {
6562   {   1, "extension" },
6563   {   2, "sequOfExtn" },
6564   { 0, NULL }
6565 };
6566
6567 static const ber_choice_t qsig_sync_ArgExtension_choice[] = {
6568   {   1, &hf_qsig_sync_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6569   {   2, &hf_qsig_sync_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sync_SEQUENCE_OF_Extension },
6570   { 0, NULL, 0, 0, 0, NULL }
6571 };
6572
6573 static int
6574 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_) {
6575   offset = dissect_ber_choice(actx, tree, tvb, offset,
6576                                  qsig_sync_ArgExtension_choice, hf_index, ett_qsig_sync_ArgExtension,
6577                                  NULL);
6578
6579   return offset;
6580 }
6581
6582
6583 static const ber_sequence_t qsig_sync_SynchronizationReqArg_sequence[] = {
6584   { &hf_qsig_sync_action    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
6585   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6586   { NULL, 0, 0, 0, NULL }
6587 };
6588
6589 static int
6590 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_) {
6591   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6592                                    qsig_sync_SynchronizationReqArg_sequence, hf_index, ett_qsig_sync_SynchronizationReqArg);
6593
6594   return offset;
6595 }
6596
6597
6598
6599 static int
6600 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_) {
6601   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
6602
6603   return offset;
6604 }
6605
6606
6607 static const ber_sequence_t qsig_sync_SynchronizationReqRes_sequence[] = {
6608   { &hf_qsig_sync_action    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_Action },
6609   { &hf_qsig_sync_response  , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_BOOLEAN },
6610   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6611   { NULL, 0, 0, 0, NULL }
6612 };
6613
6614 static int
6615 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_) {
6616   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6617                                    qsig_sync_SynchronizationReqRes_sequence, hf_index, ett_qsig_sync_SynchronizationReqRes);
6618
6619   return offset;
6620 }
6621
6622
6623 static const value_string qsig_sync_T_stateinfo_vals[] = {
6624   {   0, "freerunning" },
6625   {   1, "idle" },
6626   { 0, NULL }
6627 };
6628
6629
6630 static int
6631 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_) {
6632   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6633                                                 NULL);
6634
6635   return offset;
6636 }
6637
6638
6639 static const ber_sequence_t qsig_sync_SynchronizationInfoArg_sequence[] = {
6640   { &hf_qsig_sync_stateinfo , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sync_T_stateinfo },
6641   { &hf_qsig_sync_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sync_ArgExtension },
6642   { NULL, 0, 0, 0, NULL }
6643 };
6644
6645 static int
6646 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_) {
6647   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6648                                    qsig_sync_SynchronizationInfoArg_sequence, hf_index, ett_qsig_sync_SynchronizationInfoArg);
6649
6650   return offset;
6651 }
6652
6653 /*--- PDUs ---*/
6654
6655 static int dissect_qsig_sync_SynchronizationReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6656   int offset = 0;
6657   asn1_ctx_t asn1_ctx;
6658   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6659   offset = dissect_qsig_sync_SynchronizationReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU);
6660   return offset;
6661 }
6662 static int dissect_qsig_sync_SynchronizationReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6663   int offset = 0;
6664   asn1_ctx_t asn1_ctx;
6665   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6666   offset = dissect_qsig_sync_SynchronizationReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU);
6667   return offset;
6668 }
6669 static int dissect_qsig_sync_SynchronizationInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6670   int offset = 0;
6671   asn1_ctx_t asn1_ctx;
6672   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6673   offset = dissect_qsig_sync_SynchronizationInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU);
6674   return offset;
6675 }
6676 static int dissect_qsig_sync_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6677   int offset = 0;
6678   asn1_ctx_t asn1_ctx;
6679   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6680   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sync_qsig_sync_Extension_PDU);
6681   return offset;
6682 }
6683
6684
6685 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
6686
6687
6688 static const value_string qsig_cint_CintCause_vals[] = {
6689   {   0, "unknown" },
6690   {   1, "cintBnan" },
6691   {   2, "cintBus" },
6692   {   3, "cintCug" },
6693   {   4, "cintDnd" },
6694   {   5, "cintIbd" },
6695   {   6, "cintInn" },
6696   {   7, "cintMob1" },
6697   {   8, "cintMob2" },
6698   {   9, "cintMob3" },
6699   {  10, "cintNcmp" },
6700   {  11, "cintNcong" },
6701   {  12, "cintNre" },
6702   {  13, "cintOos" },
6703   {  14, "cintRrs" },
6704   {  15, "cintTbnan" },
6705   {  16, "cintTnre" },
6706   {  17, "cintTrans" },
6707   {  18, "cintUpl" },
6708   {  19, "cintInvDiv" },
6709   {  20, "cintHold" },
6710   { 0, NULL }
6711 };
6712
6713
6714 static int
6715 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_) {
6716   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6717                                                 NULL);
6718
6719   return offset;
6720 }
6721
6722
6723
6724 static int
6725 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_) {
6726   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6727
6728   return offset;
6729 }
6730
6731
6732 static const ber_sequence_t qsig_cint_SEQUENCE_OF_Extension_sequence_of[1] = {
6733   { &hf_qsig_cint_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6734 };
6735
6736 static int
6737 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_) {
6738   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6739                                       qsig_cint_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cint_SEQUENCE_OF_Extension);
6740
6741   return offset;
6742 }
6743
6744
6745 static const value_string qsig_cint_CintExtension_vals[] = {
6746   {   0, "none" },
6747   {   1, "single" },
6748   {   2, "multiple" },
6749   { 0, NULL }
6750 };
6751
6752 static const ber_choice_t qsig_cint_CintExtension_choice[] = {
6753   {   0, &hf_qsig_cint_none      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_NULL },
6754   {   1, &hf_qsig_cint_single    , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6755   {   2, &hf_qsig_cint_multiple  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cint_SEQUENCE_OF_Extension },
6756   { 0, NULL, 0, 0, 0, NULL }
6757 };
6758
6759 static int
6760 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_) {
6761   offset = dissect_ber_choice(actx, tree, tvb, offset,
6762                                  qsig_cint_CintExtension_choice, hf_index, ett_qsig_cint_CintExtension,
6763                                  NULL);
6764
6765   return offset;
6766 }
6767
6768
6769 static const ber_sequence_t qsig_cint_CintInformation1Arg_sequence[] = {
6770   { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
6771   { &hf_qsig_cint_interceptedToNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
6772   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6773   { NULL, 0, 0, 0, NULL }
6774 };
6775
6776 static int
6777 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_) {
6778   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6779                                    qsig_cint_CintInformation1Arg_sequence, hf_index, ett_qsig_cint_CintInformation1Arg);
6780
6781   return offset;
6782 }
6783
6784
6785 static const ber_sequence_t qsig_cint_CintInformation2Arg_sequence[] = {
6786   { &hf_qsig_cint_interceptionCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_CintCause },
6787   { &hf_qsig_cint_calledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6788   { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6789   { &hf_qsig_cint_calledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6790   { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6791   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6792   { NULL, 0, 0, 0, NULL }
6793 };
6794
6795 static int
6796 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_) {
6797   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6798                                    qsig_cint_CintInformation2Arg_sequence, hf_index, ett_qsig_cint_CintInformation2Arg);
6799
6800   return offset;
6801 }
6802
6803
6804 static const value_string qsig_cint_Condition_vals[] = {
6805   {   0, "unknown" },
6806   {   2, "cintBus" },
6807   {   3, "cintCug" },
6808   {   4, "cintDnd" },
6809   {   5, "cintIbd" },
6810   {   6, "cintInn" },
6811   {   7, "cintMob1" },
6812   {   8, "cintMob2" },
6813   {   9, "cintMob3" },
6814   {  10, "cintNcmp" },
6815   {  11, "cintNcong" },
6816   {  13, "cintOos" },
6817   {  14, "cintRrs" },
6818   {  17, "cintTrans" },
6819   {  18, "cintUpl" },
6820   {  19, "cintInvDiv" },
6821   { 0, NULL }
6822 };
6823
6824
6825 static int
6826 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_) {
6827   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6828                                                 NULL);
6829
6830   return offset;
6831 }
6832
6833
6834 static const ber_sequence_t qsig_cint_CintCondArg_sequence[] = {
6835   { &hf_qsig_cint_interceptionCause_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cint_Condition },
6836   { &hf_qsig_cint_originalCalledNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
6837   { &hf_qsig_cint_calledName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6838   { &hf_qsig_cint_originalCalledName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
6839   { &hf_qsig_cint_extension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cint_CintExtension },
6840   { NULL, 0, 0, 0, NULL }
6841 };
6842
6843 static int
6844 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_) {
6845   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6846                                    qsig_cint_CintCondArg_sequence, hf_index, ett_qsig_cint_CintCondArg);
6847
6848   return offset;
6849 }
6850
6851 /*--- PDUs ---*/
6852
6853 static int dissect_qsig_cint_CintInformation1Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6854   int offset = 0;
6855   asn1_ctx_t asn1_ctx;
6856   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6857   offset = dissect_qsig_cint_CintInformation1Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU);
6858   return offset;
6859 }
6860 static int dissect_qsig_cint_CintInformation2Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6861   int offset = 0;
6862   asn1_ctx_t asn1_ctx;
6863   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6864   offset = dissect_qsig_cint_CintInformation2Arg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU);
6865   return offset;
6866 }
6867 static int dissect_qsig_cint_CintCondArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6868   int offset = 0;
6869   asn1_ctx_t asn1_ctx;
6870   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6871   offset = dissect_qsig_cint_CintCondArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintCondArg_PDU);
6872   return offset;
6873 }
6874 static int dissect_qsig_cint_CintExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
6875   int offset = 0;
6876   asn1_ctx_t asn1_ctx;
6877   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
6878   offset = dissect_qsig_cint_CintExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cint_qsig_cint_CintExtension_PDU);
6879   return offset;
6880 }
6881
6882
6883 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
6884
6885
6886 static const asn_namedbit qsig_cmn_FeatureIdList_bits[] = {
6887   {  0, &hf_qsig_cmn_FeatureIdList_reserved, -1, -1, "reserved", NULL },
6888   {  1, &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported, -1, -1, "ssCFreRoutingSupported", NULL },
6889   {  2, &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported, -1, -1, "ssCTreRoutingSupported", NULL },
6890   {  3, &hf_qsig_cmn_FeatureIdList_ssCCBSpossible, -1, -1, "ssCCBSpossible", NULL },
6891   {  4, &hf_qsig_cmn_FeatureIdList_ssCCNRpossible, -1, -1, "ssCCNRpossible", NULL },
6892   {  5, &hf_qsig_cmn_FeatureIdList_ssCOsupported, -1, -1, "ssCOsupported", NULL },
6893   {  6, &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease, -1, -1, "ssCIforcedRelease", NULL },
6894   {  7, &hf_qsig_cmn_FeatureIdList_ssCIisolation, -1, -1, "ssCIisolation", NULL },
6895   {  8, &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy, -1, -1, "ssCIwaitOnBusy", NULL },
6896   {  9, &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx, -1, -1, "ssAOCsupportChargeRateProvAtGatewPinx", NULL },
6897   { 10, &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx, -1, -1, "ssAOCsupportInterimChargeProvAtGatewPinx", NULL },
6898   { 11, &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx, -1, -1, "ssAOCsupportFinalChargeProvAtGatewPinx", NULL },
6899   { 12, &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx, -1, -1, "anfPRsupportedAtCooperatingPinx", NULL },
6900   { 13, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate, -1, -1, "anfCINTcanInterceptImmediate", NULL },
6901   { 14, &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed, -1, -1, "anfCINTcanInterceptDelayed", NULL },
6902   { 15, &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported, -1, -1, "anfWTMIreRoutingSupported", NULL },
6903   { 16, &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported, -1, -1, "anfPUMIreRoutingSupported", NULL },
6904   { 17, &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported, -1, -1, "ssSSCTreRoutingSupported", NULL },
6905   { 0, NULL, 0, 0, NULL, NULL }
6906 };
6907
6908 static int
6909 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_) {
6910   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6911                                     qsig_cmn_FeatureIdList_bits, hf_index, ett_qsig_cmn_FeatureIdList,
6912                                     NULL);
6913
6914   return offset;
6915 }
6916
6917
6918
6919 static int
6920 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_) {
6921   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6922                                                 NULL);
6923
6924   return offset;
6925 }
6926
6927
6928
6929 static int
6930 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_) {
6931   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
6932                                             actx, tree, tvb, offset, hf_index,
6933                                             NULL);
6934
6935   return offset;
6936 }
6937
6938
6939 static const ber_sequence_t qsig_cmn_EquipmentId_sequence[] = {
6940   { &hf_qsig_cmn_nodeId     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6941   { &hf_qsig_cmn_groupId    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6942   { &hf_qsig_cmn_unitId     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_IA5String_SIZE_1_10 },
6943   { NULL, 0, 0, 0, NULL }
6944 };
6945
6946 static int
6947 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_) {
6948   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6949                                    qsig_cmn_EquipmentId_sequence, hf_index, ett_qsig_cmn_EquipmentId);
6950
6951   return offset;
6952 }
6953
6954
6955 static const value_string qsig_cmn_PartyCategory_vals[] = {
6956   {   0, "unknown" },
6957   {   1, "extension" },
6958   {   2, "pisnAttendant" },
6959   {   3, "emergExt" },
6960   { 0, NULL }
6961 };
6962
6963
6964 static int
6965 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_) {
6966   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6967                                   NULL);
6968
6969   return offset;
6970 }
6971
6972
6973 static const ber_sequence_t qsig_cmn_SEQUENCE_OF_Extension_sequence_of[1] = {
6974   { &hf_qsig_cmn_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
6975 };
6976
6977 static int
6978 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_) {
6979   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6980                                       qsig_cmn_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cmn_SEQUENCE_OF_Extension);
6981
6982   return offset;
6983 }
6984
6985
6986 static const value_string qsig_cmn_T_extension_vals[] = {
6987   {   7, "single" },
6988   {   8, "multiple" },
6989   { 0, NULL }
6990 };
6991
6992 static const ber_choice_t qsig_cmn_T_extension_choice[] = {
6993   {   7, &hf_qsig_cmn_single     , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
6994   {   8, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
6995   { 0, NULL, 0, 0, 0, NULL }
6996 };
6997
6998 static int
6999 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_) {
7000   offset = dissect_ber_choice(actx, tree, tvb, offset,
7001                                  qsig_cmn_T_extension_choice, hf_index, ett_qsig_cmn_T_extension,
7002                                  NULL);
7003
7004   return offset;
7005 }
7006
7007
7008 static const ber_sequence_t qsig_cmn_CmnArg_sequence[] = {
7009   { &hf_qsig_cmn_featureIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_FeatureIdList },
7010   { &hf_qsig_cmn_ssDNDOprotectionLevel, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
7011   { &hf_qsig_cmn_ssCIprotectionLevel, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_INTEGER_0_3 },
7012   { &hf_qsig_cmn_equipmentIdentity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_EquipmentId },
7013   { &hf_qsig_cmn_partyCategory, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cmn_PartyCategory },
7014   { &hf_qsig_cmn_extension  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cmn_T_extension },
7015   { NULL, 0, 0, 0, NULL }
7016 };
7017
7018 static int
7019 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_) {
7020   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7021                                    qsig_cmn_CmnArg_sequence, hf_index, ett_qsig_cmn_CmnArg);
7022
7023   return offset;
7024 }
7025
7026
7027
7028 static int
7029 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_) {
7030   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7031
7032   return offset;
7033 }
7034
7035
7036 static const value_string qsig_cmn_DummyArg_vals[] = {
7037   {   0, "null" },
7038   {   1, "single" },
7039   {   2, "multiple" },
7040   { 0, NULL }
7041 };
7042
7043 static const ber_choice_t qsig_cmn_DummyArg_choice[] = {
7044   {   0, &hf_qsig_cmn_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cmn_NULL },
7045   {   1, &hf_qsig_cmn_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7046   {   2, &hf_qsig_cmn_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cmn_SEQUENCE_OF_Extension },
7047   { 0, NULL, 0, 0, 0, NULL }
7048 };
7049
7050 static int
7051 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_) {
7052   offset = dissect_ber_choice(actx, tree, tvb, offset,
7053                                  qsig_cmn_DummyArg_choice, hf_index, ett_qsig_cmn_DummyArg,
7054                                  NULL);
7055
7056   return offset;
7057 }
7058
7059 /*--- PDUs ---*/
7060
7061 static int dissect_qsig_cmn_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7062   int offset = 0;
7063   asn1_ctx_t asn1_ctx;
7064   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7065   offset = dissect_qsig_cmn_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_DummyArg_PDU);
7066   return offset;
7067 }
7068 static int dissect_qsig_cmn_CmnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7069   int offset = 0;
7070   asn1_ctx_t asn1_ctx;
7071   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7072   offset = dissect_qsig_cmn_CmnArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cmn_qsig_cmn_CmnArg_PDU);
7073   return offset;
7074 }
7075
7076
7077 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
7078
7079
7080 static const value_string qsig_cpi_CPICapabilityLevel_vals[] = {
7081   {   1, "interruptionLowPriority" },
7082   {   2, "interruptionMediumPriority" },
7083   {   3, "interruptionHighPriority" },
7084   { 0, NULL }
7085 };
7086
7087
7088 static int
7089 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_) {
7090   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7091                                   NULL);
7092
7093   return offset;
7094 }
7095
7096
7097 static const ber_sequence_t qsig_cpi_SEQUENCE_OF_Extension_sequence_of[1] = {
7098   { &hf_qsig_cpi_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7099 };
7100
7101 static int
7102 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_) {
7103   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7104                                       qsig_cpi_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cpi_SEQUENCE_OF_Extension);
7105
7106   return offset;
7107 }
7108
7109
7110 static const value_string qsig_cpi_T_argumentExtension_vals[] = {
7111   {   1, "extension" },
7112   {   2, "sequenceOfExtn" },
7113   { 0, NULL }
7114 };
7115
7116 static const ber_choice_t qsig_cpi_T_argumentExtension_choice[] = {
7117   {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7118   {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
7119   { 0, NULL, 0, 0, 0, NULL }
7120 };
7121
7122 static int
7123 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_) {
7124   offset = dissect_ber_choice(actx, tree, tvb, offset,
7125                                  qsig_cpi_T_argumentExtension_choice, hf_index, ett_qsig_cpi_T_argumentExtension,
7126                                  NULL);
7127
7128   return offset;
7129 }
7130
7131
7132 static const ber_sequence_t qsig_cpi_CPIRequestArg_sequence[] = {
7133   { &hf_qsig_cpi_cpiCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPICapabilityLevel },
7134   { &hf_qsig_cpi_argumentExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cpi_T_argumentExtension },
7135   { NULL, 0, 0, 0, NULL }
7136 };
7137
7138 static int
7139 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_) {
7140   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7141                                    qsig_cpi_CPIRequestArg_sequence, hf_index, ett_qsig_cpi_CPIRequestArg);
7142
7143   return offset;
7144 }
7145
7146
7147 static const value_string qsig_cpi_CPIProtectionLevel_vals[] = {
7148   {   0, "noProtection" },
7149   {   1, "lowProtection" },
7150   {   2, "mediumProtection" },
7151   {   3, "totalProtection" },
7152   { 0, NULL }
7153 };
7154
7155
7156 static int
7157 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_) {
7158   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7159                                   NULL);
7160
7161   return offset;
7162 }
7163
7164
7165 static const value_string qsig_cpi_T_argumentExtension_01_vals[] = {
7166   {   1, "extension" },
7167   {   2, "sequenceOfExtn" },
7168   { 0, NULL }
7169 };
7170
7171 static const ber_choice_t qsig_cpi_T_argumentExtension_01_choice[] = {
7172   {   1, &hf_qsig_cpi_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7173   {   2, &hf_qsig_cpi_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cpi_SEQUENCE_OF_Extension },
7174   { 0, NULL, 0, 0, 0, NULL }
7175 };
7176
7177 static int
7178 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_) {
7179   offset = dissect_ber_choice(actx, tree, tvb, offset,
7180                                  qsig_cpi_T_argumentExtension_01_choice, hf_index, ett_qsig_cpi_T_argumentExtension_01,
7181                                  NULL);
7182
7183   return offset;
7184 }
7185
7186
7187 static const ber_sequence_t qsig_cpi_CPIPRequestArg_sequence[] = {
7188   { &hf_qsig_cpi_cpiProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cpi_CPIProtectionLevel },
7189   { &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 },
7190   { NULL, 0, 0, 0, NULL }
7191 };
7192
7193 static int
7194 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_) {
7195   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7196                                    qsig_cpi_CPIPRequestArg_sequence, hf_index, ett_qsig_cpi_CPIPRequestArg);
7197
7198   return offset;
7199 }
7200
7201 /*--- PDUs ---*/
7202
7203 static int dissect_qsig_cpi_CPIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7204   int offset = 0;
7205   asn1_ctx_t asn1_ctx;
7206   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7207   offset = dissect_qsig_cpi_CPIRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU);
7208   return offset;
7209 }
7210 static int dissect_qsig_cpi_CPIPRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7211   int offset = 0;
7212   asn1_ctx_t asn1_ctx;
7213   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7214   offset = dissect_qsig_cpi_CPIPRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU);
7215   return offset;
7216 }
7217
7218
7219 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
7220
7221
7222
7223 static int
7224 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_) {
7225   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7226                                        NULL);
7227
7228   return offset;
7229 }
7230
7231
7232 static const value_string qsig_pumr_RpumUserId_vals[] = {
7233   {   0, "pumNumber" },
7234   {   1, "alternativeId" },
7235   { 0, NULL }
7236 };
7237
7238 static const ber_choice_t qsig_pumr_RpumUserId_choice[] = {
7239   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7240   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7241   { 0, NULL, 0, 0, 0, NULL }
7242 };
7243
7244 static int
7245 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_) {
7246   offset = dissect_ber_choice(actx, tree, tvb, offset,
7247                                  qsig_pumr_RpumUserId_choice, hf_index, ett_qsig_pumr_RpumUserId,
7248                                  NULL);
7249
7250   return offset;
7251 }
7252
7253
7254 static const value_string qsig_pumr_ServiceOption_vals[] = {
7255   {   0, "inCallRegistration" },
7256   {   1, "outCallRegistration" },
7257   {   2, "allCallRegistration" },
7258   { 0, NULL }
7259 };
7260
7261
7262 static int
7263 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_) {
7264   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7265                                   NULL);
7266
7267   return offset;
7268 }
7269
7270
7271
7272 static int
7273 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_) {
7274   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7275                                                 NULL);
7276
7277   return offset;
7278 }
7279
7280
7281 static const ber_sequence_t qsig_pumr_SessionParams_sequence[] = {
7282   { &hf_qsig_pumr_durationOfSession, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
7283   { &hf_qsig_pumr_numberOfOutgCalls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_INTEGER },
7284   { NULL, 0, 0, 0, NULL }
7285 };
7286
7287 static int
7288 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_) {
7289   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7290                                    qsig_pumr_SessionParams_sequence, hf_index, ett_qsig_pumr_SessionParams);
7291
7292   return offset;
7293 }
7294
7295
7296
7297 static int
7298 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_) {
7299   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7300                                        NULL);
7301
7302   return offset;
7303 }
7304
7305
7306 static const value_string qsig_pumr_T_userPin_vals[] = {
7307   {   6, "pumUserPin" },
7308   {   7, "activatingUserPin" },
7309   { 0, NULL }
7310 };
7311
7312 static const ber_choice_t qsig_pumr_T_userPin_choice[] = {
7313   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7314   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7315   { 0, NULL, 0, 0, 0, NULL }
7316 };
7317
7318 static int
7319 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_) {
7320   offset = dissect_ber_choice(actx, tree, tvb, offset,
7321                                  qsig_pumr_T_userPin_choice, hf_index, ett_qsig_pumr_T_userPin,
7322                                  NULL);
7323
7324   return offset;
7325 }
7326
7327
7328 static const ber_sequence_t qsig_pumr_SEQUENCE_OF_Extension_sequence_of[1] = {
7329   { &hf_qsig_pumr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7330 };
7331
7332 static int
7333 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_) {
7334   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7335                                       qsig_pumr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumr_SEQUENCE_OF_Extension);
7336
7337   return offset;
7338 }
7339
7340
7341 static const value_string qsig_pumr_PumrExtension_vals[] = {
7342   {   4, "extension" },
7343   {   5, "sequOfExtn" },
7344   { 0, NULL }
7345 };
7346
7347 static const ber_choice_t qsig_pumr_PumrExtension_choice[] = {
7348   {   4, &hf_qsig_pumr_extension , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7349   {   5, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
7350   { 0, NULL, 0, 0, 0, NULL }
7351 };
7352
7353 static int
7354 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_) {
7355   offset = dissect_ber_choice(actx, tree, tvb, offset,
7356                                  qsig_pumr_PumrExtension_choice, hf_index, ett_qsig_pumr_PumrExtension,
7357                                  NULL);
7358
7359   return offset;
7360 }
7361
7362
7363 static const ber_sequence_t qsig_pumr_PumRegistrArg_sequence[] = {
7364   { &hf_qsig_pumr_pumRUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_RpumUserId },
7365   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7366   { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7367   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7368   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7369   { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7370   { &hf_qsig_pumr_userPin   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_T_userPin },
7371   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7372   { NULL, 0, 0, 0, NULL }
7373 };
7374
7375 static int
7376 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_) {
7377   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7378                                    qsig_pumr_PumRegistrArg_sequence, hf_index, ett_qsig_pumr_PumRegistrArg);
7379
7380   return offset;
7381 }
7382
7383
7384 static const ber_sequence_t qsig_pumr_PumRegistrRes_sequence[] = {
7385   { &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7386   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7387   { &hf_qsig_pumr_sessionParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7388   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7389   { NULL, 0, 0, 0, NULL }
7390 };
7391
7392 static int
7393 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_) {
7394   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7395                                    qsig_pumr_PumRegistrRes_sequence, hf_index, ett_qsig_pumr_PumRegistrRes);
7396
7397   return offset;
7398 }
7399
7400
7401
7402 static int
7403 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_) {
7404   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7405
7406   return offset;
7407 }
7408
7409
7410 static const value_string qsig_pumr_DummyRes_vals[] = {
7411   {   0, "null" },
7412   {   1, "extension" },
7413   {   2, "sequOfExtn" },
7414   { 0, NULL }
7415 };
7416
7417 static const ber_choice_t qsig_pumr_DummyRes_choice[] = {
7418   {   0, &hf_qsig_pumr_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_NULL },
7419   {   1, &hf_qsig_pumr_extension , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7420   {   2, &hf_qsig_pumr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_SEQUENCE_OF_Extension },
7421   { 0, NULL, 0, 0, 0, NULL }
7422 };
7423
7424 static int
7425 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_) {
7426   offset = dissect_ber_choice(actx, tree, tvb, offset,
7427                                  qsig_pumr_DummyRes_choice, hf_index, ett_qsig_pumr_DummyRes,
7428                                  NULL);
7429
7430   return offset;
7431 }
7432
7433
7434 static const value_string qsig_pumr_XpumUserId_vals[] = {
7435   {   0, "pumNumber" },
7436   {   1, "alternativeId" },
7437   { 0, NULL }
7438 };
7439
7440 static const ber_choice_t qsig_pumr_XpumUserId_choice[] = {
7441   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7442   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7443   { 0, NULL, 0, 0, 0, NULL }
7444 };
7445
7446 static int
7447 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_) {
7448   offset = dissect_ber_choice(actx, tree, tvb, offset,
7449                                  qsig_pumr_XpumUserId_choice, hf_index, ett_qsig_pumr_XpumUserId,
7450                                  NULL);
7451
7452   return offset;
7453 }
7454
7455
7456 static const ber_sequence_t qsig_pumr_PumDelRegArg_sequence[] = {
7457   { &hf_qsig_pumr_pumXUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_XpumUserId },
7458   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7459   { &hf_qsig_pumr_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7460   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7461   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7462   { NULL, 0, 0, 0, NULL }
7463 };
7464
7465 static int
7466 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_) {
7467   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7468                                    qsig_pumr_PumDelRegArg_sequence, hf_index, ett_qsig_pumr_PumDelRegArg);
7469
7470   return offset;
7471 }
7472
7473
7474 static const value_string qsig_pumr_DpumUserId_vals[] = {
7475   {   0, "pumNumber" },
7476   {   1, "alternativeId" },
7477   { 0, NULL }
7478 };
7479
7480 static const ber_choice_t qsig_pumr_DpumUserId_choice[] = {
7481   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7482   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7483   { 0, NULL, 0, 0, 0, NULL }
7484 };
7485
7486 static int
7487 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_) {
7488   offset = dissect_ber_choice(actx, tree, tvb, offset,
7489                                  qsig_pumr_DpumUserId_choice, hf_index, ett_qsig_pumr_DpumUserId,
7490                                  NULL);
7491
7492   return offset;
7493 }
7494
7495
7496 static const value_string qsig_pumr_T_userPin_01_vals[] = {
7497   {   6, "pumUserPin" },
7498   {   7, "activatingUserPin" },
7499   { 0, NULL }
7500 };
7501
7502 static const ber_choice_t qsig_pumr_T_userPin_01_choice[] = {
7503   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7504   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7505   { 0, NULL, 0, 0, 0, NULL }
7506 };
7507
7508 static int
7509 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_) {
7510   offset = dissect_ber_choice(actx, tree, tvb, offset,
7511                                  qsig_pumr_T_userPin_01_choice, hf_index, ett_qsig_pumr_T_userPin_01,
7512                                  NULL);
7513
7514   return offset;
7515 }
7516
7517
7518 static const ber_sequence_t qsig_pumr_PumDe_regArg_sequence[] = {
7519   { &hf_qsig_pumr_pumDUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_DpumUserId },
7520   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7521   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7522   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7523   { &hf_qsig_pumr_serviceOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_ServiceOption },
7524   { &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 },
7525   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7526   { NULL, 0, 0, 0, NULL }
7527 };
7528
7529 static int
7530 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_) {
7531   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7532                                    qsig_pumr_PumDe_regArg_sequence, hf_index, ett_qsig_pumr_PumDe_regArg);
7533
7534   return offset;
7535 }
7536
7537
7538 static const value_string qsig_pumr_IpumUserId_vals[] = {
7539   {   0, "pumNumber" },
7540   {   1, "alternativeId" },
7541   { 0, NULL }
7542 };
7543
7544 static const ber_choice_t qsig_pumr_IpumUserId_choice[] = {
7545   {   0, &hf_qsig_pumr_pumNumber , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7546   {   1, &hf_qsig_pumr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_AlternativeId },
7547   { 0, NULL, 0, 0, 0, NULL }
7548 };
7549
7550 static int
7551 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_) {
7552   offset = dissect_ber_choice(actx, tree, tvb, offset,
7553                                  qsig_pumr_IpumUserId_choice, hf_index, ett_qsig_pumr_IpumUserId,
7554                                  NULL);
7555
7556   return offset;
7557 }
7558
7559
7560
7561 static int
7562 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_) {
7563   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
7564
7565   return offset;
7566 }
7567
7568
7569 static const value_string qsig_pumr_T_userPin_02_vals[] = {
7570   {   6, "pumUserPin" },
7571   {   7, "activatingUserPin" },
7572   { 0, NULL }
7573 };
7574
7575 static const ber_choice_t qsig_pumr_T_userPin_02_choice[] = {
7576   {   6, &hf_qsig_pumr_pumUserPin, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7577   {   7, &hf_qsig_pumr_activatingUserPin, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_pumr_UserPin },
7578   { 0, NULL, 0, 0, 0, NULL }
7579 };
7580
7581 static int
7582 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_) {
7583   offset = dissect_ber_choice(actx, tree, tvb, offset,
7584                                  qsig_pumr_T_userPin_02_choice, hf_index, ett_qsig_pumr_T_userPin_02,
7585                                  NULL);
7586
7587   return offset;
7588 }
7589
7590
7591 static const ber_sequence_t qsig_pumr_PumInterrogArg_sequence[] = {
7592   { &hf_qsig_pumr_pumIUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_IpumUserId },
7593   { &hf_qsig_pumr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
7594   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7595   { &hf_qsig_pumr_activatingUserAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7596   { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_pumr_ServiceOption },
7597   { &hf_qsig_pumr_homeInfoOnly, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_BOOLEAN },
7598   { &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 },
7599   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7600   { NULL, 0, 0, 0, NULL }
7601 };
7602
7603 static int
7604 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_) {
7605   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7606                                    qsig_pumr_PumInterrogArg_sequence, hf_index, ett_qsig_pumr_PumInterrogArg);
7607
7608   return offset;
7609 }
7610
7611
7612 static const ber_sequence_t qsig_pumr_PumInterrogRes_item_sequence[] = {
7613   { &hf_qsig_pumr_basicService, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_BasicService },
7614   { &hf_qsig_pumr_hostingAddr, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7615   { &hf_qsig_pumr_serviceOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumr_ServiceOption },
7616   { &hf_qsig_pumr_interrogParams, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_SessionParams },
7617   { &hf_qsig_pumr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumr_PumrExtension },
7618   { NULL, 0, 0, 0, NULL }
7619 };
7620
7621 static int
7622 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_) {
7623   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7624                                    qsig_pumr_PumInterrogRes_item_sequence, hf_index, ett_qsig_pumr_PumInterrogRes_item);
7625
7626   return offset;
7627 }
7628
7629
7630 static const ber_sequence_t qsig_pumr_PumInterrogRes_set_of[1] = {
7631   { &hf_qsig_pumr_PumInterrogRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_pumr_PumInterrogRes_item },
7632 };
7633
7634 static int
7635 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_) {
7636   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
7637                                  qsig_pumr_PumInterrogRes_set_of, hf_index, ett_qsig_pumr_PumInterrogRes);
7638
7639   return offset;
7640 }
7641
7642 /*--- PDUs ---*/
7643
7644 static int dissect_qsig_pumr_PumRegistrArg_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_PumRegistrArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU);
7649   return offset;
7650 }
7651 static int dissect_qsig_pumr_PumRegistrRes_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_PumRegistrRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU);
7656   return offset;
7657 }
7658 static int dissect_qsig_pumr_PumDelRegArg_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_pumr_PumDelRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU);
7663   return offset;
7664 }
7665 static int dissect_qsig_pumr_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7666   int offset = 0;
7667   asn1_ctx_t asn1_ctx;
7668   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7669   offset = dissect_qsig_pumr_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_DummyRes_PDU);
7670   return offset;
7671 }
7672 static int dissect_qsig_pumr_PumDe_regArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7673   int offset = 0;
7674   asn1_ctx_t asn1_ctx;
7675   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7676   offset = dissect_qsig_pumr_PumDe_regArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU);
7677   return offset;
7678 }
7679 static int dissect_qsig_pumr_PumInterrogArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7680   int offset = 0;
7681   asn1_ctx_t asn1_ctx;
7682   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7683   offset = dissect_qsig_pumr_PumInterrogArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU);
7684   return offset;
7685 }
7686 static int dissect_qsig_pumr_PumInterrogRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7687   int offset = 0;
7688   asn1_ctx_t asn1_ctx;
7689   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7690   offset = dissect_qsig_pumr_PumInterrogRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU);
7691   return offset;
7692 }
7693 static int dissect_qsig_pumr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
7694   int offset = 0;
7695   asn1_ctx_t asn1_ctx;
7696   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7697   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumr_qsig_pumr_Extension_PDU);
7698   return offset;
7699 }
7700
7701
7702 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
7703
7704
7705 static const ber_sequence_t qsig_pumch_SEQUENCE_OF_Extension_sequence_of[1] = {
7706   { &hf_qsig_pumch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
7707 };
7708
7709 static int
7710 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_) {
7711   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7712                                       qsig_pumch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pumch_SEQUENCE_OF_Extension);
7713
7714   return offset;
7715 }
7716
7717
7718 static const value_string qsig_pumch_PumiExtension_vals[] = {
7719   {   4, "extension" },
7720   {   5, "sequOfExtn" },
7721   { 0, NULL }
7722 };
7723
7724 static const ber_choice_t qsig_pumch_PumiExtension_choice[] = {
7725   {   4, &hf_qsig_pumch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7726   {   5, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7727   { 0, NULL, 0, 0, 0, NULL }
7728 };
7729
7730 static int
7731 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_) {
7732   offset = dissect_ber_choice(actx, tree, tvb, offset,
7733                                  qsig_pumch_PumiExtension_choice, hf_index, ett_qsig_pumch_PumiExtension,
7734                                  NULL);
7735
7736   return offset;
7737 }
7738
7739
7740 static const ber_sequence_t qsig_pumch_EnquiryArg_sequence[] = {
7741   { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7742   { &hf_qsig_pumch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
7743   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7744   { NULL, 0, 0, 0, NULL }
7745 };
7746
7747 static int
7748 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_) {
7749   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7750                                    qsig_pumch_EnquiryArg_sequence, hf_index, ett_qsig_pumch_EnquiryArg);
7751
7752   return offset;
7753 }
7754
7755
7756
7757 static int
7758 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_) {
7759   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7760                                        NULL);
7761
7762   return offset;
7763 }
7764
7765
7766 static const ber_sequence_t qsig_pumch_T_both_sequence[] = {
7767   { &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7768   { &hf_qsig_pumch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_AlternativeId },
7769   { NULL, 0, 0, 0, NULL }
7770 };
7771
7772 static int
7773 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_) {
7774   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7775                                    qsig_pumch_T_both_sequence, hf_index, ett_qsig_pumch_T_both);
7776
7777   return offset;
7778 }
7779
7780
7781 static const value_string qsig_pumch_PumIdentity_vals[] = {
7782   {   0, "pisnNumber" },
7783   {   1, "alternativeId" },
7784   {   2, "both" },
7785   { 0, NULL }
7786 };
7787
7788 static const ber_choice_t qsig_pumch_PumIdentity_choice[] = {
7789   {   0, &hf_qsig_pumch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7790   {   1, &hf_qsig_pumch_alternativeId, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_AlternativeId },
7791   {   2, &hf_qsig_pumch_both     , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_T_both },
7792   { 0, NULL, 0, 0, 0, NULL }
7793 };
7794
7795 static int
7796 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_) {
7797   offset = dissect_ber_choice(actx, tree, tvb, offset,
7798                                  qsig_pumch_PumIdentity_choice, hf_index, ett_qsig_pumch_PumIdentity,
7799                                  NULL);
7800
7801   return offset;
7802 }
7803
7804
7805 static const ber_sequence_t qsig_pumch_DivertArg_sequence[] = {
7806   { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7807   { &hf_qsig_pumch_callingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
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_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
7810   { &hf_qsig_pumch_callingUserSub, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
7811   { &hf_qsig_pumch_callingUserName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
7812   { &hf_qsig_pumch_pumUserSub, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
7813   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7814   { NULL, 0, 0, 0, NULL }
7815 };
7816
7817 static int
7818 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_) {
7819   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7820                                    qsig_pumch_DivertArg_sequence, hf_index, ett_qsig_pumch_DivertArg);
7821
7822   return offset;
7823 }
7824
7825
7826 static const ber_sequence_t qsig_pumch_InformArg_sequence[] = {
7827   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7828   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7829   { NULL, 0, 0, 0, NULL }
7830 };
7831
7832 static int
7833 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_) {
7834   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7835                                    qsig_pumch_InformArg_sequence, hf_index, ett_qsig_pumch_InformArg);
7836
7837   return offset;
7838 }
7839
7840
7841 static const ber_sequence_t qsig_pumch_CurrLocation_sequence[] = {
7842   { &hf_qsig_pumch_hostingAddr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
7843   { &hf_qsig_pumch_pumIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7844   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7845   { NULL, 0, 0, 0, NULL }
7846 };
7847
7848 static int
7849 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_) {
7850   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7851                                    qsig_pumch_CurrLocation_sequence, hf_index, ett_qsig_pumch_CurrLocation);
7852
7853   return offset;
7854 }
7855
7856
7857 static const value_string qsig_pumch_SubscriptionOption_vals[] = {
7858   {   0, "noNotification" },
7859   {   1, "notificationWithoutDivertedToNr" },
7860   {   2, "notificationWithDivertedToNr" },
7861   { 0, NULL }
7862 };
7863
7864
7865 static int
7866 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_) {
7867   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7868                                   NULL);
7869
7870   return offset;
7871 }
7872
7873
7874 static const ber_sequence_t qsig_pumch_CfuActivated_sequence[] = {
7875   { &hf_qsig_pumch_divToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
7876   { &hf_qsig_pumch_divOptions, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_SubscriptionOption },
7877   { &hf_qsig_pumch_pumName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
7878   { &hf_qsig_pumch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumiExtension },
7879   { NULL, 0, 0, 0, NULL }
7880 };
7881
7882 static int
7883 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_) {
7884   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7885                                    qsig_pumch_CfuActivated_sequence, hf_index, ett_qsig_pumch_CfuActivated);
7886
7887   return offset;
7888 }
7889
7890
7891 static const value_string qsig_pumch_EnquiryRes_vals[] = {
7892   {   1, "currLocation" },
7893   {   2, "cfuActivated" },
7894   { 0, NULL }
7895 };
7896
7897 static const ber_choice_t qsig_pumch_EnquiryRes_choice[] = {
7898   {   1, &hf_qsig_pumch_currLocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CurrLocation },
7899   {   2, &hf_qsig_pumch_cfuActivated, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_CfuActivated },
7900   { 0, NULL, 0, 0, 0, NULL }
7901 };
7902
7903 static int
7904 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_) {
7905   offset = dissect_ber_choice(actx, tree, tvb, offset,
7906                                  qsig_pumch_EnquiryRes_choice, hf_index, ett_qsig_pumch_EnquiryRes,
7907                                  NULL);
7908
7909   return offset;
7910 }
7911
7912
7913
7914 static int
7915 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_) {
7916   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7917
7918   return offset;
7919 }
7920
7921
7922 static const value_string qsig_pumch_DummyRes_vals[] = {
7923   {   0, "null" },
7924   {   1, "extension" },
7925   {   2, "sequOfExtn" },
7926   { 0, NULL }
7927 };
7928
7929 static const ber_choice_t qsig_pumch_DummyRes_choice[] = {
7930   {   0, &hf_qsig_pumch_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pumch_NULL },
7931   {   1, &hf_qsig_pumch_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7932   {   2, &hf_qsig_pumch_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7933   { 0, NULL, 0, 0, 0, NULL }
7934 };
7935
7936 static int
7937 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_) {
7938   offset = dissect_ber_choice(actx, tree, tvb, offset,
7939                                  qsig_pumch_DummyRes_choice, hf_index, ett_qsig_pumch_DummyRes,
7940                                  NULL);
7941
7942   return offset;
7943 }
7944
7945
7946 static const value_string qsig_pumch_T_pumoaextension_vals[] = {
7947   {   3, "single" },
7948   {   4, "multiple" },
7949   { 0, NULL }
7950 };
7951
7952 static const ber_choice_t qsig_pumch_T_pumoaextension_choice[] = {
7953   {   3, &hf_qsig_pumch_single   , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
7954   {   4, &hf_qsig_pumch_multiple , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_pumch_SEQUENCE_OF_Extension },
7955   { 0, NULL, 0, 0, 0, NULL }
7956 };
7957
7958 static int
7959 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_) {
7960   offset = dissect_ber_choice(actx, tree, tvb, offset,
7961                                  qsig_pumch_T_pumoaextension_choice, hf_index, ett_qsig_pumch_T_pumoaextension,
7962                                  NULL);
7963
7964   return offset;
7965 }
7966
7967
7968 static const ber_sequence_t qsig_pumch_PumoArg_sequence[] = {
7969   { &hf_qsig_pumch_destinationNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
7970   { &hf_qsig_pumch_pumIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_PumIdentity },
7971   { &hf_qsig_pumch_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_pumch_NULL },
7972   { &hf_qsig_pumch_pumoaextension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pumch_T_pumoaextension },
7973   { NULL, 0, 0, 0, NULL }
7974 };
7975
7976 static int
7977 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_) {
7978   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7979                                    qsig_pumch_PumoArg_sequence, hf_index, ett_qsig_pumch_PumoArg);
7980
7981   return offset;
7982 }
7983
7984 /*--- PDUs ---*/
7985
7986 static int dissect_qsig_pumch_EnquiryArg_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_EnquiryArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU);
7991   return offset;
7992 }
7993 static int dissect_qsig_pumch_EnquiryRes_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_pumch_EnquiryRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU);
7998   return offset;
7999 }
8000 static int dissect_qsig_pumch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8001   int offset = 0;
8002   asn1_ctx_t asn1_ctx;
8003   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8004   offset = dissect_qsig_pumch_DivertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DivertArg_PDU);
8005   return offset;
8006 }
8007 static int dissect_qsig_pumch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8008   int offset = 0;
8009   asn1_ctx_t asn1_ctx;
8010   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8011   offset = dissect_qsig_pumch_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_DummyRes_PDU);
8012   return offset;
8013 }
8014 static int dissect_qsig_pumch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8015   int offset = 0;
8016   asn1_ctx_t asn1_ctx;
8017   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8018   offset = dissect_qsig_pumch_InformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_InformArg_PDU);
8019   return offset;
8020 }
8021 static int dissect_qsig_pumch_PumoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8022   int offset = 0;
8023   asn1_ctx_t asn1_ctx;
8024   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8025   offset = dissect_qsig_pumch_PumoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_PumoArg_PDU);
8026   return offset;
8027 }
8028 static int dissect_qsig_pumch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8029   int offset = 0;
8030   asn1_ctx_t asn1_ctx;
8031   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8032   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pumch_qsig_pumch_Extension_PDU);
8033   return offset;
8034 }
8035
8036
8037 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
8038
8039
8040
8041 static int
8042 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_) {
8043   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8044
8045   return offset;
8046 }
8047
8048
8049 static const ber_sequence_t qsig_ssct_SEQUENCE_OF_Extension_sequence_of[1] = {
8050   { &hf_qsig_ssct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8051 };
8052
8053 static int
8054 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_) {
8055   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8056                                       qsig_ssct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ssct_SEQUENCE_OF_Extension);
8057
8058   return offset;
8059 }
8060
8061
8062 static const value_string qsig_ssct_DummyArg_vals[] = {
8063   {   0, "null" },
8064   {   1, "single" },
8065   {   2, "multiple" },
8066   { 0, NULL }
8067 };
8068
8069 static const ber_choice_t qsig_ssct_DummyArg_choice[] = {
8070   {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
8071   {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8072   {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8073   { 0, NULL, 0, 0, 0, NULL }
8074 };
8075
8076 static int
8077 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_) {
8078   offset = dissect_ber_choice(actx, tree, tvb, offset,
8079                                  qsig_ssct_DummyArg_choice, hf_index, ett_qsig_ssct_DummyArg,
8080                                  NULL);
8081
8082   return offset;
8083 }
8084
8085
8086 static const value_string qsig_ssct_DummyRes_vals[] = {
8087   {   0, "null" },
8088   {   1, "single" },
8089   {   2, "multiple" },
8090   { 0, NULL }
8091 };
8092
8093 static const ber_choice_t qsig_ssct_DummyRes_choice[] = {
8094   {   0, &hf_qsig_ssct_null      , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_NULL },
8095   {   1, &hf_qsig_ssct_single    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8096   {   2, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8097   { 0, NULL, 0, 0, 0, NULL }
8098 };
8099
8100 static int
8101 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_) {
8102   offset = dissect_ber_choice(actx, tree, tvb, offset,
8103                                  qsig_ssct_DummyRes_choice, hf_index, ett_qsig_ssct_DummyRes,
8104                                  NULL);
8105
8106   return offset;
8107 }
8108
8109
8110
8111 static int
8112 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_) {
8113   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
8114
8115   return offset;
8116 }
8117
8118
8119 static const value_string qsig_ssct_SSCTIargumentExtension_vals[] = {
8120   {   4, "single" },
8121   {   5, "multiple" },
8122   { 0, NULL }
8123 };
8124
8125 static const ber_choice_t qsig_ssct_SSCTIargumentExtension_choice[] = {
8126   {   4, &hf_qsig_ssct_single    , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8127   {   5, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8128   { 0, NULL, 0, 0, 0, NULL }
8129 };
8130
8131 static int
8132 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_) {
8133   offset = dissect_ber_choice(actx, tree, tvb, offset,
8134                                  qsig_ssct_SSCTIargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTIargumentExtension,
8135                                  NULL);
8136
8137   return offset;
8138 }
8139
8140
8141 static const ber_sequence_t qsig_ssct_SSCTInitiateArg_sequence[] = {
8142   { &hf_qsig_ssct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8143   { &hf_qsig_ssct_transferredAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
8144   { &hf_qsig_ssct_awaitConnect, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_ssct_AwaitConnect },
8145   { &hf_qsig_ssct_transferredName, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8146   { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
8147   { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8148   { &hf_qsig_ssct_argumentExtensionSSCTI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTIargumentExtension },
8149   { NULL, 0, 0, 0, NULL }
8150 };
8151
8152 static int
8153 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_) {
8154   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8155                                    qsig_ssct_SSCTInitiateArg_sequence, hf_index, ett_qsig_ssct_SSCTInitiateArg);
8156
8157   return offset;
8158 }
8159
8160
8161 static const value_string qsig_ssct_SSCTSargumentExtension_vals[] = {
8162   {   3, "single" },
8163   {   4, "multiple" },
8164   { 0, NULL }
8165 };
8166
8167 static const ber_choice_t qsig_ssct_SSCTSargumentExtension_choice[] = {
8168   {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8169   {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8170   { 0, NULL, 0, 0, 0, NULL }
8171 };
8172
8173 static int
8174 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_) {
8175   offset = dissect_ber_choice(actx, tree, tvb, offset,
8176                                  qsig_ssct_SSCTSargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTSargumentExtension,
8177                                  NULL);
8178
8179   return offset;
8180 }
8181
8182
8183 static const ber_sequence_t qsig_ssct_SSCTSetupArg_sequence[] = {
8184   { &hf_qsig_ssct_transferringAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressScreened },
8185   { &hf_qsig_ssct_transferringName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8186   { &hf_qsig_ssct_argumentExtensionSSCTS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTSargumentExtension },
8187   { NULL, 0, 0, 0, NULL }
8188 };
8189
8190 static int
8191 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_) {
8192   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8193                                    qsig_ssct_SSCTSetupArg_sequence, hf_index, ett_qsig_ssct_SSCTSetupArg);
8194
8195   return offset;
8196 }
8197
8198
8199 static const value_string qsig_ssct_SSCTDargumentExtension_vals[] = {
8200   {   3, "single" },
8201   {   4, "multiple" },
8202   { 0, NULL }
8203 };
8204
8205 static const ber_choice_t qsig_ssct_SSCTDargumentExtension_choice[] = {
8206   {   3, &hf_qsig_ssct_single    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8207   {   4, &hf_qsig_ssct_multiple  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_ssct_SEQUENCE_OF_Extension },
8208   { 0, NULL, 0, 0, 0, NULL }
8209 };
8210
8211 static int
8212 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_) {
8213   offset = dissect_ber_choice(actx, tree, tvb, offset,
8214                                  qsig_ssct_SSCTDargumentExtension_choice, hf_index, ett_qsig_ssct_SSCTDargumentExtension,
8215                                  NULL);
8216
8217   return offset;
8218 }
8219
8220
8221 static const ber_sequence_t qsig_ssct_SSCTDigitInfoArg_sequence[] = {
8222   { &hf_qsig_ssct_reroutingNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
8223   { &hf_qsig_ssct_sendingComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_ssct_NULL },
8224   { &hf_qsig_ssct_argumentExtensionSSCTD, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ssct_SSCTDargumentExtension },
8225   { NULL, 0, 0, 0, NULL }
8226 };
8227
8228 static int
8229 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_) {
8230   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8231                                    qsig_ssct_SSCTDigitInfoArg_sequence, hf_index, ett_qsig_ssct_SSCTDigitInfoArg);
8232
8233   return offset;
8234 }
8235
8236 /*--- PDUs ---*/
8237
8238 static int dissect_qsig_ssct_SSCTInitiateArg_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_ssct_SSCTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU);
8243   return offset;
8244 }
8245 static int dissect_qsig_ssct_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8246   int offset = 0;
8247   asn1_ctx_t asn1_ctx;
8248   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8249   offset = dissect_qsig_ssct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyRes_PDU);
8250   return offset;
8251 }
8252 static int dissect_qsig_ssct_SSCTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8253   int offset = 0;
8254   asn1_ctx_t asn1_ctx;
8255   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8256   offset = dissect_qsig_ssct_SSCTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU);
8257   return offset;
8258 }
8259 static int dissect_qsig_ssct_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8260   int offset = 0;
8261   asn1_ctx_t asn1_ctx;
8262   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8263   offset = dissect_qsig_ssct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_DummyArg_PDU);
8264   return offset;
8265 }
8266 static int dissect_qsig_ssct_SSCTDigitInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8267   int offset = 0;
8268   asn1_ctx_t asn1_ctx;
8269   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8270   offset = dissect_qsig_ssct_SSCTDigitInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU);
8271   return offset;
8272 }
8273 static int dissect_qsig_ssct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8274   int offset = 0;
8275   asn1_ctx_t asn1_ctx;
8276   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8277   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ssct_qsig_ssct_Extension_PDU);
8278   return offset;
8279 }
8280
8281
8282 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
8283
8284
8285
8286 static int
8287 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_) {
8288   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8289                                        NULL);
8290
8291   return offset;
8292 }
8293
8294
8295 static const value_string qsig_wtmlr_WtmUserId_vals[] = {
8296   {   0, "pisnNumber" },
8297   {   1, "alternativeId" },
8298   { 0, NULL }
8299 };
8300
8301 static const ber_choice_t qsig_wtmlr_WtmUserId_choice[] = {
8302   {   0, &hf_qsig_wtmlr_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8303   {   1, &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8304   { 0, NULL, 0, 0, 0, NULL }
8305 };
8306
8307 static int
8308 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_) {
8309   offset = dissect_ber_choice(actx, tree, tvb, offset,
8310                                  qsig_wtmlr_WtmUserId_choice, hf_index, ett_qsig_wtmlr_WtmUserId,
8311                                  NULL);
8312
8313   return offset;
8314 }
8315
8316
8317 static const ber_sequence_t qsig_wtmlr_SEQUENCE_OF_Extension_sequence_of[1] = {
8318   { &hf_qsig_wtmlr_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8319 };
8320
8321 static int
8322 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_) {
8323   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8324                                       qsig_wtmlr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmlr_SEQUENCE_OF_Extension);
8325
8326   return offset;
8327 }
8328
8329
8330 static const value_string qsig_wtmlr_LrExtension_vals[] = {
8331   {   1, "extension" },
8332   {   2, "sequOfExtn" },
8333   { 0, NULL }
8334 };
8335
8336 static const ber_choice_t qsig_wtmlr_LrExtension_choice[] = {
8337   {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8338   {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
8339   { 0, NULL, 0, 0, 0, NULL }
8340 };
8341
8342 static int
8343 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_) {
8344   offset = dissect_ber_choice(actx, tree, tvb, offset,
8345                                  qsig_wtmlr_LrExtension_choice, hf_index, ett_qsig_wtmlr_LrExtension,
8346                                  NULL);
8347
8348   return offset;
8349 }
8350
8351
8352 static const ber_sequence_t qsig_wtmlr_LocUpdArg_sequence[] = {
8353   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8354   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8355   { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8356   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8357   { NULL, 0, 0, 0, NULL }
8358 };
8359
8360 static int
8361 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_) {
8362   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8363                                    qsig_wtmlr_LocUpdArg_sequence, hf_index, ett_qsig_wtmlr_LocUpdArg);
8364
8365   return offset;
8366 }
8367
8368
8369
8370 static int
8371 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_) {
8372   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8373
8374   return offset;
8375 }
8376
8377
8378 static const value_string qsig_wtmlr_DummyRes_vals[] = {
8379   {   0, "null" },
8380   {   1, "extension" },
8381   {   2, "sequOfExtn" },
8382   { 0, NULL }
8383 };
8384
8385 static const ber_choice_t qsig_wtmlr_DummyRes_choice[] = {
8386   {   0, &hf_qsig_wtmlr_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_NULL },
8387   {   1, &hf_qsig_wtmlr_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8388   {   2, &hf_qsig_wtmlr_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmlr_SEQUENCE_OF_Extension },
8389   { 0, NULL, 0, 0, 0, NULL }
8390 };
8391
8392 static int
8393 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_) {
8394   offset = dissect_ber_choice(actx, tree, tvb, offset,
8395                                  qsig_wtmlr_DummyRes_choice, hf_index, ett_qsig_wtmlr_DummyRes,
8396                                  NULL);
8397
8398   return offset;
8399 }
8400
8401
8402 static const ber_sequence_t qsig_wtmlr_LocDelArg_sequence[] = {
8403   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8404   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8405   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8406   { NULL, 0, 0, 0, NULL }
8407 };
8408
8409 static int
8410 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_) {
8411   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8412                                    qsig_wtmlr_LocDelArg_sequence, hf_index, ett_qsig_wtmlr_LocDelArg);
8413
8414   return offset;
8415 }
8416
8417
8418 static const ber_sequence_t qsig_wtmlr_LocDeRegArg_sequence[] = {
8419   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8420   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8421   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8422   { NULL, 0, 0, 0, NULL }
8423 };
8424
8425 static int
8426 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_) {
8427   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8428                                    qsig_wtmlr_LocDeRegArg_sequence, hf_index, ett_qsig_wtmlr_LocDeRegArg);
8429
8430   return offset;
8431 }
8432
8433
8434 static const ber_sequence_t qsig_wtmlr_PisnEnqArg_sequence[] = {
8435   { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8436   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8437   { NULL, 0, 0, 0, NULL }
8438 };
8439
8440 static int
8441 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_) {
8442   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8443                                    qsig_wtmlr_PisnEnqArg_sequence, hf_index, ett_qsig_wtmlr_PisnEnqArg);
8444
8445   return offset;
8446 }
8447
8448
8449 static const ber_sequence_t qsig_wtmlr_PisnEnqRes_sequence[] = {
8450   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8451   { &hf_qsig_wtmlr_resExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8452   { NULL, 0, 0, 0, NULL }
8453 };
8454
8455 static int
8456 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_) {
8457   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8458                                    qsig_wtmlr_PisnEnqRes_sequence, hf_index, ett_qsig_wtmlr_PisnEnqRes);
8459
8460   return offset;
8461 }
8462
8463
8464 static const ber_sequence_t qsig_wtmlr_GetRRCInfArg_sequence[] = {
8465   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8466   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8467   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8468   { NULL, 0, 0, 0, NULL }
8469 };
8470
8471 static int
8472 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_) {
8473   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8474                                    qsig_wtmlr_GetRRCInfArg_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfArg);
8475
8476   return offset;
8477 }
8478
8479
8480
8481 static int
8482 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_) {
8483   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8484                                                 NULL);
8485
8486   return offset;
8487 }
8488
8489
8490 static const ber_sequence_t qsig_wtmlr_GetRRCInfRes_sequence[] = {
8491   { &hf_qsig_wtmlr_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_AlternativeId },
8492   { &hf_qsig_wtmlr_rrClass  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_RRClass },
8493   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8494   { NULL, 0, 0, 0, NULL }
8495 };
8496
8497 static int
8498 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_) {
8499   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8500                                    qsig_wtmlr_GetRRCInfRes_sequence, hf_index, ett_qsig_wtmlr_GetRRCInfRes);
8501
8502   return offset;
8503 }
8504
8505
8506 static const ber_sequence_t qsig_wtmlr_LocInfoCheckArg_sequence[] = {
8507   { &hf_qsig_wtmlr_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_WtmUserId },
8508   { &hf_qsig_wtmlr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
8509   { &hf_qsig_wtmlr_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8510   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8511   { NULL, 0, 0, 0, NULL }
8512 };
8513
8514 static int
8515 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_) {
8516   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8517                                    qsig_wtmlr_LocInfoCheckArg_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckArg);
8518
8519   return offset;
8520 }
8521
8522
8523 static const value_string qsig_wtmlr_CheckResult_vals[] = {
8524   {   0, "locInfChk-correct" },
8525   {   1, "locInfChk-incorrect" },
8526   { 0, NULL }
8527 };
8528
8529
8530 static int
8531 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_) {
8532   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8533                                   NULL);
8534
8535   return offset;
8536 }
8537
8538
8539 static const ber_sequence_t qsig_wtmlr_LocInfoCheckRes_sequence[] = {
8540   { &hf_qsig_wtmlr_checkResult, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmlr_CheckResult },
8541   { &hf_qsig_wtmlr_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmlr_LrExtension },
8542   { NULL, 0, 0, 0, NULL }
8543 };
8544
8545 static int
8546 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_) {
8547   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8548                                    qsig_wtmlr_LocInfoCheckRes_sequence, hf_index, ett_qsig_wtmlr_LocInfoCheckRes);
8549
8550   return offset;
8551 }
8552
8553 /*--- PDUs ---*/
8554
8555 static int dissect_qsig_wtmlr_LocUpdArg_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_LocUpdArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU);
8560   return offset;
8561 }
8562 static int dissect_qsig_wtmlr_DummyRes_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_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU);
8567   return offset;
8568 }
8569 static int dissect_qsig_wtmlr_LocDelArg_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_LocDelArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU);
8574   return offset;
8575 }
8576 static int dissect_qsig_wtmlr_LocDeRegArg_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_LocDeRegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU);
8581   return offset;
8582 }
8583 static int dissect_qsig_wtmlr_PisnEnqArg_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_PisnEnqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU);
8588   return offset;
8589 }
8590 static int dissect_qsig_wtmlr_PisnEnqRes_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_wtmlr_PisnEnqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU);
8595   return offset;
8596 }
8597 static int dissect_qsig_wtmlr_GetRRCInfArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8598   int offset = 0;
8599   asn1_ctx_t asn1_ctx;
8600   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8601   offset = dissect_qsig_wtmlr_GetRRCInfArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU);
8602   return offset;
8603 }
8604 static int dissect_qsig_wtmlr_GetRRCInfRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8605   int offset = 0;
8606   asn1_ctx_t asn1_ctx;
8607   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8608   offset = dissect_qsig_wtmlr_GetRRCInfRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU);
8609   return offset;
8610 }
8611 static int dissect_qsig_wtmlr_LocInfoCheckArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8612   int offset = 0;
8613   asn1_ctx_t asn1_ctx;
8614   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8615   offset = dissect_qsig_wtmlr_LocInfoCheckArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU);
8616   return offset;
8617 }
8618 static int dissect_qsig_wtmlr_LocInfoCheckRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8619   int offset = 0;
8620   asn1_ctx_t asn1_ctx;
8621   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8622   offset = dissect_qsig_wtmlr_LocInfoCheckRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU);
8623   return offset;
8624 }
8625 static int dissect_qsig_wtmlr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8626   int offset = 0;
8627   asn1_ctx_t asn1_ctx;
8628   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8629   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU);
8630   return offset;
8631 }
8632
8633
8634 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
8635
8636
8637 static const ber_sequence_t qsig_wtmch_SEQUENCE_OF_Extension_sequence_of[1] = {
8638   { &hf_qsig_wtmch_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
8639 };
8640
8641 static int
8642 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_) {
8643   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8644                                       qsig_wtmch_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmch_SEQUENCE_OF_Extension);
8645
8646   return offset;
8647 }
8648
8649
8650 static const value_string qsig_wtmch_WtmiExtension_vals[] = {
8651   {   4, "extension" },
8652   {   5, "sequOfExtn" },
8653   { 0, NULL }
8654 };
8655
8656 static const ber_choice_t qsig_wtmch_WtmiExtension_choice[] = {
8657   {   4, &hf_qsig_wtmch_extension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8658   {   5, &hf_qsig_wtmch_sequOfExtn, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8659   { 0, NULL, 0, 0, 0, NULL }
8660 };
8661
8662 static int
8663 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_) {
8664   offset = dissect_ber_choice(actx, tree, tvb, offset,
8665                                  qsig_wtmch_WtmiExtension_choice, hf_index, ett_qsig_wtmch_WtmiExtension,
8666                                  NULL);
8667
8668   return offset;
8669 }
8670
8671
8672 static const ber_sequence_t qsig_wtmch_EnquiryArg_sequence[] = {
8673   { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8674   { &hf_qsig_wtmch_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
8675   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8676   { NULL, 0, 0, 0, NULL }
8677 };
8678
8679 static int
8680 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_) {
8681   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8682                                    qsig_wtmch_EnquiryArg_sequence, hf_index, ett_qsig_wtmch_EnquiryArg);
8683
8684   return offset;
8685 }
8686
8687
8688
8689 static int
8690 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_) {
8691   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8692                                        NULL);
8693
8694   return offset;
8695 }
8696
8697
8698 static const ber_sequence_t qsig_wtmch_T_both_sequence[] = {
8699   { &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8700   { &hf_qsig_wtmch_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_AlternativeId },
8701   { NULL, 0, 0, 0, NULL }
8702 };
8703
8704 static int
8705 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_) {
8706   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8707                                    qsig_wtmch_T_both_sequence, hf_index, ett_qsig_wtmch_T_both);
8708
8709   return offset;
8710 }
8711
8712
8713 static const value_string qsig_wtmch_WtmIdentity_vals[] = {
8714   {   0, "pisnNumber" },
8715   {   1, "alternativeId" },
8716   {   2, "both" },
8717   { 0, NULL }
8718 };
8719
8720 static const ber_choice_t qsig_wtmch_WtmIdentity_choice[] = {
8721   {   0, &hf_qsig_wtmch_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8722   {   1, &hf_qsig_wtmch_alternativeId, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_AlternativeId },
8723   {   2, &hf_qsig_wtmch_both     , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_T_both },
8724   { 0, NULL, 0, 0, 0, NULL }
8725 };
8726
8727 static int
8728 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_) {
8729   offset = dissect_ber_choice(actx, tree, tvb, offset,
8730                                  qsig_wtmch_WtmIdentity_choice, hf_index, ett_qsig_wtmch_WtmIdentity,
8731                                  NULL);
8732
8733   return offset;
8734 }
8735
8736
8737 static const ber_sequence_t qsig_wtmch_DivertArg_sequence[] = {
8738   { &hf_qsig_wtmch_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8739   { &hf_qsig_wtmch_callingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
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_qSIGInfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
8742   { &hf_qsig_wtmch_callingUserSub, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
8743   { &hf_qsig_wtmch_callingName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8744   { &hf_qsig_wtmch_wtmUserSub, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
8745   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8746   { NULL, 0, 0, 0, NULL }
8747 };
8748
8749 static int
8750 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_) {
8751   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8752                                    qsig_wtmch_DivertArg_sequence, hf_index, ett_qsig_wtmch_DivertArg);
8753
8754   return offset;
8755 }
8756
8757
8758 static const ber_sequence_t qsig_wtmch_InformArg_sequence[] = {
8759   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8760   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8761   { NULL, 0, 0, 0, NULL }
8762 };
8763
8764 static int
8765 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_) {
8766   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8767                                    qsig_wtmch_InformArg_sequence, hf_index, ett_qsig_wtmch_InformArg);
8768
8769   return offset;
8770 }
8771
8772
8773 static const ber_sequence_t qsig_wtmch_CurrLocation_sequence[] = {
8774   { &hf_qsig_wtmch_visitPINX, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8775   { &hf_qsig_wtmch_wtmIdentity, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmIdentity },
8776   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8777   { NULL, 0, 0, 0, NULL }
8778 };
8779
8780 static int
8781 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_) {
8782   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8783                                    qsig_wtmch_CurrLocation_sequence, hf_index, ett_qsig_wtmch_CurrLocation);
8784
8785   return offset;
8786 }
8787
8788
8789 static const value_string qsig_wtmch_SubscriptionOption_vals[] = {
8790   {   0, "noNotification" },
8791   {   1, "notificationWithoutDivertedToNr" },
8792   {   2, "notificationWithDivertedToNr" },
8793   { 0, NULL }
8794 };
8795
8796
8797 static int
8798 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_) {
8799   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8800                                   NULL);
8801
8802   return offset;
8803 }
8804
8805
8806 static const ber_sequence_t qsig_wtmch_CfuActivated_sequence[] = {
8807   { &hf_qsig_wtmch_divToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
8808   { &hf_qsig_wtmch_divOptions, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_SubscriptionOption },
8809   { &hf_qsig_wtmch_wtmName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
8810   { &hf_qsig_wtmch_argExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_WtmiExtension },
8811   { NULL, 0, 0, 0, NULL }
8812 };
8813
8814 static int
8815 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_) {
8816   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8817                                    qsig_wtmch_CfuActivated_sequence, hf_index, ett_qsig_wtmch_CfuActivated);
8818
8819   return offset;
8820 }
8821
8822
8823 static const value_string qsig_wtmch_EnquiryRes_vals[] = {
8824   {   1, "currLocation" },
8825   {   2, "cfuActivated" },
8826   { 0, NULL }
8827 };
8828
8829 static const ber_choice_t qsig_wtmch_EnquiryRes_choice[] = {
8830   {   1, &hf_qsig_wtmch_currLocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_CurrLocation },
8831   {   2, &hf_qsig_wtmch_cfuActivated, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_CfuActivated },
8832   { 0, NULL, 0, 0, 0, NULL }
8833 };
8834
8835 static int
8836 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_) {
8837   offset = dissect_ber_choice(actx, tree, tvb, offset,
8838                                  qsig_wtmch_EnquiryRes_choice, hf_index, ett_qsig_wtmch_EnquiryRes,
8839                                  NULL);
8840
8841   return offset;
8842 }
8843
8844
8845
8846 static int
8847 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_) {
8848   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8849
8850   return offset;
8851 }
8852
8853
8854 static const value_string qsig_wtmch_DummyRes_vals[] = {
8855   {   0, "null" },
8856   {   1, "extension" },
8857   {   2, "sequOfExtn" },
8858   { 0, NULL }
8859 };
8860
8861 static const ber_choice_t qsig_wtmch_DummyRes_choice[] = {
8862   {   0, &hf_qsig_wtmch_null     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmch_NULL },
8863   {   1, &hf_qsig_wtmch_extension, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8864   {   2, &hf_qsig_wtmch_sequOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8865   { 0, NULL, 0, 0, 0, NULL }
8866 };
8867
8868 static int
8869 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_) {
8870   offset = dissect_ber_choice(actx, tree, tvb, offset,
8871                                  qsig_wtmch_DummyRes_choice, hf_index, ett_qsig_wtmch_DummyRes,
8872                                  NULL);
8873
8874   return offset;
8875 }
8876
8877
8878 static const value_string qsig_wtmch_T_wtmoaextension_vals[] = {
8879   {   2, "single" },
8880   {   3, "multiple" },
8881   { 0, NULL }
8882 };
8883
8884 static const ber_choice_t qsig_wtmch_T_wtmoaextension_choice[] = {
8885   {   2, &hf_qsig_wtmch_single   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
8886   {   3, &hf_qsig_wtmch_multiple , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_SEQUENCE_OF_Extension },
8887   { 0, NULL, 0, 0, 0, NULL }
8888 };
8889
8890 static int
8891 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_) {
8892   offset = dissect_ber_choice(actx, tree, tvb, offset,
8893                                  qsig_wtmch_T_wtmoaextension_choice, hf_index, ett_qsig_wtmch_T_wtmoaextension,
8894                                  NULL);
8895
8896   return offset;
8897 }
8898
8899
8900 static const ber_sequence_t qsig_wtmch_WtmoArg_sequence[] = {
8901   { &hf_qsig_wtmch_destinationNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
8902   { &hf_qsig_wtmch_sendingComplete, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmch_NULL },
8903   { &hf_qsig_wtmch_wtmoaextension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmch_T_wtmoaextension },
8904   { NULL, 0, 0, 0, NULL }
8905 };
8906
8907 static int
8908 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_) {
8909   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8910                                    qsig_wtmch_WtmoArg_sequence, hf_index, ett_qsig_wtmch_WtmoArg);
8911
8912   return offset;
8913 }
8914
8915 /*--- PDUs ---*/
8916
8917 static int dissect_qsig_wtmch_EnquiryArg_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_EnquiryArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU);
8922   return offset;
8923 }
8924 static int dissect_qsig_wtmch_EnquiryRes_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_wtmch_EnquiryRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU);
8929   return offset;
8930 }
8931 static int dissect_qsig_wtmch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8932   int offset = 0;
8933   asn1_ctx_t asn1_ctx;
8934   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8935   offset = dissect_qsig_wtmch_DivertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU);
8936   return offset;
8937 }
8938 static int dissect_qsig_wtmch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8939   int offset = 0;
8940   asn1_ctx_t asn1_ctx;
8941   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8942   offset = dissect_qsig_wtmch_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU);
8943   return offset;
8944 }
8945 static int dissect_qsig_wtmch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8946   int offset = 0;
8947   asn1_ctx_t asn1_ctx;
8948   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8949   offset = dissect_qsig_wtmch_InformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_InformArg_PDU);
8950   return offset;
8951 }
8952 static int dissect_qsig_wtmch_WtmoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8953   int offset = 0;
8954   asn1_ctx_t asn1_ctx;
8955   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8956   offset = dissect_qsig_wtmch_WtmoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU);
8957   return offset;
8958 }
8959 static int dissect_qsig_wtmch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
8960   int offset = 0;
8961   asn1_ctx_t asn1_ctx;
8962   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
8963   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmch_qsig_wtmch_Extension_PDU);
8964   return offset;
8965 }
8966
8967
8968 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
8969
8970
8971
8972 static int
8973 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_) {
8974   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8975                                        NULL);
8976
8977   return offset;
8978 }
8979
8980
8981 static const value_string qsig_wtmau_WtmUserId_vals[] = {
8982   {   0, "pisnNumber" },
8983   {   1, "alternativeId" },
8984   { 0, NULL }
8985 };
8986
8987 static const ber_choice_t qsig_wtmau_WtmUserId_choice[] = {
8988   {   0, &hf_qsig_wtmau_pisnNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
8989   {   1, &hf_qsig_wtmau_alternativeId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AlternativeId },
8990   { 0, NULL, 0, 0, 0, NULL }
8991 };
8992
8993 static int
8994 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_) {
8995   offset = dissect_ber_choice(actx, tree, tvb, offset,
8996                                  qsig_wtmau_WtmUserId_choice, hf_index, ett_qsig_wtmau_WtmUserId,
8997                                  NULL);
8998
8999   return offset;
9000 }
9001
9002
9003
9004 static int
9005 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_) {
9006   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9007                                        NULL);
9008
9009   return offset;
9010 }
9011
9012
9013
9014 static int
9015 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_) {
9016   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9017                                        NULL);
9018
9019   return offset;
9020 }
9021
9022
9023
9024 static int
9025 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_) {
9026   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9027                                        NULL);
9028
9029   return offset;
9030 }
9031
9032
9033
9034 static int
9035 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_) {
9036   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9037                                        NULL);
9038
9039   return offset;
9040 }
9041
9042
9043 static const ber_sequence_t qsig_wtmau_CalcWtatInfoUnit_sequence[] = {
9044   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9045   { &hf_qsig_wtmau_authResponse, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthResponse },
9046   { &hf_qsig_wtmau_derivedCipherKey, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_DerivedCipherKey },
9047   { &hf_qsig_wtmau_calculationParam, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalculationParam },
9048   { NULL, 0, 0, 0, NULL }
9049 };
9050
9051 static int
9052 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_) {
9053   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9054                                    qsig_wtmau_CalcWtatInfoUnit_sequence, hf_index, ett_qsig_wtmau_CalcWtatInfoUnit);
9055
9056   return offset;
9057 }
9058
9059
9060 static const ber_sequence_t qsig_wtmau_CalcWtatInfo_sequence_of[1] = {
9061   { &hf_qsig_wtmau_CalcWtatInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalcWtatInfoUnit },
9062 };
9063
9064 static int
9065 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_) {
9066   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9067                                       qsig_wtmau_CalcWtatInfo_sequence_of, hf_index, ett_qsig_wtmau_CalcWtatInfo);
9068
9069   return offset;
9070 }
9071
9072
9073 static const ber_sequence_t qsig_wtmau_SEQUENCE_OF_Extension_sequence_of[1] = {
9074   { &hf_qsig_wtmau_sequOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9075 };
9076
9077 static int
9078 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_) {
9079   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9080                                       qsig_wtmau_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_wtmau_SEQUENCE_OF_Extension);
9081
9082   return offset;
9083 }
9084
9085
9086 static const value_string qsig_wtmau_DummyExtension_vals[] = {
9087   {   5, "extension" },
9088   {   6, "sequOfExtn" },
9089   { 0, NULL }
9090 };
9091
9092 static const ber_choice_t qsig_wtmau_DummyExtension_choice[] = {
9093   {   5, &hf_qsig_wtmau_extension, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
9094   {   6, &hf_qsig_wtmau_sequOfExtn, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_SEQUENCE_OF_Extension },
9095   { 0, NULL, 0, 0, 0, NULL }
9096 };
9097
9098 static int
9099 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_) {
9100   offset = dissect_ber_choice(actx, tree, tvb, offset,
9101                                  qsig_wtmau_DummyExtension_choice, hf_index, ett_qsig_wtmau_DummyExtension,
9102                                  NULL);
9103
9104   return offset;
9105 }
9106
9107
9108 static const ber_sequence_t qsig_wtmau_AuthWtmArg_sequence[] = {
9109   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9110   { &hf_qsig_wtmau_calcWtatInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtatInfo },
9111   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9112   { NULL, 0, 0, 0, NULL }
9113 };
9114
9115 static int
9116 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_) {
9117   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9118                                    qsig_wtmau_AuthWtmArg_sequence, hf_index, ett_qsig_wtmau_AuthWtmArg);
9119
9120   return offset;
9121 }
9122
9123
9124 static const value_string qsig_wtmau_T_autWtmResValue_vals[] = {
9125   {   0, "auth-res-correct" },
9126   {   1, "auth-res-incorrect" },
9127   { 0, NULL }
9128 };
9129
9130
9131 static int
9132 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_) {
9133   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9134                                   NULL);
9135
9136   return offset;
9137 }
9138
9139
9140 static const ber_sequence_t qsig_wtmau_AuthWtmRes_sequence[] = {
9141   { &hf_qsig_wtmau_autWtmResValue, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_T_autWtmResValue },
9142   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9143   { NULL, 0, 0, 0, NULL }
9144 };
9145
9146 static int
9147 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_) {
9148   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9149                                    qsig_wtmau_AuthWtmRes_sequence, hf_index, ett_qsig_wtmau_AuthWtmRes);
9150
9151   return offset;
9152 }
9153
9154
9155
9156 static int
9157 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_) {
9158   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9159
9160   return offset;
9161 }
9162
9163
9164 static const ber_sequence_t qsig_wtmau_WtatParamArg_sequence[] = {
9165   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9166   { &hf_qsig_wtmau_canCompute, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CanCompute },
9167   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9168   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9169   { NULL, 0, 0, 0, NULL }
9170 };
9171
9172 static int
9173 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_) {
9174   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9175                                    qsig_wtmau_WtatParamArg_sequence, hf_index, ett_qsig_wtmau_WtatParamArg);
9176
9177   return offset;
9178 }
9179
9180
9181 static const value_string qsig_wtmau_DefinedIDs_vals[] = {
9182   {   0, "ct2" },
9183   {   1, "dect" },
9184   {   2, "gsm" },
9185   {   3, "pci" },
9186   {   4, "pwt" },
9187   {   5, "us-gsm" },
9188   {   6, "phs" },
9189   {   7, "tetra" },
9190   { 0, NULL }
9191 };
9192
9193
9194 static int
9195 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_) {
9196   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9197                                                 NULL);
9198
9199   return offset;
9200 }
9201
9202
9203
9204 static int
9205 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_) {
9206 #line 164 "../../asn1/qsig/qsig.cnf"
9207
9208
9209
9210   return offset;
9211 }
9212
9213
9214 static const ber_sequence_t qsig_wtmau_AuthAlgorithm_sequence[] = {
9215   { &hf_qsig_wtmau_authAlg  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_DefinedIDs },
9216   { &hf_qsig_wtmau_param    , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_T_param },
9217   { NULL, 0, 0, 0, NULL }
9218 };
9219
9220 static int
9221 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_) {
9222   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9223                                    qsig_wtmau_AuthAlgorithm_sequence, hf_index, ett_qsig_wtmau_AuthAlgorithm);
9224
9225   return offset;
9226 }
9227
9228
9229
9230 static int
9231 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_) {
9232   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9233                                        NULL);
9234
9235   return offset;
9236 }
9237
9238
9239 static const ber_sequence_t qsig_wtmau_AuthSessionKeyInfo_sequence[] = {
9240   { &hf_qsig_wtmau_authSessionKey, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthSessionKey },
9241   { &hf_qsig_wtmau_calculationParam, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalculationParam },
9242   { NULL, 0, 0, 0, NULL }
9243 };
9244
9245 static int
9246 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_) {
9247   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9248                                    qsig_wtmau_AuthSessionKeyInfo_sequence, hf_index, ett_qsig_wtmau_AuthSessionKeyInfo);
9249
9250   return offset;
9251 }
9252
9253
9254
9255 static int
9256 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_) {
9257   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9258                                        NULL);
9259
9260   return offset;
9261 }
9262
9263
9264
9265 static int
9266 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_) {
9267   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9268                                                 NULL);
9269
9270   return offset;
9271 }
9272
9273
9274 static const value_string qsig_wtmau_T_wtatParamInfoChoice_vals[] = {
9275   {   1, "authSessionKeyInfo" },
9276   {   2, "calcWtatInfo" },
9277   {   3, "authKey" },
9278   {   4, "challLen" },
9279   { 0, NULL }
9280 };
9281
9282 static const ber_choice_t qsig_wtmau_T_wtatParamInfoChoice_choice[] = {
9283   {   1, &hf_qsig_wtmau_authSessionKeyInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthSessionKeyInfo },
9284   {   2, &hf_qsig_wtmau_calcWtatInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtatInfo },
9285   {   3, &hf_qsig_wtmau_authKey  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthKey },
9286   {   4, &hf_qsig_wtmau_challLen , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_INTEGER_1_8 },
9287   { 0, NULL, 0, 0, 0, NULL }
9288 };
9289
9290 static int
9291 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_) {
9292   offset = dissect_ber_choice(actx, tree, tvb, offset,
9293                                  qsig_wtmau_T_wtatParamInfoChoice_choice, hf_index, ett_qsig_wtmau_T_wtatParamInfoChoice,
9294                                  NULL);
9295
9296   return offset;
9297 }
9298
9299
9300 static const ber_sequence_t qsig_wtmau_WtatParamInfo_sequence[] = {
9301   { &hf_qsig_wtmau_authAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthAlgorithm },
9302   { &hf_qsig_wtmau_wtatParamInfoChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_T_wtatParamInfoChoice },
9303   { NULL, 0, 0, 0, NULL }
9304 };
9305
9306 static int
9307 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_) {
9308   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9309                                    qsig_wtmau_WtatParamInfo_sequence, hf_index, ett_qsig_wtmau_WtatParamInfo);
9310
9311   return offset;
9312 }
9313
9314
9315 static const ber_sequence_t qsig_wtmau_WtatParamRes_sequence[] = {
9316   { &hf_qsig_wtmau_wtatParamInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_WtatParamInfo },
9317   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9318   { NULL, 0, 0, 0, NULL }
9319 };
9320
9321 static int
9322 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_) {
9323   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9324                                    qsig_wtmau_WtatParamRes_sequence, hf_index, ett_qsig_wtmau_WtatParamRes);
9325
9326   return offset;
9327 }
9328
9329
9330 static const ber_sequence_t qsig_wtmau_WtanParamArg_sequence[] = {
9331   { &hf_qsig_wtmau_wtmUserId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtmUserId },
9332   { &hf_qsig_wtmau_authChallenge, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthChallenge },
9333   { &hf_qsig_wtmau_authAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthAlgorithm },
9334   { &hf_qsig_wtmau_canCompute, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CanCompute },
9335   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9336   { NULL, 0, 0, 0, NULL }
9337 };
9338
9339 static int
9340 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_) {
9341   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9342                                    qsig_wtmau_WtanParamArg_sequence, hf_index, ett_qsig_wtmau_WtanParamArg);
9343
9344   return offset;
9345 }
9346
9347
9348 static const ber_sequence_t qsig_wtmau_CalcWtanInfo_sequence[] = {
9349   { &hf_qsig_wtmau_authResponse, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_AuthResponse },
9350   { &hf_qsig_wtmau_calculationParam, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_CalculationParam },
9351   { NULL, 0, 0, 0, NULL }
9352 };
9353
9354 static int
9355 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_) {
9356   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9357                                    qsig_wtmau_CalcWtanInfo_sequence, hf_index, ett_qsig_wtmau_CalcWtanInfo);
9358
9359   return offset;
9360 }
9361
9362
9363 static const value_string qsig_wtmau_WtanParamInfo_vals[] = {
9364   {   1, "authSessionKeyInfo" },
9365   {   2, "calcWtanInfo" },
9366   { 0, NULL }
9367 };
9368
9369 static const ber_choice_t qsig_wtmau_WtanParamInfo_choice[] = {
9370   {   1, &hf_qsig_wtmau_authSessionKeyInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_AuthSessionKeyInfo },
9371   {   2, &hf_qsig_wtmau_calcWtanInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_wtmau_CalcWtanInfo },
9372   { 0, NULL, 0, 0, 0, NULL }
9373 };
9374
9375 static int
9376 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_) {
9377   offset = dissect_ber_choice(actx, tree, tvb, offset,
9378                                  qsig_wtmau_WtanParamInfo_choice, hf_index, ett_qsig_wtmau_WtanParamInfo,
9379                                  NULL);
9380
9381   return offset;
9382 }
9383
9384
9385 static const ber_sequence_t qsig_wtmau_WtanParamRes_sequence[] = {
9386   { &hf_qsig_wtmau_wtanParamInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_WtanParamInfo },
9387   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9388   { NULL, 0, 0, 0, NULL }
9389 };
9390
9391 static int
9392 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_) {
9393   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9394                                    qsig_wtmau_WtanParamRes_sequence, hf_index, ett_qsig_wtmau_WtanParamRes);
9395
9396   return offset;
9397 }
9398
9399
9400 static const ber_sequence_t qsig_wtmau_ARG_transferAuthParam_sequence[] = {
9401   { &hf_qsig_wtmau_wtatParamInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_wtmau_WtatParamInfo },
9402   { &hf_qsig_wtmau_dummyExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_wtmau_DummyExtension },
9403   { NULL, 0, 0, 0, NULL }
9404 };
9405
9406 static int
9407 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_) {
9408   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9409                                    qsig_wtmau_ARG_transferAuthParam_sequence, hf_index, ett_qsig_wtmau_ARG_transferAuthParam);
9410
9411   return offset;
9412 }
9413
9414 /*--- PDUs ---*/
9415
9416 static int dissect_qsig_wtmau_AuthWtmArg_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_AuthWtmArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU);
9421   return offset;
9422 }
9423 static int dissect_qsig_wtmau_AuthWtmRes_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_AuthWtmRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU);
9428   return offset;
9429 }
9430 static int dissect_qsig_wtmau_WtatParamArg_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_wtmau_WtatParamArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU);
9435   return offset;
9436 }
9437 static int dissect_qsig_wtmau_WtatParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9438   int offset = 0;
9439   asn1_ctx_t asn1_ctx;
9440   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9441   offset = dissect_qsig_wtmau_WtatParamRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU);
9442   return offset;
9443 }
9444 static int dissect_qsig_wtmau_WtanParamArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9445   int offset = 0;
9446   asn1_ctx_t asn1_ctx;
9447   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9448   offset = dissect_qsig_wtmau_WtanParamArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU);
9449   return offset;
9450 }
9451 static int dissect_qsig_wtmau_WtanParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9452   int offset = 0;
9453   asn1_ctx_t asn1_ctx;
9454   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9455   offset = dissect_qsig_wtmau_WtanParamRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU);
9456   return offset;
9457 }
9458 static int dissect_qsig_wtmau_ARG_transferAuthParam_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9459   int offset = 0;
9460   asn1_ctx_t asn1_ctx;
9461   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9462   offset = dissect_qsig_wtmau_ARG_transferAuthParam(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU);
9463   return offset;
9464 }
9465 static int dissect_qsig_wtmau_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9466   int offset = 0;
9467   asn1_ctx_t asn1_ctx;
9468   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9469   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_wtmau_qsig_wtmau_Extension_PDU);
9470   return offset;
9471 }
9472
9473
9474 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
9475
9476
9477
9478 static int
9479 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_) {
9480   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9481                                        NULL);
9482
9483   return offset;
9484 }
9485
9486
9487
9488 static int
9489 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_) {
9490   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9491                                        NULL);
9492
9493   return offset;
9494 }
9495
9496
9497 static const value_string qsig_sd_DisplayString_vals[] = {
9498   {   0, "displayStringNormal" },
9499   {   1, "displayStringExtended" },
9500   { 0, NULL }
9501 };
9502
9503 static const ber_choice_t qsig_sd_DisplayString_choice[] = {
9504   {   0, &hf_qsig_sd_displayStringNormal, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringNormal },
9505   {   1, &hf_qsig_sd_displayStringExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringExtended },
9506   { 0, NULL, 0, 0, 0, NULL }
9507 };
9508
9509 static int
9510 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_) {
9511   offset = dissect_ber_choice(actx, tree, tvb, offset,
9512                                  qsig_sd_DisplayString_choice, hf_index, ett_qsig_sd_DisplayString,
9513                                  NULL);
9514
9515   return offset;
9516 }
9517
9518
9519 static const ber_sequence_t qsig_sd_SEQUENCE_OF_Extension_sequence_of[1] = {
9520   { &hf_qsig_sd_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9521 };
9522
9523 static int
9524 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_) {
9525   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9526                                       qsig_sd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sd_SEQUENCE_OF_Extension);
9527
9528   return offset;
9529 }
9530
9531
9532 static const value_string qsig_sd_SDExtension_vals[] = {
9533   {   2, "extension" },
9534   {   3, "multipleExtension" },
9535   { 0, NULL }
9536 };
9537
9538 static const ber_choice_t qsig_sd_SDExtension_choice[] = {
9539   {   2, &hf_qsig_sd_extension   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
9540   {   3, &hf_qsig_sd_multipleExtension, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_sd_SEQUENCE_OF_Extension },
9541   { 0, NULL, 0, 0, 0, NULL }
9542 };
9543
9544 static int
9545 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_) {
9546   offset = dissect_ber_choice(actx, tree, tvb, offset,
9547                                  qsig_sd_SDExtension_choice, hf_index, ett_qsig_sd_SDExtension,
9548                                  NULL);
9549
9550   return offset;
9551 }
9552
9553
9554 static const ber_sequence_t qsig_sd_DisplayArg_sequence[] = {
9555   { &hf_qsig_sd_displayString, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_DisplayString },
9556   { &hf_qsig_sd_sdextension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_SDExtension },
9557   { NULL, 0, 0, 0, NULL }
9558 };
9559
9560 static int
9561 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_) {
9562   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9563                                    qsig_sd_DisplayArg_sequence, hf_index, ett_qsig_sd_DisplayArg);
9564
9565   return offset;
9566 }
9567
9568
9569 static const ber_sequence_t qsig_sd_KeypadArg_sequence[] = {
9570   { &hf_qsig_sd_keypadString, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sd_BMPStringNormal },
9571   { &hf_qsig_sd_sdextension , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sd_SDExtension },
9572   { NULL, 0, 0, 0, NULL }
9573 };
9574
9575 static int
9576 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_) {
9577   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9578                                    qsig_sd_KeypadArg_sequence, hf_index, ett_qsig_sd_KeypadArg);
9579
9580   return offset;
9581 }
9582
9583 /*--- PDUs ---*/
9584
9585 static int dissect_qsig_sd_DisplayArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9586   int offset = 0;
9587   asn1_ctx_t asn1_ctx;
9588   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9589   offset = dissect_qsig_sd_DisplayArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_DisplayArg_PDU);
9590   return offset;
9591 }
9592 static int dissect_qsig_sd_KeypadArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9593   int offset = 0;
9594   asn1_ctx_t asn1_ctx;
9595   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9596   offset = dissect_qsig_sd_KeypadArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_KeypadArg_PDU);
9597   return offset;
9598 }
9599 static int dissect_qsig_sd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9600   int offset = 0;
9601   asn1_ctx_t asn1_ctx;
9602   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9603   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sd_qsig_sd_Extension_PDU);
9604   return offset;
9605 }
9606
9607
9608 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
9609
9610
9611
9612 static int
9613 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_) {
9614   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
9615                                             actx, tree, tvb, offset, hf_index,
9616                                             NULL);
9617
9618   return offset;
9619 }
9620
9621
9622
9623 static int
9624 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_) {
9625   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9626                                        NULL);
9627
9628   return offset;
9629 }
9630
9631
9632
9633 static int
9634 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_) {
9635   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9636                                        NULL);
9637
9638   return offset;
9639 }
9640
9641
9642 static const value_string qsig_cidl_T_linkageID_vals[] = {
9643   {   1, "subDomainID" },
9644   {   2, "globallyUniqueID" },
9645   { 0, NULL }
9646 };
9647
9648 static const ber_choice_t qsig_cidl_T_linkageID_choice[] = {
9649   {   1, &hf_qsig_cidl_subDomainID, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SubDomainID },
9650   {   2, &hf_qsig_cidl_globallyUniqueID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_GloballyUniqueID },
9651   { 0, NULL, 0, 0, 0, NULL }
9652 };
9653
9654 static int
9655 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_) {
9656   offset = dissect_ber_choice(actx, tree, tvb, offset,
9657                                  qsig_cidl_T_linkageID_choice, hf_index, ett_qsig_cidl_T_linkageID,
9658                                  NULL);
9659
9660   return offset;
9661 }
9662
9663
9664
9665 static int
9666 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_) {
9667   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
9668
9669   return offset;
9670 }
9671
9672
9673 static const ber_sequence_t qsig_cidl_CallIdentificationData_sequence[] = {
9674   { &hf_qsig_cidl_switchingSubDomainName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SwitchingSubDomainName },
9675   { &hf_qsig_cidl_linkageID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_T_linkageID },
9676   { &hf_qsig_cidl_timeStamp , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cidl_TimeStamp },
9677   { NULL, 0, 0, 0, NULL }
9678 };
9679
9680 static int
9681 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_) {
9682   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9683                                    qsig_cidl_CallIdentificationData_sequence, hf_index, ett_qsig_cidl_CallIdentificationData);
9684
9685   return offset;
9686 }
9687
9688
9689 static const ber_sequence_t qsig_cidl_SEQUENCE_OF_Extension_sequence_of[1] = {
9690   { &hf_qsig_cidl_sequenceOfExt_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
9691 };
9692
9693 static int
9694 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_) {
9695   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9696                                       qsig_cidl_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cidl_SEQUENCE_OF_Extension);
9697
9698   return offset;
9699 }
9700
9701
9702 static const value_string qsig_cidl_ExtensionType_vals[] = {
9703   {   3, "extension" },
9704   {   4, "sequenceOfExt" },
9705   { 0, NULL }
9706 };
9707
9708 static const ber_choice_t qsig_cidl_ExtensionType_choice[] = {
9709   {   3, &hf_qsig_cidl_extension , BER_CLASS_CON, 3, 0, dissect_qsig_Extension },
9710   {   4, &hf_qsig_cidl_sequenceOfExt, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_cidl_SEQUENCE_OF_Extension },
9711   { 0, NULL, 0, 0, 0, NULL }
9712 };
9713
9714 static int
9715 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_) {
9716   offset = dissect_ber_choice(actx, tree, tvb, offset,
9717                                  qsig_cidl_ExtensionType_choice, hf_index, ett_qsig_cidl_ExtensionType,
9718                                  NULL);
9719
9720   return offset;
9721 }
9722
9723
9724 static const ber_sequence_t qsig_cidl_CallIdentificationAssignArg_sequence[] = {
9725   { &hf_qsig_cidl_globalCallID, BER_CLASS_CON, 0, 0, dissect_qsig_cidl_CallIdentificationData },
9726   { &hf_qsig_cidl_threadID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9727   { &hf_qsig_cidl_legID     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9728   { &hf_qsig_cidl_extensiont, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_ExtensionType },
9729   { NULL, 0, 0, 0, NULL }
9730 };
9731
9732 static int
9733 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_) {
9734   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9735                                    qsig_cidl_CallIdentificationAssignArg_sequence, hf_index, ett_qsig_cidl_CallIdentificationAssignArg);
9736
9737   return offset;
9738 }
9739
9740
9741 static const ber_sequence_t qsig_cidl_CallIdentificationUpdateArg_sequence[] = {
9742   { &hf_qsig_cidl_globalCallID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9743   { &hf_qsig_cidl_threadID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9744   { &hf_qsig_cidl_legID     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_cidl_CallIdentificationData },
9745   { &hf_qsig_cidl_extensiont, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cidl_ExtensionType },
9746   { NULL, 0, 0, 0, NULL }
9747 };
9748
9749 static int
9750 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_) {
9751   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9752                                    qsig_cidl_CallIdentificationUpdateArg_sequence, hf_index, ett_qsig_cidl_CallIdentificationUpdateArg);
9753
9754   return offset;
9755 }
9756
9757 /*--- PDUs ---*/
9758
9759 static int dissect_qsig_cidl_CallIdentificationAssignArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9760   int offset = 0;
9761   asn1_ctx_t asn1_ctx;
9762   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9763   offset = dissect_qsig_cidl_CallIdentificationAssignArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU);
9764   return offset;
9765 }
9766 static int dissect_qsig_cidl_CallIdentificationUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
9767   int offset = 0;
9768   asn1_ctx_t asn1_ctx;
9769   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
9770   offset = dissect_qsig_cidl_CallIdentificationUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU);
9771   return offset;
9772 }
9773
9774
9775 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
9776
9777
9778
9779 static int
9780 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_) {
9781   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9782                                                 NULL);
9783
9784   return offset;
9785 }
9786
9787
9788
9789 static int
9790 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_) {
9791   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9792                                                 NULL);
9793
9794   return offset;
9795 }
9796
9797
9798
9799 static int
9800 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_) {
9801   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9802                                                 NULL);
9803
9804   return offset;
9805 }
9806
9807
9808
9809 static int
9810 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_) {
9811   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
9812
9813   return offset;
9814 }
9815
9816
9817
9818 static int
9819 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_) {
9820   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
9821
9822   return offset;
9823 }
9824
9825
9826
9827 static int
9828 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_) {
9829   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9830                                                 NULL);
9831
9832   return offset;
9833 }
9834
9835
9836
9837 static int
9838 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_) {
9839   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9840                                        NULL);
9841
9842   return offset;
9843 }
9844
9845
9846 static const value_string qsig_sms_EnhancedVP_vals[] = {
9847   {   0, "validityPeriodRel" },
9848   {   1, "validityPeriodSec" },
9849   {   2, "validityPeriodSemi" },
9850   { 0, NULL }
9851 };
9852
9853 static const ber_choice_t qsig_sms_EnhancedVP_choice[] = {
9854   {   0, &hf_qsig_sms_validityPeriodRel, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodRel },
9855   {   1, &hf_qsig_sms_validityPeriodSec, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_INTEGER_0_255 },
9856   {   2, &hf_qsig_sms_validityPeriodSemi, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodSemi },
9857   { 0, NULL, 0, 0, 0, NULL }
9858 };
9859
9860 static int
9861 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_) {
9862   offset = dissect_ber_choice(actx, tree, tvb, offset,
9863                                  qsig_sms_EnhancedVP_choice, hf_index, ett_qsig_sms_EnhancedVP,
9864                                  NULL);
9865
9866   return offset;
9867 }
9868
9869
9870 static const ber_sequence_t qsig_sms_ValidityPeriodEnh_sequence[] = {
9871   { &hf_qsig_sms_singleShotSM, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_BOOLEAN },
9872   { &hf_qsig_sms_enhancedVP , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_EnhancedVP },
9873   { NULL, 0, 0, 0, NULL }
9874 };
9875
9876 static int
9877 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_) {
9878   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9879                                    qsig_sms_ValidityPeriodEnh_sequence, hf_index, ett_qsig_sms_ValidityPeriodEnh);
9880
9881   return offset;
9882 }
9883
9884
9885 static const value_string qsig_sms_ValidityPeriod_vals[] = {
9886   {   0, "validityPeriodRel" },
9887   {   1, "validityPeriodAbs" },
9888   {   2, "validityPeriodEnh" },
9889   { 0, NULL }
9890 };
9891
9892 static const ber_choice_t qsig_sms_ValidityPeriod_choice[] = {
9893   {   0, &hf_qsig_sms_validityPeriodRel, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodRel },
9894   {   1, &hf_qsig_sms_validityPeriodAbs, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodAbs },
9895   {   2, &hf_qsig_sms_validityPeriodEnh, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ValidityPeriodEnh },
9896   { 0, NULL, 0, 0, 0, NULL }
9897 };
9898
9899 static int
9900 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_) {
9901   offset = dissect_ber_choice(actx, tree, tvb, offset,
9902                                  qsig_sms_ValidityPeriod_choice, hf_index, ett_qsig_sms_ValidityPeriod,
9903                                  NULL);
9904
9905   return offset;
9906 }
9907
9908
9909 static const ber_sequence_t qsig_sms_SmSubmitParameter_sequence[] = {
9910   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
9911   { &hf_qsig_sms_validityPeriod, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_ValidityPeriod },
9912   { &hf_qsig_sms_statusReportRequest, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9913   { &hf_qsig_sms_replyPath  , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9914   { &hf_qsig_sms_rejectDuplicates, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
9915   { NULL, 0, 0, 0, NULL }
9916 };
9917
9918 static int
9919 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_) {
9920   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9921                                    qsig_sms_SmSubmitParameter_sequence, hf_index, ett_qsig_sms_SmSubmitParameter);
9922
9923   return offset;
9924 }
9925
9926
9927 static const asn_namedbit qsig_sms_SmscControlParameterHeader_bits[] = {
9928   {  0, &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted, -1, -1, "sRforTransactionCompleted", NULL },
9929   {  1, &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError, -1, -1, "sRforPermanentError", NULL },
9930   {  2, &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying, -1, -1, "sRforTempErrorSCnotTrying", NULL },
9931   {  3, &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying, -1, -1, "sRforTempErrorSCstillTrying", NULL },
9932   {  6, &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM, -1, -1, "cancelSRRforConcatenatedSM", NULL },
9933   {  7, &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR, -1, -1, "includeOrigUDHintoSR", NULL },
9934   { 0, NULL, 0, 0, NULL, NULL }
9935 };
9936
9937 static int
9938 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_) {
9939   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9940                                     qsig_sms_SmscControlParameterHeader_bits, hf_index, ett_qsig_sms_SmscControlParameterHeader,
9941                                     NULL);
9942
9943   return offset;
9944 }
9945
9946
9947 static const ber_sequence_t qsig_sms_Concatenated8BitSMHeader_sequence[] = {
9948   { &hf_qsig_sms_concatenated8BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9949   { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9950   { &hf_qsig_sms_sequenceNumberOf8BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9951   { NULL, 0, 0, 0, NULL }
9952 };
9953
9954 static int
9955 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_) {
9956   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9957                                    qsig_sms_Concatenated8BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated8BitSMHeader);
9958
9959   return offset;
9960 }
9961
9962
9963
9964 static int
9965 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_) {
9966   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9967                                                 NULL);
9968
9969   return offset;
9970 }
9971
9972
9973 static const ber_sequence_t qsig_sms_Concatenated16BitSMHeader_sequence[] = {
9974   { &hf_qsig_sms_concatenated16BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
9975   { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9976   { &hf_qsig_sms_sequenceNumberOf16BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9977   { NULL, 0, 0, 0, NULL }
9978 };
9979
9980 static int
9981 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_) {
9982   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9983                                    qsig_sms_Concatenated16BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated16BitSMHeader);
9984
9985   return offset;
9986 }
9987
9988
9989 static const ber_sequence_t qsig_sms_ApplicationPort8BitHeader_sequence[] = {
9990   { &hf_qsig_sms_destination8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9991   { &hf_qsig_sms_originator8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9992   { NULL, 0, 0, 0, NULL }
9993 };
9994
9995 static int
9996 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_) {
9997   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9998                                    qsig_sms_ApplicationPort8BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort8BitHeader);
9999
10000   return offset;
10001 }
10002
10003
10004 static const ber_sequence_t qsig_sms_ApplicationPort16BitHeader_sequence[] = {
10005   { &hf_qsig_sms_destination16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
10006   { &hf_qsig_sms_originator16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
10007   { NULL, 0, 0, 0, NULL }
10008 };
10009
10010 static int
10011 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_) {
10012   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10013                                    qsig_sms_ApplicationPort16BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort16BitHeader);
10014
10015   return offset;
10016 }
10017
10018
10019 static const value_string qsig_sms_DataHeaderSourceIndicator_vals[] = {
10020   {   1, "originalSender" },
10021   {   2, "originalReceiver" },
10022   {   3, "sMSC" },
10023   { 0, NULL }
10024 };
10025
10026
10027 static int
10028 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_) {
10029   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10030                                                 NULL);
10031
10032   return offset;
10033 }
10034
10035
10036
10037 static int
10038 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_) {
10039   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10040                                        NULL);
10041
10042   return offset;
10043 }
10044
10045
10046
10047 static int
10048 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_) {
10049   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10050                                        NULL);
10051
10052   return offset;
10053 }
10054
10055
10056 static const ber_sequence_t qsig_sms_GenericUserValue_sequence[] = {
10057   { &hf_qsig_sms_parameterValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
10058   { &hf_qsig_sms_genericUserData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_OCTET_STRING },
10059   { NULL, 0, 0, 0, NULL }
10060 };
10061
10062 static int
10063 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_) {
10064   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10065                                    qsig_sms_GenericUserValue_sequence, hf_index, ett_qsig_sms_GenericUserValue);
10066
10067   return offset;
10068 }
10069
10070
10071 static const value_string qsig_sms_UserDataHeaderChoice_vals[] = {
10072   {   0, "smscControlParameterHeader" },
10073   {   1, "concatenated8BitSMHeader" },
10074   {   2, "concatenated16BitSMHeader" },
10075   {   3, "applicationPort8BitHeader" },
10076   {   4, "applicationPort16BitHeader" },
10077   {   5, "dataHeaderSourceIndicator" },
10078   {   6, "wirelessControlHeader" },
10079   {  99, "genericUserValue" },
10080   { 0, NULL }
10081 };
10082
10083 static const ber_choice_t qsig_sms_UserDataHeaderChoice_choice[] = {
10084   {   0, &hf_qsig_sms_smscControlParameterHeader, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SmscControlParameterHeader },
10085   {   1, &hf_qsig_sms_concatenated8BitSMHeader, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated8BitSMHeader },
10086   {   2, &hf_qsig_sms_concatenated16BitSMHeader, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated16BitSMHeader },
10087   {   3, &hf_qsig_sms_applicationPort8BitHeader, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort8BitHeader },
10088   {   4, &hf_qsig_sms_applicationPort16BitHeader, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort16BitHeader },
10089   {   5, &hf_qsig_sms_dataHeaderSourceIndicator, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_sms_DataHeaderSourceIndicator },
10090   {   6, &hf_qsig_sms_wirelessControlHeader, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_sms_WirelessControlHeader },
10091   {  99, &hf_qsig_sms_genericUserValue, BER_CLASS_CON, 99, BER_FLAGS_IMPLTAG, dissect_qsig_sms_GenericUserValue },
10092   { 0, NULL, 0, 0, 0, NULL }
10093 };
10094
10095 static int
10096 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_) {
10097   offset = dissect_ber_choice(actx, tree, tvb, offset,
10098                                  qsig_sms_UserDataHeaderChoice_choice, hf_index, ett_qsig_sms_UserDataHeaderChoice,
10099                                  NULL);
10100
10101   return offset;
10102 }
10103
10104
10105 static const ber_sequence_t qsig_sms_UserDataHeader_sequence_of[1] = {
10106   { &hf_qsig_sms_UserDataHeader_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_UserDataHeaderChoice },
10107 };
10108
10109 static int
10110 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_) {
10111   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10112                                       qsig_sms_UserDataHeader_sequence_of, hf_index, ett_qsig_sms_UserDataHeader);
10113
10114   return offset;
10115 }
10116
10117
10118
10119 static int
10120 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_) {
10121   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10122                                                 NULL);
10123
10124   return offset;
10125 }
10126
10127
10128 static const value_string qsig_sms_ShortMessageTextType_vals[] = {
10129   {   0, "iA5Coded" },
10130   {   1, "octetCoded" },
10131   {   2, "uniCoded" },
10132   {   3, "compressedCoded" },
10133   { 0, NULL }
10134 };
10135
10136
10137 static int
10138 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_) {
10139   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10140                                                 NULL);
10141
10142   return offset;
10143 }
10144
10145
10146
10147 static int
10148 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_) {
10149   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10150                                        NULL);
10151
10152   return offset;
10153 }
10154
10155
10156 static const ber_sequence_t qsig_sms_ShortMessageText_sequence[] = {
10157   { &hf_qsig_sms_shortMessageTextType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextType },
10158   { &hf_qsig_sms_shortMessageTextData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextData },
10159   { NULL, 0, 0, 0, NULL }
10160 };
10161
10162 static int
10163 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_) {
10164   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10165                                    qsig_sms_ShortMessageText_sequence, hf_index, ett_qsig_sms_ShortMessageText);
10166
10167   return offset;
10168 }
10169
10170
10171 static const ber_sequence_t qsig_sms_UserData_sequence[] = {
10172   { &hf_qsig_sms_userDataHeader, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserDataHeader },
10173   { &hf_qsig_sms_class      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_INTEGER_0_3 },
10174   { &hf_qsig_sms_compressed , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10175   { &hf_qsig_sms_shortMessageText, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageText },
10176   { NULL, 0, 0, 0, NULL }
10177 };
10178
10179 static int
10180 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_) {
10181   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10182                                    qsig_sms_UserData_sequence, hf_index, ett_qsig_sms_UserData);
10183
10184   return offset;
10185 }
10186
10187
10188 static const ber_sequence_t qsig_sms_SEQUENCE_OF_Extension_sequence_of[1] = {
10189   { &hf_qsig_sms_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10190 };
10191
10192 static int
10193 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_) {
10194   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10195                                       qsig_sms_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sms_SEQUENCE_OF_Extension);
10196
10197   return offset;
10198 }
10199
10200
10201 static const value_string qsig_sms_SmsExtension_vals[] = {
10202   {   1, "single" },
10203   {   2, "multiple" },
10204   { 0, NULL }
10205 };
10206
10207 static const ber_choice_t qsig_sms_SmsExtension_choice[] = {
10208   {   1, &hf_qsig_sms_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10209   {   2, &hf_qsig_sms_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SEQUENCE_OF_Extension },
10210   { 0, NULL, 0, 0, 0, NULL }
10211 };
10212
10213 static int
10214 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_) {
10215   offset = dissect_ber_choice(actx, tree, tvb, offset,
10216                                  qsig_sms_SmsExtension_choice, hf_index, ett_qsig_sms_SmsExtension,
10217                                  NULL);
10218
10219   return offset;
10220 }
10221
10222
10223 static const ber_sequence_t qsig_sms_SmsSubmitArg_sequence[] = {
10224   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10225   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10226   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10227   { &hf_qsig_sms_smSubmitParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmSubmitParameter },
10228   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10229   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10230   { NULL, 0, 0, 0, NULL }
10231 };
10232
10233 static int
10234 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_) {
10235   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10236                                    qsig_sms_SmsSubmitArg_sequence, hf_index, ett_qsig_sms_SmsSubmitArg);
10237
10238   return offset;
10239 }
10240
10241
10242
10243 static int
10244 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_) {
10245   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10246
10247   return offset;
10248 }
10249
10250
10251 static const ber_sequence_t qsig_sms_SmsSubmitRes_sequence[] = {
10252   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10253   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10254   { &hf_qsig_sms_userData   , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10255   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10256   { NULL, 0, 0, 0, NULL }
10257 };
10258
10259 static int
10260 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_) {
10261   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10262                                    qsig_sms_SmsSubmitRes_sequence, hf_index, ett_qsig_sms_SmsSubmitRes);
10263
10264   return offset;
10265 }
10266
10267
10268 static const ber_sequence_t qsig_sms_SmDeliverParameter_sequence[] = {
10269   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10270   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10271   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10272   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10273   { &hf_qsig_sms_statusReportIndication, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10274   { &hf_qsig_sms_replyPath  , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10275   { NULL, 0, 0, 0, NULL }
10276 };
10277
10278 static int
10279 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_) {
10280   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10281                                    qsig_sms_SmDeliverParameter_sequence, hf_index, ett_qsig_sms_SmDeliverParameter);
10282
10283   return offset;
10284 }
10285
10286
10287 static const ber_sequence_t qsig_sms_SmsDeliverArg_sequence[] = {
10288   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10289   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10290   { &hf_qsig_sms_originatingName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
10291   { &hf_qsig_sms_smDeliverParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmDeliverParameter },
10292   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10293   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10294   { NULL, 0, 0, 0, NULL }
10295 };
10296
10297 static int
10298 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_) {
10299   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10300                                    qsig_sms_SmsDeliverArg_sequence, hf_index, ett_qsig_sms_SmsDeliverArg);
10301
10302   return offset;
10303 }
10304
10305
10306
10307 static int
10308 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_) {
10309   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10310
10311   return offset;
10312 }
10313
10314
10315 static const ber_sequence_t qsig_sms_ResChoiceSeq_sequence[] = {
10316   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10317   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10318   { NULL, 0, 0, 0, NULL }
10319 };
10320
10321 static int
10322 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_) {
10323   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10324                                    qsig_sms_ResChoiceSeq_sequence, hf_index, ett_qsig_sms_ResChoiceSeq);
10325
10326   return offset;
10327 }
10328
10329
10330 static const value_string qsig_sms_SmsDeliverResChoice_vals[] = {
10331   {   0, "null" },
10332   {   1, "protocolIdentifier" },
10333   {   2, "userData" },
10334   {   3, "resChoiceSeq" },
10335   { 0, NULL }
10336 };
10337
10338 static const ber_choice_t qsig_sms_SmsDeliverResChoice_choice[] = {
10339   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10340   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10341   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10342   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10343   { 0, NULL, 0, 0, 0, NULL }
10344 };
10345
10346 static int
10347 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_) {
10348   offset = dissect_ber_choice(actx, tree, tvb, offset,
10349                                  qsig_sms_SmsDeliverResChoice_choice, hf_index, ett_qsig_sms_SmsDeliverResChoice,
10350                                  NULL);
10351
10352   return offset;
10353 }
10354
10355
10356 static const ber_sequence_t qsig_sms_SmsDeliverRes_sequence[] = {
10357   { &hf_qsig_sms_smsDeliverResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsDeliverResChoice },
10358   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10359   { NULL, 0, 0, 0, NULL }
10360 };
10361
10362 static int
10363 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_) {
10364   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10365                                    qsig_sms_SmsDeliverRes_sequence, hf_index, ett_qsig_sms_SmsDeliverRes);
10366
10367   return offset;
10368 }
10369
10370
10371
10372 static int
10373 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_) {
10374   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10375
10376   return offset;
10377 }
10378
10379
10380
10381 static int
10382 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_) {
10383   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10384                                                 NULL);
10385
10386   return offset;
10387 }
10388
10389
10390 static const ber_sequence_t qsig_sms_SmsStatusReportArg_sequence[] = {
10391   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10392   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10393   { &hf_qsig_sms_dischargeTime, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_DischargeTime },
10394   { &hf_qsig_sms_recipientAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10395   { &hf_qsig_sms_recipientName, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
10396   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10397   { &hf_qsig_sms_status     , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_Status },
10398   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10399   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10400   { &hf_qsig_sms_statusReportQualifier, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10401   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10402   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10403   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10404   { NULL, 0, 0, 0, NULL }
10405 };
10406
10407 static int
10408 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_) {
10409   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10410                                    qsig_sms_SmsStatusReportArg_sequence, hf_index, ett_qsig_sms_SmsStatusReportArg);
10411
10412   return offset;
10413 }
10414
10415
10416 static const value_string qsig_sms_SmsStatusReportResponseChoice_vals[] = {
10417   {   0, "null" },
10418   {   1, "protocolIdentifier" },
10419   {   2, "userData" },
10420   {   3, "resChoiceSeq" },
10421   { 0, NULL }
10422 };
10423
10424 static const ber_choice_t qsig_sms_SmsStatusReportResponseChoice_choice[] = {
10425   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10426   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10427   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10428   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10429   { 0, NULL, 0, 0, 0, NULL }
10430 };
10431
10432 static int
10433 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_) {
10434   offset = dissect_ber_choice(actx, tree, tvb, offset,
10435                                  qsig_sms_SmsStatusReportResponseChoice_choice, hf_index, ett_qsig_sms_SmsStatusReportResponseChoice,
10436                                  NULL);
10437
10438   return offset;
10439 }
10440
10441
10442 static const ber_sequence_t qsig_sms_SmsStatusReportRes_sequence[] = {
10443   { &hf_qsig_sms_smsStatusReportResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsStatusReportResponseChoice },
10444   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10445   { NULL, 0, 0, 0, NULL }
10446 };
10447
10448 static int
10449 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_) {
10450   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10451                                    qsig_sms_SmsStatusReportRes_sequence, hf_index, ett_qsig_sms_SmsStatusReportRes);
10452
10453   return offset;
10454 }
10455
10456
10457 static const value_string qsig_sms_CommandType_vals[] = {
10458   {   0, "enquiry" },
10459   {   1, "cancelSRR" },
10460   {   2, "deletePreviouslySubmittedSM" },
10461   {   3, "enableSRRrelatingToPreviouslySubmittedSM" },
10462   { 0, NULL }
10463 };
10464
10465
10466 static int
10467 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_) {
10468   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10469                                                 NULL);
10470
10471   return offset;
10472 }
10473
10474
10475
10476 static int
10477 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_) {
10478   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10479                                        NULL);
10480
10481   return offset;
10482 }
10483
10484
10485 static const ber_sequence_t qsig_sms_SmsCommandArg_sequence[] = {
10486   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10487   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10488   { &hf_qsig_sms_messageNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10489   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10490   { &hf_qsig_sms_commandType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandType },
10491   { &hf_qsig_sms_commandData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandData },
10492   { &hf_qsig_sms_statusReportRequest, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_BOOLEAN },
10493   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10494   { NULL, 0, 0, 0, NULL }
10495 };
10496
10497 static int
10498 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_) {
10499   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10500                                    qsig_sms_SmsCommandArg_sequence, hf_index, ett_qsig_sms_SmsCommandArg);
10501
10502   return offset;
10503 }
10504
10505
10506 static const ber_sequence_t qsig_sms_SmsCommandRes_sequence[] = {
10507   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10508   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10509   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10510   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10511   { NULL, 0, 0, 0, NULL }
10512 };
10513
10514 static int
10515 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_) {
10516   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10517                                    qsig_sms_SmsCommandRes_sequence, hf_index, ett_qsig_sms_SmsCommandRes);
10518
10519   return offset;
10520 }
10521
10522
10523 static const ber_sequence_t qsig_sms_ScAlertArg_sequence[] = {
10524   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10525   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10526   { NULL, 0, 0, 0, NULL }
10527 };
10528
10529 static int
10530 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_) {
10531   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10532                                    qsig_sms_ScAlertArg_sequence, hf_index, ett_qsig_sms_ScAlertArg);
10533
10534   return offset;
10535 }
10536
10537
10538 static const value_string qsig_sms_DummyRes_vals[] = {
10539   {   0, "null" },
10540   {   1, "smsExtension" },
10541   { 0, NULL }
10542 };
10543
10544 static const ber_choice_t qsig_sms_DummyRes_choice[] = {
10545   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10546   {   1, &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmsExtension },
10547   { 0, NULL, 0, 0, 0, NULL }
10548 };
10549
10550 static int
10551 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_) {
10552   offset = dissect_ber_choice(actx, tree, tvb, offset,
10553                                  qsig_sms_DummyRes_choice, hf_index, ett_qsig_sms_DummyRes,
10554                                  NULL);
10555
10556   return offset;
10557 }
10558
10559
10560
10561 static int
10562 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_) {
10563   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10564                                                 NULL);
10565
10566   return offset;
10567 }
10568
10569
10570 static const ber_sequence_t qsig_sms_PAR_smsDeliverError_sequence[] = {
10571   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10572   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10573   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10574   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10575   { NULL, 0, 0, 0, NULL }
10576 };
10577
10578 static int
10579 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_) {
10580   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10581                                    qsig_sms_PAR_smsDeliverError_sequence, hf_index, ett_qsig_sms_PAR_smsDeliverError);
10582
10583   return offset;
10584 }
10585
10586
10587 static const ber_sequence_t qsig_sms_PAR_smsSubmitError_sequence[] = {
10588   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10589   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10590   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10591   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10592   { NULL, 0, 0, 0, NULL }
10593 };
10594
10595 static int
10596 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_) {
10597   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10598                                    qsig_sms_PAR_smsSubmitError_sequence, hf_index, ett_qsig_sms_PAR_smsSubmitError);
10599
10600   return offset;
10601 }
10602
10603
10604 static const ber_sequence_t qsig_sms_PAR_smsStatusReportError_sequence[] = {
10605   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10606   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10607   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10608   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10609   { NULL, 0, 0, 0, NULL }
10610 };
10611
10612 static int
10613 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_) {
10614   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10615                                    qsig_sms_PAR_smsStatusReportError_sequence, hf_index, ett_qsig_sms_PAR_smsStatusReportError);
10616
10617   return offset;
10618 }
10619
10620
10621 static const ber_sequence_t qsig_sms_PAR_smsCommandError_sequence[] = {
10622   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10623   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10624   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10625   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10626   { NULL, 0, 0, 0, NULL }
10627 };
10628
10629 static int
10630 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_) {
10631   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10632                                    qsig_sms_PAR_smsCommandError_sequence, hf_index, ett_qsig_sms_PAR_smsCommandError);
10633
10634   return offset;
10635 }
10636
10637 /*--- PDUs ---*/
10638
10639 static int dissect_qsig_sms_SmsSubmitArg_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_SmsSubmitArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU);
10644   return offset;
10645 }
10646 static int dissect_qsig_sms_SmsSubmitRes_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_SmsSubmitRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU);
10651   return offset;
10652 }
10653 static int dissect_qsig_sms_SmsDeliverArg_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_SmsDeliverArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU);
10658   return offset;
10659 }
10660 static int dissect_qsig_sms_SmsDeliverRes_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_SmsDeliverRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU);
10665   return offset;
10666 }
10667 static int dissect_qsig_sms_SmsStatusReportArg_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_SmsStatusReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU);
10672   return offset;
10673 }
10674 static int dissect_qsig_sms_SmsStatusReportRes_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_SmsStatusReportRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU);
10679   return offset;
10680 }
10681 static int dissect_qsig_sms_SmsCommandArg_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_SmsCommandArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandArg_PDU);
10686   return offset;
10687 }
10688 static int dissect_qsig_sms_SmsCommandRes_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_SmsCommandRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandRes_PDU);
10693   return offset;
10694 }
10695 static int dissect_qsig_sms_ScAlertArg_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_ScAlertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_ScAlertArg_PDU);
10700   return offset;
10701 }
10702 static int dissect_qsig_sms_DummyRes_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_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_DummyRes_PDU);
10707   return offset;
10708 }
10709 static int dissect_qsig_sms_PAR_smsDeliverError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10710   int offset = 0;
10711   asn1_ctx_t asn1_ctx;
10712   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10713   offset = dissect_qsig_sms_PAR_smsDeliverError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU);
10714   return offset;
10715 }
10716 static int dissect_qsig_sms_PAR_smsSubmitError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10717   int offset = 0;
10718   asn1_ctx_t asn1_ctx;
10719   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10720   offset = dissect_qsig_sms_PAR_smsSubmitError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU);
10721   return offset;
10722 }
10723 static int dissect_qsig_sms_PAR_smsStatusReportError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10724   int offset = 0;
10725   asn1_ctx_t asn1_ctx;
10726   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10727   offset = dissect_qsig_sms_PAR_smsStatusReportError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU);
10728   return offset;
10729 }
10730 static int dissect_qsig_sms_PAR_smsCommandError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10731   int offset = 0;
10732   asn1_ctx_t asn1_ctx;
10733   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10734   offset = dissect_qsig_sms_PAR_smsCommandError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU);
10735   return offset;
10736 }
10737 static int dissect_qsig_sms_SmsExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10738   int offset = 0;
10739   asn1_ctx_t asn1_ctx;
10740   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10741   offset = dissect_qsig_sms_SmsExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsExtension_PDU);
10742   return offset;
10743 }
10744
10745
10746 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
10747
10748
10749
10750 static int
10751 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_) {
10752   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10753
10754   return offset;
10755 }
10756
10757
10758 static const value_string qsig_mcr_CallType_vals[] = {
10759   {   0, "basicService" },
10760   {   1, "cisc" },
10761   { 0, NULL }
10762 };
10763
10764 static const ber_choice_t qsig_mcr_CallType_choice[] = {
10765   {   0, &hf_qsig_mcr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
10766   {   1, &hf_qsig_mcr_cisc       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10767   { 0, NULL, 0, 0, 0, NULL }
10768 };
10769
10770 static int
10771 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_) {
10772   offset = dissect_ber_choice(actx, tree, tvb, offset,
10773                                  qsig_mcr_CallType_choice, hf_index, ett_qsig_mcr_CallType,
10774                                  NULL);
10775
10776   return offset;
10777 }
10778
10779
10780
10781 static int
10782 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_) {
10783   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
10784
10785   return offset;
10786 }
10787
10788
10789 static const value_string qsig_mcr_CorrelationReason_vals[] = {
10790   {   0, "unknown" },
10791   {   1, "mCACommunication" },
10792   {   2, "cTIApplication" },
10793   { 0, NULL }
10794 };
10795
10796
10797 static int
10798 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_) {
10799   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10800                                                 NULL);
10801
10802   return offset;
10803 }
10804
10805
10806 static const ber_sequence_t qsig_mcr_Correlation_sequence[] = {
10807   { &hf_qsig_mcr_correlationData, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
10808   { &hf_qsig_mcr_correlationReason, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_CorrelationReason },
10809   { NULL, 0, 0, 0, NULL }
10810 };
10811
10812 static int
10813 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_) {
10814   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10815                                    qsig_mcr_Correlation_sequence, hf_index, ett_qsig_mcr_Correlation);
10816
10817   return offset;
10818 }
10819
10820
10821 static const ber_sequence_t qsig_mcr_SEQUENCE_OF_Extension_sequence_of[1] = {
10822   { &hf_qsig_mcr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10823 };
10824
10825 static int
10826 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_) {
10827   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10828                                       qsig_mcr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcr_SEQUENCE_OF_Extension);
10829
10830   return offset;
10831 }
10832
10833
10834 static const value_string qsig_mcr_MCRExtensions_vals[] = {
10835   {   0, "none" },
10836   {   1, "single" },
10837   {   2, "multiple" },
10838   { 0, NULL }
10839 };
10840
10841 static const ber_choice_t qsig_mcr_MCRExtensions_choice[] = {
10842   {   0, &hf_qsig_mcr_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10843   {   1, &hf_qsig_mcr_single     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10844   {   2, &hf_qsig_mcr_multiple   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcr_SEQUENCE_OF_Extension },
10845   { 0, NULL, 0, 0, 0, NULL }
10846 };
10847
10848 static int
10849 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_) {
10850   offset = dissect_ber_choice(actx, tree, tvb, offset,
10851                                  qsig_mcr_MCRExtensions_choice, hf_index, ett_qsig_mcr_MCRExtensions,
10852                                  NULL);
10853
10854   return offset;
10855 }
10856
10857
10858 static const ber_sequence_t qsig_mcr_MCRequestArg_sequence[] = {
10859   { &hf_qsig_mcr_callType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_CallType },
10860   { &hf_qsig_mcr_retainOrigCall, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_BOOLEAN },
10861   { &hf_qsig_mcr_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
10862   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10863   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10864   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10865   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10866   { NULL, 0, 0, 0, NULL }
10867 };
10868
10869 static int
10870 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_) {
10871   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10872                                    qsig_mcr_MCRequestArg_sequence, hf_index, ett_qsig_mcr_MCRequestArg);
10873
10874   return offset;
10875 }
10876
10877
10878 static const ber_sequence_t qsig_mcr_MCRequestResult_sequence[] = {
10879   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10880   { NULL, 0, 0, 0, NULL }
10881 };
10882
10883 static int
10884 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_) {
10885   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10886                                    qsig_mcr_MCRequestResult_sequence, hf_index, ett_qsig_mcr_MCRequestResult);
10887
10888   return offset;
10889 }
10890
10891
10892 static const ber_sequence_t qsig_mcr_MCInformArg_sequence[] = {
10893   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10894   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10895   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10896   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10897   { NULL, 0, 0, 0, NULL }
10898 };
10899
10900 static int
10901 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_) {
10902   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10903                                    qsig_mcr_MCInformArg_sequence, hf_index, ett_qsig_mcr_MCInformArg);
10904
10905   return offset;
10906 }
10907
10908
10909 static const ber_sequence_t qsig_mcr_MCAlertingArg_sequence[] = {
10910   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10911   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10912   { NULL, 0, 0, 0, NULL }
10913 };
10914
10915 static int
10916 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_) {
10917   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10918                                    qsig_mcr_MCAlertingArg_sequence, hf_index, ett_qsig_mcr_MCAlertingArg);
10919
10920   return offset;
10921 }
10922
10923 /*--- PDUs ---*/
10924
10925 static int dissect_qsig_mcr_MCRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10926   int offset = 0;
10927   asn1_ctx_t asn1_ctx;
10928   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10929   offset = dissect_qsig_mcr_MCRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU);
10930   return offset;
10931 }
10932 static int dissect_qsig_mcr_MCRequestResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10933   int offset = 0;
10934   asn1_ctx_t asn1_ctx;
10935   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10936   offset = dissect_qsig_mcr_MCRequestResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU);
10937   return offset;
10938 }
10939 static int dissect_qsig_mcr_MCInformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10940   int offset = 0;
10941   asn1_ctx_t asn1_ctx;
10942   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10943   offset = dissect_qsig_mcr_MCInformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCInformArg_PDU);
10944   return offset;
10945 }
10946 static int dissect_qsig_mcr_MCAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10947   int offset = 0;
10948   asn1_ctx_t asn1_ctx;
10949   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10950   offset = dissect_qsig_mcr_MCAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU);
10951   return offset;
10952 }
10953 static int dissect_qsig_mcr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
10954   int offset = 0;
10955   asn1_ctx_t asn1_ctx;
10956   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10957   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_Extension_PDU);
10958   return offset;
10959 }
10960
10961
10962 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
10963
10964
10965
10966 static int
10967 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_) {
10968   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10969                                                 NULL);
10970
10971   return offset;
10972 }
10973
10974
10975
10976 static int
10977 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_) {
10978   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
10979                                             actx, tree, tvb, offset, hf_index,
10980                                             NULL);
10981
10982   return offset;
10983 }
10984
10985
10986 static const value_string qsig_mcm_MsgCentreId_vals[] = {
10987   {   0, "integer" },
10988   {   1, "partyNumber" },
10989   {   2, "numericString" },
10990   { 0, NULL }
10991 };
10992
10993 static const ber_choice_t qsig_mcm_MsgCentreId_choice[] = {
10994   {   0, &hf_qsig_mcm_integer    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_65535 },
10995   {   1, &hf_qsig_mcm_partyNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PartyNumber },
10996   {   2, &hf_qsig_mcm_numericString, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NumericString_SIZE_1_10 },
10997   { 0, NULL, 0, 0, 0, NULL }
10998 };
10999
11000 static int
11001 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_) {
11002   offset = dissect_ber_choice(actx, tree, tvb, offset,
11003                                  qsig_mcm_MsgCentreId_choice, hf_index, ett_qsig_mcm_MsgCentreId,
11004                                  NULL);
11005
11006   return offset;
11007 }
11008
11009
11010 static const ber_sequence_t qsig_mcm_PartyInfo_sequence[] = {
11011   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11012   { &hf_qsig_mcm_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11013   { NULL, 0, 0, 0, NULL }
11014 };
11015
11016 static int
11017 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_) {
11018   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11019                                    qsig_mcm_PartyInfo_sequence, hf_index, ett_qsig_mcm_PartyInfo);
11020
11021   return offset;
11022 }
11023
11024
11025 static const value_string qsig_mcm_MessageType_vals[] = {
11026   {   0, "allServices" },
11027   {   1, "speech" },
11028   {   2, "unrestrictedDigitalInformation" },
11029   {   3, "audio3100Hz" },
11030   {  32, "telephony" },
11031   {  33, "teletex" },
11032   {  34, "telefaxGroup4Class1" },
11033   {  35, "videotextSyntaxBased" },
11034   {  36, "videotelephony" },
11035   {  37, "telefaxGroup2-3" },
11036   {  38, "reservedNotUsed1" },
11037   {  39, "reservedNotUsed2" },
11038   {  40, "reservedNotUsed3" },
11039   {  41, "reservedNotUsed4" },
11040   {  42, "reservedNotUsed5" },
11041   {  51, "email" },
11042   {  52, "video" },
11043   {  53, "fileTransfer" },
11044   {  54, "shortMessageService" },
11045   {  55, "speechAndVideo" },
11046   {  56, "speechAndFax" },
11047   {  57, "speechAndEmail" },
11048   {  58, "videoAndFax" },
11049   {  59, "videoAndEmail" },
11050   {  60, "faxAndEmail" },
11051   {  61, "speechVideoAndFax" },
11052   {  62, "speechVideoAndEmail" },
11053   {  63, "speechFaxAndEmail" },
11054   {  64, "videoFaxAndEmail" },
11055   {  65, "speechVideoFaxAndEmail" },
11056   {  66, "multimediaUnknown" },
11057   {  67, "serviceUnknown" },
11058   {  68, "futureReserve1" },
11059   {  69, "futureReserve2" },
11060   {  70, "futureReserve3" },
11061   {  71, "futureReserve4" },
11062   {  72, "futureReserve5" },
11063   {  73, "futureReserve6" },
11064   {  74, "futureReserve7" },
11065   {  75, "futureReserve8" },
11066   { 0, NULL }
11067 };
11068
11069
11070 static int
11071 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_) {
11072   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11073                                   NULL);
11074
11075   return offset;
11076 }
11077
11078
11079
11080 static int
11081 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_) {
11082   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11083                                                 NULL);
11084
11085   return offset;
11086 }
11087
11088
11089 static const ber_sequence_t qsig_mcm_MailboxFullPar_sequence[] = {
11090   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11091   { &hf_qsig_mcm_capacityReached, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_INTEGER_0_100 },
11092   { NULL, 0, 0, 0, NULL }
11093 };
11094
11095 static int
11096 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_) {
11097   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11098                                    qsig_mcm_MailboxFullPar_sequence, hf_index, ett_qsig_mcm_MailboxFullPar);
11099
11100   return offset;
11101 }
11102
11103
11104 static const ber_sequence_t qsig_mcm_MailboxFullFor_sequence_of[1] = {
11105   { &hf_qsig_mcm_MailboxFullFor_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullPar },
11106 };
11107
11108 static int
11109 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_) {
11110   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11111                                       qsig_mcm_MailboxFullFor_sequence_of, hf_index, ett_qsig_mcm_MailboxFullFor);
11112
11113   return offset;
11114 }
11115
11116
11117
11118 static int
11119 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_) {
11120   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11121
11122   return offset;
11123 }
11124
11125
11126 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_Extension_sequence_of[1] = {
11127   { &hf_qsig_mcm_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11128 };
11129
11130 static int
11131 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_) {
11132   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11133                                       qsig_mcm_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_Extension);
11134
11135   return offset;
11136 }
11137
11138
11139 static const value_string qsig_mcm_MCMExtensions_vals[] = {
11140   {   0, "none" },
11141   {   1, "extension" },
11142   {   2, "multipleExtension" },
11143   { 0, NULL }
11144 };
11145
11146 static const ber_choice_t qsig_mcm_MCMExtensions_choice[] = {
11147   {   0, &hf_qsig_mcm_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11148   {   1, &hf_qsig_mcm_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11149   {   2, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11150   { 0, NULL, 0, 0, 0, NULL }
11151 };
11152
11153 static int
11154 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_) {
11155   offset = dissect_ber_choice(actx, tree, tvb, offset,
11156                                  qsig_mcm_MCMExtensions_choice, hf_index, ett_qsig_mcm_MCMExtensions,
11157                                  NULL);
11158
11159   return offset;
11160 }
11161
11162
11163 static const ber_sequence_t qsig_mcm_MCMailboxFullArg_sequence[] = {
11164   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11165   { &hf_qsig_mcm_mailboxFullFor, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullFor },
11166   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11167   { NULL, 0, 0, 0, NULL }
11168 };
11169
11170 static int
11171 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_) {
11172   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11173                                    qsig_mcm_MCMailboxFullArg_sequence, hf_index, ett_qsig_mcm_MCMailboxFullArg);
11174
11175   return offset;
11176 }
11177
11178
11179 static const value_string qsig_mcm_MCMMode_vals[] = {
11180   {   0, "compressed" },
11181   {   1, "complete" },
11182   { 0, NULL }
11183 };
11184
11185
11186 static int
11187 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_) {
11188   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11189                                                 NULL);
11190
11191   return offset;
11192 }
11193
11194
11195 static const ber_sequence_t qsig_mcm_MCMServiceInfo_sequence[] = {
11196   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11197   { &hf_qsig_mcm_mCMModeNew , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11198   { &hf_qsig_mcm_mCMModeRetrieved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11199   { NULL, 0, 0, 0, NULL }
11200 };
11201
11202 static int
11203 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_) {
11204   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11205                                    qsig_mcm_MCMServiceInfo_sequence, hf_index, ett_qsig_mcm_MCMServiceInfo);
11206
11207   return offset;
11208 }
11209
11210
11211 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of[1] = {
11212   { &hf_qsig_mcm_activateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMServiceInfo },
11213 };
11214
11215 static int
11216 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_) {
11217   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11218                                       qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo);
11219
11220   return offset;
11221 }
11222
11223
11224 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MessageType_sequence_of[1] = {
11225   { &hf_qsig_mcm_deactivateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11226 };
11227
11228 static int
11229 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_) {
11230   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11231                                       qsig_mcm_SEQUENCE_OF_MessageType_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MessageType);
11232
11233   return offset;
11234 }
11235
11236
11237 static const value_string qsig_mcm_MCMChange_vals[] = {
11238   {   0, "activateMCM" },
11239   {   1, "deactivateMCM" },
11240   {   2, "setToDefaultValues" },
11241   { 0, NULL }
11242 };
11243
11244 static const ber_choice_t qsig_mcm_MCMChange_choice[] = {
11245   {   0, &hf_qsig_mcm_activateMCM, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11246   {   1, &hf_qsig_mcm_deactivateMCM, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11247   {   2, &hf_qsig_mcm_setToDefaultValues, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11248   { 0, NULL, 0, 0, 0, NULL }
11249 };
11250
11251 static int
11252 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_) {
11253   offset = dissect_ber_choice(actx, tree, tvb, offset,
11254                                  qsig_mcm_MCMChange_choice, hf_index, ett_qsig_mcm_MCMChange,
11255                                  NULL);
11256
11257   return offset;
11258 }
11259
11260
11261 static const ber_sequence_t qsig_mcm_MCMServiceArg_sequence[] = {
11262   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11263   { &hf_qsig_mcm_mCMChange  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMChange },
11264   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11265   { NULL, 0, 0, 0, NULL }
11266 };
11267
11268 static int
11269 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_) {
11270   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11271                                    qsig_mcm_MCMServiceArg_sequence, hf_index, ett_qsig_mcm_MCMServiceArg);
11272
11273   return offset;
11274 }
11275
11276
11277 static const ber_sequence_t qsig_mcm_MCMInterrogateArg_sequence[] = {
11278   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11279   { &hf_qsig_mcm_interrogateInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11280   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11281   { NULL, 0, 0, 0, NULL }
11282 };
11283
11284 static int
11285 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_) {
11286   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11287                                    qsig_mcm_MCMInterrogateArg_sequence, hf_index, ett_qsig_mcm_MCMInterrogateArg);
11288
11289   return offset;
11290 }
11291
11292
11293 static const ber_sequence_t qsig_mcm_MCMInterrogateRes_sequence[] = {
11294   { &hf_qsig_mcm_interrogateResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11295   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11296   { NULL, 0, 0, 0, NULL }
11297 };
11298
11299 static int
11300 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_) {
11301   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11302                                    qsig_mcm_MCMInterrogateRes_sequence, hf_index, ett_qsig_mcm_MCMInterrogateRes);
11303
11304   return offset;
11305 }
11306
11307
11308
11309 static int
11310 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_) {
11311   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11312                                                 NULL);
11313
11314   return offset;
11315 }
11316
11317
11318
11319 static int
11320 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_) {
11321   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
11322
11323   return offset;
11324 }
11325
11326
11327
11328 static int
11329 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_) {
11330   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11331                                                 NULL);
11332
11333   return offset;
11334 }
11335
11336
11337 static const value_string qsig_mcm_MCMNewArgumentExt_vals[] = {
11338   {   6, "extension" },
11339   {   7, "multipleExtension" },
11340   { 0, NULL }
11341 };
11342
11343 static const ber_choice_t qsig_mcm_MCMNewArgumentExt_choice[] = {
11344   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11345   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11346   { 0, NULL, 0, 0, 0, NULL }
11347 };
11348
11349 static int
11350 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_) {
11351   offset = dissect_ber_choice(actx, tree, tvb, offset,
11352                                  qsig_mcm_MCMNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNewArgumentExt,
11353                                  NULL);
11354
11355   return offset;
11356 }
11357
11358
11359 static const ber_sequence_t qsig_mcm_MCMNewMsgArg_sequence[] = {
11360   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11361   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11362   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11363   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11364   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11365   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11366   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11367   { &hf_qsig_mcm_argumentExtMCMNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNewArgumentExt },
11368   { NULL, 0, 0, 0, NULL }
11369 };
11370
11371 static int
11372 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_) {
11373   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11374                                    qsig_mcm_MCMNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNewMsgArg);
11375
11376   return offset;
11377 }
11378
11379
11380 static const value_string qsig_mcm_MCMNoNewArgumentExt_vals[] = {
11381   {   3, "extension" },
11382   {   4, "multipleExtension" },
11383   { 0, NULL }
11384 };
11385
11386 static const ber_choice_t qsig_mcm_MCMNoNewArgumentExt_choice[] = {
11387   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11388   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11389   { 0, NULL, 0, 0, 0, NULL }
11390 };
11391
11392 static int
11393 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_) {
11394   offset = dissect_ber_choice(actx, tree, tvb, offset,
11395                                  qsig_mcm_MCMNoNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNoNewArgumentExt,
11396                                  NULL);
11397
11398   return offset;
11399 }
11400
11401
11402 static const ber_sequence_t qsig_mcm_MCMNoNewMsgArg_sequence[] = {
11403   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11404   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11405   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11406   { &hf_qsig_mcm_argumentExtMCMNoNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNoNewArgumentExt },
11407   { NULL, 0, 0, 0, NULL }
11408 };
11409
11410 static int
11411 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_) {
11412   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11413                                    qsig_mcm_MCMNoNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNoNewMsgArg);
11414
11415   return offset;
11416 }
11417
11418
11419
11420 static int
11421 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_) {
11422   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11423                                                 NULL);
11424
11425   return offset;
11426 }
11427
11428
11429 static const ber_sequence_t qsig_mcm_AddressHeader_sequence[] = {
11430   { &hf_qsig_mcm_originatorNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11431   { &hf_qsig_mcm_timeStamp  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_TimeStamp },
11432   { &hf_qsig_mcm_ahpriority , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_Priority },
11433   { NULL, 0, 0, 0, NULL }
11434 };
11435
11436 static int
11437 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_) {
11438   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11439                                    qsig_mcm_AddressHeader_sequence, hf_index, ett_qsig_mcm_AddressHeader);
11440
11441   return offset;
11442 }
11443
11444
11445 static const ber_sequence_t qsig_mcm_CompleteInfo_sequence_of[1] = {
11446   { &hf_qsig_mcm_CompleteInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AddressHeader },
11447 };
11448
11449 static int
11450 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_) {
11451   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11452                                       qsig_mcm_CompleteInfo_sequence_of, hf_index, ett_qsig_mcm_CompleteInfo);
11453
11454   return offset;
11455 }
11456
11457
11458 static const ber_sequence_t qsig_mcm_CompressedInfo_sequence[] = {
11459   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NrOfMessages },
11460   { &hf_qsig_mcm_lastTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11461   { &hf_qsig_mcm_highestPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_Priority },
11462   { NULL, 0, 0, 0, NULL }
11463 };
11464
11465 static int
11466 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_) {
11467   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11468                                    qsig_mcm_CompressedInfo_sequence, hf_index, ett_qsig_mcm_CompressedInfo);
11469
11470   return offset;
11471 }
11472
11473
11474 static const value_string qsig_mcm_MessageInfo_vals[] = {
11475   {   0, "completeInfo" },
11476   {   1, "compressedInfo" },
11477   {   2, "noMsgsOfMsgType" },
11478   { 0, NULL }
11479 };
11480
11481 static const ber_choice_t qsig_mcm_MessageInfo_choice[] = {
11482   {   0, &hf_qsig_mcm_completeInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompleteInfo },
11483   {   1, &hf_qsig_mcm_compressedInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompressedInfo },
11484   {   2, &hf_qsig_mcm_noMsgsOfMsgType, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11485   { 0, NULL, 0, 0, 0, NULL }
11486 };
11487
11488 static int
11489 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_) {
11490   offset = dissect_ber_choice(actx, tree, tvb, offset,
11491                                  qsig_mcm_MessageInfo_choice, hf_index, ett_qsig_mcm_MessageInfo,
11492                                  NULL);
11493
11494   return offset;
11495 }
11496
11497
11498 static const ber_sequence_t qsig_mcm_AllMsgInfo_sequence[] = {
11499   { &hf_qsig_mcm_newMsgInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11500   { &hf_qsig_mcm_retrievedMsgInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11501   { NULL, 0, 0, 0, NULL }
11502 };
11503
11504 static int
11505 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_) {
11506   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11507                                    qsig_mcm_AllMsgInfo_sequence, hf_index, ett_qsig_mcm_AllMsgInfo);
11508
11509   return offset;
11510 }
11511
11512
11513 static const value_string qsig_mcm_UpdateInfo_vals[] = {
11514   {   0, "newMsgInfoOnly" },
11515   {   1, "retrievedMsgInfoOnly" },
11516   {   2, "allMsgInfo" },
11517   { 0, NULL }
11518 };
11519
11520 static const ber_choice_t qsig_mcm_UpdateInfo_choice[] = {
11521   {   0, &hf_qsig_mcm_newMsgInfoOnly, BER_CLASS_CON, 1, 0, dissect_qsig_mcm_MessageInfo },
11522   {   1, &hf_qsig_mcm_retrievedMsgInfoOnly, BER_CLASS_CON, 2, 0, dissect_qsig_mcm_MessageInfo },
11523   {   2, &hf_qsig_mcm_allMsgInfo , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AllMsgInfo },
11524   { 0, NULL, 0, 0, 0, NULL }
11525 };
11526
11527 static int
11528 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_) {
11529   offset = dissect_ber_choice(actx, tree, tvb, offset,
11530                                  qsig_mcm_UpdateInfo_choice, hf_index, ett_qsig_mcm_UpdateInfo,
11531                                  NULL);
11532
11533   return offset;
11534 }
11535
11536
11537
11538 static int
11539 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_) {
11540   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
11541
11542   return offset;
11543 }
11544
11545
11546 static const ber_sequence_t qsig_mcm_MCMUpdateArg_sequence[] = {
11547   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11548   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11549   { &hf_qsig_mcm_updateInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_UpdateInfo },
11550   { &hf_qsig_mcm_moreInfoFollows, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_BOOLEAN },
11551   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11552   { NULL, 0, 0, 0, NULL }
11553 };
11554
11555 static int
11556 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_) {
11557   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11558                                    qsig_mcm_MCMUpdateArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateArg);
11559
11560   return offset;
11561 }
11562
11563
11564 static const value_string qsig_mcm_MCMUpdArgArgumentExt_vals[] = {
11565   {   3, "extension" },
11566   {   4, "multipleExtension" },
11567   { 0, NULL }
11568 };
11569
11570 static const ber_choice_t qsig_mcm_MCMUpdArgArgumentExt_choice[] = {
11571   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11572   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11573   { 0, NULL, 0, 0, 0, NULL }
11574 };
11575
11576 static int
11577 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_) {
11578   offset = dissect_ber_choice(actx, tree, tvb, offset,
11579                                  qsig_mcm_MCMUpdArgArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdArgArgumentExt,
11580                                  NULL);
11581
11582   return offset;
11583 }
11584
11585
11586 static const ber_sequence_t qsig_mcm_MCMUpdateReqArg_sequence[] = {
11587   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11588   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11589   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11590   { &hf_qsig_mcm_argumentExtMCMUpdArg, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdArgArgumentExt },
11591   { NULL, 0, 0, 0, NULL }
11592 };
11593
11594 static int
11595 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_) {
11596   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11597                                    qsig_mcm_MCMUpdateReqArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqArg);
11598
11599   return offset;
11600 }
11601
11602
11603 static const value_string qsig_mcm_MCMUpdResArgumentExt_vals[] = {
11604   {   6, "extension" },
11605   {   7, "multipleExtension" },
11606   { 0, NULL }
11607 };
11608
11609 static const ber_choice_t qsig_mcm_MCMUpdResArgumentExt_choice[] = {
11610   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11611   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11612   { 0, NULL, 0, 0, 0, NULL }
11613 };
11614
11615 static int
11616 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_) {
11617   offset = dissect_ber_choice(actx, tree, tvb, offset,
11618                                  qsig_mcm_MCMUpdResArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdResArgumentExt,
11619                                  NULL);
11620
11621   return offset;
11622 }
11623
11624
11625 static const ber_sequence_t qsig_mcm_MCMUpdateReqResElt_sequence[] = {
11626   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11627   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11628   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11629   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11630   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11631   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11632   { &hf_qsig_mcm_argumentExtMCMUpdRes, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdResArgumentExt },
11633   { NULL, 0, 0, 0, NULL }
11634 };
11635
11636 static int
11637 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_) {
11638   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11639                                    qsig_mcm_MCMUpdateReqResElt_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqResElt);
11640
11641   return offset;
11642 }
11643
11644
11645 static const ber_sequence_t qsig_mcm_MCMUpdateReqRes_sequence_of[1] = {
11646   { &hf_qsig_mcm_MCMUpdateReqRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMUpdateReqResElt },
11647 };
11648
11649 static int
11650 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_) {
11651   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11652                                       qsig_mcm_MCMUpdateReqRes_sequence_of, hf_index, ett_qsig_mcm_MCMUpdateReqRes);
11653
11654   return offset;
11655 }
11656
11657
11658
11659 static int
11660 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_) {
11661   offset = dissect_qsig_mcm_MCMExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11662
11663   return offset;
11664 }
11665
11666 /*--- PDUs ---*/
11667
11668 static int dissect_qsig_mcm_MCMNewMsgArg_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_MCMNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU);
11673   return offset;
11674 }
11675 static int dissect_qsig_mcm_MCMDummyRes_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_MCMDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU);
11680   return offset;
11681 }
11682 static int dissect_qsig_mcm_MCMNoNewMsgArg_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_MCMNoNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU);
11687   return offset;
11688 }
11689 static int dissect_qsig_mcm_MCMUpdateArg_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_MCMUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU);
11694   return offset;
11695 }
11696 static int dissect_qsig_mcm_MCMUpdateReqArg_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_MCMUpdateReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU);
11701   return offset;
11702 }
11703 static int dissect_qsig_mcm_MCMUpdateReqRes_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_mcm_MCMUpdateReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU);
11708   return offset;
11709 }
11710 static int dissect_qsig_mcm_MCMServiceArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11711   int offset = 0;
11712   asn1_ctx_t asn1_ctx;
11713   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11714   offset = dissect_qsig_mcm_MCMServiceArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU);
11715   return offset;
11716 }
11717 static int dissect_qsig_mcm_MCMInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11718   int offset = 0;
11719   asn1_ctx_t asn1_ctx;
11720   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11721   offset = dissect_qsig_mcm_MCMInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU);
11722   return offset;
11723 }
11724 static int dissect_qsig_mcm_MCMInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11725   int offset = 0;
11726   asn1_ctx_t asn1_ctx;
11727   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11728   offset = dissect_qsig_mcm_MCMInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU);
11729   return offset;
11730 }
11731 static int dissect_qsig_mcm_MCMailboxFullArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11732   int offset = 0;
11733   asn1_ctx_t asn1_ctx;
11734   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11735   offset = dissect_qsig_mcm_MCMailboxFullArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU);
11736   return offset;
11737 }
11738 static int dissect_qsig_mcm_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11739   int offset = 0;
11740   asn1_ctx_t asn1_ctx;
11741   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11742   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_Extension_PDU);
11743   return offset;
11744 }
11745
11746
11747 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
11748
11749
11750 static const ber_sequence_t qsig_mid_PartyInfo_sequence[] = {
11751   { &hf_qsig_mid_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
11752   { &hf_qsig_mid_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11753   { &hf_qsig_mid_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MsgCentreId },
11754   { NULL, 0, 0, 0, NULL }
11755 };
11756
11757 static int
11758 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_) {
11759   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11760                                    qsig_mid_PartyInfo_sequence, hf_index, ett_qsig_mid_PartyInfo);
11761
11762   return offset;
11763 }
11764
11765
11766
11767 static int
11768 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_) {
11769   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
11770                                             actx, tree, tvb, offset, hf_index,
11771                                             NULL);
11772
11773   return offset;
11774 }
11775
11776
11777
11778 static int
11779 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_) {
11780   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
11781                                             actx, tree, tvb, offset, hf_index,
11782                                             NULL);
11783
11784   return offset;
11785 }
11786
11787
11788 static const value_string qsig_mid_String_vals[] = {
11789   {   0, "stringBmp" },
11790   {   1, "stringUtf8" },
11791   { 0, NULL }
11792 };
11793
11794 static const ber_choice_t qsig_mid_String_choice[] = {
11795   {   0, &hf_qsig_mid_stringBmp  , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_BMPString },
11796   {   1, &hf_qsig_mid_stringUtf8 , BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_UTF8String },
11797   { 0, NULL, 0, 0, 0, NULL }
11798 };
11799
11800 static int
11801 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_) {
11802   offset = dissect_ber_choice(actx, tree, tvb, offset,
11803                                  qsig_mid_String_choice, hf_index, ett_qsig_mid_String,
11804                                  NULL);
11805
11806   return offset;
11807 }
11808
11809
11810
11811 static int
11812 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_) {
11813   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11814
11815   return offset;
11816 }
11817
11818
11819 static const ber_sequence_t qsig_mid_SEQUENCE_OF_Extension_sequence_of[1] = {
11820   { &hf_qsig_mid_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11821 };
11822
11823 static int
11824 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_) {
11825   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11826                                       qsig_mid_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mid_SEQUENCE_OF_Extension);
11827
11828   return offset;
11829 }
11830
11831
11832 static const value_string qsig_mid_MIDExtensions_vals[] = {
11833   {   0, "none" },
11834   {   1, "extension" },
11835   {   2, "multipleExtension" },
11836   { 0, NULL }
11837 };
11838
11839 static const ber_choice_t qsig_mid_MIDExtensions_choice[] = {
11840   {   0, &hf_qsig_mid_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_NULL },
11841   {   1, &hf_qsig_mid_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11842   {   2, &hf_qsig_mid_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mid_SEQUENCE_OF_Extension },
11843   { 0, NULL, 0, 0, 0, NULL }
11844 };
11845
11846 static int
11847 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_) {
11848   offset = dissect_ber_choice(actx, tree, tvb, offset,
11849                                  qsig_mid_MIDExtensions_choice, hf_index, ett_qsig_mid_MIDExtensions,
11850                                  NULL);
11851
11852   return offset;
11853 }
11854
11855
11856 static const ber_sequence_t qsig_mid_MIDMailboxAuthArg_sequence[] = {
11857   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11858   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11859   { &hf_qsig_mid_mailBox    , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11860   { &hf_qsig_mid_password   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11861   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11862   { NULL, 0, 0, 0, NULL }
11863 };
11864
11865 static int
11866 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_) {
11867   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11868                                    qsig_mid_MIDMailboxAuthArg_sequence, hf_index, ett_qsig_mid_MIDMailboxAuthArg);
11869
11870   return offset;
11871 }
11872
11873
11874 static const ber_sequence_t qsig_mid_MIDMailboxIDArg_sequence[] = {
11875   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11876   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11877   { &hf_qsig_mid_mailBox    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11878   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11879   { NULL, 0, 0, 0, NULL }
11880 };
11881
11882 static int
11883 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_) {
11884   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11885                                    qsig_mid_MIDMailboxIDArg_sequence, hf_index, ett_qsig_mid_MIDMailboxIDArg);
11886
11887   return offset;
11888 }
11889
11890
11891
11892 static int
11893 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_) {
11894   offset = dissect_qsig_mid_MIDExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11895
11896   return offset;
11897 }
11898
11899 /*--- PDUs ---*/
11900
11901 static int dissect_qsig_mid_MIDMailboxAuthArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11902   int offset = 0;
11903   asn1_ctx_t asn1_ctx;
11904   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11905   offset = dissect_qsig_mid_MIDMailboxAuthArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU);
11906   return offset;
11907 }
11908 static int dissect_qsig_mid_MIDDummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11909   int offset = 0;
11910   asn1_ctx_t asn1_ctx;
11911   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11912   offset = dissect_qsig_mid_MIDDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDDummyRes_PDU);
11913   return offset;
11914 }
11915 static int dissect_qsig_mid_MIDMailboxIDArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11916   int offset = 0;
11917   asn1_ctx_t asn1_ctx;
11918   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11919   offset = dissect_qsig_mid_MIDMailboxIDArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU);
11920   return offset;
11921 }
11922 static int dissect_qsig_mid_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
11923   int offset = 0;
11924   asn1_ctx_t asn1_ctx;
11925   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11926   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_Extension_PDU);
11927   return offset;
11928 }
11929
11930
11931 /*--- End of included file: packet-qsig-fn.c ---*/
11932 #line 326 "../../asn1/qsig/packet-qsig-template.c"
11933
11934 typedef struct _qsig_op_t {
11935   gint32 opcode;
11936   new_dissector_t arg_pdu;
11937   new_dissector_t res_pdu;
11938 } qsig_op_t;
11939
11940 static const qsig_op_t qsig_op_tab[] = {
11941
11942 /*--- Included file: packet-qsig-table11.c ---*/
11943 #line 1 "../../asn1/qsig/packet-qsig-table11.c"
11944
11945 /* --- Module General-Error-List --- --- ---                                  */
11946
11947 /* Unknown or empty loop list OPERATION */
11948
11949 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
11950
11951 /* Unknown or empty loop list OPERATION */
11952
11953 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
11954
11955   /* callingName              */ {   0, dissect_qsig_na_NameArg_PDU, NULL },
11956   /* calledName               */ {   1, dissect_qsig_na_NameArg_PDU, NULL },
11957   /* connectedName            */ {   2, dissect_qsig_na_NameArg_PDU, NULL },
11958   /* busyName                 */ {   3, dissect_qsig_na_NameArg_PDU, NULL },
11959
11960 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
11961
11962   /* activateDiversionQ       */ {  15, dissect_qsig_cf_ARG_activateDiversionQ_PDU, dissect_qsig_cf_RES_activateDiversionQ_PDU },
11963   /* deactivateDiversionQ     */ {  16, dissect_qsig_cf_ARG_deactivateDiversionQ_PDU, dissect_qsig_cf_RES_deactivateDiversionQ_PDU },
11964   /* interrogateDiversionQ    */ {  17, dissect_qsig_cf_ARG_interrogateDiversionQ_PDU, dissect_qsig_cf_IntResultList_PDU },
11965   /* checkRestriction         */ {  18, dissect_qsig_cf_ARG_checkRestriction_PDU, dissect_qsig_cf_RES_checkRestriction_PDU },
11966   /* callRerouteing           */ {  19, dissect_qsig_cf_ARG_callRerouteing_PDU, dissect_qsig_cf_RES_callRerouteing_PDU },
11967   /* divertingLegInformation1 */ {  20, dissect_qsig_cf_ARG_divertingLegInformation1_PDU, NULL },
11968   /* divertingLegInformation2 */ {  21, dissect_qsig_cf_ARG_divertingLegInformation2_PDU, NULL },
11969   /* divertingLegInformation3 */ {  22, dissect_qsig_cf_ARG_divertingLegInformation3_PDU, NULL },
11970   /* cfnrDivertedLegFailed    */ {  23, dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU, NULL },
11971
11972 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
11973
11974   /* pathReplaceInvite        */ {  86, dissect_qsig_pr_DummyArg_PDU, NULL },
11975   /* pathReplacePropose       */ {   4, dissect_qsig_pr_PRProposeArg_PDU, NULL },
11976   /* pathReplaceSetup         */ {   5, dissect_qsig_pr_PRSetupArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11977   /* pathReplaceRetain        */ {   6, dissect_qsig_pr_PRRetainArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11978
11979 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
11980
11981   /* callTransferIdentify     */ {   7, dissect_qsig_ct_DummyArg_PDU, dissect_qsig_ct_CTIdentifyRes_PDU },
11982   /* callTransferAbandon      */ {   8, dissect_qsig_ct_DummyArg_PDU, NULL },
11983   /* callTransferInitiate     */ {   9, dissect_qsig_ct_CTInitiateArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11984   /* callTransferSetup        */ {  10, dissect_qsig_ct_CTSetupArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11985   /* callTransferActive       */ {  11, dissect_qsig_ct_CTActiveArg_PDU, NULL },
11986   /* callTransferComplete     */ {  12, dissect_qsig_ct_CTCompleteArg_PDU, NULL },
11987   /* callTransferUpdate       */ {  13, dissect_qsig_ct_CTUpdateArg_PDU, NULL },
11988   /* subaddressTransfer       */ {  14, dissect_qsig_ct_SubaddressTransferArg_PDU, NULL },
11989
11990 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
11991
11992   /* ccbsRequest              */ {  40, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11993   /* ccnrRequest              */ {  27, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11994   /* ccCancel                 */ {  28, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11995   /* ccExecPossible           */ {  29, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11996   /* ccPathReserve            */ {  30, dissect_qsig_cc_CcExtension_PDU, dissect_qsig_cc_CcExtension_PDU },
11997   /* ccRingout                */ {  31, dissect_qsig_cc_CcExtension_PDU, NULL },
11998   /* ccSuspend                */ {  32, dissect_qsig_cc_CcExtension_PDU, NULL },
11999   /* ccResume                 */ {  33, dissect_qsig_cc_CcExtension_PDU, NULL },
12000
12001 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
12002
12003   /* pathRetain               */ {  41, dissect_qsig_co_PathRetainArg_PDU, NULL },
12004   /* serviceAvailable         */ {  42, dissect_qsig_co_ServiceAvailableArg_PDU, NULL },
12005   /* callOfferRequest         */ {  34, dissect_qsig_co_DummyArg_PDU, dissect_qsig_co_DummyRes_PDU },
12006   /* cfbOverride              */ {  49, dissect_qsig_co_DummyArg_PDU, NULL },
12007
12008 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
12009
12010   /* doNotDisturbActivateQ    */ {  35, dissect_qsig_dnd_DNDActivateArg_PDU, dissect_qsig_dnd_DNDActivateRes_PDU },
12011   /* doNotDisturbDeactivateQ  */ {  36, dissect_qsig_dnd_DNDDeactivateArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
12012   /* doNotDisturbInterrogateQ */ {  37, dissect_qsig_dnd_DNDInterrogateArg_PDU, dissect_qsig_dnd_DNDInterrogateRes_PDU },
12013   /* doNotDisturbOverrideQ    */ {  38, dissect_qsig_dnd_DNDOverrideArg_PDU, NULL },
12014   /* pathRetain               */ {  41, dissect_qsig_dnd_PathRetainArg_PDU, NULL },
12015   /* serviceAvailable         */ {  42, dissect_qsig_dnd_ServiceAvailableArg_PDU, NULL },
12016   /* doNotDisturbOvrExecuteQ  */ {  39, dissect_qsig_dnd_DummyArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
12017
12018 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
12019
12020   /* pathRetain               */ {  41, dissect_qsig_ci_PathRetainArg_PDU, NULL },
12021   /* serviceAvailable         */ {  42, dissect_qsig_ci_ServiceAvailableArg_PDU, NULL },
12022   /* callIntrusionRequest     */ {  43, dissect_qsig_ci_CIRequestArg_PDU, dissect_qsig_ci_CIRequestRes_PDU },
12023   /* callIntrusionGetCIPL     */ {  44, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_CIGetCIPLRes_PDU },
12024   /* callIntrusionForcedRelease */ {  46, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12025   /* callIntrusionIsolate     */ {  45, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12026   /* callIntrusionWOBRequest  */ {  47, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12027   /* callIntrusionCompleted   */ {  48, dissect_qsig_ci_DummyArg_PDU, NULL },
12028   /* cfbOverride              */ {  49, dissect_qsig_ci_DummyArg_PDU, NULL },
12029
12030 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
12031
12032   /* aocRate                  */ {  63, dissect_qsig_aoc_AocRateArg_PDU, NULL },
12033   /* aocInterim               */ {  62, dissect_qsig_aoc_AocInterimArg_PDU, NULL },
12034   /* aocFinal                 */ {  61, dissect_qsig_aoc_AocFinalArg_PDU, NULL },
12035   /* chargeRequest            */ {  59, dissect_qsig_aoc_ChargeRequestArg_PDU, dissect_qsig_aoc_ChargeRequestRes_PDU },
12036   /* getFinalCharge           */ {  60, dissect_qsig_aoc_DummyArg_PDU, NULL },
12037   /* aocComplete              */ {  64, dissect_qsig_aoc_AocCompleteArg_PDU, dissect_qsig_aoc_AocCompleteRes_PDU },
12038   /* aocDivChargeReq          */ {  65, dissect_qsig_aoc_AocDivChargeReqArg_PDU, NULL },
12039
12040 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12041
12042   /* recallAlerting           */ {  57, dissect_qsig_re_ReAlertingArg_PDU, NULL },
12043   /* recallAnswered           */ {  58, dissect_qsig_re_ReAnswerArg_PDU, NULL },
12044
12045 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12046
12047   /* synchronizationRequest   */ {  78, dissect_qsig_sync_SynchronizationReqArg_PDU, dissect_qsig_sync_SynchronizationReqRes_PDU },
12048   /* synchronizationInfo      */ {  79, dissect_qsig_sync_SynchronizationInfoArg_PDU, NULL },
12049
12050 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12051
12052   /* cintLegInformation1      */ {  66, dissect_qsig_cint_CintInformation1Arg_PDU, NULL },
12053   /* cintLegInformation2      */ {  67, dissect_qsig_cint_CintInformation2Arg_PDU, NULL },
12054   /* cintCondition            */ {  68, dissect_qsig_cint_CintCondArg_PDU, NULL },
12055   /* cintDisable              */ {  69, dissect_qsig_cint_CintExtension_PDU, NULL },
12056   /* cintEnable               */ {  70, dissect_qsig_cint_CintExtension_PDU, NULL },
12057
12058 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12059
12060   /* cmnRequest               */ {  84, dissect_qsig_cmn_DummyArg_PDU, dissect_qsig_cmn_CmnArg_PDU },
12061   /* cmnInform                */ {  85, dissect_qsig_cmn_CmnArg_PDU, NULL },
12062
12063 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12064
12065   /* callInterruptionRequest  */ {  87, dissect_qsig_cpi_CPIRequestArg_PDU, NULL },
12066   /* callProtectionRequest    */ {  88, dissect_qsig_cpi_CPIPRequestArg_PDU, NULL },
12067
12068 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12069
12070   /* pumRegistr               */ {  89, dissect_qsig_pumr_PumRegistrArg_PDU, dissect_qsig_pumr_PumRegistrRes_PDU },
12071   /* pumDelReg                */ {  90, dissect_qsig_pumr_PumDelRegArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12072   /* pumDe-reg                */ {  91, dissect_qsig_pumr_PumDe_regArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12073   /* pumInterrog              */ {  92, dissect_qsig_pumr_PumInterrogArg_PDU, dissect_qsig_pumr_PumInterrogRes_PDU },
12074
12075 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12076
12077   /* pumiEnquiry              */ {  93, dissect_qsig_pumch_EnquiryArg_PDU, dissect_qsig_pumch_EnquiryRes_PDU },
12078   /* pumiDivert               */ {  94, dissect_qsig_pumch_DivertArg_PDU, dissect_qsig_pumch_DummyRes_PDU },
12079   /* pumiInform               */ {  95, dissect_qsig_pumch_InformArg_PDU, NULL },
12080   /* pumoCall                 */ {  96, dissect_qsig_pumch_PumoArg_PDU, NULL },
12081
12082 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12083
12084   /* ssctInitiate             */ {  99, dissect_qsig_ssct_SSCTInitiateArg_PDU, dissect_qsig_ssct_DummyRes_PDU },
12085   /* ssctSetup                */ { 100, dissect_qsig_ssct_SSCTSetupArg_PDU, NULL },
12086   /* ssctPostDial             */ { 101, dissect_qsig_ssct_DummyArg_PDU, NULL },
12087   /* ssctDigitInfo            */ { 102, dissect_qsig_ssct_SSCTDigitInfoArg_PDU, NULL },
12088
12089 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12090
12091   /* locUpdate                */ {  50, dissect_qsig_wtmlr_LocUpdArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12092   /* locDelete                */ {  51, dissect_qsig_wtmlr_LocDelArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12093   /* locDeReg                 */ {  52, dissect_qsig_wtmlr_LocDeRegArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12094   /* pisnEnquiry              */ {  53, dissect_qsig_wtmlr_PisnEnqArg_PDU, dissect_qsig_wtmlr_PisnEnqRes_PDU },
12095   /* getRRCInf                */ {  97, dissect_qsig_wtmlr_GetRRCInfArg_PDU, dissect_qsig_wtmlr_GetRRCInfRes_PDU },
12096   /* locInfoCheck             */ {  98, dissect_qsig_wtmlr_LocInfoCheckArg_PDU, dissect_qsig_wtmlr_LocInfoCheckRes_PDU },
12097
12098 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12099
12100   /* wtmiEnquiry              */ {  54, dissect_qsig_wtmch_EnquiryArg_PDU, dissect_qsig_wtmch_EnquiryRes_PDU },
12101   /* wtmiDivert               */ {  55, dissect_qsig_wtmch_DivertArg_PDU, dissect_qsig_wtmch_DummyRes_PDU },
12102   /* wtmiInform               */ {  56, dissect_qsig_wtmch_InformArg_PDU, NULL },
12103   /* wtmoCall                 */ {  71, dissect_qsig_wtmch_WtmoArg_PDU, NULL },
12104
12105 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12106
12107   /* authWtmUser              */ {  72, dissect_qsig_wtmau_AuthWtmArg_PDU, dissect_qsig_wtmau_AuthWtmRes_PDU },
12108   /* getWtatParam             */ {  73, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12109   /* wtatParamEnq             */ {  74, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12110   /* getWtanParam             */ {  75, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12111   /* wtanParamEnq             */ {  76, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12112   /* transferAuthParam        */ {  77, dissect_qsig_wtmau_ARG_transferAuthParam_PDU, NULL },
12113
12114 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12115
12116   /* display                  */ { 103, dissect_qsig_sd_DisplayArg_PDU, NULL },
12117   /* keypad                   */ { 104, dissect_qsig_sd_KeypadArg_PDU, NULL },
12118
12119 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12120
12121   /* callIdentificationAssign */ { 105, dissect_qsig_cidl_CallIdentificationAssignArg_PDU, NULL },
12122   /* callIdentificationUpdate */ { 106, dissect_qsig_cidl_CallIdentificationUpdateArg_PDU, NULL },
12123
12124 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12125
12126   /* smsSubmit                */ { 107, dissect_qsig_sms_SmsSubmitArg_PDU, dissect_qsig_sms_SmsSubmitRes_PDU },
12127   /* smsDeliver               */ { 108, dissect_qsig_sms_SmsDeliverArg_PDU, dissect_qsig_sms_SmsDeliverRes_PDU },
12128   /* smsStatusReport          */ { 109, dissect_qsig_sms_SmsStatusReportArg_PDU, dissect_qsig_sms_SmsStatusReportRes_PDU },
12129   /* smsCommand               */ { 110, dissect_qsig_sms_SmsCommandArg_PDU, dissect_qsig_sms_SmsCommandRes_PDU },
12130   /* scAlert                  */ { 111, dissect_qsig_sms_ScAlertArg_PDU, dissect_qsig_sms_DummyRes_PDU },
12131
12132 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12133
12134   /* mCRequest                */ { 112, dissect_qsig_mcr_MCRequestArg_PDU, dissect_qsig_mcr_MCRequestResult_PDU },
12135   /* mCInform                 */ { 113, dissect_qsig_mcr_MCInformArg_PDU, NULL },
12136   /* mCAlerting               */ { 114, dissect_qsig_mcr_MCAlertingArg_PDU, NULL },
12137
12138 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12139
12140   /* mCMNewMsg                */ {  80, dissect_qsig_mcm_MCMNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12141   /* mCMNoNewMsg              */ {  81, dissect_qsig_mcm_MCMNoNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12142   /* mCMUpdate                */ { 115, dissect_qsig_mcm_MCMUpdateArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12143   /* mCMUpdateReq             */ {  82, dissect_qsig_mcm_MCMUpdateReqArg_PDU, dissect_qsig_mcm_MCMUpdateReqRes_PDU },
12144   /* mCMService               */ { 116, dissect_qsig_mcm_MCMServiceArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12145   /* mCMInterrogate           */ { 117, dissect_qsig_mcm_MCMInterrogateArg_PDU, dissect_qsig_mcm_MCMInterrogateRes_PDU },
12146   /* mCMailboxFull            */ { 118, dissect_qsig_mcm_MCMailboxFullArg_PDU, NULL },
12147
12148 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12149
12150   /* mIDMailboxAuth           */ { 119, dissect_qsig_mid_MIDMailboxAuthArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12151   /* mIDMailboxID             */ { 120, dissect_qsig_mid_MIDMailboxIDArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12152
12153 /*--- End of included file: packet-qsig-table11.c ---*/
12154 #line 335 "../../asn1/qsig/packet-qsig-template.c"
12155 };
12156
12157 typedef struct _qsig_err_t {
12158   gint32 errcode;
12159   new_dissector_t err_pdu;
12160 } qsig_err_t;
12161
12162 static const qsig_err_t qsig_err_tab[] = {
12163
12164 /*--- Included file: packet-qsig-table21.c ---*/
12165 #line 1 "../../asn1/qsig/packet-qsig-table21.c"
12166
12167 /* --- Module General-Error-List --- --- ---                                  */
12168
12169   /* userNotSubscribed        */ {    0, NULL },
12170   /* rejectedByNetwork        */ {    1, NULL },
12171   /* rejectedByUser           */ {    2, NULL },
12172   /* notAvailable             */ {    3, NULL },
12173   /* insufficientInformation  */ {    5, NULL },
12174   /* invalidServedUserNr      */ {    6, NULL },
12175   /* invalidCallState         */ {    7, NULL },
12176   /* basicServiceNotProvided  */ {    8, NULL },
12177   /* notIncomingCall          */ {    9, NULL },
12178   /* supplementaryServiceInteractionNotAllowed */ {   10, NULL },
12179   /* resourceUnavailable      */ {   11, NULL },
12180   /* callFailure              */ {   25, NULL },
12181   /* proceduralError          */ {   43, NULL },
12182
12183 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12184
12185 /* Unknown or empty loop list ERROR */
12186
12187 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12188
12189 /* Unknown or empty loop list ERROR */
12190
12191 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12192
12193   /* invalidDivertedToNr      */ {   12, NULL },
12194   /* specialServiceNr         */ {   14, NULL },
12195   /* diversionToServedUserNr  */ {   15, NULL },
12196   /* numberOfDiversionsExceeded */ {   24, NULL },
12197   /* temporarilyUnavailable   */ { 1000, NULL },
12198   /* notAuthorized            */ { 1007, NULL },
12199   /* unspecified              */ { 1008, dissect_qsig_cf_Extension_PDU },
12200
12201 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
12202
12203   /* temporarilyUnavailable   */ { 1000, NULL },
12204   /* collision                */ { 1001, NULL },
12205   /* criteriaPermanentlyUnachievable */ { 1002, NULL },
12206   /* criteriaTemporarilyUnachievable */ { 1003, NULL },
12207   /* invalidRerouteingNumber  */ { 1004, NULL },
12208   /* unrecognizedCallIdentity */ { 1005, NULL },
12209   /* establishmentFailure     */ { 1006, NULL },
12210   /* unspecified              */ { 1008, dissect_qsig_pr_Extension_PDU },
12211
12212 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
12213
12214   /* unspecified              */ { 1008, dissect_qsig_ct_Extension_PDU },
12215   /* invalidRerouteingNumber  */ { 1004, NULL },
12216   /* unrecognizedCallIdentity */ { 1005, NULL },
12217   /* establishmentFailure     */ { 1006, NULL },
12218
12219 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
12220
12221   /* unspecified              */ { 1008, dissect_qsig_cc_Extension_PDU },
12222   /* shortTermRejection       */ { 1010, NULL },
12223   /* longTermRejection        */ { 1011, NULL },
12224   /* remoteUserBusyAgain      */ { 1012, NULL },
12225   /* failureToMatch           */ { 1013, NULL },
12226   /* failedDueToInterworking  */ { 1014, NULL },
12227
12228 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
12229
12230   /* notBusy                  */ { 1009, NULL },
12231   /* temporarilyUnavailable   */ { 1000, NULL },
12232   /* unspecified              */ { 1008, dissect_qsig_co_Extension_PDU },
12233
12234 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
12235
12236   /* temporarilyUnavailable   */ { 1000, NULL },
12237   /* notActivated             */ {   43, NULL },
12238   /* unspecified              */ { 1008, dissect_qsig_dnd_Extension_PDU },
12239
12240 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
12241
12242   /* notBusy                  */ { 1009, NULL },
12243   /* temporarilyUnavailable   */ { 1000, NULL },
12244   /* notAuthorized            */ { 1007, NULL },
12245   /* unspecified              */ { 1008, dissect_qsig_ci_Extension_PDU },
12246
12247 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
12248
12249   /* unspecified              */ { 1008, dissect_qsig_aoc_Extension_PDU },
12250   /* freeOfCharge             */ { 1016, NULL },
12251
12252 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12253
12254 /* Unknown or empty loop list ERROR */
12255
12256 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12257
12258   /* unspecified              */ { 1008, dissect_qsig_sync_Extension_PDU },
12259
12260 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12261
12262 /* Unknown or empty loop list ERROR */
12263
12264 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12265
12266 /* Unknown or empty loop list ERROR */
12267
12268 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12269
12270 /* Unknown or empty loop list ERROR */
12271
12272 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12273
12274   /* unspecified              */ { 1008, dissect_qsig_pumr_Extension_PDU },
12275   /* notAuthorized            */ { 1007, NULL },
12276   /* temporarilyUnavailable   */ { 1000, NULL },
12277   /* pumUserNotSubscribedToThisServiceOpt */ { 1019, NULL },
12278   /* pumUserFailedAuthentication */ { 1020, NULL },
12279   /* hostingAddrInvalid       */ { 1021, NULL },
12280   /* pumUserNotRegistered     */ { 1022, NULL },
12281
12282 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12283
12284   /* locationNotKnown         */ { 1015, NULL },
12285   /* unspecified              */ { 1008, dissect_qsig_pumch_Extension_PDU },
12286
12287 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12288
12289   /* unspecified              */ { 1008, dissect_qsig_ssct_Extension_PDU },
12290
12291 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12292
12293   /* notAuthorized            */ { 1007, NULL },
12294   /* temporarilyUnavailable   */ { 1000, NULL },
12295   /* unspecified              */ { 1008, dissect_qsig_wtmlr_Extension_PDU },
12296
12297 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12298
12299   /* unspecified              */ { 1008, dissect_qsig_wtmch_Extension_PDU },
12300   /* locationNotKnown         */ { 1015, NULL },
12301
12302 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12303
12304   /* notAuthorized            */ { 1007, NULL },
12305   /* paramNotAvailable        */ { 1017, NULL },
12306   /* temporarilyUnavailable   */ { 1000, NULL },
12307   /* unspecified              */ { 1008, dissect_qsig_wtmau_Extension_PDU },
12308
12309 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12310
12311   /* unspecified              */ { 1008, dissect_qsig_sd_Extension_PDU },
12312   /* noDisplayAvailable       */ { 1023, NULL },
12313   /* displayTemporarilyNotAvailable */ { 1024, NULL },
12314   /* notPresentable           */ { 1025, NULL },
12315
12316 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12317
12318 /* Unknown or empty loop list ERROR */
12319
12320 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12321
12322   /* smsDeliverError          */ { 1026, dissect_qsig_sms_PAR_smsDeliverError_PDU },
12323   /* smsSubmitError           */ { 1027, dissect_qsig_sms_PAR_smsSubmitError_PDU },
12324   /* smsStatusReportError     */ { 1028, dissect_qsig_sms_PAR_smsStatusReportError_PDU },
12325   /* smsCommandError          */ { 1029, dissect_qsig_sms_PAR_smsCommandError_PDU },
12326   /* unspecified              */ { 1008, dissect_qsig_sms_SmsExtension_PDU },
12327
12328 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12329
12330   /* invalidDestinationNumber */ { 1030, NULL },
12331   /* invalidCooperationNumber */ { 1031, NULL },
12332   /* mCRequestNotAllowed      */ { 1032, NULL },
12333   /* mCExecutionNotAllowed    */ { 1033, NULL },
12334   /* mCDestUserBusy           */ { 1034, NULL },
12335   /* mCCoopUserBusy           */ { 1035, NULL },
12336   /* mCCoopUserRejected       */ { 1036, NULL },
12337   /* unspecified              */ { 1008, dissect_qsig_mcr_Extension_PDU },
12338
12339 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12340
12341   /* mCMModeNotProvided       */ { 1037, NULL },
12342   /* unspecified              */ { 1008, dissect_qsig_mcm_Extension_PDU },
12343
12344 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12345
12346   /* invalidMailbox           */ { 1039, NULL },
12347   /* authorizationFailed      */ { 1040, NULL },
12348   /* unspecified              */ { 1008, dissect_qsig_mid_Extension_PDU },
12349
12350 /*--- End of included file: packet-qsig-table21.c ---*/
12351 #line 344 "../../asn1/qsig/packet-qsig-template.c"
12352 };
12353
12354 static const qsig_op_t *get_op(gint32 opcode) {
12355   int i;
12356
12357   /* search from the end to get the last occurence if the operation is redefined in some newer specification */
12358   for (i = array_length(qsig_op_tab) - 1; i >= 0; i--)
12359     if (qsig_op_tab[i].opcode == opcode)
12360       return &qsig_op_tab[i];
12361   return NULL;
12362 }
12363
12364 static gint32 get_service(gint32 opcode) {
12365   if ((opcode < 0) || (opcode >= (int)array_length(op2srv_tab)))
12366     return NO_SRV;
12367   return op2srv_tab[opcode];
12368 }
12369
12370 static const qsig_err_t *get_err(gint32 errcode) {
12371   int i;
12372
12373   /* search from the end to get the last occurence if the operation is redefined in some newer specification */
12374   for (i = array_length(qsig_err_tab) - 1; i >= 0; i--)
12375     if (qsig_err_tab[i].errcode == errcode)
12376       return &qsig_err_tab[i];
12377   return NULL;
12378 }
12379
12380 /*--- dissect_qsig_arg ------------------------------------------------------*/
12381 static int
12382 dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12383   int offset;
12384   rose_ctx_t *rctx;
12385   gint32 opcode = 0, service;
12386   const qsig_op_t *op_ptr;
12387   const gchar *p;
12388   proto_item *ti, *ti_tmp;
12389   proto_tree *qsig_tree;
12390
12391   offset = 0;
12392   rctx = get_rose_ctx(pinfo->private_data);
12393   DISSECTOR_ASSERT(rctx);
12394   if (rctx->d.pdu != 1)  /* invoke */
12395     return offset;
12396   if (rctx->d.code == 0) {  /* local */
12397     opcode = rctx->d.code_local;
12398     op_ptr = get_op(opcode);
12399   } else if (rctx->d.code == 1) {  /* global */
12400     op_ptr = g_hash_table_lookup(qsig_oid2op_hashtable, rctx->d.code_global);
12401     if (op_ptr) opcode = op_ptr->opcode;
12402   } else {
12403     return offset;
12404   }
12405   if (!op_ptr)
12406     return offset;
12407   service = get_service(opcode);
12408
12409   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
12410   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12411
12412   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12413   p = match_strval(opcode, VALS(qsig_str_operation));
12414   if (p) {
12415     proto_item_append_text(ti, ": %s", p);
12416     proto_item_append_text(rctx->d.code_item, " - %s", p);
12417     if (rctx->apdu_depth >= 0)
12418       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12419   }
12420
12421   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12422   p = match_strval(service, VALS(qsig_str_service_name));
12423   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12424
12425   if (op_ptr->arg_pdu)
12426     offset = op_ptr->arg_pdu(tvb, pinfo, qsig_tree);
12427   else
12428     if (tvb_length_remaining(tvb, offset) > 0) {
12429       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ARGUMENT TYPE (QSIG)");
12430       offset += tvb_length_remaining(tvb, offset);
12431     }
12432
12433   return offset;
12434 }
12435
12436 /*--- dissect_qsig_res -------------------------------------------------------*/
12437 static int
12438 dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12439   gint offset;
12440   rose_ctx_t *rctx;
12441   gint32 opcode, service;
12442   const qsig_op_t *op_ptr;
12443   const gchar *p;
12444   proto_item *ti, *ti_tmp;
12445   proto_tree *qsig_tree;
12446
12447   offset = 0;
12448   rctx = get_rose_ctx(pinfo->private_data);
12449   DISSECTOR_ASSERT(rctx);
12450   if (rctx->d.pdu != 2)  /* returnResult */
12451     return offset;
12452   if (rctx->d.code != 0)  /* local */
12453     return offset;
12454   opcode = rctx->d.code_local;
12455   op_ptr = get_op(opcode);
12456   if (!op_ptr)
12457     return offset;
12458   service = get_service(opcode);
12459
12460   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
12461   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12462
12463   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12464   p = match_strval(opcode, VALS(qsig_str_operation));
12465   if (p) {
12466     proto_item_append_text(ti, ": %s", p);
12467     proto_item_append_text(rctx->d.code_item, " - %s", p);
12468     if (rctx->apdu_depth >= 0)
12469       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12470   }
12471
12472   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12473   p = match_strval(service, VALS(qsig_str_service_name));
12474   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12475
12476   if (op_ptr->res_pdu)
12477     offset = op_ptr->res_pdu(tvb, pinfo, qsig_tree);
12478   else
12479     if (tvb_length_remaining(tvb, offset) > 0) {
12480       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED RESULT TYPE (QSIG)");
12481       offset += tvb_length_remaining(tvb, offset);
12482     }
12483
12484   return offset;
12485 }
12486
12487 /*--- dissect_qsig_err ------------------------------------------------------*/
12488 static int
12489 dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12490   int offset;
12491   rose_ctx_t *rctx;
12492   gint32 errcode;
12493   const qsig_err_t *err_ptr;
12494   const gchar *p;
12495   proto_item *ti;
12496   proto_tree *qsig_tree;
12497
12498   offset = 0;
12499   rctx = get_rose_ctx(pinfo->private_data);
12500   DISSECTOR_ASSERT(rctx);
12501   if (rctx->d.pdu != 3)  /* returnError */
12502     return offset;
12503   if (rctx->d.code != 0)  /* local */
12504     return offset;
12505   errcode = rctx->d.code_local;
12506   err_ptr = get_err(errcode);
12507   if (!err_ptr)
12508     return offset;
12509
12510   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_length(tvb), FALSE);
12511   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12512
12513   proto_tree_add_uint(qsig_tree, hf_qsig_error, tvb, 0, 0, errcode);
12514   p = match_strval(errcode, VALS(qsig_str_error));
12515   if (p) {
12516     proto_item_append_text(ti, ": %s", p);
12517     proto_item_append_text(rctx->d.code_item, " - %s", p);
12518     if (rctx->apdu_depth >= 0)
12519       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12520   }
12521
12522   if (err_ptr->err_pdu)
12523     offset = err_ptr->err_pdu(tvb, pinfo, qsig_tree);
12524   else
12525     if (tvb_length_remaining(tvb, offset) > 0) {
12526       proto_tree_add_text(qsig_tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (QSIG)");
12527       offset += tvb_length_remaining(tvb, offset);
12528     }
12529
12530   return offset;
12531 }
12532
12533 /*--- dissect_qsig_transit_counter_ie ---------------------------------------*/
12534 static int
12535 dissect_qsig_transit_counter_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length  _U_) {
12536   proto_tree_add_item(tree, hf_qsig_tc, tvb, offset, 1, ENC_BIG_ENDIAN);
12537   offset++;
12538   return offset;
12539 }
12540 /*--- dissect_qsig_party_category_ie ----------------------------------------*/
12541 static int
12542 dissect_qsig_party_category_ie(tvbuff_t *tvb, int offset, packet_info *pinfo  _U_, proto_tree *tree, int length  _U_) {
12543   proto_tree_add_item(tree, hf_qsig_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
12544   offset++;
12545   return offset;
12546 }
12547
12548 /*--- dissect_qsig_ie -------------------------------------------------------*/
12549 static void
12550 dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset) {
12551   gint offset;
12552   proto_item *ti, *ti_ie, *hidden_item;
12553   proto_tree *ie_tree;
12554   guint8 ie_type, ie_len;
12555
12556   offset = 0;
12557
12558   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, -1, FALSE);
12559   PROTO_ITEM_SET_HIDDEN(ti);
12560
12561   ie_type = tvb_get_guint8(tvb, offset);
12562   ie_len = tvb_get_guint8(tvb, offset + 1);
12563
12564   ti_ie = proto_tree_add_text(tree, tvb, offset, -1, "%s",
12565             val_to_str(ie_type, VALS(qsig_str_ie_type[codeset]), "unknown (0x%02X)"));
12566   ie_tree = proto_item_add_subtree(ti_ie, ett_qsig_ie);
12567   proto_tree_add_item(ie_tree, *hf_qsig_ie_type_arr[codeset], tvb, offset, 1, FALSE);
12568   hidden_item = proto_tree_add_item(ie_tree, hf_qsig_ie_type, tvb, offset, 1, ENC_BIG_ENDIAN);
12569   PROTO_ITEM_SET_HIDDEN(hidden_item);
12570   proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, ENC_BIG_ENDIAN);
12571   offset += 2;
12572   if (tvb_length_remaining(tvb, offset) <= 0)
12573     return;
12574   switch ((codeset << 8) | ie_type) {
12575     case CS4 | QSIG_IE_TRANSIT_COUNTER :
12576       dissect_qsig_transit_counter_ie(tvb, offset, pinfo, ie_tree, ie_len);
12577       break;
12578     case CS5 | QSIG_IE_PARTY_CATEGORY :
12579       dissect_qsig_party_category_ie(tvb, offset, pinfo, ie_tree, ie_len);
12580       break;
12581     default:
12582       if (ie_len > 0) {
12583         if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, ENC_NA);
12584       }
12585   }
12586 }
12587 /*--- dissect_qsig_ie_cs4 ---------------------------------------------------*/
12588 static void
12589 dissect_qsig_ie_cs4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12590   dissect_qsig_ie(tvb, pinfo, tree, 4);
12591 }
12592 /*--- dissect_qsig_ie_cs5 ---------------------------------------------------*/
12593 static void
12594 dissect_qsig_ie_cs5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
12595   dissect_qsig_ie(tvb, pinfo, tree, 5);
12596 }
12597
12598 /*--- qsig_init_tables ---------------------------------------------------------*/
12599 static void qsig_init_tables(void) {
12600   guint i;
12601   gint opcode, *key;
12602   gchar *oid;
12603
12604   if (qsig_opcode2oid_hashtable)
12605     g_hash_table_destroy(qsig_opcode2oid_hashtable);
12606   qsig_opcode2oid_hashtable = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, g_free);
12607
12608   if (qsig_oid2op_hashtable)
12609     g_hash_table_destroy(qsig_oid2op_hashtable);
12610   qsig_oid2op_hashtable = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
12611
12612   /* fill-in global OIDs */
12613   for (i=0; i<array_length(qsig_op_tab); i++) {
12614     opcode = qsig_op_tab[i].opcode;
12615     oid = g_strdup_printf("1.3.12.9.%d", opcode);
12616     key = g_malloc(sizeof(gint));
12617     *key = opcode;
12618     g_hash_table_insert(qsig_opcode2oid_hashtable, key, oid);
12619     g_hash_table_insert(qsig_oid2op_hashtable, g_strdup(oid), (gpointer)&qsig_op_tab[i]);
12620   }
12621
12622 }
12623
12624 /*--- proto_register_qsig ---------------------------------------------------*/
12625 void proto_register_qsig(void) {
12626
12627   /* List of fields */
12628   static hf_register_info hf[] = {
12629     { &hf_qsig_operation, { "Operation", "qsig.operation",
12630                            FT_UINT8, BASE_DEC, VALS(qsig_str_operation), 0x0,
12631                            NULL, HFILL }},
12632     { &hf_qsig_service,   { "Service", "qsig.service",
12633                            FT_UINT8, BASE_DEC, VALS(qsig_str_service), 0x0,
12634                            "Supplementary Service", HFILL }},
12635     { &hf_qsig_error,     { "Error", "qsig.error",
12636                            FT_UINT8, BASE_DEC, VALS(qsig_str_error), 0x0,
12637                            NULL, HFILL }},
12638     { &hf_qsig_ie_type, { "Type", "qsig.ie.type",
12639                           FT_UINT8, BASE_HEX, NULL, 0x0,
12640                           "Information Element Type", HFILL }},
12641     { &hf_qsig_ie_type_cs4, { "Type", "qsig.ie.type.cs4",
12642                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs4), 0x0,
12643                           "Information Element Type (Codeset 4)", HFILL }},
12644     { &hf_qsig_ie_type_cs5, { "Type", "qsig.ie.type.cs5",
12645                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs5), 0x0,
12646                           "Information Element Type (Codeset 5)", HFILL }},
12647     { &hf_qsig_ie_len,  { "Length", "qsig.ie.len",
12648                           FT_UINT8, BASE_DEC, NULL, 0x0,
12649                           "Information Element Length", HFILL }},
12650     { &hf_qsig_ie_data, { "Data", "qsig.ie.data",
12651                           FT_BYTES, BASE_NONE, NULL, 0x0,
12652                           NULL, HFILL }},
12653     { &hf_qsig_tc,      { "Transit count", "qsig.tc",
12654                           FT_UINT8, BASE_DEC, NULL, 0x1F,
12655                           NULL, HFILL }},
12656     { &hf_qsig_pc,      { "Party category", "qsig.pc",
12657                           FT_UINT8, BASE_HEX, VALS(qsig_str_pc), 0x07,
12658                           NULL, HFILL }},
12659
12660 /*--- Included file: packet-qsig-hfarr.c ---*/
12661 #line 1 "../../asn1/qsig/packet-qsig-hfarr.c"
12662
12663 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12664
12665     { &hf_qsig_extensionId,
12666       { "extensionId", "qsig.extensionId",
12667         FT_OID, BASE_NONE, NULL, 0,
12668         NULL, HFILL }},
12669     { &hf_qsig_extensionArgument,
12670       { "extensionArgument", "qsig.extensionArgument",
12671         FT_NONE, BASE_NONE, NULL, 0,
12672         NULL, HFILL }},
12673     { &hf_qsig_presentationAllowedAddressS,
12674       { "presentationAllowedAddressS", "qsig.presentationAllowedAddressS",
12675         FT_NONE, BASE_NONE, NULL, 0,
12676         "AddressScreened", HFILL }},
12677     { &hf_qsig_presentationRestricted,
12678       { "presentationRestricted", "qsig.presentationRestricted",
12679         FT_NONE, BASE_NONE, NULL, 0,
12680         NULL, HFILL }},
12681     { &hf_qsig_numberNotAvailableDueToInterworking,
12682       { "numberNotAvailableDueToInterworking", "qsig.numberNotAvailableDueToInterworking",
12683         FT_NONE, BASE_NONE, NULL, 0,
12684         NULL, HFILL }},
12685     { &hf_qsig_presentationRestrictedAddressS,
12686       { "presentationRestrictedAddressS", "qsig.presentationRestrictedAddressS",
12687         FT_NONE, BASE_NONE, NULL, 0,
12688         "AddressScreened", HFILL }},
12689     { &hf_qsig_presentationAllowedAddressU,
12690       { "presentationAllowedAddressU", "qsig.presentationAllowedAddressU",
12691         FT_NONE, BASE_NONE, NULL, 0,
12692         "Address", HFILL }},
12693     { &hf_qsig_presentationRestrictedAddressU,
12694       { "presentationRestrictedAddressU", "qsig.presentationRestrictedAddressU",
12695         FT_NONE, BASE_NONE, NULL, 0,
12696         "Address", HFILL }},
12697     { &hf_qsig_presentationAllowedAddressNS,
12698       { "presentationAllowedAddressNS", "qsig.presentationAllowedAddressNS",
12699         FT_NONE, BASE_NONE, NULL, 0,
12700         "NumberScreened", HFILL }},
12701     { &hf_qsig_presentationRestrictedAddressNS,
12702       { "presentationRestrictedAddressNS", "qsig.presentationRestrictedAddressNS",
12703         FT_NONE, BASE_NONE, NULL, 0,
12704         "NumberScreened", HFILL }},
12705     { &hf_qsig_presentationAllowedAddressNU,
12706       { "presentationAllowedAddressNU", "qsig.presentationAllowedAddressNU",
12707         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12708         "PartyNumber", HFILL }},
12709     { &hf_qsig_presentationRestrictedAddressNU,
12710       { "presentationRestrictedAddressNU", "qsig.presentationRestrictedAddressNU",
12711         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12712         "PartyNumber", HFILL }},
12713     { &hf_qsig_partyNumber,
12714       { "partyNumber", "qsig.partyNumber",
12715         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12716         NULL, HFILL }},
12717     { &hf_qsig_screeningIndicator,
12718       { "screeningIndicator", "qsig.screeningIndicator",
12719         FT_UINT32, BASE_DEC, VALS(qsig_ScreeningIndicator_vals), 0,
12720         NULL, HFILL }},
12721     { &hf_qsig_partySubaddress,
12722       { "partySubaddress", "qsig.partySubaddress",
12723         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
12724         NULL, HFILL }},
12725     { &hf_qsig_unknownPartyNumber,
12726       { "unknownPartyNumber", "qsig.unknownPartyNumber",
12727         FT_STRING, BASE_NONE, NULL, 0,
12728         "NumberDigits", HFILL }},
12729     { &hf_qsig_publicPartyNumber,
12730       { "publicPartyNumber", "qsig.publicPartyNumber",
12731         FT_NONE, BASE_NONE, NULL, 0,
12732         NULL, HFILL }},
12733     { &hf_qsig_dataPartyNumber,
12734       { "dataPartyNumber", "qsig.dataPartyNumber",
12735         FT_STRING, BASE_NONE, NULL, 0,
12736         "NumberDigits", HFILL }},
12737     { &hf_qsig_telexPartyNumber,
12738       { "telexPartyNumber", "qsig.telexPartyNumber",
12739         FT_STRING, BASE_NONE, NULL, 0,
12740         "NumberDigits", HFILL }},
12741     { &hf_qsig_privatePartyNumber,
12742       { "privatePartyNumber", "qsig.privatePartyNumber",
12743         FT_NONE, BASE_NONE, NULL, 0,
12744         NULL, HFILL }},
12745     { &hf_qsig_nationalStandardPartyNumber,
12746       { "nationalStandardPartyNumber", "qsig.nationalStandardPartyNumber",
12747         FT_STRING, BASE_NONE, NULL, 0,
12748         "NumberDigits", HFILL }},
12749     { &hf_qsig_publicTypeOfNumber,
12750       { "publicTypeOfNumber", "qsig.publicTypeOfNumber",
12751         FT_UINT32, BASE_DEC, VALS(qsig_PublicTypeOfNumber_vals), 0,
12752         NULL, HFILL }},
12753     { &hf_qsig_publicNumberDigits,
12754       { "publicNumberDigits", "qsig.publicNumberDigits",
12755         FT_STRING, BASE_NONE, NULL, 0,
12756         "NumberDigits", HFILL }},
12757     { &hf_qsig_privateTypeOfNumber,
12758       { "privateTypeOfNumber", "qsig.privateTypeOfNumber",
12759         FT_UINT32, BASE_DEC, VALS(qsig_PrivateTypeOfNumber_vals), 0,
12760         NULL, HFILL }},
12761     { &hf_qsig_privateNumberDigits,
12762       { "privateNumberDigits", "qsig.privateNumberDigits",
12763         FT_STRING, BASE_NONE, NULL, 0,
12764         "NumberDigits", HFILL }},
12765     { &hf_qsig_userSpecifiedSubaddress,
12766       { "userSpecifiedSubaddress", "qsig.userSpecifiedSubaddress",
12767         FT_NONE, BASE_NONE, NULL, 0,
12768         NULL, HFILL }},
12769     { &hf_qsig_nSAPSubaddress,
12770       { "nSAPSubaddress", "qsig.nSAPSubaddress",
12771         FT_BYTES, BASE_NONE, NULL, 0,
12772         NULL, HFILL }},
12773     { &hf_qsig_subaddressInformation,
12774       { "subaddressInformation", "qsig.subaddressInformation",
12775         FT_BYTES, BASE_NONE, NULL, 0,
12776         NULL, HFILL }},
12777     { &hf_qsig_oddCountIndicator,
12778       { "oddCountIndicator", "qsig.oddCountIndicator",
12779         FT_BOOLEAN, BASE_NONE, NULL, 0,
12780         "BOOLEAN", HFILL }},
12781
12782 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12783
12784     { &hf_qsig_na_qsig_na_NameArg_PDU,
12785       { "NameArg", "qsig.na.NameArg",
12786         FT_UINT32, BASE_DEC, VALS(qsig_na_NameArg_vals), 0,
12787         NULL, HFILL }},
12788     { &hf_qsig_na_name,
12789       { "name", "qsig.na.name",
12790         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12791         NULL, HFILL }},
12792     { &hf_qsig_na_nameSequence,
12793       { "nameSequence", "qsig.na.nameSequence",
12794         FT_NONE, BASE_NONE, NULL, 0,
12795         NULL, HFILL }},
12796     { &hf_qsig_na_extensionNA,
12797       { "extension", "qsig.na.extension",
12798         FT_UINT32, BASE_DEC, VALS(qsig_na_NameExtension_vals), 0,
12799         "NameExtension", HFILL }},
12800     { &hf_qsig_na_single,
12801       { "single", "qsig.na.single",
12802         FT_NONE, BASE_NONE, NULL, 0,
12803         "Extension", HFILL }},
12804     { &hf_qsig_na_multiple,
12805       { "multiple", "qsig.na.multiple",
12806         FT_UINT32, BASE_DEC, NULL, 0,
12807         "SEQUENCE_OF_Extension", HFILL }},
12808     { &hf_qsig_na_multiple_item,
12809       { "Extension", "qsig.na.Extension",
12810         FT_NONE, BASE_NONE, NULL, 0,
12811         NULL, HFILL }},
12812     { &hf_qsig_na_namePresentationAllowed,
12813       { "namePresentationAllowed", "qsig.na.namePresentationAllowed",
12814         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationAllowed_vals), 0,
12815         NULL, HFILL }},
12816     { &hf_qsig_na_namePresentationRestricted,
12817       { "namePresentationRestricted", "qsig.na.namePresentationRestricted",
12818         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationRestricted_vals), 0,
12819         NULL, HFILL }},
12820     { &hf_qsig_na_nameNotAvailable,
12821       { "nameNotAvailable", "qsig.na.nameNotAvailable",
12822         FT_NONE, BASE_NONE, NULL, 0,
12823         NULL, HFILL }},
12824     { &hf_qsig_na_namePresentationAllowedSimple,
12825       { "namePresentationAllowedSimple", "qsig.na.namePresentationAllowedSimple",
12826         FT_STRING, BASE_NONE, NULL, 0,
12827         "NameData", HFILL }},
12828     { &hf_qsig_na_namePresentationAllowedExtended,
12829       { "namePresentationAllowedExtended", "qsig.na.namePresentationAllowedExtended",
12830         FT_NONE, BASE_NONE, NULL, 0,
12831         "NameSet", HFILL }},
12832     { &hf_qsig_na_namePresentationRestrictedSimple,
12833       { "namePresentationRestrictedSimple", "qsig.na.namePresentationRestrictedSimple",
12834         FT_STRING, BASE_NONE, NULL, 0,
12835         "NameData", HFILL }},
12836     { &hf_qsig_na_namePresentationRestrictedExtended,
12837       { "namePresentationRestrictedExtended", "qsig.na.namePresentationRestrictedExtended",
12838         FT_NONE, BASE_NONE, NULL, 0,
12839         "NameSet", HFILL }},
12840     { &hf_qsig_na_namePresentationRestrictedNull,
12841       { "namePresentationRestrictedNull", "qsig.na.namePresentationRestrictedNull",
12842         FT_NONE, BASE_NONE, NULL, 0,
12843         NULL, HFILL }},
12844     { &hf_qsig_na_nameData,
12845       { "nameData", "qsig.na.nameData",
12846         FT_STRING, BASE_NONE, NULL, 0,
12847         NULL, HFILL }},
12848     { &hf_qsig_na_characterSet,
12849       { "characterSet", "qsig.na.characterSet",
12850         FT_UINT32, BASE_DEC, VALS(qsig_na_CharacterSet_vals), 0,
12851         NULL, HFILL }},
12852
12853 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12854
12855     { &hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU,
12856       { "ARG-activateDiversionQ", "qsig.cf.ARG_activateDiversionQ",
12857         FT_NONE, BASE_NONE, NULL, 0,
12858         NULL, HFILL }},
12859     { &hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU,
12860       { "RES-activateDiversionQ", "qsig.cf.RES_activateDiversionQ",
12861         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_activateDiversionQ_vals), 0,
12862         NULL, HFILL }},
12863     { &hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU,
12864       { "ARG-deactivateDiversionQ", "qsig.cf.ARG_deactivateDiversionQ",
12865         FT_NONE, BASE_NONE, NULL, 0,
12866         NULL, HFILL }},
12867     { &hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU,
12868       { "RES-deactivateDiversionQ", "qsig.cf.RES_deactivateDiversionQ",
12869         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_deactivateDiversionQ_vals), 0,
12870         NULL, HFILL }},
12871     { &hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU,
12872       { "ARG-interrogateDiversionQ", "qsig.cf.ARG_interrogateDiversionQ",
12873         FT_NONE, BASE_NONE, NULL, 0,
12874         NULL, HFILL }},
12875     { &hf_qsig_cf_qsig_cf_IntResultList_PDU,
12876       { "IntResultList", "qsig.cf.IntResultList",
12877         FT_UINT32, BASE_DEC, NULL, 0,
12878         NULL, HFILL }},
12879     { &hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU,
12880       { "ARG-checkRestriction", "qsig.cf.ARG_checkRestriction",
12881         FT_NONE, BASE_NONE, NULL, 0,
12882         NULL, HFILL }},
12883     { &hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU,
12884       { "RES-checkRestriction", "qsig.cf.RES_checkRestriction",
12885         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_checkRestriction_vals), 0,
12886         NULL, HFILL }},
12887     { &hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU,
12888       { "ARG-callRerouteing", "qsig.cf.ARG_callRerouteing",
12889         FT_NONE, BASE_NONE, NULL, 0,
12890         NULL, HFILL }},
12891     { &hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU,
12892       { "RES-callRerouteing", "qsig.cf.RES_callRerouteing",
12893         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_callRerouteing_vals), 0,
12894         NULL, HFILL }},
12895     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU,
12896       { "ARG-divertingLegInformation1", "qsig.cf.ARG_divertingLegInformation1",
12897         FT_NONE, BASE_NONE, NULL, 0,
12898         NULL, HFILL }},
12899     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU,
12900       { "ARG-divertingLegInformation2", "qsig.cf.ARG_divertingLegInformation2",
12901         FT_NONE, BASE_NONE, NULL, 0,
12902         NULL, HFILL }},
12903     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU,
12904       { "ARG-divertingLegInformation3", "qsig.cf.ARG_divertingLegInformation3",
12905         FT_NONE, BASE_NONE, NULL, 0,
12906         NULL, HFILL }},
12907     { &hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU,
12908       { "ARG-cfnrDivertedLegFailed", "qsig.cf.ARG_cfnrDivertedLegFailed",
12909         FT_UINT32, BASE_DEC, VALS(qsig_cf_ARG_cfnrDivertedLegFailed_vals), 0,
12910         NULL, HFILL }},
12911     { &hf_qsig_cf_qsig_cf_Extension_PDU,
12912       { "Extension", "qsig.cf.Extension",
12913         FT_NONE, BASE_NONE, NULL, 0,
12914         NULL, HFILL }},
12915     { &hf_qsig_cf_procedure,
12916       { "procedure", "qsig.cf.procedure",
12917         FT_UINT32, BASE_DEC, VALS(qsig_cf_Procedure_vals), 0,
12918         NULL, HFILL }},
12919     { &hf_qsig_cf_basicService,
12920       { "basicService", "qsig.cf.basicService",
12921         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
12922         NULL, HFILL }},
12923     { &hf_qsig_cf_divertedToAddress,
12924       { "divertedToAddress", "qsig.cf.divertedToAddress",
12925         FT_NONE, BASE_NONE, NULL, 0,
12926         "Address", HFILL }},
12927     { &hf_qsig_cf_servedUserNr,
12928       { "servedUserNr", "qsig.cf.servedUserNr",
12929         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12930         "PartyNumber", HFILL }},
12931     { &hf_qsig_cf_activatingUserNr,
12932       { "activatingUserNr", "qsig.cf.activatingUserNr",
12933         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12934         "PartyNumber", HFILL }},
12935     { &hf_qsig_cf_extensionAD,
12936       { "extension", "qsig.cf.extension",
12937         FT_UINT32, BASE_DEC, VALS(qsig_cf_ADExtension_vals), 0,
12938         "ADExtension", HFILL }},
12939     { &hf_qsig_cf_single,
12940       { "single", "qsig.cf.single",
12941         FT_NONE, BASE_NONE, NULL, 0,
12942         "Extension", HFILL }},
12943     { &hf_qsig_cf_multiple,
12944       { "multiple", "qsig.cf.multiple",
12945         FT_UINT32, BASE_DEC, NULL, 0,
12946         "SEQUENCE_OF_Extension", HFILL }},
12947     { &hf_qsig_cf_multiple_item,
12948       { "Extension", "qsig.cf.Extension",
12949         FT_NONE, BASE_NONE, NULL, 0,
12950         NULL, HFILL }},
12951     { &hf_qsig_cf_null,
12952       { "null", "qsig.cf.null",
12953         FT_NONE, BASE_NONE, NULL, 0,
12954         NULL, HFILL }},
12955     { &hf_qsig_cf_deactivatingUserNr,
12956       { "deactivatingUserNr", "qsig.cf.deactivatingUserNr",
12957         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12958         "PartyNumber", HFILL }},
12959     { &hf_qsig_cf_extensionDD,
12960       { "extension", "qsig.cf.extension",
12961         FT_UINT32, BASE_DEC, VALS(qsig_cf_DDExtension_vals), 0,
12962         "DDExtension", HFILL }},
12963     { &hf_qsig_cf_interrogatingUserNr,
12964       { "interrogatingUserNr", "qsig.cf.interrogatingUserNr",
12965         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12966         "PartyNumber", HFILL }},
12967     { &hf_qsig_cf_extensionID,
12968       { "extension", "qsig.cf.extension",
12969         FT_UINT32, BASE_DEC, VALS(qsig_cf_IDExtension_vals), 0,
12970         "IDExtension", HFILL }},
12971     { &hf_qsig_cf_divertedToNr,
12972       { "divertedToNr", "qsig.cf.divertedToNr",
12973         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12974         "PartyNumber", HFILL }},
12975     { &hf_qsig_cf_extensionCHR,
12976       { "extension", "qsig.cf.extension",
12977         FT_UINT32, BASE_DEC, VALS(qsig_cf_CHRExtension_vals), 0,
12978         "CHRExtension", HFILL }},
12979     { &hf_qsig_cf_rerouteingReason,
12980       { "rerouteingReason", "qsig.cf.rerouteingReason",
12981         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12982         "DiversionReason", HFILL }},
12983     { &hf_qsig_cf_originalRerouteingReason,
12984       { "originalRerouteingReason", "qsig.cf.originalRerouteingReason",
12985         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12986         "DiversionReason", HFILL }},
12987     { &hf_qsig_cf_calledAddress,
12988       { "calledAddress", "qsig.cf.calledAddress",
12989         FT_NONE, BASE_NONE, NULL, 0,
12990         "Address", HFILL }},
12991     { &hf_qsig_cf_diversionCounter,
12992       { "diversionCounter", "qsig.cf.diversionCounter",
12993         FT_UINT32, BASE_DEC, NULL, 0,
12994         "INTEGER_1_15", HFILL }},
12995     { &hf_qsig_cf_pSS1InfoElement,
12996       { "pSS1InfoElement", "qsig.cf.pSS1InfoElement",
12997         FT_BYTES, BASE_NONE, NULL, 0,
12998         "PSS1InformationElement", HFILL }},
12999     { &hf_qsig_cf_lastRerouteingNr,
13000       { "lastRerouteingNr", "qsig.cf.lastRerouteingNr",
13001         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13002         "PresentedNumberUnscreened", HFILL }},
13003     { &hf_qsig_cf_subscriptionOption,
13004       { "subscriptionOption", "qsig.cf.subscriptionOption",
13005         FT_UINT32, BASE_DEC, VALS(qsig_cf_SubscriptionOption_vals), 0,
13006         NULL, HFILL }},
13007     { &hf_qsig_cf_callingPartySubaddress,
13008       { "callingPartySubaddress", "qsig.cf.callingPartySubaddress",
13009         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13010         "PartySubaddress", HFILL }},
13011     { &hf_qsig_cf_callingNumber,
13012       { "callingNumber", "qsig.cf.callingNumber",
13013         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13014         "PresentedNumberScreened", HFILL }},
13015     { &hf_qsig_cf_callingName,
13016       { "callingName", "qsig.cf.callingName",
13017         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13018         "Name", HFILL }},
13019     { &hf_qsig_cf_originalCalledNr,
13020       { "originalCalledNr", "qsig.cf.originalCalledNr",
13021         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13022         "PresentedNumberUnscreened", HFILL }},
13023     { &hf_qsig_cf_redirectingName,
13024       { "redirectingName", "qsig.cf.redirectingName",
13025         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13026         "Name", HFILL }},
13027     { &hf_qsig_cf_originalCalledName,
13028       { "originalCalledName", "qsig.cf.originalCalledName",
13029         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13030         "Name", HFILL }},
13031     { &hf_qsig_cf_extensionCRR,
13032       { "extension", "qsig.cf.extension",
13033         FT_UINT32, BASE_DEC, VALS(qsig_cf_CRRExtension_vals), 0,
13034         "CRRExtension", HFILL }},
13035     { &hf_qsig_cf_diversionReason,
13036       { "diversionReason", "qsig.cf.diversionReason",
13037         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
13038         NULL, HFILL }},
13039     { &hf_qsig_cf_nominatedNr,
13040       { "nominatedNr", "qsig.cf.nominatedNr",
13041         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13042         "PartyNumber", HFILL }},
13043     { &hf_qsig_cf_extensionDLI1,
13044       { "extension", "qsig.cf.extension",
13045         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI1Extension_vals), 0,
13046         "DLI1Extension", HFILL }},
13047     { &hf_qsig_cf_originalDiversionReason,
13048       { "originalDiversionReason", "qsig.cf.originalDiversionReason",
13049         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
13050         "DiversionReason", HFILL }},
13051     { &hf_qsig_cf_divertingNr,
13052       { "divertingNr", "qsig.cf.divertingNr",
13053         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13054         "PresentedNumberUnscreened", HFILL }},
13055     { &hf_qsig_cf_extensionDLI2,
13056       { "extension", "qsig.cf.extension",
13057         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI2Extension_vals), 0,
13058         "DLI2Extension", HFILL }},
13059     { &hf_qsig_cf_presentationAllowedIndicator,
13060       { "presentationAllowedIndicator", "qsig.cf.presentationAllowedIndicator",
13061         FT_BOOLEAN, BASE_NONE, NULL, 0,
13062         NULL, HFILL }},
13063     { &hf_qsig_cf_redirectionName,
13064       { "redirectionName", "qsig.cf.redirectionName",
13065         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13066         "Name", HFILL }},
13067     { &hf_qsig_cf_extensionDLI3,
13068       { "extension", "qsig.cf.extension",
13069         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI3Extension_vals), 0,
13070         "DLI3Extension", HFILL }},
13071     { &hf_qsig_cf_IntResultList_item,
13072       { "IntResult", "qsig.cf.IntResult",
13073         FT_NONE, BASE_NONE, NULL, 0,
13074         NULL, HFILL }},
13075     { &hf_qsig_cf_remoteEnabled,
13076       { "remoteEnabled", "qsig.cf.remoteEnabled",
13077         FT_BOOLEAN, BASE_NONE, NULL, 0,
13078         "BOOLEAN", HFILL }},
13079     { &hf_qsig_cf_extensionIR,
13080       { "extension", "qsig.cf.extension",
13081         FT_UINT32, BASE_DEC, VALS(qsig_cf_IRExtension_vals), 0,
13082         "IRExtension", HFILL }},
13083
13084 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
13085
13086     { &hf_qsig_pr_qsig_pr_DummyArg_PDU,
13087       { "DummyArg", "qsig.pr.DummyArg",
13088         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyArg_vals), 0,
13089         NULL, HFILL }},
13090     { &hf_qsig_pr_qsig_pr_PRProposeArg_PDU,
13091       { "PRProposeArg", "qsig.pr.PRProposeArg",
13092         FT_NONE, BASE_NONE, NULL, 0,
13093         NULL, HFILL }},
13094     { &hf_qsig_pr_qsig_pr_PRSetupArg_PDU,
13095       { "PRSetupArg", "qsig.pr.PRSetupArg",
13096         FT_NONE, BASE_NONE, NULL, 0,
13097         NULL, HFILL }},
13098     { &hf_qsig_pr_qsig_pr_DummyResult_PDU,
13099       { "DummyResult", "qsig.pr.DummyResult",
13100         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyResult_vals), 0,
13101         NULL, HFILL }},
13102     { &hf_qsig_pr_qsig_pr_PRRetainArg_PDU,
13103       { "PRRetainArg", "qsig.pr.PRRetainArg",
13104         FT_NONE, BASE_NONE, NULL, 0,
13105         NULL, HFILL }},
13106     { &hf_qsig_pr_qsig_pr_Extension_PDU,
13107       { "Extension", "qsig.pr.Extension",
13108         FT_NONE, BASE_NONE, NULL, 0,
13109         NULL, HFILL }},
13110     { &hf_qsig_pr_callIdentity,
13111       { "callIdentity", "qsig.pr.callIdentity",
13112         FT_STRING, BASE_NONE, NULL, 0,
13113         NULL, HFILL }},
13114     { &hf_qsig_pr_rerouteingNumber,
13115       { "rerouteingNumber", "qsig.pr.rerouteingNumber",
13116         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13117         "PartyNumber", HFILL }},
13118     { &hf_qsig_pr_extensionPRP,
13119       { "extension", "qsig.pr.extension",
13120         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRPExtension_vals), 0,
13121         "PRPExtension", HFILL }},
13122     { &hf_qsig_pr_single,
13123       { "single", "qsig.pr.single",
13124         FT_NONE, BASE_NONE, NULL, 0,
13125         "Extension", HFILL }},
13126     { &hf_qsig_pr_multiple,
13127       { "multiple", "qsig.pr.multiple",
13128         FT_UINT32, BASE_DEC, NULL, 0,
13129         "SEQUENCE_OF_Extension", HFILL }},
13130     { &hf_qsig_pr_multiple_item,
13131       { "Extension", "qsig.pr.Extension",
13132         FT_NONE, BASE_NONE, NULL, 0,
13133         NULL, HFILL }},
13134     { &hf_qsig_pr_extensionPRS,
13135       { "extension", "qsig.pr.extension",
13136         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRSExtension_vals), 0,
13137         "PRSExtension", HFILL }},
13138     { &hf_qsig_pr_extensionPRR,
13139       { "extension", "qsig.pr.extension",
13140         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRRExtension_vals), 0,
13141         "PRRExtension", HFILL }},
13142     { &hf_qsig_pr_null,
13143       { "null", "qsig.pr.null",
13144         FT_NONE, BASE_NONE, NULL, 0,
13145         NULL, HFILL }},
13146
13147 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
13148
13149     { &hf_qsig_ct_qsig_ct_DummyArg_PDU,
13150       { "DummyArg", "qsig.ct.DummyArg",
13151         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyArg_vals), 0,
13152         NULL, HFILL }},
13153     { &hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU,
13154       { "CTIdentifyRes", "qsig.ct.CTIdentifyRes",
13155         FT_NONE, BASE_NONE, NULL, 0,
13156         NULL, HFILL }},
13157     { &hf_qsig_ct_qsig_ct_CTInitiateArg_PDU,
13158       { "CTInitiateArg", "qsig.ct.CTInitiateArg",
13159         FT_NONE, BASE_NONE, NULL, 0,
13160         NULL, HFILL }},
13161     { &hf_qsig_ct_qsig_ct_DummyRes_PDU,
13162       { "DummyRes", "qsig.ct.DummyRes",
13163         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyRes_vals), 0,
13164         NULL, HFILL }},
13165     { &hf_qsig_ct_qsig_ct_CTSetupArg_PDU,
13166       { "CTSetupArg", "qsig.ct.CTSetupArg",
13167         FT_NONE, BASE_NONE, NULL, 0,
13168         NULL, HFILL }},
13169     { &hf_qsig_ct_qsig_ct_CTActiveArg_PDU,
13170       { "CTActiveArg", "qsig.ct.CTActiveArg",
13171         FT_NONE, BASE_NONE, NULL, 0,
13172         NULL, HFILL }},
13173     { &hf_qsig_ct_qsig_ct_CTCompleteArg_PDU,
13174       { "CTCompleteArg", "qsig.ct.CTCompleteArg",
13175         FT_NONE, BASE_NONE, NULL, 0,
13176         NULL, HFILL }},
13177     { &hf_qsig_ct_qsig_ct_CTUpdateArg_PDU,
13178       { "CTUpdateArg", "qsig.ct.CTUpdateArg",
13179         FT_NONE, BASE_NONE, NULL, 0,
13180         NULL, HFILL }},
13181     { &hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU,
13182       { "SubaddressTransferArg", "qsig.ct.SubaddressTransferArg",
13183         FT_NONE, BASE_NONE, NULL, 0,
13184         NULL, HFILL }},
13185     { &hf_qsig_ct_qsig_ct_Extension_PDU,
13186       { "Extension", "qsig.ct.Extension",
13187         FT_NONE, BASE_NONE, NULL, 0,
13188         NULL, HFILL }},
13189     { &hf_qsig_ct_null,
13190       { "null", "qsig.ct.null",
13191         FT_NONE, BASE_NONE, NULL, 0,
13192         NULL, HFILL }},
13193     { &hf_qsig_ct_single,
13194       { "single", "qsig.ct.single",
13195         FT_NONE, BASE_NONE, NULL, 0,
13196         "Extension", HFILL }},
13197     { &hf_qsig_ct_multiple,
13198       { "multiple", "qsig.ct.multiple",
13199         FT_UINT32, BASE_DEC, NULL, 0,
13200         "SEQUENCE_OF_Extension", HFILL }},
13201     { &hf_qsig_ct_multiple_item,
13202       { "Extension", "qsig.ct.Extension",
13203         FT_NONE, BASE_NONE, NULL, 0,
13204         NULL, HFILL }},
13205     { &hf_qsig_ct_callIdentity,
13206       { "callIdentity", "qsig.ct.callIdentity",
13207         FT_STRING, BASE_NONE, NULL, 0,
13208         NULL, HFILL }},
13209     { &hf_qsig_ct_rerouteingNumber,
13210       { "rerouteingNumber", "qsig.ct.rerouteingNumber",
13211         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13212         "PartyNumber", HFILL }},
13213     { &hf_qsig_ct_resultExtension,
13214       { "resultExtension", "qsig.ct.resultExtension",
13215         FT_UINT32, BASE_DEC, VALS(qsig_ct_T_resultExtension_vals), 0,
13216         NULL, HFILL }},
13217     { &hf_qsig_ct_argumentExtensionCTI,
13218       { "argumentExtension", "qsig.ct.argumentExtension",
13219         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTIargumentExtension_vals), 0,
13220         "CTIargumentExtension", HFILL }},
13221     { &hf_qsig_ct_argumentExtensionCTS,
13222       { "argumentExtension", "qsig.ct.argumentExtension",
13223         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTSargumentExtension_vals), 0,
13224         "CTSargumentExtension", HFILL }},
13225     { &hf_qsig_ct_connectedAddress,
13226       { "connectedAddress", "qsig.ct.connectedAddress",
13227         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
13228         "PresentedAddressScreened", HFILL }},
13229     { &hf_qsig_ct_basicCallInfoElements,
13230       { "basicCallInfoElements", "qsig.ct.basicCallInfoElements",
13231         FT_BYTES, BASE_NONE, NULL, 0,
13232         "PSS1InformationElement", HFILL }},
13233     { &hf_qsig_ct_connectedName,
13234       { "connectedName", "qsig.ct.connectedName",
13235         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13236         "Name", HFILL }},
13237     { &hf_qsig_ct_argumentExtensionCTA,
13238       { "argumentExtension", "qsig.ct.argumentExtension",
13239         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTAargumentExtension_vals), 0,
13240         "CTAargumentExtension", HFILL }},
13241     { &hf_qsig_ct_endDesignation,
13242       { "endDesignation", "qsig.ct.endDesignation",
13243         FT_UINT32, BASE_DEC, VALS(qsig_ct_EndDesignation_vals), 0,
13244         NULL, HFILL }},
13245     { &hf_qsig_ct_redirectionNumber,
13246       { "redirectionNumber", "qsig.ct.redirectionNumber",
13247         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13248         "PresentedNumberScreened", HFILL }},
13249     { &hf_qsig_ct_redirectionName,
13250       { "redirectionName", "qsig.ct.redirectionName",
13251         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13252         "Name", HFILL }},
13253     { &hf_qsig_ct_callStatus,
13254       { "callStatus", "qsig.ct.callStatus",
13255         FT_UINT32, BASE_DEC, VALS(qsig_ct_CallStatus_vals), 0,
13256         NULL, HFILL }},
13257     { &hf_qsig_ct_argumentExtensionCTC,
13258       { "argumentExtension", "qsig.ct.argumentExtension",
13259         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTCargumentExtension_vals), 0,
13260         "CTCargumentExtension", HFILL }},
13261     { &hf_qsig_ct_argumentExtensionCTU,
13262       { "argumentExtension", "qsig.ct.argumentExtension",
13263         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTUargumentExtension_vals), 0,
13264         "CTUargumentExtension", HFILL }},
13265     { &hf_qsig_ct_redirectionSubaddress,
13266       { "redirectionSubaddress", "qsig.ct.redirectionSubaddress",
13267         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13268         "PartySubaddress", HFILL }},
13269     { &hf_qsig_ct_argumentExtensionST,
13270       { "argumentExtension", "qsig.ct.argumentExtension",
13271         FT_UINT32, BASE_DEC, VALS(qsig_ct_STargumentExtension_vals), 0,
13272         "STargumentExtension", HFILL }},
13273
13274 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
13275
13276     { &hf_qsig_cc_qsig_cc_CcRequestArg_PDU,
13277       { "CcRequestArg", "qsig.cc.CcRequestArg",
13278         FT_NONE, BASE_NONE, NULL, 0,
13279         NULL, HFILL }},
13280     { &hf_qsig_cc_qsig_cc_CcRequestRes_PDU,
13281       { "CcRequestRes", "qsig.cc.CcRequestRes",
13282         FT_NONE, BASE_NONE, NULL, 0,
13283         NULL, HFILL }},
13284     { &hf_qsig_cc_qsig_cc_CcOptionalArg_PDU,
13285       { "CcOptionalArg", "qsig.cc.CcOptionalArg",
13286         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcOptionalArg_vals), 0,
13287         NULL, HFILL }},
13288     { &hf_qsig_cc_qsig_cc_CcExtension_PDU,
13289       { "CcExtension", "qsig.cc.CcExtension",
13290         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13291         NULL, HFILL }},
13292     { &hf_qsig_cc_qsig_cc_Extension_PDU,
13293       { "Extension", "qsig.cc.Extension",
13294         FT_NONE, BASE_NONE, NULL, 0,
13295         NULL, HFILL }},
13296     { &hf_qsig_cc_numberA,
13297       { "numberA", "qsig.cc.numberA",
13298         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13299         "PresentedNumberUnscreened", HFILL }},
13300     { &hf_qsig_cc_numberB,
13301       { "numberB", "qsig.cc.numberB",
13302         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13303         "PartyNumber", HFILL }},
13304     { &hf_qsig_cc_service,
13305       { "service", "qsig.cc.service",
13306         FT_BYTES, BASE_NONE, NULL, 0,
13307         "PSS1InformationElement", HFILL }},
13308     { &hf_qsig_cc_subaddrA,
13309       { "subaddrA", "qsig.cc.subaddrA",
13310         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13311         "PartySubaddress", HFILL }},
13312     { &hf_qsig_cc_subaddrB,
13313       { "subaddrB", "qsig.cc.subaddrB",
13314         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13315         "PartySubaddress", HFILL }},
13316     { &hf_qsig_cc_can_retain_service,
13317       { "can-retain-service", "qsig.cc.can_retain_service",
13318         FT_BOOLEAN, BASE_NONE, NULL, 0,
13319         "BOOLEAN", HFILL }},
13320     { &hf_qsig_cc_retain_sig_connection,
13321       { "retain-sig-connection", "qsig.cc.retain_sig_connection",
13322         FT_BOOLEAN, BASE_NONE, NULL, 0,
13323         "BOOLEAN", HFILL }},
13324     { &hf_qsig_cc_extension,
13325       { "extension", "qsig.cc.extension",
13326         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13327         "CcExtension", HFILL }},
13328     { &hf_qsig_cc_no_path_reservation,
13329       { "no-path-reservation", "qsig.cc.no_path_reservation",
13330         FT_BOOLEAN, BASE_NONE, NULL, 0,
13331         "BOOLEAN", HFILL }},
13332     { &hf_qsig_cc_retain_service,
13333       { "retain-service", "qsig.cc.retain_service",
13334         FT_BOOLEAN, BASE_NONE, NULL, 0,
13335         "BOOLEAN", HFILL }},
13336     { &hf_qsig_cc_fullArg,
13337       { "fullArg", "qsig.cc.fullArg",
13338         FT_NONE, BASE_NONE, NULL, 0,
13339         NULL, HFILL }},
13340     { &hf_qsig_cc_numberA_01,
13341       { "numberA", "qsig.cc.numberA",
13342         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13343         "PartyNumber", HFILL }},
13344     { &hf_qsig_cc_extArg,
13345       { "extArg", "qsig.cc.extArg",
13346         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13347         "CcExtension", HFILL }},
13348     { &hf_qsig_cc_none,
13349       { "none", "qsig.cc.none",
13350         FT_NONE, BASE_NONE, NULL, 0,
13351         NULL, HFILL }},
13352     { &hf_qsig_cc_single,
13353       { "single", "qsig.cc.single",
13354         FT_NONE, BASE_NONE, NULL, 0,
13355         "Extension", HFILL }},
13356     { &hf_qsig_cc_multiple,
13357       { "multiple", "qsig.cc.multiple",
13358         FT_UINT32, BASE_DEC, NULL, 0,
13359         "SEQUENCE_OF_Extension", HFILL }},
13360     { &hf_qsig_cc_multiple_item,
13361       { "Extension", "qsig.cc.Extension",
13362         FT_NONE, BASE_NONE, NULL, 0,
13363         NULL, HFILL }},
13364
13365 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
13366
13367     { &hf_qsig_co_qsig_co_PathRetainArg_PDU,
13368       { "PathRetainArg", "qsig.co.PathRetainArg",
13369         FT_UINT32, BASE_DEC, VALS(qsig_co_PathRetainArg_vals), 0,
13370         NULL, HFILL }},
13371     { &hf_qsig_co_qsig_co_ServiceAvailableArg_PDU,
13372       { "ServiceAvailableArg", "qsig.co.ServiceAvailableArg",
13373         FT_UINT32, BASE_DEC, VALS(qsig_co_ServiceAvailableArg_vals), 0,
13374         NULL, HFILL }},
13375     { &hf_qsig_co_qsig_co_DummyArg_PDU,
13376       { "DummyArg", "qsig.co.DummyArg",
13377         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyArg_vals), 0,
13378         NULL, HFILL }},
13379     { &hf_qsig_co_qsig_co_DummyRes_PDU,
13380       { "DummyRes", "qsig.co.DummyRes",
13381         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyRes_vals), 0,
13382         NULL, HFILL }},
13383     { &hf_qsig_co_qsig_co_Extension_PDU,
13384       { "Extension", "qsig.co.Extension",
13385         FT_NONE, BASE_NONE, NULL, 0,
13386         NULL, HFILL }},
13387     { &hf_qsig_co_serviceList,
13388       { "serviceList", "qsig.co.serviceList",
13389         FT_BYTES, BASE_NONE, NULL, 0,
13390         NULL, HFILL }},
13391     { &hf_qsig_co_extendedServiceList,
13392       { "extendedServiceList", "qsig.co.extendedServiceList",
13393         FT_NONE, BASE_NONE, NULL, 0,
13394         NULL, HFILL }},
13395     { &hf_qsig_co_extension,
13396       { "extension", "qsig.co.extension",
13397         FT_NONE, BASE_NONE, NULL, 0,
13398         NULL, HFILL }},
13399     { &hf_qsig_co_extendedServiceList_01,
13400       { "extendedServiceList", "qsig.co.extendedServiceList",
13401         FT_NONE, BASE_NONE, NULL, 0,
13402         "T_extendedServiceList_01", HFILL }},
13403     { &hf_qsig_co_null,
13404       { "null", "qsig.co.null",
13405         FT_NONE, BASE_NONE, NULL, 0,
13406         NULL, HFILL }},
13407     { &hf_qsig_co_sequenceOfExtn,
13408       { "sequenceOfExtn", "qsig.co.sequenceOfExtn",
13409         FT_UINT32, BASE_DEC, NULL, 0,
13410         "SEQUENCE_OF_Extension", HFILL }},
13411     { &hf_qsig_co_sequenceOfExtn_item,
13412       { "Extension", "qsig.co.Extension",
13413         FT_NONE, BASE_NONE, NULL, 0,
13414         NULL, HFILL }},
13415     { &hf_qsig_co_ServiceList_callOffer,
13416       { "callOffer", "qsig.co.callOffer",
13417         FT_BOOLEAN, 8, NULL, 0x80,
13418         NULL, HFILL }},
13419
13420 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
13421
13422     { &hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU,
13423       { "DNDActivateArg", "qsig.dnd.DNDActivateArg",
13424         FT_NONE, BASE_NONE, NULL, 0,
13425         NULL, HFILL }},
13426     { &hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU,
13427       { "DNDActivateRes", "qsig.dnd.DNDActivateRes",
13428         FT_NONE, BASE_NONE, NULL, 0,
13429         NULL, HFILL }},
13430     { &hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU,
13431       { "DNDDeactivateArg", "qsig.dnd.DNDDeactivateArg",
13432         FT_NONE, BASE_NONE, NULL, 0,
13433         NULL, HFILL }},
13434     { &hf_qsig_dnd_qsig_dnd_DummyRes_PDU,
13435       { "DummyRes", "qsig.dnd.DummyRes",
13436         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyRes_vals), 0,
13437         NULL, HFILL }},
13438     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU,
13439       { "DNDInterrogateArg", "qsig.dnd.DNDInterrogateArg",
13440         FT_NONE, BASE_NONE, NULL, 0,
13441         NULL, HFILL }},
13442     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU,
13443       { "DNDInterrogateRes", "qsig.dnd.DNDInterrogateRes",
13444         FT_NONE, BASE_NONE, NULL, 0,
13445         NULL, HFILL }},
13446     { &hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU,
13447       { "DNDOverrideArg", "qsig.dnd.DNDOverrideArg",
13448         FT_NONE, BASE_NONE, NULL, 0,
13449         NULL, HFILL }},
13450     { &hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU,
13451       { "PathRetainArg", "qsig.dnd.PathRetainArg",
13452         FT_UINT32, BASE_DEC, VALS(qsig_dnd_PathRetainArg_vals), 0,
13453         NULL, HFILL }},
13454     { &hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU,
13455       { "ServiceAvailableArg", "qsig.dnd.ServiceAvailableArg",
13456         FT_UINT32, BASE_DEC, VALS(qsig_dnd_ServiceAvailableArg_vals), 0,
13457         NULL, HFILL }},
13458     { &hf_qsig_dnd_qsig_dnd_DummyArg_PDU,
13459       { "DummyArg", "qsig.dnd.DummyArg",
13460         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyArg_vals), 0,
13461         NULL, HFILL }},
13462     { &hf_qsig_dnd_qsig_dnd_Extension_PDU,
13463       { "Extension", "qsig.dnd.Extension",
13464         FT_NONE, BASE_NONE, NULL, 0,
13465         NULL, HFILL }},
13466     { &hf_qsig_dnd_null,
13467       { "null", "qsig.dnd.null",
13468         FT_NONE, BASE_NONE, NULL, 0,
13469         NULL, HFILL }},
13470     { &hf_qsig_dnd_extension,
13471       { "extension", "qsig.dnd.extension",
13472         FT_NONE, BASE_NONE, NULL, 0,
13473         NULL, HFILL }},
13474     { &hf_qsig_dnd_sequenceOfExtn,
13475       { "sequenceOfExtn", "qsig.dnd.sequenceOfExtn",
13476         FT_UINT32, BASE_DEC, NULL, 0,
13477         "SEQUENCE_OF_Extension", HFILL }},
13478     { &hf_qsig_dnd_sequenceOfExtn_item,
13479       { "Extension", "qsig.dnd.Extension",
13480         FT_NONE, BASE_NONE, NULL, 0,
13481         NULL, HFILL }},
13482     { &hf_qsig_dnd_basicService,
13483       { "basicService", "qsig.dnd.basicService",
13484         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
13485         NULL, HFILL }},
13486     { &hf_qsig_dnd_servedUserNr,
13487       { "servedUserNr", "qsig.dnd.servedUserNr",
13488         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13489         "PartyNumber", HFILL }},
13490     { &hf_qsig_dnd_argumentExtensionDNDA,
13491       { "argumentExtension", "qsig.dnd.argumentExtension",
13492         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDAargumentExtension_vals), 0,
13493         "DNDAargumentExtension", HFILL }},
13494     { &hf_qsig_dnd_status,
13495       { "status", "qsig.dnd.status",
13496         FT_UINT32, BASE_DEC, NULL, 0,
13497         NULL, HFILL }},
13498     { &hf_qsig_dnd_status_item,
13499       { "status item", "qsig.dnd.status_item",
13500         FT_NONE, BASE_NONE, NULL, 0,
13501         NULL, HFILL }},
13502     { &hf_qsig_dnd_dndProtectionLevel,
13503       { "dndProtectionLevel", "qsig.dnd.dndProtectionLevel",
13504         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDProtectionLevel_vals), 0,
13505         NULL, HFILL }},
13506     { &hf_qsig_dnd_resultExtension,
13507       { "resultExtension", "qsig.dnd.resultExtension",
13508         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_vals), 0,
13509         NULL, HFILL }},
13510     { &hf_qsig_dnd_argumentExtensionDNDD,
13511       { "argumentExtension", "qsig.dnd.argumentExtension",
13512         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDDargumentExtension_vals), 0,
13513         "DNDDargumentExtension", HFILL }},
13514     { &hf_qsig_dnd_argumentExtensionDNDI,
13515       { "argumentExtension", "qsig.dnd.argumentExtension",
13516         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDIargumentExtension_vals), 0,
13517         "DNDIargumentExtension", HFILL }},
13518     { &hf_qsig_dnd_status_01,
13519       { "status", "qsig.dnd.status",
13520         FT_UINT32, BASE_DEC, NULL, 0,
13521         "T_status_01", HFILL }},
13522     { &hf_qsig_dnd_status_item_01,
13523       { "status item", "qsig.dnd.status_item",
13524         FT_NONE, BASE_NONE, NULL, 0,
13525         "T_status_item_01", HFILL }},
13526     { &hf_qsig_dnd_resultExtension_01,
13527       { "resultExtension", "qsig.dnd.resultExtension",
13528         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_01_vals), 0,
13529         "T_resultExtension_01", HFILL }},
13530     { &hf_qsig_dnd_dndoCapabilityLevel,
13531       { "dndoCapabilityLevel", "qsig.dnd.dndoCapabilityLevel",
13532         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOCapabilityLevel_vals), 0,
13533         NULL, HFILL }},
13534     { &hf_qsig_dnd_argumentExtensionDNDO,
13535       { "argumentExtension", "qsig.dnd.argumentExtension",
13536         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOargumentExtension_vals), 0,
13537         "DNDOargumentExtension", HFILL }},
13538     { &hf_qsig_dnd_serviceList,
13539       { "serviceList", "qsig.dnd.serviceList",
13540         FT_BYTES, BASE_NONE, NULL, 0,
13541         NULL, HFILL }},
13542     { &hf_qsig_dnd_extendedServiceList,
13543       { "extendedServiceList", "qsig.dnd.extendedServiceList",
13544         FT_NONE, BASE_NONE, NULL, 0,
13545         NULL, HFILL }},
13546     { &hf_qsig_dnd_extendedServiceList_01,
13547       { "extendedServiceList", "qsig.dnd.extendedServiceList",
13548         FT_NONE, BASE_NONE, NULL, 0,
13549         "T_extendedServiceList_01", HFILL }},
13550     { &hf_qsig_dnd_ServiceList_dndo_low,
13551       { "dndo-low", "qsig.dnd.dndo-low",
13552         FT_BOOLEAN, 8, NULL, 0x40,
13553         NULL, HFILL }},
13554     { &hf_qsig_dnd_ServiceList_dndo_medium,
13555       { "dndo-medium", "qsig.dnd.dndo-medium",
13556         FT_BOOLEAN, 8, NULL, 0x20,
13557         NULL, HFILL }},
13558     { &hf_qsig_dnd_ServiceList_dndo_high,
13559       { "dndo-high", "qsig.dnd.dndo-high",
13560         FT_BOOLEAN, 8, NULL, 0x10,
13561         NULL, HFILL }},
13562
13563 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
13564
13565     { &hf_qsig_ci_qsig_ci_PathRetainArg_PDU,
13566       { "PathRetainArg", "qsig.ci.PathRetainArg",
13567         FT_UINT32, BASE_DEC, VALS(qsig_ci_PathRetainArg_vals), 0,
13568         NULL, HFILL }},
13569     { &hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU,
13570       { "ServiceAvailableArg", "qsig.ci.ServiceAvailableArg",
13571         FT_UINT32, BASE_DEC, VALS(qsig_ci_ServiceAvailableArg_vals), 0,
13572         NULL, HFILL }},
13573     { &hf_qsig_ci_qsig_ci_CIRequestArg_PDU,
13574       { "CIRequestArg", "qsig.ci.CIRequestArg",
13575         FT_NONE, BASE_NONE, NULL, 0,
13576         NULL, HFILL }},
13577     { &hf_qsig_ci_qsig_ci_CIRequestRes_PDU,
13578       { "CIRequestRes", "qsig.ci.CIRequestRes",
13579         FT_NONE, BASE_NONE, NULL, 0,
13580         NULL, HFILL }},
13581     { &hf_qsig_ci_qsig_ci_DummyArg_PDU,
13582       { "DummyArg", "qsig.ci.DummyArg",
13583         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyArg_vals), 0,
13584         NULL, HFILL }},
13585     { &hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU,
13586       { "CIGetCIPLRes", "qsig.ci.CIGetCIPLRes",
13587         FT_NONE, BASE_NONE, NULL, 0,
13588         NULL, HFILL }},
13589     { &hf_qsig_ci_qsig_ci_DummyRes_PDU,
13590       { "DummyRes", "qsig.ci.DummyRes",
13591         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyRes_vals), 0,
13592         NULL, HFILL }},
13593     { &hf_qsig_ci_qsig_ci_Extension_PDU,
13594       { "Extension", "qsig.ci.Extension",
13595         FT_NONE, BASE_NONE, NULL, 0,
13596         NULL, HFILL }},
13597     { &hf_qsig_ci_serviceList,
13598       { "serviceList", "qsig.ci.serviceList",
13599         FT_BYTES, BASE_NONE, NULL, 0,
13600         NULL, HFILL }},
13601     { &hf_qsig_ci_extendedServiceList,
13602       { "extendedServiceList", "qsig.ci.extendedServiceList",
13603         FT_NONE, BASE_NONE, NULL, 0,
13604         NULL, HFILL }},
13605     { &hf_qsig_ci_extension,
13606       { "extension", "qsig.ci.extension",
13607         FT_NONE, BASE_NONE, NULL, 0,
13608         NULL, HFILL }},
13609     { &hf_qsig_ci_extendedServiceList_01,
13610       { "extendedServiceList", "qsig.ci.extendedServiceList",
13611         FT_NONE, BASE_NONE, NULL, 0,
13612         "T_extendedServiceList_01", HFILL }},
13613     { &hf_qsig_ci_null,
13614       { "null", "qsig.ci.null",
13615         FT_NONE, BASE_NONE, NULL, 0,
13616         NULL, HFILL }},
13617     { &hf_qsig_ci_sequenceOfExtn,
13618       { "sequenceOfExtn", "qsig.ci.sequenceOfExtn",
13619         FT_UINT32, BASE_DEC, NULL, 0,
13620         "SEQUENCE_OF_Extension", HFILL }},
13621     { &hf_qsig_ci_sequenceOfExtn_item,
13622       { "Extension", "qsig.ci.Extension",
13623         FT_NONE, BASE_NONE, NULL, 0,
13624         NULL, HFILL }},
13625     { &hf_qsig_ci_ciCapabilityLevel,
13626       { "ciCapabilityLevel", "qsig.ci.ciCapabilityLevel",
13627         FT_UINT32, BASE_DEC, VALS(qsig_ci_CICapabilityLevel_vals), 0,
13628         NULL, HFILL }},
13629     { &hf_qsig_ci_argumentExtension,
13630       { "argumentExtension", "qsig.ci.argumentExtension",
13631         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_argumentExtension_vals), 0,
13632         NULL, HFILL }},
13633     { &hf_qsig_ci_ciUnwantedUserStatus,
13634       { "ciUnwantedUserStatus", "qsig.ci.ciUnwantedUserStatus",
13635         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIUnwantedUserStatus_vals), 0,
13636         NULL, HFILL }},
13637     { &hf_qsig_ci_resultExtension,
13638       { "resultExtension", "qsig.ci.resultExtension",
13639         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_vals), 0,
13640         NULL, HFILL }},
13641     { &hf_qsig_ci_ciProtectionLevel,
13642       { "ciProtectionLevel", "qsig.ci.ciProtectionLevel",
13643         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIProtectionLevel_vals), 0,
13644         NULL, HFILL }},
13645     { &hf_qsig_ci_resultExtension_01,
13646       { "resultExtension", "qsig.ci.resultExtension",
13647         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_01_vals), 0,
13648         "T_resultExtension_01", HFILL }},
13649     { &hf_qsig_ci_ServiceList_ci_low,
13650       { "ci-low", "qsig.ci.ci-low",
13651         FT_BOOLEAN, 8, NULL, 0x08,
13652         NULL, HFILL }},
13653     { &hf_qsig_ci_ServiceList_ci_medium,
13654       { "ci-medium", "qsig.ci.ci-medium",
13655         FT_BOOLEAN, 8, NULL, 0x04,
13656         NULL, HFILL }},
13657     { &hf_qsig_ci_ServiceList_ci_high,
13658       { "ci-high", "qsig.ci.ci-high",
13659         FT_BOOLEAN, 8, NULL, 0x02,
13660         NULL, HFILL }},
13661
13662 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
13663
13664     { &hf_qsig_aoc_qsig_aoc_AocRateArg_PDU,
13665       { "AocRateArg", "qsig.aoc.AocRateArg",
13666         FT_NONE, BASE_NONE, NULL, 0,
13667         NULL, HFILL }},
13668     { &hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU,
13669       { "AocInterimArg", "qsig.aoc.AocInterimArg",
13670         FT_NONE, BASE_NONE, NULL, 0,
13671         NULL, HFILL }},
13672     { &hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU,
13673       { "AocFinalArg", "qsig.aoc.AocFinalArg",
13674         FT_NONE, BASE_NONE, NULL, 0,
13675         NULL, HFILL }},
13676     { &hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU,
13677       { "ChargeRequestArg", "qsig.aoc.ChargeRequestArg",
13678         FT_NONE, BASE_NONE, NULL, 0,
13679         NULL, HFILL }},
13680     { &hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU,
13681       { "ChargeRequestRes", "qsig.aoc.ChargeRequestRes",
13682         FT_NONE, BASE_NONE, NULL, 0,
13683         NULL, HFILL }},
13684     { &hf_qsig_aoc_qsig_aoc_DummyArg_PDU,
13685       { "DummyArg", "qsig.aoc.DummyArg",
13686         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DummyArg_vals), 0,
13687         NULL, HFILL }},
13688     { &hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU,
13689       { "AocCompleteArg", "qsig.aoc.AocCompleteArg",
13690         FT_NONE, BASE_NONE, NULL, 0,
13691         NULL, HFILL }},
13692     { &hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU,
13693       { "AocCompleteRes", "qsig.aoc.AocCompleteRes",
13694         FT_NONE, BASE_NONE, NULL, 0,
13695         NULL, HFILL }},
13696     { &hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU,
13697       { "AocDivChargeReqArg", "qsig.aoc.AocDivChargeReqArg",
13698         FT_NONE, BASE_NONE, NULL, 0,
13699         NULL, HFILL }},
13700     { &hf_qsig_aoc_qsig_aoc_Extension_PDU,
13701       { "Extension", "qsig.aoc.Extension",
13702         FT_NONE, BASE_NONE, NULL, 0,
13703         NULL, HFILL }},
13704     { &hf_qsig_aoc_aocRate,
13705       { "aocRate", "qsig.aoc.aocRate",
13706         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocRate_vals), 0,
13707         NULL, HFILL }},
13708     { &hf_qsig_aoc_chargeNotAvailable,
13709       { "chargeNotAvailable", "qsig.aoc.chargeNotAvailable",
13710         FT_NONE, BASE_NONE, NULL, 0,
13711         NULL, HFILL }},
13712     { &hf_qsig_aoc_aocSCurrencyInfoList,
13713       { "aocSCurrencyInfoList", "qsig.aoc.aocSCurrencyInfoList",
13714         FT_UINT32, BASE_DEC, NULL, 0,
13715         NULL, HFILL }},
13716     { &hf_qsig_aoc_rateArgExtension,
13717       { "rateArgExtension", "qsig.aoc.rateArgExtension",
13718         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateArgExtension_vals), 0,
13719         NULL, HFILL }},
13720     { &hf_qsig_aoc_extension,
13721       { "extension", "qsig.aoc.extension",
13722         FT_NONE, BASE_NONE, NULL, 0,
13723         NULL, HFILL }},
13724     { &hf_qsig_aoc_multipleExtension,
13725       { "multipleExtension", "qsig.aoc.multipleExtension",
13726         FT_UINT32, BASE_DEC, NULL, 0,
13727         "SEQUENCE_OF_Extension", HFILL }},
13728     { &hf_qsig_aoc_multipleExtension_item,
13729       { "Extension", "qsig.aoc.Extension",
13730         FT_NONE, BASE_NONE, NULL, 0,
13731         NULL, HFILL }},
13732     { &hf_qsig_aoc_interimCharge,
13733       { "interimCharge", "qsig.aoc.interimCharge",
13734         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimCharge_vals), 0,
13735         NULL, HFILL }},
13736     { &hf_qsig_aoc_freeOfCharge,
13737       { "freeOfCharge", "qsig.aoc.freeOfCharge",
13738         FT_NONE, BASE_NONE, NULL, 0,
13739         NULL, HFILL }},
13740     { &hf_qsig_aoc_specificCurrency,
13741       { "specificCurrency", "qsig.aoc.specificCurrency",
13742         FT_NONE, BASE_NONE, NULL, 0,
13743         NULL, HFILL }},
13744     { &hf_qsig_aoc_recordedCurrency,
13745       { "recordedCurrency", "qsig.aoc.recordedCurrency",
13746         FT_NONE, BASE_NONE, NULL, 0,
13747         NULL, HFILL }},
13748     { &hf_qsig_aoc_interimBillingId,
13749       { "interimBillingId", "qsig.aoc.interimBillingId",
13750         FT_UINT32, BASE_DEC, VALS(qsig_aoc_InterimBillingId_vals), 0,
13751         NULL, HFILL }},
13752     { &hf_qsig_aoc_interimArgExtension,
13753       { "interimArgExtension", "qsig.aoc.interimArgExtension",
13754         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimArgExtension_vals), 0,
13755         NULL, HFILL }},
13756     { &hf_qsig_aoc_finalCharge,
13757       { "finalCharge", "qsig.aoc.finalCharge",
13758         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalCharge_vals), 0,
13759         NULL, HFILL }},
13760     { &hf_qsig_aoc_specificCurrency_01,
13761       { "specificCurrency", "qsig.aoc.specificCurrency",
13762         FT_NONE, BASE_NONE, NULL, 0,
13763         "T_specificCurrency_01", HFILL }},
13764     { &hf_qsig_aoc_finalBillingId,
13765       { "finalBillingId", "qsig.aoc.finalBillingId",
13766         FT_UINT32, BASE_DEC, VALS(qsig_aoc_FinalBillingId_vals), 0,
13767         NULL, HFILL }},
13768     { &hf_qsig_aoc_chargingAssociation,
13769       { "chargingAssociation", "qsig.aoc.chargingAssociation",
13770         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingAssociation_vals), 0,
13771         NULL, HFILL }},
13772     { &hf_qsig_aoc_finalArgExtension,
13773       { "finalArgExtension", "qsig.aoc.finalArgExtension",
13774         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalArgExtension_vals), 0,
13775         NULL, HFILL }},
13776     { &hf_qsig_aoc_AOCSCurrencyInfoList_item,
13777       { "AOCSCurrencyInfo", "qsig.aoc.AOCSCurrencyInfo",
13778         FT_NONE, BASE_NONE, NULL, 0,
13779         NULL, HFILL }},
13780     { &hf_qsig_aoc_chargedItem,
13781       { "chargedItem", "qsig.aoc.chargedItem",
13782         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargedItem_vals), 0,
13783         NULL, HFILL }},
13784     { &hf_qsig_aoc_rateType,
13785       { "rateType", "qsig.aoc.rateType",
13786         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateType_vals), 0,
13787         NULL, HFILL }},
13788     { &hf_qsig_aoc_durationCurrency,
13789       { "durationCurrency", "qsig.aoc.durationCurrency",
13790         FT_NONE, BASE_NONE, NULL, 0,
13791         NULL, HFILL }},
13792     { &hf_qsig_aoc_flatRateCurrency,
13793       { "flatRateCurrency", "qsig.aoc.flatRateCurrency",
13794         FT_NONE, BASE_NONE, NULL, 0,
13795         NULL, HFILL }},
13796     { &hf_qsig_aoc_volumeRateCurrency,
13797       { "volumeRateCurrency", "qsig.aoc.volumeRateCurrency",
13798         FT_NONE, BASE_NONE, NULL, 0,
13799         NULL, HFILL }},
13800     { &hf_qsig_aoc_specialChargingCode,
13801       { "specialChargingCode", "qsig.aoc.specialChargingCode",
13802         FT_UINT32, BASE_DEC, NULL, 0,
13803         NULL, HFILL }},
13804     { &hf_qsig_aoc_currencyInfoNotAvailable,
13805       { "currencyInfoNotAvailable", "qsig.aoc.currencyInfoNotAvailable",
13806         FT_NONE, BASE_NONE, NULL, 0,
13807         NULL, HFILL }},
13808     { &hf_qsig_aoc_freeOfChargefromBeginning,
13809       { "freeOfChargefromBeginning", "qsig.aoc.freeOfChargefromBeginning",
13810         FT_NONE, BASE_NONE, NULL, 0,
13811         NULL, HFILL }},
13812     { &hf_qsig_aoc_dCurrency,
13813       { "dCurrency", "qsig.aoc.dCurrency",
13814         FT_STRING, BASE_NONE, NULL, 0,
13815         "Currency", HFILL }},
13816     { &hf_qsig_aoc_dAmount,
13817       { "dAmount", "qsig.aoc.dAmount",
13818         FT_NONE, BASE_NONE, NULL, 0,
13819         "Amount", HFILL }},
13820     { &hf_qsig_aoc_dChargingType,
13821       { "dChargingType", "qsig.aoc.dChargingType",
13822         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingType_vals), 0,
13823         "ChargingType", HFILL }},
13824     { &hf_qsig_aoc_dTime,
13825       { "dTime", "qsig.aoc.dTime",
13826         FT_NONE, BASE_NONE, NULL, 0,
13827         "Time", HFILL }},
13828     { &hf_qsig_aoc_dGranularity,
13829       { "dGranularity", "qsig.aoc.dGranularity",
13830         FT_NONE, BASE_NONE, NULL, 0,
13831         "Time", HFILL }},
13832     { &hf_qsig_aoc_fRCurrency,
13833       { "fRCurrency", "qsig.aoc.fRCurrency",
13834         FT_STRING, BASE_NONE, NULL, 0,
13835         "Currency", HFILL }},
13836     { &hf_qsig_aoc_fRAmount,
13837       { "fRAmount", "qsig.aoc.fRAmount",
13838         FT_NONE, BASE_NONE, NULL, 0,
13839         "Amount", HFILL }},
13840     { &hf_qsig_aoc_vRCurrency,
13841       { "vRCurrency", "qsig.aoc.vRCurrency",
13842         FT_STRING, BASE_NONE, NULL, 0,
13843         "Currency", HFILL }},
13844     { &hf_qsig_aoc_vRAmount,
13845       { "vRAmount", "qsig.aoc.vRAmount",
13846         FT_NONE, BASE_NONE, NULL, 0,
13847         "Amount", HFILL }},
13848     { &hf_qsig_aoc_vRVolumeUnit,
13849       { "vRVolumeUnit", "qsig.aoc.vRVolumeUnit",
13850         FT_UINT32, BASE_DEC, VALS(qsig_aoc_VolumeUnit_vals), 0,
13851         "VolumeUnit", HFILL }},
13852     { &hf_qsig_aoc_rCurrency,
13853       { "rCurrency", "qsig.aoc.rCurrency",
13854         FT_STRING, BASE_NONE, NULL, 0,
13855         "Currency", HFILL }},
13856     { &hf_qsig_aoc_rAmount,
13857       { "rAmount", "qsig.aoc.rAmount",
13858         FT_NONE, BASE_NONE, NULL, 0,
13859         "Amount", HFILL }},
13860     { &hf_qsig_aoc_currencyAmount,
13861       { "currencyAmount", "qsig.aoc.currencyAmount",
13862         FT_UINT32, BASE_DEC, NULL, 0,
13863         NULL, HFILL }},
13864     { &hf_qsig_aoc_multiplier,
13865       { "multiplier", "qsig.aoc.multiplier",
13866         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Multiplier_vals), 0,
13867         NULL, HFILL }},
13868     { &hf_qsig_aoc_lengthOfTimeUnit,
13869       { "lengthOfTimeUnit", "qsig.aoc.lengthOfTimeUnit",
13870         FT_UINT32, BASE_DEC, NULL, 0,
13871         NULL, HFILL }},
13872     { &hf_qsig_aoc_scale,
13873       { "scale", "qsig.aoc.scale",
13874         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Scale_vals), 0,
13875         NULL, HFILL }},
13876     { &hf_qsig_aoc_chargeNumber,
13877       { "chargeNumber", "qsig.aoc.chargeNumber",
13878         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13879         "PartyNumber", HFILL }},
13880     { &hf_qsig_aoc_chargeIdentifier,
13881       { "chargeIdentifier", "qsig.aoc.chargeIdentifier",
13882         FT_INT32, BASE_DEC, NULL, 0,
13883         NULL, HFILL }},
13884     { &hf_qsig_aoc_adviceModeCombinations,
13885       { "adviceModeCombinations", "qsig.aoc.adviceModeCombinations",
13886         FT_UINT32, BASE_DEC, NULL, 0,
13887         "SEQUENCE_SIZE_0_7_OF_AdviceModeCombination", HFILL }},
13888     { &hf_qsig_aoc_adviceModeCombinations_item,
13889       { "AdviceModeCombination", "qsig.aoc.AdviceModeCombination",
13890         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13891         NULL, HFILL }},
13892     { &hf_qsig_aoc_chargeReqArgExtension,
13893       { "chargeReqArgExtension", "qsig.aoc.chargeReqArgExtension",
13894         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqArgExtension_vals), 0,
13895         NULL, HFILL }},
13896     { &hf_qsig_aoc_adviceModeCombination,
13897       { "adviceModeCombination", "qsig.aoc.adviceModeCombination",
13898         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13899         NULL, HFILL }},
13900     { &hf_qsig_aoc_chargeReqResExtension,
13901       { "chargeReqResExtension", "qsig.aoc.chargeReqResExtension",
13902         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqResExtension_vals), 0,
13903         NULL, HFILL }},
13904     { &hf_qsig_aoc_none,
13905       { "none", "qsig.aoc.none",
13906         FT_NONE, BASE_NONE, NULL, 0,
13907         NULL, HFILL }},
13908     { &hf_qsig_aoc_chargedUser,
13909       { "chargedUser", "qsig.aoc.chargedUser",
13910         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13911         "PartyNumber", HFILL }},
13912     { &hf_qsig_aoc_completeArgExtension,
13913       { "completeArgExtension", "qsig.aoc.completeArgExtension",
13914         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeArgExtension_vals), 0,
13915         NULL, HFILL }},
13916     { &hf_qsig_aoc_chargingOption,
13917       { "chargingOption", "qsig.aoc.chargingOption",
13918         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingOption_vals), 0,
13919         NULL, HFILL }},
13920     { &hf_qsig_aoc_completeResExtension,
13921       { "completeResExtension", "qsig.aoc.completeResExtension",
13922         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeResExtension_vals), 0,
13923         NULL, HFILL }},
13924     { &hf_qsig_aoc_divertingUser,
13925       { "divertingUser", "qsig.aoc.divertingUser",
13926         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13927         "PartyNumber", HFILL }},
13928     { &hf_qsig_aoc_diversionType,
13929       { "diversionType", "qsig.aoc.diversionType",
13930         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DiversionType_vals), 0,
13931         NULL, HFILL }},
13932     { &hf_qsig_aoc_aocDivChargeReqArgExt,
13933       { "aocDivChargeReqArgExt", "qsig.aoc.aocDivChargeReqArgExt",
13934         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocDivChargeReqArgExt_vals), 0,
13935         NULL, HFILL }},
13936
13937 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
13938
13939     { &hf_qsig_re_qsig_re_ReAlertingArg_PDU,
13940       { "ReAlertingArg", "qsig.re.ReAlertingArg",
13941         FT_NONE, BASE_NONE, NULL, 0,
13942         NULL, HFILL }},
13943     { &hf_qsig_re_qsig_re_ReAnswerArg_PDU,
13944       { "ReAnswerArg", "qsig.re.ReAnswerArg",
13945         FT_NONE, BASE_NONE, NULL, 0,
13946         NULL, HFILL }},
13947     { &hf_qsig_re_alertedNumber,
13948       { "alertedNumber", "qsig.re.alertedNumber",
13949         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13950         "PresentedNumberScreened", HFILL }},
13951     { &hf_qsig_re_alertedName,
13952       { "alertedName", "qsig.re.alertedName",
13953         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13954         "Name", HFILL }},
13955     { &hf_qsig_re_argumentExtension,
13956       { "argumentExtension", "qsig.re.argumentExtension",
13957         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_vals), 0,
13958         NULL, HFILL }},
13959     { &hf_qsig_re_extension,
13960       { "extension", "qsig.re.extension",
13961         FT_NONE, BASE_NONE, NULL, 0,
13962         NULL, HFILL }},
13963     { &hf_qsig_re_multipleExtension,
13964       { "multipleExtension", "qsig.re.multipleExtension",
13965         FT_UINT32, BASE_DEC, NULL, 0,
13966         "SEQUENCE_OF_Extension", HFILL }},
13967     { &hf_qsig_re_multipleExtension_item,
13968       { "Extension", "qsig.re.Extension",
13969         FT_NONE, BASE_NONE, NULL, 0,
13970         NULL, HFILL }},
13971     { &hf_qsig_re_connectedNumber,
13972       { "connectedNumber", "qsig.re.connectedNumber",
13973         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13974         "PresentedNumberScreened", HFILL }},
13975     { &hf_qsig_re_connectedSubaddress,
13976       { "connectedSubaddress", "qsig.re.connectedSubaddress",
13977         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13978         "PartySubaddress", HFILL }},
13979     { &hf_qsig_re_connectedName,
13980       { "connectedName", "qsig.re.connectedName",
13981         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13982         "Name", HFILL }},
13983     { &hf_qsig_re_argumentExtension_01,
13984       { "argumentExtension", "qsig.re.argumentExtension",
13985         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_01_vals), 0,
13986         "T_argumentExtension_01", HFILL }},
13987
13988 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
13989
13990     { &hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU,
13991       { "SynchronizationReqArg", "qsig.sync.SynchronizationReqArg",
13992         FT_NONE, BASE_NONE, NULL, 0,
13993         NULL, HFILL }},
13994     { &hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU,
13995       { "SynchronizationReqRes", "qsig.sync.SynchronizationReqRes",
13996         FT_NONE, BASE_NONE, NULL, 0,
13997         NULL, HFILL }},
13998     { &hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU,
13999       { "SynchronizationInfoArg", "qsig.sync.SynchronizationInfoArg",
14000         FT_NONE, BASE_NONE, NULL, 0,
14001         NULL, HFILL }},
14002     { &hf_qsig_sync_qsig_sync_Extension_PDU,
14003       { "Extension", "qsig.sync.Extension",
14004         FT_NONE, BASE_NONE, NULL, 0,
14005         NULL, HFILL }},
14006     { &hf_qsig_sync_action,
14007       { "action", "qsig.sync.action",
14008         FT_INT32, BASE_DEC, VALS(qsig_sync_Action_vals), 0,
14009         NULL, HFILL }},
14010     { &hf_qsig_sync_argExtension,
14011       { "argExtension", "qsig.sync.argExtension",
14012         FT_UINT32, BASE_DEC, VALS(qsig_sync_ArgExtension_vals), 0,
14013         NULL, HFILL }},
14014     { &hf_qsig_sync_response,
14015       { "response", "qsig.sync.response",
14016         FT_BOOLEAN, BASE_NONE, NULL, 0,
14017         "BOOLEAN", HFILL }},
14018     { &hf_qsig_sync_stateinfo,
14019       { "stateinfo", "qsig.sync.stateinfo",
14020         FT_INT32, BASE_DEC, VALS(qsig_sync_T_stateinfo_vals), 0,
14021         NULL, HFILL }},
14022     { &hf_qsig_sync_extension,
14023       { "extension", "qsig.sync.extension",
14024         FT_NONE, BASE_NONE, NULL, 0,
14025         NULL, HFILL }},
14026     { &hf_qsig_sync_sequOfExtn,
14027       { "sequOfExtn", "qsig.sync.sequOfExtn",
14028         FT_UINT32, BASE_DEC, NULL, 0,
14029         "SEQUENCE_OF_Extension", HFILL }},
14030     { &hf_qsig_sync_sequOfExtn_item,
14031       { "Extension", "qsig.sync.Extension",
14032         FT_NONE, BASE_NONE, NULL, 0,
14033         NULL, HFILL }},
14034
14035 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
14036
14037     { &hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU,
14038       { "CintInformation1Arg", "qsig.cint.CintInformation1Arg",
14039         FT_NONE, BASE_NONE, NULL, 0,
14040         NULL, HFILL }},
14041     { &hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU,
14042       { "CintInformation2Arg", "qsig.cint.CintInformation2Arg",
14043         FT_NONE, BASE_NONE, NULL, 0,
14044         NULL, HFILL }},
14045     { &hf_qsig_cint_qsig_cint_CintCondArg_PDU,
14046       { "CintCondArg", "qsig.cint.CintCondArg",
14047         FT_NONE, BASE_NONE, NULL, 0,
14048         NULL, HFILL }},
14049     { &hf_qsig_cint_qsig_cint_CintExtension_PDU,
14050       { "CintExtension", "qsig.cint.CintExtension",
14051         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
14052         NULL, HFILL }},
14053     { &hf_qsig_cint_interceptionCause,
14054       { "interceptionCause", "qsig.cint.interceptionCause",
14055         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintCause_vals), 0,
14056         "CintCause", HFILL }},
14057     { &hf_qsig_cint_interceptedToNumber,
14058       { "interceptedToNumber", "qsig.cint.interceptedToNumber",
14059         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14060         "PartyNumber", HFILL }},
14061     { &hf_qsig_cint_extension,
14062       { "extension", "qsig.cint.extension",
14063         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
14064         "CintExtension", HFILL }},
14065     { &hf_qsig_cint_calledNumber,
14066       { "calledNumber", "qsig.cint.calledNumber",
14067         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
14068         "PresentedNumberUnscreened", HFILL }},
14069     { &hf_qsig_cint_originalCalledNumber,
14070       { "originalCalledNumber", "qsig.cint.originalCalledNumber",
14071         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
14072         "PresentedNumberUnscreened", HFILL }},
14073     { &hf_qsig_cint_calledName,
14074       { "calledName", "qsig.cint.calledName",
14075         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14076         "Name", HFILL }},
14077     { &hf_qsig_cint_originalCalledName,
14078       { "originalCalledName", "qsig.cint.originalCalledName",
14079         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14080         "Name", HFILL }},
14081     { &hf_qsig_cint_interceptionCause_01,
14082       { "interceptionCause", "qsig.cint.interceptionCause",
14083         FT_UINT32, BASE_DEC, VALS(qsig_cint_Condition_vals), 0,
14084         "Condition", HFILL }},
14085     { &hf_qsig_cint_none,
14086       { "none", "qsig.cint.none",
14087         FT_NONE, BASE_NONE, NULL, 0,
14088         NULL, HFILL }},
14089     { &hf_qsig_cint_single,
14090       { "single", "qsig.cint.single",
14091         FT_NONE, BASE_NONE, NULL, 0,
14092         "Extension", HFILL }},
14093     { &hf_qsig_cint_multiple,
14094       { "multiple", "qsig.cint.multiple",
14095         FT_UINT32, BASE_DEC, NULL, 0,
14096         "SEQUENCE_OF_Extension", HFILL }},
14097     { &hf_qsig_cint_multiple_item,
14098       { "Extension", "qsig.cint.Extension",
14099         FT_NONE, BASE_NONE, NULL, 0,
14100         NULL, HFILL }},
14101
14102 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
14103
14104     { &hf_qsig_cmn_qsig_cmn_DummyArg_PDU,
14105       { "DummyArg", "qsig.cmn.DummyArg",
14106         FT_UINT32, BASE_DEC, VALS(qsig_cmn_DummyArg_vals), 0,
14107         NULL, HFILL }},
14108     { &hf_qsig_cmn_qsig_cmn_CmnArg_PDU,
14109       { "CmnArg", "qsig.cmn.CmnArg",
14110         FT_NONE, BASE_NONE, NULL, 0,
14111         NULL, HFILL }},
14112     { &hf_qsig_cmn_featureIdentifier,
14113       { "featureIdentifier", "qsig.cmn.featureIdentifier",
14114         FT_BYTES, BASE_NONE, NULL, 0,
14115         "FeatureIdList", HFILL }},
14116     { &hf_qsig_cmn_ssDNDOprotectionLevel,
14117       { "ssDNDOprotectionLevel", "qsig.cmn.ssDNDOprotectionLevel",
14118         FT_UINT32, BASE_DEC, NULL, 0,
14119         "INTEGER_0_3", HFILL }},
14120     { &hf_qsig_cmn_ssCIprotectionLevel,
14121       { "ssCIprotectionLevel", "qsig.cmn.ssCIprotectionLevel",
14122         FT_UINT32, BASE_DEC, NULL, 0,
14123         "INTEGER_0_3", HFILL }},
14124     { &hf_qsig_cmn_equipmentIdentity,
14125       { "equipmentIdentity", "qsig.cmn.equipmentIdentity",
14126         FT_NONE, BASE_NONE, NULL, 0,
14127         "EquipmentId", HFILL }},
14128     { &hf_qsig_cmn_partyCategory,
14129       { "partyCategory", "qsig.cmn.partyCategory",
14130         FT_UINT32, BASE_DEC, VALS(qsig_cmn_PartyCategory_vals), 0,
14131         NULL, HFILL }},
14132     { &hf_qsig_cmn_extension,
14133       { "extension", "qsig.cmn.extension",
14134         FT_UINT32, BASE_DEC, VALS(qsig_cmn_T_extension_vals), 0,
14135         NULL, HFILL }},
14136     { &hf_qsig_cmn_single,
14137       { "single", "qsig.cmn.single",
14138         FT_NONE, BASE_NONE, NULL, 0,
14139         "Extension", HFILL }},
14140     { &hf_qsig_cmn_multiple,
14141       { "multiple", "qsig.cmn.multiple",
14142         FT_UINT32, BASE_DEC, NULL, 0,
14143         "SEQUENCE_OF_Extension", HFILL }},
14144     { &hf_qsig_cmn_multiple_item,
14145       { "Extension", "qsig.cmn.Extension",
14146         FT_NONE, BASE_NONE, NULL, 0,
14147         NULL, HFILL }},
14148     { &hf_qsig_cmn_null,
14149       { "null", "qsig.cmn.null",
14150         FT_NONE, BASE_NONE, NULL, 0,
14151         NULL, HFILL }},
14152     { &hf_qsig_cmn_nodeId,
14153       { "nodeId", "qsig.cmn.nodeId",
14154         FT_STRING, BASE_NONE, NULL, 0,
14155         "IA5String_SIZE_1_10", HFILL }},
14156     { &hf_qsig_cmn_groupId,
14157       { "groupId", "qsig.cmn.groupId",
14158         FT_STRING, BASE_NONE, NULL, 0,
14159         "IA5String_SIZE_1_10", HFILL }},
14160     { &hf_qsig_cmn_unitId,
14161       { "unitId", "qsig.cmn.unitId",
14162         FT_STRING, BASE_NONE, NULL, 0,
14163         "IA5String_SIZE_1_10", HFILL }},
14164     { &hf_qsig_cmn_FeatureIdList_reserved,
14165       { "reserved", "qsig.cmn.reserved",
14166         FT_BOOLEAN, 8, NULL, 0x80,
14167         NULL, HFILL }},
14168     { &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported,
14169       { "ssCFreRoutingSupported", "qsig.cmn.ssCFreRoutingSupported",
14170         FT_BOOLEAN, 8, NULL, 0x40,
14171         NULL, HFILL }},
14172     { &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported,
14173       { "ssCTreRoutingSupported", "qsig.cmn.ssCTreRoutingSupported",
14174         FT_BOOLEAN, 8, NULL, 0x20,
14175         NULL, HFILL }},
14176     { &hf_qsig_cmn_FeatureIdList_ssCCBSpossible,
14177       { "ssCCBSpossible", "qsig.cmn.ssCCBSpossible",
14178         FT_BOOLEAN, 8, NULL, 0x10,
14179         NULL, HFILL }},
14180     { &hf_qsig_cmn_FeatureIdList_ssCCNRpossible,
14181       { "ssCCNRpossible", "qsig.cmn.ssCCNRpossible",
14182         FT_BOOLEAN, 8, NULL, 0x08,
14183         NULL, HFILL }},
14184     { &hf_qsig_cmn_FeatureIdList_ssCOsupported,
14185       { "ssCOsupported", "qsig.cmn.ssCOsupported",
14186         FT_BOOLEAN, 8, NULL, 0x04,
14187         NULL, HFILL }},
14188     { &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease,
14189       { "ssCIforcedRelease", "qsig.cmn.ssCIforcedRelease",
14190         FT_BOOLEAN, 8, NULL, 0x02,
14191         NULL, HFILL }},
14192     { &hf_qsig_cmn_FeatureIdList_ssCIisolation,
14193       { "ssCIisolation", "qsig.cmn.ssCIisolation",
14194         FT_BOOLEAN, 8, NULL, 0x01,
14195         NULL, HFILL }},
14196     { &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy,
14197       { "ssCIwaitOnBusy", "qsig.cmn.ssCIwaitOnBusy",
14198         FT_BOOLEAN, 8, NULL, 0x80,
14199         NULL, HFILL }},
14200     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx,
14201       { "ssAOCsupportChargeRateProvAtGatewPinx", "qsig.cmn.ssAOCsupportChargeRateProvAtGatewPinx",
14202         FT_BOOLEAN, 8, NULL, 0x40,
14203         NULL, HFILL }},
14204     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx,
14205       { "ssAOCsupportInterimChargeProvAtGatewPinx", "qsig.cmn.ssAOCsupportInterimChargeProvAtGatewPinx",
14206         FT_BOOLEAN, 8, NULL, 0x20,
14207         NULL, HFILL }},
14208     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx,
14209       { "ssAOCsupportFinalChargeProvAtGatewPinx", "qsig.cmn.ssAOCsupportFinalChargeProvAtGatewPinx",
14210         FT_BOOLEAN, 8, NULL, 0x10,
14211         NULL, HFILL }},
14212     { &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx,
14213       { "anfPRsupportedAtCooperatingPinx", "qsig.cmn.anfPRsupportedAtCooperatingPinx",
14214         FT_BOOLEAN, 8, NULL, 0x08,
14215         NULL, HFILL }},
14216     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate,
14217       { "anfCINTcanInterceptImmediate", "qsig.cmn.anfCINTcanInterceptImmediate",
14218         FT_BOOLEAN, 8, NULL, 0x04,
14219         NULL, HFILL }},
14220     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed,
14221       { "anfCINTcanInterceptDelayed", "qsig.cmn.anfCINTcanInterceptDelayed",
14222         FT_BOOLEAN, 8, NULL, 0x02,
14223         NULL, HFILL }},
14224     { &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported,
14225       { "anfWTMIreRoutingSupported", "qsig.cmn.anfWTMIreRoutingSupported",
14226         FT_BOOLEAN, 8, NULL, 0x01,
14227         NULL, HFILL }},
14228     { &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported,
14229       { "anfPUMIreRoutingSupported", "qsig.cmn.anfPUMIreRoutingSupported",
14230         FT_BOOLEAN, 8, NULL, 0x80,
14231         NULL, HFILL }},
14232     { &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported,
14233       { "ssSSCTreRoutingSupported", "qsig.cmn.ssSSCTreRoutingSupported",
14234         FT_BOOLEAN, 8, NULL, 0x40,
14235         NULL, HFILL }},
14236
14237 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
14238
14239     { &hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU,
14240       { "CPIRequestArg", "qsig.cpi.CPIRequestArg",
14241         FT_NONE, BASE_NONE, NULL, 0,
14242         NULL, HFILL }},
14243     { &hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU,
14244       { "CPIPRequestArg", "qsig.cpi.CPIPRequestArg",
14245         FT_NONE, BASE_NONE, NULL, 0,
14246         NULL, HFILL }},
14247     { &hf_qsig_cpi_cpiCapabilityLevel,
14248       { "cpiCapabilityLevel", "qsig.cpi.cpiCapabilityLevel",
14249         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPICapabilityLevel_vals), 0,
14250         NULL, HFILL }},
14251     { &hf_qsig_cpi_argumentExtension,
14252       { "argumentExtension", "qsig.cpi.argumentExtension",
14253         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_vals), 0,
14254         NULL, HFILL }},
14255     { &hf_qsig_cpi_extension,
14256       { "extension", "qsig.cpi.extension",
14257         FT_NONE, BASE_NONE, NULL, 0,
14258         NULL, HFILL }},
14259     { &hf_qsig_cpi_sequenceOfExtn,
14260       { "sequenceOfExtn", "qsig.cpi.sequenceOfExtn",
14261         FT_UINT32, BASE_DEC, NULL, 0,
14262         "SEQUENCE_OF_Extension", HFILL }},
14263     { &hf_qsig_cpi_sequenceOfExtn_item,
14264       { "Extension", "qsig.cpi.Extension",
14265         FT_NONE, BASE_NONE, NULL, 0,
14266         NULL, HFILL }},
14267     { &hf_qsig_cpi_cpiProtectionLevel,
14268       { "cpiProtectionLevel", "qsig.cpi.cpiProtectionLevel",
14269         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPIProtectionLevel_vals), 0,
14270         NULL, HFILL }},
14271     { &hf_qsig_cpi_argumentExtension_01,
14272       { "argumentExtension", "qsig.cpi.argumentExtension",
14273         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_01_vals), 0,
14274         "T_argumentExtension_01", HFILL }},
14275
14276 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
14277
14278     { &hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU,
14279       { "PumRegistrArg", "qsig.pumr.PumRegistrArg",
14280         FT_NONE, BASE_NONE, NULL, 0,
14281         NULL, HFILL }},
14282     { &hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU,
14283       { "PumRegistrRes", "qsig.pumr.PumRegistrRes",
14284         FT_NONE, BASE_NONE, NULL, 0,
14285         NULL, HFILL }},
14286     { &hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU,
14287       { "PumDelRegArg", "qsig.pumr.PumDelRegArg",
14288         FT_NONE, BASE_NONE, NULL, 0,
14289         NULL, HFILL }},
14290     { &hf_qsig_pumr_qsig_pumr_DummyRes_PDU,
14291       { "DummyRes", "qsig.pumr.DummyRes",
14292         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DummyRes_vals), 0,
14293         NULL, HFILL }},
14294     { &hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU,
14295       { "PumDe-regArg", "qsig.pumr.PumDe_regArg",
14296         FT_NONE, BASE_NONE, NULL, 0,
14297         NULL, HFILL }},
14298     { &hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU,
14299       { "PumInterrogArg", "qsig.pumr.PumInterrogArg",
14300         FT_NONE, BASE_NONE, NULL, 0,
14301         NULL, HFILL }},
14302     { &hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU,
14303       { "PumInterrogRes", "qsig.pumr.PumInterrogRes",
14304         FT_UINT32, BASE_DEC, NULL, 0,
14305         NULL, HFILL }},
14306     { &hf_qsig_pumr_qsig_pumr_Extension_PDU,
14307       { "Extension", "qsig.pumr.Extension",
14308         FT_NONE, BASE_NONE, NULL, 0,
14309         NULL, HFILL }},
14310     { &hf_qsig_pumr_pumRUserId,
14311       { "pumUserId", "qsig.pumr.pumUserId",
14312         FT_UINT32, BASE_DEC, VALS(qsig_pumr_RpumUserId_vals), 0,
14313         "RpumUserId", HFILL }},
14314     { &hf_qsig_pumr_pumNumber,
14315       { "pumNumber", "qsig.pumr.pumNumber",
14316         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14317         "PartyNumber", HFILL }},
14318     { &hf_qsig_pumr_alternativeId,
14319       { "alternativeId", "qsig.pumr.alternativeId",
14320         FT_BYTES, BASE_NONE, NULL, 0,
14321         NULL, HFILL }},
14322     { &hf_qsig_pumr_basicService,
14323       { "basicService", "qsig.pumr.basicService",
14324         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14325         NULL, HFILL }},
14326     { &hf_qsig_pumr_hostingAddr,
14327       { "hostingAddr", "qsig.pumr.hostingAddr",
14328         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14329         "PartyNumber", HFILL }},
14330     { &hf_qsig_pumr_activatingUserAddr,
14331       { "activatingUserAddr", "qsig.pumr.activatingUserAddr",
14332         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14333         "PartyNumber", HFILL }},
14334     { &hf_qsig_pumr_serviceOption,
14335       { "serviceOption", "qsig.pumr.serviceOption",
14336         FT_UINT32, BASE_DEC, VALS(qsig_pumr_ServiceOption_vals), 0,
14337         NULL, HFILL }},
14338     { &hf_qsig_pumr_sessionParams,
14339       { "sessionParams", "qsig.pumr.sessionParams",
14340         FT_NONE, BASE_NONE, NULL, 0,
14341         NULL, HFILL }},
14342     { &hf_qsig_pumr_userPin,
14343       { "userPin", "qsig.pumr.userPin",
14344         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_vals), 0,
14345         NULL, HFILL }},
14346     { &hf_qsig_pumr_pumUserPin,
14347       { "pumUserPin", "qsig.pumr.pumUserPin",
14348         FT_BYTES, BASE_NONE, NULL, 0,
14349         "UserPin", HFILL }},
14350     { &hf_qsig_pumr_activatingUserPin,
14351       { "activatingUserPin", "qsig.pumr.activatingUserPin",
14352         FT_BYTES, BASE_NONE, NULL, 0,
14353         "UserPin", HFILL }},
14354     { &hf_qsig_pumr_argExtension,
14355       { "argExtension", "qsig.pumr.argExtension",
14356         FT_UINT32, BASE_DEC, VALS(qsig_pumr_PumrExtension_vals), 0,
14357         "PumrExtension", HFILL }},
14358     { &hf_qsig_pumr_null,
14359       { "null", "qsig.pumr.null",
14360         FT_NONE, BASE_NONE, NULL, 0,
14361         NULL, HFILL }},
14362     { &hf_qsig_pumr_extension,
14363       { "extension", "qsig.pumr.extension",
14364         FT_NONE, BASE_NONE, NULL, 0,
14365         NULL, HFILL }},
14366     { &hf_qsig_pumr_sequOfExtn,
14367       { "sequOfExtn", "qsig.pumr.sequOfExtn",
14368         FT_UINT32, BASE_DEC, NULL, 0,
14369         "SEQUENCE_OF_Extension", HFILL }},
14370     { &hf_qsig_pumr_sequOfExtn_item,
14371       { "Extension", "qsig.pumr.Extension",
14372         FT_NONE, BASE_NONE, NULL, 0,
14373         NULL, HFILL }},
14374     { &hf_qsig_pumr_pumXUserId,
14375       { "pumUserId", "qsig.pumr.pumUserId",
14376         FT_UINT32, BASE_DEC, VALS(qsig_pumr_XpumUserId_vals), 0,
14377         "XpumUserId", HFILL }},
14378     { &hf_qsig_pumr_pumDUserId,
14379       { "pumUserId", "qsig.pumr.pumUserId",
14380         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DpumUserId_vals), 0,
14381         "DpumUserId", HFILL }},
14382     { &hf_qsig_pumr_userPin_01,
14383       { "userPin", "qsig.pumr.userPin",
14384         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_01_vals), 0,
14385         "T_userPin_01", HFILL }},
14386     { &hf_qsig_pumr_pumIUserId,
14387       { "pumUserId", "qsig.pumr.pumUserId",
14388         FT_UINT32, BASE_DEC, VALS(qsig_pumr_IpumUserId_vals), 0,
14389         "IpumUserId", HFILL }},
14390     { &hf_qsig_pumr_homeInfoOnly,
14391       { "homeInfoOnly", "qsig.pumr.homeInfoOnly",
14392         FT_BOOLEAN, BASE_NONE, NULL, 0,
14393         "BOOLEAN", HFILL }},
14394     { &hf_qsig_pumr_userPin_02,
14395       { "userPin", "qsig.pumr.userPin",
14396         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_02_vals), 0,
14397         "T_userPin_02", HFILL }},
14398     { &hf_qsig_pumr_PumInterrogRes_item,
14399       { "PumInterrogRes item", "qsig.pumr.PumInterrogRes_item",
14400         FT_NONE, BASE_NONE, NULL, 0,
14401         NULL, HFILL }},
14402     { &hf_qsig_pumr_interrogParams,
14403       { "interrogParams", "qsig.pumr.interrogParams",
14404         FT_NONE, BASE_NONE, NULL, 0,
14405         "SessionParams", HFILL }},
14406     { &hf_qsig_pumr_durationOfSession,
14407       { "durationOfSession", "qsig.pumr.durationOfSession",
14408         FT_INT32, BASE_DEC, NULL, 0,
14409         "INTEGER", HFILL }},
14410     { &hf_qsig_pumr_numberOfOutgCalls,
14411       { "numberOfOutgCalls", "qsig.pumr.numberOfOutgCalls",
14412         FT_INT32, BASE_DEC, NULL, 0,
14413         "INTEGER", HFILL }},
14414
14415 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
14416
14417     { &hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU,
14418       { "EnquiryArg", "qsig.pumch.EnquiryArg",
14419         FT_NONE, BASE_NONE, NULL, 0,
14420         NULL, HFILL }},
14421     { &hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU,
14422       { "EnquiryRes", "qsig.pumch.EnquiryRes",
14423         FT_UINT32, BASE_DEC, VALS(qsig_pumch_EnquiryRes_vals), 0,
14424         NULL, HFILL }},
14425     { &hf_qsig_pumch_qsig_pumch_DivertArg_PDU,
14426       { "DivertArg", "qsig.pumch.DivertArg",
14427         FT_NONE, BASE_NONE, NULL, 0,
14428         NULL, HFILL }},
14429     { &hf_qsig_pumch_qsig_pumch_DummyRes_PDU,
14430       { "DummyRes", "qsig.pumch.DummyRes",
14431         FT_UINT32, BASE_DEC, VALS(qsig_pumch_DummyRes_vals), 0,
14432         NULL, HFILL }},
14433     { &hf_qsig_pumch_qsig_pumch_InformArg_PDU,
14434       { "InformArg", "qsig.pumch.InformArg",
14435         FT_NONE, BASE_NONE, NULL, 0,
14436         NULL, HFILL }},
14437     { &hf_qsig_pumch_qsig_pumch_PumoArg_PDU,
14438       { "PumoArg", "qsig.pumch.PumoArg",
14439         FT_NONE, BASE_NONE, NULL, 0,
14440         NULL, HFILL }},
14441     { &hf_qsig_pumch_qsig_pumch_Extension_PDU,
14442       { "Extension", "qsig.pumch.Extension",
14443         FT_NONE, BASE_NONE, NULL, 0,
14444         NULL, HFILL }},
14445     { &hf_qsig_pumch_pisnNumber,
14446       { "pisnNumber", "qsig.pumch.pisnNumber",
14447         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14448         "PartyNumber", HFILL }},
14449     { &hf_qsig_pumch_qSIGInfoElement,
14450       { "qSIGInfoElement", "qsig.pumch.qSIGInfoElement",
14451         FT_BYTES, BASE_NONE, NULL, 0,
14452         "PSS1InformationElement", HFILL }},
14453     { &hf_qsig_pumch_argExtension,
14454       { "argExtension", "qsig.pumch.argExtension",
14455         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumiExtension_vals), 0,
14456         "PumiExtension", HFILL }},
14457     { &hf_qsig_pumch_hostingAddr,
14458       { "hostingAddr", "qsig.pumch.hostingAddr",
14459         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14460         "PartyNumber", HFILL }},
14461     { &hf_qsig_pumch_callingNumber,
14462       { "callingNumber", "qsig.pumch.callingNumber",
14463         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14464         "PresentedNumberScreened", HFILL }},
14465     { &hf_qsig_pumch_pumIdentity,
14466       { "pumIdentity", "qsig.pumch.pumIdentity",
14467         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumIdentity_vals), 0,
14468         NULL, HFILL }},
14469     { &hf_qsig_pumch_callingUserSub,
14470       { "callingUserSub", "qsig.pumch.callingUserSub",
14471         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14472         "PartySubaddress", HFILL }},
14473     { &hf_qsig_pumch_callingUserName,
14474       { "callingUserName", "qsig.pumch.callingUserName",
14475         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14476         "Name", HFILL }},
14477     { &hf_qsig_pumch_pumUserSub,
14478       { "pumUserSub", "qsig.pumch.pumUserSub",
14479         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14480         "PartySubaddress", HFILL }},
14481     { &hf_qsig_pumch_currLocation,
14482       { "currLocation", "qsig.pumch.currLocation",
14483         FT_NONE, BASE_NONE, NULL, 0,
14484         NULL, HFILL }},
14485     { &hf_qsig_pumch_cfuActivated,
14486       { "cfuActivated", "qsig.pumch.cfuActivated",
14487         FT_NONE, BASE_NONE, NULL, 0,
14488         NULL, HFILL }},
14489     { &hf_qsig_pumch_divToAddress,
14490       { "divToAddress", "qsig.pumch.divToAddress",
14491         FT_NONE, BASE_NONE, NULL, 0,
14492         "Address", HFILL }},
14493     { &hf_qsig_pumch_divOptions,
14494       { "divOptions", "qsig.pumch.divOptions",
14495         FT_UINT32, BASE_DEC, VALS(qsig_pumch_SubscriptionOption_vals), 0,
14496         "SubscriptionOption", HFILL }},
14497     { &hf_qsig_pumch_pumName,
14498       { "pumName", "qsig.pumch.pumName",
14499         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14500         "Name", HFILL }},
14501     { &hf_qsig_pumch_null,
14502       { "null", "qsig.pumch.null",
14503         FT_NONE, BASE_NONE, NULL, 0,
14504         NULL, HFILL }},
14505     { &hf_qsig_pumch_extension,
14506       { "extension", "qsig.pumch.extension",
14507         FT_NONE, BASE_NONE, NULL, 0,
14508         NULL, HFILL }},
14509     { &hf_qsig_pumch_sequOfExtn,
14510       { "sequOfExtn", "qsig.pumch.sequOfExtn",
14511         FT_UINT32, BASE_DEC, NULL, 0,
14512         "SEQUENCE_OF_Extension", HFILL }},
14513     { &hf_qsig_pumch_sequOfExtn_item,
14514       { "Extension", "qsig.pumch.Extension",
14515         FT_NONE, BASE_NONE, NULL, 0,
14516         NULL, HFILL }},
14517     { &hf_qsig_pumch_alternativeId,
14518       { "alternativeId", "qsig.pumch.alternativeId",
14519         FT_BYTES, BASE_NONE, NULL, 0,
14520         NULL, HFILL }},
14521     { &hf_qsig_pumch_both,
14522       { "both", "qsig.pumch.both",
14523         FT_NONE, BASE_NONE, NULL, 0,
14524         NULL, HFILL }},
14525     { &hf_qsig_pumch_destinationNumber,
14526       { "destinationNumber", "qsig.pumch.destinationNumber",
14527         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14528         "PartyNumber", HFILL }},
14529     { &hf_qsig_pumch_sendingComplete,
14530       { "sendingComplete", "qsig.pumch.sendingComplete",
14531         FT_NONE, BASE_NONE, NULL, 0,
14532         NULL, HFILL }},
14533     { &hf_qsig_pumch_pumoaextension,
14534       { "extension", "qsig.pumch.extension",
14535         FT_UINT32, BASE_DEC, VALS(qsig_pumch_T_pumoaextension_vals), 0,
14536         "T_pumoaextension", HFILL }},
14537     { &hf_qsig_pumch_single,
14538       { "single", "qsig.pumch.single",
14539         FT_NONE, BASE_NONE, NULL, 0,
14540         "Extension", HFILL }},
14541     { &hf_qsig_pumch_multiple,
14542       { "multiple", "qsig.pumch.multiple",
14543         FT_UINT32, BASE_DEC, NULL, 0,
14544         "SEQUENCE_OF_Extension", HFILL }},
14545     { &hf_qsig_pumch_multiple_item,
14546       { "Extension", "qsig.pumch.Extension",
14547         FT_NONE, BASE_NONE, NULL, 0,
14548         NULL, HFILL }},
14549
14550 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
14551
14552     { &hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU,
14553       { "SSCTInitiateArg", "qsig.ssct.SSCTInitiateArg",
14554         FT_NONE, BASE_NONE, NULL, 0,
14555         NULL, HFILL }},
14556     { &hf_qsig_ssct_qsig_ssct_DummyRes_PDU,
14557       { "DummyRes", "qsig.ssct.DummyRes",
14558         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyRes_vals), 0,
14559         NULL, HFILL }},
14560     { &hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU,
14561       { "SSCTSetupArg", "qsig.ssct.SSCTSetupArg",
14562         FT_NONE, BASE_NONE, NULL, 0,
14563         NULL, HFILL }},
14564     { &hf_qsig_ssct_qsig_ssct_DummyArg_PDU,
14565       { "DummyArg", "qsig.ssct.DummyArg",
14566         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyArg_vals), 0,
14567         NULL, HFILL }},
14568     { &hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU,
14569       { "SSCTDigitInfoArg", "qsig.ssct.SSCTDigitInfoArg",
14570         FT_NONE, BASE_NONE, NULL, 0,
14571         NULL, HFILL }},
14572     { &hf_qsig_ssct_qsig_ssct_Extension_PDU,
14573       { "Extension", "qsig.ssct.Extension",
14574         FT_NONE, BASE_NONE, NULL, 0,
14575         NULL, HFILL }},
14576     { &hf_qsig_ssct_null,
14577       { "null", "qsig.ssct.null",
14578         FT_NONE, BASE_NONE, NULL, 0,
14579         NULL, HFILL }},
14580     { &hf_qsig_ssct_single,
14581       { "single", "qsig.ssct.single",
14582         FT_NONE, BASE_NONE, NULL, 0,
14583         "Extension", HFILL }},
14584     { &hf_qsig_ssct_multiple,
14585       { "multiple", "qsig.ssct.multiple",
14586         FT_UINT32, BASE_DEC, NULL, 0,
14587         "SEQUENCE_OF_Extension", HFILL }},
14588     { &hf_qsig_ssct_multiple_item,
14589       { "Extension", "qsig.ssct.Extension",
14590         FT_NONE, BASE_NONE, NULL, 0,
14591         NULL, HFILL }},
14592     { &hf_qsig_ssct_rerouteingNumber,
14593       { "rerouteingNumber", "qsig.ssct.rerouteingNumber",
14594         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14595         "PartyNumber", HFILL }},
14596     { &hf_qsig_ssct_transferredAddress,
14597       { "transferredAddress", "qsig.ssct.transferredAddress",
14598         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14599         "PresentedAddressScreened", HFILL }},
14600     { &hf_qsig_ssct_awaitConnect,
14601       { "awaitConnect", "qsig.ssct.awaitConnect",
14602         FT_BOOLEAN, BASE_NONE, NULL, 0,
14603         NULL, HFILL }},
14604     { &hf_qsig_ssct_transferredName,
14605       { "transferredName", "qsig.ssct.transferredName",
14606         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14607         "Name", HFILL }},
14608     { &hf_qsig_ssct_transferringAddress,
14609       { "transferringAddress", "qsig.ssct.transferringAddress",
14610         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14611         "PresentedAddressScreened", HFILL }},
14612     { &hf_qsig_ssct_transferringName,
14613       { "transferringName", "qsig.ssct.transferringName",
14614         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14615         "Name", HFILL }},
14616     { &hf_qsig_ssct_argumentExtensionSSCTI,
14617       { "argumentExtension", "qsig.ssct.argumentExtension",
14618         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTIargumentExtension_vals), 0,
14619         "SSCTIargumentExtension", HFILL }},
14620     { &hf_qsig_ssct_argumentExtensionSSCTS,
14621       { "argumentExtension", "qsig.ssct.argumentExtension",
14622         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTSargumentExtension_vals), 0,
14623         "SSCTSargumentExtension", HFILL }},
14624     { &hf_qsig_ssct_reroutingNumber,
14625       { "reroutingNumber", "qsig.ssct.reroutingNumber",
14626         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14627         "PartyNumber", HFILL }},
14628     { &hf_qsig_ssct_sendingComplete,
14629       { "sendingComplete", "qsig.ssct.sendingComplete",
14630         FT_NONE, BASE_NONE, NULL, 0,
14631         NULL, HFILL }},
14632     { &hf_qsig_ssct_argumentExtensionSSCTD,
14633       { "argumentExtension", "qsig.ssct.argumentExtension",
14634         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTDargumentExtension_vals), 0,
14635         "SSCTDargumentExtension", HFILL }},
14636
14637 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
14638
14639     { &hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU,
14640       { "LocUpdArg", "qsig.wtmlr.LocUpdArg",
14641         FT_NONE, BASE_NONE, NULL, 0,
14642         NULL, HFILL }},
14643     { &hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU,
14644       { "DummyRes", "qsig.wtmlr.DummyRes",
14645         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_DummyRes_vals), 0,
14646         NULL, HFILL }},
14647     { &hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU,
14648       { "LocDelArg", "qsig.wtmlr.LocDelArg",
14649         FT_NONE, BASE_NONE, NULL, 0,
14650         NULL, HFILL }},
14651     { &hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU,
14652       { "LocDeRegArg", "qsig.wtmlr.LocDeRegArg",
14653         FT_NONE, BASE_NONE, NULL, 0,
14654         NULL, HFILL }},
14655     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU,
14656       { "PisnEnqArg", "qsig.wtmlr.PisnEnqArg",
14657         FT_NONE, BASE_NONE, NULL, 0,
14658         NULL, HFILL }},
14659     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU,
14660       { "PisnEnqRes", "qsig.wtmlr.PisnEnqRes",
14661         FT_NONE, BASE_NONE, NULL, 0,
14662         NULL, HFILL }},
14663     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU,
14664       { "GetRRCInfArg", "qsig.wtmlr.GetRRCInfArg",
14665         FT_NONE, BASE_NONE, NULL, 0,
14666         NULL, HFILL }},
14667     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU,
14668       { "GetRRCInfRes", "qsig.wtmlr.GetRRCInfRes",
14669         FT_NONE, BASE_NONE, NULL, 0,
14670         NULL, HFILL }},
14671     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU,
14672       { "LocInfoCheckArg", "qsig.wtmlr.LocInfoCheckArg",
14673         FT_NONE, BASE_NONE, NULL, 0,
14674         NULL, HFILL }},
14675     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU,
14676       { "LocInfoCheckRes", "qsig.wtmlr.LocInfoCheckRes",
14677         FT_NONE, BASE_NONE, NULL, 0,
14678         NULL, HFILL }},
14679     { &hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU,
14680       { "Extension", "qsig.wtmlr.Extension",
14681         FT_NONE, BASE_NONE, NULL, 0,
14682         NULL, HFILL }},
14683     { &hf_qsig_wtmlr_wtmUserId,
14684       { "wtmUserId", "qsig.wtmlr.wtmUserId",
14685         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_WtmUserId_vals), 0,
14686         NULL, HFILL }},
14687     { &hf_qsig_wtmlr_basicService,
14688       { "basicService", "qsig.wtmlr.basicService",
14689         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14690         NULL, HFILL }},
14691     { &hf_qsig_wtmlr_visitPINX,
14692       { "visitPINX", "qsig.wtmlr.visitPINX",
14693         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14694         "PartyNumber", HFILL }},
14695     { &hf_qsig_wtmlr_argExtension,
14696       { "argExtension", "qsig.wtmlr.argExtension",
14697         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14698         "LrExtension", HFILL }},
14699     { &hf_qsig_wtmlr_null,
14700       { "null", "qsig.wtmlr.null",
14701         FT_NONE, BASE_NONE, NULL, 0,
14702         NULL, HFILL }},
14703     { &hf_qsig_wtmlr_extension,
14704       { "extension", "qsig.wtmlr.extension",
14705         FT_NONE, BASE_NONE, NULL, 0,
14706         NULL, HFILL }},
14707     { &hf_qsig_wtmlr_sequOfExtn,
14708       { "sequOfExtn", "qsig.wtmlr.sequOfExtn",
14709         FT_UINT32, BASE_DEC, NULL, 0,
14710         "SEQUENCE_OF_Extension", HFILL }},
14711     { &hf_qsig_wtmlr_sequOfExtn_item,
14712       { "Extension", "qsig.wtmlr.Extension",
14713         FT_NONE, BASE_NONE, NULL, 0,
14714         NULL, HFILL }},
14715     { &hf_qsig_wtmlr_alternativeId,
14716       { "alternativeId", "qsig.wtmlr.alternativeId",
14717         FT_BYTES, BASE_NONE, NULL, 0,
14718         NULL, HFILL }},
14719     { &hf_qsig_wtmlr_resExtension,
14720       { "resExtension", "qsig.wtmlr.resExtension",
14721         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14722         "LrExtension", HFILL }},
14723     { &hf_qsig_wtmlr_rrClass,
14724       { "rrClass", "qsig.wtmlr.rrClass",
14725         FT_UINT32, BASE_DEC, NULL, 0,
14726         NULL, HFILL }},
14727     { &hf_qsig_wtmlr_checkResult,
14728       { "checkResult", "qsig.wtmlr.checkResult",
14729         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_CheckResult_vals), 0,
14730         NULL, HFILL }},
14731     { &hf_qsig_wtmlr_pisnNumber,
14732       { "pisnNumber", "qsig.wtmlr.pisnNumber",
14733         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14734         "PartyNumber", HFILL }},
14735
14736 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
14737
14738     { &hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU,
14739       { "EnquiryArg", "qsig.wtmch.EnquiryArg",
14740         FT_NONE, BASE_NONE, NULL, 0,
14741         NULL, HFILL }},
14742     { &hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU,
14743       { "EnquiryRes", "qsig.wtmch.EnquiryRes",
14744         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_EnquiryRes_vals), 0,
14745         NULL, HFILL }},
14746     { &hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU,
14747       { "DivertArg", "qsig.wtmch.DivertArg",
14748         FT_NONE, BASE_NONE, NULL, 0,
14749         NULL, HFILL }},
14750     { &hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU,
14751       { "DummyRes", "qsig.wtmch.DummyRes",
14752         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_DummyRes_vals), 0,
14753         NULL, HFILL }},
14754     { &hf_qsig_wtmch_qsig_wtmch_InformArg_PDU,
14755       { "InformArg", "qsig.wtmch.InformArg",
14756         FT_NONE, BASE_NONE, NULL, 0,
14757         NULL, HFILL }},
14758     { &hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU,
14759       { "WtmoArg", "qsig.wtmch.WtmoArg",
14760         FT_NONE, BASE_NONE, NULL, 0,
14761         NULL, HFILL }},
14762     { &hf_qsig_wtmch_qsig_wtmch_Extension_PDU,
14763       { "Extension", "qsig.wtmch.Extension",
14764         FT_NONE, BASE_NONE, NULL, 0,
14765         NULL, HFILL }},
14766     { &hf_qsig_wtmch_pisnNumber,
14767       { "pisnNumber", "qsig.wtmch.pisnNumber",
14768         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14769         "PartyNumber", HFILL }},
14770     { &hf_qsig_wtmch_qSIGInfoElement,
14771       { "qSIGInfoElement", "qsig.wtmch.qSIGInfoElement",
14772         FT_BYTES, BASE_NONE, NULL, 0,
14773         "PSS1InformationElement", HFILL }},
14774     { &hf_qsig_wtmch_argExtension,
14775       { "argExtension", "qsig.wtmch.argExtension",
14776         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmiExtension_vals), 0,
14777         "WtmiExtension", HFILL }},
14778     { &hf_qsig_wtmch_visitPINX,
14779       { "visitPINX", "qsig.wtmch.visitPINX",
14780         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14781         "PartyNumber", HFILL }},
14782     { &hf_qsig_wtmch_callingNumber,
14783       { "callingNumber", "qsig.wtmch.callingNumber",
14784         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14785         "PresentedNumberScreened", HFILL }},
14786     { &hf_qsig_wtmch_wtmIdentity,
14787       { "wtmIdentity", "qsig.wtmch.wtmIdentity",
14788         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmIdentity_vals), 0,
14789         NULL, HFILL }},
14790     { &hf_qsig_wtmch_callingUserSub,
14791       { "callingUserSub", "qsig.wtmch.callingUserSub",
14792         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14793         "PartySubaddress", HFILL }},
14794     { &hf_qsig_wtmch_callingName,
14795       { "callingName", "qsig.wtmch.callingName",
14796         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14797         "Name", HFILL }},
14798     { &hf_qsig_wtmch_wtmUserSub,
14799       { "wtmUserSub", "qsig.wtmch.wtmUserSub",
14800         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14801         "PartySubaddress", HFILL }},
14802     { &hf_qsig_wtmch_currLocation,
14803       { "currLocation", "qsig.wtmch.currLocation",
14804         FT_NONE, BASE_NONE, NULL, 0,
14805         NULL, HFILL }},
14806     { &hf_qsig_wtmch_cfuActivated,
14807       { "cfuActivated", "qsig.wtmch.cfuActivated",
14808         FT_NONE, BASE_NONE, NULL, 0,
14809         NULL, HFILL }},
14810     { &hf_qsig_wtmch_divToAddress,
14811       { "divToAddress", "qsig.wtmch.divToAddress",
14812         FT_NONE, BASE_NONE, NULL, 0,
14813         "Address", HFILL }},
14814     { &hf_qsig_wtmch_divOptions,
14815       { "divOptions", "qsig.wtmch.divOptions",
14816         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_SubscriptionOption_vals), 0,
14817         "SubscriptionOption", HFILL }},
14818     { &hf_qsig_wtmch_wtmName,
14819       { "wtmName", "qsig.wtmch.wtmName",
14820         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14821         "Name", HFILL }},
14822     { &hf_qsig_wtmch_null,
14823       { "null", "qsig.wtmch.null",
14824         FT_NONE, BASE_NONE, NULL, 0,
14825         NULL, HFILL }},
14826     { &hf_qsig_wtmch_extension,
14827       { "extension", "qsig.wtmch.extension",
14828         FT_NONE, BASE_NONE, NULL, 0,
14829         NULL, HFILL }},
14830     { &hf_qsig_wtmch_sequOfExtn,
14831       { "sequOfExtn", "qsig.wtmch.sequOfExtn",
14832         FT_UINT32, BASE_DEC, NULL, 0,
14833         "SEQUENCE_OF_Extension", HFILL }},
14834     { &hf_qsig_wtmch_sequOfExtn_item,
14835       { "Extension", "qsig.wtmch.Extension",
14836         FT_NONE, BASE_NONE, NULL, 0,
14837         NULL, HFILL }},
14838     { &hf_qsig_wtmch_alternativeId,
14839       { "alternativeId", "qsig.wtmch.alternativeId",
14840         FT_BYTES, BASE_NONE, NULL, 0,
14841         NULL, HFILL }},
14842     { &hf_qsig_wtmch_both,
14843       { "both", "qsig.wtmch.both",
14844         FT_NONE, BASE_NONE, NULL, 0,
14845         NULL, HFILL }},
14846     { &hf_qsig_wtmch_destinationNumber,
14847       { "destinationNumber", "qsig.wtmch.destinationNumber",
14848         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14849         "PartyNumber", HFILL }},
14850     { &hf_qsig_wtmch_sendingComplete,
14851       { "sendingComplete", "qsig.wtmch.sendingComplete",
14852         FT_NONE, BASE_NONE, NULL, 0,
14853         NULL, HFILL }},
14854     { &hf_qsig_wtmch_wtmoaextension,
14855       { "extension", "qsig.wtmch.extension",
14856         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_T_wtmoaextension_vals), 0,
14857         "T_wtmoaextension", HFILL }},
14858     { &hf_qsig_wtmch_single,
14859       { "single", "qsig.wtmch.single",
14860         FT_NONE, BASE_NONE, NULL, 0,
14861         "Extension", HFILL }},
14862     { &hf_qsig_wtmch_multiple,
14863       { "multiple", "qsig.wtmch.multiple",
14864         FT_UINT32, BASE_DEC, NULL, 0,
14865         "SEQUENCE_OF_Extension", HFILL }},
14866     { &hf_qsig_wtmch_multiple_item,
14867       { "Extension", "qsig.wtmch.Extension",
14868         FT_NONE, BASE_NONE, NULL, 0,
14869         NULL, HFILL }},
14870
14871 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
14872
14873     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU,
14874       { "AuthWtmArg", "qsig.wtmau.AuthWtmArg",
14875         FT_NONE, BASE_NONE, NULL, 0,
14876         NULL, HFILL }},
14877     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU,
14878       { "AuthWtmRes", "qsig.wtmau.AuthWtmRes",
14879         FT_NONE, BASE_NONE, NULL, 0,
14880         NULL, HFILL }},
14881     { &hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU,
14882       { "WtatParamArg", "qsig.wtmau.WtatParamArg",
14883         FT_NONE, BASE_NONE, NULL, 0,
14884         NULL, HFILL }},
14885     { &hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU,
14886       { "WtatParamRes", "qsig.wtmau.WtatParamRes",
14887         FT_NONE, BASE_NONE, NULL, 0,
14888         NULL, HFILL }},
14889     { &hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU,
14890       { "WtanParamArg", "qsig.wtmau.WtanParamArg",
14891         FT_NONE, BASE_NONE, NULL, 0,
14892         NULL, HFILL }},
14893     { &hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU,
14894       { "WtanParamRes", "qsig.wtmau.WtanParamRes",
14895         FT_NONE, BASE_NONE, NULL, 0,
14896         NULL, HFILL }},
14897     { &hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU,
14898       { "ARG-transferAuthParam", "qsig.wtmau.ARG_transferAuthParam",
14899         FT_NONE, BASE_NONE, NULL, 0,
14900         NULL, HFILL }},
14901     { &hf_qsig_wtmau_qsig_wtmau_Extension_PDU,
14902       { "Extension", "qsig.wtmau.Extension",
14903         FT_NONE, BASE_NONE, NULL, 0,
14904         NULL, HFILL }},
14905     { &hf_qsig_wtmau_wtmUserId,
14906       { "wtmUserId", "qsig.wtmau.wtmUserId",
14907         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtmUserId_vals), 0,
14908         NULL, HFILL }},
14909     { &hf_qsig_wtmau_calcWtatInfo,
14910       { "calcWtatInfo", "qsig.wtmau.calcWtatInfo",
14911         FT_UINT32, BASE_DEC, NULL, 0,
14912         NULL, HFILL }},
14913     { &hf_qsig_wtmau_dummyExtension,
14914       { "dummyExtension", "qsig.wtmau.dummyExtension",
14915         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DummyExtension_vals), 0,
14916         NULL, HFILL }},
14917     { &hf_qsig_wtmau_autWtmResValue,
14918       { "autWtmResValue", "qsig.wtmau.autWtmResValue",
14919         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_autWtmResValue_vals), 0,
14920         NULL, HFILL }},
14921     { &hf_qsig_wtmau_canCompute,
14922       { "canCompute", "qsig.wtmau.canCompute",
14923         FT_NONE, BASE_NONE, NULL, 0,
14924         NULL, HFILL }},
14925     { &hf_qsig_wtmau_authChallenge,
14926       { "authChallenge", "qsig.wtmau.authChallenge",
14927         FT_BYTES, BASE_NONE, NULL, 0,
14928         NULL, HFILL }},
14929     { &hf_qsig_wtmau_wtatParamInfo,
14930       { "wtatParamInfo", "qsig.wtmau.wtatParamInfo",
14931         FT_NONE, BASE_NONE, NULL, 0,
14932         NULL, HFILL }},
14933     { &hf_qsig_wtmau_authAlgorithm,
14934       { "authAlgorithm", "qsig.wtmau.authAlgorithm",
14935         FT_NONE, BASE_NONE, NULL, 0,
14936         NULL, HFILL }},
14937     { &hf_qsig_wtmau_pisnNumber,
14938       { "pisnNumber", "qsig.wtmau.pisnNumber",
14939         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14940         "PartyNumber", HFILL }},
14941     { &hf_qsig_wtmau_alternativeId,
14942       { "alternativeId", "qsig.wtmau.alternativeId",
14943         FT_BYTES, BASE_NONE, NULL, 0,
14944         NULL, HFILL }},
14945     { &hf_qsig_wtmau_wtanParamInfo,
14946       { "wtanParamInfo", "qsig.wtmau.wtanParamInfo",
14947         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtanParamInfo_vals), 0,
14948         NULL, HFILL }},
14949     { &hf_qsig_wtmau_wtatParamInfoChoice,
14950       { "wtatParamInfoChoice", "qsig.wtmau.wtatParamInfoChoice",
14951         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_wtatParamInfoChoice_vals), 0,
14952         NULL, HFILL }},
14953     { &hf_qsig_wtmau_authSessionKeyInfo,
14954       { "authSessionKeyInfo", "qsig.wtmau.authSessionKeyInfo",
14955         FT_NONE, BASE_NONE, NULL, 0,
14956         NULL, HFILL }},
14957     { &hf_qsig_wtmau_authKey,
14958       { "authKey", "qsig.wtmau.authKey",
14959         FT_BYTES, BASE_NONE, NULL, 0,
14960         NULL, HFILL }},
14961     { &hf_qsig_wtmau_challLen,
14962       { "challLen", "qsig.wtmau.challLen",
14963         FT_UINT32, BASE_DEC, NULL, 0,
14964         "INTEGER_1_8", HFILL }},
14965     { &hf_qsig_wtmau_calcWtanInfo,
14966       { "calcWtanInfo", "qsig.wtmau.calcWtanInfo",
14967         FT_NONE, BASE_NONE, NULL, 0,
14968         NULL, HFILL }},
14969     { &hf_qsig_wtmau_authSessionKey,
14970       { "authSessionKey", "qsig.wtmau.authSessionKey",
14971         FT_BYTES, BASE_NONE, NULL, 0,
14972         NULL, HFILL }},
14973     { &hf_qsig_wtmau_calculationParam,
14974       { "calculationParam", "qsig.wtmau.calculationParam",
14975         FT_BYTES, BASE_NONE, NULL, 0,
14976         NULL, HFILL }},
14977     { &hf_qsig_wtmau_CalcWtatInfo_item,
14978       { "CalcWtatInfoUnit", "qsig.wtmau.CalcWtatInfoUnit",
14979         FT_NONE, BASE_NONE, NULL, 0,
14980         NULL, HFILL }},
14981     { &hf_qsig_wtmau_authResponse,
14982       { "authResponse", "qsig.wtmau.authResponse",
14983         FT_BYTES, BASE_NONE, NULL, 0,
14984         NULL, HFILL }},
14985     { &hf_qsig_wtmau_derivedCipherKey,
14986       { "derivedCipherKey", "qsig.wtmau.derivedCipherKey",
14987         FT_BYTES, BASE_NONE, NULL, 0,
14988         NULL, HFILL }},
14989     { &hf_qsig_wtmau_extension,
14990       { "extension", "qsig.wtmau.extension",
14991         FT_NONE, BASE_NONE, NULL, 0,
14992         NULL, HFILL }},
14993     { &hf_qsig_wtmau_sequOfExtn,
14994       { "sequOfExtn", "qsig.wtmau.sequOfExtn",
14995         FT_UINT32, BASE_DEC, NULL, 0,
14996         "SEQUENCE_OF_Extension", HFILL }},
14997     { &hf_qsig_wtmau_sequOfExtn_item,
14998       { "Extension", "qsig.wtmau.Extension",
14999         FT_NONE, BASE_NONE, NULL, 0,
15000         NULL, HFILL }},
15001     { &hf_qsig_wtmau_authAlg,
15002       { "authAlg", "qsig.wtmau.authAlg",
15003         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DefinedIDs_vals), 0,
15004         "DefinedIDs", HFILL }},
15005     { &hf_qsig_wtmau_param,
15006       { "param", "qsig.wtmau.param",
15007         FT_NONE, BASE_NONE, NULL, 0,
15008         NULL, HFILL }},
15009
15010 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
15011
15012     { &hf_qsig_sd_qsig_sd_DisplayArg_PDU,
15013       { "DisplayArg", "qsig.sd.DisplayArg",
15014         FT_NONE, BASE_NONE, NULL, 0,
15015         NULL, HFILL }},
15016     { &hf_qsig_sd_qsig_sd_KeypadArg_PDU,
15017       { "KeypadArg", "qsig.sd.KeypadArg",
15018         FT_NONE, BASE_NONE, NULL, 0,
15019         NULL, HFILL }},
15020     { &hf_qsig_sd_qsig_sd_Extension_PDU,
15021       { "Extension", "qsig.sd.Extension",
15022         FT_NONE, BASE_NONE, NULL, 0,
15023         NULL, HFILL }},
15024     { &hf_qsig_sd_displayString,
15025       { "displayString", "qsig.sd.displayString",
15026         FT_UINT32, BASE_DEC, VALS(qsig_sd_DisplayString_vals), 0,
15027         NULL, HFILL }},
15028     { &hf_qsig_sd_sdextension,
15029       { "extension", "qsig.sd.extension",
15030         FT_UINT32, BASE_DEC, VALS(qsig_sd_SDExtension_vals), 0,
15031         "SDExtension", HFILL }},
15032     { &hf_qsig_sd_displayStringNormal,
15033       { "displayStringNormal", "qsig.sd.displayStringNormal",
15034         FT_BYTES, BASE_NONE, NULL, 0,
15035         "BMPStringNormal", HFILL }},
15036     { &hf_qsig_sd_displayStringExtended,
15037       { "displayStringExtended", "qsig.sd.displayStringExtended",
15038         FT_BYTES, BASE_NONE, NULL, 0,
15039         "BMPStringExtended", HFILL }},
15040     { &hf_qsig_sd_keypadString,
15041       { "keypadString", "qsig.sd.keypadString",
15042         FT_BYTES, BASE_NONE, NULL, 0,
15043         "BMPStringNormal", HFILL }},
15044     { &hf_qsig_sd_extension,
15045       { "extension", "qsig.sd.extension",
15046         FT_NONE, BASE_NONE, NULL, 0,
15047         NULL, HFILL }},
15048     { &hf_qsig_sd_multipleExtension,
15049       { "multipleExtension", "qsig.sd.multipleExtension",
15050         FT_UINT32, BASE_DEC, NULL, 0,
15051         "SEQUENCE_OF_Extension", HFILL }},
15052     { &hf_qsig_sd_multipleExtension_item,
15053       { "Extension", "qsig.sd.Extension",
15054         FT_NONE, BASE_NONE, NULL, 0,
15055         NULL, HFILL }},
15056
15057 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
15058
15059     { &hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU,
15060       { "CallIdentificationAssignArg", "qsig.cidl.CallIdentificationAssignArg",
15061         FT_NONE, BASE_NONE, NULL, 0,
15062         NULL, HFILL }},
15063     { &hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU,
15064       { "CallIdentificationUpdateArg", "qsig.cidl.CallIdentificationUpdateArg",
15065         FT_NONE, BASE_NONE, NULL, 0,
15066         NULL, HFILL }},
15067     { &hf_qsig_cidl_globalCallID,
15068       { "globalCallID", "qsig.cidl.globalCallID",
15069         FT_NONE, BASE_NONE, NULL, 0,
15070         "CallIdentificationData", HFILL }},
15071     { &hf_qsig_cidl_threadID,
15072       { "threadID", "qsig.cidl.threadID",
15073         FT_NONE, BASE_NONE, NULL, 0,
15074         "CallIdentificationData", HFILL }},
15075     { &hf_qsig_cidl_legID,
15076       { "legID", "qsig.cidl.legID",
15077         FT_NONE, BASE_NONE, NULL, 0,
15078         "CallIdentificationData", HFILL }},
15079     { &hf_qsig_cidl_extensiont,
15080       { "extension", "qsig.cidl.extension",
15081         FT_UINT32, BASE_DEC, VALS(qsig_cidl_ExtensionType_vals), 0,
15082         "ExtensionType", HFILL }},
15083     { &hf_qsig_cidl_switchingSubDomainName,
15084       { "switchingSubDomainName", "qsig.cidl.switchingSubDomainName",
15085         FT_STRING, BASE_NONE, NULL, 0,
15086         NULL, HFILL }},
15087     { &hf_qsig_cidl_linkageID,
15088       { "linkageID", "qsig.cidl.linkageID",
15089         FT_UINT32, BASE_DEC, VALS(qsig_cidl_T_linkageID_vals), 0,
15090         NULL, HFILL }},
15091     { &hf_qsig_cidl_subDomainID,
15092       { "subDomainID", "qsig.cidl.subDomainID",
15093         FT_BYTES, BASE_NONE, NULL, 0,
15094         NULL, HFILL }},
15095     { &hf_qsig_cidl_globallyUniqueID,
15096       { "globallyUniqueID", "qsig.cidl.globallyUniqueID",
15097         FT_BYTES, BASE_NONE, NULL, 0,
15098         NULL, HFILL }},
15099     { &hf_qsig_cidl_timeStamp,
15100       { "timeStamp", "qsig.cidl.timeStamp",
15101         FT_STRING, BASE_NONE, NULL, 0,
15102         NULL, HFILL }},
15103     { &hf_qsig_cidl_extension,
15104       { "extension", "qsig.cidl.extension",
15105         FT_NONE, BASE_NONE, NULL, 0,
15106         NULL, HFILL }},
15107     { &hf_qsig_cidl_sequenceOfExt,
15108       { "sequenceOfExt", "qsig.cidl.sequenceOfExt",
15109         FT_UINT32, BASE_DEC, NULL, 0,
15110         "SEQUENCE_OF_Extension", HFILL }},
15111     { &hf_qsig_cidl_sequenceOfExt_item,
15112       { "Extension", "qsig.cidl.Extension",
15113         FT_NONE, BASE_NONE, NULL, 0,
15114         NULL, HFILL }},
15115
15116 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
15117
15118     { &hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU,
15119       { "SmsSubmitArg", "qsig.sms.SmsSubmitArg",
15120         FT_NONE, BASE_NONE, NULL, 0,
15121         NULL, HFILL }},
15122     { &hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU,
15123       { "SmsSubmitRes", "qsig.sms.SmsSubmitRes",
15124         FT_NONE, BASE_NONE, NULL, 0,
15125         NULL, HFILL }},
15126     { &hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU,
15127       { "SmsDeliverArg", "qsig.sms.SmsDeliverArg",
15128         FT_NONE, BASE_NONE, NULL, 0,
15129         NULL, HFILL }},
15130     { &hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU,
15131       { "SmsDeliverRes", "qsig.sms.SmsDeliverRes",
15132         FT_NONE, BASE_NONE, NULL, 0,
15133         NULL, HFILL }},
15134     { &hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU,
15135       { "SmsStatusReportArg", "qsig.sms.SmsStatusReportArg",
15136         FT_NONE, BASE_NONE, NULL, 0,
15137         NULL, HFILL }},
15138     { &hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU,
15139       { "SmsStatusReportRes", "qsig.sms.SmsStatusReportRes",
15140         FT_NONE, BASE_NONE, NULL, 0,
15141         NULL, HFILL }},
15142     { &hf_qsig_sms_qsig_sms_SmsCommandArg_PDU,
15143       { "SmsCommandArg", "qsig.sms.SmsCommandArg",
15144         FT_NONE, BASE_NONE, NULL, 0,
15145         NULL, HFILL }},
15146     { &hf_qsig_sms_qsig_sms_SmsCommandRes_PDU,
15147       { "SmsCommandRes", "qsig.sms.SmsCommandRes",
15148         FT_NONE, BASE_NONE, NULL, 0,
15149         NULL, HFILL }},
15150     { &hf_qsig_sms_qsig_sms_ScAlertArg_PDU,
15151       { "ScAlertArg", "qsig.sms.ScAlertArg",
15152         FT_NONE, BASE_NONE, NULL, 0,
15153         NULL, HFILL }},
15154     { &hf_qsig_sms_qsig_sms_DummyRes_PDU,
15155       { "DummyRes", "qsig.sms.DummyRes",
15156         FT_UINT32, BASE_DEC, VALS(qsig_sms_DummyRes_vals), 0,
15157         NULL, HFILL }},
15158     { &hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU,
15159       { "PAR-smsDeliverError", "qsig.sms.PAR_smsDeliverError",
15160         FT_NONE, BASE_NONE, NULL, 0,
15161         NULL, HFILL }},
15162     { &hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU,
15163       { "PAR-smsSubmitError", "qsig.sms.PAR_smsSubmitError",
15164         FT_NONE, BASE_NONE, NULL, 0,
15165         NULL, HFILL }},
15166     { &hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU,
15167       { "PAR-smsStatusReportError", "qsig.sms.PAR_smsStatusReportError",
15168         FT_NONE, BASE_NONE, NULL, 0,
15169         NULL, HFILL }},
15170     { &hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU,
15171       { "PAR-smsCommandError", "qsig.sms.PAR_smsCommandError",
15172         FT_NONE, BASE_NONE, NULL, 0,
15173         NULL, HFILL }},
15174     { &hf_qsig_sms_qsig_sms_SmsExtension_PDU,
15175       { "SmsExtension", "qsig.sms.SmsExtension",
15176         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15177         NULL, HFILL }},
15178     { &hf_qsig_sms_destinationAddress,
15179       { "destinationAddress", "qsig.sms.destinationAddress",
15180         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15181         "PartyNumber", HFILL }},
15182     { &hf_qsig_sms_originatingAddress,
15183       { "originatingAddress", "qsig.sms.originatingAddress",
15184         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15185         "PartyNumber", HFILL }},
15186     { &hf_qsig_sms_messageReference,
15187       { "messageReference", "qsig.sms.messageReference",
15188         FT_UINT32, BASE_DEC, NULL, 0,
15189         NULL, HFILL }},
15190     { &hf_qsig_sms_smSubmitParameter,
15191       { "smSubmitParameter", "qsig.sms.smSubmitParameter",
15192         FT_NONE, BASE_NONE, NULL, 0,
15193         NULL, HFILL }},
15194     { &hf_qsig_sms_userData,
15195       { "userData", "qsig.sms.userData",
15196         FT_NONE, BASE_NONE, NULL, 0,
15197         NULL, HFILL }},
15198     { &hf_qsig_sms_smsExtension,
15199       { "smsExtension", "qsig.sms.smsExtension",
15200         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15201         NULL, HFILL }},
15202     { &hf_qsig_sms_serviceCentreTimeStamp,
15203       { "serviceCentreTimeStamp", "qsig.sms.serviceCentreTimeStamp",
15204         FT_STRING, BASE_NONE, NULL, 0,
15205         NULL, HFILL }},
15206     { &hf_qsig_sms_protocolIdentifier,
15207       { "protocolIdentifier", "qsig.sms.protocolIdentifier",
15208         FT_UINT32, BASE_DEC, NULL, 0,
15209         NULL, HFILL }},
15210     { &hf_qsig_sms_originatingName,
15211       { "originatingName", "qsig.sms.originatingName",
15212         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15213         "Name", HFILL }},
15214     { &hf_qsig_sms_smDeliverParameter,
15215       { "smDeliverParameter", "qsig.sms.smDeliverParameter",
15216         FT_NONE, BASE_NONE, NULL, 0,
15217         NULL, HFILL }},
15218     { &hf_qsig_sms_smsDeliverResponseChoice,
15219       { "smsDeliverResponseChoice", "qsig.sms.smsDeliverResponseChoice",
15220         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsDeliverResChoice_vals), 0,
15221         "SmsDeliverResChoice", HFILL }},
15222     { &hf_qsig_sms_dischargeTime,
15223       { "dischargeTime", "qsig.sms.dischargeTime",
15224         FT_STRING, BASE_NONE, NULL, 0,
15225         NULL, HFILL }},
15226     { &hf_qsig_sms_recipientAddress,
15227       { "recipientAddress", "qsig.sms.recipientAddress",
15228         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15229         "PartyNumber", HFILL }},
15230     { &hf_qsig_sms_recipientName,
15231       { "recipientName", "qsig.sms.recipientName",
15232         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15233         "Name", HFILL }},
15234     { &hf_qsig_sms_status,
15235       { "status", "qsig.sms.status",
15236         FT_UINT32, BASE_DEC, NULL, 0,
15237         NULL, HFILL }},
15238     { &hf_qsig_sms_priority,
15239       { "priority", "qsig.sms.priority",
15240         FT_BOOLEAN, BASE_NONE, NULL, 0,
15241         "BOOLEAN", HFILL }},
15242     { &hf_qsig_sms_moreMessagesToSend,
15243       { "moreMessagesToSend", "qsig.sms.moreMessagesToSend",
15244         FT_BOOLEAN, BASE_NONE, NULL, 0,
15245         "BOOLEAN", HFILL }},
15246     { &hf_qsig_sms_statusReportQualifier,
15247       { "statusReportQualifier", "qsig.sms.statusReportQualifier",
15248         FT_BOOLEAN, BASE_NONE, NULL, 0,
15249         "BOOLEAN", HFILL }},
15250     { &hf_qsig_sms_smsStatusReportResponseChoice,
15251       { "smsStatusReportResponseChoice", "qsig.sms.smsStatusReportResponseChoice",
15252         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsStatusReportResponseChoice_vals), 0,
15253         NULL, HFILL }},
15254     { &hf_qsig_sms_messageNumber,
15255       { "messageNumber", "qsig.sms.messageNumber",
15256         FT_UINT32, BASE_DEC, NULL, 0,
15257         "MessageReference", HFILL }},
15258     { &hf_qsig_sms_commandType,
15259       { "commandType", "qsig.sms.commandType",
15260         FT_UINT32, BASE_DEC, VALS(qsig_sms_CommandType_vals), 0,
15261         NULL, HFILL }},
15262     { &hf_qsig_sms_commandData,
15263       { "commandData", "qsig.sms.commandData",
15264         FT_BYTES, BASE_NONE, NULL, 0,
15265         NULL, HFILL }},
15266     { &hf_qsig_sms_statusReportRequest,
15267       { "statusReportRequest", "qsig.sms.statusReportRequest",
15268         FT_BOOLEAN, BASE_NONE, NULL, 0,
15269         "BOOLEAN", HFILL }},
15270     { &hf_qsig_sms_null,
15271       { "null", "qsig.sms.null",
15272         FT_NONE, BASE_NONE, NULL, 0,
15273         NULL, HFILL }},
15274     { &hf_qsig_sms_validityPeriod,
15275       { "validityPeriod", "qsig.sms.validityPeriod",
15276         FT_UINT32, BASE_DEC, VALS(qsig_sms_ValidityPeriod_vals), 0,
15277         NULL, HFILL }},
15278     { &hf_qsig_sms_replyPath,
15279       { "replyPath", "qsig.sms.replyPath",
15280         FT_BOOLEAN, BASE_NONE, NULL, 0,
15281         "BOOLEAN", HFILL }},
15282     { &hf_qsig_sms_rejectDuplicates,
15283       { "rejectDuplicates", "qsig.sms.rejectDuplicates",
15284         FT_BOOLEAN, BASE_NONE, NULL, 0,
15285         "BOOLEAN", HFILL }},
15286     { &hf_qsig_sms_statusReportIndication,
15287       { "statusReportIndication", "qsig.sms.statusReportIndication",
15288         FT_BOOLEAN, BASE_NONE, NULL, 0,
15289         "BOOLEAN", HFILL }},
15290     { &hf_qsig_sms_resChoiceSeq,
15291       { "resChoiceSeq", "qsig.sms.resChoiceSeq",
15292         FT_NONE, BASE_NONE, NULL, 0,
15293         NULL, HFILL }},
15294     { &hf_qsig_sms_single,
15295       { "single", "qsig.sms.single",
15296         FT_NONE, BASE_NONE, NULL, 0,
15297         "Extension", HFILL }},
15298     { &hf_qsig_sms_multiple,
15299       { "multiple", "qsig.sms.multiple",
15300         FT_UINT32, BASE_DEC, NULL, 0,
15301         "SEQUENCE_OF_Extension", HFILL }},
15302     { &hf_qsig_sms_multiple_item,
15303       { "Extension", "qsig.sms.Extension",
15304         FT_NONE, BASE_NONE, NULL, 0,
15305         NULL, HFILL }},
15306     { &hf_qsig_sms_validityPeriodRel,
15307       { "validityPeriodRel", "qsig.sms.validityPeriodRel",
15308         FT_UINT32, BASE_DEC, NULL, 0,
15309         NULL, HFILL }},
15310     { &hf_qsig_sms_validityPeriodAbs,
15311       { "validityPeriodAbs", "qsig.sms.validityPeriodAbs",
15312         FT_STRING, BASE_NONE, NULL, 0,
15313         NULL, HFILL }},
15314     { &hf_qsig_sms_validityPeriodEnh,
15315       { "validityPeriodEnh", "qsig.sms.validityPeriodEnh",
15316         FT_NONE, BASE_NONE, NULL, 0,
15317         NULL, HFILL }},
15318     { &hf_qsig_sms_singleShotSM,
15319       { "singleShotSM", "qsig.sms.singleShotSM",
15320         FT_BOOLEAN, BASE_NONE, NULL, 0,
15321         "BOOLEAN", HFILL }},
15322     { &hf_qsig_sms_enhancedVP,
15323       { "enhancedVP", "qsig.sms.enhancedVP",
15324         FT_UINT32, BASE_DEC, VALS(qsig_sms_EnhancedVP_vals), 0,
15325         NULL, HFILL }},
15326     { &hf_qsig_sms_validityPeriodSec,
15327       { "validityPeriodSec", "qsig.sms.validityPeriodSec",
15328         FT_UINT32, BASE_DEC, NULL, 0,
15329         "INTEGER_0_255", HFILL }},
15330     { &hf_qsig_sms_validityPeriodSemi,
15331       { "validityPeriodSemi", "qsig.sms.validityPeriodSemi",
15332         FT_BYTES, BASE_NONE, NULL, 0,
15333         NULL, HFILL }},
15334     { &hf_qsig_sms_userDataHeader,
15335       { "userDataHeader", "qsig.sms.userDataHeader",
15336         FT_UINT32, BASE_DEC, NULL, 0,
15337         NULL, HFILL }},
15338     { &hf_qsig_sms_class,
15339       { "class", "qsig.sms.class",
15340         FT_UINT32, BASE_DEC, NULL, 0,
15341         "INTEGER_0_3", HFILL }},
15342     { &hf_qsig_sms_compressed,
15343       { "compressed", "qsig.sms.compressed",
15344         FT_BOOLEAN, BASE_NONE, NULL, 0,
15345         "BOOLEAN", HFILL }},
15346     { &hf_qsig_sms_shortMessageText,
15347       { "shortMessageText", "qsig.sms.shortMessageText",
15348         FT_NONE, BASE_NONE, NULL, 0,
15349         NULL, HFILL }},
15350     { &hf_qsig_sms_shortMessageTextType,
15351       { "shortMessageTextType", "qsig.sms.shortMessageTextType",
15352         FT_UINT32, BASE_DEC, VALS(qsig_sms_ShortMessageTextType_vals), 0,
15353         NULL, HFILL }},
15354     { &hf_qsig_sms_shortMessageTextData,
15355       { "shortMessageTextData", "qsig.sms.shortMessageTextData",
15356         FT_BYTES, BASE_NONE, NULL, 0,
15357         NULL, HFILL }},
15358     { &hf_qsig_sms_UserDataHeader_item,
15359       { "UserDataHeaderChoice", "qsig.sms.UserDataHeaderChoice",
15360         FT_UINT32, BASE_DEC, VALS(qsig_sms_UserDataHeaderChoice_vals), 0,
15361         NULL, HFILL }},
15362     { &hf_qsig_sms_smscControlParameterHeader,
15363       { "smscControlParameterHeader", "qsig.sms.smscControlParameterHeader",
15364         FT_BYTES, BASE_NONE, NULL, 0,
15365         NULL, HFILL }},
15366     { &hf_qsig_sms_concatenated8BitSMHeader,
15367       { "concatenated8BitSMHeader", "qsig.sms.concatenated8BitSMHeader",
15368         FT_NONE, BASE_NONE, NULL, 0,
15369         NULL, HFILL }},
15370     { &hf_qsig_sms_concatenated16BitSMHeader,
15371       { "concatenated16BitSMHeader", "qsig.sms.concatenated16BitSMHeader",
15372         FT_NONE, BASE_NONE, NULL, 0,
15373         NULL, HFILL }},
15374     { &hf_qsig_sms_applicationPort8BitHeader,
15375       { "applicationPort8BitHeader", "qsig.sms.applicationPort8BitHeader",
15376         FT_NONE, BASE_NONE, NULL, 0,
15377         NULL, HFILL }},
15378     { &hf_qsig_sms_applicationPort16BitHeader,
15379       { "applicationPort16BitHeader", "qsig.sms.applicationPort16BitHeader",
15380         FT_NONE, BASE_NONE, NULL, 0,
15381         NULL, HFILL }},
15382     { &hf_qsig_sms_dataHeaderSourceIndicator,
15383       { "dataHeaderSourceIndicator", "qsig.sms.dataHeaderSourceIndicator",
15384         FT_UINT32, BASE_DEC, VALS(qsig_sms_DataHeaderSourceIndicator_vals), 0,
15385         NULL, HFILL }},
15386     { &hf_qsig_sms_wirelessControlHeader,
15387       { "wirelessControlHeader", "qsig.sms.wirelessControlHeader",
15388         FT_BYTES, BASE_NONE, NULL, 0,
15389         NULL, HFILL }},
15390     { &hf_qsig_sms_genericUserValue,
15391       { "genericUserValue", "qsig.sms.genericUserValue",
15392         FT_NONE, BASE_NONE, NULL, 0,
15393         NULL, HFILL }},
15394     { &hf_qsig_sms_concatenated8BitSMReferenceNumber,
15395       { "concatenated8BitSMReferenceNumber", "qsig.sms.concatenated8BitSMReferenceNumber",
15396         FT_UINT32, BASE_DEC, NULL, 0,
15397         "INTEGER_0_255", HFILL }},
15398     { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM,
15399       { "maximumNumberOf8BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf8BitSMInConcatenatedSM",
15400         FT_UINT32, BASE_DEC, NULL, 0,
15401         "INTEGER_0_255", HFILL }},
15402     { &hf_qsig_sms_sequenceNumberOf8BitSM,
15403       { "sequenceNumberOf8BitSM", "qsig.sms.sequenceNumberOf8BitSM",
15404         FT_UINT32, BASE_DEC, NULL, 0,
15405         "INTEGER_0_255", HFILL }},
15406     { &hf_qsig_sms_concatenated16BitSMReferenceNumber,
15407       { "concatenated16BitSMReferenceNumber", "qsig.sms.concatenated16BitSMReferenceNumber",
15408         FT_UINT32, BASE_DEC, NULL, 0,
15409         "INTEGER_0_65536", HFILL }},
15410     { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM,
15411       { "maximumNumberOf16BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf16BitSMInConcatenatedSM",
15412         FT_UINT32, BASE_DEC, NULL, 0,
15413         "INTEGER_0_255", HFILL }},
15414     { &hf_qsig_sms_sequenceNumberOf16BitSM,
15415       { "sequenceNumberOf16BitSM", "qsig.sms.sequenceNumberOf16BitSM",
15416         FT_UINT32, BASE_DEC, NULL, 0,
15417         "INTEGER_0_255", HFILL }},
15418     { &hf_qsig_sms_destination8BitPort,
15419       { "destination8BitPort", "qsig.sms.destination8BitPort",
15420         FT_UINT32, BASE_DEC, NULL, 0,
15421         "INTEGER_0_255", HFILL }},
15422     { &hf_qsig_sms_originator8BitPort,
15423       { "originator8BitPort", "qsig.sms.originator8BitPort",
15424         FT_UINT32, BASE_DEC, NULL, 0,
15425         "INTEGER_0_255", HFILL }},
15426     { &hf_qsig_sms_destination16BitPort,
15427       { "destination16BitPort", "qsig.sms.destination16BitPort",
15428         FT_UINT32, BASE_DEC, NULL, 0,
15429         "INTEGER_0_65536", HFILL }},
15430     { &hf_qsig_sms_originator16BitPort,
15431       { "originator16BitPort", "qsig.sms.originator16BitPort",
15432         FT_UINT32, BASE_DEC, NULL, 0,
15433         "INTEGER_0_65536", HFILL }},
15434     { &hf_qsig_sms_parameterValue,
15435       { "parameterValue", "qsig.sms.parameterValue",
15436         FT_UINT32, BASE_DEC, NULL, 0,
15437         "INTEGER_0_255", HFILL }},
15438     { &hf_qsig_sms_genericUserData,
15439       { "genericUserData", "qsig.sms.genericUserData",
15440         FT_BYTES, BASE_NONE, NULL, 0,
15441         "OCTET_STRING", HFILL }},
15442     { &hf_qsig_sms_failureCause,
15443       { "failureCause", "qsig.sms.failureCause",
15444         FT_UINT32, BASE_DEC, NULL, 0,
15445         NULL, HFILL }},
15446     { &hf_qsig_sms_scAddressSaved,
15447       { "scAddressSaved", "qsig.sms.scAddressSaved",
15448         FT_BOOLEAN, BASE_NONE, NULL, 0,
15449         "BOOLEAN", HFILL }},
15450     { &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted,
15451       { "sRforTransactionCompleted", "qsig.sms.sRforTransactionCompleted",
15452         FT_BOOLEAN, 8, NULL, 0x80,
15453         NULL, HFILL }},
15454     { &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError,
15455       { "sRforPermanentError", "qsig.sms.sRforPermanentError",
15456         FT_BOOLEAN, 8, NULL, 0x40,
15457         NULL, HFILL }},
15458     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying,
15459       { "sRforTempErrorSCnotTrying", "qsig.sms.sRforTempErrorSCnotTrying",
15460         FT_BOOLEAN, 8, NULL, 0x20,
15461         NULL, HFILL }},
15462     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying,
15463       { "sRforTempErrorSCstillTrying", "qsig.sms.sRforTempErrorSCstillTrying",
15464         FT_BOOLEAN, 8, NULL, 0x10,
15465         NULL, HFILL }},
15466     { &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM,
15467       { "cancelSRRforConcatenatedSM", "qsig.sms.cancelSRRforConcatenatedSM",
15468         FT_BOOLEAN, 8, NULL, 0x02,
15469         NULL, HFILL }},
15470     { &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR,
15471       { "includeOrigUDHintoSR", "qsig.sms.includeOrigUDHintoSR",
15472         FT_BOOLEAN, 8, NULL, 0x01,
15473         NULL, HFILL }},
15474
15475 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
15476
15477     { &hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU,
15478       { "MCRequestArg", "qsig.mcr.MCRequestArg",
15479         FT_NONE, BASE_NONE, NULL, 0,
15480         NULL, HFILL }},
15481     { &hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU,
15482       { "MCRequestResult", "qsig.mcr.MCRequestResult",
15483         FT_NONE, BASE_NONE, NULL, 0,
15484         NULL, HFILL }},
15485     { &hf_qsig_mcr_qsig_mcr_MCInformArg_PDU,
15486       { "MCInformArg", "qsig.mcr.MCInformArg",
15487         FT_NONE, BASE_NONE, NULL, 0,
15488         NULL, HFILL }},
15489     { &hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU,
15490       { "MCAlertingArg", "qsig.mcr.MCAlertingArg",
15491         FT_NONE, BASE_NONE, NULL, 0,
15492         NULL, HFILL }},
15493     { &hf_qsig_mcr_qsig_mcr_Extension_PDU,
15494       { "Extension", "qsig.mcr.Extension",
15495         FT_NONE, BASE_NONE, NULL, 0,
15496         NULL, HFILL }},
15497     { &hf_qsig_mcr_callType,
15498       { "callType", "qsig.mcr.callType",
15499         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CallType_vals), 0,
15500         NULL, HFILL }},
15501     { &hf_qsig_mcr_retainOrigCall,
15502       { "retainOrigCall", "qsig.mcr.retainOrigCall",
15503         FT_BOOLEAN, BASE_NONE, NULL, 0,
15504         "BOOLEAN", HFILL }},
15505     { &hf_qsig_mcr_destinationAddress,
15506       { "destinationAddress", "qsig.mcr.destinationAddress",
15507         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15508         "PresentedAddressUnscreened", HFILL }},
15509     { &hf_qsig_mcr_requestingAddress,
15510       { "requestingAddress", "qsig.mcr.requestingAddress",
15511         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15512         "PresentedAddressUnscreened", HFILL }},
15513     { &hf_qsig_mcr_cooperatingAddress,
15514       { "cooperatingAddress", "qsig.mcr.cooperatingAddress",
15515         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15516         "PresentedAddressUnscreened", HFILL }},
15517     { &hf_qsig_mcr_correlation,
15518       { "correlation", "qsig.mcr.correlation",
15519         FT_NONE, BASE_NONE, NULL, 0,
15520         NULL, HFILL }},
15521     { &hf_qsig_mcr_extensions,
15522       { "extensions", "qsig.mcr.extensions",
15523         FT_UINT32, BASE_DEC, VALS(qsig_mcr_MCRExtensions_vals), 0,
15524         "MCRExtensions", HFILL }},
15525     { &hf_qsig_mcr_basicService,
15526       { "basicService", "qsig.mcr.basicService",
15527         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
15528         NULL, HFILL }},
15529     { &hf_qsig_mcr_cisc,
15530       { "cisc", "qsig.mcr.cisc",
15531         FT_NONE, BASE_NONE, NULL, 0,
15532         NULL, HFILL }},
15533     { &hf_qsig_mcr_correlationData,
15534       { "correlationData", "qsig.mcr.correlationData",
15535         FT_STRING, BASE_NONE, NULL, 0,
15536         "CallIdentity", HFILL }},
15537     { &hf_qsig_mcr_correlationReason,
15538       { "correlationReason", "qsig.mcr.correlationReason",
15539         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CorrelationReason_vals), 0,
15540         NULL, HFILL }},
15541     { &hf_qsig_mcr_none,
15542       { "none", "qsig.mcr.none",
15543         FT_NONE, BASE_NONE, NULL, 0,
15544         NULL, HFILL }},
15545     { &hf_qsig_mcr_single,
15546       { "single", "qsig.mcr.single",
15547         FT_NONE, BASE_NONE, NULL, 0,
15548         "Extension", HFILL }},
15549     { &hf_qsig_mcr_multiple,
15550       { "multiple", "qsig.mcr.multiple",
15551         FT_UINT32, BASE_DEC, NULL, 0,
15552         "SEQUENCE_OF_Extension", HFILL }},
15553     { &hf_qsig_mcr_multiple_item,
15554       { "Extension", "qsig.mcr.Extension",
15555         FT_NONE, BASE_NONE, NULL, 0,
15556         NULL, HFILL }},
15557
15558 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
15559
15560     { &hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU,
15561       { "MCMNewMsgArg", "qsig.mcm.MCMNewMsgArg",
15562         FT_NONE, BASE_NONE, NULL, 0,
15563         NULL, HFILL }},
15564     { &hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU,
15565       { "MCMDummyRes", "qsig.mcm.MCMDummyRes",
15566         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15567         NULL, HFILL }},
15568     { &hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU,
15569       { "MCMNoNewMsgArg", "qsig.mcm.MCMNoNewMsgArg",
15570         FT_NONE, BASE_NONE, NULL, 0,
15571         NULL, HFILL }},
15572     { &hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU,
15573       { "MCMUpdateArg", "qsig.mcm.MCMUpdateArg",
15574         FT_NONE, BASE_NONE, NULL, 0,
15575         NULL, HFILL }},
15576     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU,
15577       { "MCMUpdateReqArg", "qsig.mcm.MCMUpdateReqArg",
15578         FT_NONE, BASE_NONE, NULL, 0,
15579         NULL, HFILL }},
15580     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU,
15581       { "MCMUpdateReqRes", "qsig.mcm.MCMUpdateReqRes",
15582         FT_UINT32, BASE_DEC, NULL, 0,
15583         NULL, HFILL }},
15584     { &hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU,
15585       { "MCMServiceArg", "qsig.mcm.MCMServiceArg",
15586         FT_NONE, BASE_NONE, NULL, 0,
15587         NULL, HFILL }},
15588     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU,
15589       { "MCMInterrogateArg", "qsig.mcm.MCMInterrogateArg",
15590         FT_NONE, BASE_NONE, NULL, 0,
15591         NULL, HFILL }},
15592     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU,
15593       { "MCMInterrogateRes", "qsig.mcm.MCMInterrogateRes",
15594         FT_NONE, BASE_NONE, NULL, 0,
15595         NULL, HFILL }},
15596     { &hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU,
15597       { "MCMailboxFullArg", "qsig.mcm.MCMailboxFullArg",
15598         FT_NONE, BASE_NONE, NULL, 0,
15599         NULL, HFILL }},
15600     { &hf_qsig_mcm_qsig_mcm_Extension_PDU,
15601       { "Extension", "qsig.mcm.Extension",
15602         FT_NONE, BASE_NONE, NULL, 0,
15603         NULL, HFILL }},
15604     { &hf_qsig_mcm_partyInfo,
15605       { "partyInfo", "qsig.mcm.partyInfo",
15606         FT_NONE, BASE_NONE, NULL, 0,
15607         NULL, HFILL }},
15608     { &hf_qsig_mcm_mailboxFullFor,
15609       { "mailboxFullFor", "qsig.mcm.mailboxFullFor",
15610         FT_UINT32, BASE_DEC, NULL, 0,
15611         NULL, HFILL }},
15612     { &hf_qsig_mcm_extensions,
15613       { "extensions", "qsig.mcm.extensions",
15614         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15615         "MCMExtensions", HFILL }},
15616     { &hf_qsig_mcm_MailboxFullFor_item,
15617       { "MailboxFullPar", "qsig.mcm.MailboxFullPar",
15618         FT_NONE, BASE_NONE, NULL, 0,
15619         NULL, HFILL }},
15620     { &hf_qsig_mcm_messageType,
15621       { "messageType", "qsig.mcm.messageType",
15622         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15623         NULL, HFILL }},
15624     { &hf_qsig_mcm_capacityReached,
15625       { "capacityReached", "qsig.mcm.capacityReached",
15626         FT_UINT32, BASE_DEC, NULL, 0,
15627         "INTEGER_0_100", HFILL }},
15628     { &hf_qsig_mcm_mCMChange,
15629       { "mCMChange", "qsig.mcm.mCMChange",
15630         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMChange_vals), 0,
15631         NULL, HFILL }},
15632     { &hf_qsig_mcm_activateMCM,
15633       { "activateMCM", "qsig.mcm.activateMCM",
15634         FT_UINT32, BASE_DEC, NULL, 0,
15635         "SEQUENCE_OF_MCMServiceInfo", HFILL }},
15636     { &hf_qsig_mcm_activateMCM_item,
15637       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo",
15638         FT_NONE, BASE_NONE, NULL, 0,
15639         NULL, HFILL }},
15640     { &hf_qsig_mcm_deactivateMCM,
15641       { "deactivateMCM", "qsig.mcm.deactivateMCM",
15642         FT_UINT32, BASE_DEC, NULL, 0,
15643         "SEQUENCE_OF_MessageType", HFILL }},
15644     { &hf_qsig_mcm_deactivateMCM_item,
15645       { "MessageType", "qsig.mcm.MessageType",
15646         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15647         NULL, HFILL }},
15648     { &hf_qsig_mcm_setToDefaultValues,
15649       { "setToDefaultValues", "qsig.mcm.setToDefaultValues",
15650         FT_NONE, BASE_NONE, NULL, 0,
15651         NULL, HFILL }},
15652     { &hf_qsig_mcm_mCMModeNew,
15653       { "mCMModeNew", "qsig.mcm.mCMModeNew",
15654         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15655         "MCMMode", HFILL }},
15656     { &hf_qsig_mcm_mCMModeRetrieved,
15657       { "mCMModeRetrieved", "qsig.mcm.mCMModeRetrieved",
15658         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15659         "MCMMode", HFILL }},
15660     { &hf_qsig_mcm_interrogateInfo,
15661       { "interrogateInfo", "qsig.mcm.interrogateInfo",
15662         FT_UINT32, BASE_DEC, NULL, 0,
15663         "SEQUENCE_OF_MessageType", HFILL }},
15664     { &hf_qsig_mcm_interrogateInfo_item,
15665       { "MessageType", "qsig.mcm.MessageType",
15666         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15667         NULL, HFILL }},
15668     { &hf_qsig_mcm_interrogateResult,
15669       { "interrogateResult", "qsig.mcm.interrogateResult",
15670         FT_UINT32, BASE_DEC, NULL, 0,
15671         "SEQUENCE_OF_MCMServiceInfo", HFILL }},
15672     { &hf_qsig_mcm_interrogateResult_item,
15673       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo",
15674         FT_NONE, BASE_NONE, NULL, 0,
15675         NULL, HFILL }},
15676     { &hf_qsig_mcm_servedUserNr,
15677       { "servedUserNr", "qsig.mcm.servedUserNr",
15678         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15679         "PartyNumber", HFILL }},
15680     { &hf_qsig_mcm_specificMessageType,
15681       { "specificMessageType", "qsig.mcm.specificMessageType",
15682         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15683         "MessageType", HFILL }},
15684     { &hf_qsig_mcm_msgCentreId,
15685       { "msgCentreId", "qsig.mcm.msgCentreId",
15686         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15687         NULL, HFILL }},
15688     { &hf_qsig_mcm_nrOfMessages,
15689       { "nrOfMessages", "qsig.mcm.nrOfMessages",
15690         FT_UINT32, BASE_DEC, NULL, 0,
15691         NULL, HFILL }},
15692     { &hf_qsig_mcm_originatingNr,
15693       { "originatingNr", "qsig.mcm.originatingNr",
15694         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15695         "PartyNumber", HFILL }},
15696     { &hf_qsig_mcm_timestamp,
15697       { "timestamp", "qsig.mcm.timestamp",
15698         FT_STRING, BASE_NONE, NULL, 0,
15699         NULL, HFILL }},
15700     { &hf_qsig_mcm_priority,
15701       { "priority", "qsig.mcm.priority",
15702         FT_UINT32, BASE_DEC, NULL, 0,
15703         "INTEGER_0_9", HFILL }},
15704     { &hf_qsig_mcm_argumentExtMCMNew,
15705       { "argumentExt", "qsig.mcm.argumentExt",
15706         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNewArgumentExt_vals), 0,
15707         "MCMNewArgumentExt", HFILL }},
15708     { &hf_qsig_mcm_extension,
15709       { "extension", "qsig.mcm.extension",
15710         FT_NONE, BASE_NONE, NULL, 0,
15711         NULL, HFILL }},
15712     { &hf_qsig_mcm_multipleExtension,
15713       { "multipleExtension", "qsig.mcm.multipleExtension",
15714         FT_UINT32, BASE_DEC, NULL, 0,
15715         "SEQUENCE_OF_Extension", HFILL }},
15716     { &hf_qsig_mcm_multipleExtension_item,
15717       { "Extension", "qsig.mcm.Extension",
15718         FT_NONE, BASE_NONE, NULL, 0,
15719         NULL, HFILL }},
15720     { &hf_qsig_mcm_argumentExtMCMNoNew,
15721       { "argumentExt", "qsig.mcm.argumentExt",
15722         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNoNewArgumentExt_vals), 0,
15723         "MCMNoNewArgumentExt", HFILL }},
15724     { &hf_qsig_mcm_updateInfo,
15725       { "updateInfo", "qsig.mcm.updateInfo",
15726         FT_UINT32, BASE_DEC, VALS(qsig_mcm_UpdateInfo_vals), 0,
15727         NULL, HFILL }},
15728     { &hf_qsig_mcm_moreInfoFollows,
15729       { "moreInfoFollows", "qsig.mcm.moreInfoFollows",
15730         FT_BOOLEAN, BASE_NONE, NULL, 0,
15731         "BOOLEAN", HFILL }},
15732     { &hf_qsig_mcm_argumentExtMCMUpdArg,
15733       { "argumentExt", "qsig.mcm.argumentExt",
15734         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdArgArgumentExt_vals), 0,
15735         "MCMUpdArgArgumentExt", HFILL }},
15736     { &hf_qsig_mcm_MCMUpdateReqRes_item,
15737       { "MCMUpdateReqResElt", "qsig.mcm.MCMUpdateReqResElt",
15738         FT_NONE, BASE_NONE, NULL, 0,
15739         NULL, HFILL }},
15740     { &hf_qsig_mcm_argumentExtMCMUpdRes,
15741       { "argumentExt", "qsig.mcm.argumentExt",
15742         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdResArgumentExt_vals), 0,
15743         "MCMUpdResArgumentExt", HFILL }},
15744     { &hf_qsig_mcm_messageCentreID,
15745       { "messageCentreID", "qsig.mcm.messageCentreID",
15746         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15747         "MsgCentreId", HFILL }},
15748     { &hf_qsig_mcm_newMsgInfoOnly,
15749       { "newMsgInfoOnly", "qsig.mcm.newMsgInfoOnly",
15750         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15751         "MessageInfo", HFILL }},
15752     { &hf_qsig_mcm_retrievedMsgInfoOnly,
15753       { "retrievedMsgInfoOnly", "qsig.mcm.retrievedMsgInfoOnly",
15754         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15755         "MessageInfo", HFILL }},
15756     { &hf_qsig_mcm_allMsgInfo,
15757       { "allMsgInfo", "qsig.mcm.allMsgInfo",
15758         FT_NONE, BASE_NONE, NULL, 0,
15759         NULL, HFILL }},
15760     { &hf_qsig_mcm_newMsgInfo,
15761       { "newMsgInfo", "qsig.mcm.newMsgInfo",
15762         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15763         "MessageInfo", HFILL }},
15764     { &hf_qsig_mcm_retrievedMsgInfo,
15765       { "retrievedMsgInfo", "qsig.mcm.retrievedMsgInfo",
15766         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15767         "MessageInfo", HFILL }},
15768     { &hf_qsig_mcm_completeInfo,
15769       { "completeInfo", "qsig.mcm.completeInfo",
15770         FT_UINT32, BASE_DEC, NULL, 0,
15771         NULL, HFILL }},
15772     { &hf_qsig_mcm_compressedInfo,
15773       { "compressedInfo", "qsig.mcm.compressedInfo",
15774         FT_NONE, BASE_NONE, NULL, 0,
15775         NULL, HFILL }},
15776     { &hf_qsig_mcm_noMsgsOfMsgType,
15777       { "noMsgsOfMsgType", "qsig.mcm.noMsgsOfMsgType",
15778         FT_NONE, BASE_NONE, NULL, 0,
15779         NULL, HFILL }},
15780     { &hf_qsig_mcm_CompleteInfo_item,
15781       { "AddressHeader", "qsig.mcm.AddressHeader",
15782         FT_NONE, BASE_NONE, NULL, 0,
15783         NULL, HFILL }},
15784     { &hf_qsig_mcm_originatorNr,
15785       { "originatorNr", "qsig.mcm.originatorNr",
15786         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15787         "PartyNumber", HFILL }},
15788     { &hf_qsig_mcm_timeStamp,
15789       { "timeStamp", "qsig.mcm.timeStamp",
15790         FT_STRING, BASE_NONE, NULL, 0,
15791         NULL, HFILL }},
15792     { &hf_qsig_mcm_ahpriority,
15793       { "priority", "qsig.mcm.priority",
15794         FT_UINT32, BASE_DEC, NULL, 0,
15795         NULL, HFILL }},
15796     { &hf_qsig_mcm_lastTimeStamp,
15797       { "lastTimeStamp", "qsig.mcm.lastTimeStamp",
15798         FT_STRING, BASE_NONE, NULL, 0,
15799         "TimeStamp", HFILL }},
15800     { &hf_qsig_mcm_highestPriority,
15801       { "highestPriority", "qsig.mcm.highestPriority",
15802         FT_UINT32, BASE_DEC, NULL, 0,
15803         "Priority", HFILL }},
15804     { &hf_qsig_mcm_integer,
15805       { "integer", "qsig.mcm.integer",
15806         FT_UINT32, BASE_DEC, NULL, 0,
15807         "INTEGER_0_65535", HFILL }},
15808     { &hf_qsig_mcm_partyNumber,
15809       { "partyNumber", "qsig.mcm.partyNumber",
15810         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15811         NULL, HFILL }},
15812     { &hf_qsig_mcm_numericString,
15813       { "numericString", "qsig.mcm.numericString",
15814         FT_STRING, BASE_NONE, NULL, 0,
15815         "NumericString_SIZE_1_10", HFILL }},
15816     { &hf_qsig_mcm_none,
15817       { "none", "qsig.mcm.none",
15818         FT_NONE, BASE_NONE, NULL, 0,
15819         NULL, HFILL }},
15820
15821 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
15822
15823     { &hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU,
15824       { "MIDMailboxAuthArg", "qsig.mid.MIDMailboxAuthArg",
15825         FT_NONE, BASE_NONE, NULL, 0,
15826         NULL, HFILL }},
15827     { &hf_qsig_mid_qsig_mid_MIDDummyRes_PDU,
15828       { "MIDDummyRes", "qsig.mid.MIDDummyRes",
15829         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15830         NULL, HFILL }},
15831     { &hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU,
15832       { "MIDMailboxIDArg", "qsig.mid.MIDMailboxIDArg",
15833         FT_NONE, BASE_NONE, NULL, 0,
15834         NULL, HFILL }},
15835     { &hf_qsig_mid_qsig_mid_Extension_PDU,
15836       { "Extension", "qsig.mid.Extension",
15837         FT_NONE, BASE_NONE, NULL, 0,
15838         NULL, HFILL }},
15839     { &hf_qsig_mid_partyInfo,
15840       { "partyInfo", "qsig.mid.partyInfo",
15841         FT_NONE, BASE_NONE, NULL, 0,
15842         NULL, HFILL }},
15843     { &hf_qsig_mid_servedUserName,
15844       { "servedUserName", "qsig.mid.servedUserName",
15845         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15846         "Name", HFILL }},
15847     { &hf_qsig_mid_mailBox,
15848       { "mailBox", "qsig.mid.mailBox",
15849         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15850         "String", HFILL }},
15851     { &hf_qsig_mid_password,
15852       { "password", "qsig.mid.password",
15853         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15854         "String", HFILL }},
15855     { &hf_qsig_mid_extensions,
15856       { "extensions", "qsig.mid.extensions",
15857         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15858         "MIDExtensions", HFILL }},
15859     { &hf_qsig_mid_servedUserNr,
15860       { "servedUserNr", "qsig.mid.servedUserNr",
15861         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15862         "PresentedAddressUnscreened", HFILL }},
15863     { &hf_qsig_mid_messageType,
15864       { "messageType", "qsig.mid.messageType",
15865         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15866         NULL, HFILL }},
15867     { &hf_qsig_mid_messageCentreID,
15868       { "messageCentreID", "qsig.mid.messageCentreID",
15869         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15870         "MsgCentreId", HFILL }},
15871     { &hf_qsig_mid_stringBmp,
15872       { "stringBmp", "qsig.mid.stringBmp",
15873         FT_STRING, BASE_NONE, NULL, 0,
15874         "BMPString", HFILL }},
15875     { &hf_qsig_mid_stringUtf8,
15876       { "stringUtf8", "qsig.mid.stringUtf8",
15877         FT_STRING, BASE_NONE, NULL, 0,
15878         "UTF8String", HFILL }},
15879     { &hf_qsig_mid_none,
15880       { "none", "qsig.mid.none",
15881         FT_NONE, BASE_NONE, NULL, 0,
15882         NULL, HFILL }},
15883     { &hf_qsig_mid_extension,
15884       { "extension", "qsig.mid.extension",
15885         FT_NONE, BASE_NONE, NULL, 0,
15886         NULL, HFILL }},
15887     { &hf_qsig_mid_multipleExtension,
15888       { "multipleExtension", "qsig.mid.multipleExtension",
15889         FT_UINT32, BASE_DEC, NULL, 0,
15890         "SEQUENCE_OF_Extension", HFILL }},
15891     { &hf_qsig_mid_multipleExtension_item,
15892       { "Extension", "qsig.mid.Extension",
15893         FT_NONE, BASE_NONE, NULL, 0,
15894         NULL, HFILL }},
15895
15896 /*--- End of included file: packet-qsig-hfarr.c ---*/
15897 #line 652 "../../asn1/qsig/packet-qsig-template.c"
15898   };
15899
15900   /* List of subtrees */
15901   static gint *ett[] = {
15902     &ett_qsig,
15903     &ett_qsig_ie,
15904     &ett_qsig_unknown_extension,
15905
15906 /*--- Included file: packet-qsig-ettarr.c ---*/
15907 #line 1 "../../asn1/qsig/packet-qsig-ettarr.c"
15908
15909 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
15910
15911     &ett_qsig_Extension,
15912     &ett_qsig_PresentedAddressScreened,
15913     &ett_qsig_PresentedAddressUnscreened,
15914     &ett_qsig_PresentedNumberScreened,
15915     &ett_qsig_PresentedNumberUnscreened,
15916     &ett_qsig_AddressScreened,
15917     &ett_qsig_NumberScreened,
15918     &ett_qsig_Address,
15919     &ett_qsig_PartyNumber,
15920     &ett_qsig_PublicPartyNumber,
15921     &ett_qsig_PrivatePartyNumber,
15922     &ett_qsig_PartySubaddress,
15923     &ett_qsig_UserSpecifiedSubaddress,
15924
15925 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
15926
15927     &ett_qsig_na_NameArg,
15928     &ett_qsig_na_T_nameSequence,
15929     &ett_qsig_na_NameExtension,
15930     &ett_qsig_na_SEQUENCE_OF_Extension,
15931     &ett_qsig_na_Name,
15932     &ett_qsig_na_NamePresentationAllowed,
15933     &ett_qsig_na_NamePresentationRestricted,
15934     &ett_qsig_na_NameSet,
15935
15936 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
15937
15938     &ett_qsig_cf_ARG_activateDiversionQ,
15939     &ett_qsig_cf_ADExtension,
15940     &ett_qsig_cf_SEQUENCE_OF_Extension,
15941     &ett_qsig_cf_RES_activateDiversionQ,
15942     &ett_qsig_cf_ARG_deactivateDiversionQ,
15943     &ett_qsig_cf_DDExtension,
15944     &ett_qsig_cf_RES_deactivateDiversionQ,
15945     &ett_qsig_cf_ARG_interrogateDiversionQ,
15946     &ett_qsig_cf_IDExtension,
15947     &ett_qsig_cf_ARG_checkRestriction,
15948     &ett_qsig_cf_CHRExtension,
15949     &ett_qsig_cf_RES_checkRestriction,
15950     &ett_qsig_cf_ARG_callRerouteing,
15951     &ett_qsig_cf_CRRExtension,
15952     &ett_qsig_cf_RES_callRerouteing,
15953     &ett_qsig_cf_ARG_divertingLegInformation1,
15954     &ett_qsig_cf_DLI1Extension,
15955     &ett_qsig_cf_ARG_divertingLegInformation2,
15956     &ett_qsig_cf_DLI2Extension,
15957     &ett_qsig_cf_ARG_divertingLegInformation3,
15958     &ett_qsig_cf_DLI3Extension,
15959     &ett_qsig_cf_ARG_cfnrDivertedLegFailed,
15960     &ett_qsig_cf_IntResultList,
15961     &ett_qsig_cf_IntResult,
15962     &ett_qsig_cf_IRExtension,
15963
15964 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
15965
15966     &ett_qsig_pr_PRProposeArg,
15967     &ett_qsig_pr_PRPExtension,
15968     &ett_qsig_pr_SEQUENCE_OF_Extension,
15969     &ett_qsig_pr_PRSetupArg,
15970     &ett_qsig_pr_PRSExtension,
15971     &ett_qsig_pr_PRRetainArg,
15972     &ett_qsig_pr_PRRExtension,
15973     &ett_qsig_pr_DummyResult,
15974     &ett_qsig_pr_DummyArg,
15975
15976 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
15977
15978     &ett_qsig_ct_DummyArg,
15979     &ett_qsig_ct_SEQUENCE_OF_Extension,
15980     &ett_qsig_ct_DummyRes,
15981     &ett_qsig_ct_CTIdentifyRes,
15982     &ett_qsig_ct_T_resultExtension,
15983     &ett_qsig_ct_CTInitiateArg,
15984     &ett_qsig_ct_CTIargumentExtension,
15985     &ett_qsig_ct_CTSetupArg,
15986     &ett_qsig_ct_CTSargumentExtension,
15987     &ett_qsig_ct_CTActiveArg,
15988     &ett_qsig_ct_CTAargumentExtension,
15989     &ett_qsig_ct_CTCompleteArg,
15990     &ett_qsig_ct_CTCargumentExtension,
15991     &ett_qsig_ct_CTUpdateArg,
15992     &ett_qsig_ct_CTUargumentExtension,
15993     &ett_qsig_ct_SubaddressTransferArg,
15994     &ett_qsig_ct_STargumentExtension,
15995
15996 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
15997
15998     &ett_qsig_cc_CcRequestArg,
15999     &ett_qsig_cc_CcRequestRes,
16000     &ett_qsig_cc_CcOptionalArg,
16001     &ett_qsig_cc_T_fullArg,
16002     &ett_qsig_cc_CcExtension,
16003     &ett_qsig_cc_SEQUENCE_OF_Extension,
16004
16005 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
16006
16007     &ett_qsig_co_PathRetainArg,
16008     &ett_qsig_co_T_extendedServiceList,
16009     &ett_qsig_co_ServiceAvailableArg,
16010     &ett_qsig_co_T_extendedServiceList_01,
16011     &ett_qsig_co_ServiceList,
16012     &ett_qsig_co_DummyArg,
16013     &ett_qsig_co_SEQUENCE_OF_Extension,
16014     &ett_qsig_co_DummyRes,
16015
16016 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
16017
16018     &ett_qsig_dnd_DummyArg,
16019     &ett_qsig_dnd_SEQUENCE_OF_Extension,
16020     &ett_qsig_dnd_DummyRes,
16021     &ett_qsig_dnd_DNDActivateArg,
16022     &ett_qsig_dnd_DNDAargumentExtension,
16023     &ett_qsig_dnd_DNDActivateRes,
16024     &ett_qsig_dnd_T_status,
16025     &ett_qsig_dnd_T_status_item,
16026     &ett_qsig_dnd_T_resultExtension,
16027     &ett_qsig_dnd_DNDDeactivateArg,
16028     &ett_qsig_dnd_DNDDargumentExtension,
16029     &ett_qsig_dnd_DNDInterrogateArg,
16030     &ett_qsig_dnd_DNDIargumentExtension,
16031     &ett_qsig_dnd_DNDInterrogateRes,
16032     &ett_qsig_dnd_T_status_01,
16033     &ett_qsig_dnd_T_status_item_01,
16034     &ett_qsig_dnd_T_resultExtension_01,
16035     &ett_qsig_dnd_DNDOverrideArg,
16036     &ett_qsig_dnd_DNDOargumentExtension,
16037     &ett_qsig_dnd_PathRetainArg,
16038     &ett_qsig_dnd_T_extendedServiceList,
16039     &ett_qsig_dnd_ServiceAvailableArg,
16040     &ett_qsig_dnd_T_extendedServiceList_01,
16041     &ett_qsig_dnd_ServiceList,
16042
16043 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
16044
16045     &ett_qsig_ci_PathRetainArg,
16046     &ett_qsig_ci_T_extendedServiceList,
16047     &ett_qsig_ci_ServiceAvailableArg,
16048     &ett_qsig_ci_T_extendedServiceList_01,
16049     &ett_qsig_ci_ServiceList,
16050     &ett_qsig_ci_DummyArg,
16051     &ett_qsig_ci_SEQUENCE_OF_Extension,
16052     &ett_qsig_ci_DummyRes,
16053     &ett_qsig_ci_CIRequestArg,
16054     &ett_qsig_ci_T_argumentExtension,
16055     &ett_qsig_ci_CIRequestRes,
16056     &ett_qsig_ci_T_resultExtension,
16057     &ett_qsig_ci_CIGetCIPLRes,
16058     &ett_qsig_ci_T_resultExtension_01,
16059
16060 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
16061
16062     &ett_qsig_aoc_AocRateArg,
16063     &ett_qsig_aoc_T_aocRate,
16064     &ett_qsig_aoc_T_rateArgExtension,
16065     &ett_qsig_aoc_SEQUENCE_OF_Extension,
16066     &ett_qsig_aoc_AocInterimArg,
16067     &ett_qsig_aoc_T_interimCharge,
16068     &ett_qsig_aoc_T_specificCurrency,
16069     &ett_qsig_aoc_T_interimArgExtension,
16070     &ett_qsig_aoc_AocFinalArg,
16071     &ett_qsig_aoc_T_finalCharge,
16072     &ett_qsig_aoc_T_specificCurrency_01,
16073     &ett_qsig_aoc_T_finalArgExtension,
16074     &ett_qsig_aoc_AOCSCurrencyInfoList,
16075     &ett_qsig_aoc_AOCSCurrencyInfo,
16076     &ett_qsig_aoc_T_rateType,
16077     &ett_qsig_aoc_DurationCurrency,
16078     &ett_qsig_aoc_FlatRateCurrency,
16079     &ett_qsig_aoc_VolumeRateCurrency,
16080     &ett_qsig_aoc_RecordedCurrency,
16081     &ett_qsig_aoc_Amount,
16082     &ett_qsig_aoc_Time,
16083     &ett_qsig_aoc_ChargingAssociation,
16084     &ett_qsig_aoc_ChargeRequestArg,
16085     &ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination,
16086     &ett_qsig_aoc_T_chargeReqArgExtension,
16087     &ett_qsig_aoc_ChargeRequestRes,
16088     &ett_qsig_aoc_T_chargeReqResExtension,
16089     &ett_qsig_aoc_DummyArg,
16090     &ett_qsig_aoc_AocCompleteArg,
16091     &ett_qsig_aoc_T_completeArgExtension,
16092     &ett_qsig_aoc_AocCompleteRes,
16093     &ett_qsig_aoc_T_completeResExtension,
16094     &ett_qsig_aoc_AocDivChargeReqArg,
16095     &ett_qsig_aoc_T_aocDivChargeReqArgExt,
16096
16097 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
16098
16099     &ett_qsig_re_ReAlertingArg,
16100     &ett_qsig_re_T_argumentExtension,
16101     &ett_qsig_re_SEQUENCE_OF_Extension,
16102     &ett_qsig_re_ReAnswerArg,
16103     &ett_qsig_re_T_argumentExtension_01,
16104
16105 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
16106
16107     &ett_qsig_sync_SynchronizationReqArg,
16108     &ett_qsig_sync_SynchronizationReqRes,
16109     &ett_qsig_sync_SynchronizationInfoArg,
16110     &ett_qsig_sync_ArgExtension,
16111     &ett_qsig_sync_SEQUENCE_OF_Extension,
16112
16113 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
16114
16115     &ett_qsig_cint_CintInformation1Arg,
16116     &ett_qsig_cint_CintInformation2Arg,
16117     &ett_qsig_cint_CintCondArg,
16118     &ett_qsig_cint_CintExtension,
16119     &ett_qsig_cint_SEQUENCE_OF_Extension,
16120
16121 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
16122
16123     &ett_qsig_cmn_CmnArg,
16124     &ett_qsig_cmn_T_extension,
16125     &ett_qsig_cmn_SEQUENCE_OF_Extension,
16126     &ett_qsig_cmn_DummyArg,
16127     &ett_qsig_cmn_FeatureIdList,
16128     &ett_qsig_cmn_EquipmentId,
16129
16130 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
16131
16132     &ett_qsig_cpi_CPIRequestArg,
16133     &ett_qsig_cpi_T_argumentExtension,
16134     &ett_qsig_cpi_SEQUENCE_OF_Extension,
16135     &ett_qsig_cpi_CPIPRequestArg,
16136     &ett_qsig_cpi_T_argumentExtension_01,
16137
16138 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
16139
16140     &ett_qsig_pumr_PumRegistrArg,
16141     &ett_qsig_pumr_RpumUserId,
16142     &ett_qsig_pumr_T_userPin,
16143     &ett_qsig_pumr_PumRegistrRes,
16144     &ett_qsig_pumr_DummyRes,
16145     &ett_qsig_pumr_SEQUENCE_OF_Extension,
16146     &ett_qsig_pumr_PumDelRegArg,
16147     &ett_qsig_pumr_XpumUserId,
16148     &ett_qsig_pumr_PumDe_regArg,
16149     &ett_qsig_pumr_DpumUserId,
16150     &ett_qsig_pumr_T_userPin_01,
16151     &ett_qsig_pumr_PumInterrogArg,
16152     &ett_qsig_pumr_IpumUserId,
16153     &ett_qsig_pumr_T_userPin_02,
16154     &ett_qsig_pumr_PumInterrogRes,
16155     &ett_qsig_pumr_PumInterrogRes_item,
16156     &ett_qsig_pumr_SessionParams,
16157     &ett_qsig_pumr_PumrExtension,
16158
16159 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
16160
16161     &ett_qsig_pumch_EnquiryArg,
16162     &ett_qsig_pumch_DivertArg,
16163     &ett_qsig_pumch_InformArg,
16164     &ett_qsig_pumch_EnquiryRes,
16165     &ett_qsig_pumch_CurrLocation,
16166     &ett_qsig_pumch_CfuActivated,
16167     &ett_qsig_pumch_DummyRes,
16168     &ett_qsig_pumch_SEQUENCE_OF_Extension,
16169     &ett_qsig_pumch_PumiExtension,
16170     &ett_qsig_pumch_PumIdentity,
16171     &ett_qsig_pumch_T_both,
16172     &ett_qsig_pumch_PumoArg,
16173     &ett_qsig_pumch_T_pumoaextension,
16174
16175 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
16176
16177     &ett_qsig_ssct_DummyArg,
16178     &ett_qsig_ssct_SEQUENCE_OF_Extension,
16179     &ett_qsig_ssct_DummyRes,
16180     &ett_qsig_ssct_SSCTInitiateArg,
16181     &ett_qsig_ssct_SSCTIargumentExtension,
16182     &ett_qsig_ssct_SSCTSetupArg,
16183     &ett_qsig_ssct_SSCTSargumentExtension,
16184     &ett_qsig_ssct_SSCTDigitInfoArg,
16185     &ett_qsig_ssct_SSCTDargumentExtension,
16186
16187 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
16188
16189     &ett_qsig_wtmlr_LocUpdArg,
16190     &ett_qsig_wtmlr_DummyRes,
16191     &ett_qsig_wtmlr_SEQUENCE_OF_Extension,
16192     &ett_qsig_wtmlr_LocDelArg,
16193     &ett_qsig_wtmlr_LocDeRegArg,
16194     &ett_qsig_wtmlr_PisnEnqArg,
16195     &ett_qsig_wtmlr_PisnEnqRes,
16196     &ett_qsig_wtmlr_GetRRCInfArg,
16197     &ett_qsig_wtmlr_GetRRCInfRes,
16198     &ett_qsig_wtmlr_LocInfoCheckArg,
16199     &ett_qsig_wtmlr_LocInfoCheckRes,
16200     &ett_qsig_wtmlr_WtmUserId,
16201     &ett_qsig_wtmlr_LrExtension,
16202
16203 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
16204
16205     &ett_qsig_wtmch_EnquiryArg,
16206     &ett_qsig_wtmch_DivertArg,
16207     &ett_qsig_wtmch_InformArg,
16208     &ett_qsig_wtmch_EnquiryRes,
16209     &ett_qsig_wtmch_CurrLocation,
16210     &ett_qsig_wtmch_CfuActivated,
16211     &ett_qsig_wtmch_DummyRes,
16212     &ett_qsig_wtmch_SEQUENCE_OF_Extension,
16213     &ett_qsig_wtmch_WtmiExtension,
16214     &ett_qsig_wtmch_WtmIdentity,
16215     &ett_qsig_wtmch_T_both,
16216     &ett_qsig_wtmch_WtmoArg,
16217     &ett_qsig_wtmch_T_wtmoaextension,
16218
16219 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
16220
16221     &ett_qsig_wtmau_AuthWtmArg,
16222     &ett_qsig_wtmau_AuthWtmRes,
16223     &ett_qsig_wtmau_WtatParamArg,
16224     &ett_qsig_wtmau_WtatParamRes,
16225     &ett_qsig_wtmau_WtanParamArg,
16226     &ett_qsig_wtmau_WtmUserId,
16227     &ett_qsig_wtmau_WtanParamRes,
16228     &ett_qsig_wtmau_ARG_transferAuthParam,
16229     &ett_qsig_wtmau_WtatParamInfo,
16230     &ett_qsig_wtmau_T_wtatParamInfoChoice,
16231     &ett_qsig_wtmau_WtanParamInfo,
16232     &ett_qsig_wtmau_AuthSessionKeyInfo,
16233     &ett_qsig_wtmau_CalcWtatInfo,
16234     &ett_qsig_wtmau_CalcWtatInfoUnit,
16235     &ett_qsig_wtmau_CalcWtanInfo,
16236     &ett_qsig_wtmau_DummyExtension,
16237     &ett_qsig_wtmau_SEQUENCE_OF_Extension,
16238     &ett_qsig_wtmau_AuthAlgorithm,
16239
16240 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
16241
16242     &ett_qsig_sd_DisplayArg,
16243     &ett_qsig_sd_DisplayString,
16244     &ett_qsig_sd_KeypadArg,
16245     &ett_qsig_sd_SDExtension,
16246     &ett_qsig_sd_SEQUENCE_OF_Extension,
16247
16248 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
16249
16250     &ett_qsig_cidl_CallIdentificationAssignArg,
16251     &ett_qsig_cidl_CallIdentificationUpdateArg,
16252     &ett_qsig_cidl_CallIdentificationData,
16253     &ett_qsig_cidl_T_linkageID,
16254     &ett_qsig_cidl_ExtensionType,
16255     &ett_qsig_cidl_SEQUENCE_OF_Extension,
16256
16257 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
16258
16259     &ett_qsig_sms_SmsSubmitArg,
16260     &ett_qsig_sms_SmsSubmitRes,
16261     &ett_qsig_sms_SmsDeliverArg,
16262     &ett_qsig_sms_SmsDeliverRes,
16263     &ett_qsig_sms_SmsStatusReportArg,
16264     &ett_qsig_sms_SmsStatusReportRes,
16265     &ett_qsig_sms_SmsCommandArg,
16266     &ett_qsig_sms_SmsCommandRes,
16267     &ett_qsig_sms_ScAlertArg,
16268     &ett_qsig_sms_DummyRes,
16269     &ett_qsig_sms_SmSubmitParameter,
16270     &ett_qsig_sms_SmDeliverParameter,
16271     &ett_qsig_sms_SmsDeliverResChoice,
16272     &ett_qsig_sms_ResChoiceSeq,
16273     &ett_qsig_sms_SmsStatusReportResponseChoice,
16274     &ett_qsig_sms_SmsExtension,
16275     &ett_qsig_sms_SEQUENCE_OF_Extension,
16276     &ett_qsig_sms_ValidityPeriod,
16277     &ett_qsig_sms_ValidityPeriodEnh,
16278     &ett_qsig_sms_EnhancedVP,
16279     &ett_qsig_sms_UserData,
16280     &ett_qsig_sms_ShortMessageText,
16281     &ett_qsig_sms_UserDataHeader,
16282     &ett_qsig_sms_UserDataHeaderChoice,
16283     &ett_qsig_sms_SmscControlParameterHeader,
16284     &ett_qsig_sms_Concatenated8BitSMHeader,
16285     &ett_qsig_sms_Concatenated16BitSMHeader,
16286     &ett_qsig_sms_ApplicationPort8BitHeader,
16287     &ett_qsig_sms_ApplicationPort16BitHeader,
16288     &ett_qsig_sms_GenericUserValue,
16289     &ett_qsig_sms_PAR_smsDeliverError,
16290     &ett_qsig_sms_PAR_smsSubmitError,
16291     &ett_qsig_sms_PAR_smsStatusReportError,
16292     &ett_qsig_sms_PAR_smsCommandError,
16293
16294 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
16295
16296     &ett_qsig_mcr_MCRequestArg,
16297     &ett_qsig_mcr_MCRequestResult,
16298     &ett_qsig_mcr_MCInformArg,
16299     &ett_qsig_mcr_MCAlertingArg,
16300     &ett_qsig_mcr_CallType,
16301     &ett_qsig_mcr_Correlation,
16302     &ett_qsig_mcr_MCRExtensions,
16303     &ett_qsig_mcr_SEQUENCE_OF_Extension,
16304
16305 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
16306
16307     &ett_qsig_mcm_MCMailboxFullArg,
16308     &ett_qsig_mcm_MailboxFullFor,
16309     &ett_qsig_mcm_MailboxFullPar,
16310     &ett_qsig_mcm_MCMServiceArg,
16311     &ett_qsig_mcm_MCMChange,
16312     &ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo,
16313     &ett_qsig_mcm_SEQUENCE_OF_MessageType,
16314     &ett_qsig_mcm_MCMServiceInfo,
16315     &ett_qsig_mcm_MCMInterrogateArg,
16316     &ett_qsig_mcm_MCMInterrogateRes,
16317     &ett_qsig_mcm_MCMNewMsgArg,
16318     &ett_qsig_mcm_MCMNewArgumentExt,
16319     &ett_qsig_mcm_SEQUENCE_OF_Extension,
16320     &ett_qsig_mcm_MCMNoNewMsgArg,
16321     &ett_qsig_mcm_MCMNoNewArgumentExt,
16322     &ett_qsig_mcm_MCMUpdateArg,
16323     &ett_qsig_mcm_MCMUpdateReqArg,
16324     &ett_qsig_mcm_MCMUpdArgArgumentExt,
16325     &ett_qsig_mcm_MCMUpdateReqRes,
16326     &ett_qsig_mcm_MCMUpdateReqResElt,
16327     &ett_qsig_mcm_MCMUpdResArgumentExt,
16328     &ett_qsig_mcm_PartyInfo,
16329     &ett_qsig_mcm_UpdateInfo,
16330     &ett_qsig_mcm_AllMsgInfo,
16331     &ett_qsig_mcm_MessageInfo,
16332     &ett_qsig_mcm_CompleteInfo,
16333     &ett_qsig_mcm_AddressHeader,
16334     &ett_qsig_mcm_CompressedInfo,
16335     &ett_qsig_mcm_MsgCentreId,
16336     &ett_qsig_mcm_MCMExtensions,
16337
16338 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
16339
16340     &ett_qsig_mid_MIDMailboxAuthArg,
16341     &ett_qsig_mid_MIDMailboxIDArg,
16342     &ett_qsig_mid_PartyInfo,
16343     &ett_qsig_mid_String,
16344     &ett_qsig_mid_MIDExtensions,
16345     &ett_qsig_mid_SEQUENCE_OF_Extension,
16346
16347 /*--- End of included file: packet-qsig-ettarr.c ---*/
16348 #line 660 "../../asn1/qsig/packet-qsig-template.c"
16349     &ett_cnq_PSS1InformationElement,
16350   };
16351
16352   /* Register protocol and dissector */
16353   proto_qsig = proto_register_protocol(PNAME, PSNAME, PFNAME);
16354
16355   /* Register fields and subtrees */
16356   proto_register_field_array(proto_qsig, hf, array_length(hf));
16357   proto_register_subtree_array(ett, array_length(ett));
16358
16359   /* Register dissector tables */
16360   extension_dissector_table = register_dissector_table("qsig.ext", "QSIG Extension", FT_STRING, BASE_NONE);
16361
16362   qsig_init_tables();
16363 }
16364
16365
16366 /*--- proto_reg_handoff_qsig ------------------------------------------------*/
16367 void proto_reg_handoff_qsig(void) {
16368   int i;
16369   gint key;
16370   const gchar *oid;
16371   dissector_handle_t q931_handle;
16372   dissector_handle_t qsig_arg_handle;
16373   dissector_handle_t qsig_res_handle;
16374   dissector_handle_t qsig_err_handle;
16375   dissector_handle_t qsig_ie_handle;
16376
16377   q931_handle = find_dissector("q931");
16378   q931_ie_handle = find_dissector("q931.ie");
16379
16380   qsig_arg_handle = new_create_dissector_handle(dissect_qsig_arg, proto_qsig);
16381   qsig_res_handle = new_create_dissector_handle(dissect_qsig_res, proto_qsig);
16382   for (i=0; i<(int)array_length(qsig_op_tab); i++) {
16383     dissector_add_uint("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle);
16384     dissector_add_uint("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle);
16385     key = qsig_op_tab[i].opcode;
16386     oid = g_hash_table_lookup(qsig_opcode2oid_hashtable, &key);
16387     if (oid) {
16388       dissector_add_string("q932.ros.global.arg", oid, qsig_arg_handle);
16389       dissector_add_string("q932.ros.global.res", oid, qsig_res_handle);
16390     }
16391   }
16392   qsig_err_handle = new_create_dissector_handle(dissect_qsig_err, proto_qsig);
16393   for (i=0; i<(int)array_length(qsig_err_tab); i++) {
16394     dissector_add_uint("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle);
16395   }
16396
16397   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs4, proto_qsig);
16398   /* QSIG-TC - Transit counter */
16399   dissector_add_uint("q931.ie", CS4 | QSIG_IE_TRANSIT_COUNTER, qsig_ie_handle);
16400
16401   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs5, proto_qsig);
16402   /* SSIG-BC - Party category */
16403   dissector_add_uint("q931.ie", CS5 | QSIG_IE_PARTY_CATEGORY, qsig_ie_handle);
16404
16405   /* RFC 3204, 3.2 QSIG Media Type */
16406   dissector_add_string("media_type", "application/qsig", q931_handle);
16407
16408 }
16409
16410 /*---------------------------------------------------------------------------*/