linux/include/linux/netfilter/nf_conntrack_h323_types.h
<<
>>
Prefs
   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
  10typedef struct TransportAddress_ipAddress {     /* SEQUENCE */
  11        int options;            /* No use */
  12        unsigned int ip;
  13} TransportAddress_ipAddress;
  14
  15typedef struct TransportAddress_ip6Address {    /* SEQUENCE */
  16        int options;            /* No use */
  17        unsigned int ip;
  18} TransportAddress_ip6Address;
  19
  20typedef 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
  36typedef 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
  55typedef 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
  77typedef struct DataApplicationCapability {      /* SEQUENCE */
  78        int options;            /* No use */
  79        DataApplicationCapability_application application;
  80} DataApplicationCapability;
  81
  82typedef 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
  99typedef struct UnicastAddress_iPAddress {       /* SEQUENCE */
 100        int options;            /* No use */
 101        unsigned int network;
 102} UnicastAddress_iPAddress;
 103
 104typedef struct UnicastAddress_iP6Address {      /* SEQUENCE */
 105        int options;            /* No use */
 106        unsigned int network;
 107} UnicastAddress_iP6Address;
 108
 109typedef 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
 125typedef 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
 135typedef 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
 161typedef 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
 174typedef 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
 188typedef 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
 199typedef 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
 212typedef 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
 223typedef 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
 232typedef 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
 246typedef struct Setup_UUIE_fastStart {   /* SEQUENCE OF */
 247        int count;
 248        OpenLogicalChannel item[30];
 249} Setup_UUIE_fastStart;
 250
 251typedef 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
 292typedef struct CallProceeding_UUIE_fastStart {  /* SEQUENCE OF */
 293        int count;
 294        OpenLogicalChannel item[30];
 295} CallProceeding_UUIE_fastStart;
 296
 297typedef 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
 314typedef struct Connect_UUIE_fastStart { /* SEQUENCE OF */
 315        int count;
 316        OpenLogicalChannel item[30];
 317} Connect_UUIE_fastStart;
 318
 319typedef 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
 342typedef struct Alerting_UUIE_fastStart {        /* SEQUENCE OF */
 343        int count;
 344        OpenLogicalChannel item[30];
 345} Alerting_UUIE_fastStart;
 346
 347typedef 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
 369typedef 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
 385typedef struct Facility_UUIE_fastStart {        /* SEQUENCE OF */
 386        int count;
 387        OpenLogicalChannel item[30];
 388} Facility_UUIE_fastStart;
 389
 390typedef 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
 418typedef struct Progress_UUIE_fastStart {        /* SEQUENCE OF */
 419        int count;
 420        OpenLogicalChannel item[30];
 421} Progress_UUIE_fastStart;
 422
 423typedef 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
 438typedef 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
 464typedef 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
 487typedef 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
 497typedef 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
 510typedef 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
 527typedef struct OpenLogicalChannelAck_forwardMultiplexAckParameters {    /* CHOICE */
 528        enum {
 529                eOpenLogicalChannelAck_forwardMultiplexAckParameters_h2250LogicalChannelAckParameters,
 530        } choice;
 531        union {
 532                H2250LogicalChannelAckParameters
 533                    h2250LogicalChannelAckParameters;
 534        };
 535} OpenLogicalChannelAck_forwardMultiplexAckParameters;
 536
 537typedef 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
 553typedef 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
 585typedef 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
 598typedef struct H323_UU_PDU_h245Control {        /* SEQUENCE OF */
 599        int count;
 600        MultimediaSystemControlMessage item[4];
 601} H323_UU_PDU_h245Control;
 602
 603typedef 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
 620typedef 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
 627typedef 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
 647typedef 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
 664typedef struct RegistrationRequest_callSignalAddress {  /* SEQUENCE OF */
 665        int count;
 666        TransportAddress item[10];
 667} RegistrationRequest_callSignalAddress;
 668
 669typedef struct RegistrationRequest_rasAddress { /* SEQUENCE OF */
 670        int count;
 671        TransportAddress item[10];
 672} RegistrationRequest_rasAddress;
 673
 674typedef 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
 706typedef struct RegistrationConfirm_callSignalAddress {  /* SEQUENCE OF */
 707        int count;
 708        TransportAddress item[10];
 709} RegistrationConfirm_callSignalAddress;
 710
 711typedef 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
 738typedef struct UnregistrationRequest_callSignalAddress {        /* SEQUENCE OF */
 739        int count;
 740        TransportAddress item[10];
 741} UnregistrationRequest_callSignalAddress;
 742
 743typedef 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
 762typedef 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
 794typedef 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
 823typedef 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
 843typedef 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
 866typedef struct InfoRequestResponse_callSignalAddress {  /* SEQUENCE OF */
 867        int count;
 868        TransportAddress item[10];
 869} InfoRequestResponse_callSignalAddress;
 870
 871typedef 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
 889typedef 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