如果SIP UAC在SIP呼叫中间崩溃,UAS和远程UAC的预期行为是什么?假设单个UAS连接呼叫中的两个UAC。
这种情况是否在RFC /草案中讨论过。如果是这样,有人能指出我吗?
答案 0 :(得分:1)
对于核心SIP标准(RFC 3261),没有要求检查呼叫的另一端是否仍在那里,而是由实施者决定。实际上,用户代理通常会检测到一段时间内没有RTP数据包(例如60秒)并挂断电话。
与SIP的每个方面有关的所有内容都有一个RFC扩展,它处理SIP会话计时器(RFC 4028),它记录了在SIP级别处理会话超时的方法。虽然因为它不在核心标准支持下会有所不同。
答案 1 :(得分:0)
另一个选择是查看RTP流。如果它消失,它可能是崩溃的迹象。它也可能在RE-INVITE之后消失,但
答案 2 :(得分:0)
如果UAS检测到UAC [Ingress]没有响应,则UAS有责任终止其他UAC [Egress]的会话,反之亦然。
会话计时器定义定期运行状况检查,以确保呼叫两端的呼叫都处于活动状态。通常在信令协商期间,UAC / UAS可以具体指定谁将执行会话检查以及以什么间隔进行。所以基于UAS是复习者 - 缺乏响应可以触发它终止其他会话。如果它是刷新接收器,则在特定间隔之后缺少请求可以强制其手关闭会话。但在这种情况下,故障的检测基于刷新的间隔时间。
如果UAS仍然是端点之间的媒体的一部分,则其他机制正在检测RTP流。有一些RTP不活动机制可用于此,可以确定何时丢失终点而不仅仅是保持或静音。
如果呼叫具有唯一连接,则使用面向传输的协议可以帮助缓解问题,并且可以在UAS立即触发其丢失以采取纠正措施。