我想要实现的是:使用Twilio的语音API对PSTN手机号码进行出站呼叫,但是,我想使用第三方SIP中继来执行呼叫,而不是使用Twilio的路由(比我所在地区的普通SIP提供商贵10倍(。
我无法弄清楚的两个方面是:
-
Twilio 在使用标准 SIP 中继时甚至可以做到这一点
吗? -
和/或,SIP 中继是否需要某些功能才能正常工作(所以我不能只注册任何旧的 SIP 中继(
我看到 Twilio 可以拨打 SIP URI,但是,我看不到 SIP 中继如何将该呼叫路由到 PSTN(即,它似乎只能拨打 SIP 用户作为最终目的地(。Twilio最近推出了BYOC - https://www.twilio.com/docs/voice/bring-your-own-carrier-byoc - 看起来很有希望,但是,在设置发起目标时,您只能提供SIP URI。这是我不太了解的技术点,因为我的 SIP 中继在拨打电话之前需要用户名和密码进行身份验证,而 BYOC 设置不提供此功能。SIP 中继是否需要工作的一些特殊功能?
我想我在这里错过了一些基本的东西,因为我看不到完成这项工作的方法(如果没有非常专业的设置,也许这是不可能的(。因此,任何帮助走上正轨都是值得赞赏的(我确实尝试过 Twilio 支持,但他们似乎和我一样无能为力(。
所以我可以为任何遇到这篇文章的人回答我自己的问题。您可以将标准 SIP 中继与 Twilio 的 BYOC 一起使用。Twilio 向在 BYOC 设置中作为发起输入的 SIP 地址发送邀请请求。但是,它必须使用 IP 地址身份验证 - 无法使用标准 SIP 凭据身份验证。
使用的 IP 地址取决于它来自的 DC。在此处查看信令 IP - https://www.twilio.com/docs/voice/api/sip-interface#ip-address-whitelist
您还可以在发起 SIP URI 中附加"边缘"参数,以指示它来自哪个 Twilio DC - https://www.twilio.com/docs/voice/api/receiving-sip#SIP-URI-edge
为了提高安全性,您可以考虑 Twilio 的私有互连选项,或者您可以将一些自定义参数附加到 SIP URI,当它收到邀请时,可以在 SIP 中继端进行身份验证 - 但是,这将需要自定义设置来实现这一点,并且您用于身份验证的任何参数都将在 URI 中可见。