【问题标题】:Transfer call from SIP trunk to Twiml application将呼叫从 SIP 中继转移到 Twiml 应用程序
【发布时间】:2019-08-19 17:11:23
【问题描述】:

我有一个在 Twilio 中注册的电话号码,我想将它用于 Twiml 应用程序和 Elastic SIP Trunk(连接到 Asterisk)。这个想法是,入站呼叫首先打到 Twiml 应用程序,然后可以在需要时转发到 Asterisk 服务器,而出站呼叫只需通过 SIP 中继。 (它需要成为 SIP 中继而不是简单地使用带有可编程语音的 SIP 注册的原因是因为这是让 E911 支持出站呼叫的唯一方法。)

Twilio 支持人员告诉我,两者不能使用相同的号码。

由于该限制,我目前的计划是使用两个 Twilio 电话号码。我发布的电话号码将转到 Twiml 应用程序,而我不会提供的第二个号码将转到 SIP 中继。 (Twilio 允许对您帐户中的其他号码进行号码欺骗,因此我会让 Asterisk 服务器假装使用我的主号码进行出站呼叫,而不是使用第二个私人号码。)

为了让它工作,我需要能够将调用从我的 Twiml 应用程序转移到 Asterisk 并从 Asterisk 服务器转移回 Twiml 应用程序。前者很简单:只需将<Dial> 与指向中继的SIP URL 一起使用。后者是我需要帮助的。 (我也想这样做,以防有人设法拨打第二个号码 - 我希望他们被重定向到 Twiml 应用程序。)

据我所知,将呼叫转回我的 Twiml 应用程序的唯一方法是将呼叫从 Asterisk 服务器转回我的公共号码。问题是我认为这看起来像是一个呼出+呼入的电话,我将在这些分钟内得到双重计费。我已经为另一个号码付费了,我真的不想再为通话时间支付额外费用。

是否有更好的(或“官方”)方法将呼叫转回 Twiml 应用程序?或者我对 Twilio 将其视为(和计费)两次调用是错误的?

【问题讨论】:

    标签: twilio sip twilio-twiml


    【解决方案1】:

    不清楚为什么您不能将 Twilio 号码用于 Twiml 应用程序和 Elastic SIP Trunk(连接到 Asterisk)。他们有说明原因吗?

    只是不要将该特定号码分配给您的 Elastic SIP 中继,您应该能够将其分配给您的 TwiML 应用程序以进行入站呼叫,并在您想要将呼叫转发到您的 Asterisk PBX 时使用。

    对于出站呼叫,您可以让 Asterisk PBX 将该号码作为 CallerID 的呼叫发送到您的弹性 SIP 中继终止 URI。

    对于来自 Twilio Elastic SIP Trunk 的 E911 呼叫,您应该有一个与您的 Elastic SIP Trunk 相关联的号码,启用紧急呼叫,因此当拨打 911 呼叫时,该号码的 CallerID 用于出站呼叫,并且呼叫可以如果连接断开,则返回该号码。

    如果您确实采用了您提到的第二条路线,您能否让您的 Asterisk 服务器将呼叫发送到 Twilio 可编程语音 SIP 域,也许定义了一个拨号计划,以便 Asterisk 前缀数字将呼叫发送到这个不同的中继。不确定这是否可行(因为以这种方式将弹性 SIP 中继与可编程语音混合在一起),但有一个想法。您的 Asterisk 服务器将保留在调用路径中。

    【讨论】:

    • 启用紧急呼叫的号码不能与 Twiml 应用程序关联。启用紧急呼叫的步骤要求您将号码设置为指向 SIP 中继,启用紧急呼叫会锁定这些设置,使其无法更改。该网站说“您必须禁用此号码的紧急呼叫才能更改其目的地。”
    • 所以要回答你的第一句话,不,他们没有说明原因,但我还是尝试了,但就是做不到。
    猜你喜欢
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    相关资源
    最近更新 更多