目 录
一.楔子
二.H.323和SIP之间的差异
三.本文的主要内容
1.User Agent的简介
2.UA部分主要程序部分的介绍
2.1 主程序:SIPUAUA.cxx
2.2 创建一个User Agent的实体
2. 3 HeartLessProxy的创建
2.4 让User Agent Run起来
2. 5 HeartLessProxy Run方法的实现
2. 5. 1 WorkerThread的Run方法
2.5.1.1 processSipEvent
2. 5. 1. 2 processUaDeviceEvent
2.5.1.3 processUaDigitEvent
2. 5. 2 SipThread的Run方法
2. 6 在User Agent中的四个重要实例的Run方法
2. 6. 1 媒体设备启动
2.6.2 启动RTP线程 , 用于对RTP/RTCP包的接收和发送治理;
2. 6. 3 合法用户列表的获取(Redirection Server专用)
2. 6. 4 监测线程:
2. 6. 5 自动呼叫
3.开始一个呼叫和等待对方呼叫:
3. 1 系统创建StateIdle状态:
3. 2 开始一个呼叫:
3. 2. 1 OpStartCall主程序部分:
3. 2. 2 取得键盘的事件
3. 2. 3 状态机(State)对各个操作(Operator)的处理过程:
3. 2. 4 开始一个呼叫所经历的各种操作(Operator)
3. 2. 5 如何进入待机状态(Idle状态)
3. 2. 6 如何开始拨号并且开始一个呼叫:
3. 2. 6. 1 OpStartDialTone本地发送拨号音;
3. 2. 6. 2 OpAddDigit输入电话号码开始拨号:
3. 2. 6. 3 OpStopDialTone;
3. 2. 6. 4 OpInviteUrl建立一个INVITE消息并且发送到被叫;
3.2.7 进入Trying状态
3. 2. 7. 1 OpStartTimer启动每个事件的定时器:
3. 2. 7. 2 挂机事件的检测机制
3. 2. 7. 3 OpStartRingbackTone向被叫进行铃声回放 。
3.2.7.4 OpReDirect进行重定向服务的操作
3.2.7.5 授权检查
3.2.7.6 OpFarEndAnswered处理接收到的OK回应
3.2.7.7 在Vocal中如何实现RSVP资源预留协议
3.2.8用户处于通话的StateInCall状态:
3. 2. 8. 1 OpStartAudioDuplex主叫打开RTP通道
3. 2. 8. 2 处理RTP/RTCP包:
3.2.8.3 ACK消息的处理过程OpAck
3. 2. 8. 4 OpConfTargetOk多方会议检测:
3.2.9 呼叫等待
3. 2. 9. 1 呼叫等待的具体描述:
3. 2. 9. 2 操作之间存在的竞争
3. 2. 9. 3 呼叫中所涉及模块介绍
3.3 等待对方的呼叫
3.3.1 OpRing等待对方的振铃消息
3. 3. 2 OpStartRinging开始响铃
3. 3. 3 OpRingingInvite处理又一个INVITE消息(呼叫等待)
3. 3. 4 OpAnswerCall被叫打开媒体通道开始通讯
3.3.5 回到StateInCall状态
4.如何在改造现有的终端使之能传递视频流 。
4.1一个H.261 的Codec的基本构造
4. 2 增加视频能力所需要做的工作
一.引言
在各种的IP网络多媒体通讯协议中 , 当前在市场上占据主流位置的应当算是ITU的H.323和IETF的SIP两个协议 , 目前在单纯的话音市场 , MGCP协议由于有大规模的用户扩容能力应用也正呈现上升的趋势 , 在2000年以前市场上占主流的主要是H.323协议 , 然而SIP协议由于它避免了复杂的原语(ASN.1)分析 , 它的应用也在2000年以后也得到高速的普及 , 甚至有超过H.323的趋势 , 成为H.323最有力的竞争对手 , 当然 , 由于SIP协议的一些固有缺陷(下面将会具体介绍这些缺陷) , 这种情况在未来的几年可能不会出现 , 不过对于中等规模的多媒体通讯业务(每小时接入60000门)应用而言 , 采用SIP不失为一个方便 , 快捷的开发策略 。
在各种的VOIP开放原码的开发项目中 , Vovida的基于SIP协议的VoCAL(Vovida Open CommunUCAtion Library)不仅仅是在基于SIP的开放原代码协议栈中是最为庞大而且完善的 , 甚至在所有的原码开放的多媒体通讯协议栈中同样也是完善而且全面的 , 目前发布的VOCAL1.4.0主要支持RFC2543 , 据称在新版本的Vocal1.5.0将支持RFC3261协议;Vocal提供了基本的SIP呼叫控制和切换 , 例如:用户注册和登记 , 呼叫初始化 , 修改呼叫特性 , 或者重新定义呼叫特性 , 终止呼叫;以及一些用户的基本呼叫特性:例如呼叫前转 , 呼叫等待 , 呼叫阻塞 , 呼叫转移 , 语音邮件等等 。
推荐阅读
- 移动定向流量指定的软件怎么查
- vcc和vdd的区别
- 如何去除衣服上的火锅味道
- 杨万里是哪个朝代的诗人 杨万里是什么人
- 黑头和粉刺的区别有哪些
- 净水机不往储水罐进水净水机的储水罐无法进水
- xl适合多少斤的人穿
- TCP/IP协议中的三个参数
- 女朋友生气了该怎么哄?
- 生猪喂红薯能催膘
