В моем приложении мне нужно сделать Twilio, удерживая и возвращая вызов. Я исследовал и получил эту ссылку: https://www.twilio.com/docs/api/rest/change-call-state.Twilio возвращает вызов на удержание
Javascript
function holdCall() { // hold a call
var callSid = connection.parameters.CallSid;
$.ajax({
url: "http://www.domain.com/phone/phone_ajax.php",
type: 'POST',
data: {
callSid: callSid
},
success: function(data) {
console.log(data);
},
error: function() {
},
complete: function() {
}
});
}
Аякса вызов будет перенаправлен на эту страницу.
phone_ajax.php
require_once ("http://www.domain.com/phone/phone_api/vendor/autoload.php");
use Twilio\Rest\Client;
use Twilio\Jwt\ClientToken;
// initialize
if ($_POST['callSid']) { // hold a call
$client = new Client($twilioAccountSID, $twilioAuthenticationToken);
$calls = $client->calls->read(
array("ParentCallSid" => $_POST['callSid'])
);
// Loop over the list of calls and echo a property for each one
foreach ($calls as $call) {
// This will return child call sid e.g CA9ccxxxxxxxxxx
$twilioCall = $client
->calls($call->sid)
->update(
array(
"url" => "http://demo.twilio.com/docs/voice.xml",
"method" => "POST"
)
);
echo $twilioCall->to;
}
}
Я пытался дозвониться на мой мобильный телефон, взял вызов и нажал кнопку удержания. Вызов в моем браузере закончился, и звонок в моем телефоне не закончился (я могу слышать музыку на моем телефоне). Когда я снова нажимаю кнопку «Удержание» в наборах, вызов должен быть возвращен обратно. Как я могу это достичь?
Может ли кто-нибудь помочь мне сделать это? Заранее спасибо.
@ Philnash..Как я могу сделать это с помощью javascript-клиента. Мне действительно нужно TwiML для этого? – Jenz
Ну, если вы ищете музыку для удержания и другие возможности удержать кого-то на удержании, тогда да, поскольку Twilio Client контролирует только одну сторону вызова. Вы можете просто отключить клиент Twilio Client (https://www.twilio.com/docs/api/client/connection#mute), который запретит вызывающему абоненту слышать человека, использующего Клиента, но оставить его в тишине. – philnash
@ Philnash ... Как я могу назвать файл twiML? '$ TwilioCall = $ клиент \t \t -> звонки ($ по призванию> с.и.д.) \t \t -> обновление ( \t \t \t массив ( \t \t \t \t "URL"=> "redirect_twiml.xml", \t \t \t \t "метод" => "POST" \t \t \t) \t \t); 'это как это? – Jenz