做刷单网站违法吗,网页游戏网址有哪些,野花香视频在线观看社区,如皋市城乡建设局网站概述SIP定义了两种应答#xff1a;临时#xff08;provisional)和最终#xff08;final#xff09;。最终应答传送的是请求处理的结果#xff0c;是可靠性的#xff08;reliably#xff09;。而临时应答传送的是处理过程的信息#xff0c;由RFC3261是非可靠的。但是由现…概述SIP定义了两种应答临时provisional)和最终final。最终应答传送的是请求处理的结果是可靠性的reliably。而临时应答传送的是处理过程的信息由RFC3261是非可靠的。但是由现在的情况看来特别是与PSTN交互过程中发现临时应答也应该是可靠的。RFC3262定义了一种SIP可选的扩展方法——PRACKprovisionalack用于支持临时应答的可靠性。它的实现机制如下借鉴了INVITE请求的2**应答的可靠性机制通过构造新的事务来重发ACK来确认接收到了2**应答这种可靠性是端点到端点end-to-end的。对于1**除100外的应答使用PRACK来终止该应答的重发。PRACK是对临时应答而言不同于ACK是一种跟BYE一样的正常SIP消息。所以它的可靠性是点到点hop-by-hop的且具有应答。每个临时响应都有一个顺序号在于RSeq头域中。而PRACK消息包括了RAck头域指示回应的临时相应的顺序号且不具有积累效果。UAS行为如果请求INVITE的头域Supported中包括选项100relUAS可能发送可靠性临时响应如果请求INVITE的头域Require中包括选项100relUAS必须发送可靠性临时响应否则发送420(Bad Extension)且Unsupported头域中包括选项100rel。但是如果请求中不满足以上任一情况则不能支持可靠临时相应。UAS需要发送可靠临时相应原因多种原因。其中之一为根据RFC3261,如果UAS需要一段时间来处理请求UAS需要发送临时相应消息给Proxies来“延时extention”因为Proxy一般只保留请求上下文3分钟所以为了避免丢失消息常需要1分钟重发一次。而使用可靠临时相应只需2分半钟重发一次。可靠临时响应的构建只需在RFC3261的基础上进行一些补充必须包括Require头域包括100rel选项和RSeq头域值为1到2**32-1是对话中是唯一的。PRACK和临时响应的匹配PRACK首先必须和临时相应在同一个对话之中RAck中的方法、CSeq-num和response-num分别对应于临时响应CSeq中的方法、CSeq中的序号和RSeq的序号。如果接受到的PRACK无法找到相匹配的临时相应则回应481否则回应2**并停止该临时相应的重发。如果在64*T1时间内没有接收到PRACK则UAS回应5**。在第一个可靠响应得到回应才可以发送第二个可靠相应。对于同一个请求第二个可靠相应的RSeq比第一个大1。UAS可以在可靠临时响应未收到PRACK情况下发送最终应答除了以下情况最终响应为2**且其中一个临时相应中有媒体描述。如果最终响应已经发送则临时相应的重发和新的临时消息发送都不能进行。UAC行为如果需要可靠临时应答则在INVITE请求的Require头域中包含100rel选项而其他方法中的Require中不能包含该选项如果将可靠临时应答的需求的决定权交给UAS则应在INVITE的头域Supported中包含100rel选项。当头域Require中包含100rel的临时消息到来时且临时消息非100说明临时消息是可靠的。UAC接下来在对话中建立PRACK请求跟其它在对话中建立的非INVITE请求一样UAC不应在接收到重发的可靠临时应答时重发PRACK即使重发不会引起协议错误。一个临时应答到来时如果dialog ID、CSeq、和RSeq跟之前的一样时该应答视为重发该应答必须被丢弃。所以UAC需要记录RSeq值直到最终应答的到来。如果新的一个临时应答到来时需要判断RSeq是否比之前的值大。如果不是的话则不能回应PRACK,可以丢弃该临时应答或缓存起来以等待没有到来的老的临时应答。如果在最终应答到来之后收到临时应答可以回应或直接丢弃。Offer/Answer模型和PRACK方法详见RFC3262或之后的关于Offer/Answer的文章注1RFC3262中不支持除INVITE外其它方法的可靠性临时响应除非是能建立对话的扩展方法。2UAS不能发送可靠的100临时相应。因为100响应一般是hop-by-hop的即消息的可靠性在于hop的两端之间而不在于端到端之间而这里实现的可靠性是端到端之间的即接受消息初始发送和最终接受方能满足消息真正交互成功。但是PRACK的可靠性又是hop-by-hop的即PRACK方法的消息交互依靠的是hop之间的确认。参考RFC3262