Twilio SIP 中继和 Sip 域

Twilio SIP Trunking and Sip Domain

我目前正在使用 Twilio 作为我的云通信平台。我们的一位客户希望使用 headers 将 SIP 转给我们,这样我们就可以使用 Twiml 在我们这一端继续通话。

我已经尝试设置 SIP 域,如果我使用软 phone 作为端点,它会起作用,但这不是我想要完成的。我还尝试设置一个 SIP 弹性中继并让该中继连接到我们的 SIP 域,该域在 return 中调用 SIP 域上的语音 URL。

我目前已经设置了一个简单的应用程序来测试这个过程。我有一个调用 webhook 的 Twilio 号码,在 webhook(我的应用程序)中我将 sip 调用到 Twilio SIP 中继,但它失败了。我期待呼叫 SIP 域和语音 URL。我不断收到 您尝试拨打当前未在相应 SIP 域中注册的 SIP 端点的错误。请检查您的 TwiML 或 REST API.(参考:TWilio Error Documentation.

有人可以帮我解决这个问题吗?我目前正在使用 PHP.

的 Twiml

--更新--

我也在认真阅读这份文档。我的 Twilio 帐户中有一个 SIP 域设置,但它需要端点上的注册用户。在本文档中,它说当 sip 调用进入 sip 域时,它将调用 webhook,但它并没有这样做。 Twilio SIP Domains

一般来说,如果您尝试通过 SIP server/proxy 呼叫 SIP 端点,则 SIP server/proxy 需要知道如何到达该端点(路由)。从错误文本中我得出目前这是不可能的。此外,有时 SIP 服务器仅允许来自已注册端点的出站呼叫。

您可以做很多事情:

  1. 绕过SIP服务器直接调用端点(可能不是你想要的)
  2. 在 SIP 服务器中配置到端点的静态路径
  3. 让端点在 SIP 服务器上注册,以便 SIP 服务器知道谁呼叫以及如何到达目标。

您是否尝试过 Error documentation 中可能的解决方案?

  • 确保用户名(在 Request-URI 中)与用于使用 SIP 域验证 SIP 端点的凭据列表中的用户名相匹配
  • 拨号前,您可以验证您的 SIP 端点是否已在 SIP 域页面上的控制台 "Registered SIP Endpoints" 选项卡中成功注册。

此处为 Twilio 开发人员布道师。

我相信你对 SIP domain documentation. But the error message clears it up when it says 感到困惑是对的:

Make sure the username matches a username in the Credential List used to authenticate the SIP Endpoint with the SIP Domain.

因此您的用户名必须是现有用户名,SIP 域不能作为通配符捕获所有 SIP 地址。

我会努力确保文档更加清晰。

鉴于您已经收到来自来电的 Webhook,为什么要尝试从 SIP 请求中获取第二个 Webhook?您不能使用第一个 webhook 以您需要的方式定向调用吗?