Twilio的{TCP}信令问题

时间:2016-07-11 15:26:15

标签: twilio

我们的防火墙上有UDP数据包碎片问题,并尝试将我们的中继的原始SIP请求更改为TCP。我添加了; transport = tcp我们的起源URI。但它似乎不起作用。连接失败。我们在防火墙上看不到来自Twilio的数据包,并且调用的Twilio PCAP日志显示它仍在使用UDP而不是TCP。有谁知道如何正确设置?

根据文件: 默认情况下,Twilio通过UDP向您的通信基础架构发送始发SIP请求。这可以定制为通过TCP而不是UDP发送。使用源SIP URI中的transport参数更改此设置。给出的例子是:sip:anniebp@172.56.42.132; transport = tcp

1 个答案:

答案 0 :(得分:2)

我相信我已经解决了原始呼叫失败的问题。看来很多客户(使用Asterisk + FreePBX服务器)都有同样的问题,即随机(第一次或前几次)入站呼叫被拒绝,401未经授权的错误。遗憾的是,除了一位客户外,这些客户中没有一家能够解决问题:http://community.freepbx.org/t/twilio-inbound-suddenly-stops-working/33216/37

上述客户在调试日志中注意到,初始始发呼叫实际上是连接到出站的Twilio中继而不是入站中继;并且(显然)失败,因为没有配置传入设置。当客户删除所有Twilio出站中继时,他不再在Twilio控制台的日志中收到原始呼叫失败条目。然后,他继续制作一个入站和出站单主Twilio中继线,负责接听来电和拨出呼叫,而不会出现入站呼叫失败。

由于上述分辨率远非理想,我研究了为什么Twilio的始发呼叫会利用出站中继线(最初)。答案是FreePBX按主干名称和星号按字母顺序配置了中继设置,从上到下读取配置文件。此外,如果中继配置中存在重复的主机IP,则星号(1.6及更高版本)将使用具有重复主机IP的第一个中继(从上到下)。

根据FreePBX Interconnect guide you can download here,我有4个入站(美国VA)中继使用IP 54.172.60.0-3,4个入站(US OR)中继使用IP 54.244.51.0-3和5(1个主站)使用FQDN终止sip uri的+ 4子帐号)出站Twilio中继。在入站中继线之前按字母顺序排列了一些出站中继线。我重命名了所有出站中继,从'z'开始,以便FreePBX将出站Twilio中继放在配置文件的末尾。这样做就解决了入站'失败'的问题。