2

我已经在这几天了,似乎无法将来电路由到用户分机。拨出电话和内部 SIP 分机拨号都有效,但是,当拨打与我为域设置和配置的 Twilio Elastic SIP 中继关联的号码时,我从运营商那里收到“所有电路都忙”的消息。

该系统是在 Ubuntu 14.04 上运行的全新安装的 FreePBX 12.0.68,内部 SIP 分机拨号和中继上的出站呼叫正常工作。Asterisk 的 Twilio 主干配置取自此处此处

type=peer
secret=xxxxxxxxxxxxxxxxxxx
username=xxxxxxxxxxxxxxx
host=xxxxxxxxx.pstn.twilio.com
dtmfmode=rfc2833
canreinvite=no
disallow=all
allow=ulaw
insecure=port,invite
fromuser=xxxxxxxxxxx
fromdomain=xxxxxxxxx.pstn.twilio.com
context=incoming

这是 Twilio 和服务器之间的 TCP/UDP 流量

Source          Destination     Protocal  Info
10x.xxx.xx.xxx  10x.xxx.xxx.xx  UDP       Source port: 5060  Destination port: 5060
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.2     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.3     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.0     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.0     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
54.172.60.0     10x.xxx.xxx.xx  SIP/SDP   Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com 
10x.xxx.xx.xxx  10x.xxx.xxx.xx  UDP       Source port: 5060  Destination port: 5060

这是 INVITE UDP 流

INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com SIP/2.0
Record-Route: <sip:54.172.60.0:5060;lr;ftag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19>
From: <sip:+16xxxxxxxxx@sip.us1.twilio.com;pstn-params=808481808882;cpc=ordinary>;tag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19
To: <sip:+14xxxxxxxxx@xxx.xxxxx.com;user=phone>
CSeq: 25149 INVITE
Max-Forwards: 132
Accept: application/sdp,application/isup,application/dtmf,application/dtmf-relay,multipart/mixed
Session-Expires: 1800
Min-SE: 90
Content-Disposition: session;handling=required
Diversion: sip:+14xxxxxxxxx@public-vip.us1.twilio.com;reason=unconditional
Call-ID: 33939be232ba77b26300353ace17928c@0.0.0.0
Via: SIP/2.0/UDP 54.172.60.0:5060;branch=z9hG4bKdf6c.854803a7.0
Via: SIP/2.0/UDP 172.18.18.39:5060;branch=z9hG4bK144031e0-db91-45e9-ae85-6de18ed14b19_6772d868_287964010429808
Contact: <sip:+16xxxxxxxxx@172.18.18.39:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE
User-Agent: Twilio Gateway
X-Twilio-AccountSid: ACaa6e5a9a0d40b2b12751f33b612ebf6e
X-Twilio-ApiVersion: 2010-04-01
Content-Type: application/sdp
X-Twilio-CallSid: CAcc7d0e0603fea476fdaa1c94d9243104
Content-Length: 233

v=0
o=- 412164138 412164138 IN IP4 54.172.60.23
s=SIP Media Capabilities
c=IN IP4 54.172.60.23
t=0 0
m=audio 11590 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com SIP/2.0
Record-Route: <sip:54.172.60.0:5060;lr;ftag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19>
From: <sip:+16xxxxxxxxx@sip.us1.twilio.com;pstn-params=808481808882;cpc=ordinary>;tag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19
To: <sip:+14xxxxxxxxx@xxx.xxxxx.com;user=phone>
CSeq: 25149 INVITE
Max-Forwards: 132
Accept: application/sdp,application/isup,application/dtmf,application/dtmf-relay,multipart/mixed
Session-Expires: 1800
Min-SE: 90
Content-Disposition: session;handling=required
Diversion: sip:+14xxxxxxxxx@public-vip.us1.twilio.com;reason=unconditional
Call-ID: 33939be232ba77b26300353ace17928c@0.0.0.0
Via: SIP/2.0/UDP 54.172.60.0:5060;branch=z9hG4bKdf6c.854803a7.0
Via: SIP/2.0/UDP 172.18.18.39:5060;branch=z9hG4bK144031e0-db91-45e9-ae85-6de18ed14b19_6772d868_287964010429808
Contact: <sip:+16xxxxxxxxx@172.18.18.39:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE
User-Agent: Twilio Gateway
X-Twilio-AccountSid: ACaa6e5a9a0d40b2b12751f33b612ebf6e
X-Twilio-ApiVersion: 2010-04-01
Content-Type: application/sdp
X-Twilio-CallSid: CAcc7d0e0603fea476fdaa1c94d9243104
Content-Length: 233

