2016-04-15 8 views
0

У меня возникла небольшая проблема при использовании конференции Twilio. Когда я запускаю код, он вызывает номер участника. Когда участник принимает вызов, тогда воспроизводится звук с «Существует ошибка приложения, извините». Я хочу воспроизвести аудиосигнал ожидающего URL при выборе телефона. Это код, который я использовал.Как реализовать конференц-связь с waitUrl с помощью Twilio?

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-адресом?

ответ

1

Twilio разработчик евангелист здесь.

Я заметил, что ваш код устанавливает URL-адрес для вашего звонка в 192.168.0.19. IP-адреса в диапазоне 192.168.x.x, как правило, локальны для вашей собственной сети. Поэтому Twilio не сможет найти URL-адрес и получить TwiML, необходимые для направления вызова на конференцию.

При локальном тестировании приложений мы рекомендуем использовать ngrok до test 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