Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nf_conntrack_h323_types.c
Go to the documentation of this file.
1 /* Generated by Jing Min Zhao's ASN.1 parser, May 16 2007
2  *
3  * Copyright (c) 2006 Jing Min Zhao <[email protected]>
4  *
5  * This source code is licensed under General Public License version 2.
6  */
7 
8 static const struct field_t _TransportAddress_ipAddress[] = { /* SEQUENCE */
9  {FNAME("ip") OCTSTR, FIXD, 4, 0, DECODE,
11  {FNAME("port") INT, WORD, 0, 0, SKIP, 0, NULL},
12 };
13 
14 static const struct field_t _TransportAddress_ipSourceRoute_route[] = { /* SEQUENCE OF */
15  {FNAME("item") OCTSTR, FIXD, 4, 0, SKIP, 0, NULL},
16 };
17 
18 static const struct field_t _TransportAddress_ipSourceRoute_routing[] = { /* CHOICE */
19  {FNAME("strict") NUL, FIXD, 0, 0, SKIP, 0, NULL},
20  {FNAME("loose") NUL, FIXD, 0, 0, SKIP, 0, NULL},
21 };
22 
23 static const struct field_t _TransportAddress_ipSourceRoute[] = { /* SEQUENCE */
24  {FNAME("ip") OCTSTR, FIXD, 4, 0, SKIP, 0, NULL},
25  {FNAME("port") INT, WORD, 0, 0, SKIP, 0, NULL},
26  {FNAME("route") SEQOF, SEMI, 0, 0, SKIP, 0,
27  _TransportAddress_ipSourceRoute_route},
28  {FNAME("routing") CHOICE, 1, 2, 2, SKIP | EXT, 0,
29  _TransportAddress_ipSourceRoute_routing},
30 };
31 
32 static const struct field_t _TransportAddress_ipxAddress[] = { /* SEQUENCE */
33  {FNAME("node") OCTSTR, FIXD, 6, 0, SKIP, 0, NULL},
34  {FNAME("netnum") OCTSTR, FIXD, 4, 0, SKIP, 0, NULL},
35  {FNAME("port") OCTSTR, FIXD, 2, 0, SKIP, 0, NULL},
36 };
37 
38 static const struct field_t _TransportAddress_ip6Address[] = { /* SEQUENCE */
39  {FNAME("ip") OCTSTR, FIXD, 16, 0, DECODE,
41  {FNAME("port") INT, WORD, 0, 0, SKIP, 0, NULL},
42 };
43 
44 static const struct field_t _H221NonStandard[] = { /* SEQUENCE */
45  {FNAME("t35CountryCode") INT, BYTE, 0, 0, SKIP, 0, NULL},
46  {FNAME("t35Extension") INT, BYTE, 0, 0, SKIP, 0, NULL},
47  {FNAME("manufacturerCode") INT, WORD, 0, 0, SKIP, 0, NULL},
48 };
49 
50 static const struct field_t _NonStandardIdentifier[] = { /* CHOICE */
51  {FNAME("object") OID, BYTE, 0, 0, SKIP, 0, NULL},
52  {FNAME("h221NonStandard") SEQ, 0, 3, 3, SKIP | EXT, 0,
53  _H221NonStandard},
54 };
55 
56 static const struct field_t _NonStandardParameter[] = { /* SEQUENCE */
57  {FNAME("nonStandardIdentifier") CHOICE, 1, 2, 2, SKIP | EXT, 0,
58  _NonStandardIdentifier},
59  {FNAME("data") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
60 };
61 
62 static const struct field_t _TransportAddress[] = { /* CHOICE */
63  {FNAME("ipAddress") SEQ, 0, 2, 2, DECODE,
64  offsetof(TransportAddress, ipAddress), _TransportAddress_ipAddress},
65  {FNAME("ipSourceRoute") SEQ, 0, 4, 4, SKIP | EXT, 0,
66  _TransportAddress_ipSourceRoute},
67  {FNAME("ipxAddress") SEQ, 0, 3, 3, SKIP, 0,
68  _TransportAddress_ipxAddress},
69  {FNAME("ip6Address") SEQ, 0, 2, 2, DECODE | EXT,
70  offsetof(TransportAddress, ip6Address),
71  _TransportAddress_ip6Address},
72  {FNAME("netBios") OCTSTR, FIXD, 16, 0, SKIP, 0, NULL},
73  {FNAME("nsap") OCTSTR, 5, 1, 0, SKIP, 0, NULL},
74  {FNAME("nonStandardAddress") SEQ, 0, 2, 2, SKIP, 0,
75  _NonStandardParameter},
76 };
77 
78 static const struct field_t _AliasAddress[] = { /* CHOICE */
79  {FNAME("dialedDigits") NUMDGT, 7, 1, 0, SKIP, 0, NULL},
80  {FNAME("h323-ID") BMPSTR, BYTE, 1, 0, SKIP, 0, NULL},
81  {FNAME("url-ID") IA5STR, WORD, 1, 0, SKIP, 0, NULL},
82  {FNAME("transportID") CHOICE, 3, 7, 7, SKIP | EXT, 0, NULL},
83  {FNAME("email-ID") IA5STR, WORD, 1, 0, SKIP, 0, NULL},
84  {FNAME("partyNumber") CHOICE, 3, 5, 5, SKIP | EXT, 0, NULL},
85  {FNAME("mobileUIM") CHOICE, 1, 2, 2, SKIP | EXT, 0, NULL},
86 };
87 
88 static const struct field_t _Setup_UUIE_sourceAddress[] = { /* SEQUENCE OF */
89  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
90 };
91 
92 static const struct field_t _VendorIdentifier[] = { /* SEQUENCE */
93  {FNAME("vendor") SEQ, 0, 3, 3, SKIP | EXT, 0, _H221NonStandard},
94  {FNAME("productId") OCTSTR, BYTE, 1, 0, SKIP | OPT, 0, NULL},
95  {FNAME("versionId") OCTSTR, BYTE, 1, 0, SKIP | OPT, 0, NULL},
96 };
97 
98 static const struct field_t _GatekeeperInfo[] = { /* SEQUENCE */
99  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
100  _NonStandardParameter},
101 };
102 
103 static const struct field_t _H310Caps[] = { /* SEQUENCE */
104  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
105  _NonStandardParameter},
106  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
107  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
108 };
109 
110 static const struct field_t _H320Caps[] = { /* SEQUENCE */
111  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
112  _NonStandardParameter},
113  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
114  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
115 };
116 
117 static const struct field_t _H321Caps[] = { /* SEQUENCE */
118  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
119  _NonStandardParameter},
120  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
121  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
122 };
123 
124 static const struct field_t _H322Caps[] = { /* SEQUENCE */
125  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
126  _NonStandardParameter},
127  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
128  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
129 };
130 
131 static const struct field_t _H323Caps[] = { /* SEQUENCE */
132  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
133  _NonStandardParameter},
134  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
135  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
136 };
137 
138 static const struct field_t _H324Caps[] = { /* SEQUENCE */
139  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
140  _NonStandardParameter},
141  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
142  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
143 };
144 
145 static const struct field_t _VoiceCaps[] = { /* SEQUENCE */
146  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
147  _NonStandardParameter},
148  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
149  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
150 };
151 
152 static const struct field_t _T120OnlyCaps[] = { /* SEQUENCE */
153  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
154  _NonStandardParameter},
155  {FNAME("dataRatesSupported") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
156  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, SKIP, 0, NULL},
157 };
158 
159 static const struct field_t _SupportedProtocols[] = { /* CHOICE */
160  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP, 0,
161  _NonStandardParameter},
162  {FNAME("h310") SEQ, 1, 1, 3, SKIP | EXT, 0, _H310Caps},
163  {FNAME("h320") SEQ, 1, 1, 3, SKIP | EXT, 0, _H320Caps},
164  {FNAME("h321") SEQ, 1, 1, 3, SKIP | EXT, 0, _H321Caps},
165  {FNAME("h322") SEQ, 1, 1, 3, SKIP | EXT, 0, _H322Caps},
166  {FNAME("h323") SEQ, 1, 1, 3, SKIP | EXT, 0, _H323Caps},
167  {FNAME("h324") SEQ, 1, 1, 3, SKIP | EXT, 0, _H324Caps},
168  {FNAME("voice") SEQ, 1, 1, 3, SKIP | EXT, 0, _VoiceCaps},
169  {FNAME("t120-only") SEQ, 1, 1, 3, SKIP | EXT, 0, _T120OnlyCaps},
170  {FNAME("nonStandardProtocol") SEQ, 2, 3, 3, SKIP | EXT, 0, NULL},
171  {FNAME("t38FaxAnnexbOnly") SEQ, 2, 5, 5, SKIP | EXT, 0, NULL},
172 };
173 
174 static const struct field_t _GatewayInfo_protocol[] = { /* SEQUENCE OF */
175  {FNAME("item") CHOICE, 4, 9, 11, SKIP | EXT, 0, _SupportedProtocols},
176 };
177 
178 static const struct field_t _GatewayInfo[] = { /* SEQUENCE */
179  {FNAME("protocol") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
180  _GatewayInfo_protocol},
181  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
182  _NonStandardParameter},
183 };
184 
185 static const struct field_t _McuInfo[] = { /* SEQUENCE */
186  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
187  _NonStandardParameter},
188  {FNAME("protocol") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
189 };
190 
191 static const struct field_t _TerminalInfo[] = { /* SEQUENCE */
192  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
193  _NonStandardParameter},
194 };
195 
196 static const struct field_t _EndpointType[] = { /* SEQUENCE */
197  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
198  _NonStandardParameter},
199  {FNAME("vendor") SEQ, 2, 3, 3, SKIP | EXT | OPT, 0,
200  _VendorIdentifier},
201  {FNAME("gatekeeper") SEQ, 1, 1, 1, SKIP | EXT | OPT, 0,
202  _GatekeeperInfo},
203  {FNAME("gateway") SEQ, 2, 2, 2, SKIP | EXT | OPT, 0, _GatewayInfo},
204  {FNAME("mcu") SEQ, 1, 1, 2, SKIP | EXT | OPT, 0, _McuInfo},
205  {FNAME("terminal") SEQ, 1, 1, 1, SKIP | EXT | OPT, 0, _TerminalInfo},
206  {FNAME("mc") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
207  {FNAME("undefinedNode") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
208  {FNAME("set") BITSTR, FIXD, 32, 0, SKIP | OPT, 0, NULL},
209  {FNAME("supportedTunnelledProtocols") SEQOF, SEMI, 0, 0, SKIP | OPT,
210  0, NULL},
211 };
212 
213 static const struct field_t _Setup_UUIE_destinationAddress[] = { /* SEQUENCE OF */
214  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
215 };
216 
217 static const struct field_t _Setup_UUIE_destExtraCallInfo[] = { /* SEQUENCE OF */
218  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
219 };
220 
221 static const struct field_t _Setup_UUIE_destExtraCRV[] = { /* SEQUENCE OF */
222  {FNAME("item") INT, WORD, 0, 0, SKIP, 0, NULL},
223 };
224 
225 static const struct field_t _Setup_UUIE_conferenceGoal[] = { /* CHOICE */
226  {FNAME("create") NUL, FIXD, 0, 0, SKIP, 0, NULL},
227  {FNAME("join") NUL, FIXD, 0, 0, SKIP, 0, NULL},
228  {FNAME("invite") NUL, FIXD, 0, 0, SKIP, 0, NULL},
229  {FNAME("capability-negotiation") NUL, FIXD, 0, 0, SKIP, 0, NULL},
230  {FNAME("callIndependentSupplementaryService") NUL, FIXD, 0, 0, SKIP,
231  0, NULL},
232 };
233 
234 static const struct field_t _Q954Details[] = { /* SEQUENCE */
235  {FNAME("conferenceCalling") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
236  {FNAME("threePartyService") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
237 };
238 
239 static const struct field_t _QseriesOptions[] = { /* SEQUENCE */
240  {FNAME("q932Full") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
241  {FNAME("q951Full") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
242  {FNAME("q952Full") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
243  {FNAME("q953Full") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
244  {FNAME("q955Full") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
245  {FNAME("q956Full") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
246  {FNAME("q957Full") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
247  {FNAME("q954Info") SEQ, 0, 2, 2, SKIP | EXT, 0, _Q954Details},
248 };
249 
250 static const struct field_t _CallType[] = { /* CHOICE */
251  {FNAME("pointToPoint") NUL, FIXD, 0, 0, SKIP, 0, NULL},
252  {FNAME("oneToN") NUL, FIXD, 0, 0, SKIP, 0, NULL},
253  {FNAME("nToOne") NUL, FIXD, 0, 0, SKIP, 0, NULL},
254  {FNAME("nToN") NUL, FIXD, 0, 0, SKIP, 0, NULL},
255 };
256 
257 static const struct field_t _H245_NonStandardIdentifier_h221NonStandard[] = { /* SEQUENCE */
258  {FNAME("t35CountryCode") INT, BYTE, 0, 0, SKIP, 0, NULL},
259  {FNAME("t35Extension") INT, BYTE, 0, 0, SKIP, 0, NULL},
260  {FNAME("manufacturerCode") INT, WORD, 0, 0, SKIP, 0, NULL},
261 };
262 
263 static const struct field_t _H245_NonStandardIdentifier[] = { /* CHOICE */
264  {FNAME("object") OID, BYTE, 0, 0, SKIP, 0, NULL},
265  {FNAME("h221NonStandard") SEQ, 0, 3, 3, SKIP, 0,
266  _H245_NonStandardIdentifier_h221NonStandard},
267 };
268 
269 static const struct field_t _H245_NonStandardParameter[] = { /* SEQUENCE */
270  {FNAME("nonStandardIdentifier") CHOICE, 1, 2, 2, SKIP, 0,
271  _H245_NonStandardIdentifier},
272  {FNAME("data") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
273 };
274 
275 static const struct field_t _H261VideoCapability[] = { /* SEQUENCE */
276  {FNAME("qcifMPI") INT, 2, 1, 0, SKIP | OPT, 0, NULL},
277  {FNAME("cifMPI") INT, 2, 1, 0, SKIP | OPT, 0, NULL},
278  {FNAME("temporalSpatialTradeOffCapability") BOOL, FIXD, 0, 0, SKIP, 0,
279  NULL},
280  {FNAME("maxBitRate") INT, WORD, 1, 0, SKIP, 0, NULL},
281  {FNAME("stillImageTransmission") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
282  {FNAME("videoBadMBsCap") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
283 };
284 
285 static const struct field_t _H262VideoCapability[] = { /* SEQUENCE */
286  {FNAME("profileAndLevel-SPatML") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
287  {FNAME("profileAndLevel-MPatLL") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
288  {FNAME("profileAndLevel-MPatML") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
289  {FNAME("profileAndLevel-MPatH-14") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
290  {FNAME("profileAndLevel-MPatHL") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
291  {FNAME("profileAndLevel-SNRatLL") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
292  {FNAME("profileAndLevel-SNRatML") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
293  {FNAME("profileAndLevel-SpatialatH-14") BOOL, FIXD, 0, 0, SKIP, 0,
294  NULL},
295  {FNAME("profileAndLevel-HPatML") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
296  {FNAME("profileAndLevel-HPatH-14") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
297  {FNAME("profileAndLevel-HPatHL") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
298  {FNAME("videoBitRate") INT, CONS, 0, 0, SKIP | OPT, 0, NULL},
299  {FNAME("vbvBufferSize") INT, CONS, 0, 0, SKIP | OPT, 0, NULL},
300  {FNAME("samplesPerLine") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
301  {FNAME("linesPerFrame") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
302  {FNAME("framesPerSecond") INT, 4, 0, 0, SKIP | OPT, 0, NULL},
303  {FNAME("luminanceSampleRate") INT, CONS, 0, 0, SKIP | OPT, 0, NULL},
304  {FNAME("videoBadMBsCap") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
305 };
306 
307 static const struct field_t _H263VideoCapability[] = { /* SEQUENCE */
308  {FNAME("sqcifMPI") INT, 5, 1, 0, SKIP | OPT, 0, NULL},
309  {FNAME("qcifMPI") INT, 5, 1, 0, SKIP | OPT, 0, NULL},
310  {FNAME("cifMPI") INT, 5, 1, 0, SKIP | OPT, 0, NULL},
311  {FNAME("cif4MPI") INT, 5, 1, 0, SKIP | OPT, 0, NULL},
312  {FNAME("cif16MPI") INT, 5, 1, 0, SKIP | OPT, 0, NULL},
313  {FNAME("maxBitRate") INT, CONS, 1, 0, SKIP, 0, NULL},
314  {FNAME("unrestrictedVector") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
315  {FNAME("arithmeticCoding") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
316  {FNAME("advancedPrediction") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
317  {FNAME("pbFrames") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
318  {FNAME("temporalSpatialTradeOffCapability") BOOL, FIXD, 0, 0, SKIP, 0,
319  NULL},
320  {FNAME("hrd-B") INT, CONS, 0, 0, SKIP | OPT, 0, NULL},
321  {FNAME("bppMaxKb") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
322  {FNAME("slowSqcifMPI") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
323  {FNAME("slowQcifMPI") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
324  {FNAME("slowCifMPI") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
325  {FNAME("slowCif4MPI") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
326  {FNAME("slowCif16MPI") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
327  {FNAME("errorCompensation") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
328  {FNAME("enhancementLayerInfo") SEQ, 3, 4, 4, SKIP | EXT | OPT, 0,
329  NULL},
330  {FNAME("h263Options") SEQ, 5, 29, 31, SKIP | EXT | OPT, 0, NULL},
331 };
332 
333 static const struct field_t _IS11172VideoCapability[] = { /* SEQUENCE */
334  {FNAME("constrainedBitstream") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
335  {FNAME("videoBitRate") INT, CONS, 0, 0, SKIP | OPT, 0, NULL},
336  {FNAME("vbvBufferSize") INT, CONS, 0, 0, SKIP | OPT, 0, NULL},
337  {FNAME("samplesPerLine") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
338  {FNAME("linesPerFrame") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
339  {FNAME("pictureRate") INT, 4, 0, 0, SKIP | OPT, 0, NULL},
340  {FNAME("luminanceSampleRate") INT, CONS, 0, 0, SKIP | OPT, 0, NULL},
341  {FNAME("videoBadMBsCap") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
342 };
343 
344 static const struct field_t _VideoCapability[] = { /* CHOICE */
345  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0,
346  _H245_NonStandardParameter},
347  {FNAME("h261VideoCapability") SEQ, 2, 5, 6, SKIP | EXT, 0,
348  _H261VideoCapability},
349  {FNAME("h262VideoCapability") SEQ, 6, 17, 18, SKIP | EXT, 0,
350  _H262VideoCapability},
351  {FNAME("h263VideoCapability") SEQ, 7, 13, 21, SKIP | EXT, 0,
352  _H263VideoCapability},
353  {FNAME("is11172VideoCapability") SEQ, 6, 7, 8, SKIP | EXT, 0,
354  _IS11172VideoCapability},
355  {FNAME("genericVideoCapability") SEQ, 5, 6, 6, SKIP | EXT, 0, NULL},
356 };
357 
358 static const struct field_t _AudioCapability_g7231[] = { /* SEQUENCE */
359  {FNAME("maxAl-sduAudioFrames") INT, BYTE, 1, 0, SKIP, 0, NULL},
360  {FNAME("silenceSuppression") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
361 };
362 
363 static const struct field_t _IS11172AudioCapability[] = { /* SEQUENCE */
364  {FNAME("audioLayer1") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
365  {FNAME("audioLayer2") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
366  {FNAME("audioLayer3") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
367  {FNAME("audioSampling32k") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
368  {FNAME("audioSampling44k1") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
369  {FNAME("audioSampling48k") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
370  {FNAME("singleChannel") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
371  {FNAME("twoChannels") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
372  {FNAME("bitRate") INT, WORD, 1, 0, SKIP, 0, NULL},
373 };
374 
375 static const struct field_t _IS13818AudioCapability[] = { /* SEQUENCE */
376  {FNAME("audioLayer1") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
377  {FNAME("audioLayer2") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
378  {FNAME("audioLayer3") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
379  {FNAME("audioSampling16k") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
380  {FNAME("audioSampling22k05") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
381  {FNAME("audioSampling24k") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
382  {FNAME("audioSampling32k") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
383  {FNAME("audioSampling44k1") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
384  {FNAME("audioSampling48k") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
385  {FNAME("singleChannel") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
386  {FNAME("twoChannels") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
387  {FNAME("threeChannels2-1") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
388  {FNAME("threeChannels3-0") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
389  {FNAME("fourChannels2-0-2-0") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
390  {FNAME("fourChannels2-2") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
391  {FNAME("fourChannels3-1") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
392  {FNAME("fiveChannels3-0-2-0") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
393  {FNAME("fiveChannels3-2") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
394  {FNAME("lowFrequencyEnhancement") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
395  {FNAME("multilingual") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
396  {FNAME("bitRate") INT, WORD, 1, 0, SKIP, 0, NULL},
397 };
398 
399 static const struct field_t _AudioCapability[] = { /* CHOICE */
400  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0,
401  _H245_NonStandardParameter},
402  {FNAME("g711Alaw64k") INT, BYTE, 1, 0, SKIP, 0, NULL},
403  {FNAME("g711Alaw56k") INT, BYTE, 1, 0, SKIP, 0, NULL},
404  {FNAME("g711Ulaw64k") INT, BYTE, 1, 0, SKIP, 0, NULL},
405  {FNAME("g711Ulaw56k") INT, BYTE, 1, 0, SKIP, 0, NULL},
406  {FNAME("g722-64k") INT, BYTE, 1, 0, SKIP, 0, NULL},
407  {FNAME("g722-56k") INT, BYTE, 1, 0, SKIP, 0, NULL},
408  {FNAME("g722-48k") INT, BYTE, 1, 0, SKIP, 0, NULL},
409  {FNAME("g7231") SEQ, 0, 2, 2, SKIP, 0, _AudioCapability_g7231},
410  {FNAME("g728") INT, BYTE, 1, 0, SKIP, 0, NULL},
411  {FNAME("g729") INT, BYTE, 1, 0, SKIP, 0, NULL},
412  {FNAME("g729AnnexA") INT, BYTE, 1, 0, SKIP, 0, NULL},
413  {FNAME("is11172AudioCapability") SEQ, 0, 9, 9, SKIP | EXT, 0,
414  _IS11172AudioCapability},
415  {FNAME("is13818AudioCapability") SEQ, 0, 21, 21, SKIP | EXT, 0,
416  _IS13818AudioCapability},
417  {FNAME("g729wAnnexB") INT, BYTE, 1, 0, SKIP, 0, NULL},
418  {FNAME("g729AnnexAwAnnexB") INT, BYTE, 1, 0, SKIP, 0, NULL},
419  {FNAME("g7231AnnexCCapability") SEQ, 1, 3, 3, SKIP | EXT, 0, NULL},
420  {FNAME("gsmFullRate") SEQ, 0, 3, 3, SKIP | EXT, 0, NULL},
421  {FNAME("gsmHalfRate") SEQ, 0, 3, 3, SKIP | EXT, 0, NULL},
422  {FNAME("gsmEnhancedFullRate") SEQ, 0, 3, 3, SKIP | EXT, 0, NULL},
423  {FNAME("genericAudioCapability") SEQ, 5, 6, 6, SKIP | EXT, 0, NULL},
424  {FNAME("g729Extensions") SEQ, 1, 8, 8, SKIP | EXT, 0, NULL},
425 };
426 
427 static const struct field_t _DataProtocolCapability[] = { /* CHOICE */
428  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0,
429  _H245_NonStandardParameter},
430  {FNAME("v14buffered") NUL, FIXD, 0, 0, SKIP, 0, NULL},
431  {FNAME("v42lapm") NUL, FIXD, 0, 0, SKIP, 0, NULL},
432  {FNAME("hdlcFrameTunnelling") NUL, FIXD, 0, 0, SKIP, 0, NULL},
433  {FNAME("h310SeparateVCStack") NUL, FIXD, 0, 0, SKIP, 0, NULL},
434  {FNAME("h310SingleVCStack") NUL, FIXD, 0, 0, SKIP, 0, NULL},
435  {FNAME("transparent") NUL, FIXD, 0, 0, SKIP, 0, NULL},
436  {FNAME("segmentationAndReassembly") NUL, FIXD, 0, 0, SKIP, 0, NULL},
437  {FNAME("hdlcFrameTunnelingwSAR") NUL, FIXD, 0, 0, SKIP, 0, NULL},
438  {FNAME("v120") NUL, FIXD, 0, 0, SKIP, 0, NULL},
439  {FNAME("separateLANStack") NUL, FIXD, 0, 0, SKIP, 0, NULL},
440  {FNAME("v76wCompression") CHOICE, 2, 3, 3, SKIP | EXT, 0, NULL},
441  {FNAME("tcp") NUL, FIXD, 0, 0, SKIP, 0, NULL},
442  {FNAME("udp") NUL, FIXD, 0, 0, SKIP, 0, NULL},
443 };
444 
445 static const struct field_t _T84Profile_t84Restricted[] = { /* SEQUENCE */
446  {FNAME("qcif") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
447  {FNAME("cif") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
448  {FNAME("ccir601Seq") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
449  {FNAME("ccir601Prog") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
450  {FNAME("hdtvSeq") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
451  {FNAME("hdtvProg") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
452  {FNAME("g3FacsMH200x100") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
453  {FNAME("g3FacsMH200x200") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
454  {FNAME("g4FacsMMR200x100") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
455  {FNAME("g4FacsMMR200x200") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
456  {FNAME("jbig200x200Seq") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
457  {FNAME("jbig200x200Prog") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
458  {FNAME("jbig300x300Seq") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
459  {FNAME("jbig300x300Prog") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
460  {FNAME("digPhotoLow") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
461  {FNAME("digPhotoMedSeq") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
462  {FNAME("digPhotoMedProg") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
463  {FNAME("digPhotoHighSeq") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
464  {FNAME("digPhotoHighProg") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
465 };
466 
467 static const struct field_t _T84Profile[] = { /* CHOICE */
468  {FNAME("t84Unrestricted") NUL, FIXD, 0, 0, SKIP, 0, NULL},
469  {FNAME("t84Restricted") SEQ, 0, 19, 19, SKIP | EXT, 0,
470  _T84Profile_t84Restricted},
471 };
472 
473 static const struct field_t _DataApplicationCapability_application_t84[] = { /* SEQUENCE */
474  {FNAME("t84Protocol") CHOICE, 3, 7, 14, SKIP | EXT, 0,
475  _DataProtocolCapability},
476  {FNAME("t84Profile") CHOICE, 1, 2, 2, SKIP, 0, _T84Profile},
477 };
478 
479 static const struct field_t _DataApplicationCapability_application_nlpid[] = { /* SEQUENCE */
480  {FNAME("nlpidProtocol") CHOICE, 3, 7, 14, SKIP | EXT, 0,
481  _DataProtocolCapability},
482  {FNAME("nlpidData") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
483 };
484 
485 static const struct field_t _DataApplicationCapability_application[] = { /* CHOICE */
486  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0,
487  _H245_NonStandardParameter},
488  {FNAME("t120") CHOICE, 3, 7, 14, DECODE | EXT,
490  _DataProtocolCapability},
491  {FNAME("dsm-cc") CHOICE, 3, 7, 14, SKIP | EXT, 0,
492  _DataProtocolCapability},
493  {FNAME("userData") CHOICE, 3, 7, 14, SKIP | EXT, 0,
494  _DataProtocolCapability},
495  {FNAME("t84") SEQ, 0, 2, 2, SKIP, 0,
496  _DataApplicationCapability_application_t84},
497  {FNAME("t434") CHOICE, 3, 7, 14, SKIP | EXT, 0,
498  _DataProtocolCapability},
499  {FNAME("h224") CHOICE, 3, 7, 14, SKIP | EXT, 0,
500  _DataProtocolCapability},
501  {FNAME("nlpid") SEQ, 0, 2, 2, SKIP, 0,
502  _DataApplicationCapability_application_nlpid},
503  {FNAME("dsvdControl") NUL, FIXD, 0, 0, SKIP, 0, NULL},
504  {FNAME("h222DataPartitioning") CHOICE, 3, 7, 14, SKIP | EXT, 0,
505  _DataProtocolCapability},
506  {FNAME("t30fax") CHOICE, 3, 7, 14, SKIP | EXT, 0, NULL},
507  {FNAME("t140") CHOICE, 3, 7, 14, SKIP | EXT, 0, NULL},
508  {FNAME("t38fax") SEQ, 0, 2, 2, SKIP, 0, NULL},
509  {FNAME("genericDataCapability") SEQ, 5, 6, 6, SKIP | EXT, 0, NULL},
510 };
511 
512 static const struct field_t _DataApplicationCapability[] = { /* SEQUENCE */
513  {FNAME("application") CHOICE, 4, 10, 14, DECODE | EXT,
515  _DataApplicationCapability_application},
516  {FNAME("maxBitRate") INT, CONS, 0, 0, SKIP, 0, NULL},
517 };
518 
519 static const struct field_t _EncryptionMode[] = { /* CHOICE */
520  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0,
521  _H245_NonStandardParameter},
522  {FNAME("h233Encryption") NUL, FIXD, 0, 0, SKIP, 0, NULL},
523 };
524 
525 static const struct field_t _DataType[] = { /* CHOICE */
526  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0,
527  _H245_NonStandardParameter},
528  {FNAME("nullData") NUL, FIXD, 0, 0, SKIP, 0, NULL},
529  {FNAME("videoData") CHOICE, 3, 5, 6, SKIP | EXT, 0, _VideoCapability},
530  {FNAME("audioData") CHOICE, 4, 14, 22, SKIP | EXT, 0,
531  _AudioCapability},
532  {FNAME("data") SEQ, 0, 2, 2, DECODE | EXT, offsetof(DataType, data),
533  _DataApplicationCapability},
534  {FNAME("encryptionData") CHOICE, 1, 2, 2, SKIP | EXT, 0,
535  _EncryptionMode},
536  {FNAME("h235Control") SEQ, 0, 2, 2, SKIP, 0, NULL},
537  {FNAME("h235Media") SEQ, 0, 2, 2, SKIP | EXT, 0, NULL},
538  {FNAME("multiplexedStream") SEQ, 0, 2, 2, SKIP | EXT, 0, NULL},
539 };
540 
541 static const struct field_t _H222LogicalChannelParameters[] = { /* SEQUENCE */
542  {FNAME("resourceID") INT, WORD, 0, 0, SKIP, 0, NULL},
543  {FNAME("subChannelID") INT, WORD, 0, 0, SKIP, 0, NULL},
544  {FNAME("pcr-pid") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
545  {FNAME("programDescriptors") OCTSTR, SEMI, 0, 0, SKIP | OPT, 0, NULL},
546  {FNAME("streamDescriptors") OCTSTR, SEMI, 0, 0, SKIP | OPT, 0, NULL},
547 };
548 
549 static const struct field_t _H223LogicalChannelParameters_adaptationLayerType_al3[] = { /* SEQUENCE */
550  {FNAME("controlFieldOctets") INT, 2, 0, 0, SKIP, 0, NULL},
551  {FNAME("sendBufferSize") INT, CONS, 0, 0, SKIP, 0, NULL},
552 };
553 
554 static const struct field_t _H223LogicalChannelParameters_adaptationLayerType[] = { /* CHOICE */
555  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0,
556  _H245_NonStandardParameter},
557  {FNAME("al1Framed") NUL, FIXD, 0, 0, SKIP, 0, NULL},
558  {FNAME("al1NotFramed") NUL, FIXD, 0, 0, SKIP, 0, NULL},
559  {FNAME("al2WithoutSequenceNumbers") NUL, FIXD, 0, 0, SKIP, 0, NULL},
560  {FNAME("al2WithSequenceNumbers") NUL, FIXD, 0, 0, SKIP, 0, NULL},
561  {FNAME("al3") SEQ, 0, 2, 2, SKIP, 0,
562  _H223LogicalChannelParameters_adaptationLayerType_al3},
563  {FNAME("al1M") SEQ, 0, 7, 8, SKIP | EXT, 0, NULL},
564  {FNAME("al2M") SEQ, 0, 2, 2, SKIP | EXT, 0, NULL},
565  {FNAME("al3M") SEQ, 0, 5, 6, SKIP | EXT, 0, NULL},
566 };
567 
568 static const struct field_t _H223LogicalChannelParameters[] = { /* SEQUENCE */
569  {FNAME("adaptationLayerType") CHOICE, 3, 6, 9, SKIP | EXT, 0,
570  _H223LogicalChannelParameters_adaptationLayerType},
571  {FNAME("segmentableFlag") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
572 };
573 
574 static const struct field_t _CRCLength[] = { /* CHOICE */
575  {FNAME("crc8bit") NUL, FIXD, 0, 0, SKIP, 0, NULL},
576  {FNAME("crc16bit") NUL, FIXD, 0, 0, SKIP, 0, NULL},
577  {FNAME("crc32bit") NUL, FIXD, 0, 0, SKIP, 0, NULL},
578 };
579 
580 static const struct field_t _V76HDLCParameters[] = { /* SEQUENCE */
581  {FNAME("crcLength") CHOICE, 2, 3, 3, SKIP | EXT, 0, _CRCLength},
582  {FNAME("n401") INT, WORD, 1, 0, SKIP, 0, NULL},
583  {FNAME("loopbackTestProcedure") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
584 };
585 
586 static const struct field_t _V76LogicalChannelParameters_suspendResume[] = { /* CHOICE */
587  {FNAME("noSuspendResume") NUL, FIXD, 0, 0, SKIP, 0, NULL},
588  {FNAME("suspendResumewAddress") NUL, FIXD, 0, 0, SKIP, 0, NULL},
589  {FNAME("suspendResumewoAddress") NUL, FIXD, 0, 0, SKIP, 0, NULL},
590 };
591 
592 static const struct field_t _V76LogicalChannelParameters_mode_eRM_recovery[] = { /* CHOICE */
593  {FNAME("rej") NUL, FIXD, 0, 0, SKIP, 0, NULL},
594  {FNAME("sREJ") NUL, FIXD, 0, 0, SKIP, 0, NULL},
595  {FNAME("mSREJ") NUL, FIXD, 0, 0, SKIP, 0, NULL},
596 };
597 
598 static const struct field_t _V76LogicalChannelParameters_mode_eRM[] = { /* SEQUENCE */
599  {FNAME("windowSize") INT, 7, 1, 0, SKIP, 0, NULL},
600  {FNAME("recovery") CHOICE, 2, 3, 3, SKIP | EXT, 0,
601  _V76LogicalChannelParameters_mode_eRM_recovery},
602 };
603 
604 static const struct field_t _V76LogicalChannelParameters_mode[] = { /* CHOICE */
605  {FNAME("eRM") SEQ, 0, 2, 2, SKIP | EXT, 0,
606  _V76LogicalChannelParameters_mode_eRM},
607  {FNAME("uNERM") NUL, FIXD, 0, 0, SKIP, 0, NULL},
608 };
609 
610 static const struct field_t _V75Parameters[] = { /* SEQUENCE */
611  {FNAME("audioHeaderPresent") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
612 };
613 
614 static const struct field_t _V76LogicalChannelParameters[] = { /* SEQUENCE */
615  {FNAME("hdlcParameters") SEQ, 0, 3, 3, SKIP | EXT, 0,
616  _V76HDLCParameters},
617  {FNAME("suspendResume") CHOICE, 2, 3, 3, SKIP | EXT, 0,
618  _V76LogicalChannelParameters_suspendResume},
619  {FNAME("uIH") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
620  {FNAME("mode") CHOICE, 1, 2, 2, SKIP | EXT, 0,
621  _V76LogicalChannelParameters_mode},
622  {FNAME("v75Parameters") SEQ, 0, 1, 1, SKIP | EXT, 0, _V75Parameters},
623 };
624 
625 static const struct field_t _H2250LogicalChannelParameters_nonStandard[] = { /* SEQUENCE OF */
626  {FNAME("item") SEQ, 0, 2, 2, SKIP, 0, _H245_NonStandardParameter},
627 };
628 
629 static const struct field_t _UnicastAddress_iPAddress[] = { /* SEQUENCE */
630  {FNAME("network") OCTSTR, FIXD, 4, 0, DECODE,
631  offsetof(UnicastAddress_iPAddress, network), NULL},
632  {FNAME("tsapIdentifier") INT, WORD, 0, 0, SKIP, 0, NULL},
633 };
634 
635 static const struct field_t _UnicastAddress_iPXAddress[] = { /* SEQUENCE */
636  {FNAME("node") OCTSTR, FIXD, 6, 0, SKIP, 0, NULL},
637  {FNAME("netnum") OCTSTR, FIXD, 4, 0, SKIP, 0, NULL},
638  {FNAME("tsapIdentifier") OCTSTR, FIXD, 2, 0, SKIP, 0, NULL},
639 };
640 
641 static const struct field_t _UnicastAddress_iP6Address[] = { /* SEQUENCE */
642  {FNAME("network") OCTSTR, FIXD, 16, 0, DECODE,
643  offsetof(UnicastAddress_iP6Address, network), NULL},
644  {FNAME("tsapIdentifier") INT, WORD, 0, 0, SKIP, 0, NULL},
645 };
646 
647 static const struct field_t _UnicastAddress_iPSourceRouteAddress_routing[] = { /* CHOICE */
648  {FNAME("strict") NUL, FIXD, 0, 0, SKIP, 0, NULL},
649  {FNAME("loose") NUL, FIXD, 0, 0, SKIP, 0, NULL},
650 };
651 
652 static const struct field_t _UnicastAddress_iPSourceRouteAddress_route[] = { /* SEQUENCE OF */
653  {FNAME("item") OCTSTR, FIXD, 4, 0, SKIP, 0, NULL},
654 };
655 
656 static const struct field_t _UnicastAddress_iPSourceRouteAddress[] = { /* SEQUENCE */
657  {FNAME("routing") CHOICE, 1, 2, 2, SKIP, 0,
658  _UnicastAddress_iPSourceRouteAddress_routing},
659  {FNAME("network") OCTSTR, FIXD, 4, 0, SKIP, 0, NULL},
660  {FNAME("tsapIdentifier") INT, WORD, 0, 0, SKIP, 0, NULL},
661  {FNAME("route") SEQOF, SEMI, 0, 0, SKIP, 0,
662  _UnicastAddress_iPSourceRouteAddress_route},
663 };
664 
665 static const struct field_t _UnicastAddress[] = { /* CHOICE */
666  {FNAME("iPAddress") SEQ, 0, 2, 2, DECODE | EXT,
667  offsetof(UnicastAddress, iPAddress), _UnicastAddress_iPAddress},
668  {FNAME("iPXAddress") SEQ, 0, 3, 3, SKIP | EXT, 0,
669  _UnicastAddress_iPXAddress},
670  {FNAME("iP6Address") SEQ, 0, 2, 2, DECODE | EXT,
671  offsetof(UnicastAddress, iP6Address), _UnicastAddress_iP6Address},
672  {FNAME("netBios") OCTSTR, FIXD, 16, 0, SKIP, 0, NULL},
673  {FNAME("iPSourceRouteAddress") SEQ, 0, 4, 4, SKIP | EXT, 0,
674  _UnicastAddress_iPSourceRouteAddress},
675  {FNAME("nsap") OCTSTR, 5, 1, 0, SKIP, 0, NULL},
676  {FNAME("nonStandardAddress") SEQ, 0, 2, 2, SKIP, 0, NULL},
677 };
678 
679 static const struct field_t _MulticastAddress_iPAddress[] = { /* SEQUENCE */
680  {FNAME("network") OCTSTR, FIXD, 4, 0, SKIP, 0, NULL},
681  {FNAME("tsapIdentifier") INT, WORD, 0, 0, SKIP, 0, NULL},
682 };
683 
684 static const struct field_t _MulticastAddress_iP6Address[] = { /* SEQUENCE */
685  {FNAME("network") OCTSTR, FIXD, 16, 0, SKIP, 0, NULL},
686  {FNAME("tsapIdentifier") INT, WORD, 0, 0, SKIP, 0, NULL},
687 };
688 
689 static const struct field_t _MulticastAddress[] = { /* CHOICE */
690  {FNAME("iPAddress") SEQ, 0, 2, 2, SKIP | EXT, 0,
691  _MulticastAddress_iPAddress},
692  {FNAME("iP6Address") SEQ, 0, 2, 2, SKIP | EXT, 0,
693  _MulticastAddress_iP6Address},
694  {FNAME("nsap") OCTSTR, 5, 1, 0, SKIP, 0, NULL},
695  {FNAME("nonStandardAddress") SEQ, 0, 2, 2, SKIP, 0, NULL},
696 };
697 
698 static const struct field_t _H245_TransportAddress[] = { /* CHOICE */
699  {FNAME("unicastAddress") CHOICE, 3, 5, 7, DECODE | EXT,
700  offsetof(H245_TransportAddress, unicastAddress), _UnicastAddress},
701  {FNAME("multicastAddress") CHOICE, 1, 2, 4, SKIP | EXT, 0,
702  _MulticastAddress},
703 };
704 
705 static const struct field_t _H2250LogicalChannelParameters[] = { /* SEQUENCE */
706  {FNAME("nonStandard") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
707  _H2250LogicalChannelParameters_nonStandard},
708  {FNAME("sessionID") INT, BYTE, 0, 0, SKIP, 0, NULL},
709  {FNAME("associatedSessionID") INT, 8, 1, 0, SKIP | OPT, 0, NULL},
710  {FNAME("mediaChannel") CHOICE, 1, 2, 2, DECODE | EXT | OPT,
712  _H245_TransportAddress},
713  {FNAME("mediaGuaranteedDelivery") BOOL, FIXD, 0, 0, SKIP | OPT, 0,
714  NULL},
715  {FNAME("mediaControlChannel") CHOICE, 1, 2, 2, DECODE | EXT | OPT,
716  offsetof(H2250LogicalChannelParameters, mediaControlChannel),
717  _H245_TransportAddress},
718  {FNAME("mediaControlGuaranteedDelivery") BOOL, FIXD, 0, 0, STOP | OPT,
719  0, NULL},
720  {FNAME("silenceSuppression") BOOL, FIXD, 0, 0, STOP | OPT, 0, NULL},
721  {FNAME("destination") SEQ, 0, 2, 2, STOP | EXT | OPT, 0, NULL},
722  {FNAME("dynamicRTPPayloadType") INT, 5, 96, 0, STOP | OPT, 0, NULL},
723  {FNAME("mediaPacketization") CHOICE, 0, 1, 2, STOP | EXT | OPT, 0,
724  NULL},
725  {FNAME("transportCapability") SEQ, 3, 3, 3, STOP | EXT | OPT, 0,
726  NULL},
727  {FNAME("redundancyEncoding") SEQ, 1, 2, 2, STOP | EXT | OPT, 0, NULL},
728  {FNAME("source") SEQ, 0, 2, 2, SKIP | EXT | OPT, 0, NULL},
729 };
730 
731 static const struct field_t _OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters[] = { /* CHOICE */
732  {FNAME("h222LogicalChannelParameters") SEQ, 3, 5, 5, SKIP | EXT, 0,
733  _H222LogicalChannelParameters},
734  {FNAME("h223LogicalChannelParameters") SEQ, 0, 2, 2, SKIP | EXT, 0,
735  _H223LogicalChannelParameters},
736  {FNAME("v76LogicalChannelParameters") SEQ, 0, 5, 5, SKIP | EXT, 0,
737  _V76LogicalChannelParameters},
738  {FNAME("h2250LogicalChannelParameters") SEQ, 10, 11, 14, DECODE | EXT,
739  offsetof
741  h2250LogicalChannelParameters), _H2250LogicalChannelParameters},
742  {FNAME("none") NUL, FIXD, 0, 0, SKIP, 0, NULL},
743 };
744 
745 static const struct field_t _OpenLogicalChannel_forwardLogicalChannelParameters[] = { /* SEQUENCE */
746  {FNAME("portNumber") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
747  {FNAME("dataType") CHOICE, 3, 6, 9, DECODE | EXT,
749  dataType), _DataType},
750  {FNAME("multiplexParameters") CHOICE, 2, 3, 5, DECODE | EXT,
751  offsetof(OpenLogicalChannel_forwardLogicalChannelParameters,
752  multiplexParameters),
753  _OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters},
754  {FNAME("forwardLogicalChannelDependency") INT, WORD, 1, 0, SKIP | OPT,
755  0, NULL},
756  {FNAME("replacementFor") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
757 };
758 
759 static const struct field_t _OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters[] = { /* CHOICE */
760  {FNAME("h223LogicalChannelParameters") SEQ, 0, 2, 2, SKIP | EXT, 0,
761  _H223LogicalChannelParameters},
762  {FNAME("v76LogicalChannelParameters") SEQ, 0, 5, 5, SKIP | EXT, 0,
763  _V76LogicalChannelParameters},
764  {FNAME("h2250LogicalChannelParameters") SEQ, 10, 11, 14, DECODE | EXT,
765  offsetof
767  h2250LogicalChannelParameters), _H2250LogicalChannelParameters},
768 };
769 
770 static const struct field_t _OpenLogicalChannel_reverseLogicalChannelParameters[] = { /* SEQUENCE */
771  {FNAME("dataType") CHOICE, 3, 6, 9, SKIP | EXT, 0, _DataType},
772  {FNAME("multiplexParameters") CHOICE, 1, 2, 3, DECODE | EXT | OPT,
774  multiplexParameters),
775  _OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters},
776  {FNAME("reverseLogicalChannelDependency") INT, WORD, 1, 0, SKIP | OPT,
777  0, NULL},
778  {FNAME("replacementFor") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
779 };
780 
781 static const struct field_t _NetworkAccessParameters_distribution[] = { /* CHOICE */
782  {FNAME("unicast") NUL, FIXD, 0, 0, SKIP, 0, NULL},
783  {FNAME("multicast") NUL, FIXD, 0, 0, SKIP, 0, NULL},
784 };
785 
786 static const struct field_t _Q2931Address_address[] = { /* CHOICE */
787  {FNAME("internationalNumber") NUMSTR, 4, 1, 0, SKIP, 0, NULL},
788  {FNAME("nsapAddress") OCTSTR, 5, 1, 0, SKIP, 0, NULL},
789 };
790 
791 static const struct field_t _Q2931Address[] = { /* SEQUENCE */
792  {FNAME("address") CHOICE, 1, 2, 2, SKIP | EXT, 0,
793  _Q2931Address_address},
794  {FNAME("subaddress") OCTSTR, 5, 1, 0, SKIP | OPT, 0, NULL},
795 };
796 
797 static const struct field_t _NetworkAccessParameters_networkAddress[] = { /* CHOICE */
798  {FNAME("q2931Address") SEQ, 1, 2, 2, SKIP | EXT, 0, _Q2931Address},
799  {FNAME("e164Address") NUMDGT, 7, 1, 0, SKIP, 0, NULL},
800  {FNAME("localAreaAddress") CHOICE, 1, 2, 2, DECODE | EXT,
802  _H245_TransportAddress},
803 };
804 
805 static const struct field_t _NetworkAccessParameters[] = { /* SEQUENCE */
806  {FNAME("distribution") CHOICE, 1, 2, 2, SKIP | EXT | OPT, 0,
807  _NetworkAccessParameters_distribution},
808  {FNAME("networkAddress") CHOICE, 2, 3, 3, DECODE | EXT,
809  offsetof(NetworkAccessParameters, networkAddress),
810  _NetworkAccessParameters_networkAddress},
811  {FNAME("associateConference") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
812  {FNAME("externalReference") OCTSTR, 8, 1, 0, SKIP | OPT, 0, NULL},
813  {FNAME("t120SetupProcedure") CHOICE, 2, 3, 3, SKIP | EXT | OPT, 0,
814  NULL},
815 };
816 
817 static const struct field_t _OpenLogicalChannel[] = { /* SEQUENCE */
818  {FNAME("forwardLogicalChannelNumber") INT, WORD, 1, 0, SKIP, 0, NULL},
819  {FNAME("forwardLogicalChannelParameters") SEQ, 1, 3, 5, DECODE | EXT,
820  offsetof(OpenLogicalChannel, forwardLogicalChannelParameters),
821  _OpenLogicalChannel_forwardLogicalChannelParameters},
822  {FNAME("reverseLogicalChannelParameters") SEQ, 1, 2, 4,
823  DECODE | EXT | OPT, offsetof(OpenLogicalChannel,
824  reverseLogicalChannelParameters),
825  _OpenLogicalChannel_reverseLogicalChannelParameters},
826  {FNAME("separateStack") SEQ, 2, 4, 5, DECODE | EXT | OPT,
827  offsetof(OpenLogicalChannel, separateStack),
828  _NetworkAccessParameters},
829  {FNAME("encryptionSync") SEQ, 2, 4, 4, STOP | EXT | OPT, 0, NULL},
830 };
831 
832 static const struct field_t _Setup_UUIE_fastStart[] = { /* SEQUENCE OF */
833  {FNAME("item") SEQ, 1, 3, 5, DECODE | OPEN | EXT,
834  sizeof(OpenLogicalChannel), _OpenLogicalChannel}
835  ,
836 };
837 
838 static const struct field_t _Setup_UUIE[] = { /* SEQUENCE */
839  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
840  {FNAME("h245Address") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
841  offsetof(Setup_UUIE, h245Address), _TransportAddress},
842  {FNAME("sourceAddress") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
843  _Setup_UUIE_sourceAddress},
844  {FNAME("sourceInfo") SEQ, 6, 8, 10, SKIP | EXT, 0, _EndpointType},
845  {FNAME("destinationAddress") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
846  _Setup_UUIE_destinationAddress},
847  {FNAME("destCallSignalAddress") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
848  offsetof(Setup_UUIE, destCallSignalAddress), _TransportAddress},
849  {FNAME("destExtraCallInfo") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
850  _Setup_UUIE_destExtraCallInfo},
851  {FNAME("destExtraCRV") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
852  _Setup_UUIE_destExtraCRV},
853  {FNAME("activeMC") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
854  {FNAME("conferenceID") OCTSTR, FIXD, 16, 0, SKIP, 0, NULL},
855  {FNAME("conferenceGoal") CHOICE, 2, 3, 5, SKIP | EXT, 0,
856  _Setup_UUIE_conferenceGoal},
857  {FNAME("callServices") SEQ, 0, 8, 8, SKIP | EXT | OPT, 0,
858  _QseriesOptions},
859  {FNAME("callType") CHOICE, 2, 4, 4, SKIP | EXT, 0, _CallType},
860  {FNAME("sourceCallSignalAddress") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
861  offsetof(Setup_UUIE, sourceCallSignalAddress), _TransportAddress},
862  {FNAME("remoteExtensionAddress") CHOICE, 1, 2, 7, SKIP | EXT | OPT, 0,
863  NULL},
864  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0, NULL},
865  {FNAME("h245SecurityCapability") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
866  NULL},
867  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
868  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
869  {FNAME("fastStart") SEQOF, SEMI, 0, 30, DECODE | OPT,
870  offsetof(Setup_UUIE, fastStart), _Setup_UUIE_fastStart},
871  {FNAME("mediaWaitForConnect") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
872  {FNAME("canOverlapSend") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
873  {FNAME("endpointIdentifier") BMPSTR, 7, 1, 0, STOP | OPT, 0, NULL},
874  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
875  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
876  {FNAME("connectionParameters") SEQ, 0, 3, 3, SKIP | EXT | OPT, 0,
877  NULL},
878  {FNAME("language") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
879  {FNAME("presentationIndicator") CHOICE, 2, 3, 3, SKIP | EXT | OPT, 0,
880  NULL},
881  {FNAME("screeningIndicator") ENUM, 2, 0, 0, SKIP | EXT | OPT, 0,
882  NULL},
883  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
884  {FNAME("symmetricOperationRequired") NUL, FIXD, 0, 0, SKIP | OPT, 0,
885  NULL},
886  {FNAME("capacity") SEQ, 2, 2, 2, SKIP | EXT | OPT, 0, NULL},
887  {FNAME("circuitInfo") SEQ, 3, 3, 3, SKIP | EXT | OPT, 0, NULL},
888  {FNAME("desiredProtocols") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
889  {FNAME("neededFeatures") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
890  {FNAME("desiredFeatures") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
891  {FNAME("supportedFeatures") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
892  {FNAME("parallelH245Control") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
893  {FNAME("additionalSourceAddresses") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
894  NULL},
895 };
896 
897 static const struct field_t _CallProceeding_UUIE_fastStart[] = { /* SEQUENCE OF */
898  {FNAME("item") SEQ, 1, 3, 5, DECODE | OPEN | EXT,
899  sizeof(OpenLogicalChannel), _OpenLogicalChannel}
900  ,
901 };
902 
903 static const struct field_t _CallProceeding_UUIE[] = { /* SEQUENCE */
904  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
905  {FNAME("destinationInfo") SEQ, 6, 8, 10, SKIP | EXT, 0,
906  _EndpointType},
907  {FNAME("h245Address") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
908  offsetof(CallProceeding_UUIE, h245Address), _TransportAddress},
909  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0, NULL},
910  {FNAME("h245SecurityMode") CHOICE, 2, 4, 4, SKIP | EXT | OPT, 0,
911  NULL},
912  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
913  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
914  {FNAME("fastStart") SEQOF, SEMI, 0, 30, DECODE | OPT,
915  offsetof(CallProceeding_UUIE, fastStart),
916  _CallProceeding_UUIE_fastStart},
917  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
918  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
919  {FNAME("fastConnectRefused") NUL, FIXD, 0, 0, SKIP | OPT, 0, NULL},
920  {FNAME("featureSet") SEQ, 3, 4, 4, SKIP | EXT | OPT, 0, NULL},
921 };
922 
923 static const struct field_t _Connect_UUIE_fastStart[] = { /* SEQUENCE OF */
924  {FNAME("item") SEQ, 1, 3, 5, DECODE | OPEN | EXT,
925  sizeof(OpenLogicalChannel), _OpenLogicalChannel}
926  ,
927 };
928 
929 static const struct field_t _Connect_UUIE[] = { /* SEQUENCE */
930  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
931  {FNAME("h245Address") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
932  offsetof(Connect_UUIE, h245Address), _TransportAddress},
933  {FNAME("destinationInfo") SEQ, 6, 8, 10, SKIP | EXT, 0,
934  _EndpointType},
935  {FNAME("conferenceID") OCTSTR, FIXD, 16, 0, SKIP, 0, NULL},
936  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0, NULL},
937  {FNAME("h245SecurityMode") CHOICE, 2, 4, 4, SKIP | EXT | OPT, 0,
938  NULL},
939  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
940  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
941  {FNAME("fastStart") SEQOF, SEMI, 0, 30, DECODE | OPT,
942  offsetof(Connect_UUIE, fastStart), _Connect_UUIE_fastStart},
943  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
944  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
945  {FNAME("language") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
946  {FNAME("connectedAddress") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
947  {FNAME("presentationIndicator") CHOICE, 2, 3, 3, SKIP | EXT | OPT, 0,
948  NULL},
949  {FNAME("screeningIndicator") ENUM, 2, 0, 0, SKIP | EXT | OPT, 0,
950  NULL},
951  {FNAME("fastConnectRefused") NUL, FIXD, 0, 0, SKIP | OPT, 0, NULL},
952  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
953  {FNAME("capacity") SEQ, 2, 2, 2, SKIP | EXT | OPT, 0, NULL},
954  {FNAME("featureSet") SEQ, 3, 4, 4, SKIP | EXT | OPT, 0, NULL},
955 };
956 
957 static const struct field_t _Alerting_UUIE_fastStart[] = { /* SEQUENCE OF */
958  {FNAME("item") SEQ, 1, 3, 5, DECODE | OPEN | EXT,
959  sizeof(OpenLogicalChannel), _OpenLogicalChannel}
960  ,
961 };
962 
963 static const struct field_t _Alerting_UUIE[] = { /* SEQUENCE */
964  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
965  {FNAME("destinationInfo") SEQ, 6, 8, 10, SKIP | EXT, 0,
966  _EndpointType},
967  {FNAME("h245Address") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
968  offsetof(Alerting_UUIE, h245Address), _TransportAddress},
969  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0, NULL},
970  {FNAME("h245SecurityMode") CHOICE, 2, 4, 4, SKIP | EXT | OPT, 0,
971  NULL},
972  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
973  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
974  {FNAME("fastStart") SEQOF, SEMI, 0, 30, DECODE | OPT,
975  offsetof(Alerting_UUIE, fastStart), _Alerting_UUIE_fastStart},
976  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
977  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
978  {FNAME("alertingAddress") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
979  {FNAME("presentationIndicator") CHOICE, 2, 3, 3, SKIP | EXT | OPT, 0,
980  NULL},
981  {FNAME("screeningIndicator") ENUM, 2, 0, 0, SKIP | EXT | OPT, 0,
982  NULL},
983  {FNAME("fastConnectRefused") NUL, FIXD, 0, 0, SKIP | OPT, 0, NULL},
984  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
985  {FNAME("capacity") SEQ, 2, 2, 2, SKIP | EXT | OPT, 0, NULL},
986  {FNAME("featureSet") SEQ, 3, 4, 4, SKIP | EXT | OPT, 0, NULL},
987 };
988 
989 static const struct field_t _Information_UUIE[] = { /* SEQUENCE */
990  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
991  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0, NULL},
992  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
993  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
994  {FNAME("fastStart") SEQOF, SEMI, 0, 30, SKIP | OPT, 0, NULL},
995  {FNAME("fastConnectRefused") NUL, FIXD, 0, 0, SKIP | OPT, 0, NULL},
996  {FNAME("circuitInfo") SEQ, 3, 3, 3, SKIP | EXT | OPT, 0, NULL},
997 };
998 
999 static const struct field_t _ReleaseCompleteReason[] = { /* CHOICE */
1000  {FNAME("noBandwidth") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1001  {FNAME("gatekeeperResources") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1002  {FNAME("unreachableDestination") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1003  {FNAME("destinationRejection") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1004  {FNAME("invalidRevision") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1005  {FNAME("noPermission") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1006  {FNAME("unreachableGatekeeper") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1007  {FNAME("gatewayResources") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1008  {FNAME("badFormatAddress") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1009  {FNAME("adaptiveBusy") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1010  {FNAME("inConf") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1011  {FNAME("undefinedReason") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1012  {FNAME("facilityCallDeflection") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1013  {FNAME("securityDenied") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1014  {FNAME("calledPartyNotRegistered") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1015  {FNAME("callerNotRegistered") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1016  {FNAME("newConnectionNeeded") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1017  {FNAME("nonStandardReason") SEQ, 0, 2, 2, SKIP, 0, NULL},
1018  {FNAME("replaceWithConferenceInvite") OCTSTR, FIXD, 16, 0, SKIP, 0,
1019  NULL},
1020  {FNAME("genericDataReason") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1021  {FNAME("neededFeatureNotSupported") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1022  {FNAME("tunnelledSignallingRejected") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1023 };
1024 
1025 static const struct field_t _ReleaseComplete_UUIE[] = { /* SEQUENCE */
1026  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1027  {FNAME("reason") CHOICE, 4, 12, 22, SKIP | EXT | OPT, 0,
1028  _ReleaseCompleteReason},
1029  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0, NULL},
1030  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1031  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1032  {FNAME("busyAddress") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1033  {FNAME("presentationIndicator") CHOICE, 2, 3, 3, SKIP | EXT | OPT, 0,
1034  NULL},
1035  {FNAME("screeningIndicator") ENUM, 2, 0, 0, SKIP | EXT | OPT, 0,
1036  NULL},
1037  {FNAME("capacity") SEQ, 2, 2, 2, SKIP | EXT | OPT, 0, NULL},
1038  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1039  {FNAME("featureSet") SEQ, 3, 4, 4, SKIP | EXT | OPT, 0, NULL},
1040 };
1041 
1042 static const struct field_t _Facility_UUIE_alternativeAliasAddress[] = { /* SEQUENCE OF */
1043  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1044 };
1045 
1046 static const struct field_t _FacilityReason[] = { /* CHOICE */
1047  {FNAME("routeCallToGatekeeper") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1048  {FNAME("callForwarded") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1049  {FNAME("routeCallToMC") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1050  {FNAME("undefinedReason") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1051  {FNAME("conferenceListChoice") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1052  {FNAME("startH245") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1053  {FNAME("noH245") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1054  {FNAME("newTokens") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1055  {FNAME("featureSetUpdate") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1056  {FNAME("forwardedElements") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1057  {FNAME("transportedInformation") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1058 };
1059 
1060 static const struct field_t _Facility_UUIE_fastStart[] = { /* SEQUENCE OF */
1061  {FNAME("item") SEQ, 1, 3, 5, DECODE | OPEN | EXT,
1062  sizeof(OpenLogicalChannel), _OpenLogicalChannel}
1063  ,
1064 };
1065 
1066 static const struct field_t _Facility_UUIE[] = { /* SEQUENCE */
1067  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1068  {FNAME("alternativeAddress") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
1069  offsetof(Facility_UUIE, alternativeAddress), _TransportAddress},
1070  {FNAME("alternativeAliasAddress") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1071  _Facility_UUIE_alternativeAliasAddress},
1072  {FNAME("conferenceID") OCTSTR, FIXD, 16, 0, SKIP | OPT, 0, NULL},
1073  {FNAME("reason") CHOICE, 2, 4, 11, DECODE | EXT,
1074  offsetof(Facility_UUIE, reason), _FacilityReason},
1075  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0, NULL},
1076  {FNAME("destExtraCallInfo") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1077  {FNAME("remoteExtensionAddress") CHOICE, 1, 2, 7, SKIP | EXT | OPT, 0,
1078  NULL},
1079  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1080  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1081  {FNAME("conferences") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1082  {FNAME("h245Address") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
1083  offsetof(Facility_UUIE, h245Address), _TransportAddress},
1084  {FNAME("fastStart") SEQOF, SEMI, 0, 30, DECODE | OPT,
1085  offsetof(Facility_UUIE, fastStart), _Facility_UUIE_fastStart},
1086  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
1087  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
1088  {FNAME("fastConnectRefused") NUL, FIXD, 0, 0, SKIP | OPT, 0, NULL},
1089  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1090  {FNAME("circuitInfo") SEQ, 3, 3, 3, SKIP | EXT | OPT, 0, NULL},
1091  {FNAME("featureSet") SEQ, 3, 4, 4, SKIP | EXT | OPT, 0, NULL},
1092  {FNAME("destinationInfo") SEQ, 6, 8, 10, SKIP | EXT | OPT, 0, NULL},
1093  {FNAME("h245SecurityMode") CHOICE, 2, 4, 4, SKIP | EXT | OPT, 0,
1094  NULL},
1095 };
1096 
1097 static const struct field_t _CallIdentifier[] = { /* SEQUENCE */
1098  {FNAME("guid") OCTSTR, FIXD, 16, 0, SKIP, 0, NULL},
1099 };
1100 
1101 static const struct field_t _SecurityServiceMode[] = { /* CHOICE */
1102  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0, _NonStandardParameter},
1103  {FNAME("none") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1104  {FNAME("default") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1105 };
1106 
1107 static const struct field_t _SecurityCapabilities[] = { /* SEQUENCE */
1108  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP | OPT, 0,
1109  _NonStandardParameter},
1110  {FNAME("encryption") CHOICE, 2, 3, 3, SKIP | EXT, 0,
1111  _SecurityServiceMode},
1112  {FNAME("authenticaton") CHOICE, 2, 3, 3, SKIP | EXT, 0,
1113  _SecurityServiceMode},
1114  {FNAME("integrity") CHOICE, 2, 3, 3, SKIP | EXT, 0,
1115  _SecurityServiceMode},
1116 };
1117 
1118 static const struct field_t _H245Security[] = { /* CHOICE */
1119  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP, 0, _NonStandardParameter},
1120  {FNAME("noSecurity") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1121  {FNAME("tls") SEQ, 1, 4, 4, SKIP | EXT, 0, _SecurityCapabilities},
1122  {FNAME("ipsec") SEQ, 1, 4, 4, SKIP | EXT, 0, _SecurityCapabilities},
1123 };
1124 
1125 static const struct field_t _DHset[] = { /* SEQUENCE */
1126  {FNAME("halfkey") BITSTR, WORD, 0, 0, SKIP, 0, NULL},
1127  {FNAME("modSize") BITSTR, WORD, 0, 0, SKIP, 0, NULL},
1128  {FNAME("generator") BITSTR, WORD, 0, 0, SKIP, 0, NULL},
1129 };
1130 
1131 static const struct field_t _TypedCertificate[] = { /* SEQUENCE */
1132  {FNAME("type") OID, BYTE, 0, 0, SKIP, 0, NULL},
1133  {FNAME("certificate") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
1134 };
1135 
1136 static const struct field_t _H235_NonStandardParameter[] = { /* SEQUENCE */
1137  {FNAME("nonStandardIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1138  {FNAME("data") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
1139 };
1140 
1141 static const struct field_t _ClearToken[] = { /* SEQUENCE */
1142  {FNAME("tokenOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1143  {FNAME("timeStamp") INT, CONS, 1, 0, SKIP | OPT, 0, NULL},
1144  {FNAME("password") BMPSTR, 7, 1, 0, SKIP | OPT, 0, NULL},
1145  {FNAME("dhkey") SEQ, 0, 3, 3, SKIP | EXT | OPT, 0, _DHset},
1146  {FNAME("challenge") OCTSTR, 7, 8, 0, SKIP | OPT, 0, NULL},
1147  {FNAME("random") INT, UNCO, 0, 0, SKIP | OPT, 0, NULL},
1148  {FNAME("certificate") SEQ, 0, 2, 2, SKIP | EXT | OPT, 0,
1149  _TypedCertificate},
1150  {FNAME("generalID") BMPSTR, 7, 1, 0, SKIP | OPT, 0, NULL},
1151  {FNAME("nonStandard") SEQ, 0, 2, 2, SKIP | OPT, 0,
1152  _H235_NonStandardParameter},
1153  {FNAME("eckasdhkey") CHOICE, 1, 2, 2, SKIP | EXT | OPT, 0, NULL},
1154  {FNAME("sendersID") BMPSTR, 7, 1, 0, SKIP | OPT, 0, NULL},
1155 };
1156 
1157 static const struct field_t _Progress_UUIE_tokens[] = { /* SEQUENCE OF */
1158  {FNAME("item") SEQ, 8, 9, 11, SKIP | EXT, 0, _ClearToken},
1159 };
1160 
1161 static const struct field_t _Params[] = { /* SEQUENCE */
1162  {FNAME("ranInt") INT, UNCO, 0, 0, SKIP | OPT, 0, NULL},
1163  {FNAME("iv8") OCTSTR, FIXD, 8, 0, SKIP | OPT, 0, NULL},
1164  {FNAME("iv16") OCTSTR, FIXD, 16, 0, SKIP | OPT, 0, NULL},
1165 };
1166 
1167 static const struct field_t _CryptoH323Token_cryptoEPPwdHash_token[] = { /* SEQUENCE */
1168  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1169  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1170  {FNAME("hash") BITSTR, SEMI, 0, 0, SKIP, 0, NULL},
1171 };
1172 
1173 static const struct field_t _CryptoH323Token_cryptoEPPwdHash[] = { /* SEQUENCE */
1174  {FNAME("alias") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1175  {FNAME("timeStamp") INT, CONS, 1, 0, SKIP, 0, NULL},
1176  {FNAME("token") SEQ, 0, 3, 3, SKIP, 0,
1177  _CryptoH323Token_cryptoEPPwdHash_token},
1178 };
1179 
1180 static const struct field_t _CryptoH323Token_cryptoGKPwdHash_token[] = { /* SEQUENCE */
1181  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1182  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1183  {FNAME("hash") BITSTR, SEMI, 0, 0, SKIP, 0, NULL},
1184 };
1185 
1186 static const struct field_t _CryptoH323Token_cryptoGKPwdHash[] = { /* SEQUENCE */
1187  {FNAME("gatekeeperId") BMPSTR, 7, 1, 0, SKIP, 0, NULL},
1188  {FNAME("timeStamp") INT, CONS, 1, 0, SKIP, 0, NULL},
1189  {FNAME("token") SEQ, 0, 3, 3, SKIP, 0,
1190  _CryptoH323Token_cryptoGKPwdHash_token},
1191 };
1192 
1193 static const struct field_t _CryptoH323Token_cryptoEPPwdEncr[] = { /* SEQUENCE */
1194  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1195  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1196  {FNAME("encryptedData") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
1197 };
1198 
1199 static const struct field_t _CryptoH323Token_cryptoGKPwdEncr[] = { /* SEQUENCE */
1200  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1201  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1202  {FNAME("encryptedData") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
1203 };
1204 
1205 static const struct field_t _CryptoH323Token_cryptoEPCert[] = { /* SEQUENCE */
1206  {FNAME("toBeSigned") SEQ, 8, 9, 11, SKIP | OPEN | EXT, 0, NULL},
1207  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1208  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1209  {FNAME("signature") BITSTR, SEMI, 0, 0, SKIP, 0, NULL},
1210 };
1211 
1212 static const struct field_t _CryptoH323Token_cryptoGKCert[] = { /* SEQUENCE */
1213  {FNAME("toBeSigned") SEQ, 8, 9, 11, SKIP | OPEN | EXT, 0, NULL},
1214  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1215  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1216  {FNAME("signature") BITSTR, SEMI, 0, 0, SKIP, 0, NULL},
1217 };
1218 
1219 static const struct field_t _CryptoH323Token_cryptoFastStart[] = { /* SEQUENCE */
1220  {FNAME("toBeSigned") SEQ, 8, 9, 11, SKIP | OPEN | EXT, 0, NULL},
1221  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1222  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1223  {FNAME("signature") BITSTR, SEMI, 0, 0, SKIP, 0, NULL},
1224 };
1225 
1226 static const struct field_t _CryptoToken_cryptoEncryptedToken_token[] = { /* SEQUENCE */
1227  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1228  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1229  {FNAME("encryptedData") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
1230 };
1231 
1232 static const struct field_t _CryptoToken_cryptoEncryptedToken[] = { /* SEQUENCE */
1233  {FNAME("tokenOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1234  {FNAME("token") SEQ, 0, 3, 3, SKIP, 0,
1235  _CryptoToken_cryptoEncryptedToken_token},
1236 };
1237 
1238 static const struct field_t _CryptoToken_cryptoSignedToken_token[] = { /* SEQUENCE */
1239  {FNAME("toBeSigned") SEQ, 8, 9, 11, SKIP | OPEN | EXT, 0, NULL},
1240  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1241  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1242  {FNAME("signature") BITSTR, SEMI, 0, 0, SKIP, 0, NULL},
1243 };
1244 
1245 static const struct field_t _CryptoToken_cryptoSignedToken[] = { /* SEQUENCE */
1246  {FNAME("tokenOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1247  {FNAME("token") SEQ, 0, 4, 4, SKIP, 0,
1248  _CryptoToken_cryptoSignedToken_token},
1249 };
1250 
1251 static const struct field_t _CryptoToken_cryptoHashedToken_token[] = { /* SEQUENCE */
1252  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1253  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1254  {FNAME("hash") BITSTR, SEMI, 0, 0, SKIP, 0, NULL},
1255 };
1256 
1257 static const struct field_t _CryptoToken_cryptoHashedToken[] = { /* SEQUENCE */
1258  {FNAME("tokenOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1259  {FNAME("hashedVals") SEQ, 8, 9, 11, SKIP | EXT, 0, _ClearToken},
1260  {FNAME("token") SEQ, 0, 3, 3, SKIP, 0,
1261  _CryptoToken_cryptoHashedToken_token},
1262 };
1263 
1264 static const struct field_t _CryptoToken_cryptoPwdEncr[] = { /* SEQUENCE */
1265  {FNAME("algorithmOID") OID, BYTE, 0, 0, SKIP, 0, NULL},
1266  {FNAME("paramS") SEQ, 2, 2, 3, SKIP | EXT, 0, _Params},
1267  {FNAME("encryptedData") OCTSTR, SEMI, 0, 0, SKIP, 0, NULL},
1268 };
1269 
1270 static const struct field_t _CryptoToken[] = { /* CHOICE */
1271  {FNAME("cryptoEncryptedToken") SEQ, 0, 2, 2, SKIP, 0,
1272  _CryptoToken_cryptoEncryptedToken},
1273  {FNAME("cryptoSignedToken") SEQ, 0, 2, 2, SKIP, 0,
1274  _CryptoToken_cryptoSignedToken},
1275  {FNAME("cryptoHashedToken") SEQ, 0, 3, 3, SKIP, 0,
1276  _CryptoToken_cryptoHashedToken},
1277  {FNAME("cryptoPwdEncr") SEQ, 0, 3, 3, SKIP, 0,
1278  _CryptoToken_cryptoPwdEncr},
1279 };
1280 
1281 static const struct field_t _CryptoH323Token[] = { /* CHOICE */
1282  {FNAME("cryptoEPPwdHash") SEQ, 0, 3, 3, SKIP, 0,
1283  _CryptoH323Token_cryptoEPPwdHash},
1284  {FNAME("cryptoGKPwdHash") SEQ, 0, 3, 3, SKIP, 0,
1285  _CryptoH323Token_cryptoGKPwdHash},
1286  {FNAME("cryptoEPPwdEncr") SEQ, 0, 3, 3, SKIP, 0,
1287  _CryptoH323Token_cryptoEPPwdEncr},
1288  {FNAME("cryptoGKPwdEncr") SEQ, 0, 3, 3, SKIP, 0,
1289  _CryptoH323Token_cryptoGKPwdEncr},
1290  {FNAME("cryptoEPCert") SEQ, 0, 4, 4, SKIP, 0,
1291  _CryptoH323Token_cryptoEPCert},
1292  {FNAME("cryptoGKCert") SEQ, 0, 4, 4, SKIP, 0,
1293  _CryptoH323Token_cryptoGKCert},
1294  {FNAME("cryptoFastStart") SEQ, 0, 4, 4, SKIP, 0,
1295  _CryptoH323Token_cryptoFastStart},
1296  {FNAME("nestedcryptoToken") CHOICE, 2, 4, 4, SKIP | EXT, 0,
1297  _CryptoToken},
1298 };
1299 
1300 static const struct field_t _Progress_UUIE_cryptoTokens[] = { /* SEQUENCE OF */
1301  {FNAME("item") CHOICE, 3, 8, 8, SKIP | EXT, 0, _CryptoH323Token},
1302 };
1303 
1304 static const struct field_t _Progress_UUIE_fastStart[] = { /* SEQUENCE OF */
1305  {FNAME("item") SEQ, 1, 3, 5, DECODE | OPEN | EXT,
1306  sizeof(OpenLogicalChannel), _OpenLogicalChannel}
1307  ,
1308 };
1309 
1310 static const struct field_t _Progress_UUIE[] = { /* SEQUENCE */
1311  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1312  {FNAME("destinationInfo") SEQ, 6, 8, 10, SKIP | EXT, 0,
1313  _EndpointType},
1314  {FNAME("h245Address") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
1315  offsetof(Progress_UUIE, h245Address), _TransportAddress},
1316  {FNAME("callIdentifier") SEQ, 0, 1, 1, SKIP | EXT, 0,
1317  _CallIdentifier},
1318  {FNAME("h245SecurityMode") CHOICE, 2, 4, 4, SKIP | EXT | OPT, 0,
1319  _H245Security},
1320  {FNAME("tokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1321  _Progress_UUIE_tokens},
1322  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1323  _Progress_UUIE_cryptoTokens},
1324  {FNAME("fastStart") SEQOF, SEMI, 0, 30, DECODE | OPT,
1325  offsetof(Progress_UUIE, fastStart), _Progress_UUIE_fastStart},
1326  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
1327  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
1328  {FNAME("fastConnectRefused") NUL, FIXD, 0, 0, SKIP | OPT, 0, NULL},
1329 };
1330 
1331 static const struct field_t _H323_UU_PDU_h323_message_body[] = { /* CHOICE */
1332  {FNAME("setup") SEQ, 7, 13, 39, DECODE | EXT,
1334  {FNAME("callProceeding") SEQ, 1, 3, 12, DECODE | EXT,
1335  offsetof(H323_UU_PDU_h323_message_body, callProceeding),
1336  _CallProceeding_UUIE},
1337  {FNAME("connect") SEQ, 1, 4, 19, DECODE | EXT,
1338  offsetof(H323_UU_PDU_h323_message_body, connect), _Connect_UUIE},
1339  {FNAME("alerting") SEQ, 1, 3, 17, DECODE | EXT,
1340  offsetof(H323_UU_PDU_h323_message_body, alerting), _Alerting_UUIE},
1341  {FNAME("information") SEQ, 0, 1, 7, SKIP | EXT, 0, _Information_UUIE},
1342  {FNAME("releaseComplete") SEQ, 1, 2, 11, SKIP | EXT, 0,
1343  _ReleaseComplete_UUIE},
1344  {FNAME("facility") SEQ, 3, 5, 21, DECODE | EXT,
1345  offsetof(H323_UU_PDU_h323_message_body, facility), _Facility_UUIE},
1346  {FNAME("progress") SEQ, 5, 8, 11, DECODE | EXT,
1347  offsetof(H323_UU_PDU_h323_message_body, progress), _Progress_UUIE},
1348  {FNAME("empty") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1349  {FNAME("status") SEQ, 2, 4, 4, SKIP | EXT, 0, NULL},
1350  {FNAME("statusInquiry") SEQ, 2, 4, 4, SKIP | EXT, 0, NULL},
1351  {FNAME("setupAcknowledge") SEQ, 2, 4, 4, SKIP | EXT, 0, NULL},
1352  {FNAME("notify") SEQ, 2, 4, 4, SKIP | EXT, 0, NULL},
1353 };
1354 
1355 static const struct field_t _RequestMessage[] = { /* CHOICE */
1356  {FNAME("nonStandard") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1357  {FNAME("masterSlaveDetermination") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1358  {FNAME("terminalCapabilitySet") SEQ, 3, 5, 5, STOP | EXT, 0, NULL},
1359  {FNAME("openLogicalChannel") SEQ, 1, 3, 5, DECODE | EXT,
1360  offsetof(RequestMessage, openLogicalChannel), _OpenLogicalChannel},
1361  {FNAME("closeLogicalChannel") SEQ, 0, 2, 3, STOP | EXT, 0, NULL},
1362  {FNAME("requestChannelClose") SEQ, 0, 1, 3, STOP | EXT, 0, NULL},
1363  {FNAME("multiplexEntrySend") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1364  {FNAME("requestMultiplexEntry") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1365  {FNAME("requestMode") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1366  {FNAME("roundTripDelayRequest") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1367  {FNAME("maintenanceLoopRequest") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1368  {FNAME("communicationModeRequest") SEQ, 0, 0, 0, STOP | EXT, 0, NULL},
1369  {FNAME("conferenceRequest") CHOICE, 3, 8, 16, STOP | EXT, 0, NULL},
1370  {FNAME("multilinkRequest") CHOICE, 3, 5, 5, STOP | EXT, 0, NULL},
1371  {FNAME("logicalChannelRateRequest") SEQ, 0, 3, 3, STOP | EXT, 0,
1372  NULL},
1373 };
1374 
1375 static const struct field_t _OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters[] = { /* CHOICE */
1376  {FNAME("h222LogicalChannelParameters") SEQ, 3, 5, 5, SKIP | EXT, 0,
1377  _H222LogicalChannelParameters},
1378  {FNAME("h2250LogicalChannelParameters") SEQ, 10, 11, 14, DECODE | EXT,
1379  offsetof
1381  h2250LogicalChannelParameters), _H2250LogicalChannelParameters},
1382 };
1383 
1384 static const struct field_t _OpenLogicalChannelAck_reverseLogicalChannelParameters[] = { /* SEQUENCE */
1385  {FNAME("reverseLogicalChannelNumber") INT, WORD, 1, 0, SKIP, 0, NULL},
1386  {FNAME("portNumber") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
1387  {FNAME("multiplexParameters") CHOICE, 0, 1, 2, DECODE | EXT | OPT,
1389  multiplexParameters),
1390  _OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters},
1391  {FNAME("replacementFor") INT, WORD, 1, 0, SKIP | OPT, 0, NULL},
1392 };
1393 
1394 static const struct field_t _H2250LogicalChannelAckParameters_nonStandard[] = { /* SEQUENCE OF */
1395  {FNAME("item") SEQ, 0, 2, 2, SKIP, 0, _H245_NonStandardParameter},
1396 };
1397 
1398 static const struct field_t _H2250LogicalChannelAckParameters[] = { /* SEQUENCE */
1399  {FNAME("nonStandard") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1400  _H2250LogicalChannelAckParameters_nonStandard},
1401  {FNAME("sessionID") INT, 8, 1, 0, SKIP | OPT, 0, NULL},
1402  {FNAME("mediaChannel") CHOICE, 1, 2, 2, DECODE | EXT | OPT,
1404  _H245_TransportAddress},
1405  {FNAME("mediaControlChannel") CHOICE, 1, 2, 2, DECODE | EXT | OPT,
1406  offsetof(H2250LogicalChannelAckParameters, mediaControlChannel),
1407  _H245_TransportAddress},
1408  {FNAME("dynamicRTPPayloadType") INT, 5, 96, 0, SKIP | OPT, 0, NULL},
1409  {FNAME("flowControlToZero") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
1410  {FNAME("portNumber") INT, WORD, 0, 0, SKIP | OPT, 0, NULL},
1411 };
1412 
1413 static const struct field_t _OpenLogicalChannelAck_forwardMultiplexAckParameters[] = { /* CHOICE */
1414  {FNAME("h2250LogicalChannelAckParameters") SEQ, 5, 5, 7, DECODE | EXT,
1416  h2250LogicalChannelAckParameters),
1417  _H2250LogicalChannelAckParameters},
1418 };
1419 
1420 static const struct field_t _OpenLogicalChannelAck[] = { /* SEQUENCE */
1421  {FNAME("forwardLogicalChannelNumber") INT, WORD, 1, 0, SKIP, 0, NULL},
1422  {FNAME("reverseLogicalChannelParameters") SEQ, 2, 3, 4,
1423  DECODE | EXT | OPT, offsetof(OpenLogicalChannelAck,
1424  reverseLogicalChannelParameters),
1425  _OpenLogicalChannelAck_reverseLogicalChannelParameters},
1426  {FNAME("separateStack") SEQ, 2, 4, 5, DECODE | EXT | OPT,
1427  offsetof(OpenLogicalChannelAck, separateStack),
1428  _NetworkAccessParameters},
1429  {FNAME("forwardMultiplexAckParameters") CHOICE, 0, 1, 1,
1430  DECODE | EXT | OPT, offsetof(OpenLogicalChannelAck,
1431  forwardMultiplexAckParameters),
1432  _OpenLogicalChannelAck_forwardMultiplexAckParameters},
1433  {FNAME("encryptionSync") SEQ, 2, 4, 4, STOP | EXT | OPT, 0, NULL},
1434 };
1435 
1436 static const struct field_t _ResponseMessage[] = { /* CHOICE */
1437  {FNAME("nonStandard") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1438  {FNAME("masterSlaveDeterminationAck") SEQ, 0, 1, 1, STOP | EXT, 0,
1439  NULL},
1440  {FNAME("masterSlaveDeterminationReject") SEQ, 0, 1, 1, STOP | EXT, 0,
1441  NULL},
1442  {FNAME("terminalCapabilitySetAck") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1443  {FNAME("terminalCapabilitySetReject") SEQ, 0, 2, 2, STOP | EXT, 0,
1444  NULL},
1445  {FNAME("openLogicalChannelAck") SEQ, 1, 2, 5, DECODE | EXT,
1446  offsetof(ResponseMessage, openLogicalChannelAck),
1447  _OpenLogicalChannelAck},
1448  {FNAME("openLogicalChannelReject") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1449  {FNAME("closeLogicalChannelAck") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1450  {FNAME("requestChannelCloseAck") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1451  {FNAME("requestChannelCloseReject") SEQ, 0, 2, 2, STOP | EXT, 0,
1452  NULL},
1453  {FNAME("multiplexEntrySendAck") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1454  {FNAME("multiplexEntrySendReject") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1455  {FNAME("requestMultiplexEntryAck") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1456  {FNAME("requestMultiplexEntryReject") SEQ, 0, 2, 2, STOP | EXT, 0,
1457  NULL},
1458  {FNAME("requestModeAck") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1459  {FNAME("requestModeReject") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1460  {FNAME("roundTripDelayResponse") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1461  {FNAME("maintenanceLoopAck") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1462  {FNAME("maintenanceLoopReject") SEQ, 0, 2, 2, STOP | EXT, 0, NULL},
1463  {FNAME("communicationModeResponse") CHOICE, 0, 1, 1, STOP | EXT, 0,
1464  NULL},
1465  {FNAME("conferenceResponse") CHOICE, 3, 8, 16, STOP | EXT, 0, NULL},
1466  {FNAME("multilinkResponse") CHOICE, 3, 5, 5, STOP | EXT, 0, NULL},
1467  {FNAME("logicalChannelRateAcknowledge") SEQ, 0, 3, 3, STOP | EXT, 0,
1468  NULL},
1469  {FNAME("logicalChannelRateReject") SEQ, 1, 4, 4, STOP | EXT, 0, NULL},
1470 };
1471 
1472 static const struct field_t _MultimediaSystemControlMessage[] = { /* CHOICE */
1473  {FNAME("request") CHOICE, 4, 11, 15, DECODE | EXT,
1474  offsetof(MultimediaSystemControlMessage, request), _RequestMessage},
1475  {FNAME("response") CHOICE, 5, 19, 24, DECODE | EXT,
1476  offsetof(MultimediaSystemControlMessage, response),
1477  _ResponseMessage},
1478  {FNAME("command") CHOICE, 3, 7, 12, STOP | EXT, 0, NULL},
1479  {FNAME("indication") CHOICE, 4, 14, 23, STOP | EXT, 0, NULL},
1480 };
1481 
1482 static const struct field_t _H323_UU_PDU_h245Control[] = { /* SEQUENCE OF */
1483  {FNAME("item") CHOICE, 2, 4, 4, DECODE | OPEN | EXT,
1484  sizeof(MultimediaSystemControlMessage),
1485  _MultimediaSystemControlMessage}
1486  ,
1487 };
1488 
1489 static const struct field_t _H323_UU_PDU[] = { /* SEQUENCE */
1490  {FNAME("h323-message-body") CHOICE, 3, 7, 13, DECODE | EXT,
1491  offsetof(H323_UU_PDU, h323_message_body),
1492  _H323_UU_PDU_h323_message_body},
1493  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
1494  _NonStandardParameter},
1495  {FNAME("h4501SupplementaryService") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1496  NULL},
1497  {FNAME("h245Tunneling") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
1498  {FNAME("h245Control") SEQOF, SEMI, 0, 4, DECODE | OPT,
1499  offsetof(H323_UU_PDU, h245Control), _H323_UU_PDU_h245Control},
1500  {FNAME("nonStandardControl") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1501  {FNAME("callLinkage") SEQ, 2, 2, 2, STOP | EXT | OPT, 0, NULL},
1502  {FNAME("tunnelledSignallingMessage") SEQ, 2, 4, 4, STOP | EXT | OPT,
1503  0, NULL},
1504  {FNAME("provisionalRespToH245Tunneling") NUL, FIXD, 0, 0, STOP | OPT,
1505  0, NULL},
1506  {FNAME("stimulusControl") SEQ, 3, 3, 3, STOP | EXT | OPT, 0, NULL},
1507  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1508 };
1509 
1510 static const struct field_t _H323_UserInformation[] = { /* SEQUENCE */
1511  {FNAME("h323-uu-pdu") SEQ, 1, 2, 11, DECODE | EXT,
1512  offsetof(H323_UserInformation, h323_uu_pdu), _H323_UU_PDU},
1513  {FNAME("user-data") SEQ, 0, 2, 2, STOP | EXT | OPT, 0, NULL},
1514 };
1515 
1516 static const struct field_t _GatekeeperRequest[] = { /* SEQUENCE */
1517  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1518  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1519  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
1520  _NonStandardParameter},
1521  {FNAME("rasAddress") CHOICE, 3, 7, 7, DECODE | EXT,
1522  offsetof(GatekeeperRequest, rasAddress), _TransportAddress},
1523  {FNAME("endpointType") SEQ, 6, 8, 10, STOP | EXT, 0, NULL},
1524  {FNAME("gatekeeperIdentifier") BMPSTR, 7, 1, 0, STOP | OPT, 0, NULL},
1525  {FNAME("callServices") SEQ, 0, 8, 8, STOP | EXT | OPT, 0, NULL},
1526  {FNAME("endpointAlias") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1527  {FNAME("alternateEndpoints") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1528  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1529  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1530  {FNAME("authenticationCapability") SEQOF, SEMI, 0, 0, STOP | OPT, 0,
1531  NULL},
1532  {FNAME("algorithmOIDs") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1533  {FNAME("integrity") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1534  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1535  {FNAME("supportsAltGK") NUL, FIXD, 0, 0, STOP | OPT, 0, NULL},
1536  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1537  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1538 };
1539 
1540 static const struct field_t _GatekeeperConfirm[] = { /* SEQUENCE */
1541  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1542  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1543  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
1544  _NonStandardParameter},
1545  {FNAME("gatekeeperIdentifier") BMPSTR, 7, 1, 0, SKIP | OPT, 0, NULL},
1546  {FNAME("rasAddress") CHOICE, 3, 7, 7, DECODE | EXT,
1547  offsetof(GatekeeperConfirm, rasAddress), _TransportAddress},
1548  {FNAME("alternateGatekeeper") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1549  {FNAME("authenticationMode") CHOICE, 3, 7, 8, STOP | EXT | OPT, 0,
1550  NULL},
1551  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1552  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1553  {FNAME("algorithmOID") OID, BYTE, 0, 0, STOP | OPT, 0, NULL},
1554  {FNAME("integrity") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1555  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1556  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1557  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1558 };
1559 
1560 static const struct field_t _RegistrationRequest_callSignalAddress[] = { /* SEQUENCE OF */
1561  {FNAME("item") CHOICE, 3, 7, 7, DECODE | EXT,
1562  sizeof(TransportAddress), _TransportAddress}
1563  ,
1564 };
1565 
1566 static const struct field_t _RegistrationRequest_rasAddress[] = { /* SEQUENCE OF */
1567  {FNAME("item") CHOICE, 3, 7, 7, DECODE | EXT,
1568  sizeof(TransportAddress), _TransportAddress}
1569  ,
1570 };
1571 
1572 static const struct field_t _RegistrationRequest_terminalAlias[] = { /* SEQUENCE OF */
1573  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1574 };
1575 
1576 static const struct field_t _RegistrationRequest[] = { /* SEQUENCE */
1577  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1578  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1579  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
1580  _NonStandardParameter},
1581  {FNAME("discoveryComplete") BOOL, FIXD, 0, 0, SKIP, 0, NULL},
1582  {FNAME("callSignalAddress") SEQOF, SEMI, 0, 10, DECODE,
1583  offsetof(RegistrationRequest, callSignalAddress),
1584  _RegistrationRequest_callSignalAddress},
1585  {FNAME("rasAddress") SEQOF, SEMI, 0, 10, DECODE,
1586  offsetof(RegistrationRequest, rasAddress),
1587  _RegistrationRequest_rasAddress},
1588  {FNAME("terminalType") SEQ, 6, 8, 10, SKIP | EXT, 0, _EndpointType},
1589  {FNAME("terminalAlias") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1590  _RegistrationRequest_terminalAlias},
1591  {FNAME("gatekeeperIdentifier") BMPSTR, 7, 1, 0, SKIP | OPT, 0, NULL},
1592  {FNAME("endpointVendor") SEQ, 2, 3, 3, SKIP | EXT, 0,
1593  _VendorIdentifier},
1594  {FNAME("alternateEndpoints") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1595  {FNAME("timeToLive") INT, CONS, 1, 0, DECODE | OPT,
1596  offsetof(RegistrationRequest, timeToLive), NULL},
1597  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1598  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1599  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1600  {FNAME("keepAlive") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1601  {FNAME("endpointIdentifier") BMPSTR, 7, 1, 0, STOP | OPT, 0, NULL},
1602  {FNAME("willSupplyUUIEs") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1603  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1604  {FNAME("alternateTransportAddresses") SEQ, 1, 1, 1, STOP | EXT | OPT,
1605  0, NULL},
1606  {FNAME("additiveRegistration") NUL, FIXD, 0, 0, STOP | OPT, 0, NULL},
1607  {FNAME("terminalAliasPattern") SEQOF, SEMI, 0, 0, STOP | OPT, 0,
1608  NULL},
1609  {FNAME("supportsAltGK") NUL, FIXD, 0, 0, STOP | OPT, 0, NULL},
1610  {FNAME("usageReportingCapability") SEQ, 3, 4, 4, STOP | EXT | OPT, 0,
1611  NULL},
1612  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, STOP | OPT, 0, NULL},
1613  {FNAME("supportedH248Packages") SEQOF, SEMI, 0, 0, STOP | OPT, 0,
1614  NULL},
1615  {FNAME("callCreditCapability") SEQ, 2, 2, 2, STOP | EXT | OPT, 0,
1616  NULL},
1617  {FNAME("capacityReportingCapability") SEQ, 0, 1, 1, STOP | EXT | OPT,
1618  0, NULL},
1619  {FNAME("capacity") SEQ, 2, 2, 2, STOP | EXT | OPT, 0, NULL},
1620  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1621  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1622 };
1623 
1624 static const struct field_t _RegistrationConfirm_callSignalAddress[] = { /* SEQUENCE OF */
1625  {FNAME("item") CHOICE, 3, 7, 7, DECODE | EXT,
1626  sizeof(TransportAddress), _TransportAddress}
1627  ,
1628 };
1629 
1630 static const struct field_t _RegistrationConfirm_terminalAlias[] = { /* SEQUENCE OF */
1631  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1632 };
1633 
1634 static const struct field_t _RegistrationConfirm[] = { /* SEQUENCE */
1635  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1636  {FNAME("protocolIdentifier") OID, BYTE, 0, 0, SKIP, 0, NULL},
1637  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
1638  _NonStandardParameter},
1639  {FNAME("callSignalAddress") SEQOF, SEMI, 0, 10, DECODE,
1640  offsetof(RegistrationConfirm, callSignalAddress),
1641  _RegistrationConfirm_callSignalAddress},
1642  {FNAME("terminalAlias") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1643  _RegistrationConfirm_terminalAlias},
1644  {FNAME("gatekeeperIdentifier") BMPSTR, 7, 1, 0, SKIP | OPT, 0, NULL},
1645  {FNAME("endpointIdentifier") BMPSTR, 7, 1, 0, SKIP, 0, NULL},
1646  {FNAME("alternateGatekeeper") SEQOF, SEMI, 0, 0, SKIP | OPT, 0, NULL},
1647  {FNAME("timeToLive") INT, CONS, 1, 0, DECODE | OPT,
1648  offsetof(RegistrationConfirm, timeToLive), NULL},
1649  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1650  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1651  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1652  {FNAME("willRespondToIRR") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1653  {FNAME("preGrantedARQ") SEQ, 0, 4, 8, STOP | EXT | OPT, 0, NULL},
1654  {FNAME("maintainConnection") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1655  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1656  {FNAME("supportsAdditiveRegistration") NUL, FIXD, 0, 0, STOP | OPT, 0,
1657  NULL},
1658  {FNAME("terminalAliasPattern") SEQOF, SEMI, 0, 0, STOP | OPT, 0,
1659  NULL},
1660  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1661  {FNAME("usageSpec") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1662  {FNAME("featureServerAlias") CHOICE, 1, 2, 7, STOP | EXT | OPT, 0,
1663  NULL},
1664  {FNAME("capacityReportingSpec") SEQ, 0, 1, 1, STOP | EXT | OPT, 0,
1665  NULL},
1666  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1667  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1668 };
1669 
1670 static const struct field_t _UnregistrationRequest_callSignalAddress[] = { /* SEQUENCE OF */
1671  {FNAME("item") CHOICE, 3, 7, 7, DECODE | EXT,
1672  sizeof(TransportAddress), _TransportAddress}
1673  ,
1674 };
1675 
1676 static const struct field_t _UnregistrationRequest[] = { /* SEQUENCE */
1677  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1678  {FNAME("callSignalAddress") SEQOF, SEMI, 0, 10, DECODE,
1679  offsetof(UnregistrationRequest, callSignalAddress),
1680  _UnregistrationRequest_callSignalAddress},
1681  {FNAME("endpointAlias") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1682  {FNAME("nonStandardData") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1683  {FNAME("endpointIdentifier") BMPSTR, 7, 1, 0, STOP | OPT, 0, NULL},
1684  {FNAME("alternateEndpoints") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1685  {FNAME("gatekeeperIdentifier") BMPSTR, 7, 1, 0, STOP | OPT, 0, NULL},
1686  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1687  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1688  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1689  {FNAME("reason") CHOICE, 2, 4, 5, STOP | EXT | OPT, 0, NULL},
1690  {FNAME("endpointAliasPattern") SEQOF, SEMI, 0, 0, STOP | OPT, 0,
1691  NULL},
1692  {FNAME("supportedPrefixes") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1693  {FNAME("alternateGatekeeper") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1694  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1695 };
1696 
1697 static const struct field_t _CallModel[] = { /* CHOICE */
1698  {FNAME("direct") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1699  {FNAME("gatekeeperRouted") NUL, FIXD, 0, 0, SKIP, 0, NULL},
1700 };
1701 
1702 static const struct field_t _AdmissionRequest_destinationInfo[] = { /* SEQUENCE OF */
1703  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1704 };
1705 
1706 static const struct field_t _AdmissionRequest_destExtraCallInfo[] = { /* SEQUENCE OF */
1707  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1708 };
1709 
1710 static const struct field_t _AdmissionRequest_srcInfo[] = { /* SEQUENCE OF */
1711  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1712 };
1713 
1714 static const struct field_t _AdmissionRequest[] = { /* SEQUENCE */
1715  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1716  {FNAME("callType") CHOICE, 2, 4, 4, SKIP | EXT, 0, _CallType},
1717  {FNAME("callModel") CHOICE, 1, 2, 2, SKIP | EXT | OPT, 0, _CallModel},
1718  {FNAME("endpointIdentifier") BMPSTR, 7, 1, 0, SKIP, 0, NULL},
1719  {FNAME("destinationInfo") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1720  _AdmissionRequest_destinationInfo},
1721  {FNAME("destCallSignalAddress") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
1722  offsetof(AdmissionRequest, destCallSignalAddress),
1723  _TransportAddress},
1724  {FNAME("destExtraCallInfo") SEQOF, SEMI, 0, 0, SKIP | OPT, 0,
1725  _AdmissionRequest_destExtraCallInfo},
1726  {FNAME("srcInfo") SEQOF, SEMI, 0, 0, SKIP, 0,
1727  _AdmissionRequest_srcInfo},
1728  {FNAME("srcCallSignalAddress") CHOICE, 3, 7, 7, DECODE | EXT | OPT,
1729  offsetof(AdmissionRequest, srcCallSignalAddress), _TransportAddress},
1730  {FNAME("bandWidth") INT, CONS, 0, 0, STOP, 0, NULL},
1731  {FNAME("callReferenceValue") INT, WORD, 0, 0, STOP, 0, NULL},
1732  {FNAME("nonStandardData") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1733  {FNAME("callServices") SEQ, 0, 8, 8, STOP | EXT | OPT, 0, NULL},
1734  {FNAME("conferenceID") OCTSTR, FIXD, 16, 0, STOP, 0, NULL},
1735  {FNAME("activeMC") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1736  {FNAME("answerCall") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1737  {FNAME("canMapAlias") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1738  {FNAME("callIdentifier") SEQ, 0, 1, 1, STOP | EXT, 0, NULL},
1739  {FNAME("srcAlternatives") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1740  {FNAME("destAlternatives") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1741  {FNAME("gatekeeperIdentifier") BMPSTR, 7, 1, 0, STOP | OPT, 0, NULL},
1742  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1743  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1744  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1745  {FNAME("transportQOS") CHOICE, 2, 3, 3, STOP | EXT | OPT, 0, NULL},
1746  {FNAME("willSupplyUUIEs") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1747  {FNAME("callLinkage") SEQ, 2, 2, 2, STOP | EXT | OPT, 0, NULL},
1748  {FNAME("gatewayDataRate") SEQ, 2, 3, 3, STOP | EXT | OPT, 0, NULL},
1749  {FNAME("capacity") SEQ, 2, 2, 2, STOP | EXT | OPT, 0, NULL},
1750  {FNAME("circuitInfo") SEQ, 3, 3, 3, STOP | EXT | OPT, 0, NULL},
1751  {FNAME("desiredProtocols") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1752  {FNAME("desiredTunnelledProtocol") SEQ, 1, 2, 2, STOP | EXT | OPT, 0,
1753  NULL},
1754  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1755  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1756 };
1757 
1758 static const struct field_t _AdmissionConfirm[] = { /* SEQUENCE */
1759  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1760  {FNAME("bandWidth") INT, CONS, 0, 0, SKIP, 0, NULL},
1761  {FNAME("callModel") CHOICE, 1, 2, 2, SKIP | EXT, 0, _CallModel},
1762  {FNAME("destCallSignalAddress") CHOICE, 3, 7, 7, DECODE | EXT,
1763  offsetof(AdmissionConfirm, destCallSignalAddress),
1764  _TransportAddress},
1765  {FNAME("irrFrequency") INT, WORD, 1, 0, STOP | OPT, 0, NULL},
1766  {FNAME("nonStandardData") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1767  {FNAME("destinationInfo") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1768  {FNAME("destExtraCallInfo") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1769  {FNAME("destinationType") SEQ, 6, 8, 10, STOP | EXT | OPT, 0, NULL},
1770  {FNAME("remoteExtensionAddress") SEQOF, SEMI, 0, 0, STOP | OPT, 0,
1771  NULL},
1772  {FNAME("alternateEndpoints") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1773  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1774  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1775  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1776  {FNAME("transportQOS") CHOICE, 2, 3, 3, STOP | EXT | OPT, 0, NULL},
1777  {FNAME("willRespondToIRR") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1778  {FNAME("uuiesRequested") SEQ, 0, 9, 13, STOP | EXT, 0, NULL},
1779  {FNAME("language") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1780  {FNAME("alternateTransportAddresses") SEQ, 1, 1, 1, STOP | EXT | OPT,
1781  0, NULL},
1782  {FNAME("useSpecifiedTransport") CHOICE, 1, 2, 2, STOP | EXT | OPT, 0,
1783  NULL},
1784  {FNAME("circuitInfo") SEQ, 3, 3, 3, STOP | EXT | OPT, 0, NULL},
1785  {FNAME("usageSpec") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1786  {FNAME("supportedProtocols") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1787  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1788  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, STOP | OPT, 0, NULL},
1789  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1790  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1791 };
1792 
1793 static const struct field_t _LocationRequest_destinationInfo[] = { /* SEQUENCE OF */
1794  {FNAME("item") CHOICE, 1, 2, 7, SKIP | EXT, 0, _AliasAddress},
1795 };
1796 
1797 static const struct field_t _LocationRequest[] = { /* SEQUENCE */
1798  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1799  {FNAME("endpointIdentifier") BMPSTR, 7, 1, 0, SKIP | OPT, 0, NULL},
1800  {FNAME("destinationInfo") SEQOF, SEMI, 0, 0, SKIP, 0,
1801  _LocationRequest_destinationInfo},
1802  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
1803  _NonStandardParameter},
1804  {FNAME("replyAddress") CHOICE, 3, 7, 7, DECODE | EXT,
1805  offsetof(LocationRequest, replyAddress), _TransportAddress},
1806  {FNAME("sourceInfo") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1807  {FNAME("canMapAlias") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1808  {FNAME("gatekeeperIdentifier") BMPSTR, 7, 1, 0, STOP | OPT, 0, NULL},
1809  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1810  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1811  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1812  {FNAME("desiredProtocols") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1813  {FNAME("desiredTunnelledProtocol") SEQ, 1, 2, 2, STOP | EXT | OPT, 0,
1814  NULL},
1815  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1816  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1817  {FNAME("hopCount") INT, 8, 1, 0, STOP | OPT, 0, NULL},
1818  {FNAME("circuitInfo") SEQ, 3, 3, 3, STOP | EXT | OPT, 0, NULL},
1819 };
1820 
1821 static const struct field_t _LocationConfirm[] = { /* SEQUENCE */
1822  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1823  {FNAME("callSignalAddress") CHOICE, 3, 7, 7, DECODE | EXT,
1824  offsetof(LocationConfirm, callSignalAddress), _TransportAddress},
1825  {FNAME("rasAddress") CHOICE, 3, 7, 7, DECODE | EXT,
1826  offsetof(LocationConfirm, rasAddress), _TransportAddress},
1827  {FNAME("nonStandardData") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1828  {FNAME("destinationInfo") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1829  {FNAME("destExtraCallInfo") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1830  {FNAME("destinationType") SEQ, 6, 8, 10, STOP | EXT | OPT, 0, NULL},
1831  {FNAME("remoteExtensionAddress") SEQOF, SEMI, 0, 0, STOP | OPT, 0,
1832  NULL},
1833  {FNAME("alternateEndpoints") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1834  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1835  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1836  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1837  {FNAME("alternateTransportAddresses") SEQ, 1, 1, 1, STOP | EXT | OPT,
1838  0, NULL},
1839  {FNAME("supportedProtocols") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1840  {FNAME("multipleCalls") BOOL, FIXD, 0, 0, STOP | OPT, 0, NULL},
1841  {FNAME("featureSet") SEQ, 3, 4, 4, STOP | EXT | OPT, 0, NULL},
1842  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1843  {FNAME("circuitInfo") SEQ, 3, 3, 3, STOP | EXT | OPT, 0, NULL},
1844  {FNAME("serviceControl") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1845 };
1846 
1847 static const struct field_t _InfoRequestResponse_callSignalAddress[] = { /* SEQUENCE OF */
1848  {FNAME("item") CHOICE, 3, 7, 7, DECODE | EXT,
1849  sizeof(TransportAddress), _TransportAddress}
1850  ,
1851 };
1852 
1853 static const struct field_t _InfoRequestResponse[] = { /* SEQUENCE */
1854  {FNAME("nonStandardData") SEQ, 0, 2, 2, SKIP | OPT, 0,
1855  _NonStandardParameter},
1856  {FNAME("requestSeqNum") INT, WORD, 1, 0, SKIP, 0, NULL},
1857  {FNAME("endpointType") SEQ, 6, 8, 10, SKIP | EXT, 0, _EndpointType},
1858  {FNAME("endpointIdentifier") BMPSTR, 7, 1, 0, SKIP, 0, NULL},
1859  {FNAME("rasAddress") CHOICE, 3, 7, 7, DECODE | EXT,
1860  offsetof(InfoRequestResponse, rasAddress), _TransportAddress},
1861  {FNAME("callSignalAddress") SEQOF, SEMI, 0, 10, DECODE,
1862  offsetof(InfoRequestResponse, callSignalAddress),
1863  _InfoRequestResponse_callSignalAddress},
1864  {FNAME("endpointAlias") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1865  {FNAME("perCallInfo") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1866  {FNAME("tokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1867  {FNAME("cryptoTokens") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1868  {FNAME("integrityCheckValue") SEQ, 0, 2, 2, STOP | OPT, 0, NULL},
1869  {FNAME("needResponse") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1870  {FNAME("capacity") SEQ, 2, 2, 2, STOP | EXT | OPT, 0, NULL},
1871  {FNAME("irrStatus") CHOICE, 2, 4, 4, STOP | EXT | OPT, 0, NULL},
1872  {FNAME("unsolicited") BOOL, FIXD, 0, 0, STOP, 0, NULL},
1873  {FNAME("genericData") SEQOF, SEMI, 0, 0, STOP | OPT, 0, NULL},
1874 };
1875 
1876 static const struct field_t _RasMessage[] = { /* CHOICE */
1877  {FNAME("gatekeeperRequest") SEQ, 4, 8, 18, DECODE | EXT,
1878  offsetof(RasMessage, gatekeeperRequest), _GatekeeperRequest},
1879  {FNAME("gatekeeperConfirm") SEQ, 2, 5, 14, DECODE | EXT,
1880  offsetof(RasMessage, gatekeeperConfirm), _GatekeeperConfirm},
1881  {FNAME("gatekeeperReject") SEQ, 2, 5, 11, STOP | EXT, 0, NULL},
1882  {FNAME("registrationRequest") SEQ, 3, 10, 31, DECODE | EXT,
1883  offsetof(RasMessage, registrationRequest), _RegistrationRequest},
1884  {FNAME("registrationConfirm") SEQ, 3, 7, 24, DECODE | EXT,
1885  offsetof(RasMessage, registrationConfirm), _RegistrationConfirm},
1886  {FNAME("registrationReject") SEQ, 2, 5, 11, STOP | EXT, 0, NULL},
1887  {FNAME("unregistrationRequest") SEQ, 3, 5, 15, DECODE | EXT,
1888  offsetof(RasMessage, unregistrationRequest), _UnregistrationRequest},
1889  {FNAME("unregistrationConfirm") SEQ, 1, 2, 6, STOP | EXT, 0, NULL},
1890  {FNAME("unregistrationReject") SEQ, 1, 3, 8, STOP | EXT, 0, NULL},
1891  {FNAME("admissionRequest") SEQ, 7, 16, 34, DECODE | EXT,
1892  offsetof(RasMessage, admissionRequest), _AdmissionRequest},
1893  {FNAME("admissionConfirm") SEQ, 2, 6, 27, DECODE | EXT,
1894  offsetof(RasMessage, admissionConfirm), _AdmissionConfirm},
1895  {FNAME("admissionReject") SEQ, 1, 3, 11, STOP | EXT, 0, NULL},
1896  {FNAME("bandwidthRequest") SEQ, 2, 7, 18, STOP | EXT, 0, NULL},
1897  {FNAME("bandwidthConfirm") SEQ, 1, 3, 8, STOP | EXT, 0, NULL},
1898  {FNAME("bandwidthReject") SEQ, 1, 4, 9, STOP | EXT, 0, NULL},
1899  {FNAME("disengageRequest") SEQ, 1, 6, 19, STOP | EXT, 0, NULL},
1900  {FNAME("disengageConfirm") SEQ, 1, 2, 9, STOP | EXT, 0, NULL},
1901  {FNAME("disengageReject") SEQ, 1, 3, 8, STOP | EXT, 0, NULL},
1902  {FNAME("locationRequest") SEQ, 2, 5, 17, DECODE | EXT,
1903  offsetof(RasMessage, locationRequest), _LocationRequest},
1904  {FNAME("locationConfirm") SEQ, 1, 4, 19, DECODE | EXT,
1905  offsetof(RasMessage, locationConfirm), _LocationConfirm},
1906  {FNAME("locationReject") SEQ, 1, 3, 10, STOP | EXT, 0, NULL},
1907  {FNAME("infoRequest") SEQ, 2, 4, 15, STOP | EXT, 0, NULL},
1908  {FNAME("infoRequestResponse") SEQ, 3, 8, 16, DECODE | EXT,
1909  offsetof(RasMessage, infoRequestResponse), _InfoRequestResponse},
1910  {FNAME("nonStandardMessage") SEQ, 0, 2, 7, STOP | EXT, 0, NULL},
1911  {FNAME("unknownMessageResponse") SEQ, 0, 1, 5, STOP | EXT, 0, NULL},
1912  {FNAME("requestInProgress") SEQ, 4, 6, 6, STOP | EXT, 0, NULL},
1913  {FNAME("resourcesAvailableIndicate") SEQ, 4, 9, 11, STOP | EXT, 0,
1914  NULL},
1915  {FNAME("resourcesAvailableConfirm") SEQ, 4, 6, 7, STOP | EXT, 0,
1916  NULL},
1917  {FNAME("infoRequestAck") SEQ, 4, 5, 5, STOP | EXT, 0, NULL},
1918  {FNAME("infoRequestNak") SEQ, 5, 7, 7, STOP | EXT, 0, NULL},
1919  {FNAME("serviceControlIndication") SEQ, 8, 10, 10, STOP | EXT, 0,
1920  NULL},
1921  {FNAME("serviceControlResponse") SEQ, 7, 8, 8, STOP | EXT, 0, NULL},
1922 };