开发H.323协议栈是通信设计过程中的一项极其艰巨的任务,难点主要在于:复杂的协议栈开发需要投入数年的工程设计资源,而且掌握这些复杂的标准还需要一个知识的积累和学习过程,本文将探讨开发H.323协议栈和VoIP应用系统遇到的问题、歧义、困难等。
Brian Krejcarek
US Software公司
briank@ussw.com
Jonathan Shaw
US Software公司
jonathan@ussw.com
利用基于原语(primitive)的H.323协议栈开发IP承载话音(VoIP)应用系统不是一项小任务,因为创建一个鲁棒的应用系统,需要花很多时间去研究含糊的标准和复杂的状态机。
本文用例子说明流程的实现以及原语(primitive)的定义,用以说明如何构建一个基于原语接口的应用系统和一个基于简单接口的替代方案。在开发协议栈之前,建议浏览一下H.323的基本标准。H.323是国际电信联盟(ITU)颁布的标准,由一系列特定协议组成,包括Q.931、H.225、H.245和ASN.1。为了提供呼叫信令功能,H.323部分融合了H.225和Q.931标准。H.245定义了多个流程,以便于进行能力信息互换(exchange capability)、主从判断(master-slave determination)和信道(channel)信令。最后,ASN.1规定了数据格式,使兼容H.323的端点能够互通。
基本概念
使用H.323时,正确理解原语和流程这两个术语很关键。原语用来描述应用层和H.323协议栈下层之间传递的结构或消息。H.323定义了多个原语,有四种类型:请求、指示、响应和确认。每个原语的参数的数量是可变的,这由相关流程决定。这些参数表示应用层和协议栈下层的通信信息。
来源:电子工程专辑