2016-04-15 18 views
0

Twilio会議の使用中に小さな問題に直面しています。 コードを実行すると、参加者番号が呼び出されます。 参加者がコールを受信すると、「アプリケーションエラーがあります。申し訳ありません」という音声が再生されます。 電話を拾う際に待機中のURLオーディオを再生したいです。 これは私が使用したコードです。Twilioを使用してwaitUrlで電話会議を実装する方法は?

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日以来、それをグーグルが、任意の適切な解決策を得ていません。 あなたは待っているURLで電話会議の実例を教えてください。

答えて

1

ここではTwilioの開発者のエバンジェリストです。

あなたのコードは、あなたが作成している通話のURLを192.168.0.19に設定しています。 192.168.x.xのIPアドレスは、自分のネットワークにローカルな傾向があります。そのため、TwilioはURLにアクセスできず、電話を会議に誘導するために必要なTwiMLを取得できません。

アプリケーションをローカルでテストする場合は、ngroktest your webhook URLsを使用することをお勧めします。私もwhy I like using ngrok to test Twilio applicationsと書いた。

だから、私はTwilioがあなたのアプリケーションに到達できることを確認することにします。できるだけ早くあなたの<Conference>が動作するはずです。

+0

あなたよりです。上記のコードに間違いがないことを意味します。ローカルネットワークのソリューションを克服する必要があります。 –

+0

開発サーバー(つまりライブサーバー)でテストしても、問題はありません。 –

+0

アプリケーションエラーメッセージの原因となるエラーを、そのコードで確認することはできません。これがTwilioダッシュボードの[アラート]セクション(https://www.twilio.com/user/account/monitor/alerts)にある理由を確認することもできます。 "11200 HTTP Retrieval Failure"のアラートがある場合、Twilioはアプリケーションにアクセスできません。テストに公開するか、ngrokのようなツールを使ってローカルアプリケーションを公開することができます。 – philnash

関連する問題