3CX SIP中继故障转移

介绍

本节介绍了3CX如何处理SIP中继提供商服务器之间的故障转移。 它分为两大类,代表2种提供者类型,基于注册和基于IP。

基于注册

仅当注册商和/或出站代理是FQDN并且FQDN具有NAPTR和/或SRV记录时,才能在3CX中基于注册的SIP中继提供商进行故障转移。有关详细信息,请参阅DNS解析部分。

对于本节,请将“sip.contoso.com”视为以下SRV记录的示例:

  • _sip._tcp.sip.contoso.com:

SRV 记录

权重

优先级

端口

A 记录

_sip._tcp.sip.contoso.com

10

10

5060

sip1.contoso.com

_sip._tcp.sip.contoso.com

20

20

5060

sip2.contoso.com

  • _sip._udp.sip.contoso.com:

SRV 记录

权重

优先级

端口

A 记录

_sip._udp.sip.contoso.com

10

10

5060

sip3.contoso.com

_sip._udp.sip.contoso.com

20

20

5060

sip4.contoso.com

故障转移机制

在SIP中继设置中使用FQDN作为注册器创建3CX中的新SIP中继,并且FQDN具有SIP SRV记录时,3CX按权重和优先级对这些进行排序。

使用上面的示例值,即针对注册器“sip.contoso.com”注册的SIP中继,它注册到“sip1.contoso.com”解析为的IP。

如果“sip1.contoso.com”停止响应,3CX然后重新评估SRV记录,按优先级选择下一个响应条目,并根据“sip2.contoso.com”解析的IP来处理。3CX然后保持注册“sip2.contoso.com”直到它失败然后重复相同的过程,选择具有最低权重/优先级的响应条目并连接到那个(“sip1.contoso.com”)。

故障转移时间

3CX故障转移到下一个SRV进入持续时间取决于它是否具有TCP SRV或UDP SRV,下面单独说明。

使用UDP SRV时的故障转移

使用本节开头的示例条目,3CX开始注册“sip3.contoso.com”。

在注册尝试之间,3CX不知道它所连接的SIP服务器的状态,因为在使用UDP传输时没有与SIP中继提供商的SIP服务器的持续连接。

每当重新注册尝试发生时,3CX可以确定SIP中继提供商的SIP服务器是否已经脱机,即,更长的重新注册时间导致更长的故障转移到下一个SRV条目的持续时间。

尝试重新注册“sip3.contoso.com”,而3CX没有收到任何SIP响应,结果如下:

一般描述

示例

1

重新发送REGISTER消息32秒

Resend REGISTER message for 32 seconds

2

重新查询UDP SRV记录

Re-query _sip._udp.sip.contoso.com

3

尝试注册最高优先级(最低值)的UDP SRV条目

Register against “sip3.contoso.com”

4

重新发送REGISTER消息32秒

Resend REGISTER message for 32 seconds

5

尝试注册下一个优先级UDP SRV条目

Register against “sip4.contoso.com”

6

重复步骤4和5,最多可以有3个SRV条目

使用TCP SRV时的故障转移

使用本节开头的示例条目,3CX开始注册 “sip1.contoso.com”。

如果在注册尝试之间脱机,则3CX与SIP中继提供商SIP服务器之间的TCP连接可能会重置,从而导致3CX立即转移到下一个SRV条目。

在这种情况下,将会发生的是:

一般说明

示例

1

TCP连接丢失

TCP connection to “sip1.contoso.com” drops

2

重新查询TCP SRV记录

Re-query _sip._tcp.sip.contoso.com

3

尝试注册下一个优先级TCP SRV条目

Attempt to register against “sip2.contoso.com”

4

重复步骤2和3,最多可获得3个SRV条目

基于IP

对于基于IP的SIP中继进行故障转移,它必须具有FQDN作为在3CX SIP中继设置中配置的注册器和/或出站代理,并且FQDN必须具有NAPTR和/或SRV记录。

故障转移机制

3CX中基于IP的SIP中继始终显示为“已注册”,这意味着3CX始终尝试为拨出呼叫发送INVITE。 如果3CX之前没有解析FQDN,它会在拨出呼叫过程中执行此操作。 如果找到SRV(或指向SRV的NAPTR),3CX按权重/优先级对SRV条目进行排序,并将INVITE发送到最高优先级条目。

如果呼叫尝试失败,则在下一次出站呼叫时,3CX将重新查询FQDN并将INVITE路由到下一个SRV条目。这意味着对于基于IP的提供商,至少有1个出站呼叫失败才会进行故障转移。