如何使用 Twilio 通过 waitUrl 实现电话会议?

How to implement conference call with waitUrl using Twilio?

我在使用 Twilio 会议时遇到一个小问题。 当我 运行 代码时,它调用参与者号码。 当与会者接听电话时,将播放 "There is an Application Error, Sorry" 的音频。 我想在选择 phone 时播放等待中的 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>

我有 google 它并在谷歌上搜索了 10 天,但没有得到任何适当的解决方案。 能否请您提供等待电话会议的工作示例url?

这里是 Twilio 开发人员布道者。

我注意到您的代码为您对 192.168.0.19 的调用设置了 URL。 192.168.x.x 范围内的 IP 地址往往是您自己网络的本地地址。因此,Twilio 将无法到达 URL 并检索将呼叫定向到会议所需的 TwiML

当您在本地测试应用程序时,我们建议使用 ngrok to test your webhook URLs. I also wrote up why I like using ngrok to test Twilio applications

因此,我会考虑确保 Twilio 可以访问您的应用程序。一旦可以,您的 <Conference> 应该开始工作了。