欢迎访问 水平网    今天是:2017年11月22日 注册 | 登录 | 订阅 | 收藏
>> 网络技术 >> VOIP技术 >> SIP协议的事务处理机制-IST处理流程
推荐文章
热点文章
专题
JQuery框架
Prototype.js
HTML5

SIP协议的事务处理机制-IST处理流程

作者:承成,  来源:本站,  阅读:1297,  发布时间:2014-07-26 【放入收藏夹
本站原创文章,如需转载,请保留作者及出处:www.goalercn.com,谢谢合作,不愿保留作者及出处信息的请勿转载!
 
SIP共有4个状态处理机制,分别是ICT(客户端的请求消息-INVITE及与之相关的消息)、NICT(客户端非INVITE消息的其他所有消息)、IST(服务器端的请求消息- INVITE及与之相关的消息)、NIST(服务端的非INVITE消息的其他所有消息)
 

为什么要把INVITE消息单独处理? 因为INVITE是一个3次握手的过程,而其他所有的消息只需要两次握手;其过程类似与TCP/UDP。

 

INVITE Server Transaction

                               |INVITE
                               |pass INV to TU
            INVITE             V send 100 if TU won't in 200ms
            send response+-----------+
                +--------|           |--------+101-199 from TU
                |        | Proceeding|        |send response
                +------->|           |<-------+
                         |           |          Transport Err.
                         |           |          Inform TU
                         |           |--------------->+
                         +-----------+                |
            300-699 from TU |     |2xx from TU        |
            send response   |     |send response      |
                            |     +------------------>+
                            |                         |
            INVITE          V          Timer G fires  |
            send response+-----------+ send response  |
                +--------|           |--------+       |
                |        | Completed |        |       |
                +------->|           |<-------+       |
                         +-----------+                |
                            |     |                   |
                        ACK |     |                   |
                        -   |     +------------------>+
                            |        Timer H fires    |
                            V        or Transport Err.|
                         +-----------+  Inform TU     |
                         |           |                |
                         | Confirmed |                |
                         |           |                |
                         +-----------+                |
                               |                      |
                               |Timer I fires         |
                               |-                     |
                               |                      |
                               V                      |
                         +-----------+                |
                         |           |                |
                         | Terminated|<---------------+
                         |           |
                         +-----------+
 
              Figure 7: INVITE server transaction
 
1、  当ST收到一个request,进入“Proceeding”状态,产生一个“100 Try”临时响应,
2、  ST接受TU的临时响应,进入“Proceeding”状态,
3、  TU接受响应,ST发送一个2XX响应,同时进入“Terminated”状态
4、  若TU pass a response with status 300~699,ST发送状态码300~699;同时进入状态“Completed”
5、  若状态为“Completed”state,启动定时器G,value= T1 for UDP;TCP则不需要
6、  若状态为“Completed”state,启动定时器H,value= 64*T1
7、  若定时器G超时,则重新发送RESPONSE,reset定时器G,value= MIN(2*T1, T2);依次类推;
8、  当ST处于“completed”status,如果收到request,ST需要产生响应
9、  当收到ACK消息,ST状态为“completed”;ST进入“Confirmed”状态;定时器G被忽律,任何响应都将停止发送
10、              如果定时器H到时,ST在“Completed”,(未收到ACK)则ST进入“Terminated”,并且通知TU,事务失败;

进入“Confirmed”状态时,吸收额外的ACK消息,触发最后的响应,同时启动定时器I,value=T4(for UDP, zero seconds for TCP);定时器I fires,进入“Terminated”

TGAS:SIP协议事务处理机制IST流程
评论【共有0条评论】查看所有评论
称呼:(*)   邮箱:   QQ:   验证码: 看不清楚?点击刷新验证码