Вызов Twilio через REST API не работает?
Как повесить звонок, если его статус находится в очереди (звонит или инициирован)? Ни один из приведенных ниже кодов не оказывает никакого влияния на вызов, звонок продолжает звонить до тех пор, пока не получит трубку. Иногда, когда агент понимает, что он набирает неправильный номер, ему нужен способ повесить трубку в середине звонка.
Код PHP
$client->calls($callRecord->call_sid)->update([
'status' => 'canceled'
]);
$client->calls($callRecord->call_sid)->update([
'status' => 'completed'
]);
$client->calls($callRecord->call_sid)->update([
'url' => 'mywebsite.com/tw-hangup'
]);
1 ответ
Смотрите следующую документацию Twilio:
Voice API: вызов (последний абзац наиболее актуален) https://www.twilio.com/docs/voice/api/call
Когда вы перенаправляете активный вызов на другой телефонный номер, Twilio создает совершенно новый экземпляр Call для этого нового телефонного номера. Исходный вызов является родительским вызовом, и любой дополнительный набранный номер устанавливает дочерний вызов. Родительские и дочерние вызовы будут иметь уникально идентифицирующие идентификаторы вызовов.
Обратите внимание, что любой родительский вызов, выполняемый в настоящее время, Twilio считает незавершенным. Даже если вы перенаправили свой первоначальный вызов на новый номер, родительский вызов все еще активен, и поэтому вы должны использовать Status= завершено, чтобы завершить его.
Неотвеченные дочерние вызовы нельзя отменить с помощью REST API, но родительский вызов можно изменить, чтобы он указывал на новый TwiML. Это действие завершит дочерний вызов.