Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注册服务器是否响应SIP选项方法?_Sip - Fatal编程技术网

注册服务器是否响应SIP选项方法?

注册服务器是否响应SIP选项方法?,sip,Sip,我正在做一个SIP电话,必须开发一个功能来支持多个注册。若电话的主注册服务器关闭,电话应自动注册到辅助注册服务器,并在主注册服务器处于活动状态时再次返回主注册服务器。我的问题是:如何确定主注册器再次变为活动状态。 我是否可以将选项方法从我的手机发送到我的主注册服务器,注册服务器是否会像其他代理服务器一样向其发送响应?如果我没有收到回复,我可以假设主注册官仍然没有工作,我应该继续与第二注册官联系 在SIP RFC 3261中,我读到“SIP方法选项允许UA向另一UA或代理服务器查询其能力。” “如

我正在做一个SIP电话,必须开发一个功能来支持多个注册。若电话的主注册服务器关闭,电话应自动注册到辅助注册服务器,并在主注册服务器处于活动状态时再次返回主注册服务器。我的问题是:如何确定主注册器再次变为活动状态。 我是否可以将选项方法从我的手机发送到我的主注册服务器,注册服务器是否会像其他代理服务器一样向其发送响应?如果我没有收到回复,我可以假设主注册官仍然没有工作,我应该继续与第二注册官联系

在SIP RFC 3261中,我读到“SIP方法选项允许UA向另一UA或代理服务器查询其能力。” “如果没有收到选项方法的响应,事务层可能会返回超时错误。这可能表示无法访问目标,因此不可用。”


请告诉我这是正确的实现方式吗?

选项请求作为NAT保持活动机制在不同的SIP软件中被广泛滥用。这是一种不幸的情况,因为选项请求可能会在SIP服务器上引起大量的处理。因此,您经常会发现SIP代理的响应带有Ok响应,而没有按照RFC 3261进行处理,以避免额外的不必要处理

在您的情况下,如果您发送的注册请求在事务超时期间(默认为32秒)内没有得到响应,那么只担心故障转移就足够了。您可以将SIP电话配置为在注册到期时间即将到来时始终首先尝试主注册器,这意味着您始终在主服务器上(如果主服务器可用)


在实践中,服务器应该很少发生故障,因此,如果您过于积极地检查客户机的故障,您将再次产生大量不必要的负载。如果您担心频繁的服务器故障,您可以将注册到期时间从默认的3600秒减少到600秒或300秒。

您应该看看其他人是如何处理的。例如,参见Broadsoft端点符合性测试;他们有几个专门针对如何处理服务器回退的测试。(以及这与DNS SRV的交互方式。)

在切换回主服务器时,您必须确定哪一个更容易接受:在两个注册器处的短时间间隔并行注册,还是短时间间隔不注册。我看不出第一个会有什么害处,第二个会导致电话被拒绝。因此,当在次要位置注册时,您可以继续尝试注册到主要位置,成功后从辅助服务器注销。@Szocske:这不会伤害客户端,但如果服务器基础结构突然不得不处理两倍多的注册请求,它可能会不高兴:)。如果他需要从辅助服务器切换回主服务器,则需要注销和注册,我只是说,他可能应该尝试在主服务器上注册,成功后从辅助服务器上注销。