[转载]H323中ASN描述文件的处理

在一个由不同厂家生产的计算机构成的环境中,由于机器硬件和软件配置的不同,在数据表示(诸如安符编码、数值表示、字长)方面往往存在差异。为使厂家各产品之间互通互连,我们必须消除这些差异,应具有一套独立于计算机硬件和软件环境的外部数据表示格式,并通过对其编解码实现。抽象语法表示ASN.1(ITU - T rec.X.680|ISO/IEC8824-1)及它的基本编码规则BER(ITU-T Rec.X.690|ISO/IEC8825-1)和紧缩编码规则PER(ITU-T Rec.X.691|ISO/IEC8825-2)即充当了这一角色,被许多应用层协议所使用,使不同系统之间的互连、互通成为可能。
  在开发IP电话的H.323协议时,由于网关之间的视频、音频数据和控制消息要通过互联网进行传输,而网关产品可能是不同厂家生产的,软、硬件环境各不相同。因此采用了ASN.1语法表示,传送的格式是基于ASN.1的PER(packed encodingrules)编码格式的比特流。  

ASN编译器的实现原理:

ASN1-C编译器的实现方法
(1)实现编译器要做的准备工作在实现编译器之前,我们要做以下的工作:
  a.进行数据结构的映射,实现ASN.1类型到C类型的翻译工作,并存在头文件中。遵循规则如前所述,ASN.1基本类型见协议X.680。
  b.编制运行时函数库(Run-time LibraryFunction),包括BER运行时库函数、PER运行时库函数以及运行时公用库函数。BER运行时函数库包括X.680中规定的基本的数据类型的BER编码函数,PER运行时函数库包括其PER编码函数,公用函数库包括跟踪、诊断、打印、出错信息处理以及其它为前两个库函数所用的函数等。这一步设计的库函数留出API接口供程序调用,用户当然可以自己调用这些函数进行数据的编码。在这里,对这些函数的调用可自动由编译器生成的.c文件调用。


OPAL中的文件结构是 ASN文件对应一个.h文件,然后对应一个自动生成的cxx文件。

关于应用和更深入的研究和了解有待再学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值