1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-qsig.c                                                              */
4 /* asn2wrs.py -c ./qsig.cnf -s ./packet-qsig-template -D . -O ../.. 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  * Wireshark - Network traffic analyzer
14  * By Gerald Combs <gerald@wireshark.org>
15  * Copyright 1998 Gerald Combs
16  *
17  * SPDX-License-Identifier: GPL-2.0-or-later
18  */
19 
20 #include "config.h"
21 
22 #include <epan/packet.h>
23 #include <epan/expert.h>
24 #include <epan/strutil.h>
25 #include <epan/asn1.h>
26 #include <wsutil/strtoi.h>
27 
28 #include "packet-ber.h"
29 #include "packet-qsig.h"
30 
31 #define PNAME  "QSIG"
32 #define PSNAME "QSIG"
33 #define PFNAME "qsig"
34 
35 /* Shifted codeset values */
36 #define CS0 0x000
37 #define CS1 0x100
38 #define CS2 0x200
39 #define CS3 0x300
40 #define CS4 0x400
41 #define CS5 0x500
42 #define CS6 0x600
43 #define CS7 0x700
44 
45 #define	QSIG_IE_TRANSIT_COUNTER 0x31
46 #define	QSIG_IE_PARTY_CATEGORY  0x32
47 
48 void proto_register_qsig(void);
49 void proto_reg_handoff_qsig(void);
50 
51 static const value_string qsig_str_ie_type_cs4[] = {
52   { QSIG_IE_TRANSIT_COUNTER , "Transit counter" },
53   { 0, NULL}
54 };
55 static const value_string qsig_str_ie_type_cs5[] = {
56   { QSIG_IE_PARTY_CATEGORY  , "Party category" },
57   { 0, NULL}
58 };
59 /* Codeset array */
60 static const value_string *qsig_str_ie_type[] = {
61   NULL,
62   NULL,
63   NULL,
64   NULL,
65   qsig_str_ie_type_cs4,
66   qsig_str_ie_type_cs5,
67   NULL,
68   NULL,
69 };
70 
71 
72 static const value_string qsig_str_pc[] = {
73   { 0x00 , "unknown" },
74   { 0x01 , "extension" },
75   { 0x02 , "operator" },
76   { 0x03 , "emergency extension" },
77   { 0, NULL}
78 };
79 
80 static const value_string qsig_str_service[] = {
81   { 13868, "QSIG-NA" },
82   { 13873, "QSIG-CF" },
83   { 13874, "QSIG-PR" },
84   { 13869, "QSIG-CT" },
85   { 13870, "QSIG-CC" },
86   { 14843, "QSIG-CO" },
87   { 14844, "QSIG-DND(O)" },
88   { 14846, "QSIG-CI" },
89   { 15050, "QSIG-AOC" },
90   { 15052, "QSIG-RE" },
91   { 15054, "QSIG-CINT" },
92   { 15506, "QSIG-MWI" },
93   { 15507, "SYNC-SIG" },
94   { 15772, "QSIG-CMN" },
95   { 15992, "QSIG-CPI(P)" },
96   { 17876, "QSIG-PUMR" },
97   { 17878, "QSIG-PUMCH" },
98   { 19460, "QSIG-SSCT" },
99   { 15429, "QSIG-WTMLR" },
100   { 15431, "QSIG-WTMCH" },
101   { 15433, "QSIG-WTMAU" },
102   { 21407, "QSIG-SD" },
103   { 21889, "QSIG-CIDL" },
104   {   325, "QSIG-SMS" },
105   {   344, "QSIG-MCR" },
106   {  3471, "QSIG-MCM" },
107   {  3472, "QSIG-MID" },
108   {   0, NULL}
109 };
110 
111 static const value_string qsig_str_service_name[] = {
112   { 13868, "Name-Operations" },
113   { 13873, "Call-Diversion-Operations" },
114   { 13874, "Path-Replacement-Operations" },
115   { 13869, "Call-Transfer-Operations" },
116   { 13870, "SS-CC-Operations" },
117   { 14843, "Call-Offer-Operations" },
118   { 14844, "Do-Not-Disturb-Operations" },
119   { 14846, "Call-Intrusion-Operations" },
120   { 15050, "SS-AOC-Operation" },
121   { 15052, "Recall-Operation" },
122   { 15054, "Call-Interception-Operations" },
123   { 15506, "SS-MWI-Operations" },
124   { 15507, "Synchronization-Operations" },
125   { 15772, "Common-Information-Operations" },
126   { 15992, "Call-Interruption-Operation" },
127   { 17876, "PUM-Registration-Operation" },
128   { 17878, "Private-User-Mobility-Call-Handling-Operations" },
129   { 19460, "Single-Step-Call-Transfer-Operations" },
130   { 15429, "WTM-Location-Registration-Operations" },
131   { 15431, "Wireless-Terminal-Call-Handling-Operations" },
132   { 15433, "WTM-Authentication-Operations" },
133   { 21407, "SS-SD-Operations" },
134   { 21889, "Call-Identification-and-Call-Linkage-Operations" },
135   {   325, "Short-Message-Service-Operations" },
136   {   344, "SS-MCR-Operations" },
137   {  3471, "SS-MCM-Operations" },
138   {  3472, "SS-MID-Operations" },
139   {   0, NULL}
140 };
141 
142 #define NO_SRV (-1)
143 static const gint32 op2srv_tab[] = {
144   /*   0 */ 13868,
145   /*   1 */ 13868,
146   /*   2 */ 13868,
147   /*   3 */ 13868,
148   /*   4 */ 13874,
149   /*   5 */ 13874,
150   /*   6 */ 13874,
151   /*   7 */ 13869,
152   /*   8 */ 13869,
153   /*   9 */ 13869,
154   /*  10 */ 13869,
155   /*  11 */ 13869,
156   /*  12 */ 13869,
157   /*  13 */ 13869,
158   /*  14 */ 13869,
159   /*  15 */ 13873,
160   /*  16 */ 13873,
161   /*  17 */ 13873,
162   /*  18 */ 13873,
163   /*  19 */ 13873,
164   /*  20 */ 13873,
165   /*  21 */ 13873,
166   /*  22 */ 13873,
167   /*  23 */ 13873,
168   /*  24 */ NO_SRV,
169   /*  25 */ NO_SRV,
170   /*  26 */ NO_SRV,
171   /*  27 */ 13870,
172   /*  28 */ 13870,
173   /*  29 */ 13870,
174   /*  30 */ 13870,
175   /*  31 */ 13870,
176   /*  32 */ 13870,
177   /*  33 */ 13870,
178   /*  34 */ 14843,
179   /*  35 */ 14844,
180   /*  36 */ 14844,
181   /*  37 */ 14844,
182   /*  38 */ 14844,
183   /*  39 */ 14844,
184   /*  40 */ 13870,
185   /*  41 */ 90001,
186   /*  42 */ 90001,
187   /*  43 */ 14846,
188   /*  44 */ 14846,
189   /*  45 */ 14846,
190   /*  46 */ 14846,
191   /*  47 */ 14846,
192   /*  48 */ 14846,
193   /*  49 */ 90001,
194   /*  50 */ 15429,
195   /*  51 */ 15429,
196   /*  52 */ 15429,
197   /*  53 */ 15429,
198   /*  54 */ 15431,
199   /*  55 */ 15431,
200   /*  56 */ 15431,
201   /*  57 */ 15052,
202   /*  58 */ 15052,
203   /*  59 */ 15050,
204   /*  60 */ 15050,
205   /*  61 */ 15050,
206   /*  62 */ 15050,
207   /*  63 */ 15050,
208   /*  64 */ 15050,
209   /*  65 */ 15050,
210   /*  66 */ 15054,
211   /*  67 */ 15054,
212   /*  68 */ 15054,
213   /*  69 */ 15054,
214   /*  70 */ 15054,
215   /*  71 */ 15431,
216   /*  72 */ 15433,
217   /*  73 */ 15433,
218   /*  74 */ 15433,
219   /*  75 */ 15433,
220   /*  76 */ 15433,
221   /*  77 */ 15433,
222   /*  78 */ 15507,
223   /*  79 */ 15507,
224   /*  80 */  3471,
225   /*  81 */  3471,
226   /*  82 */  3471,
227   /*  83 */ NO_SRV,
228   /*  84 */ 15772,
229   /*  85 */ 15772,
230   /*  86 */ 13874,
231   /*  87 */ 15992,
232   /*  88 */ 15992,
233   /*  89 */ 17876,
234   /*  90 */ 17876,
235   /*  91 */ 17876,
236   /*  92 */ 17876,
237   /*  93 */ 17878,
238   /*  94 */ 17878,
239   /*  95 */ 17878,
240   /*  96 */ 17878,
241   /*  97 */ 15429,
242   /*  98 */ 15429,
243   /*  99 */ 19460,
244   /* 100 */ 19460,
245   /* 101 */ 19460,
246   /* 102 */ 19460,
247   /* 103 */ 21407,
248   /* 104 */ 21407,
249   /* 105 */ 21889,
250   /* 106 */ 21889,
251   /* 107 */   325,
252   /* 108 */   325,
253   /* 109 */   325,
254   /* 110 */   325,
255   /* 111 */   325,
256   /* 112 */   344,
257   /* 113 */   344,
258   /* 114 */   344,
259   /* 115 */  3471,
260   /* 116 */  3471,
261   /* 117 */  3471,
262   /* 118 */  3471,
263   /* 119 */  3472,
264   /* 120 */  3472,
265 };
266 
267 static const value_string qsig_str_operation[] = {
268 
269 /*--- Included file: packet-qsig-table10.c ---*/
270 #line 1 "./asn1/qsig/packet-qsig-table10.c"
271 
272 /* --- Module General-Error-List --- --- ---                                  */
273 
274 /* Unknown or empty loop list OPERATION */
275 
276 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
277 
278 /* Unknown or empty loop list OPERATION */
279 
280 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
281 
282   {   0, "callingName" },
283   {   1, "calledName" },
284   {   2, "connectedName" },
285   {   3, "busyName" },
286 
287 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
288 
289   {  15, "activateDiversionQ" },
290   {  16, "deactivateDiversionQ" },
291   {  17, "interrogateDiversionQ" },
292   {  18, "checkRestriction" },
293   {  19, "callRerouteing" },
294   {  20, "divertingLegInformation1" },
295   {  21, "divertingLegInformation2" },
296   {  22, "divertingLegInformation3" },
297   {  23, "cfnrDivertedLegFailed" },
298 
299 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
300 
301   {  86, "pathReplaceInvite" },
302   {   4, "pathReplacePropose" },
303   {   5, "pathReplaceSetup" },
304   {   6, "pathReplaceRetain" },
305 
306 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
307 
308   {   7, "callTransferIdentify" },
309   {   8, "callTransferAbandon" },
310   {   9, "callTransferInitiate" },
311   {  10, "callTransferSetup" },
312   {  11, "callTransferActive" },
313   {  12, "callTransferComplete" },
314   {  13, "callTransferUpdate" },
315   {  14, "subaddressTransfer" },
316 
317 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
318 
319   {  40, "ccbsRequest" },
320   {  27, "ccnrRequest" },
321   {  28, "ccCancel" },
322   {  29, "ccExecPossible" },
323   {  30, "ccPathReserve" },
324   {  31, "ccRingout" },
325   {  32, "ccSuspend" },
326   {  33, "ccResume" },
327 
328 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
329 
330   {  41, "pathRetain" },
331   {  42, "serviceAvailable" },
332   {  34, "callOfferRequest" },
333   {  49, "cfbOverride" },
334 
335 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
336 
337   {  35, "doNotDisturbActivateQ" },
338   {  36, "doNotDisturbDeactivateQ" },
339   {  37, "doNotDisturbInterrogateQ" },
340   {  38, "doNotDisturbOverrideQ" },
341   {  41, "pathRetain" },
342   {  42, "serviceAvailable" },
343   {  39, "doNotDisturbOvrExecuteQ" },
344 
345 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
346 
347   {  41, "pathRetain" },
348   {  42, "serviceAvailable" },
349   {  43, "callIntrusionRequest" },
350   {  44, "callIntrusionGetCIPL" },
351   {  46, "callIntrusionForcedRelease" },
352   {  45, "callIntrusionIsolate" },
353   {  47, "callIntrusionWOBRequest" },
354   {  48, "callIntrusionCompleted" },
355   {  49, "cfbOverride" },
356 
357 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
358 
359   {  63, "aocRate" },
360   {  62, "aocInterim" },
361   {  61, "aocFinal" },
362   {  59, "chargeRequest" },
363   {  60, "getFinalCharge" },
364   {  64, "aocComplete" },
365   {  65, "aocDivChargeReq" },
366 
367 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
368 
369   {  57, "recallAlerting" },
370   {  58, "recallAnswered" },
371 
372 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
373 
374   {  78, "synchronizationRequest" },
375   {  79, "synchronizationInfo" },
376 
377 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
378 
379   {  66, "cintLegInformation1" },
380   {  67, "cintLegInformation2" },
381   {  68, "cintCondition" },
382   {  69, "cintDisable" },
383   {  70, "cintEnable" },
384 
385 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
386 
387   {  84, "cmnRequest" },
388   {  85, "cmnInform" },
389 
390 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
391 
392   {  87, "callInterruptionRequest" },
393   {  88, "callProtectionRequest" },
394 
395 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
396 
397   {  89, "pumRegistr" },
398   {  90, "pumDelReg" },
399   {  91, "pumDe-reg" },
400   {  92, "pumInterrog" },
401 
402 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
403 
404   {  93, "pumiEnquiry" },
405   {  94, "pumiDivert" },
406   {  95, "pumiInform" },
407   {  96, "pumoCall" },
408 
409 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
410 
411   {  99, "ssctInitiate" },
412   { 100, "ssctSetup" },
413   { 101, "ssctPostDial" },
414   { 102, "ssctDigitInfo" },
415 
416 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
417 
418   {  50, "locUpdate" },
419   {  51, "locDelete" },
420   {  52, "locDeReg" },
421   {  53, "pisnEnquiry" },
422   {  97, "getRRCInf" },
423   {  98, "locInfoCheck" },
424 
425 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
426 
427   {  54, "wtmiEnquiry" },
428   {  55, "wtmiDivert" },
429   {  56, "wtmiInform" },
430   {  71, "wtmoCall" },
431 
432 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
433 
434   {  72, "authWtmUser" },
435   {  73, "getWtatParam" },
436   {  74, "wtatParamEnq" },
437   {  75, "getWtanParam" },
438   {  76, "wtanParamEnq" },
439   {  77, "transferAuthParam" },
440 
441 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
442 
443   { 103, "display" },
444   { 104, "keypad" },
445 
446 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
447 
448   { 105, "callIdentificationAssign" },
449   { 106, "callIdentificationUpdate" },
450 
451 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
452 
453   { 107, "smsSubmit" },
454   { 108, "smsDeliver" },
455   { 109, "smsStatusReport" },
456   { 110, "smsCommand" },
457   { 111, "scAlert" },
458 
459 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
460 
461   { 112, "mCRequest" },
462   { 113, "mCInform" },
463   { 114, "mCAlerting" },
464 
465 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
466 
467   {  80, "mCMNewMsg" },
468   {  81, "mCMNoNewMsg" },
469   { 115, "mCMUpdate" },
470   {  82, "mCMUpdateReq" },
471   { 116, "mCMService" },
472   { 117, "mCMInterrogate" },
473   { 118, "mCMailboxFull" },
474 
475 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
476 
477   { 119, "mIDMailboxAuth" },
478   { 120, "mIDMailboxID" },
479 
480 /*--- End of included file: packet-qsig-table10.c ---*/
481 #line 261 "./asn1/qsig/packet-qsig-template.c"
482   {   0, NULL}
483 };
484 
485 static const value_string qsig_str_error[] = {
486 
487 /*--- Included file: packet-qsig-table20.c ---*/
488 #line 1 "./asn1/qsig/packet-qsig-table20.c"
489 
490 /* --- Module General-Error-List --- --- ---                                  */
491 
492   {    0, "userNotSubscribed" },
493   {    1, "rejectedByNetwork" },
494   {    2, "rejectedByUser" },
495   {    3, "notAvailable" },
496   {    5, "insufficientInformation" },
497   {    6, "invalidServedUserNr" },
498   {    7, "invalidCallState" },
499   {    8, "basicServiceNotProvided" },
500   {    9, "notIncomingCall" },
501   {   10, "supplementaryServiceInteractionNotAllowed" },
502   {   11, "resourceUnavailable" },
503   {   25, "callFailure" },
504   {   43, "proceduralError" },
505 
506 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
507 
508 /* Unknown or empty loop list ERROR */
509 
510 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
511 
512 /* Unknown or empty loop list ERROR */
513 
514 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
515 
516   {   12, "invalidDivertedToNr" },
517   {   14, "specialServiceNr" },
518   {   15, "diversionToServedUserNr" },
519   {   24, "numberOfDiversionsExceeded" },
520   { 1000, "temporarilyUnavailable" },
521   { 1007, "notAuthorized" },
522   { 1008, "unspecified" },
523 
524 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
525 
526   { 1000, "temporarilyUnavailable" },
527   { 1001, "collision" },
528   { 1002, "criteriaPermanentlyUnachievable" },
529   { 1003, "criteriaTemporarilyUnachievable" },
530   { 1004, "invalidRerouteingNumber" },
531   { 1005, "unrecognizedCallIdentity" },
532   { 1006, "establishmentFailure" },
533   { 1008, "unspecified" },
534 
535 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
536 
537   { 1008, "unspecified" },
538   { 1004, "invalidRerouteingNumber" },
539   { 1005, "unrecognizedCallIdentity" },
540   { 1006, "establishmentFailure" },
541 
542 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
543 
544   { 1008, "unspecified" },
545   { 1010, "shortTermRejection" },
546   { 1011, "longTermRejection" },
547   { 1012, "remoteUserBusyAgain" },
548   { 1013, "failureToMatch" },
549   { 1014, "failedDueToInterworking" },
550 
551 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
552 
553   { 1009, "notBusy" },
554   { 1000, "temporarilyUnavailable" },
555   { 1008, "unspecified" },
556 
557 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
558 
559   { 1000, "temporarilyUnavailable" },
560   { 1008, "unspecified" },
561 
562 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
563 
564   { 1009, "notBusy" },
565   { 1000, "temporarilyUnavailable" },
566   { 1007, "notAuthorized" },
567   { 1008, "unspecified" },
568 
569 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
570 
571   { 1008, "unspecified" },
572   { 1016, "freeOfCharge" },
573 
574 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
575 
576 /* Unknown or empty loop list ERROR */
577 
578 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
579 
580   { 1008, "unspecified" },
581 
582 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
583 
584 /* Unknown or empty loop list ERROR */
585 
586 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
587 
588 /* Unknown or empty loop list ERROR */
589 
590 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
591 
592 /* Unknown or empty loop list ERROR */
593 
594 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
595 
596   { 1008, "unspecified" },
597   { 1007, "notAuthorized" },
598   { 1000, "temporarilyUnavailable" },
599   { 1019, "pumUserNotSubscribedToThisServiceOpt" },
600   { 1020, "pumUserFailedAuthentication" },
601   { 1021, "hostingAddrInvalid" },
602   { 1022, "pumUserNotRegistered" },
603 
604 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
605 
606   { 1015, "locationNotKnown" },
607   { 1008, "unspecified" },
608 
609 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
610 
611   { 1008, "unspecified" },
612 
613 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
614 
615   { 1007, "notAuthorized" },
616   { 1000, "temporarilyUnavailable" },
617   { 1008, "unspecified" },
618 
619 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
620 
621   { 1008, "unspecified" },
622   { 1015, "locationNotKnown" },
623 
624 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
625 
626   { 1007, "notAuthorized" },
627   { 1017, "paramNotAvailable" },
628   { 1000, "temporarilyUnavailable" },
629   { 1008, "unspecified" },
630 
631 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
632 
633   { 1008, "unspecified" },
634   { 1023, "noDisplayAvailable" },
635   { 1024, "displayTemporarilyNotAvailable" },
636   { 1025, "notPresentable" },
637 
638 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
639 
640 /* Unknown or empty loop list ERROR */
641 
642 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
643 
644   { 1026, "smsDeliverError" },
645   { 1027, "smsSubmitError" },
646   { 1028, "smsStatusReportError" },
647   { 1029, "smsCommandError" },
648   { 1008, "unspecified" },
649 
650 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
651 
652   { 1030, "invalidDestinationNumber" },
653   { 1031, "invalidCooperationNumber" },
654   { 1032, "mCRequestNotAllowed" },
655   { 1033, "mCExecutionNotAllowed" },
656   { 1034, "mCDestUserBusy" },
657   { 1035, "mCCoopUserBusy" },
658   { 1036, "mCCoopUserRejected" },
659   { 1008, "unspecified" },
660 
661 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
662 
663   { 1037, "mCMModeNotProvided" },
664   { 1008, "unspecified" },
665 
666 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
667 
668   { 1039, "invalidMailbox" },
669   { 1040, "authorizationFailed" },
670   { 1008, "unspecified" },
671 
672 /*--- End of included file: packet-qsig-table20.c ---*/
673 #line 266 "./asn1/qsig/packet-qsig-template.c"
674   {   0, NULL}
675 };
676 
677 /* Initialize the protocol and registered fields */
678 static int proto_qsig = -1;
679 static int hf_qsig_operation = -1;
680 static int hf_qsig_service = -1;
681 static int hf_qsig_error = -1;
682 static int hf_qsig_ie_type = -1;
683 static int hf_qsig_ie_type_cs4 = -1;
684 static int hf_qsig_ie_type_cs5 = -1;
685 static int hf_qsig_ie_len = -1;
686 static int hf_qsig_ie_data = -1;
687 static int hf_qsig_tc = -1;
688 static int hf_qsig_pc = -1;
689 
690 /*--- Included file: packet-qsig-hf.c ---*/
691 #line 1 "./asn1/qsig/packet-qsig-hf.c"
692 
693 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
694 
695 static int hf_qsig_extensionId = -1;              /* T_extensionId */
696 static int hf_qsig_extensionArgument = -1;        /* T_extensionArgument */
697 static int hf_qsig_presentationAllowedAddressS = -1;  /* AddressScreened */
698 static int hf_qsig_presentationRestricted = -1;   /* NULL */
699 static int hf_qsig_numberNotAvailableDueToInterworking = -1;  /* NULL */
700 static int hf_qsig_presentationRestrictedAddressS = -1;  /* AddressScreened */
701 static int hf_qsig_presentationAllowedAddressU = -1;  /* Address */
702 static int hf_qsig_presentationRestrictedAddressU = -1;  /* Address */
703 static int hf_qsig_presentationAllowedAddressNS = -1;  /* NumberScreened */
704 static int hf_qsig_presentationRestrictedAddressNS = -1;  /* NumberScreened */
705 static int hf_qsig_presentationAllowedAddressNU = -1;  /* PartyNumber */
706 static int hf_qsig_presentationRestrictedAddressNU = -1;  /* PartyNumber */
707 static int hf_qsig_partyNumber = -1;              /* PartyNumber */
708 static int hf_qsig_screeningIndicator = -1;       /* ScreeningIndicator */
709 static int hf_qsig_partySubaddress = -1;          /* PartySubaddress */
710 static int hf_qsig_unknownPartyNumber = -1;       /* NumberDigits */
711 static int hf_qsig_publicPartyNumber = -1;        /* PublicPartyNumber */
712 static int hf_qsig_dataPartyNumber = -1;          /* NumberDigits */
713 static int hf_qsig_telexPartyNumber = -1;         /* NumberDigits */
714 static int hf_qsig_privatePartyNumber = -1;       /* PrivatePartyNumber */
715 static int hf_qsig_nationalStandardPartyNumber = -1;  /* NumberDigits */
716 static int hf_qsig_publicTypeOfNumber = -1;       /* PublicTypeOfNumber */
717 static int hf_qsig_publicNumberDigits = -1;       /* NumberDigits */
718 static int hf_qsig_privateTypeOfNumber = -1;      /* PrivateTypeOfNumber */
719 static int hf_qsig_privateNumberDigits = -1;      /* NumberDigits */
720 static int hf_qsig_userSpecifiedSubaddress = -1;  /* UserSpecifiedSubaddress */
721 static int hf_qsig_nSAPSubaddress = -1;           /* NSAPSubaddress */
722 static int hf_qsig_subaddressInformation = -1;    /* SubaddressInformation */
723 static int hf_qsig_oddCountIndicator = -1;        /* BOOLEAN */
724 
725 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
726 
727 static int hf_qsig_na_qsig_na_NameArg_PDU = -1;   /* NameArg */
728 static int hf_qsig_na_name = -1;                  /* Name */
729 static int hf_qsig_na_nameSequence = -1;          /* T_nameSequence */
730 static int hf_qsig_na_extensionNA = -1;           /* NameExtension */
731 static int hf_qsig_na_single = -1;                /* Extension */
732 static int hf_qsig_na_multiple = -1;              /* SEQUENCE_OF_Extension */
733 static int hf_qsig_na_multiple_item = -1;         /* Extension */
734 static int hf_qsig_na_namePresentationAllowed = -1;  /* NamePresentationAllowed */
735 static int hf_qsig_na_namePresentationRestricted = -1;  /* NamePresentationRestricted */
736 static int hf_qsig_na_nameNotAvailable = -1;      /* NameNotAvailable */
737 static int hf_qsig_na_namePresentationAllowedSimple = -1;  /* NameData */
738 static int hf_qsig_na_namePresentationAllowedExtended = -1;  /* NameSet */
739 static int hf_qsig_na_namePresentationRestrictedSimple = -1;  /* NameData */
740 static int hf_qsig_na_namePresentationRestrictedExtended = -1;  /* NameSet */
741 static int hf_qsig_na_namePresentationRestrictedNull = -1;  /* NULL */
742 static int hf_qsig_na_nameData = -1;              /* NameData */
743 static int hf_qsig_na_characterSet = -1;          /* CharacterSet */
744 
745 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
746 
747 static int hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU = -1;  /* ARG_activateDiversionQ */
748 static int hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU = -1;  /* RES_activateDiversionQ */
749 static int hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU = -1;  /* ARG_deactivateDiversionQ */
750 static int hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU = -1;  /* RES_deactivateDiversionQ */
751 static int hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU = -1;  /* ARG_interrogateDiversionQ */
752 static int hf_qsig_cf_qsig_cf_IntResultList_PDU = -1;  /* IntResultList */
753 static int hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU = -1;  /* ARG_checkRestriction */
754 static int hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU = -1;  /* RES_checkRestriction */
755 static int hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU = -1;  /* ARG_callRerouteing */
756 static int hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU = -1;  /* RES_callRerouteing */
757 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU = -1;  /* ARG_divertingLegInformation1 */
758 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU = -1;  /* ARG_divertingLegInformation2 */
759 static int hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU = -1;  /* ARG_divertingLegInformation3 */
760 static int hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU = -1;  /* ARG_cfnrDivertedLegFailed */
761 static int hf_qsig_cf_qsig_cf_Extension_PDU = -1;  /* Extension */
762 static int hf_qsig_cf_procedure = -1;             /* Procedure */
763 static int hf_qsig_cf_basicService = -1;          /* BasicService */
764 static int hf_qsig_cf_divertedToAddress = -1;     /* Address */
765 static int hf_qsig_cf_servedUserNr = -1;          /* PartyNumber */
766 static int hf_qsig_cf_activatingUserNr = -1;      /* PartyNumber */
767 static int hf_qsig_cf_extensionAD = -1;           /* ADExtension */
768 static int hf_qsig_cf_single = -1;                /* Extension */
769 static int hf_qsig_cf_multiple = -1;              /* SEQUENCE_OF_Extension */
770 static int hf_qsig_cf_multiple_item = -1;         /* Extension */
771 static int hf_qsig_cf_null = -1;                  /* NULL */
772 static int hf_qsig_cf_deactivatingUserNr = -1;    /* PartyNumber */
773 static int hf_qsig_cf_extensionDD = -1;           /* DDExtension */
774 static int hf_qsig_cf_interrogatingUserNr = -1;   /* PartyNumber */
775 static int hf_qsig_cf_extensionID = -1;           /* IDExtension */
776 static int hf_qsig_cf_divertedToNr = -1;          /* PartyNumber */
777 static int hf_qsig_cf_extensionCHR = -1;          /* CHRExtension */
778 static int hf_qsig_cf_rerouteingReason = -1;      /* DiversionReason */
779 static int hf_qsig_cf_originalRerouteingReason = -1;  /* DiversionReason */
780 static int hf_qsig_cf_calledAddress = -1;         /* Address */
781 static int hf_qsig_cf_diversionCounter = -1;      /* INTEGER_1_15 */
782 static int hf_qsig_cf_pSS1InfoElement = -1;       /* PSS1InformationElement */
783 static int hf_qsig_cf_lastRerouteingNr = -1;      /* PresentedNumberUnscreened */
784 static int hf_qsig_cf_subscriptionOption = -1;    /* SubscriptionOption */
785 static int hf_qsig_cf_callingPartySubaddress = -1;  /* PartySubaddress */
786 static int hf_qsig_cf_callingNumber = -1;         /* PresentedNumberScreened */
787 static int hf_qsig_cf_callingName = -1;           /* Name */
788 static int hf_qsig_cf_originalCalledNr = -1;      /* PresentedNumberUnscreened */
789 static int hf_qsig_cf_redirectingName = -1;       /* Name */
790 static int hf_qsig_cf_originalCalledName = -1;    /* Name */
791 static int hf_qsig_cf_extensionCRR = -1;          /* CRRExtension */
792 static int hf_qsig_cf_diversionReason = -1;       /* DiversionReason */
793 static int hf_qsig_cf_nominatedNr = -1;           /* PartyNumber */
794 static int hf_qsig_cf_extensionDLI1 = -1;         /* DLI1Extension */
795 static int hf_qsig_cf_originalDiversionReason = -1;  /* DiversionReason */
796 static int hf_qsig_cf_divertingNr = -1;           /* PresentedNumberUnscreened */
797 static int hf_qsig_cf_extensionDLI2 = -1;         /* DLI2Extension */
798 static int hf_qsig_cf_presentationAllowedIndicator = -1;  /* PresentationAllowedIndicator */
799 static int hf_qsig_cf_redirectionName = -1;       /* Name */
800 static int hf_qsig_cf_extensionDLI3 = -1;         /* DLI3Extension */
801 static int hf_qsig_cf_IntResultList_item = -1;    /* IntResult */
802 static int hf_qsig_cf_remoteEnabled = -1;         /* BOOLEAN */
803 static int hf_qsig_cf_extensionIR = -1;           /* IRExtension */
804 
805 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
806 
807 static int hf_qsig_pr_qsig_pr_DummyArg_PDU = -1;  /* DummyArg */
808 static int hf_qsig_pr_qsig_pr_PRProposeArg_PDU = -1;  /* PRProposeArg */
809 static int hf_qsig_pr_qsig_pr_PRSetupArg_PDU = -1;  /* PRSetupArg */
810 static int hf_qsig_pr_qsig_pr_DummyResult_PDU = -1;  /* DummyResult */
811 static int hf_qsig_pr_qsig_pr_PRRetainArg_PDU = -1;  /* PRRetainArg */
812 static int hf_qsig_pr_qsig_pr_Extension_PDU = -1;  /* Extension */
813 static int hf_qsig_pr_callIdentity = -1;          /* CallIdentity */
814 static int hf_qsig_pr_rerouteingNumber = -1;      /* PartyNumber */
815 static int hf_qsig_pr_extensionPRP = -1;          /* PRPExtension */
816 static int hf_qsig_pr_single = -1;                /* Extension */
817 static int hf_qsig_pr_multiple = -1;              /* SEQUENCE_OF_Extension */
818 static int hf_qsig_pr_multiple_item = -1;         /* Extension */
819 static int hf_qsig_pr_extensionPRS = -1;          /* PRSExtension */
820 static int hf_qsig_pr_extensionPRR = -1;          /* PRRExtension */
821 static int hf_qsig_pr_null = -1;                  /* NULL */
822 
823 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
824 
825 static int hf_qsig_ct_qsig_ct_DummyArg_PDU = -1;  /* DummyArg */
826 static int hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU = -1;  /* CTIdentifyRes */
827 static int hf_qsig_ct_qsig_ct_CTInitiateArg_PDU = -1;  /* CTInitiateArg */
828 static int hf_qsig_ct_qsig_ct_DummyRes_PDU = -1;  /* DummyRes */
829 static int hf_qsig_ct_qsig_ct_CTSetupArg_PDU = -1;  /* CTSetupArg */
830 static int hf_qsig_ct_qsig_ct_CTActiveArg_PDU = -1;  /* CTActiveArg */
831 static int hf_qsig_ct_qsig_ct_CTCompleteArg_PDU = -1;  /* CTCompleteArg */
832 static int hf_qsig_ct_qsig_ct_CTUpdateArg_PDU = -1;  /* CTUpdateArg */
833 static int hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU = -1;  /* SubaddressTransferArg */
834 static int hf_qsig_ct_qsig_ct_Extension_PDU = -1;  /* Extension */
835 static int hf_qsig_ct_null = -1;                  /* NULL */
836 static int hf_qsig_ct_single = -1;                /* Extension */
837 static int hf_qsig_ct_multiple = -1;              /* SEQUENCE_OF_Extension */
838 static int hf_qsig_ct_multiple_item = -1;         /* Extension */
839 static int hf_qsig_ct_callIdentity = -1;          /* CallIdentity */
840 static int hf_qsig_ct_rerouteingNumber = -1;      /* PartyNumber */
841 static int hf_qsig_ct_resultExtension = -1;       /* T_resultExtension */
842 static int hf_qsig_ct_argumentExtensionCTI = -1;  /* CTIargumentExtension */
843 static int hf_qsig_ct_argumentExtensionCTS = -1;  /* CTSargumentExtension */
844 static int hf_qsig_ct_connectedAddress = -1;      /* PresentedAddressScreened */
845 static int hf_qsig_ct_basicCallInfoElements = -1;  /* PSS1InformationElement */
846 static int hf_qsig_ct_connectedName = -1;         /* Name */
847 static int hf_qsig_ct_argumentExtensionCTA = -1;  /* CTAargumentExtension */
848 static int hf_qsig_ct_endDesignation = -1;        /* EndDesignation */
849 static int hf_qsig_ct_redirectionNumber = -1;     /* PresentedNumberScreened */
850 static int hf_qsig_ct_redirectionName = -1;       /* Name */
851 static int hf_qsig_ct_callStatus = -1;            /* CallStatus */
852 static int hf_qsig_ct_argumentExtensionCTC = -1;  /* CTCargumentExtension */
853 static int hf_qsig_ct_argumentExtensionCTU = -1;  /* CTUargumentExtension */
854 static int hf_qsig_ct_redirectionSubaddress = -1;  /* PartySubaddress */
855 static int hf_qsig_ct_argumentExtensionST = -1;   /* STargumentExtension */
856 
857 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
858 
859 static int hf_qsig_cc_qsig_cc_CcRequestArg_PDU = -1;  /* CcRequestArg */
860 static int hf_qsig_cc_qsig_cc_CcRequestRes_PDU = -1;  /* CcRequestRes */
861 static int hf_qsig_cc_qsig_cc_CcOptionalArg_PDU = -1;  /* CcOptionalArg */
862 static int hf_qsig_cc_qsig_cc_CcExtension_PDU = -1;  /* CcExtension */
863 static int hf_qsig_cc_qsig_cc_Extension_PDU = -1;  /* Extension */
864 static int hf_qsig_cc_numberA = -1;               /* PresentedNumberUnscreened */
865 static int hf_qsig_cc_numberB = -1;               /* PartyNumber */
866 static int hf_qsig_cc_service = -1;               /* PSS1InformationElement */
867 static int hf_qsig_cc_subaddrA = -1;              /* PartySubaddress */
868 static int hf_qsig_cc_subaddrB = -1;              /* PartySubaddress */
869 static int hf_qsig_cc_can_retain_service = -1;    /* BOOLEAN */
870 static int hf_qsig_cc_retain_sig_connection = -1;  /* BOOLEAN */
871 static int hf_qsig_cc_extension = -1;             /* CcExtension */
872 static int hf_qsig_cc_no_path_reservation = -1;   /* BOOLEAN */
873 static int hf_qsig_cc_retain_service = -1;        /* BOOLEAN */
874 static int hf_qsig_cc_fullArg = -1;               /* T_fullArg */
875 static int hf_qsig_cc_numberA_01 = -1;            /* PartyNumber */
876 static int hf_qsig_cc_extArg = -1;                /* CcExtension */
877 static int hf_qsig_cc_none = -1;                  /* NULL */
878 static int hf_qsig_cc_single = -1;                /* Extension */
879 static int hf_qsig_cc_multiple = -1;              /* SEQUENCE_OF_Extension */
880 static int hf_qsig_cc_multiple_item = -1;         /* Extension */
881 
882 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
883 
884 static int hf_qsig_co_qsig_co_PathRetainArg_PDU = -1;  /* PathRetainArg */
885 static int hf_qsig_co_qsig_co_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
886 static int hf_qsig_co_qsig_co_DummyArg_PDU = -1;  /* DummyArg */
887 static int hf_qsig_co_qsig_co_DummyRes_PDU = -1;  /* DummyRes */
888 static int hf_qsig_co_qsig_co_Extension_PDU = -1;  /* Extension */
889 static int hf_qsig_co_serviceList = -1;           /* ServiceList */
890 static int hf_qsig_co_extendedServiceList = -1;   /* T_extendedServiceList */
891 static int hf_qsig_co_extension = -1;             /* Extension */
892 static int hf_qsig_co_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
893 static int hf_qsig_co_null = -1;                  /* NULL */
894 static int hf_qsig_co_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
895 static int hf_qsig_co_sequenceOfExtn_item = -1;   /* Extension */
896 /* named bits */
897 static int hf_qsig_co_ServiceList_callOffer = -1;
898 
899 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
900 
901 static int hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU = -1;  /* DNDActivateArg */
902 static int hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU = -1;  /* DNDActivateRes */
903 static int hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU = -1;  /* DNDDeactivateArg */
904 static int hf_qsig_dnd_qsig_dnd_DummyRes_PDU = -1;  /* DummyRes */
905 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU = -1;  /* DNDInterrogateArg */
906 static int hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU = -1;  /* DNDInterrogateRes */
907 static int hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU = -1;  /* DNDOverrideArg */
908 static int hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU = -1;  /* PathRetainArg */
909 static int hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
910 static int hf_qsig_dnd_qsig_dnd_DummyArg_PDU = -1;  /* DummyArg */
911 static int hf_qsig_dnd_qsig_dnd_Extension_PDU = -1;  /* Extension */
912 static int hf_qsig_dnd_null = -1;                 /* NULL */
913 static int hf_qsig_dnd_extension = -1;            /* Extension */
914 static int hf_qsig_dnd_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
915 static int hf_qsig_dnd_sequenceOfExtn_item = -1;  /* Extension */
916 static int hf_qsig_dnd_basicService = -1;         /* BasicService */
917 static int hf_qsig_dnd_servedUserNr = -1;         /* PartyNumber */
918 static int hf_qsig_dnd_argumentExtensionDNDA = -1;  /* DNDAargumentExtension */
919 static int hf_qsig_dnd_status = -1;               /* T_status */
920 static int hf_qsig_dnd_status_item = -1;          /* T_status_item */
921 static int hf_qsig_dnd_dndProtectionLevel = -1;   /* DNDProtectionLevel */
922 static int hf_qsig_dnd_resultExtension = -1;      /* T_resultExtension */
923 static int hf_qsig_dnd_argumentExtensionDNDD = -1;  /* DNDDargumentExtension */
924 static int hf_qsig_dnd_argumentExtensionDNDI = -1;  /* DNDIargumentExtension */
925 static int hf_qsig_dnd_status_01 = -1;            /* T_status_01 */
926 static int hf_qsig_dnd_status_item_01 = -1;       /* T_status_item_01 */
927 static int hf_qsig_dnd_resultExtension_01 = -1;   /* T_resultExtension_01 */
928 static int hf_qsig_dnd_dndoCapabilityLevel = -1;  /* DNDOCapabilityLevel */
929 static int hf_qsig_dnd_argumentExtensionDNDO = -1;  /* DNDOargumentExtension */
930 static int hf_qsig_dnd_serviceList = -1;          /* ServiceList */
931 static int hf_qsig_dnd_extendedServiceList = -1;  /* T_extendedServiceList */
932 static int hf_qsig_dnd_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
933 /* named bits */
934 static int hf_qsig_dnd_ServiceList_spare_bit0 = -1;
935 static int hf_qsig_dnd_ServiceList_dndo_low = -1;
936 static int hf_qsig_dnd_ServiceList_dndo_medium = -1;
937 static int hf_qsig_dnd_ServiceList_dndo_high = -1;
938 
939 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
940 
941 static int hf_qsig_ci_qsig_ci_PathRetainArg_PDU = -1;  /* PathRetainArg */
942 static int hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU = -1;  /* ServiceAvailableArg */
943 static int hf_qsig_ci_qsig_ci_CIRequestArg_PDU = -1;  /* CIRequestArg */
944 static int hf_qsig_ci_qsig_ci_CIRequestRes_PDU = -1;  /* CIRequestRes */
945 static int hf_qsig_ci_qsig_ci_DummyArg_PDU = -1;  /* DummyArg */
946 static int hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU = -1;  /* CIGetCIPLRes */
947 static int hf_qsig_ci_qsig_ci_DummyRes_PDU = -1;  /* DummyRes */
948 static int hf_qsig_ci_qsig_ci_Extension_PDU = -1;  /* Extension */
949 static int hf_qsig_ci_serviceList = -1;           /* ServiceList */
950 static int hf_qsig_ci_extendedServiceList = -1;   /* T_extendedServiceList */
951 static int hf_qsig_ci_extension = -1;             /* Extension */
952 static int hf_qsig_ci_extendedServiceList_01 = -1;  /* T_extendedServiceList_01 */
953 static int hf_qsig_ci_null = -1;                  /* NULL */
954 static int hf_qsig_ci_sequenceOfExtn = -1;        /* SEQUENCE_OF_Extension */
955 static int hf_qsig_ci_sequenceOfExtn_item = -1;   /* Extension */
956 static int hf_qsig_ci_ciCapabilityLevel = -1;     /* CICapabilityLevel */
957 static int hf_qsig_ci_argumentExtension = -1;     /* T_argumentExtension */
958 static int hf_qsig_ci_ciUnwantedUserStatus = -1;  /* CIUnwantedUserStatus */
959 static int hf_qsig_ci_resultExtension = -1;       /* T_resultExtension */
960 static int hf_qsig_ci_ciProtectionLevel = -1;     /* CIProtectionLevel */
961 static int hf_qsig_ci_resultExtension_01 = -1;    /* T_resultExtension_01 */
962 /* named bits */
963 static int hf_qsig_ci_ServiceList_spare_bit0 = -1;
964 static int hf_qsig_ci_ServiceList_spare_bit1 = -1;
965 static int hf_qsig_ci_ServiceList_spare_bit2 = -1;
966 static int hf_qsig_ci_ServiceList_spare_bit3 = -1;
967 static int hf_qsig_ci_ServiceList_ci_low = -1;
968 static int hf_qsig_ci_ServiceList_ci_medium = -1;
969 static int hf_qsig_ci_ServiceList_ci_high = -1;
970 
971 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
972 
973 static int hf_qsig_aoc_qsig_aoc_AocRateArg_PDU = -1;  /* AocRateArg */
974 static int hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU = -1;  /* AocInterimArg */
975 static int hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU = -1;  /* AocFinalArg */
976 static int hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU = -1;  /* ChargeRequestArg */
977 static int hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU = -1;  /* ChargeRequestRes */
978 static int hf_qsig_aoc_qsig_aoc_DummyArg_PDU = -1;  /* DummyArg */
979 static int hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU = -1;  /* AocCompleteArg */
980 static int hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU = -1;  /* AocCompleteRes */
981 static int hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU = -1;  /* AocDivChargeReqArg */
982 static int hf_qsig_aoc_qsig_aoc_Extension_PDU = -1;  /* Extension */
983 static int hf_qsig_aoc_aocRate = -1;              /* T_aocRate */
984 static int hf_qsig_aoc_chargeNotAvailable = -1;   /* NULL */
985 static int hf_qsig_aoc_aocSCurrencyInfoList = -1;  /* AOCSCurrencyInfoList */
986 static int hf_qsig_aoc_rateArgExtension = -1;     /* T_rateArgExtension */
987 static int hf_qsig_aoc_extension = -1;            /* Extension */
988 static int hf_qsig_aoc_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
989 static int hf_qsig_aoc_multipleExtension_item = -1;  /* Extension */
990 static int hf_qsig_aoc_interimCharge = -1;        /* T_interimCharge */
991 static int hf_qsig_aoc_freeOfCharge = -1;         /* NULL */
992 static int hf_qsig_aoc_specificCurrency = -1;     /* T_specificCurrency */
993 static int hf_qsig_aoc_recordedCurrency = -1;     /* RecordedCurrency */
994 static int hf_qsig_aoc_interimBillingId = -1;     /* InterimBillingId */
995 static int hf_qsig_aoc_interimArgExtension = -1;  /* T_interimArgExtension */
996 static int hf_qsig_aoc_finalCharge = -1;          /* T_finalCharge */
997 static int hf_qsig_aoc_specificCurrency_01 = -1;  /* T_specificCurrency_01 */
998 static int hf_qsig_aoc_finalBillingId = -1;       /* FinalBillingId */
999 static int hf_qsig_aoc_chargingAssociation = -1;  /* ChargingAssociation */
1000 static int hf_qsig_aoc_finalArgExtension = -1;    /* T_finalArgExtension */
1001 static int hf_qsig_aoc_AOCSCurrencyInfoList_item = -1;  /* AOCSCurrencyInfo */
1002 static int hf_qsig_aoc_chargedItem = -1;          /* ChargedItem */
1003 static int hf_qsig_aoc_rateType = -1;             /* T_rateType */
1004 static int hf_qsig_aoc_durationCurrency = -1;     /* DurationCurrency */
1005 static int hf_qsig_aoc_flatRateCurrency = -1;     /* FlatRateCurrency */
1006 static int hf_qsig_aoc_volumeRateCurrency = -1;   /* VolumeRateCurrency */
1007 static int hf_qsig_aoc_specialChargingCode = -1;  /* SpecialChargingCode */
1008 static int hf_qsig_aoc_currencyInfoNotAvailable = -1;  /* NULL */
1009 static int hf_qsig_aoc_freeOfChargefromBeginning = -1;  /* NULL */
1010 static int hf_qsig_aoc_dCurrency = -1;            /* Currency */
1011 static int hf_qsig_aoc_dAmount = -1;              /* Amount */
1012 static int hf_qsig_aoc_dChargingType = -1;        /* ChargingType */
1013 static int hf_qsig_aoc_dTime = -1;                /* Time */
1014 static int hf_qsig_aoc_dGranularity = -1;         /* Time */
1015 static int hf_qsig_aoc_fRCurrency = -1;           /* Currency */
1016 static int hf_qsig_aoc_fRAmount = -1;             /* Amount */
1017 static int hf_qsig_aoc_vRCurrency = -1;           /* Currency */
1018 static int hf_qsig_aoc_vRAmount = -1;             /* Amount */
1019 static int hf_qsig_aoc_vRVolumeUnit = -1;         /* VolumeUnit */
1020 static int hf_qsig_aoc_rCurrency = -1;            /* Currency */
1021 static int hf_qsig_aoc_rAmount = -1;              /* Amount */
1022 static int hf_qsig_aoc_currencyAmount = -1;       /* CurrencyAmount */
1023 static int hf_qsig_aoc_multiplier = -1;           /* Multiplier */
1024 static int hf_qsig_aoc_lengthOfTimeUnit = -1;     /* LengthOfTimeUnit */
1025 static int hf_qsig_aoc_scale = -1;                /* Scale */
1026 static int hf_qsig_aoc_chargeNumber = -1;         /* PartyNumber */
1027 static int hf_qsig_aoc_chargeIdentifier = -1;     /* ChargeIdentifier */
1028 static int hf_qsig_aoc_adviceModeCombinations = -1;  /* SEQUENCE_SIZE_0_7_OF_AdviceModeCombination */
1029 static int hf_qsig_aoc_adviceModeCombinations_item = -1;  /* AdviceModeCombination */
1030 static int hf_qsig_aoc_chargeReqArgExtension = -1;  /* T_chargeReqArgExtension */
1031 static int hf_qsig_aoc_adviceModeCombination = -1;  /* AdviceModeCombination */
1032 static int hf_qsig_aoc_chargeReqResExtension = -1;  /* T_chargeReqResExtension */
1033 static int hf_qsig_aoc_none = -1;                 /* NULL */
1034 static int hf_qsig_aoc_chargedUser = -1;          /* PartyNumber */
1035 static int hf_qsig_aoc_completeArgExtension = -1;  /* T_completeArgExtension */
1036 static int hf_qsig_aoc_chargingOption = -1;       /* ChargingOption */
1037 static int hf_qsig_aoc_completeResExtension = -1;  /* T_completeResExtension */
1038 static int hf_qsig_aoc_divertingUser = -1;        /* PartyNumber */
1039 static int hf_qsig_aoc_diversionType = -1;        /* DiversionType */
1040 static int hf_qsig_aoc_aocDivChargeReqArgExt = -1;  /* T_aocDivChargeReqArgExt */
1041 
1042 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1043 
1044 static int hf_qsig_re_qsig_re_ReAlertingArg_PDU = -1;  /* ReAlertingArg */
1045 static int hf_qsig_re_qsig_re_ReAnswerArg_PDU = -1;  /* ReAnswerArg */
1046 static int hf_qsig_re_alertedNumber = -1;         /* PresentedNumberScreened */
1047 static int hf_qsig_re_alertedName = -1;           /* Name */
1048 static int hf_qsig_re_argumentExtension = -1;     /* T_argumentExtension */
1049 static int hf_qsig_re_extension = -1;             /* Extension */
1050 static int hf_qsig_re_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1051 static int hf_qsig_re_multipleExtension_item = -1;  /* Extension */
1052 static int hf_qsig_re_connectedNumber = -1;       /* PresentedNumberScreened */
1053 static int hf_qsig_re_connectedSubaddress = -1;   /* PartySubaddress */
1054 static int hf_qsig_re_connectedName = -1;         /* Name */
1055 static int hf_qsig_re_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1056 
1057 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1058 
1059 static int hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU = -1;  /* SynchronizationReqArg */
1060 static int hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU = -1;  /* SynchronizationReqRes */
1061 static int hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU = -1;  /* SynchronizationInfoArg */
1062 static int hf_qsig_sync_qsig_sync_Extension_PDU = -1;  /* Extension */
1063 static int hf_qsig_sync_action = -1;              /* Action */
1064 static int hf_qsig_sync_argExtension = -1;        /* ArgExtension */
1065 static int hf_qsig_sync_response = -1;            /* BOOLEAN */
1066 static int hf_qsig_sync_stateinfo = -1;           /* T_stateinfo */
1067 static int hf_qsig_sync_extension = -1;           /* Extension */
1068 static int hf_qsig_sync_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1069 static int hf_qsig_sync_sequOfExtn_item = -1;     /* Extension */
1070 
1071 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1072 
1073 static int hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU = -1;  /* CintInformation1Arg */
1074 static int hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU = -1;  /* CintInformation2Arg */
1075 static int hf_qsig_cint_qsig_cint_CintCondArg_PDU = -1;  /* CintCondArg */
1076 static int hf_qsig_cint_qsig_cint_CintExtension_PDU = -1;  /* CintExtension */
1077 static int hf_qsig_cint_interceptionCause = -1;   /* CintCause */
1078 static int hf_qsig_cint_interceptedToNumber = -1;  /* PartyNumber */
1079 static int hf_qsig_cint_extension = -1;           /* CintExtension */
1080 static int hf_qsig_cint_calledNumber = -1;        /* PresentedNumberUnscreened */
1081 static int hf_qsig_cint_originalCalledNumber = -1;  /* PresentedNumberUnscreened */
1082 static int hf_qsig_cint_calledName = -1;          /* Name */
1083 static int hf_qsig_cint_originalCalledName = -1;  /* Name */
1084 static int hf_qsig_cint_interceptionCause_01 = -1;  /* Condition */
1085 static int hf_qsig_cint_none = -1;                /* NULL */
1086 static int hf_qsig_cint_single = -1;              /* Extension */
1087 static int hf_qsig_cint_multiple = -1;            /* SEQUENCE_OF_Extension */
1088 static int hf_qsig_cint_multiple_item = -1;       /* Extension */
1089 
1090 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1091 
1092 static int hf_qsig_cmn_qsig_cmn_DummyArg_PDU = -1;  /* DummyArg */
1093 static int hf_qsig_cmn_qsig_cmn_CmnArg_PDU = -1;  /* CmnArg */
1094 static int hf_qsig_cmn_featureIdentifier = -1;    /* FeatureIdList */
1095 static int hf_qsig_cmn_ssDNDOprotectionLevel = -1;  /* INTEGER_0_3 */
1096 static int hf_qsig_cmn_ssCIprotectionLevel = -1;  /* INTEGER_0_3 */
1097 static int hf_qsig_cmn_equipmentIdentity = -1;    /* EquipmentId */
1098 static int hf_qsig_cmn_partyCategory = -1;        /* PartyCategory */
1099 static int hf_qsig_cmn_extension = -1;            /* T_extension */
1100 static int hf_qsig_cmn_single = -1;               /* Extension */
1101 static int hf_qsig_cmn_multiple = -1;             /* SEQUENCE_OF_Extension */
1102 static int hf_qsig_cmn_multiple_item = -1;        /* Extension */
1103 static int hf_qsig_cmn_null = -1;                 /* NULL */
1104 static int hf_qsig_cmn_nodeId = -1;               /* IA5String_SIZE_1_10 */
1105 static int hf_qsig_cmn_groupId = -1;              /* IA5String_SIZE_1_10 */
1106 static int hf_qsig_cmn_unitId = -1;               /* IA5String_SIZE_1_10 */
1107 /* named bits */
1108 static int hf_qsig_cmn_FeatureIdList_reserved = -1;
1109 static int hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported = -1;
1110 static int hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported = -1;
1111 static int hf_qsig_cmn_FeatureIdList_ssCCBSpossible = -1;
1112 static int hf_qsig_cmn_FeatureIdList_ssCCNRpossible = -1;
1113 static int hf_qsig_cmn_FeatureIdList_ssCOsupported = -1;
1114 static int hf_qsig_cmn_FeatureIdList_ssCIforcedRelease = -1;
1115 static int hf_qsig_cmn_FeatureIdList_ssCIisolation = -1;
1116 static int hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy = -1;
1117 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx = -1;
1118 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx = -1;
1119 static int hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx = -1;
1120 static int hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx = -1;
1121 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate = -1;
1122 static int hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed = -1;
1123 static int hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported = -1;
1124 static int hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported = -1;
1125 static int hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported = -1;
1126 
1127 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1128 
1129 static int hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU = -1;  /* CPIRequestArg */
1130 static int hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU = -1;  /* CPIPRequestArg */
1131 static int hf_qsig_cpi_cpiCapabilityLevel = -1;   /* CPICapabilityLevel */
1132 static int hf_qsig_cpi_argumentExtension = -1;    /* T_argumentExtension */
1133 static int hf_qsig_cpi_extension = -1;            /* Extension */
1134 static int hf_qsig_cpi_sequenceOfExtn = -1;       /* SEQUENCE_OF_Extension */
1135 static int hf_qsig_cpi_sequenceOfExtn_item = -1;  /* Extension */
1136 static int hf_qsig_cpi_cpiProtectionLevel = -1;   /* CPIProtectionLevel */
1137 static int hf_qsig_cpi_argumentExtension_01 = -1;  /* T_argumentExtension_01 */
1138 
1139 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1140 
1141 static int hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU = -1;  /* PumRegistrArg */
1142 static int hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU = -1;  /* PumRegistrRes */
1143 static int hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU = -1;  /* PumDelRegArg */
1144 static int hf_qsig_pumr_qsig_pumr_DummyRes_PDU = -1;  /* DummyRes */
1145 static int hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU = -1;  /* PumDe_regArg */
1146 static int hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU = -1;  /* PumInterrogArg */
1147 static int hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU = -1;  /* PumInterrogRes */
1148 static int hf_qsig_pumr_qsig_pumr_Extension_PDU = -1;  /* Extension */
1149 static int hf_qsig_pumr_pumRUserId = -1;          /* RpumUserId */
1150 static int hf_qsig_pumr_pumNumber = -1;           /* PartyNumber */
1151 static int hf_qsig_pumr_alternativeId = -1;       /* AlternativeId */
1152 static int hf_qsig_pumr_basicService = -1;        /* BasicService */
1153 static int hf_qsig_pumr_hostingAddr = -1;         /* PartyNumber */
1154 static int hf_qsig_pumr_activatingUserAddr = -1;  /* PartyNumber */
1155 static int hf_qsig_pumr_serviceOption = -1;       /* ServiceOption */
1156 static int hf_qsig_pumr_sessionParams = -1;       /* SessionParams */
1157 static int hf_qsig_pumr_userPin = -1;             /* T_userPin */
1158 static int hf_qsig_pumr_pumUserPin = -1;          /* UserPin */
1159 static int hf_qsig_pumr_activatingUserPin = -1;   /* UserPin */
1160 static int hf_qsig_pumr_argExtension = -1;        /* PumrExtension */
1161 static int hf_qsig_pumr_null = -1;                /* NULL */
1162 static int hf_qsig_pumr_extension = -1;           /* Extension */
1163 static int hf_qsig_pumr_sequOfExtn = -1;          /* SEQUENCE_OF_Extension */
1164 static int hf_qsig_pumr_sequOfExtn_item = -1;     /* Extension */
1165 static int hf_qsig_pumr_pumXUserId = -1;          /* XpumUserId */
1166 static int hf_qsig_pumr_pumDUserId = -1;          /* DpumUserId */
1167 static int hf_qsig_pumr_userPin_01 = -1;          /* T_userPin_01 */
1168 static int hf_qsig_pumr_pumIUserId = -1;          /* IpumUserId */
1169 static int hf_qsig_pumr_homeInfoOnly = -1;        /* BOOLEAN */
1170 static int hf_qsig_pumr_userPin_02 = -1;          /* T_userPin_02 */
1171 static int hf_qsig_pumr_PumInterrogRes_item = -1;  /* PumInterrogRes_item */
1172 static int hf_qsig_pumr_interrogParams = -1;      /* SessionParams */
1173 static int hf_qsig_pumr_durationOfSession = -1;   /* INTEGER */
1174 static int hf_qsig_pumr_numberOfOutgCalls = -1;   /* INTEGER */
1175 
1176 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1177 
1178 static int hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1179 static int hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1180 static int hf_qsig_pumch_qsig_pumch_DivertArg_PDU = -1;  /* DivertArg */
1181 static int hf_qsig_pumch_qsig_pumch_DummyRes_PDU = -1;  /* DummyRes */
1182 static int hf_qsig_pumch_qsig_pumch_InformArg_PDU = -1;  /* InformArg */
1183 static int hf_qsig_pumch_qsig_pumch_PumoArg_PDU = -1;  /* PumoArg */
1184 static int hf_qsig_pumch_qsig_pumch_Extension_PDU = -1;  /* Extension */
1185 static int hf_qsig_pumch_pisnNumber = -1;         /* PartyNumber */
1186 static int hf_qsig_pumch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1187 static int hf_qsig_pumch_argExtension = -1;       /* PumiExtension */
1188 static int hf_qsig_pumch_hostingAddr = -1;        /* PartyNumber */
1189 static int hf_qsig_pumch_callingNumber = -1;      /* PresentedNumberScreened */
1190 static int hf_qsig_pumch_pumIdentity = -1;        /* PumIdentity */
1191 static int hf_qsig_pumch_callingUserSub = -1;     /* PartySubaddress */
1192 static int hf_qsig_pumch_callingUserName = -1;    /* Name */
1193 static int hf_qsig_pumch_pumUserSub = -1;         /* PartySubaddress */
1194 static int hf_qsig_pumch_currLocation = -1;       /* CurrLocation */
1195 static int hf_qsig_pumch_cfuActivated = -1;       /* CfuActivated */
1196 static int hf_qsig_pumch_divToAddress = -1;       /* Address */
1197 static int hf_qsig_pumch_divOptions = -1;         /* SubscriptionOption */
1198 static int hf_qsig_pumch_pumName = -1;            /* Name */
1199 static int hf_qsig_pumch_null = -1;               /* NULL */
1200 static int hf_qsig_pumch_extension = -1;          /* Extension */
1201 static int hf_qsig_pumch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1202 static int hf_qsig_pumch_sequOfExtn_item = -1;    /* Extension */
1203 static int hf_qsig_pumch_alternativeId = -1;      /* AlternativeId */
1204 static int hf_qsig_pumch_both = -1;               /* T_both */
1205 static int hf_qsig_pumch_destinationNumber = -1;  /* PartyNumber */
1206 static int hf_qsig_pumch_sendingComplete = -1;    /* NULL */
1207 static int hf_qsig_pumch_pumoaextension = -1;     /* T_pumoaextension */
1208 static int hf_qsig_pumch_single = -1;             /* Extension */
1209 static int hf_qsig_pumch_multiple = -1;           /* SEQUENCE_OF_Extension */
1210 static int hf_qsig_pumch_multiple_item = -1;      /* Extension */
1211 
1212 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1213 
1214 static int hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU = -1;  /* SSCTInitiateArg */
1215 static int hf_qsig_ssct_qsig_ssct_DummyRes_PDU = -1;  /* DummyRes */
1216 static int hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU = -1;  /* SSCTSetupArg */
1217 static int hf_qsig_ssct_qsig_ssct_DummyArg_PDU = -1;  /* DummyArg */
1218 static int hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU = -1;  /* SSCTDigitInfoArg */
1219 static int hf_qsig_ssct_qsig_ssct_Extension_PDU = -1;  /* Extension */
1220 static int hf_qsig_ssct_null = -1;                /* NULL */
1221 static int hf_qsig_ssct_single = -1;              /* Extension */
1222 static int hf_qsig_ssct_multiple = -1;            /* SEQUENCE_OF_Extension */
1223 static int hf_qsig_ssct_multiple_item = -1;       /* Extension */
1224 static int hf_qsig_ssct_rerouteingNumber = -1;    /* PartyNumber */
1225 static int hf_qsig_ssct_transferredAddress = -1;  /* PresentedAddressScreened */
1226 static int hf_qsig_ssct_awaitConnect = -1;        /* AwaitConnect */
1227 static int hf_qsig_ssct_transferredName = -1;     /* Name */
1228 static int hf_qsig_ssct_transferringAddress = -1;  /* PresentedAddressScreened */
1229 static int hf_qsig_ssct_transferringName = -1;    /* Name */
1230 static int hf_qsig_ssct_argumentExtensionSSCTI = -1;  /* SSCTIargumentExtension */
1231 static int hf_qsig_ssct_argumentExtensionSSCTS = -1;  /* SSCTSargumentExtension */
1232 static int hf_qsig_ssct_reroutingNumber = -1;     /* PartyNumber */
1233 static int hf_qsig_ssct_sendingComplete = -1;     /* NULL */
1234 static int hf_qsig_ssct_argumentExtensionSSCTD = -1;  /* SSCTDargumentExtension */
1235 
1236 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1237 
1238 static int hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU = -1;  /* LocUpdArg */
1239 static int hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU = -1;  /* DummyRes */
1240 static int hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU = -1;  /* LocDelArg */
1241 static int hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU = -1;  /* LocDeRegArg */
1242 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU = -1;  /* PisnEnqArg */
1243 static int hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU = -1;  /* PisnEnqRes */
1244 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU = -1;  /* GetRRCInfArg */
1245 static int hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU = -1;  /* GetRRCInfRes */
1246 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU = -1;  /* LocInfoCheckArg */
1247 static int hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU = -1;  /* LocInfoCheckRes */
1248 static int hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU = -1;  /* Extension */
1249 static int hf_qsig_wtmlr_wtmUserId = -1;          /* WtmUserId */
1250 static int hf_qsig_wtmlr_basicService = -1;       /* BasicService */
1251 static int hf_qsig_wtmlr_visitPINX = -1;          /* PartyNumber */
1252 static int hf_qsig_wtmlr_argExtension = -1;       /* LrExtension */
1253 static int hf_qsig_wtmlr_null = -1;               /* NULL */
1254 static int hf_qsig_wtmlr_extension = -1;          /* Extension */
1255 static int hf_qsig_wtmlr_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1256 static int hf_qsig_wtmlr_sequOfExtn_item = -1;    /* Extension */
1257 static int hf_qsig_wtmlr_alternativeId = -1;      /* AlternativeId */
1258 static int hf_qsig_wtmlr_resExtension = -1;       /* LrExtension */
1259 static int hf_qsig_wtmlr_rrClass = -1;            /* RRClass */
1260 static int hf_qsig_wtmlr_checkResult = -1;        /* CheckResult */
1261 static int hf_qsig_wtmlr_pisnNumber = -1;         /* PartyNumber */
1262 
1263 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1264 
1265 static int hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU = -1;  /* EnquiryArg */
1266 static int hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU = -1;  /* EnquiryRes */
1267 static int hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU = -1;  /* DivertArg */
1268 static int hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU = -1;  /* DummyRes */
1269 static int hf_qsig_wtmch_qsig_wtmch_InformArg_PDU = -1;  /* InformArg */
1270 static int hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU = -1;  /* WtmoArg */
1271 static int hf_qsig_wtmch_qsig_wtmch_Extension_PDU = -1;  /* Extension */
1272 static int hf_qsig_wtmch_pisnNumber = -1;         /* PartyNumber */
1273 static int hf_qsig_wtmch_qSIGInfoElement = -1;    /* PSS1InformationElement */
1274 static int hf_qsig_wtmch_argExtension = -1;       /* WtmiExtension */
1275 static int hf_qsig_wtmch_visitPINX = -1;          /* PartyNumber */
1276 static int hf_qsig_wtmch_callingNumber = -1;      /* PresentedNumberScreened */
1277 static int hf_qsig_wtmch_wtmIdentity = -1;        /* WtmIdentity */
1278 static int hf_qsig_wtmch_callingUserSub = -1;     /* PartySubaddress */
1279 static int hf_qsig_wtmch_callingName = -1;        /* Name */
1280 static int hf_qsig_wtmch_wtmUserSub = -1;         /* PartySubaddress */
1281 static int hf_qsig_wtmch_currLocation = -1;       /* CurrLocation */
1282 static int hf_qsig_wtmch_cfuActivated = -1;       /* CfuActivated */
1283 static int hf_qsig_wtmch_divToAddress = -1;       /* Address */
1284 static int hf_qsig_wtmch_divOptions = -1;         /* SubscriptionOption */
1285 static int hf_qsig_wtmch_wtmName = -1;            /* Name */
1286 static int hf_qsig_wtmch_null = -1;               /* NULL */
1287 static int hf_qsig_wtmch_extension = -1;          /* Extension */
1288 static int hf_qsig_wtmch_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1289 static int hf_qsig_wtmch_sequOfExtn_item = -1;    /* Extension */
1290 static int hf_qsig_wtmch_alternativeId = -1;      /* AlternativeId */
1291 static int hf_qsig_wtmch_both = -1;               /* T_both */
1292 static int hf_qsig_wtmch_destinationNumber = -1;  /* PartyNumber */
1293 static int hf_qsig_wtmch_sendingComplete = -1;    /* NULL */
1294 static int hf_qsig_wtmch_wtmoaextension = -1;     /* T_wtmoaextension */
1295 static int hf_qsig_wtmch_single = -1;             /* Extension */
1296 static int hf_qsig_wtmch_multiple = -1;           /* SEQUENCE_OF_Extension */
1297 static int hf_qsig_wtmch_multiple_item = -1;      /* Extension */
1298 
1299 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1300 
1301 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU = -1;  /* AuthWtmArg */
1302 static int hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU = -1;  /* AuthWtmRes */
1303 static int hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU = -1;  /* WtatParamArg */
1304 static int hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU = -1;  /* WtatParamRes */
1305 static int hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU = -1;  /* WtanParamArg */
1306 static int hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU = -1;  /* WtanParamRes */
1307 static int hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU = -1;  /* ARG_transferAuthParam */
1308 static int hf_qsig_wtmau_qsig_wtmau_Extension_PDU = -1;  /* Extension */
1309 static int hf_qsig_wtmau_wtmUserId = -1;          /* WtmUserId */
1310 static int hf_qsig_wtmau_calcWtatInfo = -1;       /* CalcWtatInfo */
1311 static int hf_qsig_wtmau_dummyExtension = -1;     /* DummyExtension */
1312 static int hf_qsig_wtmau_autWtmResValue = -1;     /* T_autWtmResValue */
1313 static int hf_qsig_wtmau_canCompute = -1;         /* CanCompute */
1314 static int hf_qsig_wtmau_authChallenge = -1;      /* AuthChallenge */
1315 static int hf_qsig_wtmau_wtatParamInfo = -1;      /* WtatParamInfo */
1316 static int hf_qsig_wtmau_authAlgorithm = -1;      /* AuthAlgorithm */
1317 static int hf_qsig_wtmau_pisnNumber = -1;         /* PartyNumber */
1318 static int hf_qsig_wtmau_alternativeId = -1;      /* AlternativeId */
1319 static int hf_qsig_wtmau_wtanParamInfo = -1;      /* WtanParamInfo */
1320 static int hf_qsig_wtmau_wtatParamInfoChoice = -1;  /* T_wtatParamInfoChoice */
1321 static int hf_qsig_wtmau_authSessionKeyInfo = -1;  /* AuthSessionKeyInfo */
1322 static int hf_qsig_wtmau_authKey = -1;            /* AuthKey */
1323 static int hf_qsig_wtmau_challLen = -1;           /* INTEGER_1_8 */
1324 static int hf_qsig_wtmau_calcWtanInfo = -1;       /* CalcWtanInfo */
1325 static int hf_qsig_wtmau_authSessionKey = -1;     /* AuthSessionKey */
1326 static int hf_qsig_wtmau_calculationParam = -1;   /* CalculationParam */
1327 static int hf_qsig_wtmau_CalcWtatInfo_item = -1;  /* CalcWtatInfoUnit */
1328 static int hf_qsig_wtmau_authResponse = -1;       /* AuthResponse */
1329 static int hf_qsig_wtmau_derivedCipherKey = -1;   /* DerivedCipherKey */
1330 static int hf_qsig_wtmau_extension = -1;          /* Extension */
1331 static int hf_qsig_wtmau_sequOfExtn = -1;         /* SEQUENCE_OF_Extension */
1332 static int hf_qsig_wtmau_sequOfExtn_item = -1;    /* Extension */
1333 static int hf_qsig_wtmau_authAlg = -1;            /* DefinedIDs */
1334 static int hf_qsig_wtmau_param = -1;              /* T_param */
1335 
1336 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1337 
1338 static int hf_qsig_sd_qsig_sd_DisplayArg_PDU = -1;  /* DisplayArg */
1339 static int hf_qsig_sd_qsig_sd_KeypadArg_PDU = -1;  /* KeypadArg */
1340 static int hf_qsig_sd_qsig_sd_Extension_PDU = -1;  /* Extension */
1341 static int hf_qsig_sd_displayString = -1;         /* DisplayString */
1342 static int hf_qsig_sd_sdextension = -1;           /* SDExtension */
1343 static int hf_qsig_sd_displayStringNormal = -1;   /* BMPStringNormal */
1344 static int hf_qsig_sd_displayStringExtended = -1;  /* BMPStringExtended */
1345 static int hf_qsig_sd_keypadString = -1;          /* BMPStringNormal */
1346 static int hf_qsig_sd_extension = -1;             /* Extension */
1347 static int hf_qsig_sd_multipleExtension = -1;     /* SEQUENCE_OF_Extension */
1348 static int hf_qsig_sd_multipleExtension_item = -1;  /* Extension */
1349 
1350 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1351 
1352 static int hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU = -1;  /* CallIdentificationAssignArg */
1353 static int hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU = -1;  /* CallIdentificationUpdateArg */
1354 static int hf_qsig_cidl_globalCallID = -1;        /* CallIdentificationData */
1355 static int hf_qsig_cidl_threadID = -1;            /* CallIdentificationData */
1356 static int hf_qsig_cidl_legID = -1;               /* CallIdentificationData */
1357 static int hf_qsig_cidl_extensiont = -1;          /* ExtensionType */
1358 static int hf_qsig_cidl_switchingSubDomainName = -1;  /* SwitchingSubDomainName */
1359 static int hf_qsig_cidl_linkageID = -1;           /* T_linkageID */
1360 static int hf_qsig_cidl_subDomainID = -1;         /* SubDomainID */
1361 static int hf_qsig_cidl_globallyUniqueID = -1;    /* GloballyUniqueID */
1362 static int hf_qsig_cidl_timeStamp = -1;           /* TimeStamp */
1363 static int hf_qsig_cidl_extension = -1;           /* Extension */
1364 static int hf_qsig_cidl_sequenceOfExt = -1;       /* SEQUENCE_OF_Extension */
1365 static int hf_qsig_cidl_sequenceOfExt_item = -1;  /* Extension */
1366 
1367 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1368 
1369 static int hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU = -1;  /* SmsSubmitArg */
1370 static int hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU = -1;  /* SmsSubmitRes */
1371 static int hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU = -1;  /* SmsDeliverArg */
1372 static int hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU = -1;  /* SmsDeliverRes */
1373 static int hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU = -1;  /* SmsStatusReportArg */
1374 static int hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU = -1;  /* SmsStatusReportRes */
1375 static int hf_qsig_sms_qsig_sms_SmsCommandArg_PDU = -1;  /* SmsCommandArg */
1376 static int hf_qsig_sms_qsig_sms_SmsCommandRes_PDU = -1;  /* SmsCommandRes */
1377 static int hf_qsig_sms_qsig_sms_ScAlertArg_PDU = -1;  /* ScAlertArg */
1378 static int hf_qsig_sms_qsig_sms_DummyRes_PDU = -1;  /* DummyRes */
1379 static int hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU = -1;  /* PAR_smsDeliverError */
1380 static int hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU = -1;  /* PAR_smsSubmitError */
1381 static int hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU = -1;  /* PAR_smsStatusReportError */
1382 static int hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU = -1;  /* PAR_smsCommandError */
1383 static int hf_qsig_sms_qsig_sms_SmsExtension_PDU = -1;  /* SmsExtension */
1384 static int hf_qsig_sms_destinationAddress = -1;   /* PartyNumber */
1385 static int hf_qsig_sms_originatingAddress = -1;   /* PartyNumber */
1386 static int hf_qsig_sms_messageReference = -1;     /* MessageReference */
1387 static int hf_qsig_sms_smSubmitParameter = -1;    /* SmSubmitParameter */
1388 static int hf_qsig_sms_userData = -1;             /* UserData */
1389 static int hf_qsig_sms_smsExtension = -1;         /* SmsExtension */
1390 static int hf_qsig_sms_serviceCentreTimeStamp = -1;  /* ServiceCentreTimeStamp */
1391 static int hf_qsig_sms_protocolIdentifier = -1;   /* ProtocolIdentifier */
1392 static int hf_qsig_sms_originatingName = -1;      /* Name */
1393 static int hf_qsig_sms_smDeliverParameter = -1;   /* SmDeliverParameter */
1394 static int hf_qsig_sms_smsDeliverResponseChoice = -1;  /* SmsDeliverResChoice */
1395 static int hf_qsig_sms_dischargeTime = -1;        /* DischargeTime */
1396 static int hf_qsig_sms_recipientAddress = -1;     /* PartyNumber */
1397 static int hf_qsig_sms_recipientName = -1;        /* Name */
1398 static int hf_qsig_sms_status = -1;               /* Status */
1399 static int hf_qsig_sms_priority = -1;             /* BOOLEAN */
1400 static int hf_qsig_sms_moreMessagesToSend = -1;   /* BOOLEAN */
1401 static int hf_qsig_sms_statusReportQualifier = -1;  /* BOOLEAN */
1402 static int hf_qsig_sms_smsStatusReportResponseChoice = -1;  /* SmsStatusReportResponseChoice */
1403 static int hf_qsig_sms_messageNumber = -1;        /* MessageReference */
1404 static int hf_qsig_sms_commandType = -1;          /* CommandType */
1405 static int hf_qsig_sms_commandData = -1;          /* CommandData */
1406 static int hf_qsig_sms_statusReportRequest = -1;  /* BOOLEAN */
1407 static int hf_qsig_sms_null = -1;                 /* NULL */
1408 static int hf_qsig_sms_validityPeriod = -1;       /* ValidityPeriod */
1409 static int hf_qsig_sms_replyPath = -1;            /* BOOLEAN */
1410 static int hf_qsig_sms_rejectDuplicates = -1;     /* BOOLEAN */
1411 static int hf_qsig_sms_statusReportIndication = -1;  /* BOOLEAN */
1412 static int hf_qsig_sms_resChoiceSeq = -1;         /* ResChoiceSeq */
1413 static int hf_qsig_sms_single = -1;               /* Extension */
1414 static int hf_qsig_sms_multiple = -1;             /* SEQUENCE_OF_Extension */
1415 static int hf_qsig_sms_multiple_item = -1;        /* Extension */
1416 static int hf_qsig_sms_validityPeriodRel = -1;    /* ValidityPeriodRel */
1417 static int hf_qsig_sms_validityPeriodAbs = -1;    /* ValidityPeriodAbs */
1418 static int hf_qsig_sms_validityPeriodEnh = -1;    /* ValidityPeriodEnh */
1419 static int hf_qsig_sms_singleShotSM = -1;         /* BOOLEAN */
1420 static int hf_qsig_sms_enhancedVP = -1;           /* EnhancedVP */
1421 static int hf_qsig_sms_validityPeriodSec = -1;    /* INTEGER_0_255 */
1422 static int hf_qsig_sms_validityPeriodSemi = -1;   /* ValidityPeriodSemi */
1423 static int hf_qsig_sms_userDataHeader = -1;       /* UserDataHeader */
1424 static int hf_qsig_sms_class = -1;                /* INTEGER_0_3 */
1425 static int hf_qsig_sms_compressed = -1;           /* BOOLEAN */
1426 static int hf_qsig_sms_shortMessageText = -1;     /* ShortMessageText */
1427 static int hf_qsig_sms_shortMessageTextType = -1;  /* ShortMessageTextType */
1428 static int hf_qsig_sms_shortMessageTextData = -1;  /* ShortMessageTextData */
1429 static int hf_qsig_sms_UserDataHeader_item = -1;  /* UserDataHeaderChoice */
1430 static int hf_qsig_sms_smscControlParameterHeader = -1;  /* SmscControlParameterHeader */
1431 static int hf_qsig_sms_concatenated8BitSMHeader = -1;  /* Concatenated8BitSMHeader */
1432 static int hf_qsig_sms_concatenated16BitSMHeader = -1;  /* Concatenated16BitSMHeader */
1433 static int hf_qsig_sms_applicationPort8BitHeader = -1;  /* ApplicationPort8BitHeader */
1434 static int hf_qsig_sms_applicationPort16BitHeader = -1;  /* ApplicationPort16BitHeader */
1435 static int hf_qsig_sms_dataHeaderSourceIndicator = -1;  /* DataHeaderSourceIndicator */
1436 static int hf_qsig_sms_wirelessControlHeader = -1;  /* WirelessControlHeader */
1437 static int hf_qsig_sms_genericUserValue = -1;     /* GenericUserValue */
1438 static int hf_qsig_sms_concatenated8BitSMReferenceNumber = -1;  /* INTEGER_0_255 */
1439 static int hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1440 static int hf_qsig_sms_sequenceNumberOf8BitSM = -1;  /* INTEGER_0_255 */
1441 static int hf_qsig_sms_concatenated16BitSMReferenceNumber = -1;  /* INTEGER_0_65536 */
1442 static int hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM = -1;  /* INTEGER_0_255 */
1443 static int hf_qsig_sms_sequenceNumberOf16BitSM = -1;  /* INTEGER_0_255 */
1444 static int hf_qsig_sms_destination8BitPort = -1;  /* INTEGER_0_255 */
1445 static int hf_qsig_sms_originator8BitPort = -1;   /* INTEGER_0_255 */
1446 static int hf_qsig_sms_destination16BitPort = -1;  /* INTEGER_0_65536 */
1447 static int hf_qsig_sms_originator16BitPort = -1;  /* INTEGER_0_65536 */
1448 static int hf_qsig_sms_parameterValue = -1;       /* INTEGER_0_255 */
1449 static int hf_qsig_sms_genericUserData = -1;      /* OCTET_STRING */
1450 static int hf_qsig_sms_failureCause = -1;         /* FailureCause */
1451 static int hf_qsig_sms_scAddressSaved = -1;       /* BOOLEAN */
1452 /* named bits */
1453 static int hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted = -1;
1454 static int hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError = -1;
1455 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying = -1;
1456 static int hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying = -1;
1457 static int hf_qsig_sms_SmscControlParameterHeader_spare_bit4 = -1;
1458 static int hf_qsig_sms_SmscControlParameterHeader_spare_bit5 = -1;
1459 static int hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM = -1;
1460 static int hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR = -1;
1461 
1462 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1463 
1464 static int hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU = -1;  /* MCRequestArg */
1465 static int hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU = -1;  /* MCRequestResult */
1466 static int hf_qsig_mcr_qsig_mcr_MCInformArg_PDU = -1;  /* MCInformArg */
1467 static int hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU = -1;  /* MCAlertingArg */
1468 static int hf_qsig_mcr_qsig_mcr_Extension_PDU = -1;  /* Extension */
1469 static int hf_qsig_mcr_callType = -1;             /* CallType */
1470 static int hf_qsig_mcr_retainOrigCall = -1;       /* BOOLEAN */
1471 static int hf_qsig_mcr_destinationAddress = -1;   /* PresentedAddressUnscreened */
1472 static int hf_qsig_mcr_requestingAddress = -1;    /* PresentedAddressUnscreened */
1473 static int hf_qsig_mcr_cooperatingAddress = -1;   /* PresentedAddressUnscreened */
1474 static int hf_qsig_mcr_correlation = -1;          /* Correlation */
1475 static int hf_qsig_mcr_extensions = -1;           /* MCRExtensions */
1476 static int hf_qsig_mcr_basicService = -1;         /* BasicService */
1477 static int hf_qsig_mcr_cisc = -1;                 /* NULL */
1478 static int hf_qsig_mcr_correlationData = -1;      /* CallIdentity */
1479 static int hf_qsig_mcr_correlationReason = -1;    /* CorrelationReason */
1480 static int hf_qsig_mcr_none = -1;                 /* NULL */
1481 static int hf_qsig_mcr_single = -1;               /* Extension */
1482 static int hf_qsig_mcr_multiple = -1;             /* SEQUENCE_OF_Extension */
1483 static int hf_qsig_mcr_multiple_item = -1;        /* Extension */
1484 
1485 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1486 
1487 static int hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU = -1;  /* MCMNewMsgArg */
1488 static int hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU = -1;  /* MCMDummyRes */
1489 static int hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU = -1;  /* MCMNoNewMsgArg */
1490 static int hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU = -1;  /* MCMUpdateArg */
1491 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU = -1;  /* MCMUpdateReqArg */
1492 static int hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU = -1;  /* MCMUpdateReqRes */
1493 static int hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU = -1;  /* MCMServiceArg */
1494 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU = -1;  /* MCMInterrogateArg */
1495 static int hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU = -1;  /* MCMInterrogateRes */
1496 static int hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU = -1;  /* MCMailboxFullArg */
1497 static int hf_qsig_mcm_qsig_mcm_Extension_PDU = -1;  /* Extension */
1498 static int hf_qsig_mcm_partyInfo = -1;            /* PartyInfo */
1499 static int hf_qsig_mcm_mailboxFullFor = -1;       /* MailboxFullFor */
1500 static int hf_qsig_mcm_extensions = -1;           /* MCMExtensions */
1501 static int hf_qsig_mcm_MailboxFullFor_item = -1;  /* MailboxFullPar */
1502 static int hf_qsig_mcm_messageType = -1;          /* MessageType */
1503 static int hf_qsig_mcm_capacityReached = -1;      /* INTEGER_0_100 */
1504 static int hf_qsig_mcm_mCMChange = -1;            /* MCMChange */
1505 static int hf_qsig_mcm_activateMCM = -1;          /* SEQUENCE_OF_MCMServiceInfo */
1506 static int hf_qsig_mcm_activateMCM_item = -1;     /* MCMServiceInfo */
1507 static int hf_qsig_mcm_deactivateMCM = -1;        /* SEQUENCE_OF_MessageType */
1508 static int hf_qsig_mcm_deactivateMCM_item = -1;   /* MessageType */
1509 static int hf_qsig_mcm_setToDefaultValues = -1;   /* NULL */
1510 static int hf_qsig_mcm_mCMModeNew = -1;           /* MCMMode */
1511 static int hf_qsig_mcm_mCMModeRetrieved = -1;     /* MCMMode */
1512 static int hf_qsig_mcm_interrogateInfo = -1;      /* SEQUENCE_OF_MessageType */
1513 static int hf_qsig_mcm_interrogateInfo_item = -1;  /* MessageType */
1514 static int hf_qsig_mcm_interrogateResult = -1;    /* SEQUENCE_OF_MCMServiceInfo */
1515 static int hf_qsig_mcm_interrogateResult_item = -1;  /* MCMServiceInfo */
1516 static int hf_qsig_mcm_servedUserNr = -1;         /* PartyNumber */
1517 static int hf_qsig_mcm_specificMessageType = -1;  /* MessageType */
1518 static int hf_qsig_mcm_msgCentreId = -1;          /* MsgCentreId */
1519 static int hf_qsig_mcm_nrOfMessages = -1;         /* NrOfMessages */
1520 static int hf_qsig_mcm_originatingNr = -1;        /* PartyNumber */
1521 static int hf_qsig_mcm_timestamp = -1;            /* TimeStamp */
1522 static int hf_qsig_mcm_priority = -1;             /* INTEGER_0_9 */
1523 static int hf_qsig_mcm_argumentExtMCMNew = -1;    /* MCMNewArgumentExt */
1524 static int hf_qsig_mcm_extension = -1;            /* Extension */
1525 static int hf_qsig_mcm_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1526 static int hf_qsig_mcm_multipleExtension_item = -1;  /* Extension */
1527 static int hf_qsig_mcm_argumentExtMCMNoNew = -1;  /* MCMNoNewArgumentExt */
1528 static int hf_qsig_mcm_updateInfo = -1;           /* UpdateInfo */
1529 static int hf_qsig_mcm_moreInfoFollows = -1;      /* BOOLEAN */
1530 static int hf_qsig_mcm_argumentExtMCMUpdArg = -1;  /* MCMUpdArgArgumentExt */
1531 static int hf_qsig_mcm_MCMUpdateReqRes_item = -1;  /* MCMUpdateReqResElt */
1532 static int hf_qsig_mcm_argumentExtMCMUpdRes = -1;  /* MCMUpdResArgumentExt */
1533 static int hf_qsig_mcm_messageCentreID = -1;      /* MsgCentreId */
1534 static int hf_qsig_mcm_newMsgInfoOnly = -1;       /* MessageInfo */
1535 static int hf_qsig_mcm_retrievedMsgInfoOnly = -1;  /* MessageInfo */
1536 static int hf_qsig_mcm_allMsgInfo = -1;           /* AllMsgInfo */
1537 static int hf_qsig_mcm_newMsgInfo = -1;           /* MessageInfo */
1538 static int hf_qsig_mcm_retrievedMsgInfo = -1;     /* MessageInfo */
1539 static int hf_qsig_mcm_completeInfo = -1;         /* CompleteInfo */
1540 static int hf_qsig_mcm_compressedInfo = -1;       /* CompressedInfo */
1541 static int hf_qsig_mcm_noMsgsOfMsgType = -1;      /* NULL */
1542 static int hf_qsig_mcm_CompleteInfo_item = -1;    /* AddressHeader */
1543 static int hf_qsig_mcm_originatorNr = -1;         /* PartyNumber */
1544 static int hf_qsig_mcm_timeStamp = -1;            /* TimeStamp */
1545 static int hf_qsig_mcm_ahpriority = -1;           /* Priority */
1546 static int hf_qsig_mcm_lastTimeStamp = -1;        /* TimeStamp */
1547 static int hf_qsig_mcm_highestPriority = -1;      /* Priority */
1548 static int hf_qsig_mcm_integer = -1;              /* INTEGER_0_65535 */
1549 static int hf_qsig_mcm_partyNumber = -1;          /* PartyNumber */
1550 static int hf_qsig_mcm_numericString = -1;        /* NumericString_SIZE_1_10 */
1551 static int hf_qsig_mcm_none = -1;                 /* NULL */
1552 
1553 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
1554 
1555 static int hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU = -1;  /* MIDMailboxAuthArg */
1556 static int hf_qsig_mid_qsig_mid_MIDDummyRes_PDU = -1;  /* MIDDummyRes */
1557 static int hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU = -1;  /* MIDMailboxIDArg */
1558 static int hf_qsig_mid_qsig_mid_Extension_PDU = -1;  /* Extension */
1559 static int hf_qsig_mid_partyInfo = -1;            /* PartyInfo */
1560 static int hf_qsig_mid_servedUserName = -1;       /* Name */
1561 static int hf_qsig_mid_mailBox = -1;              /* String */
1562 static int hf_qsig_mid_password = -1;             /* String */
1563 static int hf_qsig_mid_extensions = -1;           /* MIDExtensions */
1564 static int hf_qsig_mid_servedUserNr = -1;         /* PresentedAddressUnscreened */
1565 static int hf_qsig_mid_messageType = -1;          /* MessageType */
1566 static int hf_qsig_mid_messageCentreID = -1;      /* MsgCentreId */
1567 static int hf_qsig_mid_stringBmp = -1;            /* BMPString */
1568 static int hf_qsig_mid_stringUtf8 = -1;           /* UTF8String */
1569 static int hf_qsig_mid_none = -1;                 /* NULL */
1570 static int hf_qsig_mid_extension = -1;            /* Extension */
1571 static int hf_qsig_mid_multipleExtension = -1;    /* SEQUENCE_OF_Extension */
1572 static int hf_qsig_mid_multipleExtension_item = -1;  /* Extension */
1573 
1574 /*--- End of included file: packet-qsig-hf.c ---*/
1575 #line 282 "./asn1/qsig/packet-qsig-template.c"
1576 
1577 static int *hf_qsig_ie_type_arr[] = {
1578   NULL,
1579   NULL,
1580   NULL,
1581   NULL,
1582   &hf_qsig_ie_type_cs4,
1583   &hf_qsig_ie_type_cs5,
1584   NULL,
1585   NULL,
1586 };
1587 
1588 /* Initialize the subtree pointers */
1589 static gint ett_qsig = -1;
1590 static gint ett_qsig_ie = -1;
1591 static gint ett_qsig_unknown_extension = -1;
1592 
1593 /*--- Included file: packet-qsig-ett.c ---*/
1594 #line 1 "./asn1/qsig/packet-qsig-ett.c"
1595 
1596 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
1597 
1598 static gint ett_qsig_Extension = -1;
1599 static gint ett_qsig_PresentedAddressScreened = -1;
1600 static gint ett_qsig_PresentedAddressUnscreened = -1;
1601 static gint ett_qsig_PresentedNumberScreened = -1;
1602 static gint ett_qsig_PresentedNumberUnscreened = -1;
1603 static gint ett_qsig_AddressScreened = -1;
1604 static gint ett_qsig_NumberScreened = -1;
1605 static gint ett_qsig_Address = -1;
1606 static gint ett_qsig_PartyNumber = -1;
1607 static gint ett_qsig_PublicPartyNumber = -1;
1608 static gint ett_qsig_PrivatePartyNumber = -1;
1609 static gint ett_qsig_PartySubaddress = -1;
1610 static gint ett_qsig_UserSpecifiedSubaddress = -1;
1611 
1612 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
1613 
1614 static gint ett_qsig_na_NameArg = -1;
1615 static gint ett_qsig_na_T_nameSequence = -1;
1616 static gint ett_qsig_na_NameExtension = -1;
1617 static gint ett_qsig_na_SEQUENCE_OF_Extension = -1;
1618 static gint ett_qsig_na_Name = -1;
1619 static gint ett_qsig_na_NamePresentationAllowed = -1;
1620 static gint ett_qsig_na_NamePresentationRestricted = -1;
1621 static gint ett_qsig_na_NameSet = -1;
1622 
1623 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
1624 
1625 static gint ett_qsig_cf_ARG_activateDiversionQ = -1;
1626 static gint ett_qsig_cf_ADExtension = -1;
1627 static gint ett_qsig_cf_SEQUENCE_OF_Extension = -1;
1628 static gint ett_qsig_cf_RES_activateDiversionQ = -1;
1629 static gint ett_qsig_cf_ARG_deactivateDiversionQ = -1;
1630 static gint ett_qsig_cf_DDExtension = -1;
1631 static gint ett_qsig_cf_RES_deactivateDiversionQ = -1;
1632 static gint ett_qsig_cf_ARG_interrogateDiversionQ = -1;
1633 static gint ett_qsig_cf_IDExtension = -1;
1634 static gint ett_qsig_cf_ARG_checkRestriction = -1;
1635 static gint ett_qsig_cf_CHRExtension = -1;
1636 static gint ett_qsig_cf_RES_checkRestriction = -1;
1637 static gint ett_qsig_cf_ARG_callRerouteing = -1;
1638 static gint ett_qsig_cf_CRRExtension = -1;
1639 static gint ett_qsig_cf_RES_callRerouteing = -1;
1640 static gint ett_qsig_cf_ARG_divertingLegInformation1 = -1;
1641 static gint ett_qsig_cf_DLI1Extension = -1;
1642 static gint ett_qsig_cf_ARG_divertingLegInformation2 = -1;
1643 static gint ett_qsig_cf_DLI2Extension = -1;
1644 static gint ett_qsig_cf_ARG_divertingLegInformation3 = -1;
1645 static gint ett_qsig_cf_DLI3Extension = -1;
1646 static gint ett_qsig_cf_ARG_cfnrDivertedLegFailed = -1;
1647 static gint ett_qsig_cf_IntResultList = -1;
1648 static gint ett_qsig_cf_IntResult = -1;
1649 static gint ett_qsig_cf_IRExtension = -1;
1650 
1651 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
1652 
1653 static gint ett_qsig_pr_PRProposeArg = -1;
1654 static gint ett_qsig_pr_PRPExtension = -1;
1655 static gint ett_qsig_pr_SEQUENCE_OF_Extension = -1;
1656 static gint ett_qsig_pr_PRSetupArg = -1;
1657 static gint ett_qsig_pr_PRSExtension = -1;
1658 static gint ett_qsig_pr_PRRetainArg = -1;
1659 static gint ett_qsig_pr_PRRExtension = -1;
1660 static gint ett_qsig_pr_DummyResult = -1;
1661 static gint ett_qsig_pr_DummyArg = -1;
1662 
1663 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
1664 
1665 static gint ett_qsig_ct_DummyArg = -1;
1666 static gint ett_qsig_ct_SEQUENCE_OF_Extension = -1;
1667 static gint ett_qsig_ct_DummyRes = -1;
1668 static gint ett_qsig_ct_CTIdentifyRes = -1;
1669 static gint ett_qsig_ct_T_resultExtension = -1;
1670 static gint ett_qsig_ct_CTInitiateArg = -1;
1671 static gint ett_qsig_ct_CTIargumentExtension = -1;
1672 static gint ett_qsig_ct_CTSetupArg = -1;
1673 static gint ett_qsig_ct_CTSargumentExtension = -1;
1674 static gint ett_qsig_ct_CTActiveArg = -1;
1675 static gint ett_qsig_ct_CTAargumentExtension = -1;
1676 static gint ett_qsig_ct_CTCompleteArg = -1;
1677 static gint ett_qsig_ct_CTCargumentExtension = -1;
1678 static gint ett_qsig_ct_CTUpdateArg = -1;
1679 static gint ett_qsig_ct_CTUargumentExtension = -1;
1680 static gint ett_qsig_ct_SubaddressTransferArg = -1;
1681 static gint ett_qsig_ct_STargumentExtension = -1;
1682 
1683 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
1684 
1685 static gint ett_qsig_cc_CcRequestArg = -1;
1686 static gint ett_qsig_cc_CcRequestRes = -1;
1687 static gint ett_qsig_cc_CcOptionalArg = -1;
1688 static gint ett_qsig_cc_T_fullArg = -1;
1689 static gint ett_qsig_cc_CcExtension = -1;
1690 static gint ett_qsig_cc_SEQUENCE_OF_Extension = -1;
1691 
1692 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
1693 
1694 static gint ett_qsig_co_PathRetainArg = -1;
1695 static gint ett_qsig_co_T_extendedServiceList = -1;
1696 static gint ett_qsig_co_ServiceAvailableArg = -1;
1697 static gint ett_qsig_co_T_extendedServiceList_01 = -1;
1698 static gint ett_qsig_co_ServiceList = -1;
1699 static gint ett_qsig_co_DummyArg = -1;
1700 static gint ett_qsig_co_SEQUENCE_OF_Extension = -1;
1701 static gint ett_qsig_co_DummyRes = -1;
1702 
1703 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
1704 
1705 static gint ett_qsig_dnd_DummyArg = -1;
1706 static gint ett_qsig_dnd_SEQUENCE_OF_Extension = -1;
1707 static gint ett_qsig_dnd_DummyRes = -1;
1708 static gint ett_qsig_dnd_DNDActivateArg = -1;
1709 static gint ett_qsig_dnd_DNDAargumentExtension = -1;
1710 static gint ett_qsig_dnd_DNDActivateRes = -1;
1711 static gint ett_qsig_dnd_T_status = -1;
1712 static gint ett_qsig_dnd_T_status_item = -1;
1713 static gint ett_qsig_dnd_T_resultExtension = -1;
1714 static gint ett_qsig_dnd_DNDDeactivateArg = -1;
1715 static gint ett_qsig_dnd_DNDDargumentExtension = -1;
1716 static gint ett_qsig_dnd_DNDInterrogateArg = -1;
1717 static gint ett_qsig_dnd_DNDIargumentExtension = -1;
1718 static gint ett_qsig_dnd_DNDInterrogateRes = -1;
1719 static gint ett_qsig_dnd_T_status_01 = -1;
1720 static gint ett_qsig_dnd_T_status_item_01 = -1;
1721 static gint ett_qsig_dnd_T_resultExtension_01 = -1;
1722 static gint ett_qsig_dnd_DNDOverrideArg = -1;
1723 static gint ett_qsig_dnd_DNDOargumentExtension = -1;
1724 static gint ett_qsig_dnd_PathRetainArg = -1;
1725 static gint ett_qsig_dnd_T_extendedServiceList = -1;
1726 static gint ett_qsig_dnd_ServiceAvailableArg = -1;
1727 static gint ett_qsig_dnd_T_extendedServiceList_01 = -1;
1728 static gint ett_qsig_dnd_ServiceList = -1;
1729 
1730 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
1731 
1732 static gint ett_qsig_ci_PathRetainArg = -1;
1733 static gint ett_qsig_ci_T_extendedServiceList = -1;
1734 static gint ett_qsig_ci_ServiceAvailableArg = -1;
1735 static gint ett_qsig_ci_T_extendedServiceList_01 = -1;
1736 static gint ett_qsig_ci_ServiceList = -1;
1737 static gint ett_qsig_ci_DummyArg = -1;
1738 static gint ett_qsig_ci_SEQUENCE_OF_Extension = -1;
1739 static gint ett_qsig_ci_DummyRes = -1;
1740 static gint ett_qsig_ci_CIRequestArg = -1;
1741 static gint ett_qsig_ci_T_argumentExtension = -1;
1742 static gint ett_qsig_ci_CIRequestRes = -1;
1743 static gint ett_qsig_ci_T_resultExtension = -1;
1744 static gint ett_qsig_ci_CIGetCIPLRes = -1;
1745 static gint ett_qsig_ci_T_resultExtension_01 = -1;
1746 
1747 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
1748 
1749 static gint ett_qsig_aoc_AocRateArg = -1;
1750 static gint ett_qsig_aoc_T_aocRate = -1;
1751 static gint ett_qsig_aoc_T_rateArgExtension = -1;
1752 static gint ett_qsig_aoc_SEQUENCE_OF_Extension = -1;
1753 static gint ett_qsig_aoc_AocInterimArg = -1;
1754 static gint ett_qsig_aoc_T_interimCharge = -1;
1755 static gint ett_qsig_aoc_T_specificCurrency = -1;
1756 static gint ett_qsig_aoc_T_interimArgExtension = -1;
1757 static gint ett_qsig_aoc_AocFinalArg = -1;
1758 static gint ett_qsig_aoc_T_finalCharge = -1;
1759 static gint ett_qsig_aoc_T_specificCurrency_01 = -1;
1760 static gint ett_qsig_aoc_T_finalArgExtension = -1;
1761 static gint ett_qsig_aoc_AOCSCurrencyInfoList = -1;
1762 static gint ett_qsig_aoc_AOCSCurrencyInfo = -1;
1763 static gint ett_qsig_aoc_T_rateType = -1;
1764 static gint ett_qsig_aoc_DurationCurrency = -1;
1765 static gint ett_qsig_aoc_FlatRateCurrency = -1;
1766 static gint ett_qsig_aoc_VolumeRateCurrency = -1;
1767 static gint ett_qsig_aoc_RecordedCurrency = -1;
1768 static gint ett_qsig_aoc_Amount = -1;
1769 static gint ett_qsig_aoc_Time = -1;
1770 static gint ett_qsig_aoc_ChargingAssociation = -1;
1771 static gint ett_qsig_aoc_ChargeRequestArg = -1;
1772 static gint ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination = -1;
1773 static gint ett_qsig_aoc_T_chargeReqArgExtension = -1;
1774 static gint ett_qsig_aoc_ChargeRequestRes = -1;
1775 static gint ett_qsig_aoc_T_chargeReqResExtension = -1;
1776 static gint ett_qsig_aoc_DummyArg = -1;
1777 static gint ett_qsig_aoc_AocCompleteArg = -1;
1778 static gint ett_qsig_aoc_T_completeArgExtension = -1;
1779 static gint ett_qsig_aoc_AocCompleteRes = -1;
1780 static gint ett_qsig_aoc_T_completeResExtension = -1;
1781 static gint ett_qsig_aoc_AocDivChargeReqArg = -1;
1782 static gint ett_qsig_aoc_T_aocDivChargeReqArgExt = -1;
1783 
1784 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
1785 
1786 static gint ett_qsig_re_ReAlertingArg = -1;
1787 static gint ett_qsig_re_T_argumentExtension = -1;
1788 static gint ett_qsig_re_SEQUENCE_OF_Extension = -1;
1789 static gint ett_qsig_re_ReAnswerArg = -1;
1790 static gint ett_qsig_re_T_argumentExtension_01 = -1;
1791 
1792 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
1793 
1794 static gint ett_qsig_sync_SynchronizationReqArg = -1;
1795 static gint ett_qsig_sync_SynchronizationReqRes = -1;
1796 static gint ett_qsig_sync_SynchronizationInfoArg = -1;
1797 static gint ett_qsig_sync_ArgExtension = -1;
1798 static gint ett_qsig_sync_SEQUENCE_OF_Extension = -1;
1799 
1800 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
1801 
1802 static gint ett_qsig_cint_CintInformation1Arg = -1;
1803 static gint ett_qsig_cint_CintInformation2Arg = -1;
1804 static gint ett_qsig_cint_CintCondArg = -1;
1805 static gint ett_qsig_cint_CintExtension = -1;
1806 static gint ett_qsig_cint_SEQUENCE_OF_Extension = -1;
1807 
1808 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
1809 
1810 static gint ett_qsig_cmn_CmnArg = -1;
1811 static gint ett_qsig_cmn_T_extension = -1;
1812 static gint ett_qsig_cmn_SEQUENCE_OF_Extension = -1;
1813 static gint ett_qsig_cmn_DummyArg = -1;
1814 static gint ett_qsig_cmn_FeatureIdList = -1;
1815 static gint ett_qsig_cmn_EquipmentId = -1;
1816 
1817 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
1818 
1819 static gint ett_qsig_cpi_CPIRequestArg = -1;
1820 static gint ett_qsig_cpi_T_argumentExtension = -1;
1821 static gint ett_qsig_cpi_SEQUENCE_OF_Extension = -1;
1822 static gint ett_qsig_cpi_CPIPRequestArg = -1;
1823 static gint ett_qsig_cpi_T_argumentExtension_01 = -1;
1824 
1825 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
1826 
1827 static gint ett_qsig_pumr_PumRegistrArg = -1;
1828 static gint ett_qsig_pumr_RpumUserId = -1;
1829 static gint ett_qsig_pumr_T_userPin = -1;
1830 static gint ett_qsig_pumr_PumRegistrRes = -1;
1831 static gint ett_qsig_pumr_DummyRes = -1;
1832 static gint ett_qsig_pumr_SEQUENCE_OF_Extension = -1;
1833 static gint ett_qsig_pumr_PumDelRegArg = -1;
1834 static gint ett_qsig_pumr_XpumUserId = -1;
1835 static gint ett_qsig_pumr_PumDe_regArg = -1;
1836 static gint ett_qsig_pumr_DpumUserId = -1;
1837 static gint ett_qsig_pumr_T_userPin_01 = -1;
1838 static gint ett_qsig_pumr_PumInterrogArg = -1;
1839 static gint ett_qsig_pumr_IpumUserId = -1;
1840 static gint ett_qsig_pumr_T_userPin_02 = -1;
1841 static gint ett_qsig_pumr_PumInterrogRes = -1;
1842 static gint ett_qsig_pumr_PumInterrogRes_item = -1;
1843 static gint ett_qsig_pumr_SessionParams = -1;
1844 static gint ett_qsig_pumr_PumrExtension = -1;
1845 
1846 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
1847 
1848 static gint ett_qsig_pumch_EnquiryArg = -1;
1849 static gint ett_qsig_pumch_DivertArg = -1;
1850 static gint ett_qsig_pumch_InformArg = -1;
1851 static gint ett_qsig_pumch_EnquiryRes = -1;
1852 static gint ett_qsig_pumch_CurrLocation = -1;
1853 static gint ett_qsig_pumch_CfuActivated = -1;
1854 static gint ett_qsig_pumch_DummyRes = -1;
1855 static gint ett_qsig_pumch_SEQUENCE_OF_Extension = -1;
1856 static gint ett_qsig_pumch_PumiExtension = -1;
1857 static gint ett_qsig_pumch_PumIdentity = -1;
1858 static gint ett_qsig_pumch_T_both = -1;
1859 static gint ett_qsig_pumch_PumoArg = -1;
1860 static gint ett_qsig_pumch_T_pumoaextension = -1;
1861 
1862 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
1863 
1864 static gint ett_qsig_ssct_DummyArg = -1;
1865 static gint ett_qsig_ssct_SEQUENCE_OF_Extension = -1;
1866 static gint ett_qsig_ssct_DummyRes = -1;
1867 static gint ett_qsig_ssct_SSCTInitiateArg = -1;
1868 static gint ett_qsig_ssct_SSCTIargumentExtension = -1;
1869 static gint ett_qsig_ssct_SSCTSetupArg = -1;
1870 static gint ett_qsig_ssct_SSCTSargumentExtension = -1;
1871 static gint ett_qsig_ssct_SSCTDigitInfoArg = -1;
1872 static gint ett_qsig_ssct_SSCTDargumentExtension = -1;
1873 
1874 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
1875 
1876 static gint ett_qsig_wtmlr_LocUpdArg = -1;
1877 static gint ett_qsig_wtmlr_DummyRes = -1;
1878 static gint ett_qsig_wtmlr_SEQUENCE_OF_Extension = -1;
1879 static gint ett_qsig_wtmlr_LocDelArg = -1;
1880 static gint ett_qsig_wtmlr_LocDeRegArg = -1;
1881 static gint ett_qsig_wtmlr_PisnEnqArg = -1;
1882 static gint ett_qsig_wtmlr_PisnEnqRes = -1;
1883 static gint ett_qsig_wtmlr_GetRRCInfArg = -1;
1884 static gint ett_qsig_wtmlr_GetRRCInfRes = -1;
1885 static gint ett_qsig_wtmlr_LocInfoCheckArg = -1;
1886 static gint ett_qsig_wtmlr_LocInfoCheckRes = -1;
1887 static gint ett_qsig_wtmlr_WtmUserId = -1;
1888 static gint ett_qsig_wtmlr_LrExtension = -1;
1889 
1890 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
1891 
1892 static gint ett_qsig_wtmch_EnquiryArg = -1;
1893 static gint ett_qsig_wtmch_DivertArg = -1;
1894 static gint ett_qsig_wtmch_InformArg = -1;
1895 static gint ett_qsig_wtmch_EnquiryRes = -1;
1896 static gint ett_qsig_wtmch_CurrLocation = -1;
1897 static gint ett_qsig_wtmch_CfuActivated = -1;
1898 static gint ett_qsig_wtmch_DummyRes = -1;
1899 static gint ett_qsig_wtmch_SEQUENCE_OF_Extension = -1;
1900 static gint ett_qsig_wtmch_WtmiExtension = -1;
1901 static gint ett_qsig_wtmch_WtmIdentity = -1;
1902 static gint ett_qsig_wtmch_T_both = -1;
1903 static gint ett_qsig_wtmch_WtmoArg = -1;
1904 static gint ett_qsig_wtmch_T_wtmoaextension = -1;
1905 
1906 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
1907 
1908 static gint ett_qsig_wtmau_AuthWtmArg = -1;
1909 static gint ett_qsig_wtmau_AuthWtmRes = -1;
1910 static gint ett_qsig_wtmau_WtatParamArg = -1;
1911 static gint ett_qsig_wtmau_WtatParamRes = -1;
1912 static gint ett_qsig_wtmau_WtanParamArg = -1;
1913 static gint ett_qsig_wtmau_WtmUserId = -1;
1914 static gint ett_qsig_wtmau_WtanParamRes = -1;
1915 static gint ett_qsig_wtmau_ARG_transferAuthParam = -1;
1916 static gint ett_qsig_wtmau_WtatParamInfo = -1;
1917 static gint ett_qsig_wtmau_T_wtatParamInfoChoice = -1;
1918 static gint ett_qsig_wtmau_WtanParamInfo = -1;
1919 static gint ett_qsig_wtmau_AuthSessionKeyInfo = -1;
1920 static gint ett_qsig_wtmau_CalcWtatInfo = -1;
1921 static gint ett_qsig_wtmau_CalcWtatInfoUnit = -1;
1922 static gint ett_qsig_wtmau_CalcWtanInfo = -1;
1923 static gint ett_qsig_wtmau_DummyExtension = -1;
1924 static gint ett_qsig_wtmau_SEQUENCE_OF_Extension = -1;
1925 static gint ett_qsig_wtmau_AuthAlgorithm = -1;
1926 
1927 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
1928 
1929 static gint ett_qsig_sd_DisplayArg = -1;
1930 static gint ett_qsig_sd_DisplayString = -1;
1931 static gint ett_qsig_sd_KeypadArg = -1;
1932 static gint ett_qsig_sd_SDExtension = -1;
1933 static gint ett_qsig_sd_SEQUENCE_OF_Extension = -1;
1934 
1935 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
1936 
1937 static gint ett_qsig_cidl_CallIdentificationAssignArg = -1;
1938 static gint ett_qsig_cidl_CallIdentificationUpdateArg = -1;
1939 static gint ett_qsig_cidl_CallIdentificationData = -1;
1940 static gint ett_qsig_cidl_T_linkageID = -1;
1941 static gint ett_qsig_cidl_ExtensionType = -1;
1942 static gint ett_qsig_cidl_SEQUENCE_OF_Extension = -1;
1943 
1944 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
1945 
1946 static gint ett_qsig_sms_SmsSubmitArg = -1;
1947 static gint ett_qsig_sms_SmsSubmitRes = -1;
1948 static gint ett_qsig_sms_SmsDeliverArg = -1;
1949 static gint ett_qsig_sms_SmsDeliverRes = -1;
1950 static gint ett_qsig_sms_SmsStatusReportArg = -1;
1951 static gint ett_qsig_sms_SmsStatusReportRes = -1;
1952 static gint ett_qsig_sms_SmsCommandArg = -1;
1953 static gint ett_qsig_sms_SmsCommandRes = -1;
1954 static gint ett_qsig_sms_ScAlertArg = -1;
1955 static gint ett_qsig_sms_DummyRes = -1;
1956 static gint ett_qsig_sms_SmSubmitParameter = -1;
1957 static gint ett_qsig_sms_SmDeliverParameter = -1;
1958 static gint ett_qsig_sms_SmsDeliverResChoice = -1;
1959 static gint ett_qsig_sms_ResChoiceSeq = -1;
1960 static gint ett_qsig_sms_SmsStatusReportResponseChoice = -1;
1961 static gint ett_qsig_sms_SmsExtension = -1;
1962 static gint ett_qsig_sms_SEQUENCE_OF_Extension = -1;
1963 static gint ett_qsig_sms_ValidityPeriod = -1;
1964 static gint ett_qsig_sms_ValidityPeriodEnh = -1;
1965 static gint ett_qsig_sms_EnhancedVP = -1;
1966 static gint ett_qsig_sms_UserData = -1;
1967 static gint ett_qsig_sms_ShortMessageText = -1;
1968 static gint ett_qsig_sms_UserDataHeader = -1;
1969 static gint ett_qsig_sms_UserDataHeaderChoice = -1;
1970 static gint ett_qsig_sms_SmscControlParameterHeader = -1;
1971 static gint ett_qsig_sms_Concatenated8BitSMHeader = -1;
1972 static gint ett_qsig_sms_Concatenated16BitSMHeader = -1;
1973 static gint ett_qsig_sms_ApplicationPort8BitHeader = -1;
1974 static gint ett_qsig_sms_ApplicationPort16BitHeader = -1;
1975 static gint ett_qsig_sms_GenericUserValue = -1;
1976 static gint ett_qsig_sms_PAR_smsDeliverError = -1;
1977 static gint ett_qsig_sms_PAR_smsSubmitError = -1;
1978 static gint ett_qsig_sms_PAR_smsStatusReportError = -1;
1979 static gint ett_qsig_sms_PAR_smsCommandError = -1;
1980 
1981 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
1982 
1983 static gint ett_qsig_mcr_MCRequestArg = -1;
1984 static gint ett_qsig_mcr_MCRequestResult = -1;
1985 static gint ett_qsig_mcr_MCInformArg = -1;
1986 static gint ett_qsig_mcr_MCAlertingArg = -1;
1987 static gint ett_qsig_mcr_CallType = -1;
1988 static gint ett_qsig_mcr_Correlation = -1;
1989 static gint ett_qsig_mcr_MCRExtensions = -1;
1990 static gint ett_qsig_mcr_SEQUENCE_OF_Extension = -1;
1991 
1992 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
1993 
1994 static gint ett_qsig_mcm_MCMailboxFullArg = -1;
1995 static gint ett_qsig_mcm_MailboxFullFor = -1;
1996 static gint ett_qsig_mcm_MailboxFullPar = -1;
1997 static gint ett_qsig_mcm_MCMServiceArg = -1;
1998 static gint ett_qsig_mcm_MCMChange = -1;
1999 static gint ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo = -1;
2000 static gint ett_qsig_mcm_SEQUENCE_OF_MessageType = -1;
2001 static gint ett_qsig_mcm_MCMServiceInfo = -1;
2002 static gint ett_qsig_mcm_MCMInterrogateArg = -1;
2003 static gint ett_qsig_mcm_MCMInterrogateRes = -1;
2004 static gint ett_qsig_mcm_MCMNewMsgArg = -1;
2005 static gint ett_qsig_mcm_MCMNewArgumentExt = -1;
2006 static gint ett_qsig_mcm_SEQUENCE_OF_Extension = -1;
2007 static gint ett_qsig_mcm_MCMNoNewMsgArg = -1;
2008 static gint ett_qsig_mcm_MCMNoNewArgumentExt = -1;
2009 static gint ett_qsig_mcm_MCMUpdateArg = -1;
2010 static gint ett_qsig_mcm_MCMUpdateReqArg = -1;
2011 static gint ett_qsig_mcm_MCMUpdArgArgumentExt = -1;
2012 static gint ett_qsig_mcm_MCMUpdateReqRes = -1;
2013 static gint ett_qsig_mcm_MCMUpdateReqResElt = -1;
2014 static gint ett_qsig_mcm_MCMUpdResArgumentExt = -1;
2015 static gint ett_qsig_mcm_PartyInfo = -1;
2016 static gint ett_qsig_mcm_UpdateInfo = -1;
2017 static gint ett_qsig_mcm_AllMsgInfo = -1;
2018 static gint ett_qsig_mcm_MessageInfo = -1;
2019 static gint ett_qsig_mcm_CompleteInfo = -1;
2020 static gint ett_qsig_mcm_AddressHeader = -1;
2021 static gint ett_qsig_mcm_CompressedInfo = -1;
2022 static gint ett_qsig_mcm_MsgCentreId = -1;
2023 static gint ett_qsig_mcm_MCMExtensions = -1;
2024 
2025 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
2026 
2027 static gint ett_qsig_mid_MIDMailboxAuthArg = -1;
2028 static gint ett_qsig_mid_MIDMailboxIDArg = -1;
2029 static gint ett_qsig_mid_PartyInfo = -1;
2030 static gint ett_qsig_mid_String = -1;
2031 static gint ett_qsig_mid_MIDExtensions = -1;
2032 static gint ett_qsig_mid_SEQUENCE_OF_Extension = -1;
2033 
2034 /*--- End of included file: packet-qsig-ett.c ---*/
2035 #line 299 "./asn1/qsig/packet-qsig-template.c"
2036 static gint ett_cnq_PSS1InformationElement = -1;
2037 
2038 /* static expert_field ei_qsig_unsupported_arg_type = EI_INIT; */
2039 static expert_field ei_qsig_unsupported_result_type = EI_INIT;
2040 static expert_field ei_qsig_unsupported_error_type = EI_INIT;
2041 
2042 /* Preferences */
2043 
2044 /* Subdissectors */
2045 static dissector_handle_t q931_ie_handle = NULL;
2046 
2047 /* Global variables */
2048 static const char *extension_oid = NULL;
2049 
2050 /* Dissector tables */
2051 static dissector_table_t extension_dissector_table;
2052 
2053 
2054 /*--- Included file: packet-qsig-fn.c ---*/
2055 #line 1 "./asn1/qsig/packet-qsig-fn.c"
2056 
2057 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
2058 
2059 
2060 
2061 static int
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_)2062 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_) {
2063   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &extension_oid);
2064 
2065   return offset;
2066 }
2067 
2068 
2069 
2070 static int
dissect_qsig_T_extensionArgument(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2071 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_) {
2072 #line 146 "./asn1/qsig/qsig.cnf"
2073     tvbuff_t *next_tvb;
2074 
2075     next_tvb = tvb_new_subset_remaining(tvb, offset);
2076     if (!dissector_try_string_new(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree, FALSE, NULL)) {
2077         proto_tree *next_tree;
2078 
2079         next_tree=proto_tree_add_subtree_format(tree, next_tvb, 0, -1, ett_qsig_unknown_extension, NULL,
2080                                "QSIG: Dissector for extension with OID:%s not implemented.", extension_oid);
2081 
2082         dissect_unknown_ber(actx->pinfo, next_tvb, offset, next_tree);
2083     }
2084 
2085     offset+=tvb_reported_length_remaining(tvb, offset);
2086 
2087 
2088   return offset;
2089 }
2090 
2091 
2092 static const ber_sequence_t qsig_Extension_sequence[] = {
2093   { &hf_qsig_extensionId    , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionId },
2094   { &hf_qsig_extensionArgument, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_T_extensionArgument },
2095   { NULL, 0, 0, 0, NULL }
2096 };
2097 
2098 int
dissect_qsig_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2099 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_) {
2100 #line 143 "./asn1/qsig/qsig.cnf"
2101   extension_oid = NULL;
2102 
2103   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2104                                    qsig_Extension_sequence, hf_index, ett_qsig_Extension);
2105 
2106   return offset;
2107 }
2108 
2109 
2110 
2111 static int
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_)2112 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_) {
2113 #line 166 "./asn1/qsig/qsig.cnf"
2114   tvbuff_t *out_tvb = NULL;
2115   proto_tree *data_tree;
2116 
2117   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2118                                        &out_tvb);
2119 
2120   data_tree = proto_item_add_subtree(actx->created_item, ett_cnq_PSS1InformationElement);
2121   if (out_tvb && (tvb_reported_length(out_tvb) > 0) && q931_ie_handle)
2122     call_dissector(q931_ie_handle, out_tvb, actx->pinfo, data_tree);
2123 
2124 
2125   return offset;
2126 }
2127 
2128 
2129 
2130 int
dissect_qsig_PSS1InformationElement(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2131 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_) {
2132   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2133                                       hf_index, BER_CLASS_APP, 0, TRUE, dissect_qsig_PSS1InformationElement_U);
2134 
2135   return offset;
2136 }
2137 
2138 
2139 
2140 static int
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_)2141 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_) {
2142   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
2143                                             actx, tree, tvb, offset, hf_index,
2144                                             NULL);
2145 
2146   return offset;
2147 }
2148 
2149 
2150 static const value_string qsig_PublicTypeOfNumber_vals[] = {
2151   {   0, "unknown" },
2152   {   1, "internationalNumber" },
2153   {   2, "nationalNumber" },
2154   {   3, "networkSpecificNumber" },
2155   {   4, "subscriberNumber" },
2156   {   6, "abbreviatedNumber" },
2157   { 0, NULL }
2158 };
2159 
2160 
2161 static int
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_)2162 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_) {
2163   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2164                                   NULL);
2165 
2166   return offset;
2167 }
2168 
2169 
2170 static const ber_sequence_t qsig_PublicPartyNumber_sequence[] = {
2171   { &hf_qsig_publicTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PublicTypeOfNumber },
2172   { &hf_qsig_publicNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
2173   { NULL, 0, 0, 0, NULL }
2174 };
2175 
2176 static int
dissect_qsig_PublicPartyNumber(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2177 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_) {
2178   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2179                                    qsig_PublicPartyNumber_sequence, hf_index, ett_qsig_PublicPartyNumber);
2180 
2181   return offset;
2182 }
2183 
2184 
2185 static const value_string qsig_PrivateTypeOfNumber_vals[] = {
2186   {   0, "unknown" },
2187   {   1, "level2RegionalNumber" },
2188   {   2, "level1RegionalNumber" },
2189   {   3, "pISNSpecificNumber" },
2190   {   4, "localNumber" },
2191   {   6, "abbreviatedNumber" },
2192   { 0, NULL }
2193 };
2194 
2195 
2196 static int
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_)2197 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_) {
2198   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2199                                   NULL);
2200 
2201   return offset;
2202 }
2203 
2204 
2205 static const ber_sequence_t qsig_PrivatePartyNumber_sequence[] = {
2206   { &hf_qsig_privateTypeOfNumber, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_PrivateTypeOfNumber },
2207   { &hf_qsig_privateNumberDigits, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_NumberDigits },
2208   { NULL, 0, 0, 0, NULL }
2209 };
2210 
2211 static int
dissect_qsig_PrivatePartyNumber(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2212 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_) {
2213   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2214                                    qsig_PrivatePartyNumber_sequence, hf_index, ett_qsig_PrivatePartyNumber);
2215 
2216   return offset;
2217 }
2218 
2219 
2220 static const value_string qsig_PartyNumber_vals[] = {
2221   {   0, "unknownPartyNumber" },
2222   {   1, "publicPartyNumber" },
2223   {   3, "dataPartyNumber" },
2224   {   4, "telexPartyNumber" },
2225   {   5, "privatePartyNumber" },
2226   {   8, "nationalStandardPartyNumber" },
2227   { 0, NULL }
2228 };
2229 
2230 static const ber_choice_t qsig_PartyNumber_choice[] = {
2231   {   0, &hf_qsig_unknownPartyNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2232   {   1, &hf_qsig_publicPartyNumber, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_PublicPartyNumber },
2233   {   3, &hf_qsig_dataPartyNumber, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2234   {   4, &hf_qsig_telexPartyNumber, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2235   {   5, &hf_qsig_privatePartyNumber, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_PrivatePartyNumber },
2236   {   8, &hf_qsig_nationalStandardPartyNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_qsig_NumberDigits },
2237   { 0, NULL, 0, 0, 0, NULL }
2238 };
2239 
2240 static int
dissect_qsig_PartyNumber(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2241 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_) {
2242   offset = dissect_ber_choice(actx, tree, tvb, offset,
2243                                  qsig_PartyNumber_choice, hf_index, ett_qsig_PartyNumber,
2244                                  NULL);
2245 
2246   return offset;
2247 }
2248 
2249 
2250 static const value_string qsig_ScreeningIndicator_vals[] = {
2251   {   0, "userProvidedNotScreened" },
2252   {   1, "userProvidedVerifiedAndPassed" },
2253   {   2, "userProvidedVerifiedAndFailed" },
2254   {   3, "networkProvided" },
2255   { 0, NULL }
2256 };
2257 
2258 
2259 static int
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_)2260 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_) {
2261   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2262                                   NULL);
2263 
2264   return offset;
2265 }
2266 
2267 
2268 
2269 static int
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_)2270 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_) {
2271   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2272                                        NULL);
2273 
2274   return offset;
2275 }
2276 
2277 
2278 
2279 static int
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_)2280 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_) {
2281   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2282 
2283   return offset;
2284 }
2285 
2286 
2287 static const ber_sequence_t qsig_UserSpecifiedSubaddress_sequence[] = {
2288   { &hf_qsig_subaddressInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_SubaddressInformation },
2289   { &hf_qsig_oddCountIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_BOOLEAN },
2290   { NULL, 0, 0, 0, NULL }
2291 };
2292 
2293 static int
dissect_qsig_UserSpecifiedSubaddress(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2294 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_) {
2295   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2296                                    qsig_UserSpecifiedSubaddress_sequence, hf_index, ett_qsig_UserSpecifiedSubaddress);
2297 
2298   return offset;
2299 }
2300 
2301 
2302 
2303 static int
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_)2304 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_) {
2305   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2306                                        NULL);
2307 
2308   return offset;
2309 }
2310 
2311 
2312 static const value_string qsig_PartySubaddress_vals[] = {
2313   {   0, "userSpecifiedSubaddress" },
2314   {   1, "nSAPSubaddress" },
2315   { 0, NULL }
2316 };
2317 
2318 static const ber_choice_t qsig_PartySubaddress_choice[] = {
2319   {   0, &hf_qsig_userSpecifiedSubaddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_UserSpecifiedSubaddress },
2320   {   1, &hf_qsig_nSAPSubaddress , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_NSAPSubaddress },
2321   { 0, NULL, 0, 0, 0, NULL }
2322 };
2323 
2324 static int
dissect_qsig_PartySubaddress(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2325 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_) {
2326   offset = dissect_ber_choice(actx, tree, tvb, offset,
2327                                  qsig_PartySubaddress_choice, hf_index, ett_qsig_PartySubaddress,
2328                                  NULL);
2329 
2330   return offset;
2331 }
2332 
2333 
2334 static const ber_sequence_t qsig_AddressScreened_sequence[] = {
2335   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2336   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2337   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2338   { NULL, 0, 0, 0, NULL }
2339 };
2340 
2341 static int
dissect_qsig_AddressScreened(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2342 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_) {
2343   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2344                                    qsig_AddressScreened_sequence, hf_index, ett_qsig_AddressScreened);
2345 
2346   return offset;
2347 }
2348 
2349 
2350 
2351 static int
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_)2352 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_) {
2353   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2354 
2355   return offset;
2356 }
2357 
2358 
2359 static const value_string qsig_PresentedAddressScreened_vals[] = {
2360   {   0, "presentationAllowedAddressS" },
2361   {   1, "presentationRestricted" },
2362   {   2, "numberNotAvailableDueToInterworking" },
2363   {   3, "presentationRestrictedAddressS" },
2364   { 0, NULL }
2365 };
2366 
2367 static const ber_choice_t qsig_PresentedAddressScreened_choice[] = {
2368   {   0, &hf_qsig_presentationAllowedAddressS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2369   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2370   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2371   {   3, &hf_qsig_presentationRestrictedAddressS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_AddressScreened },
2372   { 0, NULL, 0, 0, 0, NULL }
2373 };
2374 
2375 static int
dissect_qsig_PresentedAddressScreened(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2376 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_) {
2377   offset = dissect_ber_choice(actx, tree, tvb, offset,
2378                                  qsig_PresentedAddressScreened_choice, hf_index, ett_qsig_PresentedAddressScreened,
2379                                  NULL);
2380 
2381   return offset;
2382 }
2383 
2384 
2385 static const ber_sequence_t qsig_Address_sequence[] = {
2386   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2387   { &hf_qsig_partySubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartySubaddress },
2388   { NULL, 0, 0, 0, NULL }
2389 };
2390 
2391 static int
dissect_qsig_Address(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2392 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_) {
2393   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2394                                    qsig_Address_sequence, hf_index, ett_qsig_Address);
2395 
2396   return offset;
2397 }
2398 
2399 
2400 static const value_string qsig_PresentedAddressUnscreened_vals[] = {
2401   {   0, "presentationAllowedAddressU" },
2402   {   1, "presentationRestricted" },
2403   {   2, "numberNotAvailableDueToInterworking" },
2404   {   3, "presentationRestrictedAddressU" },
2405   { 0, NULL }
2406 };
2407 
2408 static const ber_choice_t qsig_PresentedAddressUnscreened_choice[] = {
2409   {   0, &hf_qsig_presentationAllowedAddressU, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2410   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2411   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2412   {   3, &hf_qsig_presentationRestrictedAddressU, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Address },
2413   { 0, NULL, 0, 0, 0, NULL }
2414 };
2415 
2416 static int
dissect_qsig_PresentedAddressUnscreened(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2417 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_) {
2418   offset = dissect_ber_choice(actx, tree, tvb, offset,
2419                                  qsig_PresentedAddressUnscreened_choice, hf_index, ett_qsig_PresentedAddressUnscreened,
2420                                  NULL);
2421 
2422   return offset;
2423 }
2424 
2425 
2426 static const ber_sequence_t qsig_NumberScreened_sequence[] = {
2427   { &hf_qsig_partyNumber    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_PartyNumber },
2428   { &hf_qsig_screeningIndicator, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ScreeningIndicator },
2429   { NULL, 0, 0, 0, NULL }
2430 };
2431 
2432 static int
dissect_qsig_NumberScreened(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2433 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_) {
2434   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2435                                    qsig_NumberScreened_sequence, hf_index, ett_qsig_NumberScreened);
2436 
2437   return offset;
2438 }
2439 
2440 
2441 static const value_string qsig_PresentedNumberScreened_vals[] = {
2442   {   0, "presentationAllowedAddressNS" },
2443   {   1, "presentationRestricted" },
2444   {   2, "numberNotAvailableDueToInterworking" },
2445   {   3, "presentationRestrictedAddressNS" },
2446   { 0, NULL }
2447 };
2448 
2449 static const ber_choice_t qsig_PresentedNumberScreened_choice[] = {
2450   {   0, &hf_qsig_presentationAllowedAddressNS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2451   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2452   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2453   {   3, &hf_qsig_presentationRestrictedAddressNS, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_NumberScreened },
2454   { 0, NULL, 0, 0, 0, NULL }
2455 };
2456 
2457 static int
dissect_qsig_PresentedNumberScreened(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2458 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_) {
2459   offset = dissect_ber_choice(actx, tree, tvb, offset,
2460                                  qsig_PresentedNumberScreened_choice, hf_index, ett_qsig_PresentedNumberScreened,
2461                                  NULL);
2462 
2463   return offset;
2464 }
2465 
2466 
2467 static const value_string qsig_PresentedNumberUnscreened_vals[] = {
2468   {   0, "presentationAllowedAddressNU" },
2469   {   1, "presentationRestricted" },
2470   {   2, "numberNotAvailableDueToInterworking" },
2471   {   3, "presentationRestrictedAddressNU" },
2472   { 0, NULL }
2473 };
2474 
2475 static const ber_choice_t qsig_PresentedNumberUnscreened_choice[] = {
2476   {   0, &hf_qsig_presentationAllowedAddressNU, BER_CLASS_CON, 0, 0, dissect_qsig_PartyNumber },
2477   {   1, &hf_qsig_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2478   {   2, &hf_qsig_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_NULL },
2479   {   3, &hf_qsig_presentationRestrictedAddressNU, BER_CLASS_CON, 3, 0, dissect_qsig_PartyNumber },
2480   { 0, NULL, 0, 0, 0, NULL }
2481 };
2482 
2483 static int
dissect_qsig_PresentedNumberUnscreened(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2484 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_) {
2485   offset = dissect_ber_choice(actx, tree, tvb, offset,
2486                                  qsig_PresentedNumberUnscreened_choice, hf_index, ett_qsig_PresentedNumberUnscreened,
2487                                  NULL);
2488 
2489   return offset;
2490 }
2491 
2492 
2493 
2494 static int
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_)2495 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_) {
2496   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2497 
2498   return offset;
2499 }
2500 
2501 
2502 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
2503 
2504 
2505 
2506 static int
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_)2507 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_) {
2508   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2509                                        NULL);
2510 
2511   return offset;
2512 }
2513 
2514 
2515 static const value_string qsig_na_CharacterSet_vals[] = {
2516   {   0, "unknown" },
2517   {   1, "iso8859-1" },
2518   {   3, "iso8859-2" },
2519   {   4, "iso8859-3" },
2520   {   5, "iso8859-4" },
2521   {   6, "iso8859-5" },
2522   {   7, "iso8859-7" },
2523   {   8, "iso10646-BmpString" },
2524   {   9, "iso10646-utf-8String" },
2525   { 0, NULL }
2526 };
2527 
2528 
2529 static int
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_)2530 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_) {
2531   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2532                                                 NULL);
2533 
2534   return offset;
2535 }
2536 
2537 
2538 static const ber_sequence_t qsig_na_NameSet_sequence[] = {
2539   { &hf_qsig_na_nameData    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameData },
2540   { &hf_qsig_na_characterSet, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_CharacterSet },
2541   { NULL, 0, 0, 0, NULL }
2542 };
2543 
2544 static int
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_)2545 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_) {
2546   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2547                                    qsig_na_NameSet_sequence, hf_index, ett_qsig_na_NameSet);
2548 
2549   return offset;
2550 }
2551 
2552 
2553 static const value_string qsig_na_NamePresentationAllowed_vals[] = {
2554   {   0, "namePresentationAllowedSimple" },
2555   {   1, "namePresentationAllowedExtended" },
2556   { 0, NULL }
2557 };
2558 
2559 static const ber_choice_t qsig_na_NamePresentationAllowed_choice[] = {
2560   {   0, &hf_qsig_na_namePresentationAllowedSimple, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2561   {   1, &hf_qsig_na_namePresentationAllowedExtended, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2562   { 0, NULL, 0, 0, 0, NULL }
2563 };
2564 
2565 static int
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_)2566 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_) {
2567   offset = dissect_ber_choice(actx, tree, tvb, offset,
2568                                  qsig_na_NamePresentationAllowed_choice, hf_index, ett_qsig_na_NamePresentationAllowed,
2569                                  NULL);
2570 
2571   return offset;
2572 }
2573 
2574 
2575 
2576 static int
dissect_qsig_na_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2577 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_) {
2578   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2579 
2580   return offset;
2581 }
2582 
2583 
2584 static const value_string qsig_na_NamePresentationRestricted_vals[] = {
2585   {   2, "namePresentationRestrictedSimple" },
2586   {   3, "namePresentationRestrictedExtended" },
2587   {   7, "namePresentationRestrictedNull" },
2588   { 0, NULL }
2589 };
2590 
2591 static const ber_choice_t qsig_na_NamePresentationRestricted_choice[] = {
2592   {   2, &hf_qsig_na_namePresentationRestrictedSimple, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameData },
2593   {   3, &hf_qsig_na_namePresentationRestrictedExtended, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_na_NameSet },
2594   {   7, &hf_qsig_na_namePresentationRestrictedNull, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_na_NULL },
2595   { 0, NULL, 0, 0, 0, NULL }
2596 };
2597 
2598 static int
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_)2599 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_) {
2600   offset = dissect_ber_choice(actx, tree, tvb, offset,
2601                                  qsig_na_NamePresentationRestricted_choice, hf_index, ett_qsig_na_NamePresentationRestricted,
2602                                  NULL);
2603 
2604   return offset;
2605 }
2606 
2607 
2608 
2609 static int
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_)2610 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_) {
2611   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2612                                       hf_index, BER_CLASS_CON, 4, TRUE, dissect_qsig_na_NULL);
2613 
2614   return offset;
2615 }
2616 
2617 
2618 static const ber_choice_t qsig_na_Name_choice[] = {
2619   {   0, &hf_qsig_na_namePresentationAllowed, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationAllowed },
2620   {   1, &hf_qsig_na_namePresentationRestricted, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NamePresentationRestricted },
2621   {   2, &hf_qsig_na_nameNotAvailable, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_qsig_na_NameNotAvailable },
2622   { 0, NULL, 0, 0, 0, NULL }
2623 };
2624 
2625 int
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_)2626 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_) {
2627   offset = dissect_ber_choice(actx, tree, tvb, offset,
2628                                  qsig_na_Name_choice, hf_index, ett_qsig_na_Name,
2629                                  NULL);
2630 
2631   return offset;
2632 }
2633 
2634 
2635 static const ber_sequence_t qsig_na_SEQUENCE_OF_Extension_sequence_of[1] = {
2636   { &hf_qsig_na_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2637 };
2638 
2639 static int
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_)2640 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_) {
2641   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2642                                       qsig_na_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_na_SEQUENCE_OF_Extension);
2643 
2644   return offset;
2645 }
2646 
2647 
2648 static const value_string qsig_na_NameExtension_vals[] = {
2649   {   5, "single" },
2650   {   6, "multiple" },
2651   { 0, NULL }
2652 };
2653 
2654 static const ber_choice_t qsig_na_NameExtension_choice[] = {
2655   {   5, &hf_qsig_na_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2656   {   6, &hf_qsig_na_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_na_SEQUENCE_OF_Extension },
2657   { 0, NULL, 0, 0, 0, NULL }
2658 };
2659 
2660 static int
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_)2661 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_) {
2662   offset = dissect_ber_choice(actx, tree, tvb, offset,
2663                                  qsig_na_NameExtension_choice, hf_index, ett_qsig_na_NameExtension,
2664                                  NULL);
2665 
2666   return offset;
2667 }
2668 
2669 
2670 static const ber_sequence_t qsig_na_T_nameSequence_sequence[] = {
2671   { &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_Name },
2672   { &hf_qsig_na_extensionNA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_na_NameExtension },
2673   { NULL, 0, 0, 0, NULL }
2674 };
2675 
2676 static int
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_)2677 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_) {
2678   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2679                                    qsig_na_T_nameSequence_sequence, hf_index, ett_qsig_na_T_nameSequence);
2680 
2681   return offset;
2682 }
2683 
2684 
2685 static const value_string qsig_na_NameArg_vals[] = {
2686   {   0, "name" },
2687   {   1, "nameSequence" },
2688   { 0, NULL }
2689 };
2690 
2691 static const ber_choice_t qsig_na_NameArg_choice[] = {
2692   {   0, &hf_qsig_na_name        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
2693   {   1, &hf_qsig_na_nameSequence, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_na_T_nameSequence },
2694   { 0, NULL, 0, 0, 0, NULL }
2695 };
2696 
2697 static int
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_)2698 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_) {
2699   offset = dissect_ber_choice(actx, tree, tvb, offset,
2700                                  qsig_na_NameArg_choice, hf_index, ett_qsig_na_NameArg,
2701                                  NULL);
2702 
2703   return offset;
2704 }
2705 
2706 /*--- PDUs ---*/
2707 
dissect_qsig_na_NameArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)2708 static int dissect_qsig_na_NameArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2709   int offset = 0;
2710   asn1_ctx_t asn1_ctx;
2711   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
2712   offset = dissect_qsig_na_NameArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_na_qsig_na_NameArg_PDU);
2713   return offset;
2714 }
2715 
2716 
2717 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
2718 
2719 
2720 static const value_string qsig_cf_Procedure_vals[] = {
2721   {   0, "cfu" },
2722   {   1, "cfb" },
2723   {   2, "cfnr" },
2724   { 0, NULL }
2725 };
2726 
2727 
2728 static int
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_)2729 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_) {
2730   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2731                                   NULL);
2732 
2733   return offset;
2734 }
2735 
2736 
2737 static const value_string qsig_cf_BasicService_vals[] = {
2738   {   0, "allServices" },
2739   {   1, "speech" },
2740   {   2, "unrestrictedDigitalInformation" },
2741   {   3, "audio3100Hz" },
2742   {  32, "telephony" },
2743   {  33, "teletex" },
2744   {  34, "telefaxGroup4Class1" },
2745   {  35, "videotexSyntaxBased" },
2746   {  36, "videotelephony" },
2747   { 0, NULL }
2748 };
2749 
2750 
2751 static int
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_)2752 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_) {
2753   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2754                                   NULL);
2755 
2756   return offset;
2757 }
2758 
2759 
2760 static const ber_sequence_t qsig_cf_SEQUENCE_OF_Extension_sequence_of[1] = {
2761   { &hf_qsig_cf_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
2762 };
2763 
2764 static int
dissect_qsig_cf_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2765 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_) {
2766   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2767                                       qsig_cf_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cf_SEQUENCE_OF_Extension);
2768 
2769   return offset;
2770 }
2771 
2772 
2773 static const value_string qsig_cf_ADExtension_vals[] = {
2774   {   1, "single" },
2775   {   2, "multiple" },
2776   { 0, NULL }
2777 };
2778 
2779 static const ber_choice_t qsig_cf_ADExtension_choice[] = {
2780   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2781   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2782   { 0, NULL, 0, 0, 0, NULL }
2783 };
2784 
2785 static int
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_)2786 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_) {
2787   offset = dissect_ber_choice(actx, tree, tvb, offset,
2788                                  qsig_cf_ADExtension_choice, hf_index, ett_qsig_cf_ADExtension,
2789                                  NULL);
2790 
2791   return offset;
2792 }
2793 
2794 
2795 static const ber_sequence_t qsig_cf_ARG_activateDiversionQ_sequence[] = {
2796   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2797   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2798   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
2799   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2800   { &hf_qsig_cf_activatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2801   { &hf_qsig_cf_extensionAD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_ADExtension },
2802   { NULL, 0, 0, 0, NULL }
2803 };
2804 
2805 static int
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_)2806 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_) {
2807   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2808                                    qsig_cf_ARG_activateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_activateDiversionQ);
2809 
2810   return offset;
2811 }
2812 
2813 
2814 
2815 static int
dissect_qsig_cf_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2816 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_) {
2817   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2818 
2819   return offset;
2820 }
2821 
2822 
2823 static const value_string qsig_cf_RES_activateDiversionQ_vals[] = {
2824   {   0, "null" },
2825   {   1, "single" },
2826   {   2, "multiple" },
2827   { 0, NULL }
2828 };
2829 
2830 static const ber_choice_t qsig_cf_RES_activateDiversionQ_choice[] = {
2831   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2832   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2833   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2834   { 0, NULL, 0, 0, 0, NULL }
2835 };
2836 
2837 static int
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_)2838 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_) {
2839   offset = dissect_ber_choice(actx, tree, tvb, offset,
2840                                  qsig_cf_RES_activateDiversionQ_choice, hf_index, ett_qsig_cf_RES_activateDiversionQ,
2841                                  NULL);
2842 
2843   return offset;
2844 }
2845 
2846 
2847 static const value_string qsig_cf_DDExtension_vals[] = {
2848   {   1, "single" },
2849   {   2, "multiple" },
2850   { 0, NULL }
2851 };
2852 
2853 static const ber_choice_t qsig_cf_DDExtension_choice[] = {
2854   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2855   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2856   { 0, NULL, 0, 0, 0, NULL }
2857 };
2858 
2859 static int
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_)2860 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_) {
2861   offset = dissect_ber_choice(actx, tree, tvb, offset,
2862                                  qsig_cf_DDExtension_choice, hf_index, ett_qsig_cf_DDExtension,
2863                                  NULL);
2864 
2865   return offset;
2866 }
2867 
2868 
2869 static const ber_sequence_t qsig_cf_ARG_deactivateDiversionQ_sequence[] = {
2870   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2871   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2872   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2873   { &hf_qsig_cf_deactivatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2874   { &hf_qsig_cf_extensionDD , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DDExtension },
2875   { NULL, 0, 0, 0, NULL }
2876 };
2877 
2878 static int
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_)2879 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_) {
2880   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2881                                    qsig_cf_ARG_deactivateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_deactivateDiversionQ);
2882 
2883   return offset;
2884 }
2885 
2886 
2887 static const value_string qsig_cf_RES_deactivateDiversionQ_vals[] = {
2888   {   0, "null" },
2889   {   1, "single" },
2890   {   2, "multiple" },
2891   { 0, NULL }
2892 };
2893 
2894 static const ber_choice_t qsig_cf_RES_deactivateDiversionQ_choice[] = {
2895   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2896   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2897   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2898   { 0, NULL, 0, 0, 0, NULL }
2899 };
2900 
2901 static int
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_)2902 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_) {
2903   offset = dissect_ber_choice(actx, tree, tvb, offset,
2904                                  qsig_cf_RES_deactivateDiversionQ_choice, hf_index, ett_qsig_cf_RES_deactivateDiversionQ,
2905                                  NULL);
2906 
2907   return offset;
2908 }
2909 
2910 
2911 static const value_string qsig_cf_IDExtension_vals[] = {
2912   {   1, "single" },
2913   {   2, "multiple" },
2914   { 0, NULL }
2915 };
2916 
2917 static const ber_choice_t qsig_cf_IDExtension_choice[] = {
2918   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2919   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2920   { 0, NULL, 0, 0, 0, NULL }
2921 };
2922 
2923 static int
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_)2924 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_) {
2925   offset = dissect_ber_choice(actx, tree, tvb, offset,
2926                                  qsig_cf_IDExtension_choice, hf_index, ett_qsig_cf_IDExtension,
2927                                  NULL);
2928 
2929   return offset;
2930 }
2931 
2932 
2933 static const ber_sequence_t qsig_cf_ARG_interrogateDiversionQ_sequence[] = {
2934   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
2935   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2936   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2937   { &hf_qsig_cf_interrogatingUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2938   { &hf_qsig_cf_extensionID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IDExtension },
2939   { NULL, 0, 0, 0, NULL }
2940 };
2941 
2942 static int
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_)2943 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_) {
2944   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2945                                    qsig_cf_ARG_interrogateDiversionQ_sequence, hf_index, ett_qsig_cf_ARG_interrogateDiversionQ);
2946 
2947   return offset;
2948 }
2949 
2950 
2951 static const value_string qsig_cf_CHRExtension_vals[] = {
2952   {   1, "single" },
2953   {   2, "multiple" },
2954   { 0, NULL }
2955 };
2956 
2957 static const ber_choice_t qsig_cf_CHRExtension_choice[] = {
2958   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
2959   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
2960   { 0, NULL, 0, 0, 0, NULL }
2961 };
2962 
2963 static int
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_)2964 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_) {
2965   offset = dissect_ber_choice(actx, tree, tvb, offset,
2966                                  qsig_cf_CHRExtension_choice, hf_index, ett_qsig_cf_CHRExtension,
2967                                  NULL);
2968 
2969   return offset;
2970 }
2971 
2972 
2973 static const ber_sequence_t qsig_cf_ARG_checkRestriction_sequence[] = {
2974   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2975   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
2976   { &hf_qsig_cf_divertedToNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
2977   { &hf_qsig_cf_extensionCHR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CHRExtension },
2978   { NULL, 0, 0, 0, NULL }
2979 };
2980 
2981 static int
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_)2982 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_) {
2983   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2984                                    qsig_cf_ARG_checkRestriction_sequence, hf_index, ett_qsig_cf_ARG_checkRestriction);
2985 
2986   return offset;
2987 }
2988 
2989 
2990 static const value_string qsig_cf_RES_checkRestriction_vals[] = {
2991   {   0, "null" },
2992   {   1, "single" },
2993   {   2, "multiple" },
2994   { 0, NULL }
2995 };
2996 
2997 static const ber_choice_t qsig_cf_RES_checkRestriction_choice[] = {
2998   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
2999   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3000   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3001   { 0, NULL, 0, 0, 0, NULL }
3002 };
3003 
3004 static int
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_)3005 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_) {
3006   offset = dissect_ber_choice(actx, tree, tvb, offset,
3007                                  qsig_cf_RES_checkRestriction_choice, hf_index, ett_qsig_cf_RES_checkRestriction,
3008                                  NULL);
3009 
3010   return offset;
3011 }
3012 
3013 
3014 static const value_string qsig_cf_DiversionReason_vals[] = {
3015   {   0, "unknown" },
3016   {   1, "cfu" },
3017   {   2, "cfb" },
3018   {   3, "cfnr" },
3019   { 0, NULL }
3020 };
3021 
3022 
3023 static int
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_)3024 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_) {
3025   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3026                                   NULL);
3027 
3028   return offset;
3029 }
3030 
3031 
3032 
3033 static int
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_)3034 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_) {
3035   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3036                                                 NULL);
3037 
3038   return offset;
3039 }
3040 
3041 
3042 static const value_string qsig_cf_SubscriptionOption_vals[] = {
3043   {   0, "noNotification" },
3044   {   1, "notificationWithoutDivertedToNr" },
3045   {   2, "notificationWithDivertedToNr" },
3046   { 0, NULL }
3047 };
3048 
3049 
3050 static int
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_)3051 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_) {
3052   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3053                                   NULL);
3054 
3055   return offset;
3056 }
3057 
3058 
3059 static const value_string qsig_cf_CRRExtension_vals[] = {
3060   {   9, "single" },
3061   {  10, "multiple" },
3062   { 0, NULL }
3063 };
3064 
3065 static const ber_choice_t qsig_cf_CRRExtension_choice[] = {
3066   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3067   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3068   { 0, NULL, 0, 0, 0, NULL }
3069 };
3070 
3071 static int
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_)3072 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_) {
3073   offset = dissect_ber_choice(actx, tree, tvb, offset,
3074                                  qsig_cf_CRRExtension_choice, hf_index, ett_qsig_cf_CRRExtension,
3075                                  NULL);
3076 
3077   return offset;
3078 }
3079 
3080 
3081 static const ber_sequence_t qsig_cf_ARG_callRerouteing_sequence[] = {
3082   { &hf_qsig_cf_rerouteingReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3083   { &hf_qsig_cf_originalRerouteingReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3084   { &hf_qsig_cf_calledAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3085   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3086   { &hf_qsig_cf_pSS1InfoElement, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3087   { &hf_qsig_cf_lastRerouteingNr, BER_CLASS_CON, 1, 0, dissect_qsig_PresentedNumberUnscreened },
3088   { &hf_qsig_cf_subscriptionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SubscriptionOption },
3089   { &hf_qsig_cf_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
3090   { &hf_qsig_cf_callingNumber, BER_CLASS_CON, 4, 0, dissect_qsig_PresentedNumberScreened },
3091   { &hf_qsig_cf_callingName , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3092   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3093   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3094   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3095   { &hf_qsig_cf_extensionCRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_CRRExtension },
3096   { NULL, 0, 0, 0, NULL }
3097 };
3098 
3099 static int
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_)3100 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_) {
3101   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3102                                    qsig_cf_ARG_callRerouteing_sequence, hf_index, ett_qsig_cf_ARG_callRerouteing);
3103 
3104   return offset;
3105 }
3106 
3107 
3108 static const value_string qsig_cf_RES_callRerouteing_vals[] = {
3109   {   0, "null" },
3110   {   1, "single" },
3111   {   2, "multiple" },
3112   { 0, NULL }
3113 };
3114 
3115 static const ber_choice_t qsig_cf_RES_callRerouteing_choice[] = {
3116   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3117   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3118   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3119   { 0, NULL, 0, 0, 0, NULL }
3120 };
3121 
3122 static int
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_)3123 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_) {
3124   offset = dissect_ber_choice(actx, tree, tvb, offset,
3125                                  qsig_cf_RES_callRerouteing_choice, hf_index, ett_qsig_cf_RES_callRerouteing,
3126                                  NULL);
3127 
3128   return offset;
3129 }
3130 
3131 
3132 static const value_string qsig_cf_DLI1Extension_vals[] = {
3133   {   9, "single" },
3134   {  10, "multiple" },
3135   { 0, NULL }
3136 };
3137 
3138 static const ber_choice_t qsig_cf_DLI1Extension_choice[] = {
3139   {   9, &hf_qsig_cf_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3140   {  10, &hf_qsig_cf_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3141   { 0, NULL, 0, 0, 0, NULL }
3142 };
3143 
3144 static int
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_)3145 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_) {
3146   offset = dissect_ber_choice(actx, tree, tvb, offset,
3147                                  qsig_cf_DLI1Extension_choice, hf_index, ett_qsig_cf_DLI1Extension,
3148                                  NULL);
3149 
3150   return offset;
3151 }
3152 
3153 
3154 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation1_sequence[] = {
3155   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3156   { &hf_qsig_cf_subscriptionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_SubscriptionOption },
3157   { &hf_qsig_cf_nominatedNr , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3158   { &hf_qsig_cf_extensionDLI1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI1Extension },
3159   { NULL, 0, 0, 0, NULL }
3160 };
3161 
3162 static int
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_)3163 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_) {
3164   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3165                                    qsig_cf_ARG_divertingLegInformation1_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation1);
3166 
3167   return offset;
3168 }
3169 
3170 
3171 static const value_string qsig_cf_DLI2Extension_vals[] = {
3172   {   5, "single" },
3173   {   6, "multiple" },
3174   { 0, NULL }
3175 };
3176 
3177 static const ber_choice_t qsig_cf_DLI2Extension_choice[] = {
3178   {   5, &hf_qsig_cf_single      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3179   {   6, &hf_qsig_cf_multiple    , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3180   { 0, NULL, 0, 0, 0, NULL }
3181 };
3182 
3183 static int
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_)3184 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_) {
3185   offset = dissect_ber_choice(actx, tree, tvb, offset,
3186                                  qsig_cf_DLI2Extension_choice, hf_index, ett_qsig_cf_DLI2Extension,
3187                                  NULL);
3188 
3189   return offset;
3190 }
3191 
3192 
3193 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation2_sequence[] = {
3194   { &hf_qsig_cf_diversionCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_INTEGER_1_15 },
3195   { &hf_qsig_cf_diversionReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_DiversionReason },
3196   { &hf_qsig_cf_originalDiversionReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cf_DiversionReason },
3197   { &hf_qsig_cf_divertingNr , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3198   { &hf_qsig_cf_originalCalledNr, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedNumberUnscreened },
3199   { &hf_qsig_cf_redirectingName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3200   { &hf_qsig_cf_originalCalledName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3201   { &hf_qsig_cf_extensionDLI2, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI2Extension },
3202   { NULL, 0, 0, 0, NULL }
3203 };
3204 
3205 static int
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_)3206 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_) {
3207   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3208                                    qsig_cf_ARG_divertingLegInformation2_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation2);
3209 
3210   return offset;
3211 }
3212 
3213 
3214 static const value_string qsig_cf_DLI3Extension_vals[] = {
3215   {   1, "single" },
3216   {   2, "multiple" },
3217   { 0, NULL }
3218 };
3219 
3220 static const ber_choice_t qsig_cf_DLI3Extension_choice[] = {
3221   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3222   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3223   { 0, NULL, 0, 0, 0, NULL }
3224 };
3225 
3226 static int
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_)3227 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_) {
3228   offset = dissect_ber_choice(actx, tree, tvb, offset,
3229                                  qsig_cf_DLI3Extension_choice, hf_index, ett_qsig_cf_DLI3Extension,
3230                                  NULL);
3231 
3232   return offset;
3233 }
3234 
3235 
3236 static const ber_sequence_t qsig_cf_ARG_divertingLegInformation3_sequence[] = {
3237   { &hf_qsig_cf_presentationAllowedIndicator, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentationAllowedIndicator },
3238   { &hf_qsig_cf_redirectionName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
3239   { &hf_qsig_cf_extensionDLI3, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_DLI3Extension },
3240   { NULL, 0, 0, 0, NULL }
3241 };
3242 
3243 static int
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_)3244 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_) {
3245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3246                                    qsig_cf_ARG_divertingLegInformation3_sequence, hf_index, ett_qsig_cf_ARG_divertingLegInformation3);
3247 
3248   return offset;
3249 }
3250 
3251 
3252 static const value_string qsig_cf_ARG_cfnrDivertedLegFailed_vals[] = {
3253   {   0, "null" },
3254   {   1, "single" },
3255   {   2, "multiple" },
3256   { 0, NULL }
3257 };
3258 
3259 static const ber_choice_t qsig_cf_ARG_cfnrDivertedLegFailed_choice[] = {
3260   {   0, &hf_qsig_cf_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_NULL },
3261   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3262   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3263   { 0, NULL, 0, 0, 0, NULL }
3264 };
3265 
3266 static int
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_)3267 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_) {
3268   offset = dissect_ber_choice(actx, tree, tvb, offset,
3269                                  qsig_cf_ARG_cfnrDivertedLegFailed_choice, hf_index, ett_qsig_cf_ARG_cfnrDivertedLegFailed,
3270                                  NULL);
3271 
3272   return offset;
3273 }
3274 
3275 
3276 
3277 static int
dissect_qsig_cf_BOOLEAN(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3278 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_) {
3279   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
3280 
3281   return offset;
3282 }
3283 
3284 
3285 static const value_string qsig_cf_IRExtension_vals[] = {
3286   {   1, "single" },
3287   {   2, "multiple" },
3288   { 0, NULL }
3289 };
3290 
3291 static const ber_choice_t qsig_cf_IRExtension_choice[] = {
3292   {   1, &hf_qsig_cf_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3293   {   2, &hf_qsig_cf_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_cf_SEQUENCE_OF_Extension },
3294   { 0, NULL, 0, 0, 0, NULL }
3295 };
3296 
3297 static int
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_)3298 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_) {
3299   offset = dissect_ber_choice(actx, tree, tvb, offset,
3300                                  qsig_cf_IRExtension_choice, hf_index, ett_qsig_cf_IRExtension,
3301                                  NULL);
3302 
3303   return offset;
3304 }
3305 
3306 
3307 static const ber_sequence_t qsig_cf_IntResult_sequence[] = {
3308   { &hf_qsig_cf_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3309   { &hf_qsig_cf_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
3310   { &hf_qsig_cf_procedure   , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_Procedure },
3311   { &hf_qsig_cf_divertedToAddress, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Address },
3312   { &hf_qsig_cf_remoteEnabled, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BOOLEAN },
3313   { &hf_qsig_cf_extensionIR , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cf_IRExtension },
3314   { NULL, 0, 0, 0, NULL }
3315 };
3316 
3317 static int
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_)3318 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_) {
3319   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3320                                    qsig_cf_IntResult_sequence, hf_index, ett_qsig_cf_IntResult);
3321 
3322   return offset;
3323 }
3324 
3325 
3326 static const ber_sequence_t qsig_cf_IntResultList_set_of[1] = {
3327   { &hf_qsig_cf_IntResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_IntResult },
3328 };
3329 
3330 static int
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_)3331 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_) {
3332   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3333                                  qsig_cf_IntResultList_set_of, hf_index, ett_qsig_cf_IntResultList);
3334 
3335   return offset;
3336 }
3337 
3338 /*--- PDUs ---*/
3339 
dissect_qsig_cf_ARG_activateDiversionQ_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3340 static int dissect_qsig_cf_ARG_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3341   int offset = 0;
3342   asn1_ctx_t asn1_ctx;
3343   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3344   offset = dissect_qsig_cf_ARG_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU);
3345   return offset;
3346 }
dissect_qsig_cf_RES_activateDiversionQ_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3347 static int dissect_qsig_cf_RES_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3348   int offset = 0;
3349   asn1_ctx_t asn1_ctx;
3350   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3351   offset = dissect_qsig_cf_RES_activateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU);
3352   return offset;
3353 }
dissect_qsig_cf_ARG_deactivateDiversionQ_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3354 static int dissect_qsig_cf_ARG_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3355   int offset = 0;
3356   asn1_ctx_t asn1_ctx;
3357   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3358   offset = dissect_qsig_cf_ARG_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU);
3359   return offset;
3360 }
dissect_qsig_cf_RES_deactivateDiversionQ_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3361 static int dissect_qsig_cf_RES_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3362   int offset = 0;
3363   asn1_ctx_t asn1_ctx;
3364   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3365   offset = dissect_qsig_cf_RES_deactivateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU);
3366   return offset;
3367 }
dissect_qsig_cf_ARG_interrogateDiversionQ_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3368 static int dissect_qsig_cf_ARG_interrogateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3369   int offset = 0;
3370   asn1_ctx_t asn1_ctx;
3371   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3372   offset = dissect_qsig_cf_ARG_interrogateDiversionQ(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU);
3373   return offset;
3374 }
dissect_qsig_cf_IntResultList_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3375 static int dissect_qsig_cf_IntResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3376   int offset = 0;
3377   asn1_ctx_t asn1_ctx;
3378   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3379   offset = dissect_qsig_cf_IntResultList(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_IntResultList_PDU);
3380   return offset;
3381 }
dissect_qsig_cf_ARG_checkRestriction_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3382 static int dissect_qsig_cf_ARG_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3383   int offset = 0;
3384   asn1_ctx_t asn1_ctx;
3385   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3386   offset = dissect_qsig_cf_ARG_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU);
3387   return offset;
3388 }
dissect_qsig_cf_RES_checkRestriction_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3389 static int dissect_qsig_cf_RES_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3390   int offset = 0;
3391   asn1_ctx_t asn1_ctx;
3392   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3393   offset = dissect_qsig_cf_RES_checkRestriction(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU);
3394   return offset;
3395 }
dissect_qsig_cf_ARG_callRerouteing_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3396 static int dissect_qsig_cf_ARG_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3397   int offset = 0;
3398   asn1_ctx_t asn1_ctx;
3399   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3400   offset = dissect_qsig_cf_ARG_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU);
3401   return offset;
3402 }
dissect_qsig_cf_RES_callRerouteing_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3403 static int dissect_qsig_cf_RES_callRerouteing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3404   int offset = 0;
3405   asn1_ctx_t asn1_ctx;
3406   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3407   offset = dissect_qsig_cf_RES_callRerouteing(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU);
3408   return offset;
3409 }
dissect_qsig_cf_ARG_divertingLegInformation1_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3410 static int dissect_qsig_cf_ARG_divertingLegInformation1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3411   int offset = 0;
3412   asn1_ctx_t asn1_ctx;
3413   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3414   offset = dissect_qsig_cf_ARG_divertingLegInformation1(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU);
3415   return offset;
3416 }
dissect_qsig_cf_ARG_divertingLegInformation2_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3417 static int dissect_qsig_cf_ARG_divertingLegInformation2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3418   int offset = 0;
3419   asn1_ctx_t asn1_ctx;
3420   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3421   offset = dissect_qsig_cf_ARG_divertingLegInformation2(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU);
3422   return offset;
3423 }
dissect_qsig_cf_ARG_divertingLegInformation3_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3424 static int dissect_qsig_cf_ARG_divertingLegInformation3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3425   int offset = 0;
3426   asn1_ctx_t asn1_ctx;
3427   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3428   offset = dissect_qsig_cf_ARG_divertingLegInformation3(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU);
3429   return offset;
3430 }
dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3431 static int dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3432   int offset = 0;
3433   asn1_ctx_t asn1_ctx;
3434   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3435   offset = dissect_qsig_cf_ARG_cfnrDivertedLegFailed(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU);
3436   return offset;
3437 }
dissect_qsig_cf_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3438 static int dissect_qsig_cf_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3439   int offset = 0;
3440   asn1_ctx_t asn1_ctx;
3441   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3442   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cf_qsig_cf_Extension_PDU);
3443   return offset;
3444 }
3445 
3446 
3447 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
3448 
3449 
3450 
3451 static int
dissect_qsig_pr_CallIdentity(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3452 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_) {
3453   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3454                                             actx, tree, tvb, offset, hf_index,
3455                                             NULL);
3456 
3457   return offset;
3458 }
3459 
3460 
3461 static const ber_sequence_t qsig_pr_SEQUENCE_OF_Extension_sequence_of[1] = {
3462   { &hf_qsig_pr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3463 };
3464 
3465 static int
dissect_qsig_pr_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3466 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_) {
3467   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3468                                       qsig_pr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_pr_SEQUENCE_OF_Extension);
3469 
3470   return offset;
3471 }
3472 
3473 
3474 static const value_string qsig_pr_PRPExtension_vals[] = {
3475   {   1, "single" },
3476   {   2, "multiple" },
3477   { 0, NULL }
3478 };
3479 
3480 static const ber_choice_t qsig_pr_PRPExtension_choice[] = {
3481   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3482   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3483   { 0, NULL, 0, 0, 0, NULL }
3484 };
3485 
3486 static int
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_)3487 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_) {
3488   offset = dissect_ber_choice(actx, tree, tvb, offset,
3489                                  qsig_pr_PRPExtension_choice, hf_index, ett_qsig_pr_PRPExtension,
3490                                  NULL);
3491 
3492   return offset;
3493 }
3494 
3495 
3496 static const ber_sequence_t qsig_pr_PRProposeArg_sequence[] = {
3497   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3498   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3499   { &hf_qsig_pr_extensionPRP, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRPExtension },
3500   { NULL, 0, 0, 0, NULL }
3501 };
3502 
3503 static int
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_)3504 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_) {
3505   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3506                                    qsig_pr_PRProposeArg_sequence, hf_index, ett_qsig_pr_PRProposeArg);
3507 
3508   return offset;
3509 }
3510 
3511 
3512 static const value_string qsig_pr_PRSExtension_vals[] = {
3513   {   1, "single" },
3514   {   2, "multiple" },
3515   { 0, NULL }
3516 };
3517 
3518 static const ber_choice_t qsig_pr_PRSExtension_choice[] = {
3519   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3520   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3521   { 0, NULL, 0, 0, 0, NULL }
3522 };
3523 
3524 static int
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_)3525 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_) {
3526   offset = dissect_ber_choice(actx, tree, tvb, offset,
3527                                  qsig_pr_PRSExtension_choice, hf_index, ett_qsig_pr_PRSExtension,
3528                                  NULL);
3529 
3530   return offset;
3531 }
3532 
3533 
3534 static const ber_sequence_t qsig_pr_PRSetupArg_sequence[] = {
3535   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3536   { &hf_qsig_pr_extensionPRS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRSExtension },
3537   { NULL, 0, 0, 0, NULL }
3538 };
3539 
3540 static int
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_)3541 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_) {
3542   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3543                                    qsig_pr_PRSetupArg_sequence, hf_index, ett_qsig_pr_PRSetupArg);
3544 
3545   return offset;
3546 }
3547 
3548 
3549 static const value_string qsig_pr_PRRExtension_vals[] = {
3550   {   1, "single" },
3551   {   2, "multiple" },
3552   { 0, NULL }
3553 };
3554 
3555 static const ber_choice_t qsig_pr_PRRExtension_choice[] = {
3556   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3557   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3558   { 0, NULL, 0, 0, 0, NULL }
3559 };
3560 
3561 static int
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_)3562 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_) {
3563   offset = dissect_ber_choice(actx, tree, tvb, offset,
3564                                  qsig_pr_PRRExtension_choice, hf_index, ett_qsig_pr_PRRExtension,
3565                                  NULL);
3566 
3567   return offset;
3568 }
3569 
3570 
3571 static const ber_sequence_t qsig_pr_PRRetainArg_sequence[] = {
3572   { &hf_qsig_pr_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
3573   { &hf_qsig_pr_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3574   { &hf_qsig_pr_extensionPRR, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_pr_PRRExtension },
3575   { NULL, 0, 0, 0, NULL }
3576 };
3577 
3578 static int
dissect_qsig_pr_PRRetainArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3579 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_) {
3580   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3581                                    qsig_pr_PRRetainArg_sequence, hf_index, ett_qsig_pr_PRRetainArg);
3582 
3583   return offset;
3584 }
3585 
3586 
3587 
3588 static int
dissect_qsig_pr_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3589 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_) {
3590   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3591 
3592   return offset;
3593 }
3594 
3595 
3596 static const value_string qsig_pr_DummyResult_vals[] = {
3597   {   0, "null" },
3598   {   1, "single" },
3599   {   2, "multiple" },
3600   { 0, NULL }
3601 };
3602 
3603 static const ber_choice_t qsig_pr_DummyResult_choice[] = {
3604   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3605   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3606   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3607   { 0, NULL, 0, 0, 0, NULL }
3608 };
3609 
3610 static int
dissect_qsig_pr_DummyResult(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3611 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_) {
3612   offset = dissect_ber_choice(actx, tree, tvb, offset,
3613                                  qsig_pr_DummyResult_choice, hf_index, ett_qsig_pr_DummyResult,
3614                                  NULL);
3615 
3616   return offset;
3617 }
3618 
3619 
3620 static const value_string qsig_pr_DummyArg_vals[] = {
3621   {   0, "null" },
3622   {   1, "single" },
3623   {   2, "multiple" },
3624   { 0, NULL }
3625 };
3626 
3627 static const ber_choice_t qsig_pr_DummyArg_choice[] = {
3628   {   0, &hf_qsig_pr_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_NULL },
3629   {   1, &hf_qsig_pr_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3630   {   2, &hf_qsig_pr_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_pr_SEQUENCE_OF_Extension },
3631   { 0, NULL, 0, 0, 0, NULL }
3632 };
3633 
3634 static int
dissect_qsig_pr_DummyArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3635 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_) {
3636   offset = dissect_ber_choice(actx, tree, tvb, offset,
3637                                  qsig_pr_DummyArg_choice, hf_index, ett_qsig_pr_DummyArg,
3638                                  NULL);
3639 
3640   return offset;
3641 }
3642 
3643 /*--- PDUs ---*/
3644 
dissect_qsig_pr_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3645 static int dissect_qsig_pr_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3646   int offset = 0;
3647   asn1_ctx_t asn1_ctx;
3648   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3649   offset = dissect_qsig_pr_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyArg_PDU);
3650   return offset;
3651 }
dissect_qsig_pr_PRProposeArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3652 static int dissect_qsig_pr_PRProposeArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3653   int offset = 0;
3654   asn1_ctx_t asn1_ctx;
3655   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3656   offset = dissect_qsig_pr_PRProposeArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRProposeArg_PDU);
3657   return offset;
3658 }
dissect_qsig_pr_PRSetupArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3659 static int dissect_qsig_pr_PRSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3660   int offset = 0;
3661   asn1_ctx_t asn1_ctx;
3662   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3663   offset = dissect_qsig_pr_PRSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRSetupArg_PDU);
3664   return offset;
3665 }
dissect_qsig_pr_DummyResult_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3666 static int dissect_qsig_pr_DummyResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3667   int offset = 0;
3668   asn1_ctx_t asn1_ctx;
3669   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3670   offset = dissect_qsig_pr_DummyResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_DummyResult_PDU);
3671   return offset;
3672 }
dissect_qsig_pr_PRRetainArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3673 static int dissect_qsig_pr_PRRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3674   int offset = 0;
3675   asn1_ctx_t asn1_ctx;
3676   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3677   offset = dissect_qsig_pr_PRRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_PRRetainArg_PDU);
3678   return offset;
3679 }
dissect_qsig_pr_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)3680 static int dissect_qsig_pr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3681   int offset = 0;
3682   asn1_ctx_t asn1_ctx;
3683   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3684   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_pr_qsig_pr_Extension_PDU);
3685   return offset;
3686 }
3687 
3688 
3689 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
3690 
3691 
3692 
3693 static int
dissect_qsig_ct_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3694 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_) {
3695   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3696 
3697   return offset;
3698 }
3699 
3700 
3701 static const ber_sequence_t qsig_ct_SEQUENCE_OF_Extension_sequence_of[1] = {
3702   { &hf_qsig_ct_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
3703 };
3704 
3705 static int
dissect_qsig_ct_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3706 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_) {
3707   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3708                                       qsig_ct_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_ct_SEQUENCE_OF_Extension);
3709 
3710   return offset;
3711 }
3712 
3713 
3714 static const value_string qsig_ct_DummyArg_vals[] = {
3715   {   0, "null" },
3716   {   1, "single" },
3717   {   2, "multiple" },
3718   { 0, NULL }
3719 };
3720 
3721 static const ber_choice_t qsig_ct_DummyArg_choice[] = {
3722   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3723   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3724   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3725   { 0, NULL, 0, 0, 0, NULL }
3726 };
3727 
3728 static int
dissect_qsig_ct_DummyArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3729 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_) {
3730   offset = dissect_ber_choice(actx, tree, tvb, offset,
3731                                  qsig_ct_DummyArg_choice, hf_index, ett_qsig_ct_DummyArg,
3732                                  NULL);
3733 
3734   return offset;
3735 }
3736 
3737 
3738 static const value_string qsig_ct_DummyRes_vals[] = {
3739   {   0, "null" },
3740   {   1, "single" },
3741   {   2, "multiple" },
3742   { 0, NULL }
3743 };
3744 
3745 static const ber_choice_t qsig_ct_DummyRes_choice[] = {
3746   {   0, &hf_qsig_ct_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_NULL },
3747   {   1, &hf_qsig_ct_single      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3748   {   2, &hf_qsig_ct_multiple    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3749   { 0, NULL, 0, 0, 0, NULL }
3750 };
3751 
3752 static int
dissect_qsig_ct_DummyRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3753 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_) {
3754   offset = dissect_ber_choice(actx, tree, tvb, offset,
3755                                  qsig_ct_DummyRes_choice, hf_index, ett_qsig_ct_DummyRes,
3756                                  NULL);
3757 
3758   return offset;
3759 }
3760 
3761 
3762 
3763 static int
dissect_qsig_ct_CallIdentity(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3764 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_) {
3765   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
3766                                             actx, tree, tvb, offset, hf_index,
3767                                             NULL);
3768 
3769   return offset;
3770 }
3771 
3772 
3773 static const value_string qsig_ct_T_resultExtension_vals[] = {
3774   {   6, "single" },
3775   {   7, "multiple" },
3776   { 0, NULL }
3777 };
3778 
3779 static const ber_choice_t qsig_ct_T_resultExtension_choice[] = {
3780   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3781   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3782   { 0, NULL, 0, 0, 0, NULL }
3783 };
3784 
3785 static int
dissect_qsig_ct_T_resultExtension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3786 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_) {
3787   offset = dissect_ber_choice(actx, tree, tvb, offset,
3788                                  qsig_ct_T_resultExtension_choice, hf_index, ett_qsig_ct_T_resultExtension,
3789                                  NULL);
3790 
3791   return offset;
3792 }
3793 
3794 
3795 static const ber_sequence_t qsig_ct_CTIdentifyRes_sequence[] = {
3796   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3797   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3798   { &hf_qsig_ct_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_T_resultExtension },
3799   { NULL, 0, 0, 0, NULL }
3800 };
3801 
3802 static int
dissect_qsig_ct_CTIdentifyRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3803 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_) {
3804   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3805                                    qsig_ct_CTIdentifyRes_sequence, hf_index, ett_qsig_ct_CTIdentifyRes);
3806 
3807   return offset;
3808 }
3809 
3810 
3811 static const value_string qsig_ct_CTIargumentExtension_vals[] = {
3812   {   6, "single" },
3813   {   7, "multiple" },
3814   { 0, NULL }
3815 };
3816 
3817 static const ber_choice_t qsig_ct_CTIargumentExtension_choice[] = {
3818   {   6, &hf_qsig_ct_single      , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3819   {   7, &hf_qsig_ct_multiple    , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3820   { 0, NULL, 0, 0, 0, NULL }
3821 };
3822 
3823 static int
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_)3824 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_) {
3825   offset = dissect_ber_choice(actx, tree, tvb, offset,
3826                                  qsig_ct_CTIargumentExtension_choice, hf_index, ett_qsig_ct_CTIargumentExtension,
3827                                  NULL);
3828 
3829   return offset;
3830 }
3831 
3832 
3833 static const ber_sequence_t qsig_ct_CTInitiateArg_sequence[] = {
3834   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3835   { &hf_qsig_ct_rerouteingNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
3836   { &hf_qsig_ct_argumentExtensionCTI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTIargumentExtension },
3837   { NULL, 0, 0, 0, NULL }
3838 };
3839 
3840 static int
dissect_qsig_ct_CTInitiateArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3841 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_) {
3842   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3843                                    qsig_ct_CTInitiateArg_sequence, hf_index, ett_qsig_ct_CTInitiateArg);
3844 
3845   return offset;
3846 }
3847 
3848 
3849 static const value_string qsig_ct_CTSargumentExtension_vals[] = {
3850   {   0, "single" },
3851   {   1, "multiple" },
3852   { 0, NULL }
3853 };
3854 
3855 static const ber_choice_t qsig_ct_CTSargumentExtension_choice[] = {
3856   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3857   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3858   { 0, NULL, 0, 0, 0, NULL }
3859 };
3860 
3861 static int
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_)3862 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_) {
3863   offset = dissect_ber_choice(actx, tree, tvb, offset,
3864                                  qsig_ct_CTSargumentExtension_choice, hf_index, ett_qsig_ct_CTSargumentExtension,
3865                                  NULL);
3866 
3867   return offset;
3868 }
3869 
3870 
3871 static const ber_sequence_t qsig_ct_CTSetupArg_sequence[] = {
3872   { &hf_qsig_ct_callIdentity, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallIdentity },
3873   { &hf_qsig_ct_argumentExtensionCTS, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTSargumentExtension },
3874   { NULL, 0, 0, 0, NULL }
3875 };
3876 
3877 static int
dissect_qsig_ct_CTSetupArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3878 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_) {
3879   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3880                                    qsig_ct_CTSetupArg_sequence, hf_index, ett_qsig_ct_CTSetupArg);
3881 
3882   return offset;
3883 }
3884 
3885 
3886 static const value_string qsig_ct_CTAargumentExtension_vals[] = {
3887   {   9, "single" },
3888   {  10, "multiple" },
3889   { 0, NULL }
3890 };
3891 
3892 static const ber_choice_t qsig_ct_CTAargumentExtension_choice[] = {
3893   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3894   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3895   { 0, NULL, 0, 0, 0, NULL }
3896 };
3897 
3898 static int
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_)3899 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_) {
3900   offset = dissect_ber_choice(actx, tree, tvb, offset,
3901                                  qsig_ct_CTAargumentExtension_choice, hf_index, ett_qsig_ct_CTAargumentExtension,
3902                                  NULL);
3903 
3904   return offset;
3905 }
3906 
3907 
3908 static const ber_sequence_t qsig_ct_CTActiveArg_sequence[] = {
3909   { &hf_qsig_ct_connectedAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressScreened },
3910   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3911   { &hf_qsig_ct_connectedName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3912   { &hf_qsig_ct_argumentExtensionCTA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTAargumentExtension },
3913   { NULL, 0, 0, 0, NULL }
3914 };
3915 
3916 static int
dissect_qsig_ct_CTActiveArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3917 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_) {
3918   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3919                                    qsig_ct_CTActiveArg_sequence, hf_index, ett_qsig_ct_CTActiveArg);
3920 
3921   return offset;
3922 }
3923 
3924 
3925 static const value_string qsig_ct_EndDesignation_vals[] = {
3926   {   0, "primaryEnd" },
3927   {   1, "secondaryEnd" },
3928   { 0, NULL }
3929 };
3930 
3931 
3932 static int
dissect_qsig_ct_EndDesignation(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3933 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_) {
3934   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3935                                   NULL);
3936 
3937   return offset;
3938 }
3939 
3940 
3941 static const value_string qsig_ct_CallStatus_vals[] = {
3942   {   0, "answered" },
3943   {   1, "alerting" },
3944   { 0, NULL }
3945 };
3946 
3947 
3948 static int
dissect_qsig_ct_CallStatus(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3949 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_) {
3950   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3951                                   NULL);
3952 
3953   return offset;
3954 }
3955 
3956 
3957 static const value_string qsig_ct_CTCargumentExtension_vals[] = {
3958   {   9, "single" },
3959   {  10, "multiple" },
3960   { 0, NULL }
3961 };
3962 
3963 static const ber_choice_t qsig_ct_CTCargumentExtension_choice[] = {
3964   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
3965   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
3966   { 0, NULL, 0, 0, 0, NULL }
3967 };
3968 
3969 static int
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_)3970 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_) {
3971   offset = dissect_ber_choice(actx, tree, tvb, offset,
3972                                  qsig_ct_CTCargumentExtension_choice, hf_index, ett_qsig_ct_CTCargumentExtension,
3973                                  NULL);
3974 
3975   return offset;
3976 }
3977 
3978 
3979 static const ber_sequence_t qsig_ct_CTCompleteArg_sequence[] = {
3980   { &hf_qsig_ct_endDesignation, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_ct_EndDesignation },
3981   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
3982   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
3983   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
3984   { &hf_qsig_ct_callStatus  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_ct_CallStatus },
3985   { &hf_qsig_ct_argumentExtensionCTC, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTCargumentExtension },
3986   { NULL, 0, 0, 0, NULL }
3987 };
3988 
3989 static int
dissect_qsig_ct_CTCompleteArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3990 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_) {
3991   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3992                                    qsig_ct_CTCompleteArg_sequence, hf_index, ett_qsig_ct_CTCompleteArg);
3993 
3994   return offset;
3995 }
3996 
3997 
3998 static const value_string qsig_ct_CTUargumentExtension_vals[] = {
3999   {   9, "single" },
4000   {  10, "multiple" },
4001   { 0, NULL }
4002 };
4003 
4004 static const ber_choice_t qsig_ct_CTUargumentExtension_choice[] = {
4005   {   9, &hf_qsig_ct_single      , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4006   {  10, &hf_qsig_ct_multiple    , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
4007   { 0, NULL, 0, 0, 0, NULL }
4008 };
4009 
4010 static int
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_)4011 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_) {
4012   offset = dissect_ber_choice(actx, tree, tvb, offset,
4013                                  qsig_ct_CTUargumentExtension_choice, hf_index, ett_qsig_ct_CTUargumentExtension,
4014                                  NULL);
4015 
4016   return offset;
4017 }
4018 
4019 
4020 static const ber_sequence_t qsig_ct_CTUpdateArg_sequence[] = {
4021   { &hf_qsig_ct_redirectionNumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberScreened },
4022   { &hf_qsig_ct_redirectionName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
4023   { &hf_qsig_ct_basicCallInfoElements, BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4024   { &hf_qsig_ct_argumentExtensionCTU, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_CTUargumentExtension },
4025   { NULL, 0, 0, 0, NULL }
4026 };
4027 
4028 static int
dissect_qsig_ct_CTUpdateArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4029 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_) {
4030   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4031                                    qsig_ct_CTUpdateArg_sequence, hf_index, ett_qsig_ct_CTUpdateArg);
4032 
4033   return offset;
4034 }
4035 
4036 
4037 static const value_string qsig_ct_STargumentExtension_vals[] = {
4038   {   0, "single" },
4039   {   1, "multiple" },
4040   { 0, NULL }
4041 };
4042 
4043 static const ber_choice_t qsig_ct_STargumentExtension_choice[] = {
4044   {   0, &hf_qsig_ct_single      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4045   {   1, &hf_qsig_ct_multiple    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_ct_SEQUENCE_OF_Extension },
4046   { 0, NULL, 0, 0, 0, NULL }
4047 };
4048 
4049 static int
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_)4050 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_) {
4051   offset = dissect_ber_choice(actx, tree, tvb, offset,
4052                                  qsig_ct_STargumentExtension_choice, hf_index, ett_qsig_ct_STargumentExtension,
4053                                  NULL);
4054 
4055   return offset;
4056 }
4057 
4058 
4059 static const ber_sequence_t qsig_ct_SubaddressTransferArg_sequence[] = {
4060   { &hf_qsig_ct_redirectionSubaddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartySubaddress },
4061   { &hf_qsig_ct_argumentExtensionST, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_ct_STargumentExtension },
4062   { NULL, 0, 0, 0, NULL }
4063 };
4064 
4065 static int
dissect_qsig_ct_SubaddressTransferArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4066 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_) {
4067   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4068                                    qsig_ct_SubaddressTransferArg_sequence, hf_index, ett_qsig_ct_SubaddressTransferArg);
4069 
4070   return offset;
4071 }
4072 
4073 /*--- PDUs ---*/
4074 
dissect_qsig_ct_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4075 static int dissect_qsig_ct_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4076   int offset = 0;
4077   asn1_ctx_t asn1_ctx;
4078   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4079   offset = dissect_qsig_ct_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyArg_PDU);
4080   return offset;
4081 }
dissect_qsig_ct_CTIdentifyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4082 static int dissect_qsig_ct_CTIdentifyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4083   int offset = 0;
4084   asn1_ctx_t asn1_ctx;
4085   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4086   offset = dissect_qsig_ct_CTIdentifyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU);
4087   return offset;
4088 }
dissect_qsig_ct_CTInitiateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4089 static int dissect_qsig_ct_CTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4090   int offset = 0;
4091   asn1_ctx_t asn1_ctx;
4092   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4093   offset = dissect_qsig_ct_CTInitiateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTInitiateArg_PDU);
4094   return offset;
4095 }
dissect_qsig_ct_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4096 static int dissect_qsig_ct_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4097   int offset = 0;
4098   asn1_ctx_t asn1_ctx;
4099   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4100   offset = dissect_qsig_ct_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_DummyRes_PDU);
4101   return offset;
4102 }
dissect_qsig_ct_CTSetupArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4103 static int dissect_qsig_ct_CTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4104   int offset = 0;
4105   asn1_ctx_t asn1_ctx;
4106   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4107   offset = dissect_qsig_ct_CTSetupArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTSetupArg_PDU);
4108   return offset;
4109 }
dissect_qsig_ct_CTActiveArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4110 static int dissect_qsig_ct_CTActiveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4111   int offset = 0;
4112   asn1_ctx_t asn1_ctx;
4113   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4114   offset = dissect_qsig_ct_CTActiveArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTActiveArg_PDU);
4115   return offset;
4116 }
dissect_qsig_ct_CTCompleteArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4117 static int dissect_qsig_ct_CTCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4118   int offset = 0;
4119   asn1_ctx_t asn1_ctx;
4120   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4121   offset = dissect_qsig_ct_CTCompleteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTCompleteArg_PDU);
4122   return offset;
4123 }
dissect_qsig_ct_CTUpdateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4124 static int dissect_qsig_ct_CTUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4125   int offset = 0;
4126   asn1_ctx_t asn1_ctx;
4127   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4128   offset = dissect_qsig_ct_CTUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_CTUpdateArg_PDU);
4129   return offset;
4130 }
dissect_qsig_ct_SubaddressTransferArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4131 static int dissect_qsig_ct_SubaddressTransferArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4132   int offset = 0;
4133   asn1_ctx_t asn1_ctx;
4134   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4135   offset = dissect_qsig_ct_SubaddressTransferArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU);
4136   return offset;
4137 }
dissect_qsig_ct_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4138 static int dissect_qsig_ct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4139   int offset = 0;
4140   asn1_ctx_t asn1_ctx;
4141   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4142   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_ct_qsig_ct_Extension_PDU);
4143   return offset;
4144 }
4145 
4146 
4147 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
4148 
4149 
4150 
4151 static int
dissect_qsig_cc_BOOLEAN(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4152 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_) {
4153   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
4154 
4155   return offset;
4156 }
4157 
4158 
4159 
4160 static int
dissect_qsig_cc_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4161 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_) {
4162   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4163 
4164   return offset;
4165 }
4166 
4167 
4168 static const ber_sequence_t qsig_cc_SEQUENCE_OF_Extension_sequence_of[1] = {
4169   { &hf_qsig_cc_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4170 };
4171 
4172 static int
dissect_qsig_cc_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4173 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_) {
4174   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4175                                       qsig_cc_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_cc_SEQUENCE_OF_Extension);
4176 
4177   return offset;
4178 }
4179 
4180 
4181 static const value_string qsig_cc_CcExtension_vals[] = {
4182   {   0, "none" },
4183   {   1, "single" },
4184   {   2, "multiple" },
4185   { 0, NULL }
4186 };
4187 
4188 static const ber_choice_t qsig_cc_CcExtension_choice[] = {
4189   {   0, &hf_qsig_cc_none        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_NULL },
4190   {   1, &hf_qsig_cc_single      , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4191   {   2, &hf_qsig_cc_multiple    , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_qsig_cc_SEQUENCE_OF_Extension },
4192   { 0, NULL, 0, 0, 0, NULL }
4193 };
4194 
4195 static int
dissect_qsig_cc_CcExtension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4196 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_) {
4197   offset = dissect_ber_choice(actx, tree, tvb, offset,
4198                                  qsig_cc_CcExtension_choice, hf_index, ett_qsig_cc_CcExtension,
4199                                  NULL);
4200 
4201   return offset;
4202 }
4203 
4204 
4205 static const ber_sequence_t qsig_cc_CcRequestArg_sequence[] = {
4206   { &hf_qsig_cc_numberA     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedNumberUnscreened },
4207   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4208   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4209   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4210   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4211   { &hf_qsig_cc_can_retain_service, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4212   { &hf_qsig_cc_retain_sig_connection, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4213   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4214   { NULL, 0, 0, 0, NULL }
4215 };
4216 
4217 static int
dissect_qsig_cc_CcRequestArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4218 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_) {
4219   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4220                                    qsig_cc_CcRequestArg_sequence, hf_index, ett_qsig_cc_CcRequestArg);
4221 
4222   return offset;
4223 }
4224 
4225 
4226 static const ber_sequence_t qsig_cc_CcRequestRes_sequence[] = {
4227   { &hf_qsig_cc_no_path_reservation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4228   { &hf_qsig_cc_retain_service, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_cc_BOOLEAN },
4229   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4230   { NULL, 0, 0, 0, NULL }
4231 };
4232 
4233 static int
dissect_qsig_cc_CcRequestRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4234 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_) {
4235   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4236                                    qsig_cc_CcRequestRes_sequence, hf_index, ett_qsig_cc_CcRequestRes);
4237 
4238   return offset;
4239 }
4240 
4241 
4242 static const ber_sequence_t qsig_cc_T_fullArg_sequence[] = {
4243   { &hf_qsig_cc_numberA_01  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4244   { &hf_qsig_cc_numberB     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4245   { &hf_qsig_cc_service     , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_qsig_PSS1InformationElement },
4246   { &hf_qsig_cc_subaddrA    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4247   { &hf_qsig_cc_subaddrB    , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_qsig_PartySubaddress },
4248   { &hf_qsig_cc_extension   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_cc_CcExtension },
4249   { NULL, 0, 0, 0, NULL }
4250 };
4251 
4252 static int
dissect_qsig_cc_T_fullArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4253 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_) {
4254   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4255                                    qsig_cc_T_fullArg_sequence, hf_index, ett_qsig_cc_T_fullArg);
4256 
4257   return offset;
4258 }
4259 
4260 
4261 static const value_string qsig_cc_CcOptionalArg_vals[] = {
4262   {   0, "fullArg" },
4263   {   1, "extArg" },
4264   { 0, NULL }
4265 };
4266 
4267 static const ber_choice_t qsig_cc_CcOptionalArg_choice[] = {
4268   {   0, &hf_qsig_cc_fullArg     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_cc_T_fullArg },
4269   {   1, &hf_qsig_cc_extArg      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_cc_CcExtension },
4270   { 0, NULL, 0, 0, 0, NULL }
4271 };
4272 
4273 static int
dissect_qsig_cc_CcOptionalArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4274 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_) {
4275   offset = dissect_ber_choice(actx, tree, tvb, offset,
4276                                  qsig_cc_CcOptionalArg_choice, hf_index, ett_qsig_cc_CcOptionalArg,
4277                                  NULL);
4278 
4279   return offset;
4280 }
4281 
4282 /*--- PDUs ---*/
4283 
dissect_qsig_cc_CcRequestArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4284 static int dissect_qsig_cc_CcRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4285   int offset = 0;
4286   asn1_ctx_t asn1_ctx;
4287   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4288   offset = dissect_qsig_cc_CcRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestArg_PDU);
4289   return offset;
4290 }
dissect_qsig_cc_CcRequestRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4291 static int dissect_qsig_cc_CcRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4292   int offset = 0;
4293   asn1_ctx_t asn1_ctx;
4294   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4295   offset = dissect_qsig_cc_CcRequestRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcRequestRes_PDU);
4296   return offset;
4297 }
dissect_qsig_cc_CcOptionalArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4298 static int dissect_qsig_cc_CcOptionalArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4299   int offset = 0;
4300   asn1_ctx_t asn1_ctx;
4301   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4302   offset = dissect_qsig_cc_CcOptionalArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcOptionalArg_PDU);
4303   return offset;
4304 }
dissect_qsig_cc_CcExtension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4305 static int dissect_qsig_cc_CcExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4306   int offset = 0;
4307   asn1_ctx_t asn1_ctx;
4308   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4309   offset = dissect_qsig_cc_CcExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_CcExtension_PDU);
4310   return offset;
4311 }
dissect_qsig_cc_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4312 static int dissect_qsig_cc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4313   int offset = 0;
4314   asn1_ctx_t asn1_ctx;
4315   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4316   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_cc_qsig_cc_Extension_PDU);
4317   return offset;
4318 }
4319 
4320 
4321 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
4322 
4323 
4324 static int * const qsig_co_ServiceList_bits[] = {
4325   &hf_qsig_co_ServiceList_callOffer,
4326   NULL
4327 };
4328 
4329 static int
dissect_qsig_co_ServiceList(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4330 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_) {
4331   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4332                                     qsig_co_ServiceList_bits, 1, hf_index, ett_qsig_co_ServiceList,
4333                                     NULL);
4334 
4335   return offset;
4336 }
4337 
4338 
4339 static const ber_sequence_t qsig_co_T_extendedServiceList_sequence[] = {
4340   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4341   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4342   { NULL, 0, 0, 0, NULL }
4343 };
4344 
4345 static int
dissect_qsig_co_T_extendedServiceList(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4346 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_) {
4347   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4348                                    qsig_co_T_extendedServiceList_sequence, hf_index, ett_qsig_co_T_extendedServiceList);
4349 
4350   return offset;
4351 }
4352 
4353 
4354 static const value_string qsig_co_PathRetainArg_vals[] = {
4355   {   0, "serviceList" },
4356   {   1, "extendedServiceList" },
4357   { 0, NULL }
4358 };
4359 
4360 static const ber_choice_t qsig_co_PathRetainArg_choice[] = {
4361   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4362   {   1, &hf_qsig_co_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList },
4363   { 0, NULL, 0, 0, 0, NULL }
4364 };
4365 
4366 static int
dissect_qsig_co_PathRetainArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4367 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_) {
4368   offset = dissect_ber_choice(actx, tree, tvb, offset,
4369                                  qsig_co_PathRetainArg_choice, hf_index, ett_qsig_co_PathRetainArg,
4370                                  NULL);
4371 
4372   return offset;
4373 }
4374 
4375 
4376 static const ber_sequence_t qsig_co_T_extendedServiceList_01_sequence[] = {
4377   { &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4378   { &hf_qsig_co_extension   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4379   { NULL, 0, 0, 0, NULL }
4380 };
4381 
4382 static int
dissect_qsig_co_T_extendedServiceList_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4383 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_) {
4384   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4385                                    qsig_co_T_extendedServiceList_01_sequence, hf_index, ett_qsig_co_T_extendedServiceList_01);
4386 
4387   return offset;
4388 }
4389 
4390 
4391 static const value_string qsig_co_ServiceAvailableArg_vals[] = {
4392   {   0, "serviceList" },
4393   {   1, "extendedServiceList" },
4394   { 0, NULL }
4395 };
4396 
4397 static const ber_choice_t qsig_co_ServiceAvailableArg_choice[] = {
4398   {   0, &hf_qsig_co_serviceList , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_co_ServiceList },
4399   {   1, &hf_qsig_co_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_co_T_extendedServiceList_01 },
4400   { 0, NULL, 0, 0, 0, NULL }
4401 };
4402 
4403 static int
dissect_qsig_co_ServiceAvailableArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4404 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_) {
4405   offset = dissect_ber_choice(actx, tree, tvb, offset,
4406                                  qsig_co_ServiceAvailableArg_choice, hf_index, ett_qsig_co_ServiceAvailableArg,
4407                                  NULL);
4408 
4409   return offset;
4410 }
4411 
4412 
4413 
4414 static int
dissect_qsig_co_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4415 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_) {
4416   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4417 
4418   return offset;
4419 }
4420 
4421 
4422 static const ber_sequence_t qsig_co_SEQUENCE_OF_Extension_sequence_of[1] = {
4423   { &hf_qsig_co_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4424 };
4425 
4426 static int
dissect_qsig_co_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4427 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_) {
4428   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4429                                       qsig_co_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_co_SEQUENCE_OF_Extension);
4430 
4431   return offset;
4432 }
4433 
4434 
4435 static const value_string qsig_co_DummyArg_vals[] = {
4436   {   0, "null" },
4437   {   1, "extension" },
4438   {   2, "sequenceOfExtn" },
4439   { 0, NULL }
4440 };
4441 
4442 static const ber_choice_t qsig_co_DummyArg_choice[] = {
4443   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4444   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4445   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4446   { 0, NULL, 0, 0, 0, NULL }
4447 };
4448 
4449 static int
dissect_qsig_co_DummyArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4450 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_) {
4451   offset = dissect_ber_choice(actx, tree, tvb, offset,
4452                                  qsig_co_DummyArg_choice, hf_index, ett_qsig_co_DummyArg,
4453                                  NULL);
4454 
4455   return offset;
4456 }
4457 
4458 
4459 static const value_string qsig_co_DummyRes_vals[] = {
4460   {   0, "null" },
4461   {   1, "extension" },
4462   {   2, "sequenceOfExtn" },
4463   { 0, NULL }
4464 };
4465 
4466 static const ber_choice_t qsig_co_DummyRes_choice[] = {
4467   {   0, &hf_qsig_co_null        , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_co_NULL },
4468   {   1, &hf_qsig_co_extension   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4469   {   2, &hf_qsig_co_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_co_SEQUENCE_OF_Extension },
4470   { 0, NULL, 0, 0, 0, NULL }
4471 };
4472 
4473 static int
dissect_qsig_co_DummyRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4474 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_) {
4475   offset = dissect_ber_choice(actx, tree, tvb, offset,
4476                                  qsig_co_DummyRes_choice, hf_index, ett_qsig_co_DummyRes,
4477                                  NULL);
4478 
4479   return offset;
4480 }
4481 
4482 /*--- PDUs ---*/
4483 
dissect_qsig_co_PathRetainArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4484 static int dissect_qsig_co_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4485   int offset = 0;
4486   asn1_ctx_t asn1_ctx;
4487   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4488   offset = dissect_qsig_co_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_PathRetainArg_PDU);
4489   return offset;
4490 }
dissect_qsig_co_ServiceAvailableArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4491 static int dissect_qsig_co_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4492   int offset = 0;
4493   asn1_ctx_t asn1_ctx;
4494   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4495   offset = dissect_qsig_co_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_ServiceAvailableArg_PDU);
4496   return offset;
4497 }
dissect_qsig_co_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4498 static int dissect_qsig_co_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4499   int offset = 0;
4500   asn1_ctx_t asn1_ctx;
4501   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4502   offset = dissect_qsig_co_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyArg_PDU);
4503   return offset;
4504 }
dissect_qsig_co_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4505 static int dissect_qsig_co_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4506   int offset = 0;
4507   asn1_ctx_t asn1_ctx;
4508   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4509   offset = dissect_qsig_co_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_DummyRes_PDU);
4510   return offset;
4511 }
dissect_qsig_co_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)4512 static int dissect_qsig_co_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4513   int offset = 0;
4514   asn1_ctx_t asn1_ctx;
4515   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4516   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_co_qsig_co_Extension_PDU);
4517   return offset;
4518 }
4519 
4520 
4521 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
4522 
4523 
4524 
4525 static int
dissect_qsig_dnd_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4526 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_) {
4527   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4528 
4529   return offset;
4530 }
4531 
4532 
4533 static const ber_sequence_t qsig_dnd_SEQUENCE_OF_Extension_sequence_of[1] = {
4534   { &hf_qsig_dnd_sequenceOfExtn_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4535 };
4536 
4537 static int
dissect_qsig_dnd_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4538 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_) {
4539   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4540                                       qsig_dnd_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_dnd_SEQUENCE_OF_Extension);
4541 
4542   return offset;
4543 }
4544 
4545 
4546 static const value_string qsig_dnd_DummyArg_vals[] = {
4547   {   0, "null" },
4548   {   1, "extension" },
4549   {   2, "sequenceOfExtn" },
4550   { 0, NULL }
4551 };
4552 
4553 static const ber_choice_t qsig_dnd_DummyArg_choice[] = {
4554   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4555   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4556   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4557   { 0, NULL, 0, 0, 0, NULL }
4558 };
4559 
4560 static int
dissect_qsig_dnd_DummyArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4561 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_) {
4562   offset = dissect_ber_choice(actx, tree, tvb, offset,
4563                                  qsig_dnd_DummyArg_choice, hf_index, ett_qsig_dnd_DummyArg,
4564                                  NULL);
4565 
4566   return offset;
4567 }
4568 
4569 
4570 static const value_string qsig_dnd_DummyRes_vals[] = {
4571   {   0, "null" },
4572   {   1, "extension" },
4573   {   2, "sequenceOfExtn" },
4574   { 0, NULL }
4575 };
4576 
4577 static const ber_choice_t qsig_dnd_DummyRes_choice[] = {
4578   {   0, &hf_qsig_dnd_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_NULL },
4579   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4580   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4581   { 0, NULL, 0, 0, 0, NULL }
4582 };
4583 
4584 static int
dissect_qsig_dnd_DummyRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4585 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_) {
4586   offset = dissect_ber_choice(actx, tree, tvb, offset,
4587                                  qsig_dnd_DummyRes_choice, hf_index, ett_qsig_dnd_DummyRes,
4588                                  NULL);
4589 
4590   return offset;
4591 }
4592 
4593 
4594 static const value_string qsig_dnd_DNDAargumentExtension_vals[] = {
4595   {   1, "extension" },
4596   {   2, "sequenceOfExtn" },
4597   { 0, NULL }
4598 };
4599 
4600 static const ber_choice_t qsig_dnd_DNDAargumentExtension_choice[] = {
4601   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4602   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4603   { 0, NULL, 0, 0, 0, NULL }
4604 };
4605 
4606 static int
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_)4607 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_) {
4608   offset = dissect_ber_choice(actx, tree, tvb, offset,
4609                                  qsig_dnd_DNDAargumentExtension_choice, hf_index, ett_qsig_dnd_DNDAargumentExtension,
4610                                  NULL);
4611 
4612   return offset;
4613 }
4614 
4615 
4616 static const ber_sequence_t qsig_dnd_DNDActivateArg_sequence[] = {
4617   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4618   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4619   { &hf_qsig_dnd_argumentExtensionDNDA, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDAargumentExtension },
4620   { NULL, 0, 0, 0, NULL }
4621 };
4622 
4623 static int
dissect_qsig_dnd_DNDActivateArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4624 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_) {
4625   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4626                                    qsig_dnd_DNDActivateArg_sequence, hf_index, ett_qsig_dnd_DNDActivateArg);
4627 
4628   return offset;
4629 }
4630 
4631 
4632 static const value_string qsig_dnd_DNDProtectionLevel_vals[] = {
4633   {   0, "lowProtection" },
4634   {   1, "mediumProtection" },
4635   {   2, "highProtection" },
4636   {   3, "fullProtection" },
4637   { 0, NULL }
4638 };
4639 
4640 
4641 static int
dissect_qsig_dnd_DNDProtectionLevel(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4642 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_) {
4643   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4644                                   NULL);
4645 
4646   return offset;
4647 }
4648 
4649 
4650 static const ber_sequence_t qsig_dnd_T_status_item_sequence[] = {
4651   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4652   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4653   { NULL, 0, 0, 0, NULL }
4654 };
4655 
4656 static int
dissect_qsig_dnd_T_status_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4657 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_) {
4658   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4659                                    qsig_dnd_T_status_item_sequence, hf_index, ett_qsig_dnd_T_status_item);
4660 
4661   return offset;
4662 }
4663 
4664 
4665 static const ber_sequence_t qsig_dnd_T_status_set_of[1] = {
4666   { &hf_qsig_dnd_status_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item },
4667 };
4668 
4669 static int
dissect_qsig_dnd_T_status(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4670 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_) {
4671   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4672                                  qsig_dnd_T_status_set_of, hf_index, ett_qsig_dnd_T_status);
4673 
4674   return offset;
4675 }
4676 
4677 
4678 static const value_string qsig_dnd_T_resultExtension_vals[] = {
4679   {   1, "extension" },
4680   {   2, "sequenceOfExtn" },
4681   { 0, NULL }
4682 };
4683 
4684 static const ber_choice_t qsig_dnd_T_resultExtension_choice[] = {
4685   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4686   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4687   { 0, NULL, 0, 0, 0, NULL }
4688 };
4689 
4690 static int
dissect_qsig_dnd_T_resultExtension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4691 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_) {
4692   offset = dissect_ber_choice(actx, tree, tvb, offset,
4693                                  qsig_dnd_T_resultExtension_choice, hf_index, ett_qsig_dnd_T_resultExtension,
4694                                  NULL);
4695 
4696   return offset;
4697 }
4698 
4699 
4700 static const ber_sequence_t qsig_dnd_DNDActivateRes_sequence[] = {
4701   { &hf_qsig_dnd_status     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status },
4702   { &hf_qsig_dnd_resultExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_T_resultExtension },
4703   { NULL, 0, 0, 0, NULL }
4704 };
4705 
4706 static int
dissect_qsig_dnd_DNDActivateRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4707 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_) {
4708   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4709                                    qsig_dnd_DNDActivateRes_sequence, hf_index, ett_qsig_dnd_DNDActivateRes);
4710 
4711   return offset;
4712 }
4713 
4714 
4715 static const value_string qsig_dnd_DNDDargumentExtension_vals[] = {
4716   {   1, "extension" },
4717   {   2, "sequenceOfExtn" },
4718   { 0, NULL }
4719 };
4720 
4721 static const ber_choice_t qsig_dnd_DNDDargumentExtension_choice[] = {
4722   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4723   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4724   { 0, NULL, 0, 0, 0, NULL }
4725 };
4726 
4727 static int
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_)4728 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_) {
4729   offset = dissect_ber_choice(actx, tree, tvb, offset,
4730                                  qsig_dnd_DNDDargumentExtension_choice, hf_index, ett_qsig_dnd_DNDDargumentExtension,
4731                                  NULL);
4732 
4733   return offset;
4734 }
4735 
4736 
4737 static const ber_sequence_t qsig_dnd_DNDDeactivateArg_sequence[] = {
4738   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4739   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4740   { &hf_qsig_dnd_argumentExtensionDNDD, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDDargumentExtension },
4741   { NULL, 0, 0, 0, NULL }
4742 };
4743 
4744 static int
dissect_qsig_dnd_DNDDeactivateArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4745 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_) {
4746   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4747                                    qsig_dnd_DNDDeactivateArg_sequence, hf_index, ett_qsig_dnd_DNDDeactivateArg);
4748 
4749   return offset;
4750 }
4751 
4752 
4753 static const value_string qsig_dnd_DNDIargumentExtension_vals[] = {
4754   {   1, "extension" },
4755   {   2, "sequenceOfExtn" },
4756   { 0, NULL }
4757 };
4758 
4759 static const ber_choice_t qsig_dnd_DNDIargumentExtension_choice[] = {
4760   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4761   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4762   { 0, NULL, 0, 0, 0, NULL }
4763 };
4764 
4765 static int
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_)4766 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_) {
4767   offset = dissect_ber_choice(actx, tree, tvb, offset,
4768                                  qsig_dnd_DNDIargumentExtension_choice, hf_index, ett_qsig_dnd_DNDIargumentExtension,
4769                                  NULL);
4770 
4771   return offset;
4772 }
4773 
4774 
4775 static const ber_sequence_t qsig_dnd_DNDInterrogateArg_sequence[] = {
4776   { &hf_qsig_dnd_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
4777   { &hf_qsig_dnd_argumentExtensionDNDI, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDIargumentExtension },
4778   { NULL, 0, 0, 0, NULL }
4779 };
4780 
4781 static int
dissect_qsig_dnd_DNDInterrogateArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4782 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_) {
4783   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4784                                    qsig_dnd_DNDInterrogateArg_sequence, hf_index, ett_qsig_dnd_DNDInterrogateArg);
4785 
4786   return offset;
4787 }
4788 
4789 
4790 static const ber_sequence_t qsig_dnd_T_status_item_01_sequence[] = {
4791   { &hf_qsig_dnd_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
4792   { &hf_qsig_dnd_dndProtectionLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDProtectionLevel },
4793   { NULL, 0, 0, 0, NULL }
4794 };
4795 
4796 static int
dissect_qsig_dnd_T_status_item_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4797 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_) {
4798   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4799                                    qsig_dnd_T_status_item_01_sequence, hf_index, ett_qsig_dnd_T_status_item_01);
4800 
4801   return offset;
4802 }
4803 
4804 
4805 static const ber_sequence_t qsig_dnd_T_status_01_set_of[1] = {
4806   { &hf_qsig_dnd_status_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_item_01 },
4807 };
4808 
4809 static int
dissect_qsig_dnd_T_status_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4810 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_) {
4811   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4812                                  qsig_dnd_T_status_01_set_of, hf_index, ett_qsig_dnd_T_status_01);
4813 
4814   return offset;
4815 }
4816 
4817 
4818 static const value_string qsig_dnd_T_resultExtension_01_vals[] = {
4819   {   1, "extension" },
4820   {   2, "sequenceOfExtn" },
4821   { 0, NULL }
4822 };
4823 
4824 static const ber_choice_t qsig_dnd_T_resultExtension_01_choice[] = {
4825   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4826   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4827   { 0, NULL, 0, 0, 0, NULL }
4828 };
4829 
4830 static int
dissect_qsig_dnd_T_resultExtension_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4831 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_) {
4832   offset = dissect_ber_choice(actx, tree, tvb, offset,
4833                                  qsig_dnd_T_resultExtension_01_choice, hf_index, ett_qsig_dnd_T_resultExtension_01,
4834                                  NULL);
4835 
4836   return offset;
4837 }
4838 
4839 
4840 static const ber_sequence_t qsig_dnd_DNDInterrogateRes_sequence[] = {
4841   { &hf_qsig_dnd_status_01  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_status_01 },
4842   { &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 },
4843   { NULL, 0, 0, 0, NULL }
4844 };
4845 
4846 static int
dissect_qsig_dnd_DNDInterrogateRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4847 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_) {
4848   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4849                                    qsig_dnd_DNDInterrogateRes_sequence, hf_index, ett_qsig_dnd_DNDInterrogateRes);
4850 
4851   return offset;
4852 }
4853 
4854 
4855 static const value_string qsig_dnd_DNDOCapabilityLevel_vals[] = {
4856   {   1, "overrideLowProt" },
4857   {   2, "overrideMediumProt" },
4858   {   3, "overrideHighProt" },
4859   { 0, NULL }
4860 };
4861 
4862 
4863 static int
dissect_qsig_dnd_DNDOCapabilityLevel(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4864 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_) {
4865   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4866                                   NULL);
4867 
4868   return offset;
4869 }
4870 
4871 
4872 static const value_string qsig_dnd_DNDOargumentExtension_vals[] = {
4873   {   1, "extension" },
4874   {   2, "sequenceOfExtn" },
4875   { 0, NULL }
4876 };
4877 
4878 static const ber_choice_t qsig_dnd_DNDOargumentExtension_choice[] = {
4879   {   1, &hf_qsig_dnd_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
4880   {   2, &hf_qsig_dnd_sequenceOfExtn, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_dnd_SEQUENCE_OF_Extension },
4881   { 0, NULL, 0, 0, 0, NULL }
4882 };
4883 
4884 static int
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_)4885 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_) {
4886   offset = dissect_ber_choice(actx, tree, tvb, offset,
4887                                  qsig_dnd_DNDOargumentExtension_choice, hf_index, ett_qsig_dnd_DNDOargumentExtension,
4888                                  NULL);
4889 
4890   return offset;
4891 }
4892 
4893 
4894 static const ber_sequence_t qsig_dnd_DNDOverrideArg_sequence[] = {
4895   { &hf_qsig_dnd_dndoCapabilityLevel, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_DNDOCapabilityLevel },
4896   { &hf_qsig_dnd_argumentExtensionDNDO, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_dnd_DNDOargumentExtension },
4897   { NULL, 0, 0, 0, NULL }
4898 };
4899 
4900 static int
dissect_qsig_dnd_DNDOverrideArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4901 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_) {
4902   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4903                                    qsig_dnd_DNDOverrideArg_sequence, hf_index, ett_qsig_dnd_DNDOverrideArg);
4904 
4905   return offset;
4906 }
4907 
4908 
4909 static int * const qsig_dnd_ServiceList_bits[] = {
4910   &hf_qsig_dnd_ServiceList_spare_bit0,
4911   &hf_qsig_dnd_ServiceList_dndo_low,
4912   &hf_qsig_dnd_ServiceList_dndo_medium,
4913   &hf_qsig_dnd_ServiceList_dndo_high,
4914   NULL
4915 };
4916 
4917 static int
dissect_qsig_dnd_ServiceList(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4918 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_) {
4919   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4920                                     qsig_dnd_ServiceList_bits, 4, hf_index, ett_qsig_dnd_ServiceList,
4921                                     NULL);
4922 
4923   return offset;
4924 }
4925 
4926 
4927 static const ber_sequence_t qsig_dnd_T_extendedServiceList_sequence[] = {
4928   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4929   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4930   { NULL, 0, 0, 0, NULL }
4931 };
4932 
4933 static int
dissect_qsig_dnd_T_extendedServiceList(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4934 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_) {
4935   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4936                                    qsig_dnd_T_extendedServiceList_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList);
4937 
4938   return offset;
4939 }
4940 
4941 
4942 static const value_string qsig_dnd_PathRetainArg_vals[] = {
4943   {   0, "serviceList" },
4944   {   1, "extendedServiceList" },
4945   { 0, NULL }
4946 };
4947 
4948 static const ber_choice_t qsig_dnd_PathRetainArg_choice[] = {
4949   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4950   {   1, &hf_qsig_dnd_extendedServiceList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList },
4951   { 0, NULL, 0, 0, 0, NULL }
4952 };
4953 
4954 static int
dissect_qsig_dnd_PathRetainArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4955 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_) {
4956   offset = dissect_ber_choice(actx, tree, tvb, offset,
4957                                  qsig_dnd_PathRetainArg_choice, hf_index, ett_qsig_dnd_PathRetainArg,
4958                                  NULL);
4959 
4960   return offset;
4961 }
4962 
4963 
4964 static const ber_sequence_t qsig_dnd_T_extendedServiceList_01_sequence[] = {
4965   { &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4966   { &hf_qsig_dnd_extension  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
4967   { NULL, 0, 0, 0, NULL }
4968 };
4969 
4970 static int
dissect_qsig_dnd_T_extendedServiceList_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4971 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_) {
4972   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4973                                    qsig_dnd_T_extendedServiceList_01_sequence, hf_index, ett_qsig_dnd_T_extendedServiceList_01);
4974 
4975   return offset;
4976 }
4977 
4978 
4979 static const value_string qsig_dnd_ServiceAvailableArg_vals[] = {
4980   {   0, "serviceList" },
4981   {   1, "extendedServiceList" },
4982   { 0, NULL }
4983 };
4984 
4985 static const ber_choice_t qsig_dnd_ServiceAvailableArg_choice[] = {
4986   {   0, &hf_qsig_dnd_serviceList, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_ServiceList },
4987   {   1, &hf_qsig_dnd_extendedServiceList_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_dnd_T_extendedServiceList_01 },
4988   { 0, NULL, 0, 0, 0, NULL }
4989 };
4990 
4991 static int
dissect_qsig_dnd_ServiceAvailableArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4992 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_) {
4993   offset = dissect_ber_choice(actx, tree, tvb, offset,
4994                                  qsig_dnd_ServiceAvailableArg_choice, hf_index, ett_qsig_dnd_ServiceAvailableArg,
4995                                  NULL);
4996 
4997   return offset;
4998 }
4999 
5000 /*--- PDUs ---*/
5001 
dissect_qsig_dnd_DNDActivateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5002 static int dissect_qsig_dnd_DNDActivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5003   int offset = 0;
5004   asn1_ctx_t asn1_ctx;
5005   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5006   offset = dissect_qsig_dnd_DNDActivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU);
5007   return offset;
5008 }
dissect_qsig_dnd_DNDActivateRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5009 static int dissect_qsig_dnd_DNDActivateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5010   int offset = 0;
5011   asn1_ctx_t asn1_ctx;
5012   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5013   offset = dissect_qsig_dnd_DNDActivateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU);
5014   return offset;
5015 }
dissect_qsig_dnd_DNDDeactivateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5016 static int dissect_qsig_dnd_DNDDeactivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5017   int offset = 0;
5018   asn1_ctx_t asn1_ctx;
5019   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5020   offset = dissect_qsig_dnd_DNDDeactivateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU);
5021   return offset;
5022 }
dissect_qsig_dnd_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5023 static int dissect_qsig_dnd_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5024   int offset = 0;
5025   asn1_ctx_t asn1_ctx;
5026   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5027   offset = dissect_qsig_dnd_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyRes_PDU);
5028   return offset;
5029 }
dissect_qsig_dnd_DNDInterrogateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5030 static int dissect_qsig_dnd_DNDInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5031   int offset = 0;
5032   asn1_ctx_t asn1_ctx;
5033   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5034   offset = dissect_qsig_dnd_DNDInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU);
5035   return offset;
5036 }
dissect_qsig_dnd_DNDInterrogateRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5037 static int dissect_qsig_dnd_DNDInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5038   int offset = 0;
5039   asn1_ctx_t asn1_ctx;
5040   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5041   offset = dissect_qsig_dnd_DNDInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU);
5042   return offset;
5043 }
dissect_qsig_dnd_DNDOverrideArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5044 static int dissect_qsig_dnd_DNDOverrideArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5045   int offset = 0;
5046   asn1_ctx_t asn1_ctx;
5047   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5048   offset = dissect_qsig_dnd_DNDOverrideArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU);
5049   return offset;
5050 }
dissect_qsig_dnd_PathRetainArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5051 static int dissect_qsig_dnd_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5052   int offset = 0;
5053   asn1_ctx_t asn1_ctx;
5054   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5055   offset = dissect_qsig_dnd_PathRetainArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU);
5056   return offset;
5057 }
dissect_qsig_dnd_ServiceAvailableArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5058 static int dissect_qsig_dnd_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5059   int offset = 0;
5060   asn1_ctx_t asn1_ctx;
5061   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5062   offset = dissect_qsig_dnd_ServiceAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU);
5063   return offset;
5064 }
dissect_qsig_dnd_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5065 static int dissect_qsig_dnd_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5066   int offset = 0;
5067   asn1_ctx_t asn1_ctx;
5068   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5069   offset = dissect_qsig_dnd_DummyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_DummyArg_PDU);
5070   return offset;
5071 }
dissect_qsig_dnd_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5072 static int dissect_qsig_dnd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
5073   int offset = 0;
5074   asn1_ctx_t asn1_ctx;
5075   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
5076   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_dnd_qsig_dnd_Extension_PDU);
5077   return offset;
5078 }
5079 
5080 
5081 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
5082 
5083 
5084 static int * const qsig_ci_ServiceList_bits[] = {
5085   &hf_qsig_ci_ServiceList_spare_bit0,
5086   &hf_qsig_ci_ServiceList_spare_bit1,
5087   &hf_qsig_ci_ServiceList_spare_bit2,
5088   &hf_qsig_ci_ServiceList_spare_bit3,
5089   &hf_qsig_ci_ServiceList_ci_low,
5090   &hf_qsig_ci_ServiceList_ci_medium,
5091   &hf_qsig_ci_ServiceList_ci_high,
5092   NULL
5093 };
5094 
5095 static int
dissect_qsig_ci_ServiceList(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)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, 7, 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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_ci_PathRetainArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5412 static int dissect_qsig_ci_PathRetainArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ci_ServiceAvailableArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5419 static int dissect_qsig_ci_ServiceAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ci_CIRequestArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5426 static int dissect_qsig_ci_CIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ci_CIRequestRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5433 static int dissect_qsig_ci_CIRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ci_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5440 static int dissect_qsig_ci_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ci_CIGetCIPLRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5447 static int dissect_qsig_ci_CIGetCIPLRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ci_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5454 static int dissect_qsig_ci_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ci_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)5461 static int dissect_qsig_ci_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_aoc_AocRateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6347 static int dissect_qsig_aoc_AocRateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_AocInterimArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6354 static int dissect_qsig_aoc_AocInterimArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_AocFinalArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6361 static int dissect_qsig_aoc_AocFinalArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_ChargeRequestArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6368 static int dissect_qsig_aoc_ChargeRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_ChargeRequestRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6375 static int dissect_qsig_aoc_ChargeRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6382 static int dissect_qsig_aoc_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_AocCompleteArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6389 static int dissect_qsig_aoc_AocCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_AocCompleteRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6396 static int dissect_qsig_aoc_AocCompleteRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_AocDivChargeReqArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6403 static int dissect_qsig_aoc_AocDivChargeReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_aoc_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6410 static int dissect_qsig_aoc_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_re_ReAlertingArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6513 static int dissect_qsig_re_ReAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_re_ReAnswerArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6520 static int dissect_qsig_re_ReAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_sync_SynchronizationReqArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6655 static int dissect_qsig_sync_SynchronizationReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_sync_SynchronizationReqRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6662 static int dissect_qsig_sync_SynchronizationReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_sync_SynchronizationInfoArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6669 static int dissect_qsig_sync_SynchronizationInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_sync_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6676 static int dissect_qsig_sync_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_cint_CintInformation1Arg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6853 static int dissect_qsig_cint_CintInformation1Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_cint_CintInformation2Arg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6860 static int dissect_qsig_cint_CintInformation2Arg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_cint_CintCondArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6867 static int dissect_qsig_cint_CintCondArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_cint_CintExtension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)6874 static int dissect_qsig_cint_CintExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 int * const qsig_cmn_FeatureIdList_bits[] = {
6887   &hf_qsig_cmn_FeatureIdList_reserved,
6888   &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported,
6889   &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported,
6890   &hf_qsig_cmn_FeatureIdList_ssCCBSpossible,
6891   &hf_qsig_cmn_FeatureIdList_ssCCNRpossible,
6892   &hf_qsig_cmn_FeatureIdList_ssCOsupported,
6893   &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease,
6894   &hf_qsig_cmn_FeatureIdList_ssCIisolation,
6895   &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy,
6896   &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx,
6897   &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx,
6898   &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx,
6899   &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx,
6900   &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate,
6901   &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed,
6902   &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported,
6903   &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported,
6904   &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported,
6905   NULL
6906 };
6907 
6908 static int
dissect_qsig_cmn_FeatureIdList(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)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, 18, hf_index, ett_qsig_cmn_FeatureIdList,
6912                                     NULL);
6913 
6914   return offset;
6915 }
6916 
6917 
6918 
6919 static int
dissect_qsig_cmn_INTEGER_0_3(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_cmn_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7061 static int dissect_qsig_cmn_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_cmn_CmnArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7068 static int dissect_qsig_cmn_CmnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_cpi_CPIRequestArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7203 static int dissect_qsig_cpi_CPIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_cpi_CPIPRequestArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7210 static int dissect_qsig_cpi_CPIPRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_pumr_PumRegistrArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7644 static int dissect_qsig_pumr_PumRegistrArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumr_PumRegistrRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7651 static int dissect_qsig_pumr_PumRegistrRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumr_PumDelRegArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7658 static int dissect_qsig_pumr_PumDelRegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumr_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7665 static int dissect_qsig_pumr_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumr_PumDe_regArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7672 static int dissect_qsig_pumr_PumDe_regArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumr_PumInterrogArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7679 static int dissect_qsig_pumr_PumInterrogArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumr_PumInterrogRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7686 static int dissect_qsig_pumr_PumInterrogRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumr_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7693 static int dissect_qsig_pumr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_pumch_EnquiryArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7986 static int dissect_qsig_pumch_EnquiryArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumch_EnquiryRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)7993 static int dissect_qsig_pumch_EnquiryRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumch_DivertArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8000 static int dissect_qsig_pumch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumch_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8007 static int dissect_qsig_pumch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumch_InformArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8014 static int dissect_qsig_pumch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumch_PumoArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8021 static int dissect_qsig_pumch_PumoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_pumch_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8028 static int dissect_qsig_pumch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_ssct_SSCTInitiateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8238 static int dissect_qsig_ssct_SSCTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ssct_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8245 static int dissect_qsig_ssct_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ssct_SSCTSetupArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8252 static int dissect_qsig_ssct_SSCTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ssct_DummyArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8259 static int dissect_qsig_ssct_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ssct_SSCTDigitInfoArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8266 static int dissect_qsig_ssct_SSCTDigitInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_ssct_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8273 static int dissect_qsig_ssct_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_wtmlr_LocUpdArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8555 static int dissect_qsig_wtmlr_LocUpdArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8562 static int dissect_qsig_wtmlr_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_LocDelArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8569 static int dissect_qsig_wtmlr_LocDelArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_LocDeRegArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8576 static int dissect_qsig_wtmlr_LocDeRegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_PisnEnqArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8583 static int dissect_qsig_wtmlr_PisnEnqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_PisnEnqRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8590 static int dissect_qsig_wtmlr_PisnEnqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_GetRRCInfArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8597 static int dissect_qsig_wtmlr_GetRRCInfArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_GetRRCInfRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8604 static int dissect_qsig_wtmlr_GetRRCInfRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_LocInfoCheckArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8611 static int dissect_qsig_wtmlr_LocInfoCheckArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_LocInfoCheckRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8618 static int dissect_qsig_wtmlr_LocInfoCheckRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmlr_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8625 static int dissect_qsig_wtmlr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_wtmch_EnquiryArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8917 static int dissect_qsig_wtmch_EnquiryArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmch_EnquiryRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8924 static int dissect_qsig_wtmch_EnquiryRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmch_DivertArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8931 static int dissect_qsig_wtmch_DivertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmch_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8938 static int dissect_qsig_wtmch_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmch_InformArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8945 static int dissect_qsig_wtmch_InformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmch_WtmoArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8952 static int dissect_qsig_wtmch_WtmoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmch_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)8959 static int dissect_qsig_wtmch_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 162 "./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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_wtmau_AuthWtmArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9416 static int dissect_qsig_wtmau_AuthWtmArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmau_AuthWtmRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9423 static int dissect_qsig_wtmau_AuthWtmRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmau_WtatParamArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9430 static int dissect_qsig_wtmau_WtatParamArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmau_WtatParamRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9437 static int dissect_qsig_wtmau_WtatParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmau_WtanParamArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9444 static int dissect_qsig_wtmau_WtanParamArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmau_WtanParamRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9451 static int dissect_qsig_wtmau_WtanParamRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmau_ARG_transferAuthParam_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9458 static int dissect_qsig_wtmau_ARG_transferAuthParam_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_wtmau_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9465 static int dissect_qsig_wtmau_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_sd_DisplayArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9585 static int dissect_qsig_sd_DisplayArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_sd_KeypadArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9592 static int dissect_qsig_sd_KeypadArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_sd_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9599 static int dissect_qsig_sd_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 
dissect_qsig_cidl_CallIdentificationAssignArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9759 static int dissect_qsig_cidl_CallIdentificationAssignArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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 }
dissect_qsig_cidl_CallIdentificationUpdateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)9766 static int dissect_qsig_cidl_CallIdentificationUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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
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_)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 int * const qsig_sms_SmscControlParameterHeader_bits[] = {
9928   &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted,
9929   &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError,
9930   &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying,
9931   &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying,
9932   &hf_qsig_sms_SmscControlParameterHeader_spare_bit4,
9933   &hf_qsig_sms_SmscControlParameterHeader_spare_bit5,
9934   &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM,
9935   &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR,
9936   NULL
9937 };
9938 
9939 static int
dissect_qsig_sms_SmscControlParameterHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)9940 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_) {
9941   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9942                                     qsig_sms_SmscControlParameterHeader_bits, 8, hf_index, ett_qsig_sms_SmscControlParameterHeader,
9943                                     NULL);
9944 
9945   return offset;
9946 }
9947 
9948 
9949 static const ber_sequence_t qsig_sms_Concatenated8BitSMHeader_sequence[] = {
9950   { &hf_qsig_sms_concatenated8BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9951   { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9952   { &hf_qsig_sms_sequenceNumberOf8BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9953   { NULL, 0, 0, 0, NULL }
9954 };
9955 
9956 static int
dissect_qsig_sms_Concatenated8BitSMHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)9957 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_) {
9958   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9959                                    qsig_sms_Concatenated8BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated8BitSMHeader);
9960 
9961   return offset;
9962 }
9963 
9964 
9965 
9966 static int
dissect_qsig_sms_INTEGER_0_65536(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)9967 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_) {
9968   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9969                                                 NULL);
9970 
9971   return offset;
9972 }
9973 
9974 
9975 static const ber_sequence_t qsig_sms_Concatenated16BitSMHeader_sequence[] = {
9976   { &hf_qsig_sms_concatenated16BitSMReferenceNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
9977   { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9978   { &hf_qsig_sms_sequenceNumberOf16BitSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9979   { NULL, 0, 0, 0, NULL }
9980 };
9981 
9982 static int
dissect_qsig_sms_Concatenated16BitSMHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)9983 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_) {
9984   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9985                                    qsig_sms_Concatenated16BitSMHeader_sequence, hf_index, ett_qsig_sms_Concatenated16BitSMHeader);
9986 
9987   return offset;
9988 }
9989 
9990 
9991 static const ber_sequence_t qsig_sms_ApplicationPort8BitHeader_sequence[] = {
9992   { &hf_qsig_sms_destination8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9993   { &hf_qsig_sms_originator8BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
9994   { NULL, 0, 0, 0, NULL }
9995 };
9996 
9997 static int
dissect_qsig_sms_ApplicationPort8BitHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)9998 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_) {
9999   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10000                                    qsig_sms_ApplicationPort8BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort8BitHeader);
10001 
10002   return offset;
10003 }
10004 
10005 
10006 static const ber_sequence_t qsig_sms_ApplicationPort16BitHeader_sequence[] = {
10007   { &hf_qsig_sms_destination16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
10008   { &hf_qsig_sms_originator16BitPort, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_65536 },
10009   { NULL, 0, 0, 0, NULL }
10010 };
10011 
10012 static int
dissect_qsig_sms_ApplicationPort16BitHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10013 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_) {
10014   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10015                                    qsig_sms_ApplicationPort16BitHeader_sequence, hf_index, ett_qsig_sms_ApplicationPort16BitHeader);
10016 
10017   return offset;
10018 }
10019 
10020 
10021 static const value_string qsig_sms_DataHeaderSourceIndicator_vals[] = {
10022   {   1, "originalSender" },
10023   {   2, "originalReceiver" },
10024   {   3, "sMSC" },
10025   { 0, NULL }
10026 };
10027 
10028 
10029 static int
dissect_qsig_sms_DataHeaderSourceIndicator(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10030 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_) {
10031   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10032                                                 NULL);
10033 
10034   return offset;
10035 }
10036 
10037 
10038 
10039 static int
dissect_qsig_sms_WirelessControlHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10040 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_) {
10041   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10042                                        NULL);
10043 
10044   return offset;
10045 }
10046 
10047 
10048 
10049 static int
dissect_qsig_sms_OCTET_STRING(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10050 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_) {
10051   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10052                                        NULL);
10053 
10054   return offset;
10055 }
10056 
10057 
10058 static const ber_sequence_t qsig_sms_GenericUserValue_sequence[] = {
10059   { &hf_qsig_sms_parameterValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_INTEGER_0_255 },
10060   { &hf_qsig_sms_genericUserData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_OCTET_STRING },
10061   { NULL, 0, 0, 0, NULL }
10062 };
10063 
10064 static int
dissect_qsig_sms_GenericUserValue(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10065 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_) {
10066   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10067                                    qsig_sms_GenericUserValue_sequence, hf_index, ett_qsig_sms_GenericUserValue);
10068 
10069   return offset;
10070 }
10071 
10072 
10073 static const value_string qsig_sms_UserDataHeaderChoice_vals[] = {
10074   {   0, "smscControlParameterHeader" },
10075   {   1, "concatenated8BitSMHeader" },
10076   {   2, "concatenated16BitSMHeader" },
10077   {   3, "applicationPort8BitHeader" },
10078   {   4, "applicationPort16BitHeader" },
10079   {   5, "dataHeaderSourceIndicator" },
10080   {   6, "wirelessControlHeader" },
10081   {  99, "genericUserValue" },
10082   { 0, NULL }
10083 };
10084 
10085 static const ber_choice_t qsig_sms_UserDataHeaderChoice_choice[] = {
10086   {   0, &hf_qsig_sms_smscControlParameterHeader, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SmscControlParameterHeader },
10087   {   1, &hf_qsig_sms_concatenated8BitSMHeader, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated8BitSMHeader },
10088   {   2, &hf_qsig_sms_concatenated16BitSMHeader, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_Concatenated16BitSMHeader },
10089   {   3, &hf_qsig_sms_applicationPort8BitHeader, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort8BitHeader },
10090   {   4, &hf_qsig_sms_applicationPort16BitHeader, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ApplicationPort16BitHeader },
10091   {   5, &hf_qsig_sms_dataHeaderSourceIndicator, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_qsig_sms_DataHeaderSourceIndicator },
10092   {   6, &hf_qsig_sms_wirelessControlHeader, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_sms_WirelessControlHeader },
10093   {  99, &hf_qsig_sms_genericUserValue, BER_CLASS_CON, 99, BER_FLAGS_IMPLTAG, dissect_qsig_sms_GenericUserValue },
10094   { 0, NULL, 0, 0, 0, NULL }
10095 };
10096 
10097 static int
dissect_qsig_sms_UserDataHeaderChoice(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10098 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_) {
10099   offset = dissect_ber_choice(actx, tree, tvb, offset,
10100                                  qsig_sms_UserDataHeaderChoice_choice, hf_index, ett_qsig_sms_UserDataHeaderChoice,
10101                                  NULL);
10102 
10103   return offset;
10104 }
10105 
10106 
10107 static const ber_sequence_t qsig_sms_UserDataHeader_sequence_of[1] = {
10108   { &hf_qsig_sms_UserDataHeader_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_UserDataHeaderChoice },
10109 };
10110 
10111 static int
dissect_qsig_sms_UserDataHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10112 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_) {
10113   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10114                                       qsig_sms_UserDataHeader_sequence_of, hf_index, ett_qsig_sms_UserDataHeader);
10115 
10116   return offset;
10117 }
10118 
10119 
10120 
10121 static int
dissect_qsig_sms_INTEGER_0_3(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10122 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_) {
10123   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10124                                                 NULL);
10125 
10126   return offset;
10127 }
10128 
10129 
10130 static const value_string qsig_sms_ShortMessageTextType_vals[] = {
10131   {   0, "iA5Coded" },
10132   {   1, "octetCoded" },
10133   {   2, "uniCoded" },
10134   {   3, "compressedCoded" },
10135   { 0, NULL }
10136 };
10137 
10138 
10139 static int
dissect_qsig_sms_ShortMessageTextType(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10140 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_) {
10141   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10142                                                 NULL);
10143 
10144   return offset;
10145 }
10146 
10147 
10148 
10149 static int
dissect_qsig_sms_ShortMessageTextData(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10150 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_) {
10151   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10152                                        NULL);
10153 
10154   return offset;
10155 }
10156 
10157 
10158 static const ber_sequence_t qsig_sms_ShortMessageText_sequence[] = {
10159   { &hf_qsig_sms_shortMessageTextType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextType },
10160   { &hf_qsig_sms_shortMessageTextData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageTextData },
10161   { NULL, 0, 0, 0, NULL }
10162 };
10163 
10164 static int
dissect_qsig_sms_ShortMessageText(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10165 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_) {
10166   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10167                                    qsig_sms_ShortMessageText_sequence, hf_index, ett_qsig_sms_ShortMessageText);
10168 
10169   return offset;
10170 }
10171 
10172 
10173 static const ber_sequence_t qsig_sms_UserData_sequence[] = {
10174   { &hf_qsig_sms_userDataHeader, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserDataHeader },
10175   { &hf_qsig_sms_class      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_INTEGER_0_3 },
10176   { &hf_qsig_sms_compressed , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10177   { &hf_qsig_sms_shortMessageText, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ShortMessageText },
10178   { NULL, 0, 0, 0, NULL }
10179 };
10180 
10181 static int
dissect_qsig_sms_UserData(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10182 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_) {
10183   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10184                                    qsig_sms_UserData_sequence, hf_index, ett_qsig_sms_UserData);
10185 
10186   return offset;
10187 }
10188 
10189 
10190 static const ber_sequence_t qsig_sms_SEQUENCE_OF_Extension_sequence_of[1] = {
10191   { &hf_qsig_sms_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10192 };
10193 
10194 static int
dissect_qsig_sms_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10195 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_) {
10196   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10197                                       qsig_sms_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_sms_SEQUENCE_OF_Extension);
10198 
10199   return offset;
10200 }
10201 
10202 
10203 static const value_string qsig_sms_SmsExtension_vals[] = {
10204   {   1, "single" },
10205   {   2, "multiple" },
10206   { 0, NULL }
10207 };
10208 
10209 static const ber_choice_t qsig_sms_SmsExtension_choice[] = {
10210   {   1, &hf_qsig_sms_single     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10211   {   2, &hf_qsig_sms_multiple   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_sms_SEQUENCE_OF_Extension },
10212   { 0, NULL, 0, 0, 0, NULL }
10213 };
10214 
10215 static int
dissect_qsig_sms_SmsExtension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10216 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_) {
10217   offset = dissect_ber_choice(actx, tree, tvb, offset,
10218                                  qsig_sms_SmsExtension_choice, hf_index, ett_qsig_sms_SmsExtension,
10219                                  NULL);
10220 
10221   return offset;
10222 }
10223 
10224 
10225 static const ber_sequence_t qsig_sms_SmsSubmitArg_sequence[] = {
10226   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10227   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10228   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10229   { &hf_qsig_sms_smSubmitParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmSubmitParameter },
10230   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10231   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10232   { NULL, 0, 0, 0, NULL }
10233 };
10234 
10235 static int
dissect_qsig_sms_SmsSubmitArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10236 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_) {
10237   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10238                                    qsig_sms_SmsSubmitArg_sequence, hf_index, ett_qsig_sms_SmsSubmitArg);
10239 
10240   return offset;
10241 }
10242 
10243 
10244 
10245 static int
dissect_qsig_sms_ServiceCentreTimeStamp(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10246 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_) {
10247   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10248 
10249   return offset;
10250 }
10251 
10252 
10253 static const ber_sequence_t qsig_sms_SmsSubmitRes_sequence[] = {
10254   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10255   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10256   { &hf_qsig_sms_userData   , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10257   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10258   { NULL, 0, 0, 0, NULL }
10259 };
10260 
10261 static int
dissect_qsig_sms_SmsSubmitRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10262 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_) {
10263   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10264                                    qsig_sms_SmsSubmitRes_sequence, hf_index, ett_qsig_sms_SmsSubmitRes);
10265 
10266   return offset;
10267 }
10268 
10269 
10270 static const ber_sequence_t qsig_sms_SmDeliverParameter_sequence[] = {
10271   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10272   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10273   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10274   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10275   { &hf_qsig_sms_statusReportIndication, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10276   { &hf_qsig_sms_replyPath  , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10277   { NULL, 0, 0, 0, NULL }
10278 };
10279 
10280 static int
dissect_qsig_sms_SmDeliverParameter(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10281 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_) {
10282   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10283                                    qsig_sms_SmDeliverParameter_sequence, hf_index, ett_qsig_sms_SmDeliverParameter);
10284 
10285   return offset;
10286 }
10287 
10288 
10289 static const ber_sequence_t qsig_sms_SmsDeliverArg_sequence[] = {
10290   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10291   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10292   { &hf_qsig_sms_originatingName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
10293   { &hf_qsig_sms_smDeliverParameter, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmDeliverParameter },
10294   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10295   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10296   { NULL, 0, 0, 0, NULL }
10297 };
10298 
10299 static int
dissect_qsig_sms_SmsDeliverArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10300 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_) {
10301   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10302                                    qsig_sms_SmsDeliverArg_sequence, hf_index, ett_qsig_sms_SmsDeliverArg);
10303 
10304   return offset;
10305 }
10306 
10307 
10308 
10309 static int
dissect_qsig_sms_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10310 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_) {
10311   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10312 
10313   return offset;
10314 }
10315 
10316 
10317 static const ber_sequence_t qsig_sms_ResChoiceSeq_sequence[] = {
10318   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10319   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10320   { NULL, 0, 0, 0, NULL }
10321 };
10322 
10323 static int
dissect_qsig_sms_ResChoiceSeq(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10324 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_) {
10325   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10326                                    qsig_sms_ResChoiceSeq_sequence, hf_index, ett_qsig_sms_ResChoiceSeq);
10327 
10328   return offset;
10329 }
10330 
10331 
10332 static const value_string qsig_sms_SmsDeliverResChoice_vals[] = {
10333   {   0, "null" },
10334   {   1, "protocolIdentifier" },
10335   {   2, "userData" },
10336   {   3, "resChoiceSeq" },
10337   { 0, NULL }
10338 };
10339 
10340 static const ber_choice_t qsig_sms_SmsDeliverResChoice_choice[] = {
10341   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10342   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10343   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10344   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10345   { 0, NULL, 0, 0, 0, NULL }
10346 };
10347 
10348 static int
dissect_qsig_sms_SmsDeliverResChoice(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10349 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_) {
10350   offset = dissect_ber_choice(actx, tree, tvb, offset,
10351                                  qsig_sms_SmsDeliverResChoice_choice, hf_index, ett_qsig_sms_SmsDeliverResChoice,
10352                                  NULL);
10353 
10354   return offset;
10355 }
10356 
10357 
10358 static const ber_sequence_t qsig_sms_SmsDeliverRes_sequence[] = {
10359   { &hf_qsig_sms_smsDeliverResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsDeliverResChoice },
10360   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10361   { NULL, 0, 0, 0, NULL }
10362 };
10363 
10364 static int
dissect_qsig_sms_SmsDeliverRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10365 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_) {
10366   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10367                                    qsig_sms_SmsDeliverRes_sequence, hf_index, ett_qsig_sms_SmsDeliverRes);
10368 
10369   return offset;
10370 }
10371 
10372 
10373 
10374 static int
dissect_qsig_sms_DischargeTime(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10375 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_) {
10376   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
10377 
10378   return offset;
10379 }
10380 
10381 
10382 
10383 static int
dissect_qsig_sms_Status(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10384 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_) {
10385   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10386                                                 NULL);
10387 
10388   return offset;
10389 }
10390 
10391 
10392 static const ber_sequence_t qsig_sms_SmsStatusReportArg_sequence[] = {
10393   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10394   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10395   { &hf_qsig_sms_dischargeTime, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_DischargeTime },
10396   { &hf_qsig_sms_recipientAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10397   { &hf_qsig_sms_recipientName, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_qsig_na_Name },
10398   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10399   { &hf_qsig_sms_status     , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_Status },
10400   { &hf_qsig_sms_priority   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10401   { &hf_qsig_sms_moreMessagesToSend, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10402   { &hf_qsig_sms_statusReportQualifier, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10403   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10404   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10405   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10406   { NULL, 0, 0, 0, NULL }
10407 };
10408 
10409 static int
dissect_qsig_sms_SmsStatusReportArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10410 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_) {
10411   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10412                                    qsig_sms_SmsStatusReportArg_sequence, hf_index, ett_qsig_sms_SmsStatusReportArg);
10413 
10414   return offset;
10415 }
10416 
10417 
10418 static const value_string qsig_sms_SmsStatusReportResponseChoice_vals[] = {
10419   {   0, "null" },
10420   {   1, "protocolIdentifier" },
10421   {   2, "userData" },
10422   {   3, "resChoiceSeq" },
10423   { 0, NULL }
10424 };
10425 
10426 static const ber_choice_t qsig_sms_SmsStatusReportResponseChoice_choice[] = {
10427   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10428   {   1, &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10429   {   2, &hf_qsig_sms_userData   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10430   {   3, &hf_qsig_sms_resChoiceSeq, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_sms_ResChoiceSeq },
10431   { 0, NULL, 0, 0, 0, NULL }
10432 };
10433 
10434 static int
dissect_qsig_sms_SmsStatusReportResponseChoice(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10435 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_) {
10436   offset = dissect_ber_choice(actx, tree, tvb, offset,
10437                                  qsig_sms_SmsStatusReportResponseChoice_choice, hf_index, ett_qsig_sms_SmsStatusReportResponseChoice,
10438                                  NULL);
10439 
10440   return offset;
10441 }
10442 
10443 
10444 static const ber_sequence_t qsig_sms_SmsStatusReportRes_sequence[] = {
10445   { &hf_qsig_sms_smsStatusReportResponseChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsStatusReportResponseChoice },
10446   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10447   { NULL, 0, 0, 0, NULL }
10448 };
10449 
10450 static int
dissect_qsig_sms_SmsStatusReportRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10451 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_) {
10452   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10453                                    qsig_sms_SmsStatusReportRes_sequence, hf_index, ett_qsig_sms_SmsStatusReportRes);
10454 
10455   return offset;
10456 }
10457 
10458 
10459 static const value_string qsig_sms_CommandType_vals[] = {
10460   {   0, "enquiry" },
10461   {   1, "cancelSRR" },
10462   {   2, "deletePreviouslySubmittedSM" },
10463   {   3, "enableSRRrelatingToPreviouslySubmittedSM" },
10464   { 0, NULL }
10465 };
10466 
10467 
10468 static int
dissect_qsig_sms_CommandType(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10469 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_) {
10470   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10471                                                 NULL);
10472 
10473   return offset;
10474 }
10475 
10476 
10477 
10478 static int
dissect_qsig_sms_CommandData(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10479 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_) {
10480   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10481                                        NULL);
10482 
10483   return offset;
10484 }
10485 
10486 
10487 static const ber_sequence_t qsig_sms_SmsCommandArg_sequence[] = {
10488   { &hf_qsig_sms_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10489   { &hf_qsig_sms_messageReference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10490   { &hf_qsig_sms_messageNumber, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_MessageReference },
10491   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10492   { &hf_qsig_sms_commandType, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandType },
10493   { &hf_qsig_sms_commandData, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_CommandData },
10494   { &hf_qsig_sms_statusReportRequest, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_BOOLEAN },
10495   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10496   { NULL, 0, 0, 0, NULL }
10497 };
10498 
10499 static int
dissect_qsig_sms_SmsCommandArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10500 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_) {
10501   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10502                                    qsig_sms_SmsCommandArg_sequence, hf_index, ett_qsig_sms_SmsCommandArg);
10503 
10504   return offset;
10505 }
10506 
10507 
10508 static const ber_sequence_t qsig_sms_SmsCommandRes_sequence[] = {
10509   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10510   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ProtocolIdentifier },
10511   { &hf_qsig_sms_userData   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_sms_UserData },
10512   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10513   { NULL, 0, 0, 0, NULL }
10514 };
10515 
10516 static int
dissect_qsig_sms_SmsCommandRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10517 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_) {
10518   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10519                                    qsig_sms_SmsCommandRes_sequence, hf_index, ett_qsig_sms_SmsCommandRes);
10520 
10521   return offset;
10522 }
10523 
10524 
10525 static const ber_sequence_t qsig_sms_ScAlertArg_sequence[] = {
10526   { &hf_qsig_sms_originatingAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
10527   { &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_sms_SmsExtension },
10528   { NULL, 0, 0, 0, NULL }
10529 };
10530 
10531 static int
dissect_qsig_sms_ScAlertArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10532 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_) {
10533   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10534                                    qsig_sms_ScAlertArg_sequence, hf_index, ett_qsig_sms_ScAlertArg);
10535 
10536   return offset;
10537 }
10538 
10539 
10540 static const value_string qsig_sms_DummyRes_vals[] = {
10541   {   0, "null" },
10542   {   1, "smsExtension" },
10543   { 0, NULL }
10544 };
10545 
10546 static const ber_choice_t qsig_sms_DummyRes_choice[] = {
10547   {   0, &hf_qsig_sms_null       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_NULL },
10548   {   1, &hf_qsig_sms_smsExtension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_SmsExtension },
10549   { 0, NULL, 0, 0, 0, NULL }
10550 };
10551 
10552 static int
dissect_qsig_sms_DummyRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10553 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_) {
10554   offset = dissect_ber_choice(actx, tree, tvb, offset,
10555                                  qsig_sms_DummyRes_choice, hf_index, ett_qsig_sms_DummyRes,
10556                                  NULL);
10557 
10558   return offset;
10559 }
10560 
10561 
10562 
10563 static int
dissect_qsig_sms_FailureCause(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10564 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_) {
10565   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10566                                                 NULL);
10567 
10568   return offset;
10569 }
10570 
10571 
10572 static const ber_sequence_t qsig_sms_PAR_smsDeliverError_sequence[] = {
10573   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10574   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10575   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10576   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10577   { NULL, 0, 0, 0, NULL }
10578 };
10579 
10580 static int
dissect_qsig_sms_PAR_smsDeliverError(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10581 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_) {
10582   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10583                                    qsig_sms_PAR_smsDeliverError_sequence, hf_index, ett_qsig_sms_PAR_smsDeliverError);
10584 
10585   return offset;
10586 }
10587 
10588 
10589 static const ber_sequence_t qsig_sms_PAR_smsSubmitError_sequence[] = {
10590   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10591   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10592   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10593   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10594   { NULL, 0, 0, 0, NULL }
10595 };
10596 
10597 static int
dissect_qsig_sms_PAR_smsSubmitError(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10598 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_) {
10599   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10600                                    qsig_sms_PAR_smsSubmitError_sequence, hf_index, ett_qsig_sms_PAR_smsSubmitError);
10601 
10602   return offset;
10603 }
10604 
10605 
10606 static const ber_sequence_t qsig_sms_PAR_smsStatusReportError_sequence[] = {
10607   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10608   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10609   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10610   { &hf_qsig_sms_scAddressSaved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_BOOLEAN },
10611   { NULL, 0, 0, 0, NULL }
10612 };
10613 
10614 static int
dissect_qsig_sms_PAR_smsStatusReportError(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10615 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_) {
10616   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10617                                    qsig_sms_PAR_smsStatusReportError_sequence, hf_index, ett_qsig_sms_PAR_smsStatusReportError);
10618 
10619   return offset;
10620 }
10621 
10622 
10623 static const ber_sequence_t qsig_sms_PAR_smsCommandError_sequence[] = {
10624   { &hf_qsig_sms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_FailureCause },
10625   { &hf_qsig_sms_serviceCentreTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_qsig_sms_ServiceCentreTimeStamp },
10626   { &hf_qsig_sms_protocolIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_ProtocolIdentifier },
10627   { &hf_qsig_sms_userData   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_sms_UserData },
10628   { NULL, 0, 0, 0, NULL }
10629 };
10630 
10631 static int
dissect_qsig_sms_PAR_smsCommandError(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10632 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_) {
10633   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10634                                    qsig_sms_PAR_smsCommandError_sequence, hf_index, ett_qsig_sms_PAR_smsCommandError);
10635 
10636   return offset;
10637 }
10638 
10639 /*--- PDUs ---*/
10640 
dissect_qsig_sms_SmsSubmitArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10641 static int dissect_qsig_sms_SmsSubmitArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10642   int offset = 0;
10643   asn1_ctx_t asn1_ctx;
10644   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10645   offset = dissect_qsig_sms_SmsSubmitArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU);
10646   return offset;
10647 }
dissect_qsig_sms_SmsSubmitRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10648 static int dissect_qsig_sms_SmsSubmitRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10649   int offset = 0;
10650   asn1_ctx_t asn1_ctx;
10651   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10652   offset = dissect_qsig_sms_SmsSubmitRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU);
10653   return offset;
10654 }
dissect_qsig_sms_SmsDeliverArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10655 static int dissect_qsig_sms_SmsDeliverArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10656   int offset = 0;
10657   asn1_ctx_t asn1_ctx;
10658   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10659   offset = dissect_qsig_sms_SmsDeliverArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU);
10660   return offset;
10661 }
dissect_qsig_sms_SmsDeliverRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10662 static int dissect_qsig_sms_SmsDeliverRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10663   int offset = 0;
10664   asn1_ctx_t asn1_ctx;
10665   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10666   offset = dissect_qsig_sms_SmsDeliverRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU);
10667   return offset;
10668 }
dissect_qsig_sms_SmsStatusReportArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10669 static int dissect_qsig_sms_SmsStatusReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10670   int offset = 0;
10671   asn1_ctx_t asn1_ctx;
10672   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10673   offset = dissect_qsig_sms_SmsStatusReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU);
10674   return offset;
10675 }
dissect_qsig_sms_SmsStatusReportRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10676 static int dissect_qsig_sms_SmsStatusReportRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10677   int offset = 0;
10678   asn1_ctx_t asn1_ctx;
10679   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10680   offset = dissect_qsig_sms_SmsStatusReportRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU);
10681   return offset;
10682 }
dissect_qsig_sms_SmsCommandArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10683 static int dissect_qsig_sms_SmsCommandArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10684   int offset = 0;
10685   asn1_ctx_t asn1_ctx;
10686   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10687   offset = dissect_qsig_sms_SmsCommandArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandArg_PDU);
10688   return offset;
10689 }
dissect_qsig_sms_SmsCommandRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10690 static int dissect_qsig_sms_SmsCommandRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10691   int offset = 0;
10692   asn1_ctx_t asn1_ctx;
10693   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10694   offset = dissect_qsig_sms_SmsCommandRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsCommandRes_PDU);
10695   return offset;
10696 }
dissect_qsig_sms_ScAlertArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10697 static int dissect_qsig_sms_ScAlertArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10698   int offset = 0;
10699   asn1_ctx_t asn1_ctx;
10700   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10701   offset = dissect_qsig_sms_ScAlertArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_ScAlertArg_PDU);
10702   return offset;
10703 }
dissect_qsig_sms_DummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10704 static int dissect_qsig_sms_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10705   int offset = 0;
10706   asn1_ctx_t asn1_ctx;
10707   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10708   offset = dissect_qsig_sms_DummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_DummyRes_PDU);
10709   return offset;
10710 }
dissect_qsig_sms_PAR_smsDeliverError_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10711 static int dissect_qsig_sms_PAR_smsDeliverError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10712   int offset = 0;
10713   asn1_ctx_t asn1_ctx;
10714   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10715   offset = dissect_qsig_sms_PAR_smsDeliverError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU);
10716   return offset;
10717 }
dissect_qsig_sms_PAR_smsSubmitError_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10718 static int dissect_qsig_sms_PAR_smsSubmitError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10719   int offset = 0;
10720   asn1_ctx_t asn1_ctx;
10721   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10722   offset = dissect_qsig_sms_PAR_smsSubmitError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU);
10723   return offset;
10724 }
dissect_qsig_sms_PAR_smsStatusReportError_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10725 static int dissect_qsig_sms_PAR_smsStatusReportError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10726   int offset = 0;
10727   asn1_ctx_t asn1_ctx;
10728   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10729   offset = dissect_qsig_sms_PAR_smsStatusReportError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU);
10730   return offset;
10731 }
dissect_qsig_sms_PAR_smsCommandError_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10732 static int dissect_qsig_sms_PAR_smsCommandError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10733   int offset = 0;
10734   asn1_ctx_t asn1_ctx;
10735   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10736   offset = dissect_qsig_sms_PAR_smsCommandError(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU);
10737   return offset;
10738 }
dissect_qsig_sms_SmsExtension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10739 static int dissect_qsig_sms_SmsExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10740   int offset = 0;
10741   asn1_ctx_t asn1_ctx;
10742   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10743   offset = dissect_qsig_sms_SmsExtension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_sms_qsig_sms_SmsExtension_PDU);
10744   return offset;
10745 }
10746 
10747 
10748 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
10749 
10750 
10751 
10752 static int
dissect_qsig_mcr_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10753 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_) {
10754   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10755 
10756   return offset;
10757 }
10758 
10759 
10760 static const value_string qsig_mcr_CallType_vals[] = {
10761   {   0, "basicService" },
10762   {   1, "cisc" },
10763   { 0, NULL }
10764 };
10765 
10766 static const ber_choice_t qsig_mcr_CallType_choice[] = {
10767   {   0, &hf_qsig_mcr_basicService, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_cf_BasicService },
10768   {   1, &hf_qsig_mcr_cisc       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10769   { 0, NULL, 0, 0, 0, NULL }
10770 };
10771 
10772 static int
dissect_qsig_mcr_CallType(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10773 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_) {
10774   offset = dissect_ber_choice(actx, tree, tvb, offset,
10775                                  qsig_mcr_CallType_choice, hf_index, ett_qsig_mcr_CallType,
10776                                  NULL);
10777 
10778   return offset;
10779 }
10780 
10781 
10782 
10783 static int
dissect_qsig_mcr_BOOLEAN(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10784 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_) {
10785   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
10786 
10787   return offset;
10788 }
10789 
10790 
10791 static const value_string qsig_mcr_CorrelationReason_vals[] = {
10792   {   0, "unknown" },
10793   {   1, "mCACommunication" },
10794   {   2, "cTIApplication" },
10795   { 0, NULL }
10796 };
10797 
10798 
10799 static int
dissect_qsig_mcr_CorrelationReason(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10800 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_) {
10801   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10802                                                 NULL);
10803 
10804   return offset;
10805 }
10806 
10807 
10808 static const ber_sequence_t qsig_mcr_Correlation_sequence[] = {
10809   { &hf_qsig_mcr_correlationData, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_qsig_pr_CallIdentity },
10810   { &hf_qsig_mcr_correlationReason, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_CorrelationReason },
10811   { NULL, 0, 0, 0, NULL }
10812 };
10813 
10814 static int
dissect_qsig_mcr_Correlation(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10815 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_) {
10816   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10817                                    qsig_mcr_Correlation_sequence, hf_index, ett_qsig_mcr_Correlation);
10818 
10819   return offset;
10820 }
10821 
10822 
10823 static const ber_sequence_t qsig_mcr_SEQUENCE_OF_Extension_sequence_of[1] = {
10824   { &hf_qsig_mcr_multiple_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
10825 };
10826 
10827 static int
dissect_qsig_mcr_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10828 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_) {
10829   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10830                                       qsig_mcr_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcr_SEQUENCE_OF_Extension);
10831 
10832   return offset;
10833 }
10834 
10835 
10836 static const value_string qsig_mcr_MCRExtensions_vals[] = {
10837   {   0, "none" },
10838   {   1, "single" },
10839   {   2, "multiple" },
10840   { 0, NULL }
10841 };
10842 
10843 static const ber_choice_t qsig_mcr_MCRExtensions_choice[] = {
10844   {   0, &hf_qsig_mcr_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_NULL },
10845   {   1, &hf_qsig_mcr_single     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
10846   {   2, &hf_qsig_mcr_multiple   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcr_SEQUENCE_OF_Extension },
10847   { 0, NULL, 0, 0, 0, NULL }
10848 };
10849 
10850 static int
dissect_qsig_mcr_MCRExtensions(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10851 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_) {
10852   offset = dissect_ber_choice(actx, tree, tvb, offset,
10853                                  qsig_mcr_MCRExtensions_choice, hf_index, ett_qsig_mcr_MCRExtensions,
10854                                  NULL);
10855 
10856   return offset;
10857 }
10858 
10859 
10860 static const ber_sequence_t qsig_mcr_MCRequestArg_sequence[] = {
10861   { &hf_qsig_mcr_callType   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_CallType },
10862   { &hf_qsig_mcr_retainOrigCall, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_BOOLEAN },
10863   { &hf_qsig_mcr_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
10864   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10865   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10866   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10867   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10868   { NULL, 0, 0, 0, NULL }
10869 };
10870 
10871 static int
dissect_qsig_mcr_MCRequestArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10872 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_) {
10873   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10874                                    qsig_mcr_MCRequestArg_sequence, hf_index, ett_qsig_mcr_MCRequestArg);
10875 
10876   return offset;
10877 }
10878 
10879 
10880 static const ber_sequence_t qsig_mcr_MCRequestResult_sequence[] = {
10881   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10882   { NULL, 0, 0, 0, NULL }
10883 };
10884 
10885 static int
dissect_qsig_mcr_MCRequestResult(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10886 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_) {
10887   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10888                                    qsig_mcr_MCRequestResult_sequence, hf_index, ett_qsig_mcr_MCRequestResult);
10889 
10890   return offset;
10891 }
10892 
10893 
10894 static const ber_sequence_t qsig_mcr_MCInformArg_sequence[] = {
10895   { &hf_qsig_mcr_requestingAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10896   { &hf_qsig_mcr_cooperatingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_qsig_PresentedAddressUnscreened },
10897   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10898   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10899   { NULL, 0, 0, 0, NULL }
10900 };
10901 
10902 static int
dissect_qsig_mcr_MCInformArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10903 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_) {
10904   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10905                                    qsig_mcr_MCInformArg_sequence, hf_index, ett_qsig_mcr_MCInformArg);
10906 
10907   return offset;
10908 }
10909 
10910 
10911 static const ber_sequence_t qsig_mcr_MCAlertingArg_sequence[] = {
10912   { &hf_qsig_mcr_correlation, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcr_Correlation },
10913   { &hf_qsig_mcr_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcr_MCRExtensions },
10914   { NULL, 0, 0, 0, NULL }
10915 };
10916 
10917 static int
dissect_qsig_mcr_MCAlertingArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10918 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_) {
10919   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10920                                    qsig_mcr_MCAlertingArg_sequence, hf_index, ett_qsig_mcr_MCAlertingArg);
10921 
10922   return offset;
10923 }
10924 
10925 /*--- PDUs ---*/
10926 
dissect_qsig_mcr_MCRequestArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10927 static int dissect_qsig_mcr_MCRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10928   int offset = 0;
10929   asn1_ctx_t asn1_ctx;
10930   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10931   offset = dissect_qsig_mcr_MCRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU);
10932   return offset;
10933 }
dissect_qsig_mcr_MCRequestResult_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10934 static int dissect_qsig_mcr_MCRequestResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10935   int offset = 0;
10936   asn1_ctx_t asn1_ctx;
10937   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10938   offset = dissect_qsig_mcr_MCRequestResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU);
10939   return offset;
10940 }
dissect_qsig_mcr_MCInformArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10941 static int dissect_qsig_mcr_MCInformArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10942   int offset = 0;
10943   asn1_ctx_t asn1_ctx;
10944   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10945   offset = dissect_qsig_mcr_MCInformArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCInformArg_PDU);
10946   return offset;
10947 }
dissect_qsig_mcr_MCAlertingArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10948 static int dissect_qsig_mcr_MCAlertingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10949   int offset = 0;
10950   asn1_ctx_t asn1_ctx;
10951   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10952   offset = dissect_qsig_mcr_MCAlertingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU);
10953   return offset;
10954 }
dissect_qsig_mcr_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)10955 static int dissect_qsig_mcr_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
10956   int offset = 0;
10957   asn1_ctx_t asn1_ctx;
10958   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
10959   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcr_qsig_mcr_Extension_PDU);
10960   return offset;
10961 }
10962 
10963 
10964 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
10965 
10966 
10967 
10968 static int
dissect_qsig_mcm_INTEGER_0_65535(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10969 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_) {
10970   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10971                                                 NULL);
10972 
10973   return offset;
10974 }
10975 
10976 
10977 
10978 static int
dissect_qsig_mcm_NumericString_SIZE_1_10(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)10979 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_) {
10980   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
10981                                             actx, tree, tvb, offset, hf_index,
10982                                             NULL);
10983 
10984   return offset;
10985 }
10986 
10987 
10988 static const value_string qsig_mcm_MsgCentreId_vals[] = {
10989   {   0, "integer" },
10990   {   1, "partyNumber" },
10991   {   2, "numericString" },
10992   { 0, NULL }
10993 };
10994 
10995 static const ber_choice_t qsig_mcm_MsgCentreId_choice[] = {
10996   {   0, &hf_qsig_mcm_integer    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_65535 },
10997   {   1, &hf_qsig_mcm_partyNumber, BER_CLASS_CON, 1, 0, dissect_qsig_PartyNumber },
10998   {   2, &hf_qsig_mcm_numericString, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NumericString_SIZE_1_10 },
10999   { 0, NULL, 0, 0, 0, NULL }
11000 };
11001 
11002 static int
dissect_qsig_mcm_MsgCentreId(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11003 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_) {
11004   offset = dissect_ber_choice(actx, tree, tvb, offset,
11005                                  qsig_mcm_MsgCentreId_choice, hf_index, ett_qsig_mcm_MsgCentreId,
11006                                  NULL);
11007 
11008   return offset;
11009 }
11010 
11011 
11012 static const ber_sequence_t qsig_mcm_PartyInfo_sequence[] = {
11013   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11014   { &hf_qsig_mcm_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11015   { NULL, 0, 0, 0, NULL }
11016 };
11017 
11018 static int
dissect_qsig_mcm_PartyInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11019 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_) {
11020   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11021                                    qsig_mcm_PartyInfo_sequence, hf_index, ett_qsig_mcm_PartyInfo);
11022 
11023   return offset;
11024 }
11025 
11026 
11027 static const value_string qsig_mcm_MessageType_vals[] = {
11028   {   0, "allServices" },
11029   {   1, "speech" },
11030   {   2, "unrestrictedDigitalInformation" },
11031   {   3, "audio3100Hz" },
11032   {  32, "telephony" },
11033   {  33, "teletex" },
11034   {  34, "telefaxGroup4Class1" },
11035   {  35, "videotextSyntaxBased" },
11036   {  36, "videotelephony" },
11037   {  37, "telefaxGroup2-3" },
11038   {  38, "reservedNotUsed1" },
11039   {  39, "reservedNotUsed2" },
11040   {  40, "reservedNotUsed3" },
11041   {  41, "reservedNotUsed4" },
11042   {  42, "reservedNotUsed5" },
11043   {  51, "email" },
11044   {  52, "video" },
11045   {  53, "fileTransfer" },
11046   {  54, "shortMessageService" },
11047   {  55, "speechAndVideo" },
11048   {  56, "speechAndFax" },
11049   {  57, "speechAndEmail" },
11050   {  58, "videoAndFax" },
11051   {  59, "videoAndEmail" },
11052   {  60, "faxAndEmail" },
11053   {  61, "speechVideoAndFax" },
11054   {  62, "speechVideoAndEmail" },
11055   {  63, "speechFaxAndEmail" },
11056   {  64, "videoFaxAndEmail" },
11057   {  65, "speechVideoFaxAndEmail" },
11058   {  66, "multimediaUnknown" },
11059   {  67, "serviceUnknown" },
11060   {  68, "futureReserve1" },
11061   {  69, "futureReserve2" },
11062   {  70, "futureReserve3" },
11063   {  71, "futureReserve4" },
11064   {  72, "futureReserve5" },
11065   {  73, "futureReserve6" },
11066   {  74, "futureReserve7" },
11067   {  75, "futureReserve8" },
11068   { 0, NULL }
11069 };
11070 
11071 
11072 static int
dissect_qsig_mcm_MessageType(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11073 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_) {
11074   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11075                                   NULL);
11076 
11077   return offset;
11078 }
11079 
11080 
11081 
11082 static int
dissect_qsig_mcm_INTEGER_0_100(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11083 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_) {
11084   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11085                                                 NULL);
11086 
11087   return offset;
11088 }
11089 
11090 
11091 static const ber_sequence_t qsig_mcm_MailboxFullPar_sequence[] = {
11092   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11093   { &hf_qsig_mcm_capacityReached, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_INTEGER_0_100 },
11094   { NULL, 0, 0, 0, NULL }
11095 };
11096 
11097 static int
dissect_qsig_mcm_MailboxFullPar(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11098 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_) {
11099   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11100                                    qsig_mcm_MailboxFullPar_sequence, hf_index, ett_qsig_mcm_MailboxFullPar);
11101 
11102   return offset;
11103 }
11104 
11105 
11106 static const ber_sequence_t qsig_mcm_MailboxFullFor_sequence_of[1] = {
11107   { &hf_qsig_mcm_MailboxFullFor_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullPar },
11108 };
11109 
11110 static int
dissect_qsig_mcm_MailboxFullFor(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11111 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_) {
11112   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11113                                       qsig_mcm_MailboxFullFor_sequence_of, hf_index, ett_qsig_mcm_MailboxFullFor);
11114 
11115   return offset;
11116 }
11117 
11118 
11119 
11120 static int
dissect_qsig_mcm_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11121 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_) {
11122   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11123 
11124   return offset;
11125 }
11126 
11127 
11128 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_Extension_sequence_of[1] = {
11129   { &hf_qsig_mcm_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11130 };
11131 
11132 static int
dissect_qsig_mcm_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11133 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_) {
11134   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11135                                       qsig_mcm_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_Extension);
11136 
11137   return offset;
11138 }
11139 
11140 
11141 static const value_string qsig_mcm_MCMExtensions_vals[] = {
11142   {   0, "none" },
11143   {   1, "extension" },
11144   {   2, "multipleExtension" },
11145   { 0, NULL }
11146 };
11147 
11148 static const ber_choice_t qsig_mcm_MCMExtensions_choice[] = {
11149   {   0, &hf_qsig_mcm_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11150   {   1, &hf_qsig_mcm_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11151   {   2, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11152   { 0, NULL, 0, 0, 0, NULL }
11153 };
11154 
11155 static int
dissect_qsig_mcm_MCMExtensions(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11156 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_) {
11157   offset = dissect_ber_choice(actx, tree, tvb, offset,
11158                                  qsig_mcm_MCMExtensions_choice, hf_index, ett_qsig_mcm_MCMExtensions,
11159                                  NULL);
11160 
11161   return offset;
11162 }
11163 
11164 
11165 static const ber_sequence_t qsig_mcm_MCMailboxFullArg_sequence[] = {
11166   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11167   { &hf_qsig_mcm_mailboxFullFor, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MailboxFullFor },
11168   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11169   { NULL, 0, 0, 0, NULL }
11170 };
11171 
11172 static int
dissect_qsig_mcm_MCMailboxFullArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11173 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_) {
11174   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11175                                    qsig_mcm_MCMailboxFullArg_sequence, hf_index, ett_qsig_mcm_MCMailboxFullArg);
11176 
11177   return offset;
11178 }
11179 
11180 
11181 static const value_string qsig_mcm_MCMMode_vals[] = {
11182   {   0, "compressed" },
11183   {   1, "complete" },
11184   { 0, NULL }
11185 };
11186 
11187 
11188 static int
dissect_qsig_mcm_MCMMode(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11189 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_) {
11190   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11191                                                 NULL);
11192 
11193   return offset;
11194 }
11195 
11196 
11197 static const ber_sequence_t qsig_mcm_MCMServiceInfo_sequence[] = {
11198   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11199   { &hf_qsig_mcm_mCMModeNew , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11200   { &hf_qsig_mcm_mCMModeRetrieved, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_MCMMode },
11201   { NULL, 0, 0, 0, NULL }
11202 };
11203 
11204 static int
dissect_qsig_mcm_MCMServiceInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11205 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_) {
11206   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11207                                    qsig_mcm_MCMServiceInfo_sequence, hf_index, ett_qsig_mcm_MCMServiceInfo);
11208 
11209   return offset;
11210 }
11211 
11212 
11213 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of[1] = {
11214   { &hf_qsig_mcm_activateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMServiceInfo },
11215 };
11216 
11217 static int
dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11218 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_) {
11219   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11220                                       qsig_mcm_SEQUENCE_OF_MCMServiceInfo_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo);
11221 
11222   return offset;
11223 }
11224 
11225 
11226 static const ber_sequence_t qsig_mcm_SEQUENCE_OF_MessageType_sequence_of[1] = {
11227   { &hf_qsig_mcm_deactivateMCM_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11228 };
11229 
11230 static int
dissect_qsig_mcm_SEQUENCE_OF_MessageType(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11231 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_) {
11232   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11233                                       qsig_mcm_SEQUENCE_OF_MessageType_sequence_of, hf_index, ett_qsig_mcm_SEQUENCE_OF_MessageType);
11234 
11235   return offset;
11236 }
11237 
11238 
11239 static const value_string qsig_mcm_MCMChange_vals[] = {
11240   {   0, "activateMCM" },
11241   {   1, "deactivateMCM" },
11242   {   2, "setToDefaultValues" },
11243   { 0, NULL }
11244 };
11245 
11246 static const ber_choice_t qsig_mcm_MCMChange_choice[] = {
11247   {   0, &hf_qsig_mcm_activateMCM, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11248   {   1, &hf_qsig_mcm_deactivateMCM, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11249   {   2, &hf_qsig_mcm_setToDefaultValues, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11250   { 0, NULL, 0, 0, 0, NULL }
11251 };
11252 
11253 static int
dissect_qsig_mcm_MCMChange(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11254 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_) {
11255   offset = dissect_ber_choice(actx, tree, tvb, offset,
11256                                  qsig_mcm_MCMChange_choice, hf_index, ett_qsig_mcm_MCMChange,
11257                                  NULL);
11258 
11259   return offset;
11260 }
11261 
11262 
11263 static const ber_sequence_t qsig_mcm_MCMServiceArg_sequence[] = {
11264   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11265   { &hf_qsig_mcm_mCMChange  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMChange },
11266   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11267   { NULL, 0, 0, 0, NULL }
11268 };
11269 
11270 static int
dissect_qsig_mcm_MCMServiceArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11271 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_) {
11272   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11273                                    qsig_mcm_MCMServiceArg_sequence, hf_index, ett_qsig_mcm_MCMServiceArg);
11274 
11275   return offset;
11276 }
11277 
11278 
11279 static const ber_sequence_t qsig_mcm_MCMInterrogateArg_sequence[] = {
11280   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11281   { &hf_qsig_mcm_interrogateInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MessageType },
11282   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11283   { NULL, 0, 0, 0, NULL }
11284 };
11285 
11286 static int
dissect_qsig_mcm_MCMInterrogateArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11287 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_) {
11288   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11289                                    qsig_mcm_MCMInterrogateArg_sequence, hf_index, ett_qsig_mcm_MCMInterrogateArg);
11290 
11291   return offset;
11292 }
11293 
11294 
11295 static const ber_sequence_t qsig_mcm_MCMInterrogateRes_sequence[] = {
11296   { &hf_qsig_mcm_interrogateResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_SEQUENCE_OF_MCMServiceInfo },
11297   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11298   { NULL, 0, 0, 0, NULL }
11299 };
11300 
11301 static int
dissect_qsig_mcm_MCMInterrogateRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11302 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_) {
11303   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11304                                    qsig_mcm_MCMInterrogateRes_sequence, hf_index, ett_qsig_mcm_MCMInterrogateRes);
11305 
11306   return offset;
11307 }
11308 
11309 
11310 
11311 static int
dissect_qsig_mcm_NrOfMessages(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11312 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_) {
11313   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11314                                                 NULL);
11315 
11316   return offset;
11317 }
11318 
11319 
11320 
11321 static int
dissect_qsig_mcm_TimeStamp(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11322 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_) {
11323   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
11324 
11325   return offset;
11326 }
11327 
11328 
11329 
11330 static int
dissect_qsig_mcm_INTEGER_0_9(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11331 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_) {
11332   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11333                                                 NULL);
11334 
11335   return offset;
11336 }
11337 
11338 
11339 static const value_string qsig_mcm_MCMNewArgumentExt_vals[] = {
11340   {   6, "extension" },
11341   {   7, "multipleExtension" },
11342   { 0, NULL }
11343 };
11344 
11345 static const ber_choice_t qsig_mcm_MCMNewArgumentExt_choice[] = {
11346   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11347   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11348   { 0, NULL, 0, 0, 0, NULL }
11349 };
11350 
11351 static int
dissect_qsig_mcm_MCMNewArgumentExt(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11352 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_) {
11353   offset = dissect_ber_choice(actx, tree, tvb, offset,
11354                                  qsig_mcm_MCMNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNewArgumentExt,
11355                                  NULL);
11356 
11357   return offset;
11358 }
11359 
11360 
11361 static const ber_sequence_t qsig_mcm_MCMNewMsgArg_sequence[] = {
11362   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11363   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11364   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11365   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11366   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11367   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11368   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11369   { &hf_qsig_mcm_argumentExtMCMNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNewArgumentExt },
11370   { NULL, 0, 0, 0, NULL }
11371 };
11372 
11373 static int
dissect_qsig_mcm_MCMNewMsgArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11374 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_) {
11375   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11376                                    qsig_mcm_MCMNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNewMsgArg);
11377 
11378   return offset;
11379 }
11380 
11381 
11382 static const value_string qsig_mcm_MCMNoNewArgumentExt_vals[] = {
11383   {   3, "extension" },
11384   {   4, "multipleExtension" },
11385   { 0, NULL }
11386 };
11387 
11388 static const ber_choice_t qsig_mcm_MCMNoNewArgumentExt_choice[] = {
11389   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11390   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11391   { 0, NULL, 0, 0, 0, NULL }
11392 };
11393 
11394 static int
dissect_qsig_mcm_MCMNoNewArgumentExt(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11395 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_) {
11396   offset = dissect_ber_choice(actx, tree, tvb, offset,
11397                                  qsig_mcm_MCMNoNewArgumentExt_choice, hf_index, ett_qsig_mcm_MCMNoNewArgumentExt,
11398                                  NULL);
11399 
11400   return offset;
11401 }
11402 
11403 
11404 static const ber_sequence_t qsig_mcm_MCMNoNewMsgArg_sequence[] = {
11405   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11406   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11407   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11408   { &hf_qsig_mcm_argumentExtMCMNoNew, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMNoNewArgumentExt },
11409   { NULL, 0, 0, 0, NULL }
11410 };
11411 
11412 static int
dissect_qsig_mcm_MCMNoNewMsgArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11413 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_) {
11414   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11415                                    qsig_mcm_MCMNoNewMsgArg_sequence, hf_index, ett_qsig_mcm_MCMNoNewMsgArg);
11416 
11417   return offset;
11418 }
11419 
11420 
11421 
11422 static int
dissect_qsig_mcm_Priority(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11423 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_) {
11424   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11425                                                 NULL);
11426 
11427   return offset;
11428 }
11429 
11430 
11431 static const ber_sequence_t qsig_mcm_AddressHeader_sequence[] = {
11432   { &hf_qsig_mcm_originatorNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11433   { &hf_qsig_mcm_timeStamp  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_TimeStamp },
11434   { &hf_qsig_mcm_ahpriority , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_Priority },
11435   { NULL, 0, 0, 0, NULL }
11436 };
11437 
11438 static int
dissect_qsig_mcm_AddressHeader(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11439 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_) {
11440   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11441                                    qsig_mcm_AddressHeader_sequence, hf_index, ett_qsig_mcm_AddressHeader);
11442 
11443   return offset;
11444 }
11445 
11446 
11447 static const ber_sequence_t qsig_mcm_CompleteInfo_sequence_of[1] = {
11448   { &hf_qsig_mcm_CompleteInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AddressHeader },
11449 };
11450 
11451 static int
dissect_qsig_mcm_CompleteInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11452 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_) {
11453   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11454                                       qsig_mcm_CompleteInfo_sequence_of, hf_index, ett_qsig_mcm_CompleteInfo);
11455 
11456   return offset;
11457 }
11458 
11459 
11460 static const ber_sequence_t qsig_mcm_CompressedInfo_sequence[] = {
11461   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NrOfMessages },
11462   { &hf_qsig_mcm_lastTimeStamp, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11463   { &hf_qsig_mcm_highestPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_Priority },
11464   { NULL, 0, 0, 0, NULL }
11465 };
11466 
11467 static int
dissect_qsig_mcm_CompressedInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11468 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_) {
11469   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11470                                    qsig_mcm_CompressedInfo_sequence, hf_index, ett_qsig_mcm_CompressedInfo);
11471 
11472   return offset;
11473 }
11474 
11475 
11476 static const value_string qsig_mcm_MessageInfo_vals[] = {
11477   {   0, "completeInfo" },
11478   {   1, "compressedInfo" },
11479   {   2, "noMsgsOfMsgType" },
11480   { 0, NULL }
11481 };
11482 
11483 static const ber_choice_t qsig_mcm_MessageInfo_choice[] = {
11484   {   0, &hf_qsig_mcm_completeInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompleteInfo },
11485   {   1, &hf_qsig_mcm_compressedInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_CompressedInfo },
11486   {   2, &hf_qsig_mcm_noMsgsOfMsgType, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_NULL },
11487   { 0, NULL, 0, 0, 0, NULL }
11488 };
11489 
11490 static int
dissect_qsig_mcm_MessageInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11491 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_) {
11492   offset = dissect_ber_choice(actx, tree, tvb, offset,
11493                                  qsig_mcm_MessageInfo_choice, hf_index, ett_qsig_mcm_MessageInfo,
11494                                  NULL);
11495 
11496   return offset;
11497 }
11498 
11499 
11500 static const ber_sequence_t qsig_mcm_AllMsgInfo_sequence[] = {
11501   { &hf_qsig_mcm_newMsgInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11502   { &hf_qsig_mcm_retrievedMsgInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MessageInfo },
11503   { NULL, 0, 0, 0, NULL }
11504 };
11505 
11506 static int
dissect_qsig_mcm_AllMsgInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11507 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_) {
11508   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11509                                    qsig_mcm_AllMsgInfo_sequence, hf_index, ett_qsig_mcm_AllMsgInfo);
11510 
11511   return offset;
11512 }
11513 
11514 
11515 static const value_string qsig_mcm_UpdateInfo_vals[] = {
11516   {   0, "newMsgInfoOnly" },
11517   {   1, "retrievedMsgInfoOnly" },
11518   {   2, "allMsgInfo" },
11519   { 0, NULL }
11520 };
11521 
11522 static const ber_choice_t qsig_mcm_UpdateInfo_choice[] = {
11523   {   0, &hf_qsig_mcm_newMsgInfoOnly, BER_CLASS_CON, 1, 0, dissect_qsig_mcm_MessageInfo },
11524   {   1, &hf_qsig_mcm_retrievedMsgInfoOnly, BER_CLASS_CON, 2, 0, dissect_qsig_mcm_MessageInfo },
11525   {   2, &hf_qsig_mcm_allMsgInfo , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_AllMsgInfo },
11526   { 0, NULL, 0, 0, 0, NULL }
11527 };
11528 
11529 static int
dissect_qsig_mcm_UpdateInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11530 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_) {
11531   offset = dissect_ber_choice(actx, tree, tvb, offset,
11532                                  qsig_mcm_UpdateInfo_choice, hf_index, ett_qsig_mcm_UpdateInfo,
11533                                  NULL);
11534 
11535   return offset;
11536 }
11537 
11538 
11539 
11540 static int
dissect_qsig_mcm_BOOLEAN(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11541 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_) {
11542   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
11543 
11544   return offset;
11545 }
11546 
11547 
11548 static const ber_sequence_t qsig_mcm_MCMUpdateArg_sequence[] = {
11549   { &hf_qsig_mcm_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_PartyInfo },
11550   { &hf_qsig_mcm_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11551   { &hf_qsig_mcm_updateInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_UpdateInfo },
11552   { &hf_qsig_mcm_moreInfoFollows, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_BOOLEAN },
11553   { &hf_qsig_mcm_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMExtensions },
11554   { NULL, 0, 0, 0, NULL }
11555 };
11556 
11557 static int
dissect_qsig_mcm_MCMUpdateArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11558 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_) {
11559   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11560                                    qsig_mcm_MCMUpdateArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateArg);
11561 
11562   return offset;
11563 }
11564 
11565 
11566 static const value_string qsig_mcm_MCMUpdArgArgumentExt_vals[] = {
11567   {   3, "extension" },
11568   {   4, "multipleExtension" },
11569   { 0, NULL }
11570 };
11571 
11572 static const ber_choice_t qsig_mcm_MCMUpdArgArgumentExt_choice[] = {
11573   {   3, &hf_qsig_mcm_extension  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11574   {   4, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11575   { 0, NULL, 0, 0, 0, NULL }
11576 };
11577 
11578 static int
dissect_qsig_mcm_MCMUpdArgArgumentExt(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11579 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_) {
11580   offset = dissect_ber_choice(actx, tree, tvb, offset,
11581                                  qsig_mcm_MCMUpdArgArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdArgArgumentExt,
11582                                  NULL);
11583 
11584   return offset;
11585 }
11586 
11587 
11588 static const ber_sequence_t qsig_mcm_MCMUpdateReqArg_sequence[] = {
11589   { &hf_qsig_mcm_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PartyNumber },
11590   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11591   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11592   { &hf_qsig_mcm_argumentExtMCMUpdArg, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdArgArgumentExt },
11593   { NULL, 0, 0, 0, NULL }
11594 };
11595 
11596 static int
dissect_qsig_mcm_MCMUpdateReqArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11597 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_) {
11598   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11599                                    qsig_mcm_MCMUpdateReqArg_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqArg);
11600 
11601   return offset;
11602 }
11603 
11604 
11605 static const value_string qsig_mcm_MCMUpdResArgumentExt_vals[] = {
11606   {   6, "extension" },
11607   {   7, "multipleExtension" },
11608   { 0, NULL }
11609 };
11610 
11611 static const ber_choice_t qsig_mcm_MCMUpdResArgumentExt_choice[] = {
11612   {   6, &hf_qsig_mcm_extension  , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11613   {   7, &hf_qsig_mcm_multipleExtension, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_qsig_mcm_SEQUENCE_OF_Extension },
11614   { 0, NULL, 0, 0, 0, NULL }
11615 };
11616 
11617 static int
dissect_qsig_mcm_MCMUpdResArgumentExt(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11618 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_) {
11619   offset = dissect_ber_choice(actx, tree, tvb, offset,
11620                                  qsig_mcm_MCMUpdResArgumentExt_choice, hf_index, ett_qsig_mcm_MCMUpdResArgumentExt,
11621                                  NULL);
11622 
11623   return offset;
11624 }
11625 
11626 
11627 static const ber_sequence_t qsig_mcm_MCMUpdateReqResElt_sequence[] = {
11628   { &hf_qsig_mcm_specificMessageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11629   { &hf_qsig_mcm_msgCentreId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MsgCentreId },
11630   { &hf_qsig_mcm_nrOfMessages, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_NrOfMessages },
11631   { &hf_qsig_mcm_originatingNr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_qsig_PartyNumber },
11632   { &hf_qsig_mcm_timestamp  , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_TimeStamp },
11633   { &hf_qsig_mcm_priority   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qsig_mcm_INTEGER_0_9 },
11634   { &hf_qsig_mcm_argumentExtMCMUpdRes, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mcm_MCMUpdResArgumentExt },
11635   { NULL, 0, 0, 0, NULL }
11636 };
11637 
11638 static int
dissect_qsig_mcm_MCMUpdateReqResElt(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11639 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_) {
11640   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11641                                    qsig_mcm_MCMUpdateReqResElt_sequence, hf_index, ett_qsig_mcm_MCMUpdateReqResElt);
11642 
11643   return offset;
11644 }
11645 
11646 
11647 static const ber_sequence_t qsig_mcm_MCMUpdateReqRes_sequence_of[1] = {
11648   { &hf_qsig_mcm_MCMUpdateReqRes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MCMUpdateReqResElt },
11649 };
11650 
11651 static int
dissect_qsig_mcm_MCMUpdateReqRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11652 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_) {
11653   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11654                                       qsig_mcm_MCMUpdateReqRes_sequence_of, hf_index, ett_qsig_mcm_MCMUpdateReqRes);
11655 
11656   return offset;
11657 }
11658 
11659 
11660 
11661 static int
dissect_qsig_mcm_MCMDummyRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11662 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_) {
11663   offset = dissect_qsig_mcm_MCMExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11664 
11665   return offset;
11666 }
11667 
11668 /*--- PDUs ---*/
11669 
dissect_qsig_mcm_MCMNewMsgArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11670 static int dissect_qsig_mcm_MCMNewMsgArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11671   int offset = 0;
11672   asn1_ctx_t asn1_ctx;
11673   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11674   offset = dissect_qsig_mcm_MCMNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU);
11675   return offset;
11676 }
dissect_qsig_mcm_MCMDummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11677 static int dissect_qsig_mcm_MCMDummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11678   int offset = 0;
11679   asn1_ctx_t asn1_ctx;
11680   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11681   offset = dissect_qsig_mcm_MCMDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU);
11682   return offset;
11683 }
dissect_qsig_mcm_MCMNoNewMsgArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11684 static int dissect_qsig_mcm_MCMNoNewMsgArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11685   int offset = 0;
11686   asn1_ctx_t asn1_ctx;
11687   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11688   offset = dissect_qsig_mcm_MCMNoNewMsgArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU);
11689   return offset;
11690 }
dissect_qsig_mcm_MCMUpdateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11691 static int dissect_qsig_mcm_MCMUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11692   int offset = 0;
11693   asn1_ctx_t asn1_ctx;
11694   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11695   offset = dissect_qsig_mcm_MCMUpdateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU);
11696   return offset;
11697 }
dissect_qsig_mcm_MCMUpdateReqArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11698 static int dissect_qsig_mcm_MCMUpdateReqArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11699   int offset = 0;
11700   asn1_ctx_t asn1_ctx;
11701   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11702   offset = dissect_qsig_mcm_MCMUpdateReqArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU);
11703   return offset;
11704 }
dissect_qsig_mcm_MCMUpdateReqRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11705 static int dissect_qsig_mcm_MCMUpdateReqRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11706   int offset = 0;
11707   asn1_ctx_t asn1_ctx;
11708   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11709   offset = dissect_qsig_mcm_MCMUpdateReqRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU);
11710   return offset;
11711 }
dissect_qsig_mcm_MCMServiceArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11712 static int dissect_qsig_mcm_MCMServiceArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11713   int offset = 0;
11714   asn1_ctx_t asn1_ctx;
11715   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11716   offset = dissect_qsig_mcm_MCMServiceArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU);
11717   return offset;
11718 }
dissect_qsig_mcm_MCMInterrogateArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11719 static int dissect_qsig_mcm_MCMInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11720   int offset = 0;
11721   asn1_ctx_t asn1_ctx;
11722   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11723   offset = dissect_qsig_mcm_MCMInterrogateArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU);
11724   return offset;
11725 }
dissect_qsig_mcm_MCMInterrogateRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11726 static int dissect_qsig_mcm_MCMInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11727   int offset = 0;
11728   asn1_ctx_t asn1_ctx;
11729   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11730   offset = dissect_qsig_mcm_MCMInterrogateRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU);
11731   return offset;
11732 }
dissect_qsig_mcm_MCMailboxFullArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11733 static int dissect_qsig_mcm_MCMailboxFullArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11734   int offset = 0;
11735   asn1_ctx_t asn1_ctx;
11736   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11737   offset = dissect_qsig_mcm_MCMailboxFullArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU);
11738   return offset;
11739 }
dissect_qsig_mcm_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11740 static int dissect_qsig_mcm_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11741   int offset = 0;
11742   asn1_ctx_t asn1_ctx;
11743   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11744   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mcm_qsig_mcm_Extension_PDU);
11745   return offset;
11746 }
11747 
11748 
11749 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
11750 
11751 
11752 static const ber_sequence_t qsig_mid_PartyInfo_sequence[] = {
11753   { &hf_qsig_mid_servedUserNr, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_PresentedAddressUnscreened },
11754   { &hf_qsig_mid_messageType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MessageType },
11755   { &hf_qsig_mid_messageCentreID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_qsig_mcm_MsgCentreId },
11756   { NULL, 0, 0, 0, NULL }
11757 };
11758 
11759 static int
dissect_qsig_mid_PartyInfo(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11760 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_) {
11761   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11762                                    qsig_mid_PartyInfo_sequence, hf_index, ett_qsig_mid_PartyInfo);
11763 
11764   return offset;
11765 }
11766 
11767 
11768 
11769 static int
dissect_qsig_mid_BMPString(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11770 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_) {
11771   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
11772                                             actx, tree, tvb, offset, hf_index,
11773                                             NULL);
11774 
11775   return offset;
11776 }
11777 
11778 
11779 
11780 static int
dissect_qsig_mid_UTF8String(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11781 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_) {
11782   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
11783                                             actx, tree, tvb, offset, hf_index,
11784                                             NULL);
11785 
11786   return offset;
11787 }
11788 
11789 
11790 static const value_string qsig_mid_String_vals[] = {
11791   {   0, "stringBmp" },
11792   {   1, "stringUtf8" },
11793   { 0, NULL }
11794 };
11795 
11796 static const ber_choice_t qsig_mid_String_choice[] = {
11797   {   0, &hf_qsig_mid_stringBmp  , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_BMPString },
11798   {   1, &hf_qsig_mid_stringUtf8 , BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_UTF8String },
11799   { 0, NULL, 0, 0, 0, NULL }
11800 };
11801 
11802 static int
dissect_qsig_mid_String(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11803 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_) {
11804   offset = dissect_ber_choice(actx, tree, tvb, offset,
11805                                  qsig_mid_String_choice, hf_index, ett_qsig_mid_String,
11806                                  NULL);
11807 
11808   return offset;
11809 }
11810 
11811 
11812 
11813 static int
dissect_qsig_mid_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11814 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_) {
11815   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
11816 
11817   return offset;
11818 }
11819 
11820 
11821 static const ber_sequence_t qsig_mid_SEQUENCE_OF_Extension_sequence_of[1] = {
11822   { &hf_qsig_mid_multipleExtension_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_Extension },
11823 };
11824 
11825 static int
dissect_qsig_mid_SEQUENCE_OF_Extension(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11826 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_) {
11827   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11828                                       qsig_mid_SEQUENCE_OF_Extension_sequence_of, hf_index, ett_qsig_mid_SEQUENCE_OF_Extension);
11829 
11830   return offset;
11831 }
11832 
11833 
11834 static const value_string qsig_mid_MIDExtensions_vals[] = {
11835   {   0, "none" },
11836   {   1, "extension" },
11837   {   2, "multipleExtension" },
11838   { 0, NULL }
11839 };
11840 
11841 static const ber_choice_t qsig_mid_MIDExtensions_choice[] = {
11842   {   0, &hf_qsig_mid_none       , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_NULL },
11843   {   1, &hf_qsig_mid_extension  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_qsig_Extension },
11844   {   2, &hf_qsig_mid_multipleExtension, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_qsig_mid_SEQUENCE_OF_Extension },
11845   { 0, NULL, 0, 0, 0, NULL }
11846 };
11847 
11848 static int
dissect_qsig_mid_MIDExtensions(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11849 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_) {
11850   offset = dissect_ber_choice(actx, tree, tvb, offset,
11851                                  qsig_mid_MIDExtensions_choice, hf_index, ett_qsig_mid_MIDExtensions,
11852                                  NULL);
11853 
11854   return offset;
11855 }
11856 
11857 
11858 static const ber_sequence_t qsig_mid_MIDMailboxAuthArg_sequence[] = {
11859   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11860   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11861   { &hf_qsig_mid_mailBox    , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11862   { &hf_qsig_mid_password   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11863   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11864   { NULL, 0, 0, 0, NULL }
11865 };
11866 
11867 static int
dissect_qsig_mid_MIDMailboxAuthArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11868 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_) {
11869   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11870                                    qsig_mid_MIDMailboxAuthArg_sequence, hf_index, ett_qsig_mid_MIDMailboxAuthArg);
11871 
11872   return offset;
11873 }
11874 
11875 
11876 static const ber_sequence_t qsig_mid_MIDMailboxIDArg_sequence[] = {
11877   { &hf_qsig_mid_partyInfo  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_qsig_mid_PartyInfo },
11878   { &hf_qsig_mid_servedUserName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qsig_na_Name },
11879   { &hf_qsig_mid_mailBox    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_String },
11880   { &hf_qsig_mid_extensions , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_qsig_mid_MIDExtensions },
11881   { NULL, 0, 0, 0, NULL }
11882 };
11883 
11884 static int
dissect_qsig_mid_MIDMailboxIDArg(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11885 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_) {
11886   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11887                                    qsig_mid_MIDMailboxIDArg_sequence, hf_index, ett_qsig_mid_MIDMailboxIDArg);
11888 
11889   return offset;
11890 }
11891 
11892 
11893 
11894 static int
dissect_qsig_mid_MIDDummyRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11895 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_) {
11896   offset = dissect_qsig_mid_MIDExtensions(implicit_tag, tvb, offset, actx, tree, hf_index);
11897 
11898   return offset;
11899 }
11900 
11901 /*--- PDUs ---*/
11902 
dissect_qsig_mid_MIDMailboxAuthArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11903 static int dissect_qsig_mid_MIDMailboxAuthArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11904   int offset = 0;
11905   asn1_ctx_t asn1_ctx;
11906   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11907   offset = dissect_qsig_mid_MIDMailboxAuthArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU);
11908   return offset;
11909 }
dissect_qsig_mid_MIDDummyRes_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11910 static int dissect_qsig_mid_MIDDummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11911   int offset = 0;
11912   asn1_ctx_t asn1_ctx;
11913   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11914   offset = dissect_qsig_mid_MIDDummyRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDDummyRes_PDU);
11915   return offset;
11916 }
dissect_qsig_mid_MIDMailboxIDArg_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11917 static int dissect_qsig_mid_MIDMailboxIDArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11918   int offset = 0;
11919   asn1_ctx_t asn1_ctx;
11920   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11921   offset = dissect_qsig_mid_MIDMailboxIDArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU);
11922   return offset;
11923 }
dissect_qsig_mid_Extension_PDU(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,void * data _U_)11924 static int dissect_qsig_mid_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
11925   int offset = 0;
11926   asn1_ctx_t asn1_ctx;
11927   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
11928   offset = dissect_qsig_Extension(FALSE, tvb, offset, &asn1_ctx, tree, hf_qsig_mid_qsig_mid_Extension_PDU);
11929   return offset;
11930 }
11931 
11932 
11933 /*--- End of included file: packet-qsig-fn.c ---*/
11934 #line 317 "./asn1/qsig/packet-qsig-template.c"
11935 
11936 typedef struct _qsig_op_t {
11937   gint32 opcode;
11938   dissector_t arg_pdu;
11939   dissector_t res_pdu;
11940 } qsig_op_t;
11941 
11942 static const qsig_op_t qsig_op_tab[] = {
11943 
11944 /*--- Included file: packet-qsig-table11.c ---*/
11945 #line 1 "./asn1/qsig/packet-qsig-table11.c"
11946 
11947 /* --- Module General-Error-List --- --- ---                                  */
11948 
11949 /* Unknown or empty loop list OPERATION */
11950 
11951 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
11952 
11953 /* Unknown or empty loop list OPERATION */
11954 
11955 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
11956 
11957   /* callingName              */ {   0, dissect_qsig_na_NameArg_PDU, NULL },
11958   /* calledName               */ {   1, dissect_qsig_na_NameArg_PDU, NULL },
11959   /* connectedName            */ {   2, dissect_qsig_na_NameArg_PDU, NULL },
11960   /* busyName                 */ {   3, dissect_qsig_na_NameArg_PDU, NULL },
11961 
11962 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
11963 
11964   /* activateDiversionQ       */ {  15, dissect_qsig_cf_ARG_activateDiversionQ_PDU, dissect_qsig_cf_RES_activateDiversionQ_PDU },
11965   /* deactivateDiversionQ     */ {  16, dissect_qsig_cf_ARG_deactivateDiversionQ_PDU, dissect_qsig_cf_RES_deactivateDiversionQ_PDU },
11966   /* interrogateDiversionQ    */ {  17, dissect_qsig_cf_ARG_interrogateDiversionQ_PDU, dissect_qsig_cf_IntResultList_PDU },
11967   /* checkRestriction         */ {  18, dissect_qsig_cf_ARG_checkRestriction_PDU, dissect_qsig_cf_RES_checkRestriction_PDU },
11968   /* callRerouteing           */ {  19, dissect_qsig_cf_ARG_callRerouteing_PDU, dissect_qsig_cf_RES_callRerouteing_PDU },
11969   /* divertingLegInformation1 */ {  20, dissect_qsig_cf_ARG_divertingLegInformation1_PDU, NULL },
11970   /* divertingLegInformation2 */ {  21, dissect_qsig_cf_ARG_divertingLegInformation2_PDU, NULL },
11971   /* divertingLegInformation3 */ {  22, dissect_qsig_cf_ARG_divertingLegInformation3_PDU, NULL },
11972   /* cfnrDivertedLegFailed    */ {  23, dissect_qsig_cf_ARG_cfnrDivertedLegFailed_PDU, NULL },
11973 
11974 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
11975 
11976   /* pathReplaceInvite        */ {  86, dissect_qsig_pr_DummyArg_PDU, NULL },
11977   /* pathReplacePropose       */ {   4, dissect_qsig_pr_PRProposeArg_PDU, NULL },
11978   /* pathReplaceSetup         */ {   5, dissect_qsig_pr_PRSetupArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11979   /* pathReplaceRetain        */ {   6, dissect_qsig_pr_PRRetainArg_PDU, dissect_qsig_pr_DummyResult_PDU },
11980 
11981 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
11982 
11983   /* callTransferIdentify     */ {   7, dissect_qsig_ct_DummyArg_PDU, dissect_qsig_ct_CTIdentifyRes_PDU },
11984   /* callTransferAbandon      */ {   8, dissect_qsig_ct_DummyArg_PDU, NULL },
11985   /* callTransferInitiate     */ {   9, dissect_qsig_ct_CTInitiateArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11986   /* callTransferSetup        */ {  10, dissect_qsig_ct_CTSetupArg_PDU, dissect_qsig_ct_DummyRes_PDU },
11987   /* callTransferActive       */ {  11, dissect_qsig_ct_CTActiveArg_PDU, NULL },
11988   /* callTransferComplete     */ {  12, dissect_qsig_ct_CTCompleteArg_PDU, NULL },
11989   /* callTransferUpdate       */ {  13, dissect_qsig_ct_CTUpdateArg_PDU, NULL },
11990   /* subaddressTransfer       */ {  14, dissect_qsig_ct_SubaddressTransferArg_PDU, NULL },
11991 
11992 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
11993 
11994   /* ccbsRequest              */ {  40, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11995   /* ccnrRequest              */ {  27, dissect_qsig_cc_CcRequestArg_PDU, dissect_qsig_cc_CcRequestRes_PDU },
11996   /* ccCancel                 */ {  28, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11997   /* ccExecPossible           */ {  29, dissect_qsig_cc_CcOptionalArg_PDU, NULL },
11998   /* ccPathReserve            */ {  30, dissect_qsig_cc_CcExtension_PDU, dissect_qsig_cc_CcExtension_PDU },
11999   /* ccRingout                */ {  31, dissect_qsig_cc_CcExtension_PDU, NULL },
12000   /* ccSuspend                */ {  32, dissect_qsig_cc_CcExtension_PDU, NULL },
12001   /* ccResume                 */ {  33, dissect_qsig_cc_CcExtension_PDU, NULL },
12002 
12003 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
12004 
12005   /* pathRetain               */ {  41, dissect_qsig_co_PathRetainArg_PDU, NULL },
12006   /* serviceAvailable         */ {  42, dissect_qsig_co_ServiceAvailableArg_PDU, NULL },
12007   /* callOfferRequest         */ {  34, dissect_qsig_co_DummyArg_PDU, dissect_qsig_co_DummyRes_PDU },
12008   /* cfbOverride              */ {  49, dissect_qsig_co_DummyArg_PDU, NULL },
12009 
12010 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
12011 
12012   /* doNotDisturbActivateQ    */ {  35, dissect_qsig_dnd_DNDActivateArg_PDU, dissect_qsig_dnd_DNDActivateRes_PDU },
12013   /* doNotDisturbDeactivateQ  */ {  36, dissect_qsig_dnd_DNDDeactivateArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
12014   /* doNotDisturbInterrogateQ */ {  37, dissect_qsig_dnd_DNDInterrogateArg_PDU, dissect_qsig_dnd_DNDInterrogateRes_PDU },
12015   /* doNotDisturbOverrideQ    */ {  38, dissect_qsig_dnd_DNDOverrideArg_PDU, NULL },
12016   /* pathRetain               */ {  41, dissect_qsig_dnd_PathRetainArg_PDU, NULL },
12017   /* serviceAvailable         */ {  42, dissect_qsig_dnd_ServiceAvailableArg_PDU, NULL },
12018   /* doNotDisturbOvrExecuteQ  */ {  39, dissect_qsig_dnd_DummyArg_PDU, dissect_qsig_dnd_DummyRes_PDU },
12019 
12020 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
12021 
12022   /* pathRetain               */ {  41, dissect_qsig_ci_PathRetainArg_PDU, NULL },
12023   /* serviceAvailable         */ {  42, dissect_qsig_ci_ServiceAvailableArg_PDU, NULL },
12024   /* callIntrusionRequest     */ {  43, dissect_qsig_ci_CIRequestArg_PDU, dissect_qsig_ci_CIRequestRes_PDU },
12025   /* callIntrusionGetCIPL     */ {  44, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_CIGetCIPLRes_PDU },
12026   /* callIntrusionForcedRelease */ {  46, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12027   /* callIntrusionIsolate     */ {  45, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12028   /* callIntrusionWOBRequest  */ {  47, dissect_qsig_ci_DummyArg_PDU, dissect_qsig_ci_DummyRes_PDU },
12029   /* callIntrusionCompleted   */ {  48, dissect_qsig_ci_DummyArg_PDU, NULL },
12030   /* cfbOverride              */ {  49, dissect_qsig_ci_DummyArg_PDU, NULL },
12031 
12032 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
12033 
12034   /* aocRate                  */ {  63, dissect_qsig_aoc_AocRateArg_PDU, NULL },
12035   /* aocInterim               */ {  62, dissect_qsig_aoc_AocInterimArg_PDU, NULL },
12036   /* aocFinal                 */ {  61, dissect_qsig_aoc_AocFinalArg_PDU, NULL },
12037   /* chargeRequest            */ {  59, dissect_qsig_aoc_ChargeRequestArg_PDU, dissect_qsig_aoc_ChargeRequestRes_PDU },
12038   /* getFinalCharge           */ {  60, dissect_qsig_aoc_DummyArg_PDU, NULL },
12039   /* aocComplete              */ {  64, dissect_qsig_aoc_AocCompleteArg_PDU, dissect_qsig_aoc_AocCompleteRes_PDU },
12040   /* aocDivChargeReq          */ {  65, dissect_qsig_aoc_AocDivChargeReqArg_PDU, NULL },
12041 
12042 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12043 
12044   /* recallAlerting           */ {  57, dissect_qsig_re_ReAlertingArg_PDU, NULL },
12045   /* recallAnswered           */ {  58, dissect_qsig_re_ReAnswerArg_PDU, NULL },
12046 
12047 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12048 
12049   /* synchronizationRequest   */ {  78, dissect_qsig_sync_SynchronizationReqArg_PDU, dissect_qsig_sync_SynchronizationReqRes_PDU },
12050   /* synchronizationInfo      */ {  79, dissect_qsig_sync_SynchronizationInfoArg_PDU, NULL },
12051 
12052 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12053 
12054   /* cintLegInformation1      */ {  66, dissect_qsig_cint_CintInformation1Arg_PDU, NULL },
12055   /* cintLegInformation2      */ {  67, dissect_qsig_cint_CintInformation2Arg_PDU, NULL },
12056   /* cintCondition            */ {  68, dissect_qsig_cint_CintCondArg_PDU, NULL },
12057   /* cintDisable              */ {  69, dissect_qsig_cint_CintExtension_PDU, NULL },
12058   /* cintEnable               */ {  70, dissect_qsig_cint_CintExtension_PDU, NULL },
12059 
12060 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12061 
12062   /* cmnRequest               */ {  84, dissect_qsig_cmn_DummyArg_PDU, dissect_qsig_cmn_CmnArg_PDU },
12063   /* cmnInform                */ {  85, dissect_qsig_cmn_CmnArg_PDU, NULL },
12064 
12065 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12066 
12067   /* callInterruptionRequest  */ {  87, dissect_qsig_cpi_CPIRequestArg_PDU, NULL },
12068   /* callProtectionRequest    */ {  88, dissect_qsig_cpi_CPIPRequestArg_PDU, NULL },
12069 
12070 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12071 
12072   /* pumRegistr               */ {  89, dissect_qsig_pumr_PumRegistrArg_PDU, dissect_qsig_pumr_PumRegistrRes_PDU },
12073   /* pumDelReg                */ {  90, dissect_qsig_pumr_PumDelRegArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12074   /* pumDe-reg                */ {  91, dissect_qsig_pumr_PumDe_regArg_PDU, dissect_qsig_pumr_DummyRes_PDU },
12075   /* pumInterrog              */ {  92, dissect_qsig_pumr_PumInterrogArg_PDU, dissect_qsig_pumr_PumInterrogRes_PDU },
12076 
12077 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12078 
12079   /* pumiEnquiry              */ {  93, dissect_qsig_pumch_EnquiryArg_PDU, dissect_qsig_pumch_EnquiryRes_PDU },
12080   /* pumiDivert               */ {  94, dissect_qsig_pumch_DivertArg_PDU, dissect_qsig_pumch_DummyRes_PDU },
12081   /* pumiInform               */ {  95, dissect_qsig_pumch_InformArg_PDU, NULL },
12082   /* pumoCall                 */ {  96, dissect_qsig_pumch_PumoArg_PDU, NULL },
12083 
12084 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12085 
12086   /* ssctInitiate             */ {  99, dissect_qsig_ssct_SSCTInitiateArg_PDU, dissect_qsig_ssct_DummyRes_PDU },
12087   /* ssctSetup                */ { 100, dissect_qsig_ssct_SSCTSetupArg_PDU, NULL },
12088   /* ssctPostDial             */ { 101, dissect_qsig_ssct_DummyArg_PDU, NULL },
12089   /* ssctDigitInfo            */ { 102, dissect_qsig_ssct_SSCTDigitInfoArg_PDU, NULL },
12090 
12091 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12092 
12093   /* locUpdate                */ {  50, dissect_qsig_wtmlr_LocUpdArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12094   /* locDelete                */ {  51, dissect_qsig_wtmlr_LocDelArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12095   /* locDeReg                 */ {  52, dissect_qsig_wtmlr_LocDeRegArg_PDU, dissect_qsig_wtmlr_DummyRes_PDU },
12096   /* pisnEnquiry              */ {  53, dissect_qsig_wtmlr_PisnEnqArg_PDU, dissect_qsig_wtmlr_PisnEnqRes_PDU },
12097   /* getRRCInf                */ {  97, dissect_qsig_wtmlr_GetRRCInfArg_PDU, dissect_qsig_wtmlr_GetRRCInfRes_PDU },
12098   /* locInfoCheck             */ {  98, dissect_qsig_wtmlr_LocInfoCheckArg_PDU, dissect_qsig_wtmlr_LocInfoCheckRes_PDU },
12099 
12100 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12101 
12102   /* wtmiEnquiry              */ {  54, dissect_qsig_wtmch_EnquiryArg_PDU, dissect_qsig_wtmch_EnquiryRes_PDU },
12103   /* wtmiDivert               */ {  55, dissect_qsig_wtmch_DivertArg_PDU, dissect_qsig_wtmch_DummyRes_PDU },
12104   /* wtmiInform               */ {  56, dissect_qsig_wtmch_InformArg_PDU, NULL },
12105   /* wtmoCall                 */ {  71, dissect_qsig_wtmch_WtmoArg_PDU, NULL },
12106 
12107 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12108 
12109   /* authWtmUser              */ {  72, dissect_qsig_wtmau_AuthWtmArg_PDU, dissect_qsig_wtmau_AuthWtmRes_PDU },
12110   /* getWtatParam             */ {  73, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12111   /* wtatParamEnq             */ {  74, dissect_qsig_wtmau_WtatParamArg_PDU, dissect_qsig_wtmau_WtatParamRes_PDU },
12112   /* getWtanParam             */ {  75, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12113   /* wtanParamEnq             */ {  76, dissect_qsig_wtmau_WtanParamArg_PDU, dissect_qsig_wtmau_WtanParamRes_PDU },
12114   /* transferAuthParam        */ {  77, dissect_qsig_wtmau_ARG_transferAuthParam_PDU, NULL },
12115 
12116 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12117 
12118   /* display                  */ { 103, dissect_qsig_sd_DisplayArg_PDU, NULL },
12119   /* keypad                   */ { 104, dissect_qsig_sd_KeypadArg_PDU, NULL },
12120 
12121 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12122 
12123   /* callIdentificationAssign */ { 105, dissect_qsig_cidl_CallIdentificationAssignArg_PDU, NULL },
12124   /* callIdentificationUpdate */ { 106, dissect_qsig_cidl_CallIdentificationUpdateArg_PDU, NULL },
12125 
12126 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12127 
12128   /* smsSubmit                */ { 107, dissect_qsig_sms_SmsSubmitArg_PDU, dissect_qsig_sms_SmsSubmitRes_PDU },
12129   /* smsDeliver               */ { 108, dissect_qsig_sms_SmsDeliverArg_PDU, dissect_qsig_sms_SmsDeliverRes_PDU },
12130   /* smsStatusReport          */ { 109, dissect_qsig_sms_SmsStatusReportArg_PDU, dissect_qsig_sms_SmsStatusReportRes_PDU },
12131   /* smsCommand               */ { 110, dissect_qsig_sms_SmsCommandArg_PDU, dissect_qsig_sms_SmsCommandRes_PDU },
12132   /* scAlert                  */ { 111, dissect_qsig_sms_ScAlertArg_PDU, dissect_qsig_sms_DummyRes_PDU },
12133 
12134 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12135 
12136   /* mCRequest                */ { 112, dissect_qsig_mcr_MCRequestArg_PDU, dissect_qsig_mcr_MCRequestResult_PDU },
12137   /* mCInform                 */ { 113, dissect_qsig_mcr_MCInformArg_PDU, NULL },
12138   /* mCAlerting               */ { 114, dissect_qsig_mcr_MCAlertingArg_PDU, NULL },
12139 
12140 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12141 
12142   /* mCMNewMsg                */ {  80, dissect_qsig_mcm_MCMNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12143   /* mCMNoNewMsg              */ {  81, dissect_qsig_mcm_MCMNoNewMsgArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12144   /* mCMUpdate                */ { 115, dissect_qsig_mcm_MCMUpdateArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12145   /* mCMUpdateReq             */ {  82, dissect_qsig_mcm_MCMUpdateReqArg_PDU, dissect_qsig_mcm_MCMUpdateReqRes_PDU },
12146   /* mCMService               */ { 116, dissect_qsig_mcm_MCMServiceArg_PDU, dissect_qsig_mcm_MCMDummyRes_PDU },
12147   /* mCMInterrogate           */ { 117, dissect_qsig_mcm_MCMInterrogateArg_PDU, dissect_qsig_mcm_MCMInterrogateRes_PDU },
12148   /* mCMailboxFull            */ { 118, dissect_qsig_mcm_MCMailboxFullArg_PDU, NULL },
12149 
12150 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12151 
12152   /* mIDMailboxAuth           */ { 119, dissect_qsig_mid_MIDMailboxAuthArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12153   /* mIDMailboxID             */ { 120, dissect_qsig_mid_MIDMailboxIDArg_PDU, dissect_qsig_mid_MIDDummyRes_PDU },
12154 
12155 /*--- End of included file: packet-qsig-table11.c ---*/
12156 #line 326 "./asn1/qsig/packet-qsig-template.c"
12157 };
12158 
12159 typedef struct _qsig_err_t {
12160   gint32 errcode;
12161   dissector_t err_pdu;
12162 } qsig_err_t;
12163 
12164 static const qsig_err_t qsig_err_tab[] = {
12165 
12166 /*--- Included file: packet-qsig-table21.c ---*/
12167 #line 1 "./asn1/qsig/packet-qsig-table21.c"
12168 
12169 /* --- Module General-Error-List --- --- ---                                  */
12170 
12171   /* userNotSubscribed        */ {    0, NULL },
12172   /* rejectedByNetwork        */ {    1, NULL },
12173   /* rejectedByUser           */ {    2, NULL },
12174   /* notAvailable             */ {    3, NULL },
12175   /* insufficientInformation  */ {    5, NULL },
12176   /* invalidServedUserNr      */ {    6, NULL },
12177   /* invalidCallState         */ {    7, NULL },
12178   /* basicServiceNotProvided  */ {    8, NULL },
12179   /* notIncomingCall          */ {    9, NULL },
12180   /* supplementaryServiceInteractionNotAllowed */ {   10, NULL },
12181   /* resourceUnavailable      */ {   11, NULL },
12182   /* callFailure              */ {   25, NULL },
12183   /* proceduralError          */ {   43, NULL },
12184 
12185 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12186 
12187 /* Unknown or empty loop list ERROR */
12188 
12189 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12190 
12191 /* Unknown or empty loop list ERROR */
12192 
12193 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12194 
12195   /* invalidDivertedToNr      */ {   12, NULL },
12196   /* specialServiceNr         */ {   14, NULL },
12197   /* diversionToServedUserNr  */ {   15, NULL },
12198   /* numberOfDiversionsExceeded */ {   24, NULL },
12199   /* temporarilyUnavailable   */ { 1000, NULL },
12200   /* notAuthorized            */ { 1007, NULL },
12201   /* unspecified              */ { 1008, dissect_qsig_cf_Extension_PDU },
12202 
12203 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
12204 
12205   /* temporarilyUnavailable   */ { 1000, NULL },
12206   /* collision                */ { 1001, NULL },
12207   /* criteriaPermanentlyUnachievable */ { 1002, NULL },
12208   /* criteriaTemporarilyUnachievable */ { 1003, NULL },
12209   /* invalidRerouteingNumber  */ { 1004, NULL },
12210   /* unrecognizedCallIdentity */ { 1005, NULL },
12211   /* establishmentFailure     */ { 1006, NULL },
12212   /* unspecified              */ { 1008, dissect_qsig_pr_Extension_PDU },
12213 
12214 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
12215 
12216   /* unspecified              */ { 1008, dissect_qsig_ct_Extension_PDU },
12217   /* invalidRerouteingNumber  */ { 1004, NULL },
12218   /* unrecognizedCallIdentity */ { 1005, NULL },
12219   /* establishmentFailure     */ { 1006, NULL },
12220 
12221 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
12222 
12223   /* unspecified              */ { 1008, dissect_qsig_cc_Extension_PDU },
12224   /* shortTermRejection       */ { 1010, NULL },
12225   /* longTermRejection        */ { 1011, NULL },
12226   /* remoteUserBusyAgain      */ { 1012, NULL },
12227   /* failureToMatch           */ { 1013, NULL },
12228   /* failedDueToInterworking  */ { 1014, NULL },
12229 
12230 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
12231 
12232   /* notBusy                  */ { 1009, NULL },
12233   /* temporarilyUnavailable   */ { 1000, NULL },
12234   /* unspecified              */ { 1008, dissect_qsig_co_Extension_PDU },
12235 
12236 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
12237 
12238   /* temporarilyUnavailable   */ { 1000, NULL },
12239   /* unspecified              */ { 1008, dissect_qsig_dnd_Extension_PDU },
12240 
12241 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
12242 
12243   /* notBusy                  */ { 1009, NULL },
12244   /* temporarilyUnavailable   */ { 1000, NULL },
12245   /* notAuthorized            */ { 1007, NULL },
12246   /* unspecified              */ { 1008, dissect_qsig_ci_Extension_PDU },
12247 
12248 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
12249 
12250   /* unspecified              */ { 1008, dissect_qsig_aoc_Extension_PDU },
12251   /* freeOfCharge             */ { 1016, NULL },
12252 
12253 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
12254 
12255 /* Unknown or empty loop list ERROR */
12256 
12257 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
12258 
12259   /* unspecified              */ { 1008, dissect_qsig_sync_Extension_PDU },
12260 
12261 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
12262 
12263 /* Unknown or empty loop list ERROR */
12264 
12265 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
12266 
12267 /* Unknown or empty loop list ERROR */
12268 
12269 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
12270 
12271 /* Unknown or empty loop list ERROR */
12272 
12273 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
12274 
12275   /* unspecified              */ { 1008, dissect_qsig_pumr_Extension_PDU },
12276   /* notAuthorized            */ { 1007, NULL },
12277   /* temporarilyUnavailable   */ { 1000, NULL },
12278   /* pumUserNotSubscribedToThisServiceOpt */ { 1019, NULL },
12279   /* pumUserFailedAuthentication */ { 1020, NULL },
12280   /* hostingAddrInvalid       */ { 1021, NULL },
12281   /* pumUserNotRegistered     */ { 1022, NULL },
12282 
12283 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
12284 
12285   /* locationNotKnown         */ { 1015, NULL },
12286   /* unspecified              */ { 1008, dissect_qsig_pumch_Extension_PDU },
12287 
12288 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
12289 
12290   /* unspecified              */ { 1008, dissect_qsig_ssct_Extension_PDU },
12291 
12292 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
12293 
12294   /* notAuthorized            */ { 1007, NULL },
12295   /* temporarilyUnavailable   */ { 1000, NULL },
12296   /* unspecified              */ { 1008, dissect_qsig_wtmlr_Extension_PDU },
12297 
12298 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
12299 
12300   /* unspecified              */ { 1008, dissect_qsig_wtmch_Extension_PDU },
12301   /* locationNotKnown         */ { 1015, NULL },
12302 
12303 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
12304 
12305   /* notAuthorized            */ { 1007, NULL },
12306   /* paramNotAvailable        */ { 1017, NULL },
12307   /* temporarilyUnavailable   */ { 1000, NULL },
12308   /* unspecified              */ { 1008, dissect_qsig_wtmau_Extension_PDU },
12309 
12310 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
12311 
12312   /* unspecified              */ { 1008, dissect_qsig_sd_Extension_PDU },
12313   /* noDisplayAvailable       */ { 1023, NULL },
12314   /* displayTemporarilyNotAvailable */ { 1024, NULL },
12315   /* notPresentable           */ { 1025, NULL },
12316 
12317 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
12318 
12319 /* Unknown or empty loop list ERROR */
12320 
12321 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
12322 
12323   /* smsDeliverError          */ { 1026, dissect_qsig_sms_PAR_smsDeliverError_PDU },
12324   /* smsSubmitError           */ { 1027, dissect_qsig_sms_PAR_smsSubmitError_PDU },
12325   /* smsStatusReportError     */ { 1028, dissect_qsig_sms_PAR_smsStatusReportError_PDU },
12326   /* smsCommandError          */ { 1029, dissect_qsig_sms_PAR_smsCommandError_PDU },
12327   /* unspecified              */ { 1008, dissect_qsig_sms_SmsExtension_PDU },
12328 
12329 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
12330 
12331   /* invalidDestinationNumber */ { 1030, NULL },
12332   /* invalidCooperationNumber */ { 1031, NULL },
12333   /* mCRequestNotAllowed      */ { 1032, NULL },
12334   /* mCExecutionNotAllowed    */ { 1033, NULL },
12335   /* mCDestUserBusy           */ { 1034, NULL },
12336   /* mCCoopUserBusy           */ { 1035, NULL },
12337   /* mCCoopUserRejected       */ { 1036, NULL },
12338   /* unspecified              */ { 1008, dissect_qsig_mcr_Extension_PDU },
12339 
12340 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
12341 
12342   /* mCMModeNotProvided       */ { 1037, NULL },
12343   /* unspecified              */ { 1008, dissect_qsig_mcm_Extension_PDU },
12344 
12345 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
12346 
12347   /* invalidMailbox           */ { 1039, NULL },
12348   /* authorizationFailed      */ { 1040, NULL },
12349   /* unspecified              */ { 1008, dissect_qsig_mid_Extension_PDU },
12350 
12351 /*--- End of included file: packet-qsig-table21.c ---*/
12352 #line 335 "./asn1/qsig/packet-qsig-template.c"
12353 };
12354 
get_op(gint32 opcode)12355 static const qsig_op_t *get_op(gint32 opcode) {
12356   int i;
12357 
12358   /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
12359   for (i = array_length(qsig_op_tab) - 1; i >= 0; i--)
12360     if (qsig_op_tab[i].opcode == opcode)
12361       return &qsig_op_tab[i];
12362   return NULL;
12363 }
12364 
get_service(gint32 opcode)12365 static gint32 get_service(gint32 opcode) {
12366   if ((opcode < 0) || (opcode >= (int)array_length(op2srv_tab)))
12367     return NO_SRV;
12368   return op2srv_tab[opcode];
12369 }
12370 
get_err(gint32 errcode)12371 static const qsig_err_t *get_err(gint32 errcode) {
12372   int i;
12373 
12374   /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
12375   for (i = array_length(qsig_err_tab) - 1; i >= 0; i--)
12376     if (qsig_err_tab[i].errcode == errcode)
12377       return &qsig_err_tab[i];
12378   return NULL;
12379 }
12380 
12381 /*--- dissect_qsig_arg ------------------------------------------------------*/
12382 static int
dissect_qsig_arg(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree,void * data)12383 dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
12384   int offset = 0;
12385   rose_ctx_t *rctx;
12386   gint32 opcode = 0, service, oid_num;
12387   const qsig_op_t *op_ptr = NULL;
12388   const gchar *p, *oid;
12389   proto_item *ti, *ti_tmp;
12390   proto_tree *qsig_tree;
12391 
12392   /* Reject the packet if data is NULL */
12393   if (data == NULL)
12394     return 0;
12395   rctx = get_rose_ctx(data);
12396   DISSECTOR_ASSERT(rctx);
12397 
12398   if (rctx->d.pdu != 1)  /* invoke */
12399     return offset;
12400   if (rctx->d.code == 0) {  /* local */
12401     opcode = rctx->d.code_local;
12402     op_ptr = get_op(opcode);
12403   } else if (rctx->d.code == 1) {  /* global */
12404     oid = g_strrstr(rctx->d.code_global, ".");
12405     if (oid != NULL) {
12406      if (ws_strtou32(oid+1, NULL, &oid_num))
12407         op_ptr = get_op(oid_num);
12408     }
12409     if (op_ptr)
12410         opcode = op_ptr->opcode;
12411   } else {
12412     return offset;
12413   }
12414   if (!op_ptr)
12415     return offset;
12416   service = get_service(opcode);
12417 
12418   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_captured_length(tvb), ENC_NA);
12419   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12420 
12421   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12422   p = try_val_to_str(opcode, VALS(qsig_str_operation));
12423   if (p) {
12424     proto_item_append_text(ti, ": %s", p);
12425     proto_item_append_text(rctx->d.code_item, " - %s", p);
12426     if (rctx->apdu_depth >= 0)
12427       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12428   }
12429 
12430   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12431   p = try_val_to_str(service, VALS(qsig_str_service_name));
12432   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12433 
12434   if (op_ptr->arg_pdu)
12435     offset = op_ptr->arg_pdu(tvb, pinfo, qsig_tree, NULL);
12436   else
12437     if (tvb_reported_length_remaining(tvb, offset) > 0) {
12438       proto_tree_add_expert(tree, pinfo, &ei_qsig_unsupported_error_type, tvb, offset, -1);
12439       offset += tvb_captured_length_remaining(tvb, offset);
12440     }
12441 
12442   return offset;
12443 }
12444 
12445 /*--- dissect_qsig_res -------------------------------------------------------*/
12446 static int
dissect_qsig_res(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree,void * data)12447 dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
12448   gint offset = 0;
12449   rose_ctx_t *rctx;
12450   gint32 opcode, service;
12451   const qsig_op_t *op_ptr;
12452   const gchar *p;
12453   proto_item *ti, *ti_tmp;
12454   proto_tree *qsig_tree;
12455 
12456   /* Reject the packet if data is NULL */
12457   if (data == NULL)
12458     return 0;
12459   rctx = get_rose_ctx(data);
12460   DISSECTOR_ASSERT(rctx);
12461 
12462   if (rctx->d.pdu != 2)  /* returnResult */
12463     return offset;
12464   if (rctx->d.code != 0)  /* local */
12465     return offset;
12466   opcode = rctx->d.code_local;
12467   op_ptr = get_op(opcode);
12468   if (!op_ptr)
12469     return offset;
12470   service = get_service(opcode);
12471 
12472   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_captured_length(tvb), ENC_NA);
12473   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12474 
12475   proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
12476   p = try_val_to_str(opcode, VALS(qsig_str_operation));
12477   if (p) {
12478     proto_item_append_text(ti, ": %s", p);
12479     proto_item_append_text(rctx->d.code_item, " - %s", p);
12480     if (rctx->apdu_depth >= 0)
12481       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12482   }
12483 
12484   ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
12485   p = try_val_to_str(service, VALS(qsig_str_service_name));
12486   if (p) proto_item_append_text(ti_tmp, " - %s", p);
12487 
12488   if (op_ptr->res_pdu)
12489     offset = op_ptr->res_pdu(tvb, pinfo, qsig_tree, NULL);
12490   else
12491     if (tvb_reported_length_remaining(tvb, offset) > 0) {
12492       proto_tree_add_expert(tree, pinfo, &ei_qsig_unsupported_result_type, tvb, offset, -1);
12493       offset += tvb_captured_length_remaining(tvb, offset);
12494     }
12495 
12496   return offset;
12497 }
12498 
12499 /*--- dissect_qsig_err ------------------------------------------------------*/
12500 static int
dissect_qsig_err(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree,void * data)12501 dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
12502   int offset = 0;
12503   rose_ctx_t *rctx;
12504   gint32 errcode;
12505   const qsig_err_t *err_ptr;
12506   const gchar *p;
12507   proto_item *ti;
12508   proto_tree *qsig_tree;
12509 
12510   /* Reject the packet if data is NULL */
12511   if (data == NULL)
12512     return 0;
12513   rctx = get_rose_ctx(data);
12514   DISSECTOR_ASSERT(rctx);
12515 
12516   if (rctx->d.pdu != 3)  /* returnError */
12517     return offset;
12518   if (rctx->d.code != 0)  /* local */
12519     return offset;
12520   errcode = rctx->d.code_local;
12521   err_ptr = get_err(errcode);
12522   if (!err_ptr)
12523     return offset;
12524 
12525   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_captured_length(tvb), ENC_NA);
12526   qsig_tree = proto_item_add_subtree(ti, ett_qsig);
12527 
12528   proto_tree_add_uint(qsig_tree, hf_qsig_error, tvb, 0, 0, errcode);
12529   p = try_val_to_str(errcode, VALS(qsig_str_error));
12530   if (p) {
12531     proto_item_append_text(ti, ": %s", p);
12532     proto_item_append_text(rctx->d.code_item, " - %s", p);
12533     if (rctx->apdu_depth >= 0)
12534       proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
12535   }
12536 
12537   if (err_ptr->err_pdu)
12538     offset = err_ptr->err_pdu(tvb, pinfo, qsig_tree, NULL);
12539   else
12540     if (tvb_reported_length_remaining(tvb, offset) > 0) {
12541       proto_tree_add_expert(tree, pinfo, &ei_qsig_unsupported_error_type, tvb, offset, -1);
12542       offset += tvb_captured_length_remaining(tvb, offset);
12543     }
12544 
12545   return offset;
12546 }
12547 
12548 /*--- dissect_qsig_transit_counter_ie ---------------------------------------*/
12549 static int
dissect_qsig_transit_counter_ie(tvbuff_t * tvb,int offset,packet_info * pinfo _U_,proto_tree * tree,int length _U_)12550 dissect_qsig_transit_counter_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length  _U_) {
12551   proto_tree_add_item(tree, hf_qsig_tc, tvb, offset, 1, ENC_BIG_ENDIAN);
12552   offset++;
12553   return offset;
12554 }
12555 /*--- dissect_qsig_party_category_ie ----------------------------------------*/
12556 static int
dissect_qsig_party_category_ie(tvbuff_t * tvb,int offset,packet_info * pinfo _U_,proto_tree * tree,int length _U_)12557 dissect_qsig_party_category_ie(tvbuff_t *tvb, int offset, packet_info *pinfo  _U_, proto_tree *tree, int length  _U_) {
12558   proto_tree_add_item(tree, hf_qsig_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
12559   offset++;
12560   return offset;
12561 }
12562 
12563 /*--- dissect_qsig_ie -------------------------------------------------------*/
12564 static void
dissect_qsig_ie(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree,int codeset)12565 dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset) {
12566   gint offset;
12567   proto_item *ti, *hidden_item;
12568   proto_tree *ie_tree;
12569   guint8 ie_type, ie_len;
12570 
12571   offset = 0;
12572 
12573   ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, -1, ENC_NA);
12574   proto_item_set_hidden(ti);
12575 
12576   ie_type = tvb_get_guint8(tvb, offset);
12577   ie_len = tvb_get_guint8(tvb, offset + 1);
12578 
12579   ie_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_qsig_ie, NULL,
12580             val_to_str(ie_type, VALS(qsig_str_ie_type[codeset]), "unknown (0x%02X)"));
12581 
12582   proto_tree_add_item(ie_tree, *hf_qsig_ie_type_arr[codeset], tvb, offset, 1, ENC_BIG_ENDIAN);
12583   hidden_item = proto_tree_add_item(ie_tree, hf_qsig_ie_type, tvb, offset, 1, ENC_BIG_ENDIAN);
12584   proto_item_set_hidden(hidden_item);
12585   proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, ENC_BIG_ENDIAN);
12586   offset += 2;
12587   if (tvb_reported_length_remaining(tvb, offset) <= 0)
12588     return;
12589   switch ((codeset << 8) | ie_type) {
12590     case CS4 | QSIG_IE_TRANSIT_COUNTER :
12591       dissect_qsig_transit_counter_ie(tvb, offset, pinfo, ie_tree, ie_len);
12592       break;
12593     case CS5 | QSIG_IE_PARTY_CATEGORY :
12594       dissect_qsig_party_category_ie(tvb, offset, pinfo, ie_tree, ie_len);
12595       break;
12596     default:
12597       if (ie_len > 0) {
12598         if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, ENC_NA);
12599       }
12600   }
12601 }
12602 /*--- dissect_qsig_ie_cs4 ---------------------------------------------------*/
12603 static int
dissect_qsig_ie_cs4(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree,void * data _U_)12604 dissect_qsig_ie_cs4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
12605   dissect_qsig_ie(tvb, pinfo, tree, 4);
12606   return tvb_captured_length(tvb);
12607 }
12608 /*--- dissect_qsig_ie_cs5 ---------------------------------------------------*/
12609 static int
dissect_qsig_ie_cs5(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree,void * data _U_)12610 dissect_qsig_ie_cs5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
12611   dissect_qsig_ie(tvb, pinfo, tree, 5);
12612   return tvb_captured_length(tvb);
12613 }
12614 
12615 /*--- proto_register_qsig ---------------------------------------------------*/
proto_register_qsig(void)12616 void proto_register_qsig(void) {
12617 
12618   /* List of fields */
12619   static hf_register_info hf[] = {
12620     { &hf_qsig_operation, { "Operation", "qsig.operation",
12621                            FT_UINT8, BASE_DEC, VALS(qsig_str_operation), 0x0,
12622                            NULL, HFILL }},
12623     { &hf_qsig_service,   { "Service", "qsig.service",
12624                            FT_UINT8, BASE_DEC, VALS(qsig_str_service), 0x0,
12625                            "Supplementary Service", HFILL }},
12626     { &hf_qsig_error,     { "Error", "qsig.error",
12627                            FT_UINT8, BASE_DEC, VALS(qsig_str_error), 0x0,
12628                            NULL, HFILL }},
12629     { &hf_qsig_ie_type, { "Type", "qsig.ie.type",
12630                           FT_UINT8, BASE_HEX, NULL, 0x0,
12631                           "Information Element Type", HFILL }},
12632     { &hf_qsig_ie_type_cs4, { "Type", "qsig.ie.type.cs4",
12633                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs4), 0x0,
12634                           "Information Element Type (Codeset 4)", HFILL }},
12635     { &hf_qsig_ie_type_cs5, { "Type", "qsig.ie.type.cs5",
12636                           FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs5), 0x0,
12637                           "Information Element Type (Codeset 5)", HFILL }},
12638     { &hf_qsig_ie_len,  { "Length", "qsig.ie.len",
12639                           FT_UINT8, BASE_DEC, NULL, 0x0,
12640                           "Information Element Length", HFILL }},
12641     { &hf_qsig_ie_data, { "Data", "qsig.ie.data",
12642                           FT_BYTES, BASE_NONE, NULL, 0x0,
12643                           NULL, HFILL }},
12644     { &hf_qsig_tc,      { "Transit count", "qsig.tc",
12645                           FT_UINT8, BASE_DEC, NULL, 0x1F,
12646                           NULL, HFILL }},
12647     { &hf_qsig_pc,      { "Party category", "qsig.pc",
12648                           FT_UINT8, BASE_HEX, VALS(qsig_str_pc), 0x07,
12649                           NULL, HFILL }},
12650 
12651 /*--- Included file: packet-qsig-hfarr.c ---*/
12652 #line 1 "./asn1/qsig/packet-qsig-hfarr.c"
12653 
12654 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
12655 
12656     { &hf_qsig_extensionId,
12657       { "extensionId", "qsig.extensionId",
12658         FT_OID, BASE_NONE, NULL, 0,
12659         NULL, HFILL }},
12660     { &hf_qsig_extensionArgument,
12661       { "extensionArgument", "qsig.extensionArgument_element",
12662         FT_NONE, BASE_NONE, NULL, 0,
12663         NULL, HFILL }},
12664     { &hf_qsig_presentationAllowedAddressS,
12665       { "presentationAllowedAddressS", "qsig.presentationAllowedAddressS_element",
12666         FT_NONE, BASE_NONE, NULL, 0,
12667         "AddressScreened", HFILL }},
12668     { &hf_qsig_presentationRestricted,
12669       { "presentationRestricted", "qsig.presentationRestricted_element",
12670         FT_NONE, BASE_NONE, NULL, 0,
12671         NULL, HFILL }},
12672     { &hf_qsig_numberNotAvailableDueToInterworking,
12673       { "numberNotAvailableDueToInterworking", "qsig.numberNotAvailableDueToInterworking_element",
12674         FT_NONE, BASE_NONE, NULL, 0,
12675         NULL, HFILL }},
12676     { &hf_qsig_presentationRestrictedAddressS,
12677       { "presentationRestrictedAddressS", "qsig.presentationRestrictedAddressS_element",
12678         FT_NONE, BASE_NONE, NULL, 0,
12679         "AddressScreened", HFILL }},
12680     { &hf_qsig_presentationAllowedAddressU,
12681       { "presentationAllowedAddressU", "qsig.presentationAllowedAddressU_element",
12682         FT_NONE, BASE_NONE, NULL, 0,
12683         "Address", HFILL }},
12684     { &hf_qsig_presentationRestrictedAddressU,
12685       { "presentationRestrictedAddressU", "qsig.presentationRestrictedAddressU_element",
12686         FT_NONE, BASE_NONE, NULL, 0,
12687         "Address", HFILL }},
12688     { &hf_qsig_presentationAllowedAddressNS,
12689       { "presentationAllowedAddressNS", "qsig.presentationAllowedAddressNS_element",
12690         FT_NONE, BASE_NONE, NULL, 0,
12691         "NumberScreened", HFILL }},
12692     { &hf_qsig_presentationRestrictedAddressNS,
12693       { "presentationRestrictedAddressNS", "qsig.presentationRestrictedAddressNS_element",
12694         FT_NONE, BASE_NONE, NULL, 0,
12695         "NumberScreened", HFILL }},
12696     { &hf_qsig_presentationAllowedAddressNU,
12697       { "presentationAllowedAddressNU", "qsig.presentationAllowedAddressNU",
12698         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12699         "PartyNumber", HFILL }},
12700     { &hf_qsig_presentationRestrictedAddressNU,
12701       { "presentationRestrictedAddressNU", "qsig.presentationRestrictedAddressNU",
12702         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12703         "PartyNumber", HFILL }},
12704     { &hf_qsig_partyNumber,
12705       { "partyNumber", "qsig.partyNumber",
12706         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12707         NULL, HFILL }},
12708     { &hf_qsig_screeningIndicator,
12709       { "screeningIndicator", "qsig.screeningIndicator",
12710         FT_UINT32, BASE_DEC, VALS(qsig_ScreeningIndicator_vals), 0,
12711         NULL, HFILL }},
12712     { &hf_qsig_partySubaddress,
12713       { "partySubaddress", "qsig.partySubaddress",
12714         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
12715         NULL, HFILL }},
12716     { &hf_qsig_unknownPartyNumber,
12717       { "unknownPartyNumber", "qsig.unknownPartyNumber",
12718         FT_STRING, BASE_NONE, NULL, 0,
12719         "NumberDigits", HFILL }},
12720     { &hf_qsig_publicPartyNumber,
12721       { "publicPartyNumber", "qsig.publicPartyNumber_element",
12722         FT_NONE, BASE_NONE, NULL, 0,
12723         NULL, HFILL }},
12724     { &hf_qsig_dataPartyNumber,
12725       { "dataPartyNumber", "qsig.dataPartyNumber",
12726         FT_STRING, BASE_NONE, NULL, 0,
12727         "NumberDigits", HFILL }},
12728     { &hf_qsig_telexPartyNumber,
12729       { "telexPartyNumber", "qsig.telexPartyNumber",
12730         FT_STRING, BASE_NONE, NULL, 0,
12731         "NumberDigits", HFILL }},
12732     { &hf_qsig_privatePartyNumber,
12733       { "privatePartyNumber", "qsig.privatePartyNumber_element",
12734         FT_NONE, BASE_NONE, NULL, 0,
12735         NULL, HFILL }},
12736     { &hf_qsig_nationalStandardPartyNumber,
12737       { "nationalStandardPartyNumber", "qsig.nationalStandardPartyNumber",
12738         FT_STRING, BASE_NONE, NULL, 0,
12739         "NumberDigits", HFILL }},
12740     { &hf_qsig_publicTypeOfNumber,
12741       { "publicTypeOfNumber", "qsig.publicTypeOfNumber",
12742         FT_UINT32, BASE_DEC, VALS(qsig_PublicTypeOfNumber_vals), 0,
12743         NULL, HFILL }},
12744     { &hf_qsig_publicNumberDigits,
12745       { "publicNumberDigits", "qsig.publicNumberDigits",
12746         FT_STRING, BASE_NONE, NULL, 0,
12747         "NumberDigits", HFILL }},
12748     { &hf_qsig_privateTypeOfNumber,
12749       { "privateTypeOfNumber", "qsig.privateTypeOfNumber",
12750         FT_UINT32, BASE_DEC, VALS(qsig_PrivateTypeOfNumber_vals), 0,
12751         NULL, HFILL }},
12752     { &hf_qsig_privateNumberDigits,
12753       { "privateNumberDigits", "qsig.privateNumberDigits",
12754         FT_STRING, BASE_NONE, NULL, 0,
12755         "NumberDigits", HFILL }},
12756     { &hf_qsig_userSpecifiedSubaddress,
12757       { "userSpecifiedSubaddress", "qsig.userSpecifiedSubaddress_element",
12758         FT_NONE, BASE_NONE, NULL, 0,
12759         NULL, HFILL }},
12760     { &hf_qsig_nSAPSubaddress,
12761       { "nSAPSubaddress", "qsig.nSAPSubaddress",
12762         FT_BYTES, BASE_NONE, NULL, 0,
12763         NULL, HFILL }},
12764     { &hf_qsig_subaddressInformation,
12765       { "subaddressInformation", "qsig.subaddressInformation",
12766         FT_BYTES, BASE_NONE, NULL, 0,
12767         NULL, HFILL }},
12768     { &hf_qsig_oddCountIndicator,
12769       { "oddCountIndicator", "qsig.oddCountIndicator",
12770         FT_BOOLEAN, BASE_NONE, NULL, 0,
12771         "BOOLEAN", HFILL }},
12772 
12773 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
12774 
12775     { &hf_qsig_na_qsig_na_NameArg_PDU,
12776       { "NameArg", "qsig.na.NameArg",
12777         FT_UINT32, BASE_DEC, VALS(qsig_na_NameArg_vals), 0,
12778         NULL, HFILL }},
12779     { &hf_qsig_na_name,
12780       { "name", "qsig.na.name",
12781         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
12782         NULL, HFILL }},
12783     { &hf_qsig_na_nameSequence,
12784       { "nameSequence", "qsig.na.nameSequence_element",
12785         FT_NONE, BASE_NONE, NULL, 0,
12786         NULL, HFILL }},
12787     { &hf_qsig_na_extensionNA,
12788       { "extension", "qsig.na.extension",
12789         FT_UINT32, BASE_DEC, VALS(qsig_na_NameExtension_vals), 0,
12790         "NameExtension", HFILL }},
12791     { &hf_qsig_na_single,
12792       { "single", "qsig.na.single_element",
12793         FT_NONE, BASE_NONE, NULL, 0,
12794         "Extension", HFILL }},
12795     { &hf_qsig_na_multiple,
12796       { "multiple", "qsig.na.multiple",
12797         FT_UINT32, BASE_DEC, NULL, 0,
12798         "SEQUENCE_OF_Extension", HFILL }},
12799     { &hf_qsig_na_multiple_item,
12800       { "Extension", "qsig.na.Extension_element",
12801         FT_NONE, BASE_NONE, NULL, 0,
12802         NULL, HFILL }},
12803     { &hf_qsig_na_namePresentationAllowed,
12804       { "namePresentationAllowed", "qsig.na.namePresentationAllowed",
12805         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationAllowed_vals), 0,
12806         NULL, HFILL }},
12807     { &hf_qsig_na_namePresentationRestricted,
12808       { "namePresentationRestricted", "qsig.na.namePresentationRestricted",
12809         FT_UINT32, BASE_DEC, VALS(qsig_na_NamePresentationRestricted_vals), 0,
12810         NULL, HFILL }},
12811     { &hf_qsig_na_nameNotAvailable,
12812       { "nameNotAvailable", "qsig.na.nameNotAvailable_element",
12813         FT_NONE, BASE_NONE, NULL, 0,
12814         NULL, HFILL }},
12815     { &hf_qsig_na_namePresentationAllowedSimple,
12816       { "namePresentationAllowedSimple", "qsig.na.namePresentationAllowedSimple",
12817         FT_STRING, BASE_NONE, NULL, 0,
12818         "NameData", HFILL }},
12819     { &hf_qsig_na_namePresentationAllowedExtended,
12820       { "namePresentationAllowedExtended", "qsig.na.namePresentationAllowedExtended_element",
12821         FT_NONE, BASE_NONE, NULL, 0,
12822         "NameSet", HFILL }},
12823     { &hf_qsig_na_namePresentationRestrictedSimple,
12824       { "namePresentationRestrictedSimple", "qsig.na.namePresentationRestrictedSimple",
12825         FT_STRING, BASE_NONE, NULL, 0,
12826         "NameData", HFILL }},
12827     { &hf_qsig_na_namePresentationRestrictedExtended,
12828       { "namePresentationRestrictedExtended", "qsig.na.namePresentationRestrictedExtended_element",
12829         FT_NONE, BASE_NONE, NULL, 0,
12830         "NameSet", HFILL }},
12831     { &hf_qsig_na_namePresentationRestrictedNull,
12832       { "namePresentationRestrictedNull", "qsig.na.namePresentationRestrictedNull_element",
12833         FT_NONE, BASE_NONE, NULL, 0,
12834         NULL, HFILL }},
12835     { &hf_qsig_na_nameData,
12836       { "nameData", "qsig.na.nameData",
12837         FT_STRING, BASE_NONE, NULL, 0,
12838         NULL, HFILL }},
12839     { &hf_qsig_na_characterSet,
12840       { "characterSet", "qsig.na.characterSet",
12841         FT_UINT32, BASE_DEC, VALS(qsig_na_CharacterSet_vals), 0,
12842         NULL, HFILL }},
12843 
12844 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
12845 
12846     { &hf_qsig_cf_qsig_cf_ARG_activateDiversionQ_PDU,
12847       { "ARG-activateDiversionQ", "qsig.cf.ARG_activateDiversionQ_element",
12848         FT_NONE, BASE_NONE, NULL, 0,
12849         NULL, HFILL }},
12850     { &hf_qsig_cf_qsig_cf_RES_activateDiversionQ_PDU,
12851       { "RES-activateDiversionQ", "qsig.cf.RES_activateDiversionQ",
12852         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_activateDiversionQ_vals), 0,
12853         NULL, HFILL }},
12854     { &hf_qsig_cf_qsig_cf_ARG_deactivateDiversionQ_PDU,
12855       { "ARG-deactivateDiversionQ", "qsig.cf.ARG_deactivateDiversionQ_element",
12856         FT_NONE, BASE_NONE, NULL, 0,
12857         NULL, HFILL }},
12858     { &hf_qsig_cf_qsig_cf_RES_deactivateDiversionQ_PDU,
12859       { "RES-deactivateDiversionQ", "qsig.cf.RES_deactivateDiversionQ",
12860         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_deactivateDiversionQ_vals), 0,
12861         NULL, HFILL }},
12862     { &hf_qsig_cf_qsig_cf_ARG_interrogateDiversionQ_PDU,
12863       { "ARG-interrogateDiversionQ", "qsig.cf.ARG_interrogateDiversionQ_element",
12864         FT_NONE, BASE_NONE, NULL, 0,
12865         NULL, HFILL }},
12866     { &hf_qsig_cf_qsig_cf_IntResultList_PDU,
12867       { "IntResultList", "qsig.cf.IntResultList",
12868         FT_UINT32, BASE_DEC, NULL, 0,
12869         NULL, HFILL }},
12870     { &hf_qsig_cf_qsig_cf_ARG_checkRestriction_PDU,
12871       { "ARG-checkRestriction", "qsig.cf.ARG_checkRestriction_element",
12872         FT_NONE, BASE_NONE, NULL, 0,
12873         NULL, HFILL }},
12874     { &hf_qsig_cf_qsig_cf_RES_checkRestriction_PDU,
12875       { "RES-checkRestriction", "qsig.cf.RES_checkRestriction",
12876         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_checkRestriction_vals), 0,
12877         NULL, HFILL }},
12878     { &hf_qsig_cf_qsig_cf_ARG_callRerouteing_PDU,
12879       { "ARG-callRerouteing", "qsig.cf.ARG_callRerouteing_element",
12880         FT_NONE, BASE_NONE, NULL, 0,
12881         NULL, HFILL }},
12882     { &hf_qsig_cf_qsig_cf_RES_callRerouteing_PDU,
12883       { "RES-callRerouteing", "qsig.cf.RES_callRerouteing",
12884         FT_UINT32, BASE_DEC, VALS(qsig_cf_RES_callRerouteing_vals), 0,
12885         NULL, HFILL }},
12886     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation1_PDU,
12887       { "ARG-divertingLegInformation1", "qsig.cf.ARG_divertingLegInformation1_element",
12888         FT_NONE, BASE_NONE, NULL, 0,
12889         NULL, HFILL }},
12890     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation2_PDU,
12891       { "ARG-divertingLegInformation2", "qsig.cf.ARG_divertingLegInformation2_element",
12892         FT_NONE, BASE_NONE, NULL, 0,
12893         NULL, HFILL }},
12894     { &hf_qsig_cf_qsig_cf_ARG_divertingLegInformation3_PDU,
12895       { "ARG-divertingLegInformation3", "qsig.cf.ARG_divertingLegInformation3_element",
12896         FT_NONE, BASE_NONE, NULL, 0,
12897         NULL, HFILL }},
12898     { &hf_qsig_cf_qsig_cf_ARG_cfnrDivertedLegFailed_PDU,
12899       { "ARG-cfnrDivertedLegFailed", "qsig.cf.ARG_cfnrDivertedLegFailed",
12900         FT_UINT32, BASE_DEC, VALS(qsig_cf_ARG_cfnrDivertedLegFailed_vals), 0,
12901         NULL, HFILL }},
12902     { &hf_qsig_cf_qsig_cf_Extension_PDU,
12903       { "Extension", "qsig.cf.Extension_element",
12904         FT_NONE, BASE_NONE, NULL, 0,
12905         NULL, HFILL }},
12906     { &hf_qsig_cf_procedure,
12907       { "procedure", "qsig.cf.procedure",
12908         FT_UINT32, BASE_DEC, VALS(qsig_cf_Procedure_vals), 0,
12909         NULL, HFILL }},
12910     { &hf_qsig_cf_basicService,
12911       { "basicService", "qsig.cf.basicService",
12912         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
12913         NULL, HFILL }},
12914     { &hf_qsig_cf_divertedToAddress,
12915       { "divertedToAddress", "qsig.cf.divertedToAddress_element",
12916         FT_NONE, BASE_NONE, NULL, 0,
12917         "Address", HFILL }},
12918     { &hf_qsig_cf_servedUserNr,
12919       { "servedUserNr", "qsig.cf.servedUserNr",
12920         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12921         "PartyNumber", HFILL }},
12922     { &hf_qsig_cf_activatingUserNr,
12923       { "activatingUserNr", "qsig.cf.activatingUserNr",
12924         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12925         "PartyNumber", HFILL }},
12926     { &hf_qsig_cf_extensionAD,
12927       { "extension", "qsig.cf.extension",
12928         FT_UINT32, BASE_DEC, VALS(qsig_cf_ADExtension_vals), 0,
12929         "ADExtension", HFILL }},
12930     { &hf_qsig_cf_single,
12931       { "single", "qsig.cf.single_element",
12932         FT_NONE, BASE_NONE, NULL, 0,
12933         "Extension", HFILL }},
12934     { &hf_qsig_cf_multiple,
12935       { "multiple", "qsig.cf.multiple",
12936         FT_UINT32, BASE_DEC, NULL, 0,
12937         "SEQUENCE_OF_Extension", HFILL }},
12938     { &hf_qsig_cf_multiple_item,
12939       { "Extension", "qsig.cf.Extension_element",
12940         FT_NONE, BASE_NONE, NULL, 0,
12941         NULL, HFILL }},
12942     { &hf_qsig_cf_null,
12943       { "null", "qsig.cf.null_element",
12944         FT_NONE, BASE_NONE, NULL, 0,
12945         NULL, HFILL }},
12946     { &hf_qsig_cf_deactivatingUserNr,
12947       { "deactivatingUserNr", "qsig.cf.deactivatingUserNr",
12948         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12949         "PartyNumber", HFILL }},
12950     { &hf_qsig_cf_extensionDD,
12951       { "extension", "qsig.cf.extension",
12952         FT_UINT32, BASE_DEC, VALS(qsig_cf_DDExtension_vals), 0,
12953         "DDExtension", HFILL }},
12954     { &hf_qsig_cf_interrogatingUserNr,
12955       { "interrogatingUserNr", "qsig.cf.interrogatingUserNr",
12956         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12957         "PartyNumber", HFILL }},
12958     { &hf_qsig_cf_extensionID,
12959       { "extension", "qsig.cf.extension",
12960         FT_UINT32, BASE_DEC, VALS(qsig_cf_IDExtension_vals), 0,
12961         "IDExtension", HFILL }},
12962     { &hf_qsig_cf_divertedToNr,
12963       { "divertedToNr", "qsig.cf.divertedToNr",
12964         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
12965         "PartyNumber", HFILL }},
12966     { &hf_qsig_cf_extensionCHR,
12967       { "extension", "qsig.cf.extension",
12968         FT_UINT32, BASE_DEC, VALS(qsig_cf_CHRExtension_vals), 0,
12969         "CHRExtension", HFILL }},
12970     { &hf_qsig_cf_rerouteingReason,
12971       { "rerouteingReason", "qsig.cf.rerouteingReason",
12972         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12973         "DiversionReason", HFILL }},
12974     { &hf_qsig_cf_originalRerouteingReason,
12975       { "originalRerouteingReason", "qsig.cf.originalRerouteingReason",
12976         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
12977         "DiversionReason", HFILL }},
12978     { &hf_qsig_cf_calledAddress,
12979       { "calledAddress", "qsig.cf.calledAddress_element",
12980         FT_NONE, BASE_NONE, NULL, 0,
12981         "Address", HFILL }},
12982     { &hf_qsig_cf_diversionCounter,
12983       { "diversionCounter", "qsig.cf.diversionCounter",
12984         FT_UINT32, BASE_DEC, NULL, 0,
12985         "INTEGER_1_15", HFILL }},
12986     { &hf_qsig_cf_pSS1InfoElement,
12987       { "pSS1InfoElement", "qsig.cf.pSS1InfoElement",
12988         FT_BYTES, BASE_NONE, NULL, 0,
12989         "PSS1InformationElement", HFILL }},
12990     { &hf_qsig_cf_lastRerouteingNr,
12991       { "lastRerouteingNr", "qsig.cf.lastRerouteingNr",
12992         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
12993         "PresentedNumberUnscreened", HFILL }},
12994     { &hf_qsig_cf_subscriptionOption,
12995       { "subscriptionOption", "qsig.cf.subscriptionOption",
12996         FT_UINT32, BASE_DEC, VALS(qsig_cf_SubscriptionOption_vals), 0,
12997         NULL, HFILL }},
12998     { &hf_qsig_cf_callingPartySubaddress,
12999       { "callingPartySubaddress", "qsig.cf.callingPartySubaddress",
13000         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13001         "PartySubaddress", HFILL }},
13002     { &hf_qsig_cf_callingNumber,
13003       { "callingNumber", "qsig.cf.callingNumber",
13004         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13005         "PresentedNumberScreened", HFILL }},
13006     { &hf_qsig_cf_callingName,
13007       { "callingName", "qsig.cf.callingName",
13008         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13009         "Name", HFILL }},
13010     { &hf_qsig_cf_originalCalledNr,
13011       { "originalCalledNr", "qsig.cf.originalCalledNr",
13012         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13013         "PresentedNumberUnscreened", HFILL }},
13014     { &hf_qsig_cf_redirectingName,
13015       { "redirectingName", "qsig.cf.redirectingName",
13016         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13017         "Name", HFILL }},
13018     { &hf_qsig_cf_originalCalledName,
13019       { "originalCalledName", "qsig.cf.originalCalledName",
13020         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13021         "Name", HFILL }},
13022     { &hf_qsig_cf_extensionCRR,
13023       { "extension", "qsig.cf.extension",
13024         FT_UINT32, BASE_DEC, VALS(qsig_cf_CRRExtension_vals), 0,
13025         "CRRExtension", HFILL }},
13026     { &hf_qsig_cf_diversionReason,
13027       { "diversionReason", "qsig.cf.diversionReason",
13028         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
13029         NULL, HFILL }},
13030     { &hf_qsig_cf_nominatedNr,
13031       { "nominatedNr", "qsig.cf.nominatedNr",
13032         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13033         "PartyNumber", HFILL }},
13034     { &hf_qsig_cf_extensionDLI1,
13035       { "extension", "qsig.cf.extension",
13036         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI1Extension_vals), 0,
13037         "DLI1Extension", HFILL }},
13038     { &hf_qsig_cf_originalDiversionReason,
13039       { "originalDiversionReason", "qsig.cf.originalDiversionReason",
13040         FT_UINT32, BASE_DEC, VALS(qsig_cf_DiversionReason_vals), 0,
13041         "DiversionReason", HFILL }},
13042     { &hf_qsig_cf_divertingNr,
13043       { "divertingNr", "qsig.cf.divertingNr",
13044         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13045         "PresentedNumberUnscreened", HFILL }},
13046     { &hf_qsig_cf_extensionDLI2,
13047       { "extension", "qsig.cf.extension",
13048         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI2Extension_vals), 0,
13049         "DLI2Extension", HFILL }},
13050     { &hf_qsig_cf_presentationAllowedIndicator,
13051       { "presentationAllowedIndicator", "qsig.cf.presentationAllowedIndicator",
13052         FT_BOOLEAN, BASE_NONE, NULL, 0,
13053         NULL, HFILL }},
13054     { &hf_qsig_cf_redirectionName,
13055       { "redirectionName", "qsig.cf.redirectionName",
13056         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13057         "Name", HFILL }},
13058     { &hf_qsig_cf_extensionDLI3,
13059       { "extension", "qsig.cf.extension",
13060         FT_UINT32, BASE_DEC, VALS(qsig_cf_DLI3Extension_vals), 0,
13061         "DLI3Extension", HFILL }},
13062     { &hf_qsig_cf_IntResultList_item,
13063       { "IntResult", "qsig.cf.IntResult_element",
13064         FT_NONE, BASE_NONE, NULL, 0,
13065         NULL, HFILL }},
13066     { &hf_qsig_cf_remoteEnabled,
13067       { "remoteEnabled", "qsig.cf.remoteEnabled",
13068         FT_BOOLEAN, BASE_NONE, NULL, 0,
13069         "BOOLEAN", HFILL }},
13070     { &hf_qsig_cf_extensionIR,
13071       { "extension", "qsig.cf.extension",
13072         FT_UINT32, BASE_DEC, VALS(qsig_cf_IRExtension_vals), 0,
13073         "IRExtension", HFILL }},
13074 
13075 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
13076 
13077     { &hf_qsig_pr_qsig_pr_DummyArg_PDU,
13078       { "DummyArg", "qsig.pr.DummyArg",
13079         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyArg_vals), 0,
13080         NULL, HFILL }},
13081     { &hf_qsig_pr_qsig_pr_PRProposeArg_PDU,
13082       { "PRProposeArg", "qsig.pr.PRProposeArg_element",
13083         FT_NONE, BASE_NONE, NULL, 0,
13084         NULL, HFILL }},
13085     { &hf_qsig_pr_qsig_pr_PRSetupArg_PDU,
13086       { "PRSetupArg", "qsig.pr.PRSetupArg_element",
13087         FT_NONE, BASE_NONE, NULL, 0,
13088         NULL, HFILL }},
13089     { &hf_qsig_pr_qsig_pr_DummyResult_PDU,
13090       { "DummyResult", "qsig.pr.DummyResult",
13091         FT_UINT32, BASE_DEC, VALS(qsig_pr_DummyResult_vals), 0,
13092         NULL, HFILL }},
13093     { &hf_qsig_pr_qsig_pr_PRRetainArg_PDU,
13094       { "PRRetainArg", "qsig.pr.PRRetainArg_element",
13095         FT_NONE, BASE_NONE, NULL, 0,
13096         NULL, HFILL }},
13097     { &hf_qsig_pr_qsig_pr_Extension_PDU,
13098       { "Extension", "qsig.pr.Extension_element",
13099         FT_NONE, BASE_NONE, NULL, 0,
13100         NULL, HFILL }},
13101     { &hf_qsig_pr_callIdentity,
13102       { "callIdentity", "qsig.pr.callIdentity",
13103         FT_STRING, BASE_NONE, NULL, 0,
13104         NULL, HFILL }},
13105     { &hf_qsig_pr_rerouteingNumber,
13106       { "rerouteingNumber", "qsig.pr.rerouteingNumber",
13107         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13108         "PartyNumber", HFILL }},
13109     { &hf_qsig_pr_extensionPRP,
13110       { "extension", "qsig.pr.extension",
13111         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRPExtension_vals), 0,
13112         "PRPExtension", HFILL }},
13113     { &hf_qsig_pr_single,
13114       { "single", "qsig.pr.single_element",
13115         FT_NONE, BASE_NONE, NULL, 0,
13116         "Extension", HFILL }},
13117     { &hf_qsig_pr_multiple,
13118       { "multiple", "qsig.pr.multiple",
13119         FT_UINT32, BASE_DEC, NULL, 0,
13120         "SEQUENCE_OF_Extension", HFILL }},
13121     { &hf_qsig_pr_multiple_item,
13122       { "Extension", "qsig.pr.Extension_element",
13123         FT_NONE, BASE_NONE, NULL, 0,
13124         NULL, HFILL }},
13125     { &hf_qsig_pr_extensionPRS,
13126       { "extension", "qsig.pr.extension",
13127         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRSExtension_vals), 0,
13128         "PRSExtension", HFILL }},
13129     { &hf_qsig_pr_extensionPRR,
13130       { "extension", "qsig.pr.extension",
13131         FT_UINT32, BASE_DEC, VALS(qsig_pr_PRRExtension_vals), 0,
13132         "PRRExtension", HFILL }},
13133     { &hf_qsig_pr_null,
13134       { "null", "qsig.pr.null_element",
13135         FT_NONE, BASE_NONE, NULL, 0,
13136         NULL, HFILL }},
13137 
13138 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
13139 
13140     { &hf_qsig_ct_qsig_ct_DummyArg_PDU,
13141       { "DummyArg", "qsig.ct.DummyArg",
13142         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyArg_vals), 0,
13143         NULL, HFILL }},
13144     { &hf_qsig_ct_qsig_ct_CTIdentifyRes_PDU,
13145       { "CTIdentifyRes", "qsig.ct.CTIdentifyRes_element",
13146         FT_NONE, BASE_NONE, NULL, 0,
13147         NULL, HFILL }},
13148     { &hf_qsig_ct_qsig_ct_CTInitiateArg_PDU,
13149       { "CTInitiateArg", "qsig.ct.CTInitiateArg_element",
13150         FT_NONE, BASE_NONE, NULL, 0,
13151         NULL, HFILL }},
13152     { &hf_qsig_ct_qsig_ct_DummyRes_PDU,
13153       { "DummyRes", "qsig.ct.DummyRes",
13154         FT_UINT32, BASE_DEC, VALS(qsig_ct_DummyRes_vals), 0,
13155         NULL, HFILL }},
13156     { &hf_qsig_ct_qsig_ct_CTSetupArg_PDU,
13157       { "CTSetupArg", "qsig.ct.CTSetupArg_element",
13158         FT_NONE, BASE_NONE, NULL, 0,
13159         NULL, HFILL }},
13160     { &hf_qsig_ct_qsig_ct_CTActiveArg_PDU,
13161       { "CTActiveArg", "qsig.ct.CTActiveArg_element",
13162         FT_NONE, BASE_NONE, NULL, 0,
13163         NULL, HFILL }},
13164     { &hf_qsig_ct_qsig_ct_CTCompleteArg_PDU,
13165       { "CTCompleteArg", "qsig.ct.CTCompleteArg_element",
13166         FT_NONE, BASE_NONE, NULL, 0,
13167         NULL, HFILL }},
13168     { &hf_qsig_ct_qsig_ct_CTUpdateArg_PDU,
13169       { "CTUpdateArg", "qsig.ct.CTUpdateArg_element",
13170         FT_NONE, BASE_NONE, NULL, 0,
13171         NULL, HFILL }},
13172     { &hf_qsig_ct_qsig_ct_SubaddressTransferArg_PDU,
13173       { "SubaddressTransferArg", "qsig.ct.SubaddressTransferArg_element",
13174         FT_NONE, BASE_NONE, NULL, 0,
13175         NULL, HFILL }},
13176     { &hf_qsig_ct_qsig_ct_Extension_PDU,
13177       { "Extension", "qsig.ct.Extension_element",
13178         FT_NONE, BASE_NONE, NULL, 0,
13179         NULL, HFILL }},
13180     { &hf_qsig_ct_null,
13181       { "null", "qsig.ct.null_element",
13182         FT_NONE, BASE_NONE, NULL, 0,
13183         NULL, HFILL }},
13184     { &hf_qsig_ct_single,
13185       { "single", "qsig.ct.single_element",
13186         FT_NONE, BASE_NONE, NULL, 0,
13187         "Extension", HFILL }},
13188     { &hf_qsig_ct_multiple,
13189       { "multiple", "qsig.ct.multiple",
13190         FT_UINT32, BASE_DEC, NULL, 0,
13191         "SEQUENCE_OF_Extension", HFILL }},
13192     { &hf_qsig_ct_multiple_item,
13193       { "Extension", "qsig.ct.Extension_element",
13194         FT_NONE, BASE_NONE, NULL, 0,
13195         NULL, HFILL }},
13196     { &hf_qsig_ct_callIdentity,
13197       { "callIdentity", "qsig.ct.callIdentity",
13198         FT_STRING, BASE_NONE, NULL, 0,
13199         NULL, HFILL }},
13200     { &hf_qsig_ct_rerouteingNumber,
13201       { "rerouteingNumber", "qsig.ct.rerouteingNumber",
13202         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13203         "PartyNumber", HFILL }},
13204     { &hf_qsig_ct_resultExtension,
13205       { "resultExtension", "qsig.ct.resultExtension",
13206         FT_UINT32, BASE_DEC, VALS(qsig_ct_T_resultExtension_vals), 0,
13207         NULL, HFILL }},
13208     { &hf_qsig_ct_argumentExtensionCTI,
13209       { "argumentExtension", "qsig.ct.argumentExtension",
13210         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTIargumentExtension_vals), 0,
13211         "CTIargumentExtension", HFILL }},
13212     { &hf_qsig_ct_argumentExtensionCTS,
13213       { "argumentExtension", "qsig.ct.argumentExtension",
13214         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTSargumentExtension_vals), 0,
13215         "CTSargumentExtension", HFILL }},
13216     { &hf_qsig_ct_connectedAddress,
13217       { "connectedAddress", "qsig.ct.connectedAddress",
13218         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
13219         "PresentedAddressScreened", HFILL }},
13220     { &hf_qsig_ct_basicCallInfoElements,
13221       { "basicCallInfoElements", "qsig.ct.basicCallInfoElements",
13222         FT_BYTES, BASE_NONE, NULL, 0,
13223         "PSS1InformationElement", HFILL }},
13224     { &hf_qsig_ct_connectedName,
13225       { "connectedName", "qsig.ct.connectedName",
13226         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13227         "Name", HFILL }},
13228     { &hf_qsig_ct_argumentExtensionCTA,
13229       { "argumentExtension", "qsig.ct.argumentExtension",
13230         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTAargumentExtension_vals), 0,
13231         "CTAargumentExtension", HFILL }},
13232     { &hf_qsig_ct_endDesignation,
13233       { "endDesignation", "qsig.ct.endDesignation",
13234         FT_UINT32, BASE_DEC, VALS(qsig_ct_EndDesignation_vals), 0,
13235         NULL, HFILL }},
13236     { &hf_qsig_ct_redirectionNumber,
13237       { "redirectionNumber", "qsig.ct.redirectionNumber",
13238         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13239         "PresentedNumberScreened", HFILL }},
13240     { &hf_qsig_ct_redirectionName,
13241       { "redirectionName", "qsig.ct.redirectionName",
13242         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13243         "Name", HFILL }},
13244     { &hf_qsig_ct_callStatus,
13245       { "callStatus", "qsig.ct.callStatus",
13246         FT_UINT32, BASE_DEC, VALS(qsig_ct_CallStatus_vals), 0,
13247         NULL, HFILL }},
13248     { &hf_qsig_ct_argumentExtensionCTC,
13249       { "argumentExtension", "qsig.ct.argumentExtension",
13250         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTCargumentExtension_vals), 0,
13251         "CTCargumentExtension", HFILL }},
13252     { &hf_qsig_ct_argumentExtensionCTU,
13253       { "argumentExtension", "qsig.ct.argumentExtension",
13254         FT_UINT32, BASE_DEC, VALS(qsig_ct_CTUargumentExtension_vals), 0,
13255         "CTUargumentExtension", HFILL }},
13256     { &hf_qsig_ct_redirectionSubaddress,
13257       { "redirectionSubaddress", "qsig.ct.redirectionSubaddress",
13258         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13259         "PartySubaddress", HFILL }},
13260     { &hf_qsig_ct_argumentExtensionST,
13261       { "argumentExtension", "qsig.ct.argumentExtension",
13262         FT_UINT32, BASE_DEC, VALS(qsig_ct_STargumentExtension_vals), 0,
13263         "STargumentExtension", HFILL }},
13264 
13265 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
13266 
13267     { &hf_qsig_cc_qsig_cc_CcRequestArg_PDU,
13268       { "CcRequestArg", "qsig.cc.CcRequestArg_element",
13269         FT_NONE, BASE_NONE, NULL, 0,
13270         NULL, HFILL }},
13271     { &hf_qsig_cc_qsig_cc_CcRequestRes_PDU,
13272       { "CcRequestRes", "qsig.cc.CcRequestRes_element",
13273         FT_NONE, BASE_NONE, NULL, 0,
13274         NULL, HFILL }},
13275     { &hf_qsig_cc_qsig_cc_CcOptionalArg_PDU,
13276       { "CcOptionalArg", "qsig.cc.CcOptionalArg",
13277         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcOptionalArg_vals), 0,
13278         NULL, HFILL }},
13279     { &hf_qsig_cc_qsig_cc_CcExtension_PDU,
13280       { "CcExtension", "qsig.cc.CcExtension",
13281         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13282         NULL, HFILL }},
13283     { &hf_qsig_cc_qsig_cc_Extension_PDU,
13284       { "Extension", "qsig.cc.Extension_element",
13285         FT_NONE, BASE_NONE, NULL, 0,
13286         NULL, HFILL }},
13287     { &hf_qsig_cc_numberA,
13288       { "numberA", "qsig.cc.numberA",
13289         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
13290         "PresentedNumberUnscreened", HFILL }},
13291     { &hf_qsig_cc_numberB,
13292       { "numberB", "qsig.cc.numberB",
13293         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13294         "PartyNumber", HFILL }},
13295     { &hf_qsig_cc_service,
13296       { "service", "qsig.cc.service",
13297         FT_BYTES, BASE_NONE, NULL, 0,
13298         "PSS1InformationElement", HFILL }},
13299     { &hf_qsig_cc_subaddrA,
13300       { "subaddrA", "qsig.cc.subaddrA",
13301         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13302         "PartySubaddress", HFILL }},
13303     { &hf_qsig_cc_subaddrB,
13304       { "subaddrB", "qsig.cc.subaddrB",
13305         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13306         "PartySubaddress", HFILL }},
13307     { &hf_qsig_cc_can_retain_service,
13308       { "can-retain-service", "qsig.cc.can_retain_service",
13309         FT_BOOLEAN, BASE_NONE, NULL, 0,
13310         "BOOLEAN", HFILL }},
13311     { &hf_qsig_cc_retain_sig_connection,
13312       { "retain-sig-connection", "qsig.cc.retain_sig_connection",
13313         FT_BOOLEAN, BASE_NONE, NULL, 0,
13314         "BOOLEAN", HFILL }},
13315     { &hf_qsig_cc_extension,
13316       { "extension", "qsig.cc.extension",
13317         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13318         "CcExtension", HFILL }},
13319     { &hf_qsig_cc_no_path_reservation,
13320       { "no-path-reservation", "qsig.cc.no_path_reservation",
13321         FT_BOOLEAN, BASE_NONE, NULL, 0,
13322         "BOOLEAN", HFILL }},
13323     { &hf_qsig_cc_retain_service,
13324       { "retain-service", "qsig.cc.retain_service",
13325         FT_BOOLEAN, BASE_NONE, NULL, 0,
13326         "BOOLEAN", HFILL }},
13327     { &hf_qsig_cc_fullArg,
13328       { "fullArg", "qsig.cc.fullArg_element",
13329         FT_NONE, BASE_NONE, NULL, 0,
13330         NULL, HFILL }},
13331     { &hf_qsig_cc_numberA_01,
13332       { "numberA", "qsig.cc.numberA",
13333         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13334         "PartyNumber", HFILL }},
13335     { &hf_qsig_cc_extArg,
13336       { "extArg", "qsig.cc.extArg",
13337         FT_UINT32, BASE_DEC, VALS(qsig_cc_CcExtension_vals), 0,
13338         "CcExtension", HFILL }},
13339     { &hf_qsig_cc_none,
13340       { "none", "qsig.cc.none_element",
13341         FT_NONE, BASE_NONE, NULL, 0,
13342         NULL, HFILL }},
13343     { &hf_qsig_cc_single,
13344       { "single", "qsig.cc.single_element",
13345         FT_NONE, BASE_NONE, NULL, 0,
13346         "Extension", HFILL }},
13347     { &hf_qsig_cc_multiple,
13348       { "multiple", "qsig.cc.multiple",
13349         FT_UINT32, BASE_DEC, NULL, 0,
13350         "SEQUENCE_OF_Extension", HFILL }},
13351     { &hf_qsig_cc_multiple_item,
13352       { "Extension", "qsig.cc.Extension_element",
13353         FT_NONE, BASE_NONE, NULL, 0,
13354         NULL, HFILL }},
13355 
13356 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
13357 
13358     { &hf_qsig_co_qsig_co_PathRetainArg_PDU,
13359       { "PathRetainArg", "qsig.co.PathRetainArg",
13360         FT_UINT32, BASE_DEC, VALS(qsig_co_PathRetainArg_vals), 0,
13361         NULL, HFILL }},
13362     { &hf_qsig_co_qsig_co_ServiceAvailableArg_PDU,
13363       { "ServiceAvailableArg", "qsig.co.ServiceAvailableArg",
13364         FT_UINT32, BASE_DEC, VALS(qsig_co_ServiceAvailableArg_vals), 0,
13365         NULL, HFILL }},
13366     { &hf_qsig_co_qsig_co_DummyArg_PDU,
13367       { "DummyArg", "qsig.co.DummyArg",
13368         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyArg_vals), 0,
13369         NULL, HFILL }},
13370     { &hf_qsig_co_qsig_co_DummyRes_PDU,
13371       { "DummyRes", "qsig.co.DummyRes",
13372         FT_UINT32, BASE_DEC, VALS(qsig_co_DummyRes_vals), 0,
13373         NULL, HFILL }},
13374     { &hf_qsig_co_qsig_co_Extension_PDU,
13375       { "Extension", "qsig.co.Extension_element",
13376         FT_NONE, BASE_NONE, NULL, 0,
13377         NULL, HFILL }},
13378     { &hf_qsig_co_serviceList,
13379       { "serviceList", "qsig.co.serviceList",
13380         FT_BYTES, BASE_NONE, NULL, 0,
13381         NULL, HFILL }},
13382     { &hf_qsig_co_extendedServiceList,
13383       { "extendedServiceList", "qsig.co.extendedServiceList_element",
13384         FT_NONE, BASE_NONE, NULL, 0,
13385         NULL, HFILL }},
13386     { &hf_qsig_co_extension,
13387       { "extension", "qsig.co.extension_element",
13388         FT_NONE, BASE_NONE, NULL, 0,
13389         NULL, HFILL }},
13390     { &hf_qsig_co_extendedServiceList_01,
13391       { "extendedServiceList", "qsig.co.extendedServiceList_element",
13392         FT_NONE, BASE_NONE, NULL, 0,
13393         "T_extendedServiceList_01", HFILL }},
13394     { &hf_qsig_co_null,
13395       { "null", "qsig.co.null_element",
13396         FT_NONE, BASE_NONE, NULL, 0,
13397         NULL, HFILL }},
13398     { &hf_qsig_co_sequenceOfExtn,
13399       { "sequenceOfExtn", "qsig.co.sequenceOfExtn",
13400         FT_UINT32, BASE_DEC, NULL, 0,
13401         "SEQUENCE_OF_Extension", HFILL }},
13402     { &hf_qsig_co_sequenceOfExtn_item,
13403       { "Extension", "qsig.co.Extension_element",
13404         FT_NONE, BASE_NONE, NULL, 0,
13405         NULL, HFILL }},
13406     { &hf_qsig_co_ServiceList_callOffer,
13407       { "callOffer", "qsig.co.ServiceList.callOffer",
13408         FT_BOOLEAN, 8, NULL, 0x80,
13409         NULL, HFILL }},
13410 
13411 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
13412 
13413     { &hf_qsig_dnd_qsig_dnd_DNDActivateArg_PDU,
13414       { "DNDActivateArg", "qsig.dnd.DNDActivateArg_element",
13415         FT_NONE, BASE_NONE, NULL, 0,
13416         NULL, HFILL }},
13417     { &hf_qsig_dnd_qsig_dnd_DNDActivateRes_PDU,
13418       { "DNDActivateRes", "qsig.dnd.DNDActivateRes_element",
13419         FT_NONE, BASE_NONE, NULL, 0,
13420         NULL, HFILL }},
13421     { &hf_qsig_dnd_qsig_dnd_DNDDeactivateArg_PDU,
13422       { "DNDDeactivateArg", "qsig.dnd.DNDDeactivateArg_element",
13423         FT_NONE, BASE_NONE, NULL, 0,
13424         NULL, HFILL }},
13425     { &hf_qsig_dnd_qsig_dnd_DummyRes_PDU,
13426       { "DummyRes", "qsig.dnd.DummyRes",
13427         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyRes_vals), 0,
13428         NULL, HFILL }},
13429     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateArg_PDU,
13430       { "DNDInterrogateArg", "qsig.dnd.DNDInterrogateArg_element",
13431         FT_NONE, BASE_NONE, NULL, 0,
13432         NULL, HFILL }},
13433     { &hf_qsig_dnd_qsig_dnd_DNDInterrogateRes_PDU,
13434       { "DNDInterrogateRes", "qsig.dnd.DNDInterrogateRes_element",
13435         FT_NONE, BASE_NONE, NULL, 0,
13436         NULL, HFILL }},
13437     { &hf_qsig_dnd_qsig_dnd_DNDOverrideArg_PDU,
13438       { "DNDOverrideArg", "qsig.dnd.DNDOverrideArg_element",
13439         FT_NONE, BASE_NONE, NULL, 0,
13440         NULL, HFILL }},
13441     { &hf_qsig_dnd_qsig_dnd_PathRetainArg_PDU,
13442       { "PathRetainArg", "qsig.dnd.PathRetainArg",
13443         FT_UINT32, BASE_DEC, VALS(qsig_dnd_PathRetainArg_vals), 0,
13444         NULL, HFILL }},
13445     { &hf_qsig_dnd_qsig_dnd_ServiceAvailableArg_PDU,
13446       { "ServiceAvailableArg", "qsig.dnd.ServiceAvailableArg",
13447         FT_UINT32, BASE_DEC, VALS(qsig_dnd_ServiceAvailableArg_vals), 0,
13448         NULL, HFILL }},
13449     { &hf_qsig_dnd_qsig_dnd_DummyArg_PDU,
13450       { "DummyArg", "qsig.dnd.DummyArg",
13451         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DummyArg_vals), 0,
13452         NULL, HFILL }},
13453     { &hf_qsig_dnd_qsig_dnd_Extension_PDU,
13454       { "Extension", "qsig.dnd.Extension_element",
13455         FT_NONE, BASE_NONE, NULL, 0,
13456         NULL, HFILL }},
13457     { &hf_qsig_dnd_null,
13458       { "null", "qsig.dnd.null_element",
13459         FT_NONE, BASE_NONE, NULL, 0,
13460         NULL, HFILL }},
13461     { &hf_qsig_dnd_extension,
13462       { "extension", "qsig.dnd.extension_element",
13463         FT_NONE, BASE_NONE, NULL, 0,
13464         NULL, HFILL }},
13465     { &hf_qsig_dnd_sequenceOfExtn,
13466       { "sequenceOfExtn", "qsig.dnd.sequenceOfExtn",
13467         FT_UINT32, BASE_DEC, NULL, 0,
13468         "SEQUENCE_OF_Extension", HFILL }},
13469     { &hf_qsig_dnd_sequenceOfExtn_item,
13470       { "Extension", "qsig.dnd.Extension_element",
13471         FT_NONE, BASE_NONE, NULL, 0,
13472         NULL, HFILL }},
13473     { &hf_qsig_dnd_basicService,
13474       { "basicService", "qsig.dnd.basicService",
13475         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
13476         NULL, HFILL }},
13477     { &hf_qsig_dnd_servedUserNr,
13478       { "servedUserNr", "qsig.dnd.servedUserNr",
13479         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13480         "PartyNumber", HFILL }},
13481     { &hf_qsig_dnd_argumentExtensionDNDA,
13482       { "argumentExtension", "qsig.dnd.argumentExtension",
13483         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDAargumentExtension_vals), 0,
13484         "DNDAargumentExtension", HFILL }},
13485     { &hf_qsig_dnd_status,
13486       { "status", "qsig.dnd.status",
13487         FT_UINT32, BASE_DEC, NULL, 0,
13488         NULL, HFILL }},
13489     { &hf_qsig_dnd_status_item,
13490       { "status item", "qsig.dnd.status_item_element",
13491         FT_NONE, BASE_NONE, NULL, 0,
13492         NULL, HFILL }},
13493     { &hf_qsig_dnd_dndProtectionLevel,
13494       { "dndProtectionLevel", "qsig.dnd.dndProtectionLevel",
13495         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDProtectionLevel_vals), 0,
13496         NULL, HFILL }},
13497     { &hf_qsig_dnd_resultExtension,
13498       { "resultExtension", "qsig.dnd.resultExtension",
13499         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_vals), 0,
13500         NULL, HFILL }},
13501     { &hf_qsig_dnd_argumentExtensionDNDD,
13502       { "argumentExtension", "qsig.dnd.argumentExtension",
13503         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDDargumentExtension_vals), 0,
13504         "DNDDargumentExtension", HFILL }},
13505     { &hf_qsig_dnd_argumentExtensionDNDI,
13506       { "argumentExtension", "qsig.dnd.argumentExtension",
13507         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDIargumentExtension_vals), 0,
13508         "DNDIargumentExtension", HFILL }},
13509     { &hf_qsig_dnd_status_01,
13510       { "status", "qsig.dnd.status",
13511         FT_UINT32, BASE_DEC, NULL, 0,
13512         "T_status_01", HFILL }},
13513     { &hf_qsig_dnd_status_item_01,
13514       { "status item", "qsig.dnd.status_item_element",
13515         FT_NONE, BASE_NONE, NULL, 0,
13516         "T_status_item_01", HFILL }},
13517     { &hf_qsig_dnd_resultExtension_01,
13518       { "resultExtension", "qsig.dnd.resultExtension",
13519         FT_UINT32, BASE_DEC, VALS(qsig_dnd_T_resultExtension_01_vals), 0,
13520         "T_resultExtension_01", HFILL }},
13521     { &hf_qsig_dnd_dndoCapabilityLevel,
13522       { "dndoCapabilityLevel", "qsig.dnd.dndoCapabilityLevel",
13523         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOCapabilityLevel_vals), 0,
13524         NULL, HFILL }},
13525     { &hf_qsig_dnd_argumentExtensionDNDO,
13526       { "argumentExtension", "qsig.dnd.argumentExtension",
13527         FT_UINT32, BASE_DEC, VALS(qsig_dnd_DNDOargumentExtension_vals), 0,
13528         "DNDOargumentExtension", HFILL }},
13529     { &hf_qsig_dnd_serviceList,
13530       { "serviceList", "qsig.dnd.serviceList",
13531         FT_BYTES, BASE_NONE, NULL, 0,
13532         NULL, HFILL }},
13533     { &hf_qsig_dnd_extendedServiceList,
13534       { "extendedServiceList", "qsig.dnd.extendedServiceList_element",
13535         FT_NONE, BASE_NONE, NULL, 0,
13536         NULL, HFILL }},
13537     { &hf_qsig_dnd_extendedServiceList_01,
13538       { "extendedServiceList", "qsig.dnd.extendedServiceList_element",
13539         FT_NONE, BASE_NONE, NULL, 0,
13540         "T_extendedServiceList_01", HFILL }},
13541     { &hf_qsig_dnd_ServiceList_spare_bit0,
13542       { "spare_bit0", "qsig.dnd.ServiceList.spare.bit0",
13543         FT_BOOLEAN, 8, NULL, 0x80,
13544         NULL, HFILL }},
13545     { &hf_qsig_dnd_ServiceList_dndo_low,
13546       { "dndo-low", "qsig.dnd.ServiceList.dndo.low",
13547         FT_BOOLEAN, 8, NULL, 0x40,
13548         NULL, HFILL }},
13549     { &hf_qsig_dnd_ServiceList_dndo_medium,
13550       { "dndo-medium", "qsig.dnd.ServiceList.dndo.medium",
13551         FT_BOOLEAN, 8, NULL, 0x20,
13552         NULL, HFILL }},
13553     { &hf_qsig_dnd_ServiceList_dndo_high,
13554       { "dndo-high", "qsig.dnd.ServiceList.dndo.high",
13555         FT_BOOLEAN, 8, NULL, 0x10,
13556         NULL, HFILL }},
13557 
13558 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
13559 
13560     { &hf_qsig_ci_qsig_ci_PathRetainArg_PDU,
13561       { "PathRetainArg", "qsig.ci.PathRetainArg",
13562         FT_UINT32, BASE_DEC, VALS(qsig_ci_PathRetainArg_vals), 0,
13563         NULL, HFILL }},
13564     { &hf_qsig_ci_qsig_ci_ServiceAvailableArg_PDU,
13565       { "ServiceAvailableArg", "qsig.ci.ServiceAvailableArg",
13566         FT_UINT32, BASE_DEC, VALS(qsig_ci_ServiceAvailableArg_vals), 0,
13567         NULL, HFILL }},
13568     { &hf_qsig_ci_qsig_ci_CIRequestArg_PDU,
13569       { "CIRequestArg", "qsig.ci.CIRequestArg_element",
13570         FT_NONE, BASE_NONE, NULL, 0,
13571         NULL, HFILL }},
13572     { &hf_qsig_ci_qsig_ci_CIRequestRes_PDU,
13573       { "CIRequestRes", "qsig.ci.CIRequestRes_element",
13574         FT_NONE, BASE_NONE, NULL, 0,
13575         NULL, HFILL }},
13576     { &hf_qsig_ci_qsig_ci_DummyArg_PDU,
13577       { "DummyArg", "qsig.ci.DummyArg",
13578         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyArg_vals), 0,
13579         NULL, HFILL }},
13580     { &hf_qsig_ci_qsig_ci_CIGetCIPLRes_PDU,
13581       { "CIGetCIPLRes", "qsig.ci.CIGetCIPLRes_element",
13582         FT_NONE, BASE_NONE, NULL, 0,
13583         NULL, HFILL }},
13584     { &hf_qsig_ci_qsig_ci_DummyRes_PDU,
13585       { "DummyRes", "qsig.ci.DummyRes",
13586         FT_UINT32, BASE_DEC, VALS(qsig_ci_DummyRes_vals), 0,
13587         NULL, HFILL }},
13588     { &hf_qsig_ci_qsig_ci_Extension_PDU,
13589       { "Extension", "qsig.ci.Extension_element",
13590         FT_NONE, BASE_NONE, NULL, 0,
13591         NULL, HFILL }},
13592     { &hf_qsig_ci_serviceList,
13593       { "serviceList", "qsig.ci.serviceList",
13594         FT_BYTES, BASE_NONE, NULL, 0,
13595         NULL, HFILL }},
13596     { &hf_qsig_ci_extendedServiceList,
13597       { "extendedServiceList", "qsig.ci.extendedServiceList_element",
13598         FT_NONE, BASE_NONE, NULL, 0,
13599         NULL, HFILL }},
13600     { &hf_qsig_ci_extension,
13601       { "extension", "qsig.ci.extension_element",
13602         FT_NONE, BASE_NONE, NULL, 0,
13603         NULL, HFILL }},
13604     { &hf_qsig_ci_extendedServiceList_01,
13605       { "extendedServiceList", "qsig.ci.extendedServiceList_element",
13606         FT_NONE, BASE_NONE, NULL, 0,
13607         "T_extendedServiceList_01", HFILL }},
13608     { &hf_qsig_ci_null,
13609       { "null", "qsig.ci.null_element",
13610         FT_NONE, BASE_NONE, NULL, 0,
13611         NULL, HFILL }},
13612     { &hf_qsig_ci_sequenceOfExtn,
13613       { "sequenceOfExtn", "qsig.ci.sequenceOfExtn",
13614         FT_UINT32, BASE_DEC, NULL, 0,
13615         "SEQUENCE_OF_Extension", HFILL }},
13616     { &hf_qsig_ci_sequenceOfExtn_item,
13617       { "Extension", "qsig.ci.Extension_element",
13618         FT_NONE, BASE_NONE, NULL, 0,
13619         NULL, HFILL }},
13620     { &hf_qsig_ci_ciCapabilityLevel,
13621       { "ciCapabilityLevel", "qsig.ci.ciCapabilityLevel",
13622         FT_UINT32, BASE_DEC, VALS(qsig_ci_CICapabilityLevel_vals), 0,
13623         NULL, HFILL }},
13624     { &hf_qsig_ci_argumentExtension,
13625       { "argumentExtension", "qsig.ci.argumentExtension",
13626         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_argumentExtension_vals), 0,
13627         NULL, HFILL }},
13628     { &hf_qsig_ci_ciUnwantedUserStatus,
13629       { "ciUnwantedUserStatus", "qsig.ci.ciUnwantedUserStatus",
13630         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIUnwantedUserStatus_vals), 0,
13631         NULL, HFILL }},
13632     { &hf_qsig_ci_resultExtension,
13633       { "resultExtension", "qsig.ci.resultExtension",
13634         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_vals), 0,
13635         NULL, HFILL }},
13636     { &hf_qsig_ci_ciProtectionLevel,
13637       { "ciProtectionLevel", "qsig.ci.ciProtectionLevel",
13638         FT_UINT32, BASE_DEC, VALS(qsig_ci_CIProtectionLevel_vals), 0,
13639         NULL, HFILL }},
13640     { &hf_qsig_ci_resultExtension_01,
13641       { "resultExtension", "qsig.ci.resultExtension",
13642         FT_UINT32, BASE_DEC, VALS(qsig_ci_T_resultExtension_01_vals), 0,
13643         "T_resultExtension_01", HFILL }},
13644     { &hf_qsig_ci_ServiceList_spare_bit0,
13645       { "spare_bit0", "qsig.ci.ServiceList.spare.bit0",
13646         FT_BOOLEAN, 8, NULL, 0x80,
13647         NULL, HFILL }},
13648     { &hf_qsig_ci_ServiceList_spare_bit1,
13649       { "spare_bit1", "qsig.ci.ServiceList.spare.bit1",
13650         FT_BOOLEAN, 8, NULL, 0x40,
13651         NULL, HFILL }},
13652     { &hf_qsig_ci_ServiceList_spare_bit2,
13653       { "spare_bit2", "qsig.ci.ServiceList.spare.bit2",
13654         FT_BOOLEAN, 8, NULL, 0x20,
13655         NULL, HFILL }},
13656     { &hf_qsig_ci_ServiceList_spare_bit3,
13657       { "spare_bit3", "qsig.ci.ServiceList.spare.bit3",
13658         FT_BOOLEAN, 8, NULL, 0x10,
13659         NULL, HFILL }},
13660     { &hf_qsig_ci_ServiceList_ci_low,
13661       { "ci-low", "qsig.ci.ServiceList.ci.low",
13662         FT_BOOLEAN, 8, NULL, 0x08,
13663         NULL, HFILL }},
13664     { &hf_qsig_ci_ServiceList_ci_medium,
13665       { "ci-medium", "qsig.ci.ServiceList.ci.medium",
13666         FT_BOOLEAN, 8, NULL, 0x04,
13667         NULL, HFILL }},
13668     { &hf_qsig_ci_ServiceList_ci_high,
13669       { "ci-high", "qsig.ci.ServiceList.ci.high",
13670         FT_BOOLEAN, 8, NULL, 0x02,
13671         NULL, HFILL }},
13672 
13673 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
13674 
13675     { &hf_qsig_aoc_qsig_aoc_AocRateArg_PDU,
13676       { "AocRateArg", "qsig.aoc.AocRateArg_element",
13677         FT_NONE, BASE_NONE, NULL, 0,
13678         NULL, HFILL }},
13679     { &hf_qsig_aoc_qsig_aoc_AocInterimArg_PDU,
13680       { "AocInterimArg", "qsig.aoc.AocInterimArg_element",
13681         FT_NONE, BASE_NONE, NULL, 0,
13682         NULL, HFILL }},
13683     { &hf_qsig_aoc_qsig_aoc_AocFinalArg_PDU,
13684       { "AocFinalArg", "qsig.aoc.AocFinalArg_element",
13685         FT_NONE, BASE_NONE, NULL, 0,
13686         NULL, HFILL }},
13687     { &hf_qsig_aoc_qsig_aoc_ChargeRequestArg_PDU,
13688       { "ChargeRequestArg", "qsig.aoc.ChargeRequestArg_element",
13689         FT_NONE, BASE_NONE, NULL, 0,
13690         NULL, HFILL }},
13691     { &hf_qsig_aoc_qsig_aoc_ChargeRequestRes_PDU,
13692       { "ChargeRequestRes", "qsig.aoc.ChargeRequestRes_element",
13693         FT_NONE, BASE_NONE, NULL, 0,
13694         NULL, HFILL }},
13695     { &hf_qsig_aoc_qsig_aoc_DummyArg_PDU,
13696       { "DummyArg", "qsig.aoc.DummyArg",
13697         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DummyArg_vals), 0,
13698         NULL, HFILL }},
13699     { &hf_qsig_aoc_qsig_aoc_AocCompleteArg_PDU,
13700       { "AocCompleteArg", "qsig.aoc.AocCompleteArg_element",
13701         FT_NONE, BASE_NONE, NULL, 0,
13702         NULL, HFILL }},
13703     { &hf_qsig_aoc_qsig_aoc_AocCompleteRes_PDU,
13704       { "AocCompleteRes", "qsig.aoc.AocCompleteRes_element",
13705         FT_NONE, BASE_NONE, NULL, 0,
13706         NULL, HFILL }},
13707     { &hf_qsig_aoc_qsig_aoc_AocDivChargeReqArg_PDU,
13708       { "AocDivChargeReqArg", "qsig.aoc.AocDivChargeReqArg_element",
13709         FT_NONE, BASE_NONE, NULL, 0,
13710         NULL, HFILL }},
13711     { &hf_qsig_aoc_qsig_aoc_Extension_PDU,
13712       { "Extension", "qsig.aoc.Extension_element",
13713         FT_NONE, BASE_NONE, NULL, 0,
13714         NULL, HFILL }},
13715     { &hf_qsig_aoc_aocRate,
13716       { "aocRate", "qsig.aoc.aocRate",
13717         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocRate_vals), 0,
13718         NULL, HFILL }},
13719     { &hf_qsig_aoc_chargeNotAvailable,
13720       { "chargeNotAvailable", "qsig.aoc.chargeNotAvailable_element",
13721         FT_NONE, BASE_NONE, NULL, 0,
13722         NULL, HFILL }},
13723     { &hf_qsig_aoc_aocSCurrencyInfoList,
13724       { "aocSCurrencyInfoList", "qsig.aoc.aocSCurrencyInfoList",
13725         FT_UINT32, BASE_DEC, NULL, 0,
13726         NULL, HFILL }},
13727     { &hf_qsig_aoc_rateArgExtension,
13728       { "rateArgExtension", "qsig.aoc.rateArgExtension",
13729         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateArgExtension_vals), 0,
13730         NULL, HFILL }},
13731     { &hf_qsig_aoc_extension,
13732       { "extension", "qsig.aoc.extension_element",
13733         FT_NONE, BASE_NONE, NULL, 0,
13734         NULL, HFILL }},
13735     { &hf_qsig_aoc_multipleExtension,
13736       { "multipleExtension", "qsig.aoc.multipleExtension",
13737         FT_UINT32, BASE_DEC, NULL, 0,
13738         "SEQUENCE_OF_Extension", HFILL }},
13739     { &hf_qsig_aoc_multipleExtension_item,
13740       { "Extension", "qsig.aoc.Extension_element",
13741         FT_NONE, BASE_NONE, NULL, 0,
13742         NULL, HFILL }},
13743     { &hf_qsig_aoc_interimCharge,
13744       { "interimCharge", "qsig.aoc.interimCharge",
13745         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimCharge_vals), 0,
13746         NULL, HFILL }},
13747     { &hf_qsig_aoc_freeOfCharge,
13748       { "freeOfCharge", "qsig.aoc.freeOfCharge_element",
13749         FT_NONE, BASE_NONE, NULL, 0,
13750         NULL, HFILL }},
13751     { &hf_qsig_aoc_specificCurrency,
13752       { "specificCurrency", "qsig.aoc.specificCurrency_element",
13753         FT_NONE, BASE_NONE, NULL, 0,
13754         NULL, HFILL }},
13755     { &hf_qsig_aoc_recordedCurrency,
13756       { "recordedCurrency", "qsig.aoc.recordedCurrency_element",
13757         FT_NONE, BASE_NONE, NULL, 0,
13758         NULL, HFILL }},
13759     { &hf_qsig_aoc_interimBillingId,
13760       { "interimBillingId", "qsig.aoc.interimBillingId",
13761         FT_UINT32, BASE_DEC, VALS(qsig_aoc_InterimBillingId_vals), 0,
13762         NULL, HFILL }},
13763     { &hf_qsig_aoc_interimArgExtension,
13764       { "interimArgExtension", "qsig.aoc.interimArgExtension",
13765         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_interimArgExtension_vals), 0,
13766         NULL, HFILL }},
13767     { &hf_qsig_aoc_finalCharge,
13768       { "finalCharge", "qsig.aoc.finalCharge",
13769         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalCharge_vals), 0,
13770         NULL, HFILL }},
13771     { &hf_qsig_aoc_specificCurrency_01,
13772       { "specificCurrency", "qsig.aoc.specificCurrency_element",
13773         FT_NONE, BASE_NONE, NULL, 0,
13774         "T_specificCurrency_01", HFILL }},
13775     { &hf_qsig_aoc_finalBillingId,
13776       { "finalBillingId", "qsig.aoc.finalBillingId",
13777         FT_UINT32, BASE_DEC, VALS(qsig_aoc_FinalBillingId_vals), 0,
13778         NULL, HFILL }},
13779     { &hf_qsig_aoc_chargingAssociation,
13780       { "chargingAssociation", "qsig.aoc.chargingAssociation",
13781         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingAssociation_vals), 0,
13782         NULL, HFILL }},
13783     { &hf_qsig_aoc_finalArgExtension,
13784       { "finalArgExtension", "qsig.aoc.finalArgExtension",
13785         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_finalArgExtension_vals), 0,
13786         NULL, HFILL }},
13787     { &hf_qsig_aoc_AOCSCurrencyInfoList_item,
13788       { "AOCSCurrencyInfo", "qsig.aoc.AOCSCurrencyInfo_element",
13789         FT_NONE, BASE_NONE, NULL, 0,
13790         NULL, HFILL }},
13791     { &hf_qsig_aoc_chargedItem,
13792       { "chargedItem", "qsig.aoc.chargedItem",
13793         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargedItem_vals), 0,
13794         NULL, HFILL }},
13795     { &hf_qsig_aoc_rateType,
13796       { "rateType", "qsig.aoc.rateType",
13797         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_rateType_vals), 0,
13798         NULL, HFILL }},
13799     { &hf_qsig_aoc_durationCurrency,
13800       { "durationCurrency", "qsig.aoc.durationCurrency_element",
13801         FT_NONE, BASE_NONE, NULL, 0,
13802         NULL, HFILL }},
13803     { &hf_qsig_aoc_flatRateCurrency,
13804       { "flatRateCurrency", "qsig.aoc.flatRateCurrency_element",
13805         FT_NONE, BASE_NONE, NULL, 0,
13806         NULL, HFILL }},
13807     { &hf_qsig_aoc_volumeRateCurrency,
13808       { "volumeRateCurrency", "qsig.aoc.volumeRateCurrency_element",
13809         FT_NONE, BASE_NONE, NULL, 0,
13810         NULL, HFILL }},
13811     { &hf_qsig_aoc_specialChargingCode,
13812       { "specialChargingCode", "qsig.aoc.specialChargingCode",
13813         FT_UINT32, BASE_DEC, NULL, 0,
13814         NULL, HFILL }},
13815     { &hf_qsig_aoc_currencyInfoNotAvailable,
13816       { "currencyInfoNotAvailable", "qsig.aoc.currencyInfoNotAvailable_element",
13817         FT_NONE, BASE_NONE, NULL, 0,
13818         NULL, HFILL }},
13819     { &hf_qsig_aoc_freeOfChargefromBeginning,
13820       { "freeOfChargefromBeginning", "qsig.aoc.freeOfChargefromBeginning_element",
13821         FT_NONE, BASE_NONE, NULL, 0,
13822         NULL, HFILL }},
13823     { &hf_qsig_aoc_dCurrency,
13824       { "dCurrency", "qsig.aoc.dCurrency",
13825         FT_STRING, BASE_NONE, NULL, 0,
13826         "Currency", HFILL }},
13827     { &hf_qsig_aoc_dAmount,
13828       { "dAmount", "qsig.aoc.dAmount_element",
13829         FT_NONE, BASE_NONE, NULL, 0,
13830         "Amount", HFILL }},
13831     { &hf_qsig_aoc_dChargingType,
13832       { "dChargingType", "qsig.aoc.dChargingType",
13833         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingType_vals), 0,
13834         "ChargingType", HFILL }},
13835     { &hf_qsig_aoc_dTime,
13836       { "dTime", "qsig.aoc.dTime_element",
13837         FT_NONE, BASE_NONE, NULL, 0,
13838         "Time", HFILL }},
13839     { &hf_qsig_aoc_dGranularity,
13840       { "dGranularity", "qsig.aoc.dGranularity_element",
13841         FT_NONE, BASE_NONE, NULL, 0,
13842         "Time", HFILL }},
13843     { &hf_qsig_aoc_fRCurrency,
13844       { "fRCurrency", "qsig.aoc.fRCurrency",
13845         FT_STRING, BASE_NONE, NULL, 0,
13846         "Currency", HFILL }},
13847     { &hf_qsig_aoc_fRAmount,
13848       { "fRAmount", "qsig.aoc.fRAmount_element",
13849         FT_NONE, BASE_NONE, NULL, 0,
13850         "Amount", HFILL }},
13851     { &hf_qsig_aoc_vRCurrency,
13852       { "vRCurrency", "qsig.aoc.vRCurrency",
13853         FT_STRING, BASE_NONE, NULL, 0,
13854         "Currency", HFILL }},
13855     { &hf_qsig_aoc_vRAmount,
13856       { "vRAmount", "qsig.aoc.vRAmount_element",
13857         FT_NONE, BASE_NONE, NULL, 0,
13858         "Amount", HFILL }},
13859     { &hf_qsig_aoc_vRVolumeUnit,
13860       { "vRVolumeUnit", "qsig.aoc.vRVolumeUnit",
13861         FT_UINT32, BASE_DEC, VALS(qsig_aoc_VolumeUnit_vals), 0,
13862         "VolumeUnit", HFILL }},
13863     { &hf_qsig_aoc_rCurrency,
13864       { "rCurrency", "qsig.aoc.rCurrency",
13865         FT_STRING, BASE_NONE, NULL, 0,
13866         "Currency", HFILL }},
13867     { &hf_qsig_aoc_rAmount,
13868       { "rAmount", "qsig.aoc.rAmount_element",
13869         FT_NONE, BASE_NONE, NULL, 0,
13870         "Amount", HFILL }},
13871     { &hf_qsig_aoc_currencyAmount,
13872       { "currencyAmount", "qsig.aoc.currencyAmount",
13873         FT_UINT32, BASE_DEC, NULL, 0,
13874         NULL, HFILL }},
13875     { &hf_qsig_aoc_multiplier,
13876       { "multiplier", "qsig.aoc.multiplier",
13877         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Multiplier_vals), 0,
13878         NULL, HFILL }},
13879     { &hf_qsig_aoc_lengthOfTimeUnit,
13880       { "lengthOfTimeUnit", "qsig.aoc.lengthOfTimeUnit",
13881         FT_UINT32, BASE_DEC, NULL, 0,
13882         NULL, HFILL }},
13883     { &hf_qsig_aoc_scale,
13884       { "scale", "qsig.aoc.scale",
13885         FT_UINT32, BASE_DEC, VALS(qsig_aoc_Scale_vals), 0,
13886         NULL, HFILL }},
13887     { &hf_qsig_aoc_chargeNumber,
13888       { "chargeNumber", "qsig.aoc.chargeNumber",
13889         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13890         "PartyNumber", HFILL }},
13891     { &hf_qsig_aoc_chargeIdentifier,
13892       { "chargeIdentifier", "qsig.aoc.chargeIdentifier",
13893         FT_INT32, BASE_DEC, NULL, 0,
13894         NULL, HFILL }},
13895     { &hf_qsig_aoc_adviceModeCombinations,
13896       { "adviceModeCombinations", "qsig.aoc.adviceModeCombinations",
13897         FT_UINT32, BASE_DEC, NULL, 0,
13898         "SEQUENCE_SIZE_0_7_OF_AdviceModeCombination", HFILL }},
13899     { &hf_qsig_aoc_adviceModeCombinations_item,
13900       { "AdviceModeCombination", "qsig.aoc.AdviceModeCombination",
13901         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13902         NULL, HFILL }},
13903     { &hf_qsig_aoc_chargeReqArgExtension,
13904       { "chargeReqArgExtension", "qsig.aoc.chargeReqArgExtension",
13905         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqArgExtension_vals), 0,
13906         NULL, HFILL }},
13907     { &hf_qsig_aoc_adviceModeCombination,
13908       { "adviceModeCombination", "qsig.aoc.adviceModeCombination",
13909         FT_UINT32, BASE_DEC, VALS(qsig_aoc_AdviceModeCombination_vals), 0,
13910         NULL, HFILL }},
13911     { &hf_qsig_aoc_chargeReqResExtension,
13912       { "chargeReqResExtension", "qsig.aoc.chargeReqResExtension",
13913         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_chargeReqResExtension_vals), 0,
13914         NULL, HFILL }},
13915     { &hf_qsig_aoc_none,
13916       { "none", "qsig.aoc.none_element",
13917         FT_NONE, BASE_NONE, NULL, 0,
13918         NULL, HFILL }},
13919     { &hf_qsig_aoc_chargedUser,
13920       { "chargedUser", "qsig.aoc.chargedUser",
13921         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13922         "PartyNumber", HFILL }},
13923     { &hf_qsig_aoc_completeArgExtension,
13924       { "completeArgExtension", "qsig.aoc.completeArgExtension",
13925         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeArgExtension_vals), 0,
13926         NULL, HFILL }},
13927     { &hf_qsig_aoc_chargingOption,
13928       { "chargingOption", "qsig.aoc.chargingOption",
13929         FT_UINT32, BASE_DEC, VALS(qsig_aoc_ChargingOption_vals), 0,
13930         NULL, HFILL }},
13931     { &hf_qsig_aoc_completeResExtension,
13932       { "completeResExtension", "qsig.aoc.completeResExtension",
13933         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_completeResExtension_vals), 0,
13934         NULL, HFILL }},
13935     { &hf_qsig_aoc_divertingUser,
13936       { "divertingUser", "qsig.aoc.divertingUser",
13937         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
13938         "PartyNumber", HFILL }},
13939     { &hf_qsig_aoc_diversionType,
13940       { "diversionType", "qsig.aoc.diversionType",
13941         FT_UINT32, BASE_DEC, VALS(qsig_aoc_DiversionType_vals), 0,
13942         NULL, HFILL }},
13943     { &hf_qsig_aoc_aocDivChargeReqArgExt,
13944       { "aocDivChargeReqArgExt", "qsig.aoc.aocDivChargeReqArgExt",
13945         FT_UINT32, BASE_DEC, VALS(qsig_aoc_T_aocDivChargeReqArgExt_vals), 0,
13946         NULL, HFILL }},
13947 
13948 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
13949 
13950     { &hf_qsig_re_qsig_re_ReAlertingArg_PDU,
13951       { "ReAlertingArg", "qsig.re.ReAlertingArg_element",
13952         FT_NONE, BASE_NONE, NULL, 0,
13953         NULL, HFILL }},
13954     { &hf_qsig_re_qsig_re_ReAnswerArg_PDU,
13955       { "ReAnswerArg", "qsig.re.ReAnswerArg_element",
13956         FT_NONE, BASE_NONE, NULL, 0,
13957         NULL, HFILL }},
13958     { &hf_qsig_re_alertedNumber,
13959       { "alertedNumber", "qsig.re.alertedNumber",
13960         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13961         "PresentedNumberScreened", HFILL }},
13962     { &hf_qsig_re_alertedName,
13963       { "alertedName", "qsig.re.alertedName",
13964         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13965         "Name", HFILL }},
13966     { &hf_qsig_re_argumentExtension,
13967       { "argumentExtension", "qsig.re.argumentExtension",
13968         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_vals), 0,
13969         NULL, HFILL }},
13970     { &hf_qsig_re_extension,
13971       { "extension", "qsig.re.extension_element",
13972         FT_NONE, BASE_NONE, NULL, 0,
13973         NULL, HFILL }},
13974     { &hf_qsig_re_multipleExtension,
13975       { "multipleExtension", "qsig.re.multipleExtension",
13976         FT_UINT32, BASE_DEC, NULL, 0,
13977         "SEQUENCE_OF_Extension", HFILL }},
13978     { &hf_qsig_re_multipleExtension_item,
13979       { "Extension", "qsig.re.Extension_element",
13980         FT_NONE, BASE_NONE, NULL, 0,
13981         NULL, HFILL }},
13982     { &hf_qsig_re_connectedNumber,
13983       { "connectedNumber", "qsig.re.connectedNumber",
13984         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
13985         "PresentedNumberScreened", HFILL }},
13986     { &hf_qsig_re_connectedSubaddress,
13987       { "connectedSubaddress", "qsig.re.connectedSubaddress",
13988         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
13989         "PartySubaddress", HFILL }},
13990     { &hf_qsig_re_connectedName,
13991       { "connectedName", "qsig.re.connectedName",
13992         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
13993         "Name", HFILL }},
13994     { &hf_qsig_re_argumentExtension_01,
13995       { "argumentExtension", "qsig.re.argumentExtension",
13996         FT_UINT32, BASE_DEC, VALS(qsig_re_T_argumentExtension_01_vals), 0,
13997         "T_argumentExtension_01", HFILL }},
13998 
13999 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
14000 
14001     { &hf_qsig_sync_qsig_sync_SynchronizationReqArg_PDU,
14002       { "SynchronizationReqArg", "qsig.sync.SynchronizationReqArg_element",
14003         FT_NONE, BASE_NONE, NULL, 0,
14004         NULL, HFILL }},
14005     { &hf_qsig_sync_qsig_sync_SynchronizationReqRes_PDU,
14006       { "SynchronizationReqRes", "qsig.sync.SynchronizationReqRes_element",
14007         FT_NONE, BASE_NONE, NULL, 0,
14008         NULL, HFILL }},
14009     { &hf_qsig_sync_qsig_sync_SynchronizationInfoArg_PDU,
14010       { "SynchronizationInfoArg", "qsig.sync.SynchronizationInfoArg_element",
14011         FT_NONE, BASE_NONE, NULL, 0,
14012         NULL, HFILL }},
14013     { &hf_qsig_sync_qsig_sync_Extension_PDU,
14014       { "Extension", "qsig.sync.Extension_element",
14015         FT_NONE, BASE_NONE, NULL, 0,
14016         NULL, HFILL }},
14017     { &hf_qsig_sync_action,
14018       { "action", "qsig.sync.action",
14019         FT_INT32, BASE_DEC, VALS(qsig_sync_Action_vals), 0,
14020         NULL, HFILL }},
14021     { &hf_qsig_sync_argExtension,
14022       { "argExtension", "qsig.sync.argExtension",
14023         FT_UINT32, BASE_DEC, VALS(qsig_sync_ArgExtension_vals), 0,
14024         NULL, HFILL }},
14025     { &hf_qsig_sync_response,
14026       { "response", "qsig.sync.response",
14027         FT_BOOLEAN, BASE_NONE, NULL, 0,
14028         "BOOLEAN", HFILL }},
14029     { &hf_qsig_sync_stateinfo,
14030       { "stateinfo", "qsig.sync.stateinfo",
14031         FT_INT32, BASE_DEC, VALS(qsig_sync_T_stateinfo_vals), 0,
14032         NULL, HFILL }},
14033     { &hf_qsig_sync_extension,
14034       { "extension", "qsig.sync.extension_element",
14035         FT_NONE, BASE_NONE, NULL, 0,
14036         NULL, HFILL }},
14037     { &hf_qsig_sync_sequOfExtn,
14038       { "sequOfExtn", "qsig.sync.sequOfExtn",
14039         FT_UINT32, BASE_DEC, NULL, 0,
14040         "SEQUENCE_OF_Extension", HFILL }},
14041     { &hf_qsig_sync_sequOfExtn_item,
14042       { "Extension", "qsig.sync.Extension_element",
14043         FT_NONE, BASE_NONE, NULL, 0,
14044         NULL, HFILL }},
14045 
14046 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
14047 
14048     { &hf_qsig_cint_qsig_cint_CintInformation1Arg_PDU,
14049       { "CintInformation1Arg", "qsig.cint.CintInformation1Arg_element",
14050         FT_NONE, BASE_NONE, NULL, 0,
14051         NULL, HFILL }},
14052     { &hf_qsig_cint_qsig_cint_CintInformation2Arg_PDU,
14053       { "CintInformation2Arg", "qsig.cint.CintInformation2Arg_element",
14054         FT_NONE, BASE_NONE, NULL, 0,
14055         NULL, HFILL }},
14056     { &hf_qsig_cint_qsig_cint_CintCondArg_PDU,
14057       { "CintCondArg", "qsig.cint.CintCondArg_element",
14058         FT_NONE, BASE_NONE, NULL, 0,
14059         NULL, HFILL }},
14060     { &hf_qsig_cint_qsig_cint_CintExtension_PDU,
14061       { "CintExtension", "qsig.cint.CintExtension",
14062         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
14063         NULL, HFILL }},
14064     { &hf_qsig_cint_interceptionCause,
14065       { "interceptionCause", "qsig.cint.interceptionCause",
14066         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintCause_vals), 0,
14067         "CintCause", HFILL }},
14068     { &hf_qsig_cint_interceptedToNumber,
14069       { "interceptedToNumber", "qsig.cint.interceptedToNumber",
14070         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14071         "PartyNumber", HFILL }},
14072     { &hf_qsig_cint_extension,
14073       { "extension", "qsig.cint.extension",
14074         FT_UINT32, BASE_DEC, VALS(qsig_cint_CintExtension_vals), 0,
14075         "CintExtension", HFILL }},
14076     { &hf_qsig_cint_calledNumber,
14077       { "calledNumber", "qsig.cint.calledNumber",
14078         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
14079         "PresentedNumberUnscreened", HFILL }},
14080     { &hf_qsig_cint_originalCalledNumber,
14081       { "originalCalledNumber", "qsig.cint.originalCalledNumber",
14082         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberUnscreened_vals), 0,
14083         "PresentedNumberUnscreened", HFILL }},
14084     { &hf_qsig_cint_calledName,
14085       { "calledName", "qsig.cint.calledName",
14086         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14087         "Name", HFILL }},
14088     { &hf_qsig_cint_originalCalledName,
14089       { "originalCalledName", "qsig.cint.originalCalledName",
14090         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14091         "Name", HFILL }},
14092     { &hf_qsig_cint_interceptionCause_01,
14093       { "interceptionCause", "qsig.cint.interceptionCause",
14094         FT_UINT32, BASE_DEC, VALS(qsig_cint_Condition_vals), 0,
14095         "Condition", HFILL }},
14096     { &hf_qsig_cint_none,
14097       { "none", "qsig.cint.none_element",
14098         FT_NONE, BASE_NONE, NULL, 0,
14099         NULL, HFILL }},
14100     { &hf_qsig_cint_single,
14101       { "single", "qsig.cint.single_element",
14102         FT_NONE, BASE_NONE, NULL, 0,
14103         "Extension", HFILL }},
14104     { &hf_qsig_cint_multiple,
14105       { "multiple", "qsig.cint.multiple",
14106         FT_UINT32, BASE_DEC, NULL, 0,
14107         "SEQUENCE_OF_Extension", HFILL }},
14108     { &hf_qsig_cint_multiple_item,
14109       { "Extension", "qsig.cint.Extension_element",
14110         FT_NONE, BASE_NONE, NULL, 0,
14111         NULL, HFILL }},
14112 
14113 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
14114 
14115     { &hf_qsig_cmn_qsig_cmn_DummyArg_PDU,
14116       { "DummyArg", "qsig.cmn.DummyArg",
14117         FT_UINT32, BASE_DEC, VALS(qsig_cmn_DummyArg_vals), 0,
14118         NULL, HFILL }},
14119     { &hf_qsig_cmn_qsig_cmn_CmnArg_PDU,
14120       { "CmnArg", "qsig.cmn.CmnArg_element",
14121         FT_NONE, BASE_NONE, NULL, 0,
14122         NULL, HFILL }},
14123     { &hf_qsig_cmn_featureIdentifier,
14124       { "featureIdentifier", "qsig.cmn.featureIdentifier",
14125         FT_BYTES, BASE_NONE, NULL, 0,
14126         "FeatureIdList", HFILL }},
14127     { &hf_qsig_cmn_ssDNDOprotectionLevel,
14128       { "ssDNDOprotectionLevel", "qsig.cmn.ssDNDOprotectionLevel",
14129         FT_UINT32, BASE_DEC, NULL, 0,
14130         "INTEGER_0_3", HFILL }},
14131     { &hf_qsig_cmn_ssCIprotectionLevel,
14132       { "ssCIprotectionLevel", "qsig.cmn.ssCIprotectionLevel",
14133         FT_UINT32, BASE_DEC, NULL, 0,
14134         "INTEGER_0_3", HFILL }},
14135     { &hf_qsig_cmn_equipmentIdentity,
14136       { "equipmentIdentity", "qsig.cmn.equipmentIdentity_element",
14137         FT_NONE, BASE_NONE, NULL, 0,
14138         "EquipmentId", HFILL }},
14139     { &hf_qsig_cmn_partyCategory,
14140       { "partyCategory", "qsig.cmn.partyCategory",
14141         FT_UINT32, BASE_DEC, VALS(qsig_cmn_PartyCategory_vals), 0,
14142         NULL, HFILL }},
14143     { &hf_qsig_cmn_extension,
14144       { "extension", "qsig.cmn.extension",
14145         FT_UINT32, BASE_DEC, VALS(qsig_cmn_T_extension_vals), 0,
14146         NULL, HFILL }},
14147     { &hf_qsig_cmn_single,
14148       { "single", "qsig.cmn.single_element",
14149         FT_NONE, BASE_NONE, NULL, 0,
14150         "Extension", HFILL }},
14151     { &hf_qsig_cmn_multiple,
14152       { "multiple", "qsig.cmn.multiple",
14153         FT_UINT32, BASE_DEC, NULL, 0,
14154         "SEQUENCE_OF_Extension", HFILL }},
14155     { &hf_qsig_cmn_multiple_item,
14156       { "Extension", "qsig.cmn.Extension_element",
14157         FT_NONE, BASE_NONE, NULL, 0,
14158         NULL, HFILL }},
14159     { &hf_qsig_cmn_null,
14160       { "null", "qsig.cmn.null_element",
14161         FT_NONE, BASE_NONE, NULL, 0,
14162         NULL, HFILL }},
14163     { &hf_qsig_cmn_nodeId,
14164       { "nodeId", "qsig.cmn.nodeId",
14165         FT_STRING, BASE_NONE, NULL, 0,
14166         "IA5String_SIZE_1_10", HFILL }},
14167     { &hf_qsig_cmn_groupId,
14168       { "groupId", "qsig.cmn.groupId",
14169         FT_STRING, BASE_NONE, NULL, 0,
14170         "IA5String_SIZE_1_10", HFILL }},
14171     { &hf_qsig_cmn_unitId,
14172       { "unitId", "qsig.cmn.unitId",
14173         FT_STRING, BASE_NONE, NULL, 0,
14174         "IA5String_SIZE_1_10", HFILL }},
14175     { &hf_qsig_cmn_FeatureIdList_reserved,
14176       { "reserved", "qsig.cmn.FeatureIdList.reserved",
14177         FT_BOOLEAN, 8, NULL, 0x80,
14178         NULL, HFILL }},
14179     { &hf_qsig_cmn_FeatureIdList_ssCFreRoutingSupported,
14180       { "ssCFreRoutingSupported", "qsig.cmn.FeatureIdList.ssCFreRoutingSupported",
14181         FT_BOOLEAN, 8, NULL, 0x40,
14182         NULL, HFILL }},
14183     { &hf_qsig_cmn_FeatureIdList_ssCTreRoutingSupported,
14184       { "ssCTreRoutingSupported", "qsig.cmn.FeatureIdList.ssCTreRoutingSupported",
14185         FT_BOOLEAN, 8, NULL, 0x20,
14186         NULL, HFILL }},
14187     { &hf_qsig_cmn_FeatureIdList_ssCCBSpossible,
14188       { "ssCCBSpossible", "qsig.cmn.FeatureIdList.ssCCBSpossible",
14189         FT_BOOLEAN, 8, NULL, 0x10,
14190         NULL, HFILL }},
14191     { &hf_qsig_cmn_FeatureIdList_ssCCNRpossible,
14192       { "ssCCNRpossible", "qsig.cmn.FeatureIdList.ssCCNRpossible",
14193         FT_BOOLEAN, 8, NULL, 0x08,
14194         NULL, HFILL }},
14195     { &hf_qsig_cmn_FeatureIdList_ssCOsupported,
14196       { "ssCOsupported", "qsig.cmn.FeatureIdList.ssCOsupported",
14197         FT_BOOLEAN, 8, NULL, 0x04,
14198         NULL, HFILL }},
14199     { &hf_qsig_cmn_FeatureIdList_ssCIforcedRelease,
14200       { "ssCIforcedRelease", "qsig.cmn.FeatureIdList.ssCIforcedRelease",
14201         FT_BOOLEAN, 8, NULL, 0x02,
14202         NULL, HFILL }},
14203     { &hf_qsig_cmn_FeatureIdList_ssCIisolation,
14204       { "ssCIisolation", "qsig.cmn.FeatureIdList.ssCIisolation",
14205         FT_BOOLEAN, 8, NULL, 0x01,
14206         NULL, HFILL }},
14207     { &hf_qsig_cmn_FeatureIdList_ssCIwaitOnBusy,
14208       { "ssCIwaitOnBusy", "qsig.cmn.FeatureIdList.ssCIwaitOnBusy",
14209         FT_BOOLEAN, 8, NULL, 0x80,
14210         NULL, HFILL }},
14211     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportChargeRateProvAtGatewPinx,
14212       { "ssAOCsupportChargeRateProvAtGatewPinx", "qsig.cmn.FeatureIdList.ssAOCsupportChargeRateProvAtGatewPinx",
14213         FT_BOOLEAN, 8, NULL, 0x40,
14214         NULL, HFILL }},
14215     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportInterimChargeProvAtGatewPinx,
14216       { "ssAOCsupportInterimChargeProvAtGatewPinx", "qsig.cmn.FeatureIdList.ssAOCsupportInterimChargeProvAtGatewPinx",
14217         FT_BOOLEAN, 8, NULL, 0x20,
14218         NULL, HFILL }},
14219     { &hf_qsig_cmn_FeatureIdList_ssAOCsupportFinalChargeProvAtGatewPinx,
14220       { "ssAOCsupportFinalChargeProvAtGatewPinx", "qsig.cmn.FeatureIdList.ssAOCsupportFinalChargeProvAtGatewPinx",
14221         FT_BOOLEAN, 8, NULL, 0x10,
14222         NULL, HFILL }},
14223     { &hf_qsig_cmn_FeatureIdList_anfPRsupportedAtCooperatingPinx,
14224       { "anfPRsupportedAtCooperatingPinx", "qsig.cmn.FeatureIdList.anfPRsupportedAtCooperatingPinx",
14225         FT_BOOLEAN, 8, NULL, 0x08,
14226         NULL, HFILL }},
14227     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptImmediate,
14228       { "anfCINTcanInterceptImmediate", "qsig.cmn.FeatureIdList.anfCINTcanInterceptImmediate",
14229         FT_BOOLEAN, 8, NULL, 0x04,
14230         NULL, HFILL }},
14231     { &hf_qsig_cmn_FeatureIdList_anfCINTcanInterceptDelayed,
14232       { "anfCINTcanInterceptDelayed", "qsig.cmn.FeatureIdList.anfCINTcanInterceptDelayed",
14233         FT_BOOLEAN, 8, NULL, 0x02,
14234         NULL, HFILL }},
14235     { &hf_qsig_cmn_FeatureIdList_anfWTMIreRoutingSupported,
14236       { "anfWTMIreRoutingSupported", "qsig.cmn.FeatureIdList.anfWTMIreRoutingSupported",
14237         FT_BOOLEAN, 8, NULL, 0x01,
14238         NULL, HFILL }},
14239     { &hf_qsig_cmn_FeatureIdList_anfPUMIreRoutingSupported,
14240       { "anfPUMIreRoutingSupported", "qsig.cmn.FeatureIdList.anfPUMIreRoutingSupported",
14241         FT_BOOLEAN, 8, NULL, 0x80,
14242         NULL, HFILL }},
14243     { &hf_qsig_cmn_FeatureIdList_ssSSCTreRoutingSupported,
14244       { "ssSSCTreRoutingSupported", "qsig.cmn.FeatureIdList.ssSSCTreRoutingSupported",
14245         FT_BOOLEAN, 8, NULL, 0x40,
14246         NULL, HFILL }},
14247 
14248 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
14249 
14250     { &hf_qsig_cpi_qsig_cpi_CPIRequestArg_PDU,
14251       { "CPIRequestArg", "qsig.cpi.CPIRequestArg_element",
14252         FT_NONE, BASE_NONE, NULL, 0,
14253         NULL, HFILL }},
14254     { &hf_qsig_cpi_qsig_cpi_CPIPRequestArg_PDU,
14255       { "CPIPRequestArg", "qsig.cpi.CPIPRequestArg_element",
14256         FT_NONE, BASE_NONE, NULL, 0,
14257         NULL, HFILL }},
14258     { &hf_qsig_cpi_cpiCapabilityLevel,
14259       { "cpiCapabilityLevel", "qsig.cpi.cpiCapabilityLevel",
14260         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPICapabilityLevel_vals), 0,
14261         NULL, HFILL }},
14262     { &hf_qsig_cpi_argumentExtension,
14263       { "argumentExtension", "qsig.cpi.argumentExtension",
14264         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_vals), 0,
14265         NULL, HFILL }},
14266     { &hf_qsig_cpi_extension,
14267       { "extension", "qsig.cpi.extension_element",
14268         FT_NONE, BASE_NONE, NULL, 0,
14269         NULL, HFILL }},
14270     { &hf_qsig_cpi_sequenceOfExtn,
14271       { "sequenceOfExtn", "qsig.cpi.sequenceOfExtn",
14272         FT_UINT32, BASE_DEC, NULL, 0,
14273         "SEQUENCE_OF_Extension", HFILL }},
14274     { &hf_qsig_cpi_sequenceOfExtn_item,
14275       { "Extension", "qsig.cpi.Extension_element",
14276         FT_NONE, BASE_NONE, NULL, 0,
14277         NULL, HFILL }},
14278     { &hf_qsig_cpi_cpiProtectionLevel,
14279       { "cpiProtectionLevel", "qsig.cpi.cpiProtectionLevel",
14280         FT_UINT32, BASE_DEC, VALS(qsig_cpi_CPIProtectionLevel_vals), 0,
14281         NULL, HFILL }},
14282     { &hf_qsig_cpi_argumentExtension_01,
14283       { "argumentExtension", "qsig.cpi.argumentExtension",
14284         FT_UINT32, BASE_DEC, VALS(qsig_cpi_T_argumentExtension_01_vals), 0,
14285         "T_argumentExtension_01", HFILL }},
14286 
14287 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
14288 
14289     { &hf_qsig_pumr_qsig_pumr_PumRegistrArg_PDU,
14290       { "PumRegistrArg", "qsig.pumr.PumRegistrArg_element",
14291         FT_NONE, BASE_NONE, NULL, 0,
14292         NULL, HFILL }},
14293     { &hf_qsig_pumr_qsig_pumr_PumRegistrRes_PDU,
14294       { "PumRegistrRes", "qsig.pumr.PumRegistrRes_element",
14295         FT_NONE, BASE_NONE, NULL, 0,
14296         NULL, HFILL }},
14297     { &hf_qsig_pumr_qsig_pumr_PumDelRegArg_PDU,
14298       { "PumDelRegArg", "qsig.pumr.PumDelRegArg_element",
14299         FT_NONE, BASE_NONE, NULL, 0,
14300         NULL, HFILL }},
14301     { &hf_qsig_pumr_qsig_pumr_DummyRes_PDU,
14302       { "DummyRes", "qsig.pumr.DummyRes",
14303         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DummyRes_vals), 0,
14304         NULL, HFILL }},
14305     { &hf_qsig_pumr_qsig_pumr_PumDe_regArg_PDU,
14306       { "PumDe-regArg", "qsig.pumr.PumDe_regArg_element",
14307         FT_NONE, BASE_NONE, NULL, 0,
14308         NULL, HFILL }},
14309     { &hf_qsig_pumr_qsig_pumr_PumInterrogArg_PDU,
14310       { "PumInterrogArg", "qsig.pumr.PumInterrogArg_element",
14311         FT_NONE, BASE_NONE, NULL, 0,
14312         NULL, HFILL }},
14313     { &hf_qsig_pumr_qsig_pumr_PumInterrogRes_PDU,
14314       { "PumInterrogRes", "qsig.pumr.PumInterrogRes",
14315         FT_UINT32, BASE_DEC, NULL, 0,
14316         NULL, HFILL }},
14317     { &hf_qsig_pumr_qsig_pumr_Extension_PDU,
14318       { "Extension", "qsig.pumr.Extension_element",
14319         FT_NONE, BASE_NONE, NULL, 0,
14320         NULL, HFILL }},
14321     { &hf_qsig_pumr_pumRUserId,
14322       { "pumUserId", "qsig.pumr.pumUserId",
14323         FT_UINT32, BASE_DEC, VALS(qsig_pumr_RpumUserId_vals), 0,
14324         "RpumUserId", HFILL }},
14325     { &hf_qsig_pumr_pumNumber,
14326       { "pumNumber", "qsig.pumr.pumNumber",
14327         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14328         "PartyNumber", HFILL }},
14329     { &hf_qsig_pumr_alternativeId,
14330       { "alternativeId", "qsig.pumr.alternativeId",
14331         FT_BYTES, BASE_NONE, NULL, 0,
14332         NULL, HFILL }},
14333     { &hf_qsig_pumr_basicService,
14334       { "basicService", "qsig.pumr.basicService",
14335         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14336         NULL, HFILL }},
14337     { &hf_qsig_pumr_hostingAddr,
14338       { "hostingAddr", "qsig.pumr.hostingAddr",
14339         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14340         "PartyNumber", HFILL }},
14341     { &hf_qsig_pumr_activatingUserAddr,
14342       { "activatingUserAddr", "qsig.pumr.activatingUserAddr",
14343         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14344         "PartyNumber", HFILL }},
14345     { &hf_qsig_pumr_serviceOption,
14346       { "serviceOption", "qsig.pumr.serviceOption",
14347         FT_UINT32, BASE_DEC, VALS(qsig_pumr_ServiceOption_vals), 0,
14348         NULL, HFILL }},
14349     { &hf_qsig_pumr_sessionParams,
14350       { "sessionParams", "qsig.pumr.sessionParams_element",
14351         FT_NONE, BASE_NONE, NULL, 0,
14352         NULL, HFILL }},
14353     { &hf_qsig_pumr_userPin,
14354       { "userPin", "qsig.pumr.userPin",
14355         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_vals), 0,
14356         NULL, HFILL }},
14357     { &hf_qsig_pumr_pumUserPin,
14358       { "pumUserPin", "qsig.pumr.pumUserPin",
14359         FT_BYTES, BASE_NONE, NULL, 0,
14360         "UserPin", HFILL }},
14361     { &hf_qsig_pumr_activatingUserPin,
14362       { "activatingUserPin", "qsig.pumr.activatingUserPin",
14363         FT_BYTES, BASE_NONE, NULL, 0,
14364         "UserPin", HFILL }},
14365     { &hf_qsig_pumr_argExtension,
14366       { "argExtension", "qsig.pumr.argExtension",
14367         FT_UINT32, BASE_DEC, VALS(qsig_pumr_PumrExtension_vals), 0,
14368         "PumrExtension", HFILL }},
14369     { &hf_qsig_pumr_null,
14370       { "null", "qsig.pumr.null_element",
14371         FT_NONE, BASE_NONE, NULL, 0,
14372         NULL, HFILL }},
14373     { &hf_qsig_pumr_extension,
14374       { "extension", "qsig.pumr.extension_element",
14375         FT_NONE, BASE_NONE, NULL, 0,
14376         NULL, HFILL }},
14377     { &hf_qsig_pumr_sequOfExtn,
14378       { "sequOfExtn", "qsig.pumr.sequOfExtn",
14379         FT_UINT32, BASE_DEC, NULL, 0,
14380         "SEQUENCE_OF_Extension", HFILL }},
14381     { &hf_qsig_pumr_sequOfExtn_item,
14382       { "Extension", "qsig.pumr.Extension_element",
14383         FT_NONE, BASE_NONE, NULL, 0,
14384         NULL, HFILL }},
14385     { &hf_qsig_pumr_pumXUserId,
14386       { "pumUserId", "qsig.pumr.pumUserId",
14387         FT_UINT32, BASE_DEC, VALS(qsig_pumr_XpumUserId_vals), 0,
14388         "XpumUserId", HFILL }},
14389     { &hf_qsig_pumr_pumDUserId,
14390       { "pumUserId", "qsig.pumr.pumUserId",
14391         FT_UINT32, BASE_DEC, VALS(qsig_pumr_DpumUserId_vals), 0,
14392         "DpumUserId", HFILL }},
14393     { &hf_qsig_pumr_userPin_01,
14394       { "userPin", "qsig.pumr.userPin",
14395         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_01_vals), 0,
14396         "T_userPin_01", HFILL }},
14397     { &hf_qsig_pumr_pumIUserId,
14398       { "pumUserId", "qsig.pumr.pumUserId",
14399         FT_UINT32, BASE_DEC, VALS(qsig_pumr_IpumUserId_vals), 0,
14400         "IpumUserId", HFILL }},
14401     { &hf_qsig_pumr_homeInfoOnly,
14402       { "homeInfoOnly", "qsig.pumr.homeInfoOnly",
14403         FT_BOOLEAN, BASE_NONE, NULL, 0,
14404         "BOOLEAN", HFILL }},
14405     { &hf_qsig_pumr_userPin_02,
14406       { "userPin", "qsig.pumr.userPin",
14407         FT_UINT32, BASE_DEC, VALS(qsig_pumr_T_userPin_02_vals), 0,
14408         "T_userPin_02", HFILL }},
14409     { &hf_qsig_pumr_PumInterrogRes_item,
14410       { "PumInterrogRes item", "qsig.pumr.PumInterrogRes_item_element",
14411         FT_NONE, BASE_NONE, NULL, 0,
14412         NULL, HFILL }},
14413     { &hf_qsig_pumr_interrogParams,
14414       { "interrogParams", "qsig.pumr.interrogParams_element",
14415         FT_NONE, BASE_NONE, NULL, 0,
14416         "SessionParams", HFILL }},
14417     { &hf_qsig_pumr_durationOfSession,
14418       { "durationOfSession", "qsig.pumr.durationOfSession",
14419         FT_INT32, BASE_DEC, NULL, 0,
14420         "INTEGER", HFILL }},
14421     { &hf_qsig_pumr_numberOfOutgCalls,
14422       { "numberOfOutgCalls", "qsig.pumr.numberOfOutgCalls",
14423         FT_INT32, BASE_DEC, NULL, 0,
14424         "INTEGER", HFILL }},
14425 
14426 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
14427 
14428     { &hf_qsig_pumch_qsig_pumch_EnquiryArg_PDU,
14429       { "EnquiryArg", "qsig.pumch.EnquiryArg_element",
14430         FT_NONE, BASE_NONE, NULL, 0,
14431         NULL, HFILL }},
14432     { &hf_qsig_pumch_qsig_pumch_EnquiryRes_PDU,
14433       { "EnquiryRes", "qsig.pumch.EnquiryRes",
14434         FT_UINT32, BASE_DEC, VALS(qsig_pumch_EnquiryRes_vals), 0,
14435         NULL, HFILL }},
14436     { &hf_qsig_pumch_qsig_pumch_DivertArg_PDU,
14437       { "DivertArg", "qsig.pumch.DivertArg_element",
14438         FT_NONE, BASE_NONE, NULL, 0,
14439         NULL, HFILL }},
14440     { &hf_qsig_pumch_qsig_pumch_DummyRes_PDU,
14441       { "DummyRes", "qsig.pumch.DummyRes",
14442         FT_UINT32, BASE_DEC, VALS(qsig_pumch_DummyRes_vals), 0,
14443         NULL, HFILL }},
14444     { &hf_qsig_pumch_qsig_pumch_InformArg_PDU,
14445       { "InformArg", "qsig.pumch.InformArg_element",
14446         FT_NONE, BASE_NONE, NULL, 0,
14447         NULL, HFILL }},
14448     { &hf_qsig_pumch_qsig_pumch_PumoArg_PDU,
14449       { "PumoArg", "qsig.pumch.PumoArg_element",
14450         FT_NONE, BASE_NONE, NULL, 0,
14451         NULL, HFILL }},
14452     { &hf_qsig_pumch_qsig_pumch_Extension_PDU,
14453       { "Extension", "qsig.pumch.Extension_element",
14454         FT_NONE, BASE_NONE, NULL, 0,
14455         NULL, HFILL }},
14456     { &hf_qsig_pumch_pisnNumber,
14457       { "pisnNumber", "qsig.pumch.pisnNumber",
14458         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14459         "PartyNumber", HFILL }},
14460     { &hf_qsig_pumch_qSIGInfoElement,
14461       { "qSIGInfoElement", "qsig.pumch.qSIGInfoElement",
14462         FT_BYTES, BASE_NONE, NULL, 0,
14463         "PSS1InformationElement", HFILL }},
14464     { &hf_qsig_pumch_argExtension,
14465       { "argExtension", "qsig.pumch.argExtension",
14466         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumiExtension_vals), 0,
14467         "PumiExtension", HFILL }},
14468     { &hf_qsig_pumch_hostingAddr,
14469       { "hostingAddr", "qsig.pumch.hostingAddr",
14470         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14471         "PartyNumber", HFILL }},
14472     { &hf_qsig_pumch_callingNumber,
14473       { "callingNumber", "qsig.pumch.callingNumber",
14474         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14475         "PresentedNumberScreened", HFILL }},
14476     { &hf_qsig_pumch_pumIdentity,
14477       { "pumIdentity", "qsig.pumch.pumIdentity",
14478         FT_UINT32, BASE_DEC, VALS(qsig_pumch_PumIdentity_vals), 0,
14479         NULL, HFILL }},
14480     { &hf_qsig_pumch_callingUserSub,
14481       { "callingUserSub", "qsig.pumch.callingUserSub",
14482         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14483         "PartySubaddress", HFILL }},
14484     { &hf_qsig_pumch_callingUserName,
14485       { "callingUserName", "qsig.pumch.callingUserName",
14486         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14487         "Name", HFILL }},
14488     { &hf_qsig_pumch_pumUserSub,
14489       { "pumUserSub", "qsig.pumch.pumUserSub",
14490         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14491         "PartySubaddress", HFILL }},
14492     { &hf_qsig_pumch_currLocation,
14493       { "currLocation", "qsig.pumch.currLocation_element",
14494         FT_NONE, BASE_NONE, NULL, 0,
14495         NULL, HFILL }},
14496     { &hf_qsig_pumch_cfuActivated,
14497       { "cfuActivated", "qsig.pumch.cfuActivated_element",
14498         FT_NONE, BASE_NONE, NULL, 0,
14499         NULL, HFILL }},
14500     { &hf_qsig_pumch_divToAddress,
14501       { "divToAddress", "qsig.pumch.divToAddress_element",
14502         FT_NONE, BASE_NONE, NULL, 0,
14503         "Address", HFILL }},
14504     { &hf_qsig_pumch_divOptions,
14505       { "divOptions", "qsig.pumch.divOptions",
14506         FT_UINT32, BASE_DEC, VALS(qsig_pumch_SubscriptionOption_vals), 0,
14507         "SubscriptionOption", HFILL }},
14508     { &hf_qsig_pumch_pumName,
14509       { "pumName", "qsig.pumch.pumName",
14510         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14511         "Name", HFILL }},
14512     { &hf_qsig_pumch_null,
14513       { "null", "qsig.pumch.null_element",
14514         FT_NONE, BASE_NONE, NULL, 0,
14515         NULL, HFILL }},
14516     { &hf_qsig_pumch_extension,
14517       { "extension", "qsig.pumch.extension_element",
14518         FT_NONE, BASE_NONE, NULL, 0,
14519         NULL, HFILL }},
14520     { &hf_qsig_pumch_sequOfExtn,
14521       { "sequOfExtn", "qsig.pumch.sequOfExtn",
14522         FT_UINT32, BASE_DEC, NULL, 0,
14523         "SEQUENCE_OF_Extension", HFILL }},
14524     { &hf_qsig_pumch_sequOfExtn_item,
14525       { "Extension", "qsig.pumch.Extension_element",
14526         FT_NONE, BASE_NONE, NULL, 0,
14527         NULL, HFILL }},
14528     { &hf_qsig_pumch_alternativeId,
14529       { "alternativeId", "qsig.pumch.alternativeId",
14530         FT_BYTES, BASE_NONE, NULL, 0,
14531         NULL, HFILL }},
14532     { &hf_qsig_pumch_both,
14533       { "both", "qsig.pumch.both_element",
14534         FT_NONE, BASE_NONE, NULL, 0,
14535         NULL, HFILL }},
14536     { &hf_qsig_pumch_destinationNumber,
14537       { "destinationNumber", "qsig.pumch.destinationNumber",
14538         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14539         "PartyNumber", HFILL }},
14540     { &hf_qsig_pumch_sendingComplete,
14541       { "sendingComplete", "qsig.pumch.sendingComplete_element",
14542         FT_NONE, BASE_NONE, NULL, 0,
14543         NULL, HFILL }},
14544     { &hf_qsig_pumch_pumoaextension,
14545       { "extension", "qsig.pumch.extension",
14546         FT_UINT32, BASE_DEC, VALS(qsig_pumch_T_pumoaextension_vals), 0,
14547         "T_pumoaextension", HFILL }},
14548     { &hf_qsig_pumch_single,
14549       { "single", "qsig.pumch.single_element",
14550         FT_NONE, BASE_NONE, NULL, 0,
14551         "Extension", HFILL }},
14552     { &hf_qsig_pumch_multiple,
14553       { "multiple", "qsig.pumch.multiple",
14554         FT_UINT32, BASE_DEC, NULL, 0,
14555         "SEQUENCE_OF_Extension", HFILL }},
14556     { &hf_qsig_pumch_multiple_item,
14557       { "Extension", "qsig.pumch.Extension_element",
14558         FT_NONE, BASE_NONE, NULL, 0,
14559         NULL, HFILL }},
14560 
14561 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
14562 
14563     { &hf_qsig_ssct_qsig_ssct_SSCTInitiateArg_PDU,
14564       { "SSCTInitiateArg", "qsig.ssct.SSCTInitiateArg_element",
14565         FT_NONE, BASE_NONE, NULL, 0,
14566         NULL, HFILL }},
14567     { &hf_qsig_ssct_qsig_ssct_DummyRes_PDU,
14568       { "DummyRes", "qsig.ssct.DummyRes",
14569         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyRes_vals), 0,
14570         NULL, HFILL }},
14571     { &hf_qsig_ssct_qsig_ssct_SSCTSetupArg_PDU,
14572       { "SSCTSetupArg", "qsig.ssct.SSCTSetupArg_element",
14573         FT_NONE, BASE_NONE, NULL, 0,
14574         NULL, HFILL }},
14575     { &hf_qsig_ssct_qsig_ssct_DummyArg_PDU,
14576       { "DummyArg", "qsig.ssct.DummyArg",
14577         FT_UINT32, BASE_DEC, VALS(qsig_ssct_DummyArg_vals), 0,
14578         NULL, HFILL }},
14579     { &hf_qsig_ssct_qsig_ssct_SSCTDigitInfoArg_PDU,
14580       { "SSCTDigitInfoArg", "qsig.ssct.SSCTDigitInfoArg_element",
14581         FT_NONE, BASE_NONE, NULL, 0,
14582         NULL, HFILL }},
14583     { &hf_qsig_ssct_qsig_ssct_Extension_PDU,
14584       { "Extension", "qsig.ssct.Extension_element",
14585         FT_NONE, BASE_NONE, NULL, 0,
14586         NULL, HFILL }},
14587     { &hf_qsig_ssct_null,
14588       { "null", "qsig.ssct.null_element",
14589         FT_NONE, BASE_NONE, NULL, 0,
14590         NULL, HFILL }},
14591     { &hf_qsig_ssct_single,
14592       { "single", "qsig.ssct.single_element",
14593         FT_NONE, BASE_NONE, NULL, 0,
14594         "Extension", HFILL }},
14595     { &hf_qsig_ssct_multiple,
14596       { "multiple", "qsig.ssct.multiple",
14597         FT_UINT32, BASE_DEC, NULL, 0,
14598         "SEQUENCE_OF_Extension", HFILL }},
14599     { &hf_qsig_ssct_multiple_item,
14600       { "Extension", "qsig.ssct.Extension_element",
14601         FT_NONE, BASE_NONE, NULL, 0,
14602         NULL, HFILL }},
14603     { &hf_qsig_ssct_rerouteingNumber,
14604       { "rerouteingNumber", "qsig.ssct.rerouteingNumber",
14605         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14606         "PartyNumber", HFILL }},
14607     { &hf_qsig_ssct_transferredAddress,
14608       { "transferredAddress", "qsig.ssct.transferredAddress",
14609         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14610         "PresentedAddressScreened", HFILL }},
14611     { &hf_qsig_ssct_awaitConnect,
14612       { "awaitConnect", "qsig.ssct.awaitConnect",
14613         FT_BOOLEAN, BASE_NONE, NULL, 0,
14614         NULL, HFILL }},
14615     { &hf_qsig_ssct_transferredName,
14616       { "transferredName", "qsig.ssct.transferredName",
14617         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14618         "Name", HFILL }},
14619     { &hf_qsig_ssct_transferringAddress,
14620       { "transferringAddress", "qsig.ssct.transferringAddress",
14621         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressScreened_vals), 0,
14622         "PresentedAddressScreened", HFILL }},
14623     { &hf_qsig_ssct_transferringName,
14624       { "transferringName", "qsig.ssct.transferringName",
14625         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14626         "Name", HFILL }},
14627     { &hf_qsig_ssct_argumentExtensionSSCTI,
14628       { "argumentExtension", "qsig.ssct.argumentExtension",
14629         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTIargumentExtension_vals), 0,
14630         "SSCTIargumentExtension", HFILL }},
14631     { &hf_qsig_ssct_argumentExtensionSSCTS,
14632       { "argumentExtension", "qsig.ssct.argumentExtension",
14633         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTSargumentExtension_vals), 0,
14634         "SSCTSargumentExtension", HFILL }},
14635     { &hf_qsig_ssct_reroutingNumber,
14636       { "reroutingNumber", "qsig.ssct.reroutingNumber",
14637         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14638         "PartyNumber", HFILL }},
14639     { &hf_qsig_ssct_sendingComplete,
14640       { "sendingComplete", "qsig.ssct.sendingComplete_element",
14641         FT_NONE, BASE_NONE, NULL, 0,
14642         NULL, HFILL }},
14643     { &hf_qsig_ssct_argumentExtensionSSCTD,
14644       { "argumentExtension", "qsig.ssct.argumentExtension",
14645         FT_UINT32, BASE_DEC, VALS(qsig_ssct_SSCTDargumentExtension_vals), 0,
14646         "SSCTDargumentExtension", HFILL }},
14647 
14648 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
14649 
14650     { &hf_qsig_wtmlr_qsig_wtmlr_LocUpdArg_PDU,
14651       { "LocUpdArg", "qsig.wtmlr.LocUpdArg_element",
14652         FT_NONE, BASE_NONE, NULL, 0,
14653         NULL, HFILL }},
14654     { &hf_qsig_wtmlr_qsig_wtmlr_DummyRes_PDU,
14655       { "DummyRes", "qsig.wtmlr.DummyRes",
14656         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_DummyRes_vals), 0,
14657         NULL, HFILL }},
14658     { &hf_qsig_wtmlr_qsig_wtmlr_LocDelArg_PDU,
14659       { "LocDelArg", "qsig.wtmlr.LocDelArg_element",
14660         FT_NONE, BASE_NONE, NULL, 0,
14661         NULL, HFILL }},
14662     { &hf_qsig_wtmlr_qsig_wtmlr_LocDeRegArg_PDU,
14663       { "LocDeRegArg", "qsig.wtmlr.LocDeRegArg_element",
14664         FT_NONE, BASE_NONE, NULL, 0,
14665         NULL, HFILL }},
14666     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqArg_PDU,
14667       { "PisnEnqArg", "qsig.wtmlr.PisnEnqArg_element",
14668         FT_NONE, BASE_NONE, NULL, 0,
14669         NULL, HFILL }},
14670     { &hf_qsig_wtmlr_qsig_wtmlr_PisnEnqRes_PDU,
14671       { "PisnEnqRes", "qsig.wtmlr.PisnEnqRes_element",
14672         FT_NONE, BASE_NONE, NULL, 0,
14673         NULL, HFILL }},
14674     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfArg_PDU,
14675       { "GetRRCInfArg", "qsig.wtmlr.GetRRCInfArg_element",
14676         FT_NONE, BASE_NONE, NULL, 0,
14677         NULL, HFILL }},
14678     { &hf_qsig_wtmlr_qsig_wtmlr_GetRRCInfRes_PDU,
14679       { "GetRRCInfRes", "qsig.wtmlr.GetRRCInfRes_element",
14680         FT_NONE, BASE_NONE, NULL, 0,
14681         NULL, HFILL }},
14682     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckArg_PDU,
14683       { "LocInfoCheckArg", "qsig.wtmlr.LocInfoCheckArg_element",
14684         FT_NONE, BASE_NONE, NULL, 0,
14685         NULL, HFILL }},
14686     { &hf_qsig_wtmlr_qsig_wtmlr_LocInfoCheckRes_PDU,
14687       { "LocInfoCheckRes", "qsig.wtmlr.LocInfoCheckRes_element",
14688         FT_NONE, BASE_NONE, NULL, 0,
14689         NULL, HFILL }},
14690     { &hf_qsig_wtmlr_qsig_wtmlr_Extension_PDU,
14691       { "Extension", "qsig.wtmlr.Extension_element",
14692         FT_NONE, BASE_NONE, NULL, 0,
14693         NULL, HFILL }},
14694     { &hf_qsig_wtmlr_wtmUserId,
14695       { "wtmUserId", "qsig.wtmlr.wtmUserId",
14696         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_WtmUserId_vals), 0,
14697         NULL, HFILL }},
14698     { &hf_qsig_wtmlr_basicService,
14699       { "basicService", "qsig.wtmlr.basicService",
14700         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
14701         NULL, HFILL }},
14702     { &hf_qsig_wtmlr_visitPINX,
14703       { "visitPINX", "qsig.wtmlr.visitPINX",
14704         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14705         "PartyNumber", HFILL }},
14706     { &hf_qsig_wtmlr_argExtension,
14707       { "argExtension", "qsig.wtmlr.argExtension",
14708         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14709         "LrExtension", HFILL }},
14710     { &hf_qsig_wtmlr_null,
14711       { "null", "qsig.wtmlr.null_element",
14712         FT_NONE, BASE_NONE, NULL, 0,
14713         NULL, HFILL }},
14714     { &hf_qsig_wtmlr_extension,
14715       { "extension", "qsig.wtmlr.extension_element",
14716         FT_NONE, BASE_NONE, NULL, 0,
14717         NULL, HFILL }},
14718     { &hf_qsig_wtmlr_sequOfExtn,
14719       { "sequOfExtn", "qsig.wtmlr.sequOfExtn",
14720         FT_UINT32, BASE_DEC, NULL, 0,
14721         "SEQUENCE_OF_Extension", HFILL }},
14722     { &hf_qsig_wtmlr_sequOfExtn_item,
14723       { "Extension", "qsig.wtmlr.Extension_element",
14724         FT_NONE, BASE_NONE, NULL, 0,
14725         NULL, HFILL }},
14726     { &hf_qsig_wtmlr_alternativeId,
14727       { "alternativeId", "qsig.wtmlr.alternativeId",
14728         FT_BYTES, BASE_NONE, NULL, 0,
14729         NULL, HFILL }},
14730     { &hf_qsig_wtmlr_resExtension,
14731       { "resExtension", "qsig.wtmlr.resExtension",
14732         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_LrExtension_vals), 0,
14733         "LrExtension", HFILL }},
14734     { &hf_qsig_wtmlr_rrClass,
14735       { "rrClass", "qsig.wtmlr.rrClass",
14736         FT_UINT32, BASE_DEC, NULL, 0,
14737         NULL, HFILL }},
14738     { &hf_qsig_wtmlr_checkResult,
14739       { "checkResult", "qsig.wtmlr.checkResult",
14740         FT_UINT32, BASE_DEC, VALS(qsig_wtmlr_CheckResult_vals), 0,
14741         NULL, HFILL }},
14742     { &hf_qsig_wtmlr_pisnNumber,
14743       { "pisnNumber", "qsig.wtmlr.pisnNumber",
14744         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14745         "PartyNumber", HFILL }},
14746 
14747 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
14748 
14749     { &hf_qsig_wtmch_qsig_wtmch_EnquiryArg_PDU,
14750       { "EnquiryArg", "qsig.wtmch.EnquiryArg_element",
14751         FT_NONE, BASE_NONE, NULL, 0,
14752         NULL, HFILL }},
14753     { &hf_qsig_wtmch_qsig_wtmch_EnquiryRes_PDU,
14754       { "EnquiryRes", "qsig.wtmch.EnquiryRes",
14755         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_EnquiryRes_vals), 0,
14756         NULL, HFILL }},
14757     { &hf_qsig_wtmch_qsig_wtmch_DivertArg_PDU,
14758       { "DivertArg", "qsig.wtmch.DivertArg_element",
14759         FT_NONE, BASE_NONE, NULL, 0,
14760         NULL, HFILL }},
14761     { &hf_qsig_wtmch_qsig_wtmch_DummyRes_PDU,
14762       { "DummyRes", "qsig.wtmch.DummyRes",
14763         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_DummyRes_vals), 0,
14764         NULL, HFILL }},
14765     { &hf_qsig_wtmch_qsig_wtmch_InformArg_PDU,
14766       { "InformArg", "qsig.wtmch.InformArg_element",
14767         FT_NONE, BASE_NONE, NULL, 0,
14768         NULL, HFILL }},
14769     { &hf_qsig_wtmch_qsig_wtmch_WtmoArg_PDU,
14770       { "WtmoArg", "qsig.wtmch.WtmoArg_element",
14771         FT_NONE, BASE_NONE, NULL, 0,
14772         NULL, HFILL }},
14773     { &hf_qsig_wtmch_qsig_wtmch_Extension_PDU,
14774       { "Extension", "qsig.wtmch.Extension_element",
14775         FT_NONE, BASE_NONE, NULL, 0,
14776         NULL, HFILL }},
14777     { &hf_qsig_wtmch_pisnNumber,
14778       { "pisnNumber", "qsig.wtmch.pisnNumber",
14779         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14780         "PartyNumber", HFILL }},
14781     { &hf_qsig_wtmch_qSIGInfoElement,
14782       { "qSIGInfoElement", "qsig.wtmch.qSIGInfoElement",
14783         FT_BYTES, BASE_NONE, NULL, 0,
14784         "PSS1InformationElement", HFILL }},
14785     { &hf_qsig_wtmch_argExtension,
14786       { "argExtension", "qsig.wtmch.argExtension",
14787         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmiExtension_vals), 0,
14788         "WtmiExtension", HFILL }},
14789     { &hf_qsig_wtmch_visitPINX,
14790       { "visitPINX", "qsig.wtmch.visitPINX",
14791         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14792         "PartyNumber", HFILL }},
14793     { &hf_qsig_wtmch_callingNumber,
14794       { "callingNumber", "qsig.wtmch.callingNumber",
14795         FT_UINT32, BASE_DEC, VALS(qsig_PresentedNumberScreened_vals), 0,
14796         "PresentedNumberScreened", HFILL }},
14797     { &hf_qsig_wtmch_wtmIdentity,
14798       { "wtmIdentity", "qsig.wtmch.wtmIdentity",
14799         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_WtmIdentity_vals), 0,
14800         NULL, HFILL }},
14801     { &hf_qsig_wtmch_callingUserSub,
14802       { "callingUserSub", "qsig.wtmch.callingUserSub",
14803         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14804         "PartySubaddress", HFILL }},
14805     { &hf_qsig_wtmch_callingName,
14806       { "callingName", "qsig.wtmch.callingName",
14807         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14808         "Name", HFILL }},
14809     { &hf_qsig_wtmch_wtmUserSub,
14810       { "wtmUserSub", "qsig.wtmch.wtmUserSub",
14811         FT_UINT32, BASE_DEC, VALS(qsig_PartySubaddress_vals), 0,
14812         "PartySubaddress", HFILL }},
14813     { &hf_qsig_wtmch_currLocation,
14814       { "currLocation", "qsig.wtmch.currLocation_element",
14815         FT_NONE, BASE_NONE, NULL, 0,
14816         NULL, HFILL }},
14817     { &hf_qsig_wtmch_cfuActivated,
14818       { "cfuActivated", "qsig.wtmch.cfuActivated_element",
14819         FT_NONE, BASE_NONE, NULL, 0,
14820         NULL, HFILL }},
14821     { &hf_qsig_wtmch_divToAddress,
14822       { "divToAddress", "qsig.wtmch.divToAddress_element",
14823         FT_NONE, BASE_NONE, NULL, 0,
14824         "Address", HFILL }},
14825     { &hf_qsig_wtmch_divOptions,
14826       { "divOptions", "qsig.wtmch.divOptions",
14827         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_SubscriptionOption_vals), 0,
14828         "SubscriptionOption", HFILL }},
14829     { &hf_qsig_wtmch_wtmName,
14830       { "wtmName", "qsig.wtmch.wtmName",
14831         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
14832         "Name", HFILL }},
14833     { &hf_qsig_wtmch_null,
14834       { "null", "qsig.wtmch.null_element",
14835         FT_NONE, BASE_NONE, NULL, 0,
14836         NULL, HFILL }},
14837     { &hf_qsig_wtmch_extension,
14838       { "extension", "qsig.wtmch.extension_element",
14839         FT_NONE, BASE_NONE, NULL, 0,
14840         NULL, HFILL }},
14841     { &hf_qsig_wtmch_sequOfExtn,
14842       { "sequOfExtn", "qsig.wtmch.sequOfExtn",
14843         FT_UINT32, BASE_DEC, NULL, 0,
14844         "SEQUENCE_OF_Extension", HFILL }},
14845     { &hf_qsig_wtmch_sequOfExtn_item,
14846       { "Extension", "qsig.wtmch.Extension_element",
14847         FT_NONE, BASE_NONE, NULL, 0,
14848         NULL, HFILL }},
14849     { &hf_qsig_wtmch_alternativeId,
14850       { "alternativeId", "qsig.wtmch.alternativeId",
14851         FT_BYTES, BASE_NONE, NULL, 0,
14852         NULL, HFILL }},
14853     { &hf_qsig_wtmch_both,
14854       { "both", "qsig.wtmch.both_element",
14855         FT_NONE, BASE_NONE, NULL, 0,
14856         NULL, HFILL }},
14857     { &hf_qsig_wtmch_destinationNumber,
14858       { "destinationNumber", "qsig.wtmch.destinationNumber",
14859         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14860         "PartyNumber", HFILL }},
14861     { &hf_qsig_wtmch_sendingComplete,
14862       { "sendingComplete", "qsig.wtmch.sendingComplete_element",
14863         FT_NONE, BASE_NONE, NULL, 0,
14864         NULL, HFILL }},
14865     { &hf_qsig_wtmch_wtmoaextension,
14866       { "extension", "qsig.wtmch.extension",
14867         FT_UINT32, BASE_DEC, VALS(qsig_wtmch_T_wtmoaextension_vals), 0,
14868         "T_wtmoaextension", HFILL }},
14869     { &hf_qsig_wtmch_single,
14870       { "single", "qsig.wtmch.single_element",
14871         FT_NONE, BASE_NONE, NULL, 0,
14872         "Extension", HFILL }},
14873     { &hf_qsig_wtmch_multiple,
14874       { "multiple", "qsig.wtmch.multiple",
14875         FT_UINT32, BASE_DEC, NULL, 0,
14876         "SEQUENCE_OF_Extension", HFILL }},
14877     { &hf_qsig_wtmch_multiple_item,
14878       { "Extension", "qsig.wtmch.Extension_element",
14879         FT_NONE, BASE_NONE, NULL, 0,
14880         NULL, HFILL }},
14881 
14882 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
14883 
14884     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmArg_PDU,
14885       { "AuthWtmArg", "qsig.wtmau.AuthWtmArg_element",
14886         FT_NONE, BASE_NONE, NULL, 0,
14887         NULL, HFILL }},
14888     { &hf_qsig_wtmau_qsig_wtmau_AuthWtmRes_PDU,
14889       { "AuthWtmRes", "qsig.wtmau.AuthWtmRes_element",
14890         FT_NONE, BASE_NONE, NULL, 0,
14891         NULL, HFILL }},
14892     { &hf_qsig_wtmau_qsig_wtmau_WtatParamArg_PDU,
14893       { "WtatParamArg", "qsig.wtmau.WtatParamArg_element",
14894         FT_NONE, BASE_NONE, NULL, 0,
14895         NULL, HFILL }},
14896     { &hf_qsig_wtmau_qsig_wtmau_WtatParamRes_PDU,
14897       { "WtatParamRes", "qsig.wtmau.WtatParamRes_element",
14898         FT_NONE, BASE_NONE, NULL, 0,
14899         NULL, HFILL }},
14900     { &hf_qsig_wtmau_qsig_wtmau_WtanParamArg_PDU,
14901       { "WtanParamArg", "qsig.wtmau.WtanParamArg_element",
14902         FT_NONE, BASE_NONE, NULL, 0,
14903         NULL, HFILL }},
14904     { &hf_qsig_wtmau_qsig_wtmau_WtanParamRes_PDU,
14905       { "WtanParamRes", "qsig.wtmau.WtanParamRes_element",
14906         FT_NONE, BASE_NONE, NULL, 0,
14907         NULL, HFILL }},
14908     { &hf_qsig_wtmau_qsig_wtmau_ARG_transferAuthParam_PDU,
14909       { "ARG-transferAuthParam", "qsig.wtmau.ARG_transferAuthParam_element",
14910         FT_NONE, BASE_NONE, NULL, 0,
14911         NULL, HFILL }},
14912     { &hf_qsig_wtmau_qsig_wtmau_Extension_PDU,
14913       { "Extension", "qsig.wtmau.Extension_element",
14914         FT_NONE, BASE_NONE, NULL, 0,
14915         NULL, HFILL }},
14916     { &hf_qsig_wtmau_wtmUserId,
14917       { "wtmUserId", "qsig.wtmau.wtmUserId",
14918         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtmUserId_vals), 0,
14919         NULL, HFILL }},
14920     { &hf_qsig_wtmau_calcWtatInfo,
14921       { "calcWtatInfo", "qsig.wtmau.calcWtatInfo",
14922         FT_UINT32, BASE_DEC, NULL, 0,
14923         NULL, HFILL }},
14924     { &hf_qsig_wtmau_dummyExtension,
14925       { "dummyExtension", "qsig.wtmau.dummyExtension",
14926         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DummyExtension_vals), 0,
14927         NULL, HFILL }},
14928     { &hf_qsig_wtmau_autWtmResValue,
14929       { "autWtmResValue", "qsig.wtmau.autWtmResValue",
14930         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_autWtmResValue_vals), 0,
14931         NULL, HFILL }},
14932     { &hf_qsig_wtmau_canCompute,
14933       { "canCompute", "qsig.wtmau.canCompute_element",
14934         FT_NONE, BASE_NONE, NULL, 0,
14935         NULL, HFILL }},
14936     { &hf_qsig_wtmau_authChallenge,
14937       { "authChallenge", "qsig.wtmau.authChallenge",
14938         FT_BYTES, BASE_NONE, NULL, 0,
14939         NULL, HFILL }},
14940     { &hf_qsig_wtmau_wtatParamInfo,
14941       { "wtatParamInfo", "qsig.wtmau.wtatParamInfo_element",
14942         FT_NONE, BASE_NONE, NULL, 0,
14943         NULL, HFILL }},
14944     { &hf_qsig_wtmau_authAlgorithm,
14945       { "authAlgorithm", "qsig.wtmau.authAlgorithm_element",
14946         FT_NONE, BASE_NONE, NULL, 0,
14947         NULL, HFILL }},
14948     { &hf_qsig_wtmau_pisnNumber,
14949       { "pisnNumber", "qsig.wtmau.pisnNumber",
14950         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
14951         "PartyNumber", HFILL }},
14952     { &hf_qsig_wtmau_alternativeId,
14953       { "alternativeId", "qsig.wtmau.alternativeId",
14954         FT_BYTES, BASE_NONE, NULL, 0,
14955         NULL, HFILL }},
14956     { &hf_qsig_wtmau_wtanParamInfo,
14957       { "wtanParamInfo", "qsig.wtmau.wtanParamInfo",
14958         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_WtanParamInfo_vals), 0,
14959         NULL, HFILL }},
14960     { &hf_qsig_wtmau_wtatParamInfoChoice,
14961       { "wtatParamInfoChoice", "qsig.wtmau.wtatParamInfoChoice",
14962         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_T_wtatParamInfoChoice_vals), 0,
14963         NULL, HFILL }},
14964     { &hf_qsig_wtmau_authSessionKeyInfo,
14965       { "authSessionKeyInfo", "qsig.wtmau.authSessionKeyInfo_element",
14966         FT_NONE, BASE_NONE, NULL, 0,
14967         NULL, HFILL }},
14968     { &hf_qsig_wtmau_authKey,
14969       { "authKey", "qsig.wtmau.authKey",
14970         FT_BYTES, BASE_NONE, NULL, 0,
14971         NULL, HFILL }},
14972     { &hf_qsig_wtmau_challLen,
14973       { "challLen", "qsig.wtmau.challLen",
14974         FT_UINT32, BASE_DEC, NULL, 0,
14975         "INTEGER_1_8", HFILL }},
14976     { &hf_qsig_wtmau_calcWtanInfo,
14977       { "calcWtanInfo", "qsig.wtmau.calcWtanInfo_element",
14978         FT_NONE, BASE_NONE, NULL, 0,
14979         NULL, HFILL }},
14980     { &hf_qsig_wtmau_authSessionKey,
14981       { "authSessionKey", "qsig.wtmau.authSessionKey",
14982         FT_BYTES, BASE_NONE, NULL, 0,
14983         NULL, HFILL }},
14984     { &hf_qsig_wtmau_calculationParam,
14985       { "calculationParam", "qsig.wtmau.calculationParam",
14986         FT_BYTES, BASE_NONE, NULL, 0,
14987         NULL, HFILL }},
14988     { &hf_qsig_wtmau_CalcWtatInfo_item,
14989       { "CalcWtatInfoUnit", "qsig.wtmau.CalcWtatInfoUnit_element",
14990         FT_NONE, BASE_NONE, NULL, 0,
14991         NULL, HFILL }},
14992     { &hf_qsig_wtmau_authResponse,
14993       { "authResponse", "qsig.wtmau.authResponse",
14994         FT_BYTES, BASE_NONE, NULL, 0,
14995         NULL, HFILL }},
14996     { &hf_qsig_wtmau_derivedCipherKey,
14997       { "derivedCipherKey", "qsig.wtmau.derivedCipherKey",
14998         FT_BYTES, BASE_NONE, NULL, 0,
14999         NULL, HFILL }},
15000     { &hf_qsig_wtmau_extension,
15001       { "extension", "qsig.wtmau.extension_element",
15002         FT_NONE, BASE_NONE, NULL, 0,
15003         NULL, HFILL }},
15004     { &hf_qsig_wtmau_sequOfExtn,
15005       { "sequOfExtn", "qsig.wtmau.sequOfExtn",
15006         FT_UINT32, BASE_DEC, NULL, 0,
15007         "SEQUENCE_OF_Extension", HFILL }},
15008     { &hf_qsig_wtmau_sequOfExtn_item,
15009       { "Extension", "qsig.wtmau.Extension_element",
15010         FT_NONE, BASE_NONE, NULL, 0,
15011         NULL, HFILL }},
15012     { &hf_qsig_wtmau_authAlg,
15013       { "authAlg", "qsig.wtmau.authAlg",
15014         FT_UINT32, BASE_DEC, VALS(qsig_wtmau_DefinedIDs_vals), 0,
15015         "DefinedIDs", HFILL }},
15016     { &hf_qsig_wtmau_param,
15017       { "param", "qsig.wtmau.param_element",
15018         FT_NONE, BASE_NONE, NULL, 0,
15019         NULL, HFILL }},
15020 
15021 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
15022 
15023     { &hf_qsig_sd_qsig_sd_DisplayArg_PDU,
15024       { "DisplayArg", "qsig.sd.DisplayArg_element",
15025         FT_NONE, BASE_NONE, NULL, 0,
15026         NULL, HFILL }},
15027     { &hf_qsig_sd_qsig_sd_KeypadArg_PDU,
15028       { "KeypadArg", "qsig.sd.KeypadArg_element",
15029         FT_NONE, BASE_NONE, NULL, 0,
15030         NULL, HFILL }},
15031     { &hf_qsig_sd_qsig_sd_Extension_PDU,
15032       { "Extension", "qsig.sd.Extension_element",
15033         FT_NONE, BASE_NONE, NULL, 0,
15034         NULL, HFILL }},
15035     { &hf_qsig_sd_displayString,
15036       { "displayString", "qsig.sd.displayString",
15037         FT_UINT32, BASE_DEC, VALS(qsig_sd_DisplayString_vals), 0,
15038         NULL, HFILL }},
15039     { &hf_qsig_sd_sdextension,
15040       { "extension", "qsig.sd.extension",
15041         FT_UINT32, BASE_DEC, VALS(qsig_sd_SDExtension_vals), 0,
15042         "SDExtension", HFILL }},
15043     { &hf_qsig_sd_displayStringNormal,
15044       { "displayStringNormal", "qsig.sd.displayStringNormal",
15045         FT_BYTES, BASE_NONE, NULL, 0,
15046         "BMPStringNormal", HFILL }},
15047     { &hf_qsig_sd_displayStringExtended,
15048       { "displayStringExtended", "qsig.sd.displayStringExtended",
15049         FT_BYTES, BASE_NONE, NULL, 0,
15050         "BMPStringExtended", HFILL }},
15051     { &hf_qsig_sd_keypadString,
15052       { "keypadString", "qsig.sd.keypadString",
15053         FT_BYTES, BASE_NONE, NULL, 0,
15054         "BMPStringNormal", HFILL }},
15055     { &hf_qsig_sd_extension,
15056       { "extension", "qsig.sd.extension_element",
15057         FT_NONE, BASE_NONE, NULL, 0,
15058         NULL, HFILL }},
15059     { &hf_qsig_sd_multipleExtension,
15060       { "multipleExtension", "qsig.sd.multipleExtension",
15061         FT_UINT32, BASE_DEC, NULL, 0,
15062         "SEQUENCE_OF_Extension", HFILL }},
15063     { &hf_qsig_sd_multipleExtension_item,
15064       { "Extension", "qsig.sd.Extension_element",
15065         FT_NONE, BASE_NONE, NULL, 0,
15066         NULL, HFILL }},
15067 
15068 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
15069 
15070     { &hf_qsig_cidl_qsig_cidl_CallIdentificationAssignArg_PDU,
15071       { "CallIdentificationAssignArg", "qsig.cidl.CallIdentificationAssignArg_element",
15072         FT_NONE, BASE_NONE, NULL, 0,
15073         NULL, HFILL }},
15074     { &hf_qsig_cidl_qsig_cidl_CallIdentificationUpdateArg_PDU,
15075       { "CallIdentificationUpdateArg", "qsig.cidl.CallIdentificationUpdateArg_element",
15076         FT_NONE, BASE_NONE, NULL, 0,
15077         NULL, HFILL }},
15078     { &hf_qsig_cidl_globalCallID,
15079       { "globalCallID", "qsig.cidl.globalCallID_element",
15080         FT_NONE, BASE_NONE, NULL, 0,
15081         "CallIdentificationData", HFILL }},
15082     { &hf_qsig_cidl_threadID,
15083       { "threadID", "qsig.cidl.threadID_element",
15084         FT_NONE, BASE_NONE, NULL, 0,
15085         "CallIdentificationData", HFILL }},
15086     { &hf_qsig_cidl_legID,
15087       { "legID", "qsig.cidl.legID_element",
15088         FT_NONE, BASE_NONE, NULL, 0,
15089         "CallIdentificationData", HFILL }},
15090     { &hf_qsig_cidl_extensiont,
15091       { "extension", "qsig.cidl.extension",
15092         FT_UINT32, BASE_DEC, VALS(qsig_cidl_ExtensionType_vals), 0,
15093         "ExtensionType", HFILL }},
15094     { &hf_qsig_cidl_switchingSubDomainName,
15095       { "switchingSubDomainName", "qsig.cidl.switchingSubDomainName",
15096         FT_STRING, BASE_NONE, NULL, 0,
15097         NULL, HFILL }},
15098     { &hf_qsig_cidl_linkageID,
15099       { "linkageID", "qsig.cidl.linkageID",
15100         FT_UINT32, BASE_DEC, VALS(qsig_cidl_T_linkageID_vals), 0,
15101         NULL, HFILL }},
15102     { &hf_qsig_cidl_subDomainID,
15103       { "subDomainID", "qsig.cidl.subDomainID",
15104         FT_BYTES, BASE_NONE, NULL, 0,
15105         NULL, HFILL }},
15106     { &hf_qsig_cidl_globallyUniqueID,
15107       { "globallyUniqueID", "qsig.cidl.globallyUniqueID",
15108         FT_BYTES, BASE_NONE, NULL, 0,
15109         NULL, HFILL }},
15110     { &hf_qsig_cidl_timeStamp,
15111       { "timeStamp", "qsig.cidl.timeStamp",
15112         FT_STRING, BASE_NONE, NULL, 0,
15113         NULL, HFILL }},
15114     { &hf_qsig_cidl_extension,
15115       { "extension", "qsig.cidl.extension_element",
15116         FT_NONE, BASE_NONE, NULL, 0,
15117         NULL, HFILL }},
15118     { &hf_qsig_cidl_sequenceOfExt,
15119       { "sequenceOfExt", "qsig.cidl.sequenceOfExt",
15120         FT_UINT32, BASE_DEC, NULL, 0,
15121         "SEQUENCE_OF_Extension", HFILL }},
15122     { &hf_qsig_cidl_sequenceOfExt_item,
15123       { "Extension", "qsig.cidl.Extension_element",
15124         FT_NONE, BASE_NONE, NULL, 0,
15125         NULL, HFILL }},
15126 
15127 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
15128 
15129     { &hf_qsig_sms_qsig_sms_SmsSubmitArg_PDU,
15130       { "SmsSubmitArg", "qsig.sms.SmsSubmitArg_element",
15131         FT_NONE, BASE_NONE, NULL, 0,
15132         NULL, HFILL }},
15133     { &hf_qsig_sms_qsig_sms_SmsSubmitRes_PDU,
15134       { "SmsSubmitRes", "qsig.sms.SmsSubmitRes_element",
15135         FT_NONE, BASE_NONE, NULL, 0,
15136         NULL, HFILL }},
15137     { &hf_qsig_sms_qsig_sms_SmsDeliverArg_PDU,
15138       { "SmsDeliverArg", "qsig.sms.SmsDeliverArg_element",
15139         FT_NONE, BASE_NONE, NULL, 0,
15140         NULL, HFILL }},
15141     { &hf_qsig_sms_qsig_sms_SmsDeliverRes_PDU,
15142       { "SmsDeliverRes", "qsig.sms.SmsDeliverRes_element",
15143         FT_NONE, BASE_NONE, NULL, 0,
15144         NULL, HFILL }},
15145     { &hf_qsig_sms_qsig_sms_SmsStatusReportArg_PDU,
15146       { "SmsStatusReportArg", "qsig.sms.SmsStatusReportArg_element",
15147         FT_NONE, BASE_NONE, NULL, 0,
15148         NULL, HFILL }},
15149     { &hf_qsig_sms_qsig_sms_SmsStatusReportRes_PDU,
15150       { "SmsStatusReportRes", "qsig.sms.SmsStatusReportRes_element",
15151         FT_NONE, BASE_NONE, NULL, 0,
15152         NULL, HFILL }},
15153     { &hf_qsig_sms_qsig_sms_SmsCommandArg_PDU,
15154       { "SmsCommandArg", "qsig.sms.SmsCommandArg_element",
15155         FT_NONE, BASE_NONE, NULL, 0,
15156         NULL, HFILL }},
15157     { &hf_qsig_sms_qsig_sms_SmsCommandRes_PDU,
15158       { "SmsCommandRes", "qsig.sms.SmsCommandRes_element",
15159         FT_NONE, BASE_NONE, NULL, 0,
15160         NULL, HFILL }},
15161     { &hf_qsig_sms_qsig_sms_ScAlertArg_PDU,
15162       { "ScAlertArg", "qsig.sms.ScAlertArg_element",
15163         FT_NONE, BASE_NONE, NULL, 0,
15164         NULL, HFILL }},
15165     { &hf_qsig_sms_qsig_sms_DummyRes_PDU,
15166       { "DummyRes", "qsig.sms.DummyRes",
15167         FT_UINT32, BASE_DEC, VALS(qsig_sms_DummyRes_vals), 0,
15168         NULL, HFILL }},
15169     { &hf_qsig_sms_qsig_sms_PAR_smsDeliverError_PDU,
15170       { "PAR-smsDeliverError", "qsig.sms.PAR_smsDeliverError_element",
15171         FT_NONE, BASE_NONE, NULL, 0,
15172         NULL, HFILL }},
15173     { &hf_qsig_sms_qsig_sms_PAR_smsSubmitError_PDU,
15174       { "PAR-smsSubmitError", "qsig.sms.PAR_smsSubmitError_element",
15175         FT_NONE, BASE_NONE, NULL, 0,
15176         NULL, HFILL }},
15177     { &hf_qsig_sms_qsig_sms_PAR_smsStatusReportError_PDU,
15178       { "PAR-smsStatusReportError", "qsig.sms.PAR_smsStatusReportError_element",
15179         FT_NONE, BASE_NONE, NULL, 0,
15180         NULL, HFILL }},
15181     { &hf_qsig_sms_qsig_sms_PAR_smsCommandError_PDU,
15182       { "PAR-smsCommandError", "qsig.sms.PAR_smsCommandError_element",
15183         FT_NONE, BASE_NONE, NULL, 0,
15184         NULL, HFILL }},
15185     { &hf_qsig_sms_qsig_sms_SmsExtension_PDU,
15186       { "SmsExtension", "qsig.sms.SmsExtension",
15187         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15188         NULL, HFILL }},
15189     { &hf_qsig_sms_destinationAddress,
15190       { "destinationAddress", "qsig.sms.destinationAddress",
15191         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15192         "PartyNumber", HFILL }},
15193     { &hf_qsig_sms_originatingAddress,
15194       { "originatingAddress", "qsig.sms.originatingAddress",
15195         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15196         "PartyNumber", HFILL }},
15197     { &hf_qsig_sms_messageReference,
15198       { "messageReference", "qsig.sms.messageReference",
15199         FT_UINT32, BASE_DEC, NULL, 0,
15200         NULL, HFILL }},
15201     { &hf_qsig_sms_smSubmitParameter,
15202       { "smSubmitParameter", "qsig.sms.smSubmitParameter_element",
15203         FT_NONE, BASE_NONE, NULL, 0,
15204         NULL, HFILL }},
15205     { &hf_qsig_sms_userData,
15206       { "userData", "qsig.sms.userData_element",
15207         FT_NONE, BASE_NONE, NULL, 0,
15208         NULL, HFILL }},
15209     { &hf_qsig_sms_smsExtension,
15210       { "smsExtension", "qsig.sms.smsExtension",
15211         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsExtension_vals), 0,
15212         NULL, HFILL }},
15213     { &hf_qsig_sms_serviceCentreTimeStamp,
15214       { "serviceCentreTimeStamp", "qsig.sms.serviceCentreTimeStamp",
15215         FT_STRING, BASE_NONE, NULL, 0,
15216         NULL, HFILL }},
15217     { &hf_qsig_sms_protocolIdentifier,
15218       { "protocolIdentifier", "qsig.sms.protocolIdentifier",
15219         FT_UINT32, BASE_DEC, NULL, 0,
15220         NULL, HFILL }},
15221     { &hf_qsig_sms_originatingName,
15222       { "originatingName", "qsig.sms.originatingName",
15223         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15224         "Name", HFILL }},
15225     { &hf_qsig_sms_smDeliverParameter,
15226       { "smDeliverParameter", "qsig.sms.smDeliverParameter_element",
15227         FT_NONE, BASE_NONE, NULL, 0,
15228         NULL, HFILL }},
15229     { &hf_qsig_sms_smsDeliverResponseChoice,
15230       { "smsDeliverResponseChoice", "qsig.sms.smsDeliverResponseChoice",
15231         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsDeliverResChoice_vals), 0,
15232         "SmsDeliverResChoice", HFILL }},
15233     { &hf_qsig_sms_dischargeTime,
15234       { "dischargeTime", "qsig.sms.dischargeTime",
15235         FT_STRING, BASE_NONE, NULL, 0,
15236         NULL, HFILL }},
15237     { &hf_qsig_sms_recipientAddress,
15238       { "recipientAddress", "qsig.sms.recipientAddress",
15239         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15240         "PartyNumber", HFILL }},
15241     { &hf_qsig_sms_recipientName,
15242       { "recipientName", "qsig.sms.recipientName",
15243         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15244         "Name", HFILL }},
15245     { &hf_qsig_sms_status,
15246       { "status", "qsig.sms.status",
15247         FT_UINT32, BASE_DEC, NULL, 0,
15248         NULL, HFILL }},
15249     { &hf_qsig_sms_priority,
15250       { "priority", "qsig.sms.priority",
15251         FT_BOOLEAN, BASE_NONE, NULL, 0,
15252         "BOOLEAN", HFILL }},
15253     { &hf_qsig_sms_moreMessagesToSend,
15254       { "moreMessagesToSend", "qsig.sms.moreMessagesToSend",
15255         FT_BOOLEAN, BASE_NONE, NULL, 0,
15256         "BOOLEAN", HFILL }},
15257     { &hf_qsig_sms_statusReportQualifier,
15258       { "statusReportQualifier", "qsig.sms.statusReportQualifier",
15259         FT_BOOLEAN, BASE_NONE, NULL, 0,
15260         "BOOLEAN", HFILL }},
15261     { &hf_qsig_sms_smsStatusReportResponseChoice,
15262       { "smsStatusReportResponseChoice", "qsig.sms.smsStatusReportResponseChoice",
15263         FT_UINT32, BASE_DEC, VALS(qsig_sms_SmsStatusReportResponseChoice_vals), 0,
15264         NULL, HFILL }},
15265     { &hf_qsig_sms_messageNumber,
15266       { "messageNumber", "qsig.sms.messageNumber",
15267         FT_UINT32, BASE_DEC, NULL, 0,
15268         "MessageReference", HFILL }},
15269     { &hf_qsig_sms_commandType,
15270       { "commandType", "qsig.sms.commandType",
15271         FT_UINT32, BASE_DEC, VALS(qsig_sms_CommandType_vals), 0,
15272         NULL, HFILL }},
15273     { &hf_qsig_sms_commandData,
15274       { "commandData", "qsig.sms.commandData",
15275         FT_BYTES, BASE_NONE, NULL, 0,
15276         NULL, HFILL }},
15277     { &hf_qsig_sms_statusReportRequest,
15278       { "statusReportRequest", "qsig.sms.statusReportRequest",
15279         FT_BOOLEAN, BASE_NONE, NULL, 0,
15280         "BOOLEAN", HFILL }},
15281     { &hf_qsig_sms_null,
15282       { "null", "qsig.sms.null_element",
15283         FT_NONE, BASE_NONE, NULL, 0,
15284         NULL, HFILL }},
15285     { &hf_qsig_sms_validityPeriod,
15286       { "validityPeriod", "qsig.sms.validityPeriod",
15287         FT_UINT32, BASE_DEC, VALS(qsig_sms_ValidityPeriod_vals), 0,
15288         NULL, HFILL }},
15289     { &hf_qsig_sms_replyPath,
15290       { "replyPath", "qsig.sms.replyPath",
15291         FT_BOOLEAN, BASE_NONE, NULL, 0,
15292         "BOOLEAN", HFILL }},
15293     { &hf_qsig_sms_rejectDuplicates,
15294       { "rejectDuplicates", "qsig.sms.rejectDuplicates",
15295         FT_BOOLEAN, BASE_NONE, NULL, 0,
15296         "BOOLEAN", HFILL }},
15297     { &hf_qsig_sms_statusReportIndication,
15298       { "statusReportIndication", "qsig.sms.statusReportIndication",
15299         FT_BOOLEAN, BASE_NONE, NULL, 0,
15300         "BOOLEAN", HFILL }},
15301     { &hf_qsig_sms_resChoiceSeq,
15302       { "resChoiceSeq", "qsig.sms.resChoiceSeq_element",
15303         FT_NONE, BASE_NONE, NULL, 0,
15304         NULL, HFILL }},
15305     { &hf_qsig_sms_single,
15306       { "single", "qsig.sms.single_element",
15307         FT_NONE, BASE_NONE, NULL, 0,
15308         "Extension", HFILL }},
15309     { &hf_qsig_sms_multiple,
15310       { "multiple", "qsig.sms.multiple",
15311         FT_UINT32, BASE_DEC, NULL, 0,
15312         "SEQUENCE_OF_Extension", HFILL }},
15313     { &hf_qsig_sms_multiple_item,
15314       { "Extension", "qsig.sms.Extension_element",
15315         FT_NONE, BASE_NONE, NULL, 0,
15316         NULL, HFILL }},
15317     { &hf_qsig_sms_validityPeriodRel,
15318       { "validityPeriodRel", "qsig.sms.validityPeriodRel",
15319         FT_UINT32, BASE_DEC, NULL, 0,
15320         NULL, HFILL }},
15321     { &hf_qsig_sms_validityPeriodAbs,
15322       { "validityPeriodAbs", "qsig.sms.validityPeriodAbs",
15323         FT_STRING, BASE_NONE, NULL, 0,
15324         NULL, HFILL }},
15325     { &hf_qsig_sms_validityPeriodEnh,
15326       { "validityPeriodEnh", "qsig.sms.validityPeriodEnh_element",
15327         FT_NONE, BASE_NONE, NULL, 0,
15328         NULL, HFILL }},
15329     { &hf_qsig_sms_singleShotSM,
15330       { "singleShotSM", "qsig.sms.singleShotSM",
15331         FT_BOOLEAN, BASE_NONE, NULL, 0,
15332         "BOOLEAN", HFILL }},
15333     { &hf_qsig_sms_enhancedVP,
15334       { "enhancedVP", "qsig.sms.enhancedVP",
15335         FT_UINT32, BASE_DEC, VALS(qsig_sms_EnhancedVP_vals), 0,
15336         NULL, HFILL }},
15337     { &hf_qsig_sms_validityPeriodSec,
15338       { "validityPeriodSec", "qsig.sms.validityPeriodSec",
15339         FT_UINT32, BASE_DEC, NULL, 0,
15340         "INTEGER_0_255", HFILL }},
15341     { &hf_qsig_sms_validityPeriodSemi,
15342       { "validityPeriodSemi", "qsig.sms.validityPeriodSemi",
15343         FT_BYTES, BASE_NONE, NULL, 0,
15344         NULL, HFILL }},
15345     { &hf_qsig_sms_userDataHeader,
15346       { "userDataHeader", "qsig.sms.userDataHeader",
15347         FT_UINT32, BASE_DEC, NULL, 0,
15348         NULL, HFILL }},
15349     { &hf_qsig_sms_class,
15350       { "class", "qsig.sms.class",
15351         FT_UINT32, BASE_DEC, NULL, 0,
15352         "INTEGER_0_3", HFILL }},
15353     { &hf_qsig_sms_compressed,
15354       { "compressed", "qsig.sms.compressed",
15355         FT_BOOLEAN, BASE_NONE, NULL, 0,
15356         "BOOLEAN", HFILL }},
15357     { &hf_qsig_sms_shortMessageText,
15358       { "shortMessageText", "qsig.sms.shortMessageText_element",
15359         FT_NONE, BASE_NONE, NULL, 0,
15360         NULL, HFILL }},
15361     { &hf_qsig_sms_shortMessageTextType,
15362       { "shortMessageTextType", "qsig.sms.shortMessageTextType",
15363         FT_UINT32, BASE_DEC, VALS(qsig_sms_ShortMessageTextType_vals), 0,
15364         NULL, HFILL }},
15365     { &hf_qsig_sms_shortMessageTextData,
15366       { "shortMessageTextData", "qsig.sms.shortMessageTextData",
15367         FT_BYTES, BASE_NONE, NULL, 0,
15368         NULL, HFILL }},
15369     { &hf_qsig_sms_UserDataHeader_item,
15370       { "UserDataHeaderChoice", "qsig.sms.UserDataHeaderChoice",
15371         FT_UINT32, BASE_DEC, VALS(qsig_sms_UserDataHeaderChoice_vals), 0,
15372         NULL, HFILL }},
15373     { &hf_qsig_sms_smscControlParameterHeader,
15374       { "smscControlParameterHeader", "qsig.sms.smscControlParameterHeader",
15375         FT_BYTES, BASE_NONE, NULL, 0,
15376         NULL, HFILL }},
15377     { &hf_qsig_sms_concatenated8BitSMHeader,
15378       { "concatenated8BitSMHeader", "qsig.sms.concatenated8BitSMHeader_element",
15379         FT_NONE, BASE_NONE, NULL, 0,
15380         NULL, HFILL }},
15381     { &hf_qsig_sms_concatenated16BitSMHeader,
15382       { "concatenated16BitSMHeader", "qsig.sms.concatenated16BitSMHeader_element",
15383         FT_NONE, BASE_NONE, NULL, 0,
15384         NULL, HFILL }},
15385     { &hf_qsig_sms_applicationPort8BitHeader,
15386       { "applicationPort8BitHeader", "qsig.sms.applicationPort8BitHeader_element",
15387         FT_NONE, BASE_NONE, NULL, 0,
15388         NULL, HFILL }},
15389     { &hf_qsig_sms_applicationPort16BitHeader,
15390       { "applicationPort16BitHeader", "qsig.sms.applicationPort16BitHeader_element",
15391         FT_NONE, BASE_NONE, NULL, 0,
15392         NULL, HFILL }},
15393     { &hf_qsig_sms_dataHeaderSourceIndicator,
15394       { "dataHeaderSourceIndicator", "qsig.sms.dataHeaderSourceIndicator",
15395         FT_UINT32, BASE_DEC, VALS(qsig_sms_DataHeaderSourceIndicator_vals), 0,
15396         NULL, HFILL }},
15397     { &hf_qsig_sms_wirelessControlHeader,
15398       { "wirelessControlHeader", "qsig.sms.wirelessControlHeader",
15399         FT_BYTES, BASE_NONE, NULL, 0,
15400         NULL, HFILL }},
15401     { &hf_qsig_sms_genericUserValue,
15402       { "genericUserValue", "qsig.sms.genericUserValue_element",
15403         FT_NONE, BASE_NONE, NULL, 0,
15404         NULL, HFILL }},
15405     { &hf_qsig_sms_concatenated8BitSMReferenceNumber,
15406       { "concatenated8BitSMReferenceNumber", "qsig.sms.concatenated8BitSMReferenceNumber",
15407         FT_UINT32, BASE_DEC, NULL, 0,
15408         "INTEGER_0_255", HFILL }},
15409     { &hf_qsig_sms_maximumNumberOf8BitSMInConcatenatedSM,
15410       { "maximumNumberOf8BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf8BitSMInConcatenatedSM",
15411         FT_UINT32, BASE_DEC, NULL, 0,
15412         "INTEGER_0_255", HFILL }},
15413     { &hf_qsig_sms_sequenceNumberOf8BitSM,
15414       { "sequenceNumberOf8BitSM", "qsig.sms.sequenceNumberOf8BitSM",
15415         FT_UINT32, BASE_DEC, NULL, 0,
15416         "INTEGER_0_255", HFILL }},
15417     { &hf_qsig_sms_concatenated16BitSMReferenceNumber,
15418       { "concatenated16BitSMReferenceNumber", "qsig.sms.concatenated16BitSMReferenceNumber",
15419         FT_UINT32, BASE_DEC, NULL, 0,
15420         "INTEGER_0_65536", HFILL }},
15421     { &hf_qsig_sms_maximumNumberOf16BitSMInConcatenatedSM,
15422       { "maximumNumberOf16BitSMInConcatenatedSM", "qsig.sms.maximumNumberOf16BitSMInConcatenatedSM",
15423         FT_UINT32, BASE_DEC, NULL, 0,
15424         "INTEGER_0_255", HFILL }},
15425     { &hf_qsig_sms_sequenceNumberOf16BitSM,
15426       { "sequenceNumberOf16BitSM", "qsig.sms.sequenceNumberOf16BitSM",
15427         FT_UINT32, BASE_DEC, NULL, 0,
15428         "INTEGER_0_255", HFILL }},
15429     { &hf_qsig_sms_destination8BitPort,
15430       { "destination8BitPort", "qsig.sms.destination8BitPort",
15431         FT_UINT32, BASE_DEC, NULL, 0,
15432         "INTEGER_0_255", HFILL }},
15433     { &hf_qsig_sms_originator8BitPort,
15434       { "originator8BitPort", "qsig.sms.originator8BitPort",
15435         FT_UINT32, BASE_DEC, NULL, 0,
15436         "INTEGER_0_255", HFILL }},
15437     { &hf_qsig_sms_destination16BitPort,
15438       { "destination16BitPort", "qsig.sms.destination16BitPort",
15439         FT_UINT32, BASE_DEC, NULL, 0,
15440         "INTEGER_0_65536", HFILL }},
15441     { &hf_qsig_sms_originator16BitPort,
15442       { "originator16BitPort", "qsig.sms.originator16BitPort",
15443         FT_UINT32, BASE_DEC, NULL, 0,
15444         "INTEGER_0_65536", HFILL }},
15445     { &hf_qsig_sms_parameterValue,
15446       { "parameterValue", "qsig.sms.parameterValue",
15447         FT_UINT32, BASE_DEC, NULL, 0,
15448         "INTEGER_0_255", HFILL }},
15449     { &hf_qsig_sms_genericUserData,
15450       { "genericUserData", "qsig.sms.genericUserData",
15451         FT_BYTES, BASE_NONE, NULL, 0,
15452         "OCTET_STRING", HFILL }},
15453     { &hf_qsig_sms_failureCause,
15454       { "failureCause", "qsig.sms.failureCause",
15455         FT_UINT32, BASE_DEC, NULL, 0,
15456         NULL, HFILL }},
15457     { &hf_qsig_sms_scAddressSaved,
15458       { "scAddressSaved", "qsig.sms.scAddressSaved",
15459         FT_BOOLEAN, BASE_NONE, NULL, 0,
15460         "BOOLEAN", HFILL }},
15461     { &hf_qsig_sms_SmscControlParameterHeader_sRforTransactionCompleted,
15462       { "sRforTransactionCompleted", "qsig.sms.SmscControlParameterHeader.sRforTransactionCompleted",
15463         FT_BOOLEAN, 8, NULL, 0x80,
15464         NULL, HFILL }},
15465     { &hf_qsig_sms_SmscControlParameterHeader_sRforPermanentError,
15466       { "sRforPermanentError", "qsig.sms.SmscControlParameterHeader.sRforPermanentError",
15467         FT_BOOLEAN, 8, NULL, 0x40,
15468         NULL, HFILL }},
15469     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCnotTrying,
15470       { "sRforTempErrorSCnotTrying", "qsig.sms.SmscControlParameterHeader.sRforTempErrorSCnotTrying",
15471         FT_BOOLEAN, 8, NULL, 0x20,
15472         NULL, HFILL }},
15473     { &hf_qsig_sms_SmscControlParameterHeader_sRforTempErrorSCstillTrying,
15474       { "sRforTempErrorSCstillTrying", "qsig.sms.SmscControlParameterHeader.sRforTempErrorSCstillTrying",
15475         FT_BOOLEAN, 8, NULL, 0x10,
15476         NULL, HFILL }},
15477     { &hf_qsig_sms_SmscControlParameterHeader_spare_bit4,
15478       { "spare_bit4", "qsig.sms.SmscControlParameterHeader.spare.bit4",
15479         FT_BOOLEAN, 8, NULL, 0x08,
15480         NULL, HFILL }},
15481     { &hf_qsig_sms_SmscControlParameterHeader_spare_bit5,
15482       { "spare_bit5", "qsig.sms.SmscControlParameterHeader.spare.bit5",
15483         FT_BOOLEAN, 8, NULL, 0x04,
15484         NULL, HFILL }},
15485     { &hf_qsig_sms_SmscControlParameterHeader_cancelSRRforConcatenatedSM,
15486       { "cancelSRRforConcatenatedSM", "qsig.sms.SmscControlParameterHeader.cancelSRRforConcatenatedSM",
15487         FT_BOOLEAN, 8, NULL, 0x02,
15488         NULL, HFILL }},
15489     { &hf_qsig_sms_SmscControlParameterHeader_includeOrigUDHintoSR,
15490       { "includeOrigUDHintoSR", "qsig.sms.SmscControlParameterHeader.includeOrigUDHintoSR",
15491         FT_BOOLEAN, 8, NULL, 0x01,
15492         NULL, HFILL }},
15493 
15494 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
15495 
15496     { &hf_qsig_mcr_qsig_mcr_MCRequestArg_PDU,
15497       { "MCRequestArg", "qsig.mcr.MCRequestArg_element",
15498         FT_NONE, BASE_NONE, NULL, 0,
15499         NULL, HFILL }},
15500     { &hf_qsig_mcr_qsig_mcr_MCRequestResult_PDU,
15501       { "MCRequestResult", "qsig.mcr.MCRequestResult_element",
15502         FT_NONE, BASE_NONE, NULL, 0,
15503         NULL, HFILL }},
15504     { &hf_qsig_mcr_qsig_mcr_MCInformArg_PDU,
15505       { "MCInformArg", "qsig.mcr.MCInformArg_element",
15506         FT_NONE, BASE_NONE, NULL, 0,
15507         NULL, HFILL }},
15508     { &hf_qsig_mcr_qsig_mcr_MCAlertingArg_PDU,
15509       { "MCAlertingArg", "qsig.mcr.MCAlertingArg_element",
15510         FT_NONE, BASE_NONE, NULL, 0,
15511         NULL, HFILL }},
15512     { &hf_qsig_mcr_qsig_mcr_Extension_PDU,
15513       { "Extension", "qsig.mcr.Extension_element",
15514         FT_NONE, BASE_NONE, NULL, 0,
15515         NULL, HFILL }},
15516     { &hf_qsig_mcr_callType,
15517       { "callType", "qsig.mcr.callType",
15518         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CallType_vals), 0,
15519         NULL, HFILL }},
15520     { &hf_qsig_mcr_retainOrigCall,
15521       { "retainOrigCall", "qsig.mcr.retainOrigCall",
15522         FT_BOOLEAN, BASE_NONE, NULL, 0,
15523         "BOOLEAN", HFILL }},
15524     { &hf_qsig_mcr_destinationAddress,
15525       { "destinationAddress", "qsig.mcr.destinationAddress",
15526         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15527         "PresentedAddressUnscreened", HFILL }},
15528     { &hf_qsig_mcr_requestingAddress,
15529       { "requestingAddress", "qsig.mcr.requestingAddress",
15530         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15531         "PresentedAddressUnscreened", HFILL }},
15532     { &hf_qsig_mcr_cooperatingAddress,
15533       { "cooperatingAddress", "qsig.mcr.cooperatingAddress",
15534         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15535         "PresentedAddressUnscreened", HFILL }},
15536     { &hf_qsig_mcr_correlation,
15537       { "correlation", "qsig.mcr.correlation_element",
15538         FT_NONE, BASE_NONE, NULL, 0,
15539         NULL, HFILL }},
15540     { &hf_qsig_mcr_extensions,
15541       { "extensions", "qsig.mcr.extensions",
15542         FT_UINT32, BASE_DEC, VALS(qsig_mcr_MCRExtensions_vals), 0,
15543         "MCRExtensions", HFILL }},
15544     { &hf_qsig_mcr_basicService,
15545       { "basicService", "qsig.mcr.basicService",
15546         FT_UINT32, BASE_DEC, VALS(qsig_cf_BasicService_vals), 0,
15547         NULL, HFILL }},
15548     { &hf_qsig_mcr_cisc,
15549       { "cisc", "qsig.mcr.cisc_element",
15550         FT_NONE, BASE_NONE, NULL, 0,
15551         NULL, HFILL }},
15552     { &hf_qsig_mcr_correlationData,
15553       { "correlationData", "qsig.mcr.correlationData",
15554         FT_STRING, BASE_NONE, NULL, 0,
15555         "CallIdentity", HFILL }},
15556     { &hf_qsig_mcr_correlationReason,
15557       { "correlationReason", "qsig.mcr.correlationReason",
15558         FT_UINT32, BASE_DEC, VALS(qsig_mcr_CorrelationReason_vals), 0,
15559         NULL, HFILL }},
15560     { &hf_qsig_mcr_none,
15561       { "none", "qsig.mcr.none_element",
15562         FT_NONE, BASE_NONE, NULL, 0,
15563         NULL, HFILL }},
15564     { &hf_qsig_mcr_single,
15565       { "single", "qsig.mcr.single_element",
15566         FT_NONE, BASE_NONE, NULL, 0,
15567         "Extension", HFILL }},
15568     { &hf_qsig_mcr_multiple,
15569       { "multiple", "qsig.mcr.multiple",
15570         FT_UINT32, BASE_DEC, NULL, 0,
15571         "SEQUENCE_OF_Extension", HFILL }},
15572     { &hf_qsig_mcr_multiple_item,
15573       { "Extension", "qsig.mcr.Extension_element",
15574         FT_NONE, BASE_NONE, NULL, 0,
15575         NULL, HFILL }},
15576 
15577 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
15578 
15579     { &hf_qsig_mcm_qsig_mcm_MCMNewMsgArg_PDU,
15580       { "MCMNewMsgArg", "qsig.mcm.MCMNewMsgArg_element",
15581         FT_NONE, BASE_NONE, NULL, 0,
15582         NULL, HFILL }},
15583     { &hf_qsig_mcm_qsig_mcm_MCMDummyRes_PDU,
15584       { "MCMDummyRes", "qsig.mcm.MCMDummyRes",
15585         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15586         NULL, HFILL }},
15587     { &hf_qsig_mcm_qsig_mcm_MCMNoNewMsgArg_PDU,
15588       { "MCMNoNewMsgArg", "qsig.mcm.MCMNoNewMsgArg_element",
15589         FT_NONE, BASE_NONE, NULL, 0,
15590         NULL, HFILL }},
15591     { &hf_qsig_mcm_qsig_mcm_MCMUpdateArg_PDU,
15592       { "MCMUpdateArg", "qsig.mcm.MCMUpdateArg_element",
15593         FT_NONE, BASE_NONE, NULL, 0,
15594         NULL, HFILL }},
15595     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqArg_PDU,
15596       { "MCMUpdateReqArg", "qsig.mcm.MCMUpdateReqArg_element",
15597         FT_NONE, BASE_NONE, NULL, 0,
15598         NULL, HFILL }},
15599     { &hf_qsig_mcm_qsig_mcm_MCMUpdateReqRes_PDU,
15600       { "MCMUpdateReqRes", "qsig.mcm.MCMUpdateReqRes",
15601         FT_UINT32, BASE_DEC, NULL, 0,
15602         NULL, HFILL }},
15603     { &hf_qsig_mcm_qsig_mcm_MCMServiceArg_PDU,
15604       { "MCMServiceArg", "qsig.mcm.MCMServiceArg_element",
15605         FT_NONE, BASE_NONE, NULL, 0,
15606         NULL, HFILL }},
15607     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateArg_PDU,
15608       { "MCMInterrogateArg", "qsig.mcm.MCMInterrogateArg_element",
15609         FT_NONE, BASE_NONE, NULL, 0,
15610         NULL, HFILL }},
15611     { &hf_qsig_mcm_qsig_mcm_MCMInterrogateRes_PDU,
15612       { "MCMInterrogateRes", "qsig.mcm.MCMInterrogateRes_element",
15613         FT_NONE, BASE_NONE, NULL, 0,
15614         NULL, HFILL }},
15615     { &hf_qsig_mcm_qsig_mcm_MCMailboxFullArg_PDU,
15616       { "MCMailboxFullArg", "qsig.mcm.MCMailboxFullArg_element",
15617         FT_NONE, BASE_NONE, NULL, 0,
15618         NULL, HFILL }},
15619     { &hf_qsig_mcm_qsig_mcm_Extension_PDU,
15620       { "Extension", "qsig.mcm.Extension_element",
15621         FT_NONE, BASE_NONE, NULL, 0,
15622         NULL, HFILL }},
15623     { &hf_qsig_mcm_partyInfo,
15624       { "partyInfo", "qsig.mcm.partyInfo_element",
15625         FT_NONE, BASE_NONE, NULL, 0,
15626         NULL, HFILL }},
15627     { &hf_qsig_mcm_mailboxFullFor,
15628       { "mailboxFullFor", "qsig.mcm.mailboxFullFor",
15629         FT_UINT32, BASE_DEC, NULL, 0,
15630         NULL, HFILL }},
15631     { &hf_qsig_mcm_extensions,
15632       { "extensions", "qsig.mcm.extensions",
15633         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMExtensions_vals), 0,
15634         "MCMExtensions", HFILL }},
15635     { &hf_qsig_mcm_MailboxFullFor_item,
15636       { "MailboxFullPar", "qsig.mcm.MailboxFullPar_element",
15637         FT_NONE, BASE_NONE, NULL, 0,
15638         NULL, HFILL }},
15639     { &hf_qsig_mcm_messageType,
15640       { "messageType", "qsig.mcm.messageType",
15641         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15642         NULL, HFILL }},
15643     { &hf_qsig_mcm_capacityReached,
15644       { "capacityReached", "qsig.mcm.capacityReached",
15645         FT_UINT32, BASE_DEC, NULL, 0,
15646         "INTEGER_0_100", HFILL }},
15647     { &hf_qsig_mcm_mCMChange,
15648       { "mCMChange", "qsig.mcm.mCMChange",
15649         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMChange_vals), 0,
15650         NULL, HFILL }},
15651     { &hf_qsig_mcm_activateMCM,
15652       { "activateMCM", "qsig.mcm.activateMCM",
15653         FT_UINT32, BASE_DEC, NULL, 0,
15654         "SEQUENCE_OF_MCMServiceInfo", HFILL }},
15655     { &hf_qsig_mcm_activateMCM_item,
15656       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo_element",
15657         FT_NONE, BASE_NONE, NULL, 0,
15658         NULL, HFILL }},
15659     { &hf_qsig_mcm_deactivateMCM,
15660       { "deactivateMCM", "qsig.mcm.deactivateMCM",
15661         FT_UINT32, BASE_DEC, NULL, 0,
15662         "SEQUENCE_OF_MessageType", HFILL }},
15663     { &hf_qsig_mcm_deactivateMCM_item,
15664       { "MessageType", "qsig.mcm.MessageType",
15665         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15666         NULL, HFILL }},
15667     { &hf_qsig_mcm_setToDefaultValues,
15668       { "setToDefaultValues", "qsig.mcm.setToDefaultValues_element",
15669         FT_NONE, BASE_NONE, NULL, 0,
15670         NULL, HFILL }},
15671     { &hf_qsig_mcm_mCMModeNew,
15672       { "mCMModeNew", "qsig.mcm.mCMModeNew",
15673         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15674         "MCMMode", HFILL }},
15675     { &hf_qsig_mcm_mCMModeRetrieved,
15676       { "mCMModeRetrieved", "qsig.mcm.mCMModeRetrieved",
15677         FT_INT32, BASE_DEC, VALS(qsig_mcm_MCMMode_vals), 0,
15678         "MCMMode", HFILL }},
15679     { &hf_qsig_mcm_interrogateInfo,
15680       { "interrogateInfo", "qsig.mcm.interrogateInfo",
15681         FT_UINT32, BASE_DEC, NULL, 0,
15682         "SEQUENCE_OF_MessageType", HFILL }},
15683     { &hf_qsig_mcm_interrogateInfo_item,
15684       { "MessageType", "qsig.mcm.MessageType",
15685         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15686         NULL, HFILL }},
15687     { &hf_qsig_mcm_interrogateResult,
15688       { "interrogateResult", "qsig.mcm.interrogateResult",
15689         FT_UINT32, BASE_DEC, NULL, 0,
15690         "SEQUENCE_OF_MCMServiceInfo", HFILL }},
15691     { &hf_qsig_mcm_interrogateResult_item,
15692       { "MCMServiceInfo", "qsig.mcm.MCMServiceInfo_element",
15693         FT_NONE, BASE_NONE, NULL, 0,
15694         NULL, HFILL }},
15695     { &hf_qsig_mcm_servedUserNr,
15696       { "servedUserNr", "qsig.mcm.servedUserNr",
15697         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15698         "PartyNumber", HFILL }},
15699     { &hf_qsig_mcm_specificMessageType,
15700       { "specificMessageType", "qsig.mcm.specificMessageType",
15701         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15702         "MessageType", HFILL }},
15703     { &hf_qsig_mcm_msgCentreId,
15704       { "msgCentreId", "qsig.mcm.msgCentreId",
15705         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15706         NULL, HFILL }},
15707     { &hf_qsig_mcm_nrOfMessages,
15708       { "nrOfMessages", "qsig.mcm.nrOfMessages",
15709         FT_UINT32, BASE_DEC, NULL, 0,
15710         NULL, HFILL }},
15711     { &hf_qsig_mcm_originatingNr,
15712       { "originatingNr", "qsig.mcm.originatingNr",
15713         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15714         "PartyNumber", HFILL }},
15715     { &hf_qsig_mcm_timestamp,
15716       { "timestamp", "qsig.mcm.timestamp",
15717         FT_STRING, BASE_NONE, NULL, 0,
15718         NULL, HFILL }},
15719     { &hf_qsig_mcm_priority,
15720       { "priority", "qsig.mcm.priority",
15721         FT_UINT32, BASE_DEC, NULL, 0,
15722         "INTEGER_0_9", HFILL }},
15723     { &hf_qsig_mcm_argumentExtMCMNew,
15724       { "argumentExt", "qsig.mcm.argumentExt",
15725         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNewArgumentExt_vals), 0,
15726         "MCMNewArgumentExt", HFILL }},
15727     { &hf_qsig_mcm_extension,
15728       { "extension", "qsig.mcm.extension_element",
15729         FT_NONE, BASE_NONE, NULL, 0,
15730         NULL, HFILL }},
15731     { &hf_qsig_mcm_multipleExtension,
15732       { "multipleExtension", "qsig.mcm.multipleExtension",
15733         FT_UINT32, BASE_DEC, NULL, 0,
15734         "SEQUENCE_OF_Extension", HFILL }},
15735     { &hf_qsig_mcm_multipleExtension_item,
15736       { "Extension", "qsig.mcm.Extension_element",
15737         FT_NONE, BASE_NONE, NULL, 0,
15738         NULL, HFILL }},
15739     { &hf_qsig_mcm_argumentExtMCMNoNew,
15740       { "argumentExt", "qsig.mcm.argumentExt",
15741         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMNoNewArgumentExt_vals), 0,
15742         "MCMNoNewArgumentExt", HFILL }},
15743     { &hf_qsig_mcm_updateInfo,
15744       { "updateInfo", "qsig.mcm.updateInfo",
15745         FT_UINT32, BASE_DEC, VALS(qsig_mcm_UpdateInfo_vals), 0,
15746         NULL, HFILL }},
15747     { &hf_qsig_mcm_moreInfoFollows,
15748       { "moreInfoFollows", "qsig.mcm.moreInfoFollows",
15749         FT_BOOLEAN, BASE_NONE, NULL, 0,
15750         "BOOLEAN", HFILL }},
15751     { &hf_qsig_mcm_argumentExtMCMUpdArg,
15752       { "argumentExt", "qsig.mcm.argumentExt",
15753         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdArgArgumentExt_vals), 0,
15754         "MCMUpdArgArgumentExt", HFILL }},
15755     { &hf_qsig_mcm_MCMUpdateReqRes_item,
15756       { "MCMUpdateReqResElt", "qsig.mcm.MCMUpdateReqResElt_element",
15757         FT_NONE, BASE_NONE, NULL, 0,
15758         NULL, HFILL }},
15759     { &hf_qsig_mcm_argumentExtMCMUpdRes,
15760       { "argumentExt", "qsig.mcm.argumentExt",
15761         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MCMUpdResArgumentExt_vals), 0,
15762         "MCMUpdResArgumentExt", HFILL }},
15763     { &hf_qsig_mcm_messageCentreID,
15764       { "messageCentreID", "qsig.mcm.messageCentreID",
15765         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15766         "MsgCentreId", HFILL }},
15767     { &hf_qsig_mcm_newMsgInfoOnly,
15768       { "newMsgInfoOnly", "qsig.mcm.newMsgInfoOnly",
15769         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15770         "MessageInfo", HFILL }},
15771     { &hf_qsig_mcm_retrievedMsgInfoOnly,
15772       { "retrievedMsgInfoOnly", "qsig.mcm.retrievedMsgInfoOnly",
15773         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15774         "MessageInfo", HFILL }},
15775     { &hf_qsig_mcm_allMsgInfo,
15776       { "allMsgInfo", "qsig.mcm.allMsgInfo_element",
15777         FT_NONE, BASE_NONE, NULL, 0,
15778         NULL, HFILL }},
15779     { &hf_qsig_mcm_newMsgInfo,
15780       { "newMsgInfo", "qsig.mcm.newMsgInfo",
15781         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15782         "MessageInfo", HFILL }},
15783     { &hf_qsig_mcm_retrievedMsgInfo,
15784       { "retrievedMsgInfo", "qsig.mcm.retrievedMsgInfo",
15785         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageInfo_vals), 0,
15786         "MessageInfo", HFILL }},
15787     { &hf_qsig_mcm_completeInfo,
15788       { "completeInfo", "qsig.mcm.completeInfo",
15789         FT_UINT32, BASE_DEC, NULL, 0,
15790         NULL, HFILL }},
15791     { &hf_qsig_mcm_compressedInfo,
15792       { "compressedInfo", "qsig.mcm.compressedInfo_element",
15793         FT_NONE, BASE_NONE, NULL, 0,
15794         NULL, HFILL }},
15795     { &hf_qsig_mcm_noMsgsOfMsgType,
15796       { "noMsgsOfMsgType", "qsig.mcm.noMsgsOfMsgType_element",
15797         FT_NONE, BASE_NONE, NULL, 0,
15798         NULL, HFILL }},
15799     { &hf_qsig_mcm_CompleteInfo_item,
15800       { "AddressHeader", "qsig.mcm.AddressHeader_element",
15801         FT_NONE, BASE_NONE, NULL, 0,
15802         NULL, HFILL }},
15803     { &hf_qsig_mcm_originatorNr,
15804       { "originatorNr", "qsig.mcm.originatorNr",
15805         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15806         "PartyNumber", HFILL }},
15807     { &hf_qsig_mcm_timeStamp,
15808       { "timeStamp", "qsig.mcm.timeStamp",
15809         FT_STRING, BASE_NONE, NULL, 0,
15810         NULL, HFILL }},
15811     { &hf_qsig_mcm_ahpriority,
15812       { "priority", "qsig.mcm.priority",
15813         FT_UINT32, BASE_DEC, NULL, 0,
15814         NULL, HFILL }},
15815     { &hf_qsig_mcm_lastTimeStamp,
15816       { "lastTimeStamp", "qsig.mcm.lastTimeStamp",
15817         FT_STRING, BASE_NONE, NULL, 0,
15818         "TimeStamp", HFILL }},
15819     { &hf_qsig_mcm_highestPriority,
15820       { "highestPriority", "qsig.mcm.highestPriority",
15821         FT_UINT32, BASE_DEC, NULL, 0,
15822         "Priority", HFILL }},
15823     { &hf_qsig_mcm_integer,
15824       { "integer", "qsig.mcm.integer",
15825         FT_UINT32, BASE_DEC, NULL, 0,
15826         "INTEGER_0_65535", HFILL }},
15827     { &hf_qsig_mcm_partyNumber,
15828       { "partyNumber", "qsig.mcm.partyNumber",
15829         FT_UINT32, BASE_DEC, VALS(qsig_PartyNumber_vals), 0,
15830         NULL, HFILL }},
15831     { &hf_qsig_mcm_numericString,
15832       { "numericString", "qsig.mcm.numericString",
15833         FT_STRING, BASE_NONE, NULL, 0,
15834         "NumericString_SIZE_1_10", HFILL }},
15835     { &hf_qsig_mcm_none,
15836       { "none", "qsig.mcm.none_element",
15837         FT_NONE, BASE_NONE, NULL, 0,
15838         NULL, HFILL }},
15839 
15840 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
15841 
15842     { &hf_qsig_mid_qsig_mid_MIDMailboxAuthArg_PDU,
15843       { "MIDMailboxAuthArg", "qsig.mid.MIDMailboxAuthArg_element",
15844         FT_NONE, BASE_NONE, NULL, 0,
15845         NULL, HFILL }},
15846     { &hf_qsig_mid_qsig_mid_MIDDummyRes_PDU,
15847       { "MIDDummyRes", "qsig.mid.MIDDummyRes",
15848         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15849         NULL, HFILL }},
15850     { &hf_qsig_mid_qsig_mid_MIDMailboxIDArg_PDU,
15851       { "MIDMailboxIDArg", "qsig.mid.MIDMailboxIDArg_element",
15852         FT_NONE, BASE_NONE, NULL, 0,
15853         NULL, HFILL }},
15854     { &hf_qsig_mid_qsig_mid_Extension_PDU,
15855       { "Extension", "qsig.mid.Extension_element",
15856         FT_NONE, BASE_NONE, NULL, 0,
15857         NULL, HFILL }},
15858     { &hf_qsig_mid_partyInfo,
15859       { "partyInfo", "qsig.mid.partyInfo_element",
15860         FT_NONE, BASE_NONE, NULL, 0,
15861         NULL, HFILL }},
15862     { &hf_qsig_mid_servedUserName,
15863       { "servedUserName", "qsig.mid.servedUserName",
15864         FT_UINT32, BASE_DEC, VALS(qsig_na_Name_vals), 0,
15865         "Name", HFILL }},
15866     { &hf_qsig_mid_mailBox,
15867       { "mailBox", "qsig.mid.mailBox",
15868         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15869         "String", HFILL }},
15870     { &hf_qsig_mid_password,
15871       { "password", "qsig.mid.password",
15872         FT_UINT32, BASE_DEC, VALS(qsig_mid_String_vals), 0,
15873         "String", HFILL }},
15874     { &hf_qsig_mid_extensions,
15875       { "extensions", "qsig.mid.extensions",
15876         FT_UINT32, BASE_DEC, VALS(qsig_mid_MIDExtensions_vals), 0,
15877         "MIDExtensions", HFILL }},
15878     { &hf_qsig_mid_servedUserNr,
15879       { "servedUserNr", "qsig.mid.servedUserNr",
15880         FT_UINT32, BASE_DEC, VALS(qsig_PresentedAddressUnscreened_vals), 0,
15881         "PresentedAddressUnscreened", HFILL }},
15882     { &hf_qsig_mid_messageType,
15883       { "messageType", "qsig.mid.messageType",
15884         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MessageType_vals), 0,
15885         NULL, HFILL }},
15886     { &hf_qsig_mid_messageCentreID,
15887       { "messageCentreID", "qsig.mid.messageCentreID",
15888         FT_UINT32, BASE_DEC, VALS(qsig_mcm_MsgCentreId_vals), 0,
15889         "MsgCentreId", HFILL }},
15890     { &hf_qsig_mid_stringBmp,
15891       { "stringBmp", "qsig.mid.stringBmp",
15892         FT_STRING, BASE_NONE, NULL, 0,
15893         "BMPString", HFILL }},
15894     { &hf_qsig_mid_stringUtf8,
15895       { "stringUtf8", "qsig.mid.stringUtf8",
15896         FT_STRING, BASE_NONE, NULL, 0,
15897         "UTF8String", HFILL }},
15898     { &hf_qsig_mid_none,
15899       { "none", "qsig.mid.none_element",
15900         FT_NONE, BASE_NONE, NULL, 0,
15901         NULL, HFILL }},
15902     { &hf_qsig_mid_extension,
15903       { "extension", "qsig.mid.extension_element",
15904         FT_NONE, BASE_NONE, NULL, 0,
15905         NULL, HFILL }},
15906     { &hf_qsig_mid_multipleExtension,
15907       { "multipleExtension", "qsig.mid.multipleExtension",
15908         FT_UINT32, BASE_DEC, NULL, 0,
15909         "SEQUENCE_OF_Extension", HFILL }},
15910     { &hf_qsig_mid_multipleExtension_item,
15911       { "Extension", "qsig.mid.Extension_element",
15912         FT_NONE, BASE_NONE, NULL, 0,
15913         NULL, HFILL }},
15914 
15915 /*--- End of included file: packet-qsig-hfarr.c ---*/
15916 #line 633 "./asn1/qsig/packet-qsig-template.c"
15917   };
15918 
15919   /* List of subtrees */
15920   static gint *ett[] = {
15921     &ett_qsig,
15922     &ett_qsig_ie,
15923     &ett_qsig_unknown_extension,
15924 
15925 /*--- Included file: packet-qsig-ettarr.c ---*/
15926 #line 1 "./asn1/qsig/packet-qsig-ettarr.c"
15927 
15928 /* --- Modules Manufacturer-specific-service-extension-class-asn1-97 PSS1-generic-parameters-definition-asn1-97 Addressing-Data-Elements-asn1-97 --- --- --- */
15929 
15930     &ett_qsig_Extension,
15931     &ett_qsig_PresentedAddressScreened,
15932     &ett_qsig_PresentedAddressUnscreened,
15933     &ett_qsig_PresentedNumberScreened,
15934     &ett_qsig_PresentedNumberUnscreened,
15935     &ett_qsig_AddressScreened,
15936     &ett_qsig_NumberScreened,
15937     &ett_qsig_Address,
15938     &ett_qsig_PartyNumber,
15939     &ett_qsig_PublicPartyNumber,
15940     &ett_qsig_PrivatePartyNumber,
15941     &ett_qsig_PartySubaddress,
15942     &ett_qsig_UserSpecifiedSubaddress,
15943 
15944 /* --- Module Name-Operations-asn1-97 --- --- ---                             */
15945 
15946     &ett_qsig_na_NameArg,
15947     &ett_qsig_na_T_nameSequence,
15948     &ett_qsig_na_NameExtension,
15949     &ett_qsig_na_SEQUENCE_OF_Extension,
15950     &ett_qsig_na_Name,
15951     &ett_qsig_na_NamePresentationAllowed,
15952     &ett_qsig_na_NamePresentationRestricted,
15953     &ett_qsig_na_NameSet,
15954 
15955 /* --- Module Call-Diversion-Operations-asn1-97 --- --- ---                   */
15956 
15957     &ett_qsig_cf_ARG_activateDiversionQ,
15958     &ett_qsig_cf_ADExtension,
15959     &ett_qsig_cf_SEQUENCE_OF_Extension,
15960     &ett_qsig_cf_RES_activateDiversionQ,
15961     &ett_qsig_cf_ARG_deactivateDiversionQ,
15962     &ett_qsig_cf_DDExtension,
15963     &ett_qsig_cf_RES_deactivateDiversionQ,
15964     &ett_qsig_cf_ARG_interrogateDiversionQ,
15965     &ett_qsig_cf_IDExtension,
15966     &ett_qsig_cf_ARG_checkRestriction,
15967     &ett_qsig_cf_CHRExtension,
15968     &ett_qsig_cf_RES_checkRestriction,
15969     &ett_qsig_cf_ARG_callRerouteing,
15970     &ett_qsig_cf_CRRExtension,
15971     &ett_qsig_cf_RES_callRerouteing,
15972     &ett_qsig_cf_ARG_divertingLegInformation1,
15973     &ett_qsig_cf_DLI1Extension,
15974     &ett_qsig_cf_ARG_divertingLegInformation2,
15975     &ett_qsig_cf_DLI2Extension,
15976     &ett_qsig_cf_ARG_divertingLegInformation3,
15977     &ett_qsig_cf_DLI3Extension,
15978     &ett_qsig_cf_ARG_cfnrDivertedLegFailed,
15979     &ett_qsig_cf_IntResultList,
15980     &ett_qsig_cf_IntResult,
15981     &ett_qsig_cf_IRExtension,
15982 
15983 /* --- Module Path-Replacement-Operations-asn1-97 --- --- ---                 */
15984 
15985     &ett_qsig_pr_PRProposeArg,
15986     &ett_qsig_pr_PRPExtension,
15987     &ett_qsig_pr_SEQUENCE_OF_Extension,
15988     &ett_qsig_pr_PRSetupArg,
15989     &ett_qsig_pr_PRSExtension,
15990     &ett_qsig_pr_PRRetainArg,
15991     &ett_qsig_pr_PRRExtension,
15992     &ett_qsig_pr_DummyResult,
15993     &ett_qsig_pr_DummyArg,
15994 
15995 /* --- Module Call-Transfer-Operations-asn1-97 --- --- ---                    */
15996 
15997     &ett_qsig_ct_DummyArg,
15998     &ett_qsig_ct_SEQUENCE_OF_Extension,
15999     &ett_qsig_ct_DummyRes,
16000     &ett_qsig_ct_CTIdentifyRes,
16001     &ett_qsig_ct_T_resultExtension,
16002     &ett_qsig_ct_CTInitiateArg,
16003     &ett_qsig_ct_CTIargumentExtension,
16004     &ett_qsig_ct_CTSetupArg,
16005     &ett_qsig_ct_CTSargumentExtension,
16006     &ett_qsig_ct_CTActiveArg,
16007     &ett_qsig_ct_CTAargumentExtension,
16008     &ett_qsig_ct_CTCompleteArg,
16009     &ett_qsig_ct_CTCargumentExtension,
16010     &ett_qsig_ct_CTUpdateArg,
16011     &ett_qsig_ct_CTUargumentExtension,
16012     &ett_qsig_ct_SubaddressTransferArg,
16013     &ett_qsig_ct_STargumentExtension,
16014 
16015 /* --- Module SS-CC-Operations-asn1-97 --- --- ---                            */
16016 
16017     &ett_qsig_cc_CcRequestArg,
16018     &ett_qsig_cc_CcRequestRes,
16019     &ett_qsig_cc_CcOptionalArg,
16020     &ett_qsig_cc_T_fullArg,
16021     &ett_qsig_cc_CcExtension,
16022     &ett_qsig_cc_SEQUENCE_OF_Extension,
16023 
16024 /* --- Module Call-Offer-Operations-asn1-97 --- --- ---                       */
16025 
16026     &ett_qsig_co_PathRetainArg,
16027     &ett_qsig_co_T_extendedServiceList,
16028     &ett_qsig_co_ServiceAvailableArg,
16029     &ett_qsig_co_T_extendedServiceList_01,
16030     &ett_qsig_co_ServiceList,
16031     &ett_qsig_co_DummyArg,
16032     &ett_qsig_co_SEQUENCE_OF_Extension,
16033     &ett_qsig_co_DummyRes,
16034 
16035 /* --- Module Do-Not-Disturb-Operations-asn1-97 --- --- ---                   */
16036 
16037     &ett_qsig_dnd_DummyArg,
16038     &ett_qsig_dnd_SEQUENCE_OF_Extension,
16039     &ett_qsig_dnd_DummyRes,
16040     &ett_qsig_dnd_DNDActivateArg,
16041     &ett_qsig_dnd_DNDAargumentExtension,
16042     &ett_qsig_dnd_DNDActivateRes,
16043     &ett_qsig_dnd_T_status,
16044     &ett_qsig_dnd_T_status_item,
16045     &ett_qsig_dnd_T_resultExtension,
16046     &ett_qsig_dnd_DNDDeactivateArg,
16047     &ett_qsig_dnd_DNDDargumentExtension,
16048     &ett_qsig_dnd_DNDInterrogateArg,
16049     &ett_qsig_dnd_DNDIargumentExtension,
16050     &ett_qsig_dnd_DNDInterrogateRes,
16051     &ett_qsig_dnd_T_status_01,
16052     &ett_qsig_dnd_T_status_item_01,
16053     &ett_qsig_dnd_T_resultExtension_01,
16054     &ett_qsig_dnd_DNDOverrideArg,
16055     &ett_qsig_dnd_DNDOargumentExtension,
16056     &ett_qsig_dnd_PathRetainArg,
16057     &ett_qsig_dnd_T_extendedServiceList,
16058     &ett_qsig_dnd_ServiceAvailableArg,
16059     &ett_qsig_dnd_T_extendedServiceList_01,
16060     &ett_qsig_dnd_ServiceList,
16061 
16062 /* --- Module Call-Intrusion-Operations-asn1-97 --- --- ---                   */
16063 
16064     &ett_qsig_ci_PathRetainArg,
16065     &ett_qsig_ci_T_extendedServiceList,
16066     &ett_qsig_ci_ServiceAvailableArg,
16067     &ett_qsig_ci_T_extendedServiceList_01,
16068     &ett_qsig_ci_ServiceList,
16069     &ett_qsig_ci_DummyArg,
16070     &ett_qsig_ci_SEQUENCE_OF_Extension,
16071     &ett_qsig_ci_DummyRes,
16072     &ett_qsig_ci_CIRequestArg,
16073     &ett_qsig_ci_T_argumentExtension,
16074     &ett_qsig_ci_CIRequestRes,
16075     &ett_qsig_ci_T_resultExtension,
16076     &ett_qsig_ci_CIGetCIPLRes,
16077     &ett_qsig_ci_T_resultExtension_01,
16078 
16079 /* --- Module SS-AOC-Operations-asn1-97 --- --- ---                           */
16080 
16081     &ett_qsig_aoc_AocRateArg,
16082     &ett_qsig_aoc_T_aocRate,
16083     &ett_qsig_aoc_T_rateArgExtension,
16084     &ett_qsig_aoc_SEQUENCE_OF_Extension,
16085     &ett_qsig_aoc_AocInterimArg,
16086     &ett_qsig_aoc_T_interimCharge,
16087     &ett_qsig_aoc_T_specificCurrency,
16088     &ett_qsig_aoc_T_interimArgExtension,
16089     &ett_qsig_aoc_AocFinalArg,
16090     &ett_qsig_aoc_T_finalCharge,
16091     &ett_qsig_aoc_T_specificCurrency_01,
16092     &ett_qsig_aoc_T_finalArgExtension,
16093     &ett_qsig_aoc_AOCSCurrencyInfoList,
16094     &ett_qsig_aoc_AOCSCurrencyInfo,
16095     &ett_qsig_aoc_T_rateType,
16096     &ett_qsig_aoc_DurationCurrency,
16097     &ett_qsig_aoc_FlatRateCurrency,
16098     &ett_qsig_aoc_VolumeRateCurrency,
16099     &ett_qsig_aoc_RecordedCurrency,
16100     &ett_qsig_aoc_Amount,
16101     &ett_qsig_aoc_Time,
16102     &ett_qsig_aoc_ChargingAssociation,
16103     &ett_qsig_aoc_ChargeRequestArg,
16104     &ett_qsig_aoc_SEQUENCE_SIZE_0_7_OF_AdviceModeCombination,
16105     &ett_qsig_aoc_T_chargeReqArgExtension,
16106     &ett_qsig_aoc_ChargeRequestRes,
16107     &ett_qsig_aoc_T_chargeReqResExtension,
16108     &ett_qsig_aoc_DummyArg,
16109     &ett_qsig_aoc_AocCompleteArg,
16110     &ett_qsig_aoc_T_completeArgExtension,
16111     &ett_qsig_aoc_AocCompleteRes,
16112     &ett_qsig_aoc_T_completeResExtension,
16113     &ett_qsig_aoc_AocDivChargeReqArg,
16114     &ett_qsig_aoc_T_aocDivChargeReqArgExt,
16115 
16116 /* --- Module Recall-Operations-asn1-97 --- --- ---                           */
16117 
16118     &ett_qsig_re_ReAlertingArg,
16119     &ett_qsig_re_T_argumentExtension,
16120     &ett_qsig_re_SEQUENCE_OF_Extension,
16121     &ett_qsig_re_ReAnswerArg,
16122     &ett_qsig_re_T_argumentExtension_01,
16123 
16124 /* --- Module Synchronization-Operations-asn1-97 --- --- ---                  */
16125 
16126     &ett_qsig_sync_SynchronizationReqArg,
16127     &ett_qsig_sync_SynchronizationReqRes,
16128     &ett_qsig_sync_SynchronizationInfoArg,
16129     &ett_qsig_sync_ArgExtension,
16130     &ett_qsig_sync_SEQUENCE_OF_Extension,
16131 
16132 /* --- Module Call-Interception-Operations-asn1-97 --- --- ---                */
16133 
16134     &ett_qsig_cint_CintInformation1Arg,
16135     &ett_qsig_cint_CintInformation2Arg,
16136     &ett_qsig_cint_CintCondArg,
16137     &ett_qsig_cint_CintExtension,
16138     &ett_qsig_cint_SEQUENCE_OF_Extension,
16139 
16140 /* --- Module Common-Information-Operations-asn1-97 --- --- ---               */
16141 
16142     &ett_qsig_cmn_CmnArg,
16143     &ett_qsig_cmn_T_extension,
16144     &ett_qsig_cmn_SEQUENCE_OF_Extension,
16145     &ett_qsig_cmn_DummyArg,
16146     &ett_qsig_cmn_FeatureIdList,
16147     &ett_qsig_cmn_EquipmentId,
16148 
16149 /* --- Module Call-Interruption-Operations-asn1-97 --- --- ---                */
16150 
16151     &ett_qsig_cpi_CPIRequestArg,
16152     &ett_qsig_cpi_T_argumentExtension,
16153     &ett_qsig_cpi_SEQUENCE_OF_Extension,
16154     &ett_qsig_cpi_CPIPRequestArg,
16155     &ett_qsig_cpi_T_argumentExtension_01,
16156 
16157 /* --- Module PUM-Registration-Operations-asn1-97 --- --- ---                 */
16158 
16159     &ett_qsig_pumr_PumRegistrArg,
16160     &ett_qsig_pumr_RpumUserId,
16161     &ett_qsig_pumr_T_userPin,
16162     &ett_qsig_pumr_PumRegistrRes,
16163     &ett_qsig_pumr_DummyRes,
16164     &ett_qsig_pumr_SEQUENCE_OF_Extension,
16165     &ett_qsig_pumr_PumDelRegArg,
16166     &ett_qsig_pumr_XpumUserId,
16167     &ett_qsig_pumr_PumDe_regArg,
16168     &ett_qsig_pumr_DpumUserId,
16169     &ett_qsig_pumr_T_userPin_01,
16170     &ett_qsig_pumr_PumInterrogArg,
16171     &ett_qsig_pumr_IpumUserId,
16172     &ett_qsig_pumr_T_userPin_02,
16173     &ett_qsig_pumr_PumInterrogRes,
16174     &ett_qsig_pumr_PumInterrogRes_item,
16175     &ett_qsig_pumr_SessionParams,
16176     &ett_qsig_pumr_PumrExtension,
16177 
16178 /* --- Module Private-User-Mobility-Call-Handling-Operations-asn1-97 --- --- --- */
16179 
16180     &ett_qsig_pumch_EnquiryArg,
16181     &ett_qsig_pumch_DivertArg,
16182     &ett_qsig_pumch_InformArg,
16183     &ett_qsig_pumch_EnquiryRes,
16184     &ett_qsig_pumch_CurrLocation,
16185     &ett_qsig_pumch_CfuActivated,
16186     &ett_qsig_pumch_DummyRes,
16187     &ett_qsig_pumch_SEQUENCE_OF_Extension,
16188     &ett_qsig_pumch_PumiExtension,
16189     &ett_qsig_pumch_PumIdentity,
16190     &ett_qsig_pumch_T_both,
16191     &ett_qsig_pumch_PumoArg,
16192     &ett_qsig_pumch_T_pumoaextension,
16193 
16194 /* --- Module Single-Step-Call-Transfer-Operations-asn1-97 --- --- ---        */
16195 
16196     &ett_qsig_ssct_DummyArg,
16197     &ett_qsig_ssct_SEQUENCE_OF_Extension,
16198     &ett_qsig_ssct_DummyRes,
16199     &ett_qsig_ssct_SSCTInitiateArg,
16200     &ett_qsig_ssct_SSCTIargumentExtension,
16201     &ett_qsig_ssct_SSCTSetupArg,
16202     &ett_qsig_ssct_SSCTSargumentExtension,
16203     &ett_qsig_ssct_SSCTDigitInfoArg,
16204     &ett_qsig_ssct_SSCTDargumentExtension,
16205 
16206 /* --- Module WTM-Location-Registration-Operations-asn1-97 --- --- ---        */
16207 
16208     &ett_qsig_wtmlr_LocUpdArg,
16209     &ett_qsig_wtmlr_DummyRes,
16210     &ett_qsig_wtmlr_SEQUENCE_OF_Extension,
16211     &ett_qsig_wtmlr_LocDelArg,
16212     &ett_qsig_wtmlr_LocDeRegArg,
16213     &ett_qsig_wtmlr_PisnEnqArg,
16214     &ett_qsig_wtmlr_PisnEnqRes,
16215     &ett_qsig_wtmlr_GetRRCInfArg,
16216     &ett_qsig_wtmlr_GetRRCInfRes,
16217     &ett_qsig_wtmlr_LocInfoCheckArg,
16218     &ett_qsig_wtmlr_LocInfoCheckRes,
16219     &ett_qsig_wtmlr_WtmUserId,
16220     &ett_qsig_wtmlr_LrExtension,
16221 
16222 /* --- Module Wireless-Terminal-Call-Handling-Operations-asn1-97 --- --- ---  */
16223 
16224     &ett_qsig_wtmch_EnquiryArg,
16225     &ett_qsig_wtmch_DivertArg,
16226     &ett_qsig_wtmch_InformArg,
16227     &ett_qsig_wtmch_EnquiryRes,
16228     &ett_qsig_wtmch_CurrLocation,
16229     &ett_qsig_wtmch_CfuActivated,
16230     &ett_qsig_wtmch_DummyRes,
16231     &ett_qsig_wtmch_SEQUENCE_OF_Extension,
16232     &ett_qsig_wtmch_WtmiExtension,
16233     &ett_qsig_wtmch_WtmIdentity,
16234     &ett_qsig_wtmch_T_both,
16235     &ett_qsig_wtmch_WtmoArg,
16236     &ett_qsig_wtmch_T_wtmoaextension,
16237 
16238 /* --- Module WTM-Authentication-Operations-asn1-97 --- --- ---               */
16239 
16240     &ett_qsig_wtmau_AuthWtmArg,
16241     &ett_qsig_wtmau_AuthWtmRes,
16242     &ett_qsig_wtmau_WtatParamArg,
16243     &ett_qsig_wtmau_WtatParamRes,
16244     &ett_qsig_wtmau_WtanParamArg,
16245     &ett_qsig_wtmau_WtmUserId,
16246     &ett_qsig_wtmau_WtanParamRes,
16247     &ett_qsig_wtmau_ARG_transferAuthParam,
16248     &ett_qsig_wtmau_WtatParamInfo,
16249     &ett_qsig_wtmau_T_wtatParamInfoChoice,
16250     &ett_qsig_wtmau_WtanParamInfo,
16251     &ett_qsig_wtmau_AuthSessionKeyInfo,
16252     &ett_qsig_wtmau_CalcWtatInfo,
16253     &ett_qsig_wtmau_CalcWtatInfoUnit,
16254     &ett_qsig_wtmau_CalcWtanInfo,
16255     &ett_qsig_wtmau_DummyExtension,
16256     &ett_qsig_wtmau_SEQUENCE_OF_Extension,
16257     &ett_qsig_wtmau_AuthAlgorithm,
16258 
16259 /* --- Module SS-SD-Operations-asn1-97 --- --- ---                            */
16260 
16261     &ett_qsig_sd_DisplayArg,
16262     &ett_qsig_sd_DisplayString,
16263     &ett_qsig_sd_KeypadArg,
16264     &ett_qsig_sd_SDExtension,
16265     &ett_qsig_sd_SEQUENCE_OF_Extension,
16266 
16267 /* --- Module Call-Identification-and-Call-Linkage-Operations-asn1-97 --- --- --- */
16268 
16269     &ett_qsig_cidl_CallIdentificationAssignArg,
16270     &ett_qsig_cidl_CallIdentificationUpdateArg,
16271     &ett_qsig_cidl_CallIdentificationData,
16272     &ett_qsig_cidl_T_linkageID,
16273     &ett_qsig_cidl_ExtensionType,
16274     &ett_qsig_cidl_SEQUENCE_OF_Extension,
16275 
16276 /* --- Module Short-Message-Service-Operations-asn1-97 --- --- ---            */
16277 
16278     &ett_qsig_sms_SmsSubmitArg,
16279     &ett_qsig_sms_SmsSubmitRes,
16280     &ett_qsig_sms_SmsDeliverArg,
16281     &ett_qsig_sms_SmsDeliverRes,
16282     &ett_qsig_sms_SmsStatusReportArg,
16283     &ett_qsig_sms_SmsStatusReportRes,
16284     &ett_qsig_sms_SmsCommandArg,
16285     &ett_qsig_sms_SmsCommandRes,
16286     &ett_qsig_sms_ScAlertArg,
16287     &ett_qsig_sms_DummyRes,
16288     &ett_qsig_sms_SmSubmitParameter,
16289     &ett_qsig_sms_SmDeliverParameter,
16290     &ett_qsig_sms_SmsDeliverResChoice,
16291     &ett_qsig_sms_ResChoiceSeq,
16292     &ett_qsig_sms_SmsStatusReportResponseChoice,
16293     &ett_qsig_sms_SmsExtension,
16294     &ett_qsig_sms_SEQUENCE_OF_Extension,
16295     &ett_qsig_sms_ValidityPeriod,
16296     &ett_qsig_sms_ValidityPeriodEnh,
16297     &ett_qsig_sms_EnhancedVP,
16298     &ett_qsig_sms_UserData,
16299     &ett_qsig_sms_ShortMessageText,
16300     &ett_qsig_sms_UserDataHeader,
16301     &ett_qsig_sms_UserDataHeaderChoice,
16302     &ett_qsig_sms_SmscControlParameterHeader,
16303     &ett_qsig_sms_Concatenated8BitSMHeader,
16304     &ett_qsig_sms_Concatenated16BitSMHeader,
16305     &ett_qsig_sms_ApplicationPort8BitHeader,
16306     &ett_qsig_sms_ApplicationPort16BitHeader,
16307     &ett_qsig_sms_GenericUserValue,
16308     &ett_qsig_sms_PAR_smsDeliverError,
16309     &ett_qsig_sms_PAR_smsSubmitError,
16310     &ett_qsig_sms_PAR_smsStatusReportError,
16311     &ett_qsig_sms_PAR_smsCommandError,
16312 
16313 /* --- Module SS-MCR-Operations-asn97 --- --- ---                             */
16314 
16315     &ett_qsig_mcr_MCRequestArg,
16316     &ett_qsig_mcr_MCRequestResult,
16317     &ett_qsig_mcr_MCInformArg,
16318     &ett_qsig_mcr_MCAlertingArg,
16319     &ett_qsig_mcr_CallType,
16320     &ett_qsig_mcr_Correlation,
16321     &ett_qsig_mcr_MCRExtensions,
16322     &ett_qsig_mcr_SEQUENCE_OF_Extension,
16323 
16324 /* --- Module SS-MCM-Operations-asn1-97 --- --- ---                           */
16325 
16326     &ett_qsig_mcm_MCMailboxFullArg,
16327     &ett_qsig_mcm_MailboxFullFor,
16328     &ett_qsig_mcm_MailboxFullPar,
16329     &ett_qsig_mcm_MCMServiceArg,
16330     &ett_qsig_mcm_MCMChange,
16331     &ett_qsig_mcm_SEQUENCE_OF_MCMServiceInfo,
16332     &ett_qsig_mcm_SEQUENCE_OF_MessageType,
16333     &ett_qsig_mcm_MCMServiceInfo,
16334     &ett_qsig_mcm_MCMInterrogateArg,
16335     &ett_qsig_mcm_MCMInterrogateRes,
16336     &ett_qsig_mcm_MCMNewMsgArg,
16337     &ett_qsig_mcm_MCMNewArgumentExt,
16338     &ett_qsig_mcm_SEQUENCE_OF_Extension,
16339     &ett_qsig_mcm_MCMNoNewMsgArg,
16340     &ett_qsig_mcm_MCMNoNewArgumentExt,
16341     &ett_qsig_mcm_MCMUpdateArg,
16342     &ett_qsig_mcm_MCMUpdateReqArg,
16343     &ett_qsig_mcm_MCMUpdArgArgumentExt,
16344     &ett_qsig_mcm_MCMUpdateReqRes,
16345     &ett_qsig_mcm_MCMUpdateReqResElt,
16346     &ett_qsig_mcm_MCMUpdResArgumentExt,
16347     &ett_qsig_mcm_PartyInfo,
16348     &ett_qsig_mcm_UpdateInfo,
16349     &ett_qsig_mcm_AllMsgInfo,
16350     &ett_qsig_mcm_MessageInfo,
16351     &ett_qsig_mcm_CompleteInfo,
16352     &ett_qsig_mcm_AddressHeader,
16353     &ett_qsig_mcm_CompressedInfo,
16354     &ett_qsig_mcm_MsgCentreId,
16355     &ett_qsig_mcm_MCMExtensions,
16356 
16357 /* --- Module SS-MID-Operations-asn1-97 --- --- ---                           */
16358 
16359     &ett_qsig_mid_MIDMailboxAuthArg,
16360     &ett_qsig_mid_MIDMailboxIDArg,
16361     &ett_qsig_mid_PartyInfo,
16362     &ett_qsig_mid_String,
16363     &ett_qsig_mid_MIDExtensions,
16364     &ett_qsig_mid_SEQUENCE_OF_Extension,
16365 
16366 /*--- End of included file: packet-qsig-ettarr.c ---*/
16367 #line 641 "./asn1/qsig/packet-qsig-template.c"
16368     &ett_cnq_PSS1InformationElement,
16369   };
16370 
16371   static ei_register_info ei[] = {
16372 #if 0
16373     { &ei_qsig_unsupported_arg_type, { "qsig.unsupported.arg_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ARGUMENT TYPE (QSIG)", EXPFILL }},
16374 #endif
16375     { &ei_qsig_unsupported_result_type, { "qsig.unsupported.result_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED RESULT TYPE (QSIG)", EXPFILL }},
16376     { &ei_qsig_unsupported_error_type, { "qsig.unsupported.error_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ERROR TYPE (QSIG)", EXPFILL }},
16377   };
16378 
16379   expert_module_t* expert_qsig;
16380 
16381   /* Register protocol and dissector */
16382   proto_qsig = proto_register_protocol(PNAME, PSNAME, PFNAME);
16383 
16384   /* Register fields and subtrees */
16385   proto_register_field_array(proto_qsig, hf, array_length(hf));
16386   proto_register_subtree_array(ett, array_length(ett));
16387   expert_qsig = expert_register_protocol(proto_qsig);
16388   expert_register_field_array(expert_qsig, ei, array_length(ei));
16389 
16390   /* Register dissector tables */
16391   extension_dissector_table = register_dissector_table("qsig.ext", "QSIG Extension", proto_qsig, FT_STRING, BASE_NONE);
16392 }
16393 
16394 
16395 /*--- proto_reg_handoff_qsig ------------------------------------------------*/
proto_reg_handoff_qsig(void)16396 void proto_reg_handoff_qsig(void) {
16397   int i;
16398   gchar *oid;
16399   dissector_handle_t q931_handle;
16400   dissector_handle_t qsig_arg_handle;
16401   dissector_handle_t qsig_res_handle;
16402   dissector_handle_t qsig_err_handle;
16403   dissector_handle_t qsig_ie_handle;
16404 
16405   q931_handle = find_dissector_add_dependency("q931", proto_qsig);
16406   q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_qsig);
16407 
16408   qsig_arg_handle = create_dissector_handle(dissect_qsig_arg, proto_qsig);
16409   qsig_res_handle = create_dissector_handle(dissect_qsig_res, proto_qsig);
16410   for (i=0; i<(int)array_length(qsig_op_tab); i++) {
16411     dissector_add_uint("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle);
16412     dissector_add_uint("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle);
16413 
16414     oid = wmem_strdup_printf(NULL, "1.3.12.9.%d", qsig_op_tab[i].opcode);
16415     dissector_add_string("q932.ros.global.arg", oid, qsig_arg_handle);
16416     dissector_add_string("q932.ros.global.res", oid, qsig_res_handle);
16417     wmem_free(NULL, oid);
16418   }
16419   qsig_err_handle = create_dissector_handle(dissect_qsig_err, proto_qsig);
16420   for (i=0; i<(int)array_length(qsig_err_tab); i++) {
16421     dissector_add_uint("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle);
16422   }
16423 
16424   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs4, proto_qsig);
16425   /* QSIG-TC - Transit counter */
16426   dissector_add_uint("q931.ie", CS4 | QSIG_IE_TRANSIT_COUNTER, qsig_ie_handle);
16427 
16428   qsig_ie_handle = create_dissector_handle(dissect_qsig_ie_cs5, proto_qsig);
16429   /* SSIG-BC - Party category */
16430   dissector_add_uint("q931.ie", CS5 | QSIG_IE_PARTY_CATEGORY, qsig_ie_handle);
16431 
16432   /* RFC 3204, 3.2 QSIG Media Type */
16433   dissector_add_string("media_type", "application/qsig", q931_handle);
16434 
16435 }
16436 
16437 /*---------------------------------------------------------------------------*/
16438