首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twilio未响应SIP invite

Twilio未响应SIP invite
EN

Stack Overflow用户
提问于 2017-03-14 01:02:43
回答 2查看 863关注 0票数 0

我有一个使用Twilio的Elastic SIP中继的freeSwitch实现。在大多数情况下,这是完美无瑕的。我可以将来电从PSTN接收到我的SIP干线并转发到我的freeswitch PBX。我也可以在终端干线上发起呼叫,而不会出现问题。

当我的FollowMe功能尝试通过终端SIP干线拨出呼叫我的手机时,我遇到了问题。

我已经使用FS_CLI监控到Twilio的通信,可以看到SIP Invite消息-但是Twilio没有响应。

我甚至(在很大程度上)比较了从我的分机呼叫到公共交换电话网时的请求,以及当freeSwitch尝试使用FollowMe呼叫时的请求。它们看起来很相似。我已经提供了下面的请求,如果有人能看到一些奇怪的东西,请让我知道。这个请求只是重复自己,最终放弃-没有来自Twilio的响应,也没有在调试器或Trunk日志中记录它。(我已经记下了我的号码)

代码语言:javascript
复制
 send 1506 bytes to udp/[54.172.60.1]:5060 at 16:47:51.442983:
   ------------------------------------------------------------------------
   INVITE sip:+1XXXXXXXXX6@XXXXXX.pstn.twilio.com SIP/2.0
   Via: SIP/2.0/UDP XX.XX.XX.XX;rport;branch=z9hG4bKe92m35UyNXe2a
   Max-Forwards: 59
   From: "+1XXXXXXXXX0" <sip:+1XXXXXXXXX0@XXXXXX.oxigenx.com>;tag=3UHvjrXHmUyXp
   To: <sip:+1XXXXXXXXX6@XXXXXX.pstn.twilio.com>
   Call-ID: a369c6b9-82af-1235-e490-0050561ee798
   CSeq: 104375771 INVITE
   Contact: <sip:gw+a741d1e8-2e0a-4527-b18d-518edbe57d73@XX.XX.XX.XX:5060;transport=udp;gw=a741d1e8-2e0a-4527-b18d-518edbe57d73>
   User-Agent: FreeSWITCH
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
   Supported: timer, path, replaces
   Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
   Content-Type: application/sdp
   Content-Disposition: session
   Content-Length: 246
   Diversion: <sip:+1XXXXXXXXX6@public-vip.us1.twilio.com>;reason=unconditional
   X-Twilio-AccountSid: XXXXXXXXXXX
   X-Twilio-CallSid: CA05acdaaae18a720113ab2e78cbd1db63
   X-accountcode: admin1.oxigenx.com
   X-FS-Support: update_display,send_info
   Remote-Party-ID: "+1XXXXXXXXX0" <sip:+1XXXXXXXXX0@XXXXXX.oxigenx.com>;party=calling;screen=yes;privacy=off

   v=0
   o=FreeSWITCH 1489394171 1489394172 IN IP4 XX.XX.XX.XX
   s=FreeSWITCH
   c=IN IP4 XX.XX.XX.XX
   t=0 0
   m=audio 29500 RTP/AVP 0 101 13
   a=rtpmap:0 PCMU/8000
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-16
   a=rtpmap:13 CN/8000
   a=ptime:20
   ------------------------------------------------------------------------

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-14 05:18:03

Twilio开发者的布道者在这里。

我只是根据这个问题传递我在内部获得的信息,我不是SIP专家。然而,这可能会有所帮助。

UDP上的SIP的MTU (最大转换单元)是1500字节。该规范建议SIP消息应小于1300字节,以支持报头等,或者消息应通过TCP发送。

根据日志的顶部,看起来您发送了1506字节,删除Remote-Party-ID会将消息大小推低到1500以下。实际上,删除任何不重要的参数也是一样的,所以这并不是Twilio不喜欢Remote-Party-ID参数,而是您的消息因为太大而被丢弃了。我们找不到邀请的日志,这就是为什么你也看不到任何日志的原因。

在这种情况下,Twilio并没有真正使用Remote-Party-ID,特别是在调用者id与From相同的情况下,并且是一个相当长的头部。所以你的解决方案可能是最好的。

您还可以删除Twilio头部,这与Allow-Events不支持的SUBSCRIBE方法有关。

票数 0
EN

Stack Overflow用户

发布于 2017-03-14 03:27:10

我发现了问题所在。Twilio不喜欢作为INVITE的一部分发送的Remote-Party-ID参数。通过将"caller-id-type“设置为"none”,我在SIP配置中关闭了RPID。

要执行此操作,请进入“高级”菜单下的"SIP配置文件“。在此处,选择禁用RPID所需的SIP配置文件。向下滚动列表,找到值为"none“的"caller-id-type”。单击它并将Enabled设置为TRUE。从CLI保存并重新启动Sofia。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42769358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档