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

时间:2011-08-02 09:30:01

标签: sip

我正在制作SIP电话,并且必须开发一项功能以支持多个注册。如果手机的主要注册商服务器已关闭,则手机应自动注册到辅助注册商,并在主要注册商处于活动状态时再次返回主要状态。我的问题是:如何确定主要注册商再次变得活跃。 我可以将OPTIONS方法从手机发送到我的主注册服务器,注册商会像其他任何代理服务器那样发送响应吗?如果我没有收到任何回复,我可以假设主要注册商仍未启动,我应该继续使用二级注册商。

在SIP RFC 3261中,我读过“SIP方法OPTIONS允许UA查询另一个UA或代理服务器的功能。”和
“如果没有收到OPTIONS方法的响应,则事务层可以返回超时错误。这可能表示目标无法访问,因此无法使用。”

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

2 个答案:

答案 0 :(得分:3)

OPTIONS请求在不同的SIP软件中被广泛滥用,作为NAT保持活动机制。这是一个不幸的情况,因为OPTIONS请求可能会在SIP服务器上产生大量处理。因此,您经常会发现SIP Proxy响应Ok响应,而不按照RFC 3261处理它们,以避免额外的不必要处理。

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

在实践中,服务器应该很少失败,所以如果你对客户端检查失败过于激进,你将再次产生大量不必要的负载。如果您担心频繁出现服务器故障,可以将注册过期时间从默认的3600减少到600s或300s。

答案 1 :(得分:0)

你应该看看其他人如何处理这个问题。例如,请参阅Broadsoft端点的一致性测试;他们有几个专门针对如何处理服务器回退的测试。 (以及它如何与DNS SRV交互。)

相关问题