Twilio SIP:进行出站呼叫

Twilio SIP:进行出站呼叫,twilio,twilio-twiml,Twilio,Twilio Twiml,我已成功设置Cisco VOIP电话,通过SIP向Twilio注册 我已经创建了一个SIP域,经过身份验证,并且手机已经注册 我设置了一个TwiML垃圾箱,看起来像: <Response> <Dial callerId="+44203XXXXXXX"> {{To}} </Dial> </Response> <Response> <Dial callerId="+44203XXXXXXX"&g

我已成功设置Cisco VOIP电话,通过SIP向Twilio注册

我已经创建了一个SIP域,经过身份验证,并且手机已经注册

我设置了一个TwiML垃圾箱,看起来像:

<Response>
   <Dial callerId="+44203XXXXXXX">
          {{To}}
  </Dial>
</Response>
<Response>
    <Dial callerId="+44203XXXXXXX">
          sip:0170XXXXXXX@DOMAIN.sip.us1.twilio.com
  </Dial>
</Response>
但我有一个错误:

拨号:无效的电话号码。 电话号码的区号或本地交换码似乎无效

在错误中,请求主体如下所示:

<Response>
   <Dial callerId="+44203XXXXXXX">
          {{To}}
  </Dial>
</Response>
<Response>
    <Dial callerId="+44203XXXXXXX">
          sip:0170XXXXXXX@DOMAIN.sip.us1.twilio.com
  </Dial>
</Response>
然而,我认为请求机构应该是:

<Response>
    <Dial callerId="+44203XXXXXXX">
          +44170XXXXXXX
  </Dial>
</Response>

如何将TwiML更改为只拨打电话号码?

这里是Twilio开发者福音传道者

正如您所发现的,SIP电话传递给Twilio端点的To参数不是电话号码,而是一个包含电话号码的SIP地址

TwiML垃圾箱目前还不够智能,无法使用模板功能提取该电话号码。因此,要做到这一点,您需要托管一个小型应用程序,该应用程序可以将to参数重写为电话号码

我们有一个示例应用程序,用Python编写,可以部署到Heroku或任何您真正想要的地方,它已经为您实现了这一点。请查看并阅读


如果有帮助,请告诉我。

要拨打SIP号码,您需要告诉它是SIP

改为使用以下内容,在和sip地址之间添加:

<Response>
    <Dial callerId="+44203XXXXXXX">
       <Sip>
          sip:0170XXXXXXX@DOMAIN.sip.us1.twilio.com
       </Sip>
  </Dial>
</Response>

更多信息请访问

谢谢您的帮助!然而,这对Twilio来说似乎有点失败。当然,您应该能够将电话号码从“收件人”字段中删除,或者应该有一个自动删除的选项。肯定还有其他人有类似的问题,我们是否能够找出他们的路线图上是否有修复方案?我将尝试一下heroku的修复方案……TwiML垃圾箱最初是由第三方建立的,然后由Twilio购买的,甚至在我们开始进行SIP注册之前。所以这一特征没有被考虑。我不知道TwiML Bins将来是否会提供这一功能,但是我们已经提供了一个服务器实现,可以为您提供这一功能,所以希望它能起作用。哇,这很简单。感谢您的帮助,您的heroku magic工作正常更新:AFAIK您现在可以在中添加,这将处理呼叫sip的问题。请看,这是正确的,但这个问题是关于从SIP电话拨出一个普通电话号码。如果您正在查找有关呼叫SIP地址的详细信息,那么我很高兴您找到了: