-- -- Abstract Syntax Notion (ASN.1) file for H.225.0 Version 1 -- -- Last Updated: Dec 29, 2000 -- H323-MESSAGES DEFINITIONS AUTOMATIC TAGS ::= BEGIN H323-UserInformation ::= SEQUENCE -- root for all Q.931 related ASN.1 { h323-uu-pdu H323-UU-PDU, user-data SEQUENCE { protocol-discriminator INTEGER (0..255), user-information OCTET STRING (SIZE(1..131)), ... } OPTIONAL, ... } H323-UU-PDU ::= SEQUENCE { h323-message-body CHOICE { setup Setup-UUIE, callProceeding CallProceeding-UUIE, connect Connect-UUIE, alerting Alerting-UUIE, userInformation UI-UUIE, releaseComplete ReleaseComplete-UUIE, facility Facility-UUIE, ... }, nonStandardData NonStandardParameter OPTIONAL, ... } Alerting-UUIE ::= SEQUENCE { protocolIdentifier ProtocolIdentifier, destinationInfo EndpointType, h245Address TransportAddress OPTIONAL, ... } CallProceeding-UUIE ::= SEQUENCE { protocolIdentifier ProtocolIdentifier, destinationInfo EndpointType, h245Address TransportAddress OPTIONAL, ... } Connect-UUIE ::= SEQUENCE { protocolIdentifier ProtocolIdentifier, h245Address TransportAddress OPTIONAL, destinationInfo EndpointType, conferenceID ConferenceIdentifier, ... } UI-UUIE ::= SEQUENCE { protocolIdentifier ProtocolIdentifier, ... } ReleaseComplete-UUIE ::= SEQUENCE { protocolIdentifier ProtocolIdentifier, reason ReleaseCompleteReason OPTIONAL, ... } ReleaseCompleteReason ::= CHOICE { noBandwidth NULL, -- bandwidth taken away or ARQ denied gatekeeperResources NULL, -- exhausted unreachableDestination NULL, -- no transport path to the destination destinationRejection NULL, -- rejected at destination invalidRevision NULL, noPermission NULL, -- called party's gatekeeper rejects unreachableGatekeeper NULL, -- terminal cannot reach gatekeeper for ARQ gatewayResources NULL, badFormatAddress NULL, adaptiveBusy NULL, -- call is dropping due to LAN crowding inConf NULL, -- no address in AlternativeAddress undefinedReason NULL, ..., facilityCallDeflection NULL } Setup-UUIE ::= SEQUENCE { protocolIdentifier ProtocolIdentifier, h245Address TransportAddress OPTIONAL, sourceAddress SEQUENCE OF AliasAddress OPTIONAL, sourceInfo EndpointType, destinationAddress SEQUENCE OF AliasAddress OPTIONAL, destCallSignalAddress TransportAddress OPTIONAL, destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, -- Note 1 destExtraCRV SEQUENCE OF CallReferenceValue OPTIONAL, -- Note 1 activeMC BOOLEAN, conferenceID ConferenceIdentifier, conferenceGoal CHOICE { create NULL, join NULL, invite NULL, ... }, callServices QseriesOptions OPTIONAL, callType CallType, ..., sourceCallSignalAddress TransportAddress OPTIONAL, remoteExtensionAddress AliasAddress OPTIONAL } Facility-UUIE ::= SEQUENCE { protocolIdentifier ProtocolIdentifier, alternativeAddress TransportAddress OPTIONAL, alternativeAliasAddress SEQUENCE OF AliasAddress OPTIONAL, conferenceID ConferenceIdentifier OPTIONAL, reason FacilityReason, ... } FacilityReason ::= CHOICE { routeCallToGatekeeper NULL, -- call must use gatekeeper model -- gatekeeper is alternativeAddress callForwarded NULL, routeCallToMC NULL, undefinedReason NULL, ... } TransportAddress ::= CHOICE { ipAddress SEQUENCE { ip OCTET STRING (SIZE(4)), port INTEGER(0..65535) }, ipSourceRoute SEQUENCE { ip OCTET STRING (SIZE(4)), port INTEGER(0..65535), route SEQUENCE OF OCTET STRING(SIZE(4)), routing CHOICE { strict NULL, loose NULL, ... }, ... }, ipxAddress SEQUENCE { node OCTET STRING (SIZE(6)), netnum OCTET STRING (SIZE(4)), port OCTET STRING (SIZE(2)) }, ip6Address SEQUENCE { ip OCTET STRING (SIZE(16)), port INTEGER(0..65535), ... }, netBios OCTET STRING (SIZE(16)), nsap OCTET STRING (SIZE(1..20)), nonStandardAddress NonStandardParameter, ... } EndpointType ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, vendor VendorIdentifier OPTIONAL, gatekeeper GatekeeperInfo OPTIONAL, gateway GatewayInfo OPTIONAL, mcu McuInfo OPTIONAL, -- mc must be set as well terminal TerminalInfo OPTIONAL, mc BOOLEAN, -- shall not be set by itself undefinedNode BOOLEAN, ... } GatewayInfo ::= SEQUENCE { protocol SEQUENCE OF SupportedProtocols OPTIONAL, nonStandardData NonStandardParameter OPTIONAL, ... } SupportedProtocols ::= CHOICE { nonStandardData NonStandardParameter, h310 H310Caps, h320 H320Caps, h321 H321Caps, h322 H322Caps, h323 H323Caps, h324 H324Caps, voice VoiceCaps, t120-only T120OnlyCaps, ... } H310Caps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } H320Caps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } H321Caps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } H322Caps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } H323Caps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } H324Caps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } VoiceCaps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } T120OnlyCaps ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } McuInfo ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } TerminalInfo ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } GatekeeperInfo ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } VendorIdentifier ::= SEQUENCE { vendor H221NonStandard, productId OCTET STRING (SIZE(1..256)) OPTIONAL, -- per vendor versionId OCTET STRING (SIZE(1..256)) OPTIONAL, -- per product ... } AliasAddress ::= CHOICE { e164 IA5String (SIZE (1..128)) (FROM ("0123456789#*,")), h323-ID BMPString (SIZE (1..256)), -- Basic ISO/IEC 10646-1 (Unicode) ... } QseriesOptions ::= SEQUENCE { q932Full BOOLEAN, -- if true, indicates full support for Q.932 q951Full BOOLEAN, -- if true, indicates full support for Q.951 q952Full BOOLEAN, -- if true, indicates full support for Q.952 q953Full BOOLEAN, -- if true, indicates full support for Q.953 q955Full BOOLEAN, -- if true, indicates full support for Q.955 q956Full BOOLEAN, -- if true, indicates full support for Q.956 q957Full BOOLEAN, -- if true, indicates full support for Q.957 q954Info Q954Details, ... } Q954Details ::= SEQUENCE { conferenceCalling BOOLEAN, threePartyService BOOLEAN, ... } ConferenceIdentifier ::= OCTET STRING (SIZE(16)) RequestSeqNum ::= INTEGER (1..65535) GatekeeperIdentifier ::= BMPString (SIZE(1..128)) BandWidth ::= INTEGER (0.. 4294967295) -- in 100s of bits CallReferenceValue ::= INTEGER (0..65535) EndpointIdentifier ::= BMPString (SIZE(1..128)) ProtocolIdentifier ::= OBJECT IDENTIFIER -- shall be set to -- {itu-t (0) recommendation (0) h (8) 2250 version (0) 1} H221NonStandard ::= SEQUENCE { t35CountryCode INTEGER(0..255), -- country, as per T.35 t35Extension INTEGER(0..255), -- assigned nationally manufacturerCode INTEGER(0..65535), -- assigned nationally ... } NonStandardParameter ::= SEQUENCE { nonStandardIdentifier NonStandardIdentifier, data OCTET STRING } NonStandardIdentifier ::= CHOICE { object OBJECT IDENTIFIER, h221NonStandard H221NonStandard, ... } RasMessage ::= CHOICE { gatekeeperRequest GatekeeperRequest, gatekeeperConfirm GatekeeperConfirm, gatekeeperReject GatekeeperReject, registrationRequest RegistrationRequest, registrationConfirm RegistrationConfirm, registrationReject RegistrationReject, unregistrationRequest UnregistrationRequest, unregistrationConfirm UnregistrationConfirm, unregistrationReject UnregistrationReject, admissionRequest AdmissionRequest, admissionConfirm AdmissionConfirm, admissionReject AdmissionReject, bandwidthRequest BandwidthRequest, bandwidthConfirm BandwidthConfirm, bandwidthReject BandwidthReject, disengageRequest DisengageRequest, disengageConfirm DisengageConfirm, disengageReject DisengageReject, locationRequest LocationRequest, locationConfirm LocationConfirm, locationReject LocationReject, infoRequest InfoRequest, infoRequestResponse InfoRequestResponse, nonStandardMessage NonStandardMessage, unknownMessageResponse UnknownMessageResponse, ... } GatekeeperRequest ::= SEQUENCE --(GRQ) { requestSeqNum RequestSeqNum, protocolIdentifier ProtocolIdentifier, nonStandardData NonStandardParameter OPTIONAL, rasAddress TransportAddress, endpointType EndpointType, gatekeeperIdentifier GatekeeperIdentifier OPTIONAL, callServices QseriesOptions OPTIONAL, endpointAlias SEQUENCE OF AliasAddress OPTIONAL, ... } GatekeeperConfirm ::= SEQUENCE --(GCF) { requestSeqNum RequestSeqNum, protocolIdentifier ProtocolIdentifier, nonStandardData NonStandardParameter OPTIONAL, gatekeeperIdentifier GatekeeperIdentifier OPTIONAL, rasAddress TransportAddress, ... } GatekeeperReject ::= SEQUENCE --(GRJ) { requestSeqNum RequestSeqNum, protocolIdentifier ProtocolIdentifier, nonStandardData NonStandardParameter OPTIONAL, gatekeeperIdentifier GatekeeperIdentifier OPTIONAL, rejectReason GatekeeperRejectReason, ... } GatekeeperRejectReason ::= CHOICE { resourceUnavailable NULL, terminalExcluded NULL, -- permission failure, not a resource failure invalidRevision NULL, undefinedReason NULL, ... } RegistrationRequest ::= SEQUENCE --(RRQ) { requestSeqNum RequestSeqNum, protocolIdentifier ProtocolIdentifier, nonStandardData NonStandardParameter OPTIONAL, discoveryComplete BOOLEAN, callSignalAddress SEQUENCE OF TransportAddress, rasAddress SEQUENCE OF TransportAddress, terminalType EndpointType, terminalAlias SEQUENCE OF AliasAddress OPTIONAL, gatekeeperIdentifier GatekeeperIdentifier OPTIONAL, endpointVendor VendorIdentifier, ... } RegistrationConfirm ::= SEQUENCE --(RCF) { requestSeqNum RequestSeqNum, protocolIdentifier ProtocolIdentifier, nonStandardData NonStandardParameter OPTIONAL, callSignalAddress SEQUENCE OF TransportAddress, terminalAlias SEQUENCE OF AliasAddress OPTIONAL, gatekeeperIdentifier GatekeeperIdentifier OPTIONAL, endpointIdentifier EndpointIdentifier, ... } RegistrationReject ::= SEQUENCE --(RRJ) { requestSeqNum RequestSeqNum, protocolIdentifier ProtocolIdentifier, nonStandardData NonStandardParameter OPTIONAL, rejectReason RegistrationRejectReason, gatekeeperIdentifier GatekeeperIdentifier OPTIONAL, ... } RegistrationRejectReason ::= CHOICE { discoveryRequired NULL, invalidRevision NULL, invalidCallSignalAddress NULL, invalidRASAddress NULL, -- supplied address is invalid duplicateAlias SEQUENCE OF AliasAddress, -- alias registered to another endpoint invalidTerminalType NULL, undefinedReason NULL, transportNotSupported NULL, -- one or more of the transports ... } UnregistrationRequest ::= SEQUENCE --(URQ) { requestSeqNum RequestSeqNum, callSignalAddress SEQUENCE OF TransportAddress, endpointAlias SEQUENCE OF AliasAddress OPTIONAL, nonStandardData NonStandardParameter OPTIONAL, endpointIdentifier EndpointIdentifier OPTIONAL, ... } UnregistrationConfirm ::= SEQUENCE --(UCF) { requestSeqNum RequestSeqNum, nonStandardData NonStandardParameter OPTIONAL, ... } UnregistrationReject ::= SEQUENCE --(URJ) { requestSeqNum RequestSeqNum, rejectReason UnregRejectReason, nonStandardData NonStandardParameter OPTIONAL, ... } UnregRejectReason ::= CHOICE { notCurrentlyRegistered NULL, callInProgress NULL, undefinedReason NULL, ... } AdmissionRequest ::= SEQUENCE --(ARQ) { requestSeqNum RequestSeqNum, callType CallType, callModel CallModel OPTIONAL, endpointIdentifier EndpointIdentifier, destinationInfo SEQUENCE OF AliasAddress OPTIONAL, -- Note 1 destCallSignalAddress TransportAddress OPTIONAL, -- Note 1 destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, srcInfo SEQUENCE OF AliasAddress, srcCallSignalAddress TransportAddress OPTIONAL, bandWidth BandWidth, callReferenceValue CallReferenceValue, nonStandardData NonStandardParameter OPTIONAL, callServices QseriesOptions OPTIONAL, conferenceID ConferenceIdentifier, activeMC BOOLEAN, answerCall BOOLEAN, -- answering a call ... } CallType ::= CHOICE { pointToPoint NULL, -- Point-to-point oneToN NULL, -- no interaction (FFS) nToOne NULL, -- no interaction (FFS) nToN NULL, -- interactive (multipoint) ... } CallModel ::= CHOICE { direct NULL, gatekeeperRouted NULL, ... } AdmissionConfirm ::= SEQUENCE --(ACF) { requestSeqNum RequestSeqNum, bandWidth BandWidth, callModel CallModel, destCallSignalAddress TransportAddress, irrFrequency INTEGER (1..65535) OPTIONAL, nonStandardData NonStandardParameter OPTIONAL, ... } AdmissionReject ::= SEQUENCE --(ARJ) { requestSeqNum RequestSeqNum, rejectReason AdmissionRejectReason, nonStandardData NonStandardParameter OPTIONAL, ... } AdmissionRejectReason ::= CHOICE { calledPartyNotRegistered NULL, -- cannot translate address invalidPermission NULL, -- permission has expired requestDenied NULL, -- no bandwidth available undefinedReason NULL, callerNotRegistered NULL, routeCallToGatekeeper NULL, invalidEndpointIdentifier NULL, resourceUnavailable NULL, ... } BandwidthRequest ::= SEQUENCE --(BRQ) { requestSeqNum RequestSeqNum, endpointIdentifier EndpointIdentifier, conferenceID ConferenceIdentifier, callReferenceValue CallReferenceValue, callType CallType OPTIONAL, bandWidth BandWidth, nonStandardData NonStandardParameter OPTIONAL, ... } BandwidthConfirm ::= SEQUENCE --(BCF) { requestSeqNum RequestSeqNum, bandWidth BandWidth, nonStandardData NonStandardParameter OPTIONAL, ... } BandwidthReject ::= SEQUENCE --(BRJ) { requestSeqNum RequestSeqNum, rejectReason BandRejectReason, allowedBandWidth BandWidth, nonStandardData NonStandardParameter OPTIONAL, ... } BandRejectReason ::= CHOICE { notBound NULL, -- discovery permission has aged invalidConferenceID NULL, -- possible revision invalidPermission NULL, -- true permission violation insufficientResources NULL, invalidRevision NULL, undefinedReason NULL, ... } LocationRequest ::= SEQUENCE --(LRQ) { requestSeqNum RequestSeqNum, endpointIdentifier EndpointIdentifier OPTIONAL, destinationInfo SEQUENCE OF AliasAddress, nonStandardData NonStandardParameter OPTIONAL, replyAddress TransportAddress, ... } LocationConfirm ::= SEQUENCE --(LCF) { requestSeqNum RequestSeqNum, callSignalAddress TransportAddress, rasAddress TransportAddress, nonStandardData NonStandardParameter OPTIONAL, ... } LocationReject ::= SEQUENCE --(LRJ) { requestSeqNum RequestSeqNum, rejectReason LocationRejectReason, nonStandardData NonStandardParameter OPTIONAL, ... } LocationRejectReason ::= CHOICE { notRegistered NULL, invalidPermission NULL, -- exclusion by administrator or feature requestDenied NULL, -- cannot find location undefinedReason NULL, ... } DisengageRequest ::= SEQUENCE --(DRQ) { requestSeqNum RequestSeqNum, endpointIdentifier EndpointIdentifier, conferenceID ConferenceIdentifier, callReferenceValue CallReferenceValue, disengageReason DisengageReason, nonStandardData NonStandardParameter OPTIONAL, ... } DisengageReason ::= CHOICE { forcedDrop NULL, -- gatekeeper is forcing the drop normalDrop NULL, -- associated with normal drop undefinedReason NULL, ... } DisengageConfirm ::= SEQUENCE --(DCF) { requestSeqNum RequestSeqNum, nonStandardData NonStandardParameter OPTIONAL, ... } DisengageReject ::= SEQUENCE --(DRJ) { requestSeqNum RequestSeqNum, rejectReason DisengageRejectReason, nonStandardData NonStandardParameter OPTIONAL, ... } DisengageRejectReason ::= CHOICE { notRegistered NULL, -- not registered with gatekeeper requestToDropOther NULL, -- cannot request drop for others ... } InfoRequest ::= SEQUENCE --(IRQ) { requestSeqNum RequestSeqNum, callReferenceValue CallReferenceValue, nonStandardData NonStandardParameter OPTIONAL, replyAddress TransportAddress OPTIONAL, ... } InfoRequestResponse ::= SEQUENCE --(IRR) { nonStandardData NonStandardParameter OPTIONAL, requestSeqNum RequestSeqNum, endpointType EndpointType, endpointIdentifier EndpointIdentifier, rasAddress TransportAddress, callSignalAddress SEQUENCE OF TransportAddress, endpointAlias SEQUENCE OF AliasAddress OPTIONAL, perCallInfo SEQUENCE OF SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, callReferenceValue CallReferenceValue, conferenceID ConferenceIdentifier, originator BOOLEAN OPTIONAL, audio SEQUENCE OF RTPSession OPTIONAL, video SEQUENCE OF RTPSession OPTIONAL, data SEQUENCE OF TransportChannelInfo OPTIONAL, h245 TransportChannelInfo, callSignaling TransportChannelInfo, callType CallType, bandWidth BandWidth, callModel CallModel, ... } OPTIONAL, ... } TransportChannelInfo ::= SEQUENCE { sendAddress TransportAddress OPTIONAL, recvAddress TransportAddress OPTIONAL, ... } RTPSession ::= SEQUENCE { rtpAddress TransportChannelInfo, rtcpAddress TransportChannelInfo, cname PrintableString, ssrc INTEGER (1..4294967295), sessionId INTEGER (1..255), associatedSessionIds SEQUENCE OF INTEGER (1..255), ... } NonStandardMessage ::= SEQUENCE { requestSeqNum RequestSeqNum, nonStandardData NonStandardParameter, ... } UnknownMessageResponse ::= SEQUENCE --(XRS) { requestSeqNum RequestSeqNum, ... } END -- of ASN.1