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