资源描述
SIP呼喊典型流程图解及具体解释
目录
1. Sip协议的相关术语: 2
2. 注册流程 4
3. 注销流程: 6
4. 基本呼喊建立过程: 7
5. 会话更改流程: 8
6. 正常呼喊释放过程: 10
7. 被叫忙呼喊释放: 11
8. 被叫无应答流程一: 12
9. 被叫无应答流程二: 13
10. 遇忙呼喊前转: 14
11. 无应答呼喊前转流程: 16
12. 呼喊保持: 18
13. 呼喊等待: 21
14. 盲转流程 25
15. 询问转的流程 27
16. 彩铃的流程 28
17. 三方通话 31
1. Sip协议的相关术语:
A拨打B,A到proxy是一个session,一个dialog,proxy到b是另一个dialog,有另一个session name。
Invite,ack,bye,option,update,cancel消息,每发一个就是一个事务。每发一个请求,cseq加1,但cancel,ack,bye请求的cseq同invite的cseq。Callid,from tag,to tag标记一次对话。Invite消息中有from tag,没有to tag,100 trying应答也没有to tag。被叫发的bye中from,to的tag和180和200ok的值。
每个事务用via字段里的branch的值来区分,invite到200ok之间属于一个事务,bye是另一事务。
语音流,被叫收到ack后发一个rtp流。
2. 注册流程
3. 注销流程:
4. 基本呼喊建立过程:
5. 会话更改流程:
举例:见盲转的过程中,会收到proxy发起的两次会话更新过程
Re-invite和invite的区别是,re-invite中含to tag,invite中不含to tag,re-invite中的sdp消息中connection information中是0.0.0.0。
6. 正常呼喊释放过程:
7. 被叫忙呼喊释放:
8. 被叫无应答流程一:
9. 被叫无应答流程二:
10. 遇忙呼喊前转:
因在同一ippbx下,所以没有回486的过程,直接ippbx直接呼喊被叫号码
11. 无应答呼喊前转流程:
未接通振铃超时的消息
第二被叫接通
12. 呼喊保持:
13. 呼喊等待:
注意:用户a听到的嘟嘟有别的号码打入提醒音是第五步,回180消息后,用户板发给终端的,proxy发给用户的rtp流中没有此音。
最后是释放过程
14. 盲转流程
Invite和200ok里的媒体属性
Proxy把804到proxy间的媒体流和proxy到813的呼喊的媒体流连接起来,这样617就可以挂机,804能听到813那边的提醒音了。
REFER用于由一个用户代理来指另一个用户代理访问URI的对话框。
· REFER必须包含一个Refer-To头。这是参考一个强制性的头。
· REFER可以在内部或在对话外发送。
· 202 Accepted 将引发REFER请求这表白其他用户代理已经接受了参考
15. 询问转的流程
16. 彩铃的流程
普通的彩铃实现通过proxy回sdp的183消息,实现远端放音,见下图:
呼喊登记有同振业务固定电话时,流程不同,需要p-early-media字段的支持,请求中必须有100rel的支持,用update来实现会话的更新。
同振业务,固定电话振铃比较快,先接通固定电话的普通回铃音,然后手机才干接通,这时放手机的彩铃,先183接通固定电话普通彩铃,然后再update会话更新接通手机彩铃,被叫接通后update完毕会话更新,接通话路。被叫手机摘机后,用update更新媒体,200ok不含sdp消息。
在183和update消息中支持两个媒体流,p-early-media和content-disposition:session
带p-early-media为初期媒体,回铃音,content-disposition为普通的通话。
17. 三方通话
三方通话操作环节是:
A. a804拨打b617,振铃后b617摘机接通。
B. b617拍插簧后,按813呼喊c813,听回铃音后接通,a804听保持音。
C. b617拍插簧后,c813听保持音,按2,和a804通话。
D. b617拍插簧后,按3,进入三方通话过程。
其中关键点:b617每次拍插簧,a804均被修改为单向receive only,听保持音。待b617按键结束后,均修改媒体为双向。
上面过程的抓包分析:
a)
b)
c)
d) 下一个流程
展开阅读全文