没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
OPENH323 源码分析-http://www.within.net/tech
0
目录
1.
体系结构分析..............................................................................................1
1.1
传输层
............................................................................................1
1.1.1 概述 .........................................................................................1
1.1.2 传输对象的创建和打开 ..........................................................2
1.1.3 接口 .........................................................................................3
1.1.4
应用 .........................................................................................4
1.2
H.225.0 RAS 协议 ..........................................................................6
1.2.1
协议数据单元抽象..................................................................6
1.2.2
协议处理机实现......................................................................8
1.3
H.225.0 呼叫信令协议.................................................................16
1.3.1
协议数据单元抽象................................................................16
1.3.2
呼叫信令协议实现和呼叫管理
.............................................18
1.3.3 H.225.0 传输信道..................................................................25
1.3.4 呼叫信令协议线程................................................................26
1.4 H.245 传输控制协议....................................................................27
1.4.1
协议数据单元抽象................................................................27
1.4.2
控制协议的实现....................................................................28
1.4.3
协议状态机的简单描述 ........................................................32
1.4.4
协议数据传输信道................................................................34
1.4.5
H.245 控制协议线程 .............................................................35
1.5
实时传输协议 ..............................................................................35
1.5.1
数据报抽象
............................................................................35
1.5.2 RTP 信道 ...............................................................................35
1.5.3 发送和接收过程....................................................................36
1.5.4 RTP 会话的控制....................................................................38
1.6
应用程序接口 ..............................................................................40
1.6.1
能力及能力集........................................................................40
1.6.2
编解码器 ...............................................................................43
1.6.3
逻辑信道 ...............................................................................45
1.6.4
连接 .......................................................................................47
1.6.5
端点 .......................................................................................64
1.6.6
类之间的相互关系
................................................................80
2 运行期分析................................................................................................81
2.1 侦听..............................................................................................81
2.2 发现网守并向网守注册 ...............................................................82
2.3
呼叫..............................................................................................83
2.4
逻辑信道的打开及实时数据传输................................................85
2.5
挂断..............................................................................................88
附录 A 专门词定义 ......................................................................................90
附录 B 参考资料 ..........................................................................................91
附录 C H.323 网络结构................................................................................92
PDF created with pdfFactory Pro trial version www.pdffactory.com
OPENH323 源码分析-http://www.within.net/tech
1
1. 体系结构分析
1.1 传输层
1.1.1
概述
传输层主要负责上层协议数据单元的发送和接收,在 OPENH323 中,它由
H323Transport 抽象类来描述,其实现分别依赖于子类 H323TransportTCP 和
H323TransportUDP。其中,H323TransportTCP 利用 TCP 协议实现可靠有序
的数据传输,为 H.225.0 信令协议和 H.245 控制协议提供协议数据单元发送和接
收服务;H323TransportUDP 利用 UDP 协议实现不可靠的数据传输,为 H.225.0
RAS 协议提供协议数据单元发送和接收服务。
+Read()
+Write()
PIndirectChannel
+Read()
+Write()
PChannel
+ReadPDU()
+WritePDU()
H323Transport
H323TransportIP
+ReadPDU()
+WritePDU()
H323TransportTCP
+ReadPDU()
+WritePDU()
H323TransportUDP
图1-1 H323Transport 类结构示意
H323Transport 类派生于 PIndirectChannel 类,因而,H323Transport
提供的接口包括两部分:一部分是自身定义的接口,一部分属于继承自
PDF created with pdfFactory Pro trial version www.pdffactory.com
OPENH323 源码分析-http://www.within.net/tech
2
PIndirectChannel 类的接口,对 于 H323Transport 类的客户而言,可以认为后
者是一种低级的接口,尽量不去使用。
1.1.2 传输对象的创建和打开
以下给出 H323Tranport 类及其派生类的构造函数:
H323Transport(H323EndPoint & endpoint);
H323TransportIP(
H323EndPoint & endpoint,
PIPSocket::Address binding,
WORD remPort
);
H323TransportUDP(
H323EndPoint & endpoint,
PIPSocket::Address binding = INADDR_ANY,
WORD localPort = 0,
WORD remotePort = 0
);
H323TransportTCP(
H323EndPoint & endpoint,
PIPSocket::Address binding = INADDR_ANY,
BOOL listen = FALSE
);
所有由 H323Transport 类派生的具体类在初始化时必须指定它所属的
H323EndPoint 对象。此外,对于 H323TransportUDP,其实例在初始化时还
可以指定本地 IP 地址、本地端口以及远端端口,它们的缺省值分别为
INADDR_ANY、0、1719;对于 H323TransportTCP,其实例在初始化时可以
设定本地 IP 并指定是否具备侦听功能,缺省时本地 IP 采用 INADDR_ANY,不
具备侦听功能。
H323Transport
的父类是
PIndirectChannel
,这个类利用其它
PChannel
对象间接实现读写功能,它的打开依赖于一个硬编码的 Open 方法,该方法设定
实现读写功能的 PChannel 对象;PIndirectChannel 还有了一个可重写的
OnOpen 保护成员,提供了在 Open 方法中完成自定义操作的接口,如果设定的
PChannel 对象是打开的,Open 方法会自动调用 OnOpen。
H323TransportUDP 在对象构造过程中会自动建立一个 PUDPSocket 对
象,并调用 PIndirectChannel::Open 方法将其作为基本读、写通道,使传输对
象可用。
H323TransportTCP 在对象构造过程中不会建立 PTCPSocket 对象,其基
本读、写通道为空,传输对象不可用。要想使一个
H323TransportTCP
对象可
用,必须采用以下三种方式:
其一,调用 Connect 方法,该方法会建立一个 PTCPSocket 对象,调用
PIndirectChannel::Open 将其作为基本读写通道,并利用这个 PTCPSocket 对
象向远端发起连接。
其二,调用 AcceptControlChannel 方法,该方法会建立一个 PTCPSocket
PDF created with pdfFactory Pro trial version www.pdffactory.com
剩余94页未读,继续阅读
资源评论
- 代码与单车2011-12-17网上有一篇类似的文章,这个主要是分析了OphenH323的Ohphone和OpenAM两个命令行程序
- hope5262015-07-19有一些借鉴意义,值得看看。
- cabinriver2013-07-17额 对我而言 用处不是很大
fengdp
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功