RFC3261 sip协议------cancel请求

CANCEL请求用于取消之前发送的请求,主要针对INVITE请求,因INVITE响应时间较长。只有在未收到临时或最终应答时,UAC才能发送CANCEL。在UAS端,无状态服务器直接转发,有状态服务器则会匹配并处理请求,已发送最终应答的原始请求无法被取消。
摘要由CSDN通过智能技术生成

 Cancel请求

Cancel请求是用来取消一个之前已经发送过得请求的,如果这个请求已经得到了应答,那么Cancel请求是失效的。所以Cancel请求一般都用是用来取消invite请求的,因为invite的请求得到最终应答的时间比较长。对于一个有状态的UAS来说,Cancel请求是点对点的,就是Cancel请求需要每个proxy服务器进行处理和应答。而无状态服务器只是转发这个cancel请求。


UAC behavior

UAC端只能发送invite请求的cancel请求,这是应为其他的请求在UAS端处理过快,cancel请求不会起作用。为了匹配要取消的invite请求,构建cancel请求时,要把要取消的invite请求的request-uri、call-id、to、cseq以及from头域都要复制到cancel请求中去。cancel请求构建的时候via头域的值,只能是invite请求的第一个via头域。如果invite请求中包含了route头域,那么cancel请求也要包含这个头域,这是为了能让无状态服务器能够路由cancel消息。

在cancel请求构造成功之后,UAC准备发送之前,需要检查是否收到了临时或者是最终的应答,如果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值