我添加了以下两个 DNS SRV 记录(TTL 10 秒)用于测试:
_sip._udp.example.com. SRV 1 0 5060 sip101.example.com.
_sip._udp.example.com. SRV 2 0 5060 sip102.example.com.
sip101.example.com 和 sip102.example.com 都是两个 Asterisk 服务器(版本 11.17.1)的有效 A 记录。
我正在使用 IP XXXX 从另一个 Asterisk 服务器(版本 11.17.1)发送呼叫,并使用以下拨号方案:
[default]
exten => 0900,1,NoOP(This is test call for checking DNS SRV example.com)
exten => 0900,n,Dial(SIP/XXXX@example.com)
以下是发送呼叫的分机配置:
[XXXX]
type=friend
username=XXXX
secret=temp
host=dynamic
context=default
canreinvite=no
srvlookup=yes
qualify=yes
nat=force_rport,comedia
为了测试 DNS SRV 的故障转移,我在第一优先级的 sip101.example.com 上禁用了 Asterisk;所以在 sip101.example.com 上 10 秒没有响应后,它应该故障转移到 sip102.example.com。
但它不会故障转移到第二优先级 Asterisk 而是超时如下:
== Using SIP RTP CoS mark 5
-- Executing [0900@default:1] NoOp("SIP/XXXX-0000014e", "This is test call for checking DNS SRV example.com") in new stack
-- Executing [0900@deafult:2] Dial("SIP/XXXX-0000014e", "SIP/XXXX@example.com") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/XXXX@example.com
-- SIP/example.com-0000014f is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Auto fallthrough, channel 'SIP/XXXX-0000014e' status is 'CONGESTION'
-- Executing [h@default:1] Hangup("SIP/XXXX-0000014e", "") in new stack
== Spawn extension (default, h, 1) exited non-zero on 'SIP/XXXX-0000014e'
[Jan 3 13:48:43] WARNING[3168]: chan_sip.c:4024 retrans_pkt: Retransmission timeout reached on transmission 18da7dbf6e671fc34a20b74a64cff9a8@X.X.X.X:5060 for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response
谁能帮我解决这个问题?