wiresharkf分析SIP呼叫流程典型流程图解
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 ination中是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-dispositionsession 带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 下一个流程 41