我已成功设置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">
+44170XXXXXXX
</Dial>
</Response>
如何更改 TwiML 以仅拨打电话号码?
Twilio开发者布道者在这里。
正如您所发现的,SIP 电话传送到 Twilio 终端的To
参数不是电话号码,而是嵌入了电话号码的 SIP 地址。
TwiML Bin 目前还不够智能,无法使用模板函数提取该电话号码。因此,为此,您需要托管一个可以将To
参数重写为电话号码的小型应用程序。
我们有一个示例应用程序,用Python编写并可部署到Heroku(或任何您想要的地方(,它已经为您完成了此操作。在此处查看代码,并在此处阅读有关如何使用它的信息。
让我知道这是否有帮助。
要拨打SIP号码,您需要告诉它它是SIP。
请改用以下命令,在<dial>
和 sip 地址之间添加<sip>
:
<Response>
<Dial callerId="+44203XXXXXXX">
<Sip>
sip:0170XXXXXXX@DOMAIN.sip.us1.twilio.com
</Sip>
</Dial>
</Response>
更多信息 TWIML™ 语音:文档