Я подписался на эту страницу, чтобы обновить звонок в конференц-зал. Каждый раз, когда я пытаюсь вызвать функцию обновления, я получаю сообщение об ошибке: No 'To' number is specified
. Даже если я захожу в стандартный Twiml, куда входил звонок, там написано. В документе нигде не сказано, что вам нужен номер Кому.
Код, который я использовал:
$call = $tokens['client']->account->calls->get($call_sid);
$call->update(array(
"Url" => $app["request"]->getSchemeAndHttpHost() . "/dial/api/assign_redirect?callsid=" . $call_sid,
"Method" => "POST"
));
Твимл, куда он перенаправлен:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="woman">Thank you for your patience. You are now connecting with an agent</Say>
<Dial record="true">
<Conference startConferenceOnEnter="false" endConferenceOnExit="true" eventCallbackUrl="{{ url('API-record') }}" record="record-from-start">{{ callsid }}</Conference>
</Dial>
The other Twiml where the call is accepted:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial record='record-from-answer' callerId='{{ callerId }}'>
{{ numberOrClient|raw }}
</Dial>
</Response>
Поддержка Twilio не помогла, они указали мне на: https://www.twilio.com/docs/errors/21201, что не имеет смысла.
Я уже задавал кучу вопросов о том, как:
- Twilio - Как переместить существующий вызов в конференцию
- Переместить вызов Twilio в конференцию комната
- Twilio - Как набрать сторонний номер и добавить его в конференцию?
У меня сработало только последнее. Но это создает третью ногу. Хочу придерживаться уже существующих. Кто-нибудь знает, как это исправить?
Заранее спасибо!
Изменить: я использую версию 4 библиотеки PHP.
To
, поэтому мне просто интересно, есть ли у него еще контекст? - person philnash   schedule 06.09.2016update
- person philnash   schedule 06.09.2016$call_sid= $request->request->get('call_sid');
Я попытался еще немного отладить его, используя call_sid второй ноги, но это перенаправляет клиента и вешает входящий вызов, но не вызывает ошибок. - person Duncan   schedule 06.09.2016Error - 12100 Document parse failure
, потому что он передает ошибку Twilio в запросе к TwiML (я вижу ошибку перед TwiML в отладчике Twilio). - person Duncan   schedule 06.09.2016$call
между вызовомget
иupdate
? - person philnash   schedule 06.09.2016get
без идентификатора вызова вы в конечном итоге получили ссылку на экземпляр списка для вызовов. Затем при вызовеupdate
выполняется запросPOST
, который считает, что делает запрос на создание вызова, и поэтому вы получаете сообщение об ошибке, что требуется номерTo
. - person philnash   schedule 06.09.2016->account->calls->get
, у меня получился итератор, такой же, как и в рабочей области.foreach ($tokens['client_token']->account->calls->getIterator(0, 50, array("CallSid" => $call_sid )) as $call)
и это работает, я успешно подключил клиента к конференции. Спасибо за помощь @philnash - person Duncan   schedule 06.09.2016