zoukankan      html  css  js  c++  java
  • ASN.1

     简介:

    原文:

    https://www.itu.int/dms_pub/itu-t/oth/0B/04/T0B040000492C01PDFC.pdf

     

    ASN.1是一种能够以独立于语言、平台和编码的形式,对计算机间交流的信息内容 进行定义的符号,并将这一定义称为“用于通信的抽象语法”。 如将它与“有效语法”的ABNF或“有效文件”的XSD概念进行比较,后一种概念 完全侧重于数据的有效编码,不关心任何可能附加给这类编码的意义,即没有任何 必要的语义联系。

    ASN.1定义可方便地映射至C、C++、C#或Java数据结构等格式,用于应用编码, 并通过以XML或TLV(类型-长度-价值)或极紧密排列的编码格式提供表示形式编 解码的存储库而得到支持。 ASN.1广泛用于需要有效(低带宽、低交易成本)计算机通信的行业部门以及需要 高速信息编解码的部门(例如,生物计量信息和电话交换的传送)。

     

     

    例子:

    3GPP RANAP V6.2.0.asn

     

    -- FILE: @(#)RANAP-PDU-Descriptions.asn13.2  04/09/14

     

    -- 3GPP TS 25.413 V6.2.0 (2004-06)

    -- 9.3.2Elementary Procedure Definitions

    -- **************************************************************

    --

    -- Elementary Procedure definitions

    --

    -- **************************************************************

     

    RANAP-PDU-Descriptions  {

    itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)

    umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)}

     

    DEFINITIONS AUTOMATIC TAGS ::=

     

    BEGIN

     

    -- **************************************************************

    --

    -- IE parameter types from other modules.

    --

    -- **************************************************************

     

    IMPORTS

    Criticality,

    ProcedureCode

    FROM RANAP-CommonDataTypes

     

    Iu-ReleaseCommand,

    Iu-ReleaseComplete,

    RelocationCommand,

    RelocationPreparationFailure,

    RelocationRequired,

    RelocationRequest,

    RelocationRequestAcknowledge,

    RelocationFailure,

    RelocationCancel,

    RelocationCancelAcknowledge,

    SRNS-ContextRequest,

    SRNS-ContextResponse,

    SecurityModeCommand,

    SecurityModeComplete,

    SecurityModeReject,

    DataVolumeReportRequest,

    DataVolumeReport,

    Reset,

    ResetAcknowledge,

    RAB-ReleaseRequest,

    Iu-ReleaseRequest,

    RelocationDetect,

    RelocationComplete,

    Paging,

    CommonID,

    CN-InvokeTrace,

    CN-DeactivateTrace,

    LocationReportingControl,

    LocationReport,

    InitialUE-Message,

    DirectTransfer,

    Overload,

    ErrorIndication,

    SRNS-DataForwardCommand,

    ForwardSRNS-Context,

    RAB-AssignmentRequest,

    RAB-AssignmentResponse,

    RAB-ModifyRequest,

    PrivateMessage,

    ResetResource,

    ResetResourceAcknowledge,

    RANAP-RelocationInformation,

    LocationRelatedDataRequest,

    LocationRelatedDataResponse,

    LocationRelatedDataFailure,

    InformationTransferIndication,

    InformationTransferConfirmation,

    InformationTransferFailure,

    UESpecificInformationIndication,

    DirectInformationTransfer,

    UplinkInformationTransferIndication,

    UplinkInformationTransferConfirmation,

    UplinkInformationTransferFailure

    FROM RANAP-PDU-Contents

     

    id-LocationRelatedData,

    id-CN-DeactivateTrace,

    id-CN-InvokeTrace,

    id-CommonID,

    id-DataVolumeReport,

    id-DirectTransfer,

    id-ErrorIndication,

    id-ForwardSRNS-Context,

    id-InformationTransfer,

    id-InitialUE-Message,

    id-Iu-Release,

    id-Iu-ReleaseRequest,

    id-LocationReport,

    id-LocationReportingControl,

    id-OverloadControl,

    id-Paging,

    id-privateMessage,

    id-RAB-Assignment,

    id-RAB-ReleaseRequest,

    id-RAB-ModifyRequest,

    id-RANAP-Relocation,

    id-RelocationCancel,

    id-RelocationComplete,

    id-RelocationDetect,

    id-RelocationPreparation,

    id-RelocationResourceAllocation,

    id-Reset,

    id-SRNS-ContextTransfer,

    id-SRNS-DataForward,

    id-SecurityModeControl,

    id-ResetResource,

    id-UESpecificInformation,

    id-DirectInformationTransfer,

    id-UplinkInformationTransfer

    FROM RANAP-Constants;

     

    -- **************************************************************

    --

    -- Interface Elementary Procedure Class

    --

    -- **************************************************************

     

    RANAP-ELEMENTARY-PROCEDURE ::= CLASS {

    &InitiatingMessage,

    &SuccessfulOutcomeOPTIONAL,

    &UnsuccessfulOutcomeOPTIONAL,

    &OutcomeOPTIONAL,

    &procedureCodeProcedureCode UNIQUE,

    &criticalityCriticality DEFAULT ignore

    }

    WITH SYNTAX {

    INITIATING MESSAGE&InitiatingMessage

    [SUCCESSFUL OUTCOME&SuccessfulOutcome]

    [UNSUCCESSFUL OUTCOME&UnsuccessfulOutcome]

    [OUTCOME&Outcome]

    PROCEDURE CODE&procedureCode

    [CRITICALITY&criticality]

    }

     

    -- **************************************************************

    --

    -- Interface PDU Definition

    --

    -- **************************************************************

     

    RANAP-PDU ::= CHOICE {

    initiatingMessageInitiatingMessage,

    successfulOutcomeSuccessfulOutcome,

    unsuccessfulOutcomeUnsuccessfulOutcome,

    outcomeOutcome,

    ...

    }

     

    InitiatingMessage ::= SEQUENCE {

    procedureCodeRANAP-ELEMENTARY-PROCEDURE.&procedureCode({RANAP-ELEMENTARY-PROCEDURES}),

    criticalityRANAP-ELEMENTARY-PROCEDURE.&criticality({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),

    valueRANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})

    }

     

    SuccessfulOutcome ::= SEQUENCE {

    procedureCodeRANAP-ELEMENTARY-PROCEDURE.&procedureCode({RANAP-ELEMENTARY-PROCEDURES}),

    criticalityRANAP-ELEMENTARY-PROCEDURE.&criticality({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),

    valueRANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})

    }

     

    UnsuccessfulOutcome ::= SEQUENCE {

    procedureCodeRANAP-ELEMENTARY-PROCEDURE.&procedureCode({RANAP-ELEMENTARY-PROCEDURES}),

    criticalityRANAP-ELEMENTARY-PROCEDURE.&criticality({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),

    valueRANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})

    }

     

    Outcome ::= SEQUENCE {

    procedureCodeRANAP-ELEMENTARY-PROCEDURE.&procedureCode({RANAP-ELEMENTARY-PROCEDURES}),

    criticalityRANAP-ELEMENTARY-PROCEDURE.&criticality({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),

    valueRANAP-ELEMENTARY-PROCEDURE.&Outcome({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})

    }


    应用方式:

    http://harmony.apache.org/subcomponents/classlibrary/asn1_framework.html#Overview

     

  • 相关阅读:
    POJ 1611 The Suspects
    POJ 2001 Shortest Prefixes(字典树)
    HDU 1251 统计难题(字典树 裸题 链表做法)
    G++ C++之区别
    PAT 乙级 1013. 数素数 (20)
    PAT 乙级 1012. 数字分类 (20)
    PAT 乙级 1009. 说反话 (20)
    PAT 乙级 1008. 数组元素循环右移问题 (20)
    HDU 6063 17多校3 RXD and math(暴力打表题)
    HDU 6066 17多校3 RXD's date(超水题)
  • 原文地址:https://www.cnblogs.com/sunnypoem/p/11985010.html
Copyright © 2011-2022 走看看