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