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 #ifndef _NF_CONNTRACK_H323_TYPES_H 8 #define _NF_CONNTRACK_H323_TYPES_H 9 10 typedef struct TransportAddress_ipAddress { /* SEQUENCE */ 11 int options; /* No use */ 12 unsigned int ip; 13 } TransportAddress_ipAddress; 14 15 typedef struct TransportAddress_ip6Address { /* SEQUENCE */ 16 int options; /* No use */ 17 unsigned int ip; 18 } TransportAddress_ip6Address; 19 20 typedef struct TransportAddress { /* CHOICE */ 21 enum { 22 eTransportAddress_ipAddress, 23 eTransportAddress_ipSourceRoute, 24 eTransportAddress_ipxAddress, 25 eTransportAddress_ip6Address, 26 eTransportAddress_netBios, 27 eTransportAddress_nsap, 28 eTransportAddress_nonStandardAddress, 29 } choice; 30 union { 31 TransportAddress_ipAddress ipAddress; 32 TransportAddress_ip6Address ip6Address; 33 }; 34 } TransportAddress; 35 36 typedef struct DataProtocolCapability { /* CHOICE */ 37 enum { 38 eDataProtocolCapability_nonStandard, 39 eDataProtocolCapability_v14buffered, 40 eDataProtocolCapability_v42lapm, 41 eDataProtocolCapability_hdlcFrameTunnelling, 42 eDataProtocolCapability_h310SeparateVCStack, 43 eDataProtocolCapability_h310SingleVCStack, 44 eDataProtocolCapability_transparent, 45 eDataProtocolCapability_segmentationAndReassembly, 46 eDataProtocolCapability_hdlcFrameTunnelingwSAR, 47 eDataProtocolCapability_v120, 48 eDataProtocolCapability_separateLANStack, 49 eDataProtocolCapability_v76wCompression, 50 eDataProtocolCapability_tcp, 51 eDataProtocolCapability_udp, 52 } choice; 53 } DataProtocolCapability; 54 55 typedef struct DataApplicationCapability_application { /* CHOICE */ 56 enum { 57 eDataApplicationCapability_application_nonStandard, 58 eDataApplicationCapability_application_t120, 59 eDataApplicationCapability_application_dsm_cc, 60 eDataApplicationCapability_application_userData, 61 eDataApplicationCapability_application_t84, 62 eDataApplicationCapability_application_t434, 63 eDataApplicationCapability_application_h224, 64 eDataApplicationCapability_application_nlpid, 65 eDataApplicationCapability_application_dsvdControl, 66 eDataApplicationCapability_application_h222DataPartitioning, 67 eDataApplicationCapability_application_t30fax, 68 eDataApplicationCapability_application_t140, 69 eDataApplicationCapability_application_t38fax, 70 eDataApplicationCapability_application_genericDataCapability, 71 } choice; 72 union { 73 DataProtocolCapability t120; 74 }; 75 } DataApplicationCapability_application; 76 77 typedef struct DataApplicationCapability { /* SEQUENCE */ 78 int options; /* No use */ 79 DataApplicationCapability_application application; 80 } DataApplicationCapability; 81 82 typedef struct DataType { /* CHOICE */ 83 enum { 84 eDataType_nonStandard, 85 eDataType_nullData, 86 eDataType_videoData, 87 eDataType_audioData, 88 eDataType_data, 89 eDataType_encryptionData, 90 eDataType_h235Control, 91 eDataType_h235Media, 92 eDataType_multiplexedStream, 93 } choice; 94 union { 95 DataApplicationCapability data; 96 }; 97 } DataType; 98 99 typedef struct UnicastAddress_iPAddress { /* SEQUENCE */ 100 int options; /* No use */ 101 unsigned int network; 102 } UnicastAddress_iPAddress; 103 104 typedef struct UnicastAddress_iP6Address { /* SEQUENCE */ 105 int options; /* No use */ 106 unsigned int network; 107 } UnicastAddress_iP6Address; 108 109 typedef struct UnicastAddress { /* CHOICE */ 110 enum { 111 eUnicastAddress_iPAddress, 112 eUnicastAddress_iPXAddress, 113 eUnicastAddress_iP6Address, 114 eUnicastAddress_netBios, 115 eUnicastAddress_iPSourceRouteAddress, 116 eUnicastAddress_nsap, 117 eUnicastAddress_nonStandardAddress, 118 } choice; 119 union { 120 UnicastAddress_iPAddress iPAddress; 121 UnicastAddress_iP6Address iP6Address; 122 }; 123 } UnicastAddress; 124 125 typedef struct H245_TransportAddress { /* CHOICE */ 126 enum { 127 eH245_TransportAddress_unicastAddress, 128 eH245_TransportAddress_multicastAddress, 129 } choice; 130 union { 131 UnicastAddress unicastAddress; 132 }; 133 } H245_TransportAddress; 134 135 typedef struct H2250LogicalChannelParameters { /* SEQUENCE */ 136 enum { 137 eH2250LogicalChannelParameters_nonStandard = (1 << 31), 138 eH2250LogicalChannelParameters_associatedSessionID = 139 (1 << 30), 140 eH2250LogicalChannelParameters_mediaChannel = (1 << 29), 141 eH2250LogicalChannelParameters_mediaGuaranteedDelivery = 142 (1 << 28), 143 eH2250LogicalChannelParameters_mediaControlChannel = 144 (1 << 27), 145 eH2250LogicalChannelParameters_mediaControlGuaranteedDelivery 146 = (1 << 26), 147 eH2250LogicalChannelParameters_silenceSuppression = (1 << 25), 148 eH2250LogicalChannelParameters_destination = (1 << 24), 149 eH2250LogicalChannelParameters_dynamicRTPPayloadType = 150 (1 << 23), 151 eH2250LogicalChannelParameters_mediaPacketization = (1 << 22), 152 eH2250LogicalChannelParameters_transportCapability = 153 (1 << 21), 154 eH2250LogicalChannelParameters_redundancyEncoding = (1 << 20), 155 eH2250LogicalChannelParameters_source = (1 << 19), 156 } options; 157 H245_TransportAddress mediaChannel; 158 H245_TransportAddress mediaControlChannel; 159 } H2250LogicalChannelParameters; 160 161 typedef struct OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters { /* CHOICE */ 162 enum { 163 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_h222LogicalChannelParameters, 164 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_h223LogicalChannelParameters, 165 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_v76LogicalChannelParameters, 166 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_h2250LogicalChannelParameters, 167 eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_none, 168 } choice; 169 union { 170 H2250LogicalChannelParameters h2250LogicalChannelParameters; 171 }; 172 } OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters; 173 174 typedef struct OpenLogicalChannel_forwardLogicalChannelParameters { /* SEQUENCE */ 175 enum { 176 eOpenLogicalChannel_forwardLogicalChannelParameters_portNumber 177 = (1 << 31), 178 eOpenLogicalChannel_forwardLogicalChannelParameters_forwardLogicalChannelDependency 179 = (1 << 30), 180 eOpenLogicalChannel_forwardLogicalChannelParameters_replacementFor 181 = (1 << 29), 182 } options; 183 DataType dataType; 184 OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters 185 multiplexParameters; 186 } OpenLogicalChannel_forwardLogicalChannelParameters; 187 188 typedef struct OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters { /* CHOICE */ 189 enum { 190 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters_h223LogicalChannelParameters, 191 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters_v76LogicalChannelParameters, 192 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters_h2250LogicalChannelParameters, 193 } choice; 194 union { 195 H2250LogicalChannelParameters h2250LogicalChannelParameters; 196 }; 197 } OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters; 198 199 typedef struct OpenLogicalChannel_reverseLogicalChannelParameters { /* SEQUENCE */ 200 enum { 201 eOpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters 202 = (1 << 31), 203 eOpenLogicalChannel_reverseLogicalChannelParameters_reverseLogicalChannelDependency 204 = (1 << 30), 205 eOpenLogicalChannel_reverseLogicalChannelParameters_replacementFor 206 = (1 << 29), 207 } options; 208 OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters 209 multiplexParameters; 210 } OpenLogicalChannel_reverseLogicalChannelParameters; 211 212 typedef struct NetworkAccessParameters_networkAddress { /* CHOICE */ 213 enum { 214 eNetworkAccessParameters_networkAddress_q2931Address, 215 eNetworkAccessParameters_networkAddress_e164Address, 216 eNetworkAccessParameters_networkAddress_localAreaAddress, 217 } choice; 218 union { 219 H245_TransportAddress localAreaAddress; 220 }; 221 } NetworkAccessParameters_networkAddress; 222 223 typedef struct NetworkAccessParameters { /* SEQUENCE */ 224 enum { 225 eNetworkAccessParameters_distribution = (1 << 31), 226 eNetworkAccessParameters_externalReference = (1 << 30), 227 eNetworkAccessParameters_t120SetupProcedure = (1 << 29), 228 } options; 229 NetworkAccessParameters_networkAddress networkAddress; 230 } NetworkAccessParameters; 231 232 typedef struct OpenLogicalChannel { /* SEQUENCE */ 233 enum { 234 eOpenLogicalChannel_reverseLogicalChannelParameters = 235 (1 << 31), 236 eOpenLogicalChannel_separateStack = (1 << 30), 237 eOpenLogicalChannel_encryptionSync = (1 << 29), 238 } options; 239 OpenLogicalChannel_forwardLogicalChannelParameters 240 forwardLogicalChannelParameters; 241 OpenLogicalChannel_reverseLogicalChannelParameters 242 reverseLogicalChannelParameters; 243 NetworkAccessParameters separateStack; 244 } OpenLogicalChannel; 245 246 typedef struct Setup_UUIE_fastStart { /* SEQUENCE OF */ 247 int count; 248 OpenLogicalChannel item[30]; 249 } Setup_UUIE_fastStart; 250 251 typedef struct Setup_UUIE { /* SEQUENCE */ 252 enum { 253 eSetup_UUIE_h245Address = (1 << 31), 254 eSetup_UUIE_sourceAddress = (1 << 30), 255 eSetup_UUIE_destinationAddress = (1 << 29), 256 eSetup_UUIE_destCallSignalAddress = (1 << 28), 257 eSetup_UUIE_destExtraCallInfo = (1 << 27), 258 eSetup_UUIE_destExtraCRV = (1 << 26), 259 eSetup_UUIE_callServices = (1 << 25), 260 eSetup_UUIE_sourceCallSignalAddress = (1 << 24), 261 eSetup_UUIE_remoteExtensionAddress = (1 << 23), 262 eSetup_UUIE_callIdentifier = (1 << 22), 263 eSetup_UUIE_h245SecurityCapability = (1 << 21), 264 eSetup_UUIE_tokens = (1 << 20), 265 eSetup_UUIE_cryptoTokens = (1 << 19), 266 eSetup_UUIE_fastStart = (1 << 18), 267 eSetup_UUIE_mediaWaitForConnect = (1 << 17), 268 eSetup_UUIE_canOverlapSend = (1 << 16), 269 eSetup_UUIE_endpointIdentifier = (1 << 15), 270 eSetup_UUIE_multipleCalls = (1 << 14), 271 eSetup_UUIE_maintainConnection = (1 << 13), 272 eSetup_UUIE_connectionParameters = (1 << 12), 273 eSetup_UUIE_language = (1 << 11), 274 eSetup_UUIE_presentationIndicator = (1 << 10), 275 eSetup_UUIE_screeningIndicator = (1 << 9), 276 eSetup_UUIE_serviceControl = (1 << 8), 277 eSetup_UUIE_symmetricOperationRequired = (1 << 7), 278 eSetup_UUIE_capacity = (1 << 6), 279 eSetup_UUIE_circuitInfo = (1 << 5), 280 eSetup_UUIE_desiredProtocols = (1 << 4), 281 eSetup_UUIE_neededFeatures = (1 << 3), 282 eSetup_UUIE_desiredFeatures = (1 << 2), 283 eSetup_UUIE_supportedFeatures = (1 << 1), 284 eSetup_UUIE_parallelH245Control = (1 << 0), 285 } options; 286 TransportAddress h245Address; 287 TransportAddress destCallSignalAddress; 288 TransportAddress sourceCallSignalAddress; 289 Setup_UUIE_fastStart fastStart; 290 } Setup_UUIE; 291 292 typedef struct CallProceeding_UUIE_fastStart { /* SEQUENCE OF */ 293 int count; 294 OpenLogicalChannel item[30]; 295 } CallProceeding_UUIE_fastStart; 296 297 typedef struct CallProceeding_UUIE { /* SEQUENCE */ 298 enum { 299 eCallProceeding_UUIE_h245Address = (1 << 31), 300 eCallProceeding_UUIE_callIdentifier = (1 << 30), 301 eCallProceeding_UUIE_h245SecurityMode = (1 << 29), 302 eCallProceeding_UUIE_tokens = (1 << 28), 303 eCallProceeding_UUIE_cryptoTokens = (1 << 27), 304 eCallProceeding_UUIE_fastStart = (1 << 26), 305 eCallProceeding_UUIE_multipleCalls = (1 << 25), 306 eCallProceeding_UUIE_maintainConnection = (1 << 24), 307 eCallProceeding_UUIE_fastConnectRefused = (1 << 23), 308 eCallProceeding_UUIE_featureSet = (1 << 22), 309 } options; 310 TransportAddress h245Address; 311 CallProceeding_UUIE_fastStart fastStart; 312 } CallProceeding_UUIE; 313 314 typedef struct Connect_UUIE_fastStart { /* SEQUENCE OF */ 315 int count; 316 OpenLogicalChannel item[30]; 317 } Connect_UUIE_fastStart; 318 319 typedef struct Connect_UUIE { /* SEQUENCE */ 320 enum { 321 eConnect_UUIE_h245Address = (1 << 31), 322 eConnect_UUIE_callIdentifier = (1 << 30), 323 eConnect_UUIE_h245SecurityMode = (1 << 29), 324 eConnect_UUIE_tokens = (1 << 28), 325 eConnect_UUIE_cryptoTokens = (1 << 27), 326 eConnect_UUIE_fastStart = (1 << 26), 327 eConnect_UUIE_multipleCalls = (1 << 25), 328 eConnect_UUIE_maintainConnection = (1 << 24), 329 eConnect_UUIE_language = (1 << 23), 330 eConnect_UUIE_connectedAddress = (1 << 22), 331 eConnect_UUIE_presentationIndicator = (1 << 21), 332 eConnect_UUIE_screeningIndicator = (1 << 20), 333 eConnect_UUIE_fastConnectRefused = (1 << 19), 334 eConnect_UUIE_serviceControl = (1 << 18), 335 eConnect_UUIE_capacity = (1 << 17), 336 eConnect_UUIE_featureSet = (1 << 16), 337 } options; 338 TransportAddress h245Address; 339 Connect_UUIE_fastStart fastStart; 340 } Connect_UUIE; 341 342 typedef struct Alerting_UUIE_fastStart { /* SEQUENCE OF */ 343 int count; 344 OpenLogicalChannel item[30]; 345 } Alerting_UUIE_fastStart; 346 347 typedef struct Alerting_UUIE { /* SEQUENCE */ 348 enum { 349 eAlerting_UUIE_h245Address = (1 << 31), 350 eAlerting_UUIE_callIdentifier = (1 << 30), 351 eAlerting_UUIE_h245SecurityMode = (1 << 29), 352 eAlerting_UUIE_tokens = (1 << 28), 353 eAlerting_UUIE_cryptoTokens = (1 << 27), 354 eAlerting_UUIE_fastStart = (1 << 26), 355 eAlerting_UUIE_multipleCalls = (1 << 25), 356 eAlerting_UUIE_maintainConnection = (1 << 24), 357 eAlerting_UUIE_alertingAddress = (1 << 23), 358 eAlerting_UUIE_presentationIndicator = (1 << 22), 359 eAlerting_UUIE_screeningIndicator = (1 << 21), 360 eAlerting_UUIE_fastConnectRefused = (1 << 20), 361 eAlerting_UUIE_serviceControl = (1 << 19), 362 eAlerting_UUIE_capacity = (1 << 18), 363 eAlerting_UUIE_featureSet = (1 << 17), 364 } options; 365 TransportAddress h245Address; 366 Alerting_UUIE_fastStart fastStart; 367 } Alerting_UUIE; 368 369 typedef struct FacilityReason { /* CHOICE */ 370 enum { 371 eFacilityReason_routeCallToGatekeeper, 372 eFacilityReason_callForwarded, 373 eFacilityReason_routeCallToMC, 374 eFacilityReason_undefinedReason, 375 eFacilityReason_conferenceListChoice, 376 eFacilityReason_startH245, 377 eFacilityReason_noH245, 378 eFacilityReason_newTokens, 379 eFacilityReason_featureSetUpdate, 380 eFacilityReason_forwardedElements, 381 eFacilityReason_transportedInformation, 382 } choice; 383 } FacilityReason; 384 385 typedef struct Facility_UUIE_fastStart { /* SEQUENCE OF */ 386 int count; 387 OpenLogicalChannel item[30]; 388 } Facility_UUIE_fastStart; 389 390 typedef struct Facility_UUIE { /* SEQUENCE */ 391 enum { 392 eFacility_UUIE_alternativeAddress = (1 << 31), 393 eFacility_UUIE_alternativeAliasAddress = (1 << 30), 394 eFacility_UUIE_conferenceID = (1 << 29), 395 eFacility_UUIE_callIdentifier = (1 << 28), 396 eFacility_UUIE_destExtraCallInfo = (1 << 27), 397 eFacility_UUIE_remoteExtensionAddress = (1 << 26), 398 eFacility_UUIE_tokens = (1 << 25), 399 eFacility_UUIE_cryptoTokens = (1 << 24), 400 eFacility_UUIE_conferences = (1 << 23), 401 eFacility_UUIE_h245Address = (1 << 22), 402 eFacility_UUIE_fastStart = (1 << 21), 403 eFacility_UUIE_multipleCalls = (1 << 20), 404 eFacility_UUIE_maintainConnection = (1 << 19), 405 eFacility_UUIE_fastConnectRefused = (1 << 18), 406 eFacility_UUIE_serviceControl = (1 << 17), 407 eFacility_UUIE_circuitInfo = (1 << 16), 408 eFacility_UUIE_featureSet = (1 << 15), 409 eFacility_UUIE_destinationInfo = (1 << 14), 410 eFacility_UUIE_h245SecurityMode = (1 << 13), 411 } options; 412 TransportAddress alternativeAddress; 413 FacilityReason reason; 414 TransportAddress h245Address; 415 Facility_UUIE_fastStart fastStart; 416 } Facility_UUIE; 417 418 typedef struct Progress_UUIE_fastStart { /* SEQUENCE OF */ 419 int count; 420 OpenLogicalChannel item[30]; 421 } Progress_UUIE_fastStart; 422 423 typedef struct Progress_UUIE { /* SEQUENCE */ 424 enum { 425 eProgress_UUIE_h245Address = (1 << 31), 426 eProgress_UUIE_h245SecurityMode = (1 << 30), 427 eProgress_UUIE_tokens = (1 << 29), 428 eProgress_UUIE_cryptoTokens = (1 << 28), 429 eProgress_UUIE_fastStart = (1 << 27), 430 eProgress_UUIE_multipleCalls = (1 << 26), 431 eProgress_UUIE_maintainConnection = (1 << 25), 432 eProgress_UUIE_fastConnectRefused = (1 << 24), 433 } options; 434 TransportAddress h245Address; 435 Progress_UUIE_fastStart fastStart; 436 } Progress_UUIE; 437 438 typedef struct H323_UU_PDU_h323_message_body { /* CHOICE */ 439 enum { 440 eH323_UU_PDU_h323_message_body_setup, 441 eH323_UU_PDU_h323_message_body_callProceeding, 442 eH323_UU_PDU_h323_message_body_connect, 443 eH323_UU_PDU_h323_message_body_alerting, 444 eH323_UU_PDU_h323_message_body_information, 445 eH323_UU_PDU_h323_message_body_releaseComplete, 446 eH323_UU_PDU_h323_message_body_facility, 447 eH323_UU_PDU_h323_message_body_progress, 448 eH323_UU_PDU_h323_message_body_empty, 449 eH323_UU_PDU_h323_message_body_status, 450 eH323_UU_PDU_h323_message_body_statusInquiry, 451 eH323_UU_PDU_h323_message_body_setupAcknowledge, 452 eH323_UU_PDU_h323_message_body_notify, 453 } choice; 454 union { 455 Setup_UUIE setup; 456 CallProceeding_UUIE callProceeding; 457 Connect_UUIE connect; 458 Alerting_UUIE alerting; 459 Facility_UUIE facility; 460 Progress_UUIE progress; 461 }; 462 } H323_UU_PDU_h323_message_body; 463 464 typedef struct RequestMessage { /* CHOICE */ 465 enum { 466 eRequestMessage_nonStandard, 467 eRequestMessage_masterSlaveDetermination, 468 eRequestMessage_terminalCapabilitySet, 469 eRequestMessage_openLogicalChannel, 470 eRequestMessage_closeLogicalChannel, 471 eRequestMessage_requestChannelClose, 472 eRequestMessage_multiplexEntrySend, 473 eRequestMessage_requestMultiplexEntry, 474 eRequestMessage_requestMode, 475 eRequestMessage_roundTripDelayRequest, 476 eRequestMessage_maintenanceLoopRequest, 477 eRequestMessage_communicationModeRequest, 478 eRequestMessage_conferenceRequest, 479 eRequestMessage_multilinkRequest, 480 eRequestMessage_logicalChannelRateRequest, 481 } choice; 482 union { 483 OpenLogicalChannel openLogicalChannel; 484 }; 485 } RequestMessage; 486 487 typedef struct OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters { /* CHOICE */ 488 enum { 489 eOpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_h222LogicalChannelParameters, 490 eOpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters_h2250LogicalChannelParameters, 491 } choice; 492 union { 493 H2250LogicalChannelParameters h2250LogicalChannelParameters; 494 }; 495 } OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters; 496 497 typedef struct OpenLogicalChannelAck_reverseLogicalChannelParameters { /* SEQUENCE */ 498 enum { 499 eOpenLogicalChannelAck_reverseLogicalChannelParameters_portNumber 500 = (1 << 31), 501 eOpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters 502 = (1 << 30), 503 eOpenLogicalChannelAck_reverseLogicalChannelParameters_replacementFor 504 = (1 << 29), 505 } options; 506 OpenLogicalChannelAck_reverseLogicalChannelParameters_multiplexParameters 507 multiplexParameters; 508 } OpenLogicalChannelAck_reverseLogicalChannelParameters; 509 510 typedef struct H2250LogicalChannelAckParameters { /* SEQUENCE */ 511 enum { 512 eH2250LogicalChannelAckParameters_nonStandard = (1 << 31), 513 eH2250LogicalChannelAckParameters_sessionID = (1 << 30), 514 eH2250LogicalChannelAckParameters_mediaChannel = (1 << 29), 515 eH2250LogicalChannelAckParameters_mediaControlChannel = 516 (1 << 28), 517 eH2250LogicalChannelAckParameters_dynamicRTPPayloadType = 518 (1 << 27), 519 eH2250LogicalChannelAckParameters_flowControlToZero = 520 (1 << 26), 521 eH2250LogicalChannelAckParameters_portNumber = (1 << 25), 522 } options; 523 H245_TransportAddress mediaChannel; 524 H245_TransportAddress mediaControlChannel; 525 } H2250LogicalChannelAckParameters; 526 527 typedef struct OpenLogicalChannelAck_forwardMultiplexAckParameters { /* CHOICE */ 528 enum { 529 eOpenLogicalChannelAck_forwardMultiplexAckParameters_h2250LogicalChannelAckParameters, 530 } choice; 531 union { 532 H2250LogicalChannelAckParameters 533 h2250LogicalChannelAckParameters; 534 }; 535 } OpenLogicalChannelAck_forwardMultiplexAckParameters; 536 537 typedef struct OpenLogicalChannelAck { /* SEQUENCE */ 538 enum { 539 eOpenLogicalChannelAck_reverseLogicalChannelParameters = 540 (1 << 31), 541 eOpenLogicalChannelAck_separateStack = (1 << 30), 542 eOpenLogicalChannelAck_forwardMultiplexAckParameters = 543 (1 << 29), 544 eOpenLogicalChannelAck_encryptionSync = (1 << 28), 545 } options; 546 OpenLogicalChannelAck_reverseLogicalChannelParameters 547 reverseLogicalChannelParameters; 548 NetworkAccessParameters separateStack; 549 OpenLogicalChannelAck_forwardMultiplexAckParameters 550 forwardMultiplexAckParameters; 551 } OpenLogicalChannelAck; 552 553 typedef struct ResponseMessage { /* CHOICE */ 554 enum { 555 eResponseMessage_nonStandard, 556 eResponseMessage_masterSlaveDeterminationAck, 557 eResponseMessage_masterSlaveDeterminationReject, 558 eResponseMessage_terminalCapabilitySetAck, 559 eResponseMessage_terminalCapabilitySetReject, 560 eResponseMessage_openLogicalChannelAck, 561 eResponseMessage_openLogicalChannelReject, 562 eResponseMessage_closeLogicalChannelAck, 563 eResponseMessage_requestChannelCloseAck, 564 eResponseMessage_requestChannelCloseReject, 565 eResponseMessage_multiplexEntrySendAck, 566 eResponseMessage_multiplexEntrySendReject, 567 eResponseMessage_requestMultiplexEntryAck, 568 eResponseMessage_requestMultiplexEntryReject, 569 eResponseMessage_requestModeAck, 570 eResponseMessage_requestModeReject, 571 eResponseMessage_roundTripDelayResponse, 572 eResponseMessage_maintenanceLoopAck, 573 eResponseMessage_maintenanceLoopReject, 574 eResponseMessage_communicationModeResponse, 575 eResponseMessage_conferenceResponse, 576 eResponseMessage_multilinkResponse, 577 eResponseMessage_logicalChannelRateAcknowledge, 578 eResponseMessage_logicalChannelRateReject, 579 } choice; 580 union { 581 OpenLogicalChannelAck openLogicalChannelAck; 582 }; 583 } ResponseMessage; 584 585 typedef struct MultimediaSystemControlMessage { /* CHOICE */ 586 enum { 587 eMultimediaSystemControlMessage_request, 588 eMultimediaSystemControlMessage_response, 589 eMultimediaSystemControlMessage_command, 590 eMultimediaSystemControlMessage_indication, 591 } choice; 592 union { 593 RequestMessage request; 594 ResponseMessage response; 595 }; 596 } MultimediaSystemControlMessage; 597 598 typedef struct H323_UU_PDU_h245Control { /* SEQUENCE OF */ 599 int count; 600 MultimediaSystemControlMessage item[4]; 601 } H323_UU_PDU_h245Control; 602 603 typedef struct H323_UU_PDU { /* SEQUENCE */ 604 enum { 605 eH323_UU_PDU_nonStandardData = (1 << 31), 606 eH323_UU_PDU_h4501SupplementaryService = (1 << 30), 607 eH323_UU_PDU_h245Tunneling = (1 << 29), 608 eH323_UU_PDU_h245Control = (1 << 28), 609 eH323_UU_PDU_nonStandardControl = (1 << 27), 610 eH323_UU_PDU_callLinkage = (1 << 26), 611 eH323_UU_PDU_tunnelledSignallingMessage = (1 << 25), 612 eH323_UU_PDU_provisionalRespToH245Tunneling = (1 << 24), 613 eH323_UU_PDU_stimulusControl = (1 << 23), 614 eH323_UU_PDU_genericData = (1 << 22), 615 } options; 616 H323_UU_PDU_h323_message_body h323_message_body; 617 H323_UU_PDU_h245Control h245Control; 618 } H323_UU_PDU; 619 620 typedef struct H323_UserInformation { /* SEQUENCE */ 621 enum { 622 eH323_UserInformation_user_data = (1 << 31), 623 } options; 624 H323_UU_PDU h323_uu_pdu; 625 } H323_UserInformation; 626 627 typedef struct GatekeeperRequest { /* SEQUENCE */ 628 enum { 629 eGatekeeperRequest_nonStandardData = (1 << 31), 630 eGatekeeperRequest_gatekeeperIdentifier = (1 << 30), 631 eGatekeeperRequest_callServices = (1 << 29), 632 eGatekeeperRequest_endpointAlias = (1 << 28), 633 eGatekeeperRequest_alternateEndpoints = (1 << 27), 634 eGatekeeperRequest_tokens = (1 << 26), 635 eGatekeeperRequest_cryptoTokens = (1 << 25), 636 eGatekeeperRequest_authenticationCapability = (1 << 24), 637 eGatekeeperRequest_algorithmOIDs = (1 << 23), 638 eGatekeeperRequest_integrity = (1 << 22), 639 eGatekeeperRequest_integrityCheckValue = (1 << 21), 640 eGatekeeperRequest_supportsAltGK = (1 << 20), 641 eGatekeeperRequest_featureSet = (1 << 19), 642 eGatekeeperRequest_genericData = (1 << 18), 643 } options; 644 TransportAddress rasAddress; 645 } GatekeeperRequest; 646 647 typedef struct GatekeeperConfirm { /* SEQUENCE */ 648 enum { 649 eGatekeeperConfirm_nonStandardData = (1 << 31), 650 eGatekeeperConfirm_gatekeeperIdentifier = (1 << 30), 651 eGatekeeperConfirm_alternateGatekeeper = (1 << 29), 652 eGatekeeperConfirm_authenticationMode = (1 << 28), 653 eGatekeeperConfirm_tokens = (1 << 27), 654 eGatekeeperConfirm_cryptoTokens = (1 << 26), 655 eGatekeeperConfirm_algorithmOID = (1 << 25), 656 eGatekeeperConfirm_integrity = (1 << 24), 657 eGatekeeperConfirm_integrityCheckValue = (1 << 23), 658 eGatekeeperConfirm_featureSet = (1 << 22), 659 eGatekeeperConfirm_genericData = (1 << 21), 660 } options; 661 TransportAddress rasAddress; 662 } GatekeeperConfirm; 663 664 typedef struct RegistrationRequest_callSignalAddress { /* SEQUENCE OF */ 665 int count; 666 TransportAddress item[10]; 667 } RegistrationRequest_callSignalAddress; 668 669 typedef struct RegistrationRequest_rasAddress { /* SEQUENCE OF */ 670 int count; 671 TransportAddress item[10]; 672 } RegistrationRequest_rasAddress; 673 674 typedef struct RegistrationRequest { /* SEQUENCE */ 675 enum { 676 eRegistrationRequest_nonStandardData = (1 << 31), 677 eRegistrationRequest_terminalAlias = (1 << 30), 678 eRegistrationRequest_gatekeeperIdentifier = (1 << 29), 679 eRegistrationRequest_alternateEndpoints = (1 << 28), 680 eRegistrationRequest_timeToLive = (1 << 27), 681 eRegistrationRequest_tokens = (1 << 26), 682 eRegistrationRequest_cryptoTokens = (1 << 25), 683 eRegistrationRequest_integrityCheckValue = (1 << 24), 684 eRegistrationRequest_keepAlive = (1 << 23), 685 eRegistrationRequest_endpointIdentifier = (1 << 22), 686 eRegistrationRequest_willSupplyUUIEs = (1 << 21), 687 eRegistrationRequest_maintainConnection = (1 << 20), 688 eRegistrationRequest_alternateTransportAddresses = (1 << 19), 689 eRegistrationRequest_additiveRegistration = (1 << 18), 690 eRegistrationRequest_terminalAliasPattern = (1 << 17), 691 eRegistrationRequest_supportsAltGK = (1 << 16), 692 eRegistrationRequest_usageReportingCapability = (1 << 15), 693 eRegistrationRequest_multipleCalls = (1 << 14), 694 eRegistrationRequest_supportedH248Packages = (1 << 13), 695 eRegistrationRequest_callCreditCapability = (1 << 12), 696 eRegistrationRequest_capacityReportingCapability = (1 << 11), 697 eRegistrationRequest_capacity = (1 << 10), 698 eRegistrationRequest_featureSet = (1 << 9), 699 eRegistrationRequest_genericData = (1 << 8), 700 } options; 701 RegistrationRequest_callSignalAddress callSignalAddress; 702 RegistrationRequest_rasAddress rasAddress; 703 unsigned int timeToLive; 704 } RegistrationRequest; 705 706 typedef struct RegistrationConfirm_callSignalAddress { /* SEQUENCE OF */ 707 int count; 708 TransportAddress item[10]; 709 } RegistrationConfirm_callSignalAddress; 710 711 typedef struct RegistrationConfirm { /* SEQUENCE */ 712 enum { 713 eRegistrationConfirm_nonStandardData = (1 << 31), 714 eRegistrationConfirm_terminalAlias = (1 << 30), 715 eRegistrationConfirm_gatekeeperIdentifier = (1 << 29), 716 eRegistrationConfirm_alternateGatekeeper = (1 << 28), 717 eRegistrationConfirm_timeToLive = (1 << 27), 718 eRegistrationConfirm_tokens = (1 << 26), 719 eRegistrationConfirm_cryptoTokens = (1 << 25), 720 eRegistrationConfirm_integrityCheckValue = (1 << 24), 721 eRegistrationConfirm_willRespondToIRR = (1 << 23), 722 eRegistrationConfirm_preGrantedARQ = (1 << 22), 723 eRegistrationConfirm_maintainConnection = (1 << 21), 724 eRegistrationConfirm_serviceControl = (1 << 20), 725 eRegistrationConfirm_supportsAdditiveRegistration = (1 << 19), 726 eRegistrationConfirm_terminalAliasPattern = (1 << 18), 727 eRegistrationConfirm_supportedPrefixes = (1 << 17), 728 eRegistrationConfirm_usageSpec = (1 << 16), 729 eRegistrationConfirm_featureServerAlias = (1 << 15), 730 eRegistrationConfirm_capacityReportingSpec = (1 << 14), 731 eRegistrationConfirm_featureSet = (1 << 13), 732 eRegistrationConfirm_genericData = (1 << 12), 733 } options; 734 RegistrationConfirm_callSignalAddress callSignalAddress; 735 unsigned int timeToLive; 736 } RegistrationConfirm; 737 738 typedef struct UnregistrationRequest_callSignalAddress { /* SEQUENCE OF */ 739 int count; 740 TransportAddress item[10]; 741 } UnregistrationRequest_callSignalAddress; 742 743 typedef struct UnregistrationRequest { /* SEQUENCE */ 744 enum { 745 eUnregistrationRequest_endpointAlias = (1 << 31), 746 eUnregistrationRequest_nonStandardData = (1 << 30), 747 eUnregistrationRequest_endpointIdentifier = (1 << 29), 748 eUnregistrationRequest_alternateEndpoints = (1 << 28), 749 eUnregistrationRequest_gatekeeperIdentifier = (1 << 27), 750 eUnregistrationRequest_tokens = (1 << 26), 751 eUnregistrationRequest_cryptoTokens = (1 << 25), 752 eUnregistrationRequest_integrityCheckValue = (1 << 24), 753 eUnregistrationRequest_reason = (1 << 23), 754 eUnregistrationRequest_endpointAliasPattern = (1 << 22), 755 eUnregistrationRequest_supportedPrefixes = (1 << 21), 756 eUnregistrationRequest_alternateGatekeeper = (1 << 20), 757 eUnregistrationRequest_genericData = (1 << 19), 758 } options; 759 UnregistrationRequest_callSignalAddress callSignalAddress; 760 } UnregistrationRequest; 761 762 typedef struct AdmissionRequest { /* SEQUENCE */ 763 enum { 764 eAdmissionRequest_callModel = (1 << 31), 765 eAdmissionRequest_destinationInfo = (1 << 30), 766 eAdmissionRequest_destCallSignalAddress = (1 << 29), 767 eAdmissionRequest_destExtraCallInfo = (1 << 28), 768 eAdmissionRequest_srcCallSignalAddress = (1 << 27), 769 eAdmissionRequest_nonStandardData = (1 << 26), 770 eAdmissionRequest_callServices = (1 << 25), 771 eAdmissionRequest_canMapAlias = (1 << 24), 772 eAdmissionRequest_callIdentifier = (1 << 23), 773 eAdmissionRequest_srcAlternatives = (1 << 22), 774 eAdmissionRequest_destAlternatives = (1 << 21), 775 eAdmissionRequest_gatekeeperIdentifier = (1 << 20), 776 eAdmissionRequest_tokens = (1 << 19), 777 eAdmissionRequest_cryptoTokens = (1 << 18), 778 eAdmissionRequest_integrityCheckValue = (1 << 17), 779 eAdmissionRequest_transportQOS = (1 << 16), 780 eAdmissionRequest_willSupplyUUIEs = (1 << 15), 781 eAdmissionRequest_callLinkage = (1 << 14), 782 eAdmissionRequest_gatewayDataRate = (1 << 13), 783 eAdmissionRequest_capacity = (1 << 12), 784 eAdmissionRequest_circuitInfo = (1 << 11), 785 eAdmissionRequest_desiredProtocols = (1 << 10), 786 eAdmissionRequest_desiredTunnelledProtocol = (1 << 9), 787 eAdmissionRequest_featureSet = (1 << 8), 788 eAdmissionRequest_genericData = (1 << 7), 789 } options; 790 TransportAddress destCallSignalAddress; 791 TransportAddress srcCallSignalAddress; 792 } AdmissionRequest; 793 794 typedef struct AdmissionConfirm { /* SEQUENCE */ 795 enum { 796 eAdmissionConfirm_irrFrequency = (1 << 31), 797 eAdmissionConfirm_nonStandardData = (1 << 30), 798 eAdmissionConfirm_destinationInfo = (1 << 29), 799 eAdmissionConfirm_destExtraCallInfo = (1 << 28), 800 eAdmissionConfirm_destinationType = (1 << 27), 801 eAdmissionConfirm_remoteExtensionAddress = (1 << 26), 802 eAdmissionConfirm_alternateEndpoints = (1 << 25), 803 eAdmissionConfirm_tokens = (1 << 24), 804 eAdmissionConfirm_cryptoTokens = (1 << 23), 805 eAdmissionConfirm_integrityCheckValue = (1 << 22), 806 eAdmissionConfirm_transportQOS = (1 << 21), 807 eAdmissionConfirm_willRespondToIRR = (1 << 20), 808 eAdmissionConfirm_uuiesRequested = (1 << 19), 809 eAdmissionConfirm_language = (1 << 18), 810 eAdmissionConfirm_alternateTransportAddresses = (1 << 17), 811 eAdmissionConfirm_useSpecifiedTransport = (1 << 16), 812 eAdmissionConfirm_circuitInfo = (1 << 15), 813 eAdmissionConfirm_usageSpec = (1 << 14), 814 eAdmissionConfirm_supportedProtocols = (1 << 13), 815 eAdmissionConfirm_serviceControl = (1 << 12), 816 eAdmissionConfirm_multipleCalls = (1 << 11), 817 eAdmissionConfirm_featureSet = (1 << 10), 818 eAdmissionConfirm_genericData = (1 << 9), 819 } options; 820 TransportAddress destCallSignalAddress; 821 } AdmissionConfirm; 822 823 typedef struct LocationRequest { /* SEQUENCE */ 824 enum { 825 eLocationRequest_endpointIdentifier = (1 << 31), 826 eLocationRequest_nonStandardData = (1 << 30), 827 eLocationRequest_sourceInfo = (1 << 29), 828 eLocationRequest_canMapAlias = (1 << 28), 829 eLocationRequest_gatekeeperIdentifier = (1 << 27), 830 eLocationRequest_tokens = (1 << 26), 831 eLocationRequest_cryptoTokens = (1 << 25), 832 eLocationRequest_integrityCheckValue = (1 << 24), 833 eLocationRequest_desiredProtocols = (1 << 23), 834 eLocationRequest_desiredTunnelledProtocol = (1 << 22), 835 eLocationRequest_featureSet = (1 << 21), 836 eLocationRequest_genericData = (1 << 20), 837 eLocationRequest_hopCount = (1 << 19), 838 eLocationRequest_circuitInfo = (1 << 18), 839 } options; 840 TransportAddress replyAddress; 841 } LocationRequest; 842 843 typedef struct LocationConfirm { /* SEQUENCE */ 844 enum { 845 eLocationConfirm_nonStandardData = (1 << 31), 846 eLocationConfirm_destinationInfo = (1 << 30), 847 eLocationConfirm_destExtraCallInfo = (1 << 29), 848 eLocationConfirm_destinationType = (1 << 28), 849 eLocationConfirm_remoteExtensionAddress = (1 << 27), 850 eLocationConfirm_alternateEndpoints = (1 << 26), 851 eLocationConfirm_tokens = (1 << 25), 852 eLocationConfirm_cryptoTokens = (1 << 24), 853 eLocationConfirm_integrityCheckValue = (1 << 23), 854 eLocationConfirm_alternateTransportAddresses = (1 << 22), 855 eLocationConfirm_supportedProtocols = (1 << 21), 856 eLocationConfirm_multipleCalls = (1 << 20), 857 eLocationConfirm_featureSet = (1 << 19), 858 eLocationConfirm_genericData = (1 << 18), 859 eLocationConfirm_circuitInfo = (1 << 17), 860 eLocationConfirm_serviceControl = (1 << 16), 861 } options; 862 TransportAddress callSignalAddress; 863 TransportAddress rasAddress; 864 } LocationConfirm; 865 866 typedef struct InfoRequestResponse_callSignalAddress { /* SEQUENCE OF */ 867 int count; 868 TransportAddress item[10]; 869 } InfoRequestResponse_callSignalAddress; 870 871 typedef struct InfoRequestResponse { /* SEQUENCE */ 872 enum { 873 eInfoRequestResponse_nonStandardData = (1 << 31), 874 eInfoRequestResponse_endpointAlias = (1 << 30), 875 eInfoRequestResponse_perCallInfo = (1 << 29), 876 eInfoRequestResponse_tokens = (1 << 28), 877 eInfoRequestResponse_cryptoTokens = (1 << 27), 878 eInfoRequestResponse_integrityCheckValue = (1 << 26), 879 eInfoRequestResponse_needResponse = (1 << 25), 880 eInfoRequestResponse_capacity = (1 << 24), 881 eInfoRequestResponse_irrStatus = (1 << 23), 882 eInfoRequestResponse_unsolicited = (1 << 22), 883 eInfoRequestResponse_genericData = (1 << 21), 884 } options; 885 TransportAddress rasAddress; 886 InfoRequestResponse_callSignalAddress callSignalAddress; 887 } InfoRequestResponse; 888 889 typedef struct RasMessage { /* CHOICE */ 890 enum { 891 eRasMessage_gatekeeperRequest, 892 eRasMessage_gatekeeperConfirm, 893 eRasMessage_gatekeeperReject, 894 eRasMessage_registrationRequest, 895 eRasMessage_registrationConfirm, 896 eRasMessage_registrationReject, 897 eRasMessage_unregistrationRequest, 898 eRasMessage_unregistrationConfirm, 899 eRasMessage_unregistrationReject, 900 eRasMessage_admissionRequest, 901 eRasMessage_admissionConfirm, 902 eRasMessage_admissionReject, 903 eRasMessage_bandwidthRequest, 904 eRasMessage_bandwidthConfirm, 905 eRasMessage_bandwidthReject, 906 eRasMessage_disengageRequest, 907 eRasMessage_disengageConfirm, 908 eRasMessage_disengageReject, 909 eRasMessage_locationRequest, 910 eRasMessage_locationConfirm, 911 eRasMessage_locationReject, 912 eRasMessage_infoRequest, 913 eRasMessage_infoRequestResponse, 914 eRasMessage_nonStandardMessage, 915 eRasMessage_unknownMessageResponse, 916 eRasMessage_requestInProgress, 917 eRasMessage_resourcesAvailableIndicate, 918 eRasMessage_resourcesAvailableConfirm, 919 eRasMessage_infoRequestAck, 920 eRasMessage_infoRequestNak, 921 eRasMessage_serviceControlIndication, 922 eRasMessage_serviceControlResponse, 923 } choice; 924 union { 925 GatekeeperRequest gatekeeperRequest; 926 GatekeeperConfirm gatekeeperConfirm; 927 RegistrationRequest registrationRequest; 928 RegistrationConfirm registrationConfirm; 929 UnregistrationRequest unregistrationRequest; 930 AdmissionRequest admissionRequest; 931 AdmissionConfirm admissionConfirm; 932 LocationRequest locationRequest; 933 LocationConfirm locationConfirm; 934 InfoRequestResponse infoRequestResponse; 935 }; 936 } RasMessage; 937 938 #endif /* _NF_CONNTRACK_H323_TYPES_H */ 939