如何通过Openh323开发自己的H.323协议栈

王朝vc·作者佚名  2006-01-17
窄屏简体版  字體: |||超大  

如何通过Openh323开发自己的H.323协议栈

作者:卢政

下载本文档(pdf格式)

本文分成三个部分介绍Openh323和RTH323,第一部分是Openh323中所创立的实体的介绍,作者选取了其中最重要的部分进行介绍,然后第二部分是对Openh323发起一个呼叫和收听一个呼叫的实现过程,最后一个部分是如何从Openh323发展成商业版本的RTH323。

目 录

前言

一 . Openh323 中的实体介绍

二 . 在 Openh323 中实现一个端点对端点的呼叫和媒体交换

1.能力集的设定(setCapability)

2.搜索并且发现网守

2.1发现一个网守

2.1.1创建一个客户端网守的实体

2.1.2发现任意网守程序DiscoverAny()

2.2向网守发起注册

2.2.1向网守发送RRQ消息并且开始注册本地端点

2.2.2向和网守建立的RAS通道写入RRQ消息,并守听RCF回应

2.2.2.1由 OnSendPDU准备发送RAS消息

2.2.2.2守听网守回送的RAS消息

3.开始一个呼叫MakeCall()

3.1 H.225/Q931呼叫过程的实现:H225CallThread守护线程

3.1.1向远端发送SetUP消息

3.1.2 ARQ/ACF呼叫注册过程

3.1.3获得一个呼叫接入令牌

3.1.4 处理CallProgress/Alerting/Connect消息序列

3.1.4.1读取TCP信道中的消息

3.1.4.2处理H.225/Q931消息

3.1.4.3准备打开媒体信道

4.打开/启动H.245逻辑信道并且传送媒体数据

4.1打开并且启动H.245逻辑信道

4.2开启逻辑控制信道

4.3 H.245命令的过程

4.3.1能力交换/主从确定

4.3.1.1能力交换

4.3.1.2主从确定

4.3.2单/双向逻辑信道打开

4.3.2.1主叫方打开本地的逻辑信道

4.3.2.2被叫方接收主叫发送的OLC并打开本地的逻辑信道

4.3.3接收并且处理H.245消息的程序

5.在媒体通道上发送RTP/RTCP分组

5.1 H323_RTPChannel RTP通道描述类如何发送和接受媒体数据

5.1.1发送媒体数据

5.1.1.1发送RTP分组

5.1.1.2发送RTCP分组

5.1.2 接收RTP分组

5.1.2.1ReadData的流程简介

5.1.2.2 Jitter读方法

6.守听对端的一个呼叫

6.1创建一个守听线程

6.1.1 StartListener的工作过程

6.1.2 H323ListenerTCP的工作过程

6.1.3创建一个接受并且处理H.225消息的线程

6.1.4后续的H.225消息Proceeding/Alerting/Connect/处理过程

6.1.5回应一个呼叫

三.从 Openh323 到 RTH323

1.安全方面的增强:

1.1保护呼叫信道(h.225)

1.1.1使用标记进行两个端点之间的身份认证:

1.1.2保护H.245呼叫控制信道的加密能力集的交换:

1.2 保护媒体通道和媒体流:

2. 网守和LDAP服务器

3. RTP和RTCP

4.嵌入式版本(视频SUD)

作者介绍:卢政,毕业于莫斯科动力学院自动控制系,曾参与过航空发动机燃烧室数据采集系统的设计,是RTH323的设计人之一,同时也是多个俄罗斯的多个OpenSource项目的参与者,目前正在参与开放式小型网关和Open SIP,WQER远程接入服务器的开放原码开发项目。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航