SIP Offer/Answer交互

发布时间:2016-12-8 12:19:58 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SIP Offer/Answer交互",主要涉及到SIP Offer/Answer交互方面的内容,对于SIP Offer/Answer交互感兴趣的同学可以参考一下。

IETF的"draft-ietf-sipping-sip-offeranswer-01.txt"                 Offer                Answer             RFC    Ini Est Early  -----------------------------------------------------------------        1. INVITE Req.          2xx INVITE Resp.     RFC 3261  O   O    X         2. 2xx INVITE Resp.     ACK Req.             RFC 3261  O   O    X         3. INVITE Req.          1xx-rel INVITE Resp. RFC 3262  O   O    X         4. 1xx-rel INVITE Resp. PRACK Req.           RFC 3262  O   O    X         5. PRACK Req.           200 PRACK Resp.      RFC 3262  X   O    O         6. UPDATE Req.          2xx UPDATE Resp.     RFC 3311  X   O    O 'Ini':表示模式能否用于在创建会话的情况下进行offer/answer的交互。'O'表示这种模式可以用于初始offer/answer交互,'X'表示这种模式不能用于初始offer/answer交互。只有初始INVITE请求能用于创建多媒体会话的offer/answer交互。   'Est':表示模式能否用于能否更新已建立会话。   'Early':表示模式能否在已创建的早期对话中更新会话。   使用SIP进行Offer/Answer交互的基本原则; (1)    同一请求消息的所有可靠响应消息中只能有一个可靠响应消息带 有SDP。 (2)    如果INVITE请求消息带有SDP,那么必须通过可靠的18X、200携带SDP Answer,之后不能通过任何可靠响应消息携带SDP。 (3)    如果INVITE请求消息不带SDP,那么只能必须通过第一个可靠的18X、200消息携带SDP Offer,而且必须通过对携带SDP Offer的响应消息的确认消息携带SDP Answer。如下: 18X消息携带SDP Offer,对该18X的PRACK消息携带SDP Answer。 200消息携带SDP Offer,ACK消息携带SDP Answer。     Offer/Answer交互" TITLE="SIP Offer/Answer交互" />                 图:发送初始INVITE请求,携带SDP 当收到的1xx响应中,携带了SDP,但没有要求可靠传输,该SDP不作为answer,不作特殊处理; 当收到的1xx响应中,未携带SDP,但要求可靠传输,发送PRACK请求,该请求中不能再发送新的offer; 当收到的1xx响应中,携带了SDP,并要求可靠传输,则完成一次offer/answer交互,后续的1xx或最终响应中不能包含SDP; Offer/Answer交互" TITLE="SIP Offer/Answer交互" />             图:发送初始INVITE请求,不携带SDP UAC收到的1xx响应中携带了SDP,但是未要求可靠传输,该SDP不作为offer,也不处理; UAC收到第一个要求可靠传输,并携带了SDP的临时响应(1xx)时,该SDP作为offer,UAC发送PRACK请求,并携带answer,完成一次offer/answer; 后续的临时响应1xx或最终响应2xx中不能再携带SDP,如果UAC再次收到可靠传输的临时响应或最终响应中携带SDP,将其忽略,不再作为offer; Offer/Answer交互" TITLE="SIP Offer/Answer交互" /> 图 消息到达顺序交叉 Offer/Answer交互" TITLE="SIP Offer/Answer交互" /> 图 Offer发生同抢 消息交叉与同抢的区别在于,消息交叉从SIP信令上是能区分后续的消息先于前面的消息到达,而同抢是消息的顺序是正确的,但是双方都携带了offer。    

上一篇:需求开发与需求管理
下一篇:Linux下基于epoll+线程池高并发服务器实现研究

相关文章

相关评论