⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 q931asn1.asn

📁 基于h323协议的软phone
💻 ASN
字号:
Q931-PRIVATE-ASN DEFINITIONS AUTOMATIC TAGS ::=
BEGIN


IMPORTS
        TransportAddress,
        EndpointType,
        GatekeeperIdentifier,
        VendorIdentifier,
        TimeToLive,
        AliasAddress,
        NonStandardParameter,
        CallReferenceValue,
        ConferenceIdentifier,
        CallIdentifier,
        H323-UserInformation,
        RequestSeqNum,
        EndpointIdentifier,
        H323-UU-PDU,
        ReleaseCompleteReason,
        AlternateTransportAddresses,
        UseSpecifiedTransport,
        BandWidth
    FROM H323-MESSAGES
        ClearToken,
        NonStandardParameterH235
    FROM H235-SECURITY-MESSAGES;




Q931Message ::= [PRIVATE 1] SEQUENCE
{
    protocolDiscriminator   INTEGER (0..255),
    callReferenceValue      CHOICE
    {
        dummy                           [0]     NULL,
        oneByte                         [1]     INTEGER (0..255),
        twoBytes                        [2]     INTEGER (0..65535),
    },
    message CHOICE
    {
        setup                   SetupMessage,
        callProceeding          CallProceedingMessage,
        connect                 ConnectMessage,
        alerting                AlertingMessage,
        releaseComplete         ReleaseCompleteMessage,
        status                  StatusMessage,
        facility                FacilityMessage,
        statusEnquiry           StatusEnquiryMessage,
        progress                ProgressMessage,
        setupAck                SetupAcknowledge,
        information             InformationMessage,
        notify                  NotifyMessage,
        userInformation         UserInformation,
        ...

    }
}



-- Q.931 messages
-----------------


