【问题标题】:How to implement conference call with waitUrl using Twilio?如何使用 Twilio 使用 waitUrl 实现电话会议?
【发布时间】:2016-04-15 10:13:29
【问题描述】:

我在使用 Twilio 会议时遇到了一个小问题。 当我运行代码时,它会调用参与者号码。 当参与者接听电话时,会播放“出现应用程序错误,抱歉”的音频。 我想在拿起电话时播放等待的 URL 音频。 这是我用过的代码。

require_once('Services/Twilio.php');
$API_VERSION = '2010-04-01';
$ACCOUNT_SID = 'ACf4c0952bf89b57ce2a600b6f6b388c9';
$AUTH_TOKEN = '{{ auth token }}';
$client = new TwilioRestClient($ACCOUNT_SID, $AUTH_TOKEN);
$participants = array('+917201990754');
foreach ($participants as $participant)
{
    $vars = array(
        'From' => '+1 510-491-0176',
        'To' => $participant,
        'Url' => 'http://192.168.0.19/twilio/conference.xml');
    $response = $client->request("/$API_VERSION/Accounts/$ACCOUNT_SID/Calls", "POST", $vars);

if ($response->isError)
{
    echo "Something went terribly wrong. {$response->ErrorMessage}";
}
else {
    echo '<ul>';
        foreach ($response->ResponseXml->Conferences->Conference as $conference)
        {
            echo '<li>'.$conference->FriendlyName.'</li>';
            $response2 = $client->request("/$API_VERSION/Accounts/$ACCOUNT_SID/Conferences/{$conference->Sid}/Participants", "GET");
            echo '<ul>';
            foreach ($response2->ResponseXml->Participants->Participant as $participant)
            {
                echo '<li>'.$participant->CallSid.'</li>';
            }
            echo '</ul>';
        }
        echo '</ul>';
}
}

下面是我用过的xml代码。

<Response>
<Dial hangupOnStar="true">
    <Conference>YourConference</Conference>
</Dial>
<Gather action="http://example.com/processConferenceMenu?confName=YourConference" numDigits="1">
    <Say>To mute all participants, press one</Say>
    <Say>To leave the conference, press two</Say>
</Gather>

自 10 天以来,我一直在谷歌上搜索它,但没有得到任何适当的解决方案。 请您提供带有等待网址的电话会议的工作示例吗?

【问题讨论】:

    标签: twilio conference twilio-click-to-call


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    我注意到您的代码将您正在拨打的电话的 URL 设置为 192.168.0.19192.168.x.x 范围内的 IP 地址往往是您自己网络的本地地址。因此,Twilio 将无法访问 URL 并检索将呼叫定向到会议所需的 TwiML

    当您在本地测试应用程序时,我们建议使用ngroktest your webhook URLs。我还写了why I like using ngrok to test Twilio applications

    所以,我会考虑确保 Twilio 可以访问您的应用程序。一旦可以,您的&lt;Conference&gt; 应该开始工作了。

    【讨论】:

    • 比你先生。这意味着上面的代码没有错误。我需要克服本地网络的解决方案,对吗?
    • 如果我在我们的开发服务器(即实时服务器)上测试不会有问题,对吧?
    • 我在该代码中看不到会导致应用程序错误消息的错误。您也可以在Alerts section of your Twilio dashboard 中检查这是原因。如果您有一堆“11200 HTTP 检索失败”的警报,则 Twilio 无法访问您的应用程序。您可以公开部署以进行测试,也可以使用 ngrok 之类的工具来公开您的本地应用程序。
    • 好的。我会尝试 ngrok,如果遇到任何问题,我会回来的 :) 希望你会在那里。再次感谢您
    猜你喜欢
    • 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
    相关资源
    最近更新 更多