【问题标题】:How to play MP3 from Twilio's WebRTC while call in progress?如何在通话过程中从 Twilio 的 WebRTC 播放 MP3?
【发布时间】:2015-07-04 19:03:29
【问题描述】:

我已经成功设置了 Twilio 的 JS WebRTC 客户端和 PHP 端来进行调用。但是,我似乎无法弄清楚如何在通话进行后发送新的 TwiML 代码。

以下是我想做的事情:通话开始后,我想在我点击浏览器中的按钮时播放预先录制的消息。实现这一目标的最佳方法是什么?在通话已经进行后,我不知道如何发送新的。谢谢!

【问题讨论】:

    标签: twilio twilio-twiml twilio-php


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    要向正在进行的调用发送更多 TwiML,您需要使用 REST API 来更新正在进行的调用。

    为此,您需要调用 SID。您可以在呼叫被应答时从参数到原始 webhook 到您的服务器或通过 parameters attribute on the Twilio.Connection object 获取此信息。

    获得调用 SID 后,您可以通过调用 REST API 使用新的 TwiML 更新调用,如下所示:

    require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library
    
    // Your Account Sid and Auth Token from twilio.com/user/account
    $sid = "{{ account_sid }}"; 
    $token = "{{ auth_token }}"; 
    $client = new Services_Twilio($sid, $token);
    
    $call = $client->account->calls->get("{{ call_sid }}");
    $call->update(array(
        "Url" => "{{ new_url_with_twiml }}"
    ));
    

    这里有更多关于如何在飞行中更新呼叫的信息:https://www.twilio.com/docs/api/rest/change-call-state

    【讨论】:

    • 你能解释一下“new_url_with_twiml”吗?现在还有更好的方法吗?
    • new_url_with_twiml 我只是指您的应用程序中的 URL,您希望将调用定向到的 TwiML 所在的位置。如果您想在飞行途中更改呼叫,那么这就是方法。 :)
    • @philnash 有没有办法将 twiml 发送到 live call?例如说“等一下,我正在点你的披萨”?不改变网址?
    • 不,改变调用的唯一方法是重定向它,如上例所示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    相关资源
    最近更新 更多