2016-02-12 1 views
0

Как перенаправить активные вызовы на конференцию или передать другим агентам с помощью Javascript Twilio Client. Я пытался использовать jquery ajax, но передача не проталкивается.Как перенаправлять вызовы на конференцию/или другой агент с помощью Twilio Client webRTC

Client

jQuery.ajax({ 
        url: "/connect",//sample only 
        type: 'POST', 
        data:{'CallSid':conn.parameters.CallSid}, 
        dataType: 'json', 
        success:function(data) 
        { 
         console.log(data); 
        } 
       }); 

Контроллер

$response = new Services_Twilio_Twiml; 
    $response->redirect('/conference');//sample url 
    print $response; 

Спасибо,

ответ

0

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

В этом случае вы отправляете запрос AJAX на ваш сервер со своей веб-страницы и получаете обратно TwiML, поэтому Twilio никогда не видит TwiML вообще, и вызов не изменяется.

Вместо этого вы можете использовать ту же функцию AJAX, отправляя вызов sid на свой сервер, но вместо того, чтобы отвечать TwiML, вам нужно будет update the call by sending a request to the Twilio REST API. Когда вы обновляете такой вызов, вы можете либо изменить состояние вызова, либо перенаправить вызов на новый URL с большим количеством TwiML. Итак, если вы хотите, чтобы перенаправить пользователя в телефонной конференции, вам потребуется URL, которая возвращала TwiML на конференцию, а затем вы будете использовать вызов, как это перенаправить вызов к нему:

$sid = "{{ account_sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token); 

$call = $client->account->calls->get($_POST["CallSid"]); 
$call->update(array(
    "Url" => "/conference", 
    "Method" => "POST" 
)); 

Пусть я знаю, если это поможет.

+0

Hi philnash, спасибо за ответ. Я попробовал, но агент был тем, кто собирался на конференцию. Вызов вызывающего абонента. – Drex

+0

Ах, тогда вам нужно получить звонок Сид из другой ноги. В зависимости от того, как был сформирован вызов, другой ногой будет либо parentCallSid этого вызова, либо вы можете найти дочерний вызов, указав вызовы и фильтрацию parentCallSid (https://www.twilio.com/docs/api/rest/ вызов # список-получить-фильтры). Когда вы найдете SID другой ноги, вы можете перенаправить, как описано выше. – philnash

+0

благодарит philnash, я постараюсь найти его: D – Drex

Смежные вопросы