linux/include/linux/netfilter/nf_conntrack_h323_types.h
<<
>>
Prefs
   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
   8typedef struct TransportAddress_ipAddress {     /* SEQUENCE */
   9        int options;            /* No use */
  10        unsigned ip;
  11} TransportAddress_ipAddress;
  12
  13typedef struct TransportAddress_ip6Address {    /* SEQUENCE */
  14        int options;            /* No use */
  15        unsigned ip;
  16} TransportAddress_ip6Address;
  17
  18typedef 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
  34typedef 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
  53typedef 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
  75typedef struct DataApplicationCapability {      /* SEQUENCE */
  76        int options;            /* No use */
  77        DataApplicationCapability_application application;
  78} DataApplicationCapability;
  79
  80typedef 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
  97typedef struct UnicastAddress_iPAddress {       /* SEQUENCE */
  98        int options;            /* No use */
  99        unsigned network;
 100} UnicastAddress_iPAddress;
 101
 102typedef struct UnicastAddress_iP6Address {      /* SEQUENCE */
 103        int options;            /* No use */
 104        unsigned network;
 105} UnicastAddress_iP6Address;
 106
 107typedef 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
 123typedef 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
 133typedef 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
 159typedef 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
 172typedef 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
 186typedef 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
 197typedef 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
 210typedef 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
 221typedef 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
 230typedef 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
 244typedef struct Setup_UUIE_fastStart {   /* SEQUENCE OF */
 245        int count;
 246        OpenLogicalChannel item[30];
 247} Setup_UUIE_fastStart;
 248
 249typedef 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
 290typedef struct CallProceeding_UUIE_fastStart {  /* SEQUENCE OF */
 291        int count;
 292        OpenLogicalChannel item[30];
 293} CallProceeding_UUIE_fastStart;
 294
 295typedef 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
 312typedef struct Connect_UUIE_fastStart { /* SEQUENCE OF */
 313        int count;
 314        OpenLogicalChannel item[30];
 315} Connect_UUIE_fastStart;
 316
 317typedef 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
 340typedef struct Alerting_UUIE_fastStart {        /* SEQUENCE OF */
 341        int count;
 342        OpenLogicalChannel item[30];
 343} Alerting_UUIE_fastStart;
 344
 345typedef 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
 367typedef 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
 383typedef struct Facility_UUIE_fastStart {        /* SEQUENCE OF */
 384        int count;
 385        OpenLogicalChannel item[30];
 386} Facility_UUIE_fastStart;
 387
 388typedef 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
 416typedef struct Progress_UUIE_fastStart {        /* SEQUENCE OF */
 417        int count;
 418        OpenLogicalChannel item[30];
 419} Progress_UUIE_fastStart;
 420
 421typedef 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
 436typedef 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
 462typedef 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
 485typedef 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
 495typedef 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
 508typedef 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
 525typedef struct OpenLogicalChannelAck_forwardMultiplexAckParameters {    /* CHOICE */
 526        enum {
 527                eOpenLogicalChannelAck_forwardMultiplexAckParameters_h2250LogicalChannelAckParameters,
 528        } choice;
 529        union {
 530                H2250LogicalChannelAckParameters
 531                    h2250LogicalChannelAckParameters;
 532        };
 533} OpenLogicalChannelAck_forwardMultiplexAckParameters;
 534
 535typedef 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
 551typedef 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
 583typedef 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
 596typedef struct H323_UU_PDU_h245Control {        /* SEQUENCE OF */
 597        int count;
 598        MultimediaSystemControlMessage item[4];
 599} H323_UU_PDU_h245Control;
 600
 601typedef 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
 618typedef 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
 625typedef 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
 645typedef 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
 662typedef struct RegistrationRequest_callSignalAddress {  /* SEQUENCE OF */
 663        int count;
 664        TransportAddress item[10];
 665} RegistrationRequest_callSignalAddress;
 666
 667typedef struct RegistrationRequest_rasAddress { /* SEQUENCE OF */
 668        int count;
 669        TransportAddress item[10];
 670} RegistrationRequest_rasAddress;
 671
 672typedef 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
 704typedef struct RegistrationConfirm_callSignalAddress {  /* SEQUENCE OF */
 705        int count;
 706        TransportAddress item[10];
 707} RegistrationConfirm_callSignalAddress;
 708
 709typedef 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
 736typedef struct UnregistrationRequest_callSignalAddress {        /* SEQUENCE OF */
 737        int count;
 738        TransportAddress item[10];
 739} UnregistrationRequest_callSignalAddress;
 740
 741typedef 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
 760typedef 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
 792typedef 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
 821typedef 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
 841typedef 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
 864typedef struct InfoRequestResponse_callSignalAddress {  /* SEQUENCE OF */
 865        int count;
 866        TransportAddress item[10];
 867} InfoRequestResponse_callSignalAddress;
 868
 869typedef 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
 887typedef 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