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

     

  • 相关阅读:
    sql 笔记之一
    js的Location
    VS无法使用.XXXX附加到程序
    C#遍历对象的方法
    解决tomcat启动时中文乱码问题。
    动态sql foreach 循环报错问题
    java跳过https证书直接请求工具类
    安装svn报2503错误处理方法
    oracle常用的一些查询命令
    Oracle11g安装过程中忘记进行口令配置
  • 原文地址:https://www.cnblogs.com/sunnypoem/p/11985010.html
Copyright © 2011-2022 走看看