v=0
o=- 412164138 412164138 IN IP4 54.172.60.23
s=SIP Media Capabilities
c=IN IP4 54.172.60.23
t=0 0
m=audio 11590 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com SIP/2.0
Record-Route: <sip:54.172.60.0:5060;lr;ftag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19>
From: <sip:+16xxxxxxxxx@sip.us1.twilio.com;pstn-params=808481808882;cpc=ordinary>;tag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19
To: <sip:+14xxxxxxxxx@xxx.xxxxx.com;user=phone>
CSeq: 25149 INVITE
Max-Forwards: 132
Accept: application/sdp,application/isup,application/dtmf,application/dtmf-relay,multipart/mixed
Session-Expires: 1800
Min-SE: 90
Content-Disposition: session;handling=required
Diversion: sip:+14xxxxxxxxx@public-vip.us1.twilio.com;reason=unconditional
Call-ID: 33939be232ba77b26300353ace17928c@0.0.0.0
Via: SIP/2.0/UDP 54.172.60.0:5060;branch=z9hG4bKdf6c.854803a7.0
Via: SIP/2.0/UDP 172.18.18.39:5060;branch=z9hG4bK144031e0-db91-45e9-ae85-6de18ed14b19_6772d868_287964010429808
Contact: <sip:+16xxxxxxxxx@172.18.18.39:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE
User-Agent: Twilio Gateway
X-Twilio-AccountSid: ACaa6e5a9a0d40b2b12751f33b612ebf6e
X-Twilio-ApiVersion: 2010-04-01
Content-Type: application/sdp
X-Twilio-CallSid: CAcc7d0e0603fea476fdaa1c94d9243104
Content-Length: 233

v=0
o=- 412164138 412164138 IN IP4 54.172.60.23
s=SIP Media Capabilities
c=IN IP4 54.172.60.23
t=0 0
m=audio 11590 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20

我还在 FreePBX 界面中配置了一个传入路由,DID Number设置为我的 Twilio 号码,并Destination直接设置为用户的 SIP 分机,相应的客户端正在运行并准备好接收呼叫。我已经使用了这两种方法netstattcpdump在我看来,它看起来像是INVITE从 Twilio 发送了一个请求,而 FreePBX 只是没有正确路由它?

4

1 回答 1

3

我读到你有一个 NAT 问题——我仍然想把这个发布给那些也遇到类似问题的人。

我已经从我的几个 PBX 系统以及我们的一些客户的 ViciDIAL 开源拨号器配置中使我的 Twilio Elastic SIP 中继正常运行。我曾经有过一段时间似乎与 OP 所描述的相同的东西。

诚然,我只在 PBX 上测试了入站——我尝试了几种不同的配置排列,直到我确定了使用 Twilio 而不是世界上任何其他 SIP 提供商的问题。

首先,我唯一的星号设置:

[twilio]
host=xxxxxxx.pstn.twilio.com
type=friend
dtmfmode=rfc4733
canreinivite=no
insecure=port,invite

[twilio1]
type=friend
insecure=port,invite
host=54.172.60.0
dtmfmode=rfc4733
canreinivite=no

[twilio2]
type=friend
insecure=port,invite
host=54.172.60.1
dtmfmode=rfc4733
canreinivite=no

...对于您将用于入站的每个 Twilio IP,依此类推,因为您永远不知道它将使用哪个附近的地理 IP。(我会注意到星号日志显示通过 IP 循环调用,这取决于您的地理区域)。

您可以在我的星号日志中看到一个示例,为了保护隐私,我只用 (twilio_phone) 替换了我的 twilio 电话号码:http: //pastebin.com/rXz7cY39

另一个主要区别:

入站路线 (DID) 必须使用前导 + 号声明,这在我的经验中并不常见

因此,对于 twilio,您必须将每个可能的 IP 都包含为中继,并且在拨出和创建入站路由时还必须包含 + 之前的数字

希望这对任何努力实施的人都有帮助!

于 2016-06-07T01:11:50.753 回答