Мне нужна помощь в вызове вызова. Я пробовал два метода.Twilio, Как отменить звонок
. использовать Епдиеий глагол, когда я нажимаю кнопку удержания меня пользователю метод вызова обновления
<Response>
<Enqueue waitUrl="urltoplaytheholdmusic">1111</Enqueue>
</Response>
(и при нажатии на кнопку Извлечь, я использовал тот же метод обновления и используются.)
<Response>
<Queue >1111</Queue>
</Response>
но когда используется вызов глагола очереди, который отключается.
. Поэтому я попробовал другой способ просто воспроизвести музыку, когда я нажимаю кнопку удержания.
<Response><Say>We are putting you on hold Please wait!</Say><Play loop="0">https://api.twilio.com/cowbell.mp3</Play></Response>
Теперь я не знаю, что делать, чтобы отменить вызов.
вопрос: reference question
это все, что я делаю. , когда я делаю позвонить я использовал JS liberay для этого и использовали эту функцию
function call(dial_number, from_phone) {
params = {
"to_phone": to_phone,
"from_phone": from_phone,
"from_id": current_user_id,
"to_id": user_id
};
connection = Twilio.Device.connect(params);
connection._onAnswer = function(conn) {
console.log(conn.callsid);
/*get parentcall sid when make the call*/
Sid = {
parent_callSid: conn.callsid,
type: 'outgoing'
};
};
}
И поставить вызов на удержание, я использовал эту строку кода
function holdaction() {
jQuery.ajax({
url: 'url',
type: 'POST',
data: 'sid=' + parentSid + '&admin_no=' + encodeURIComponent(jQuery('#twilio_from_number').val()) + '&action=' + hold_action,
dataType: 'json',
success: function(data) {}
});
}
Это получает в callsid по используя parentcallsid из моей БД называют это functionto поставить вызов на удержание
function update_call($callSid, $action, $admin_no = '') {
$rr = array(
"url" => "holdactionurl?type=".$action.
'&admin_no='.$admin_no,
"method" => "POST"
);
$call = $this->client->calls($callSid)->update($rr);
return $call->to;
}
И holdactionurl я использовал this-
<Response>
<Enqueue waitUrl="wait_url">first_queue</Enqueue>
</Response>
И wait_url я использовал this-
<Response>
<Say>You are on hold </Say>
<Redirect>wait_url</Redirect>
</Response>
И я для unholding вызов I (означает то же число, которое поставили вызов на удержание) используется тот же метод holdaction с различными параметр и код XML для этого это-
<Response>
<Dial>
<Queue>first_queue1</Queue>
</Dial>
</Response>
Я знаю, что я делаю это неправильно, но я не могу понять, правильный путь, так что я буду очень признателен, если вы можете помочь мне понять это то, что Я делаю неправильно
Что вы пытаетесь сделать с вызовом, как только оно будет отменено? Вы подключаетесь к другому абоненту или делаете что-то еще? Я могу помочь, мне просто нужно знать, что будет дальше. – philnash
спасибо за ответ. Я удержал вызов, когда я нажимаю кнопку удержания, но я не могу понять, как отменить вызов и снова подключить тех же абонентов. –
Хорошо, круто, так как они связаны в первую очередь и что вы делаете с другим концом? Можете ли вы поделиться кодом, который вы используете для достижения этого до сих пор? – philnash