【问题标题】:Twilio SIP: Calling to TwiML application on SIP endpointTwilio SIP:在 SIP 端点上调用 TwiML 应用程序
【发布时间】:2019-10-23 22:20:32
【问题描述】:

抱歉,如果我遗漏了一些明显的东西,但是...

我目前正在尝试使用 Twilio REST API 在电话会议和视频室之间创建通话 - 即:

  • 有一个 TwiML 应用程序可以连接到电话会议 (A)
  • 存在视频室 (B)
  • 存在一个 SIP 域 (xxx.sip.twilio.com),其请求 URL 设置为生成 TwiML 以连接到电话会议 A 的 Web 服务
  • 我正在尝试通过呼出 SIP 呼叫加入两者,该呼叫呼叫 SIP 端点并加入视频室

为了创建调用,我使用以下代码提取来创建调用:

var call = CallResource.Create(
    to: new Twilio.Types.PhoneNumber($"sip:xxx.sip.ie1.twilio.com?X-FriendlyName={FriendlyName}"),
    from: new Twilio.Types.PhoneNumber("username2"),
    sipAuthUsername: "xxx",
    sipAuthPassword: "xxx",
    url: new Uri("https://handler.twilio.com/twiml/<xxx>") // TwiML to connect to the video room
);

...失败并显示:错误 - 32009 - 拨号 SIP 端点失败 - 用户未注册

不知道从哪里开始 - 鉴于 Twilio 调试器上的建议表明缺少注册到端点的 SIP 客户端是个问题……但不应该涉及 SIP 客户端吗?我只是希望将 Twilio 用作 SIP 端点,就像使用电话号码一样 - 即:接受来电并执行 TwiML 指令。

希望我想问的问题很清楚:)

【问题讨论】:

    标签: twilio


    【解决方案1】:

    Twilio 注册的 SIP 端点必须使用 US1 区域,因此您需要将 URL 修改为 sip:xxx.sip.us1.twilio.com。

    您可以找到有关如何将 SIP 端点直接注册到 Twilio HERE 的更多详细信息。您的 SIP 域的语音 URL 将返回 TwiML,这将使用 Connect 动词(将呼叫连接到房间代码示例)将 SIP 端点添加为语音参与者。

    【讨论】:

    • 感谢您的建议。我已更改为使用 US1 区域,但没有运气。我还更新了问题(错字修复和澄清)-您链接到的文章不是我要尝试的方向-正如我所说,我不想注册任何 SIP 电话sort - 我希望 Twilio 能够完全处理来电。
    • 您上面的代码正在调用 Twilio SIP 域/端点。如果您在 Twilio 之外调用未注册的 SIP 端点,请使用非 Twilio SIP URI twilio.com/docs/voice/api/sip-making-calls 的 SIP URI。
    • 澄清一下 - 我根本不打算使用 Twilio 之外的任何 SIP 基础设施。正如我在原始帖子中所解释的那样 - 我正在尝试使用 Twilio 的 SIP 呼叫功能在电话会议和可编程视频呼叫之间架起桥梁。
    • 存在一个 SIP 端点 (xxx.sip.twilio.com)
    • (如果有助于进一步澄清,我已将该行更正为“域”而不是“端点”) - 是否无法从触发 REST API 的 SIP 调用绑定到 SIP 域而不是连接到实际端点的 TwiML 响应?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多