AlertingMessage ::= [1] SET
{
    bearerCapability        BearerCapability        OPTIONAL,
    facility                Facility                OPTIONAL,
    progressIndicator       ProgressIndicator       OPTIONAL,
    progressIndicator31     ProgressIndicator31     OPTIONAL,
    notificationIndicator   NotificationIndicator   OPTIONAL,
    display                 Display                 OPTIONAL,
    signal                  Signal                  OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

CallProceedingMessage ::= [2] SET
{
    bearerCapability        BearerCapability        OPTIONAL,
    facility                Facility                OPTIONAL,
    progressIndicator       ProgressIndicator       OPTIONAL,
    progressIndicator31     ProgressIndicator31     OPTIONAL,
    notificationIndicator   NotificationIndicator   OPTIONAL,
    display                 Display                 OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

ConnectMessage ::= [7] SET
{
    bearerCapability        BearerCapability        OPTIONAL,
    facility                Facility                OPTIONAL,
    progressIndicator       ProgressIndicator       OPTIONAL,
    progressIndicator31     ProgressIndicator31     OPTIONAL,
    notificationIndicator   NotificationIndicator   OPTIONAL,
    display                 Display                 OPTIONAL,
    dateTime                DateTime                OPTIONAL,
    connectedNumber         ConnectedNumber         OPTIONAL,
    connectedSubaddress     ConnectedSubaddress     OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

InformationMessage ::= [123] SET
{
    sendingComplete         SendingComplete         OPTIONAL,
    display                 Display                 OPTIONAL,
    keypadFacility          KeypadFacility          OPTIONAL,
    signal                  Signal                  OPTIONAL,
    calledPartyNumber       CalledPartyNumber       OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

NotifyMessage ::= [110] SET
{
    bearerCapability        BearerCapability        OPTIONAL,
    notificationIndicator   NotificationIndicator,
    display                 Display                 OPTIONAL,
    userUser                UserUser                OPTIONAL,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

UserInformation ::= [32] SET
{
    moreData                MoreData                OPTIONAL,
    userUser                UserUser,
    ...
}

ProgressMessage ::= [3] SET
{
    bearerCapability        BearerCapability        OPTIONAL,
    cause                   Cause                   OPTIONAL,
    facility                Facility                OPTIONAL,
    progressIndicator       ProgressIndicator       OPTIONAL,
    progressIndicator31     ProgressIndicator31     OPTIONAL,
    notificationIndicator   NotificationIndicator   OPTIONAL,
    display                 Display                 OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

ReleaseCompleteMessage ::= [90] SET
{
    cause                   Cause                   OPTIONAL,
    facility                Facility                OPTIONAL,
    notificationIndicator   NotificationIndicator   OPTIONAL,
    display                 Display                 OPTIONAL,
    signal                  Signal                  OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

SetupMessage ::= [5] SET
{
    sendingComplete         SendingComplete         OPTIONAL,
    bearerCapability        BearerCapability,
    facility                Facility                OPTIONAL,
    progressIndicator       ProgressIndicator       OPTIONAL,
    progressIndicator31     ProgressIndicator31     OPTIONAL,
    notificationIndicator   NotificationIndicator   OPTIONAL,
    display                 Display                 OPTIONAL,
    keypadFacility          KeypadFacility          OPTIONAL,
    signal                  Signal                  OPTIONAL,
    callingPartyNumber      CallingPartyNumber      OPTIONAL,
    callingPartySubaddress  CallingPartySubaddress  OPTIONAL,
    calledPartyNumber       CalledPartyNumber       OPTIONAL,
    calledPartySubaddress   CalledPartySubaddress   OPTIONAL,
    redirectingNumber       RedirectingNumber       OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

SetupAcknowledge ::= [13] SET
{
    display                 Display                 OPTIONAL,
    signal                  Signal                  OPTIONAL,
    progressIndicator       ProgressIndicator       OPTIONAL,
    progressIndicator31     ProgressIndicator31     OPTIONAL,
    userUser                UserUser                OPTIONAL,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}


StatusMessage ::= [125] SET
{
    cause                   Cause,
    callState               CallState,
    display                 Display                 OPTIONAL,
    userUser                UserUser                OPTIONAL,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

StatusEnquiryMessage ::= [117] SET
{
    display                 Display                 OPTIONAL,
    userUser                UserUser                OPTIONAL,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}

FacilityMessage ::= [98] SET
{
    facility                Facility,
    notificationIndicator   NotificationIndicator   OPTIONAL,
    display                 Display                 OPTIONAL,
    callingPartyNumber      CallingPartyNumber      OPTIONAL,
    calledPartyNumber       CalledPartyNumber       OPTIONAL,
    userUser                UserUser,
--    escapeForExtension      EscapeForExtension      OPTIONAL,
    ...
}



-- Information elements
-----------------------

BearerCapability ::= [4] SEQUENCE
{
    octet3  SEQUENCE
    {
        codingStandard                          INTEGER(0..3),
        informationTransferCapability           INTEGER(0..31),
        ...
    },

    octet4  SEQUENCE
    {
        transferMode                            INTEGER(0..3),
        informationTransferRate                 INTEGER(0..31),
        ...,
        rateMultiplier                          INTEGER(0..127) OPTIONAL,
    },

    octet5  SEQUENCE
    {
        layer1Ident                             INTEGER(0..3),
        userInformationLayer1Protocol           INTEGER(0..31),
        ...
    } OPTIONAL
}



CallState ::= [20] SEQUENCE
{
    codingStandard                                  INTEGER(0..3),
    callStateValue                                  INTEGER(0..63),
}



CallingPartyNumber ::= [108] SEQUENCE
{
    octet3  SEQUENCE
    {
        typeOfNumber                            INTEGER(0..7),
        numberingPlanIdentification             INTEGER(0..15),
        ...,
        presentationIndicator                   INTEGER(0..3),
        spare                                   INTEGER(0..7),
        screeningIndicator                      INTEGER(0..3)
    },
    numberDigits    IA5String
}



CallingPartySubaddress ::= [109] SEQUENCE
{
    octet3 SEQUENCE
    {
        typeOfSubaddress                        INTEGER(0..7),
        oddEvenIndicator                        INTEGER(0..1),
        ...
    },
    subaddressInformation OCTET STRING
}



CalledPartyNumber ::= [112] SEQUENCE
{
    octet3  SEQUENCE
    {
        typeOfNumber                            INTEGER(0..7),
        numberingPlanIdentification             INTEGER(0..15),
        ...
    },
    numberDigits    IA5String
}



CalledPartySubaddress ::= [113] SEQUENCE
{
    octet3 SEQUENCE
    {
        typeOfSubaddress                        INTEGER(0..7),
        oddEvenIndicator                        INTEGER(0..1),
        ...
    },
    subaddressInformation OCTET STRING

}



RedirectingNumber ::= [116] SEQUENCE
{
    octet3  SEQUENCE
    {
        typeOfNumber                            INTEGER(0..7),
        numberingPlanIdentification             INTEGER(0..15),
        ...,
        presentationIndicator                   INTEGER(0..3),
        spare1                                  INTEGER(0..7),
        screeningIndicator                      INTEGER(0..3),
        spare2                                  INTEGER(0..7),
        reasonForRedirection                    INTEGER(0..15)
    },
    numberDigits    IA5String
}



-- This field is taken from Q951
ConnectedNumber ::= [76] SEQUENCE
{
    octet3 SEQUENCE
    {
        typeOfNumber                            INTEGER(0..7),
        numberingPlanIdentification             INTEGER(0..15),
        ...,
        presentationIndicator                   INTEGER(0..3),
        spare                                   INTEGER(0..7),
        screeningIndicator                      INTEGER(0..3)
    },
    numberDigits    IA5String
}



-- This field is taken from Q951
ConnectedSubaddress ::= [77] SEQUENCE
{
    octet3 SEQUENCE
    {
        typeOfSubaddress                        INTEGER(0..7),
        oddEvenIndicator                        INTEGER(0..1),
        ...
    },
    subaddressInformation OCTET STRING
}



Cause ::= [8] SEQUENCE
{
    octet3  SEQUENCE
    {
        codingStandard                          INTEGER(0..3),
        spare                                   INTEGER(0..1),
        location                                INTEGER(0..15),
        ...,
        recomendation                           INTEGER(0..127) OPTIONAL
    },

    octet4  SEQUENCE
    {
        causeValue                              INTEGER(0..127)
        ...,
    },
}



DateTime ::= [41] SEQUENCE
{
    year                                        INTEGER(0..255),
    month                                       INTEGER(0..255),
    day                                         INTEGER(0..255),
    hour                                        INTEGER(0..255),
    minute                                      INTEGER(0..255),
    second                                      INTEGER(0..255)
}



Display ::= [40] IA5String



KeypadFacility ::= [44] IA5String



NotificationIndicator ::= [39] SEQUENCE
{
    octet3 SEQUENCE
    {
        notificationDescription                 INTEGER(0..127),
        ...
    }
}



ProgressIndicator ::= [30] SEQUENCE
{
    octet3  SEQUENCE
    {
        codingStandard                          INTEGER(0..3),
        spare                                   INTEGER(0..1),
        location                                INTEGER(0..15),
        ...
    },

    octet4  SEQUENCE
    {
        progressDescription                     INTEGER(0..127),
        ...
    }

}



ProgressIndicator31 ::= [31] SEQUENCE
{
    octet3  SEQUENCE
    {
        codingStandard                          INTEGER(0..3),
        spare                                   INTEGER(0..1),
        location                                INTEGER(0..15),
        ...
    },

    octet4  SEQUENCE
    {
        progressDescription                     INTEGER(0..127),
        ...
    }

}



SendingComplete ::= [161] NULL

MoreData ::= [160] NULL



Signal ::= [52] SEQUENCE
{
    signalValue                                 INTEGER(0..255)
}



Facility ::= [28] OCTET STRING



--EscapeForExtension ::= [127] SEQUENCE
--{
--    octet3 SEQUENCE
--    {
--        informationElementIdentifier            INTEGER(0..127),
--        ...
--    },
--    contents    OCTET STRING
--}


-- This information element holds H225 part of the message inside it.
-- The h323-UserInformation field inside it is encoded with PER.
UserUser ::= [APPLICATION 126] SEQUENCE
{
    protocolDiscriminator                       INTEGER(0..255),
    h323-UserInformation                        H323-UserInformation
}


END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -