私のアプリケーションでは、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() {
}
});
}
AJAX呼び出しは、このページに移動します。
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 - >コール($ call-> SID) \t \t - >更新( \t \t \t配列( \t \t \t \t "URL"=> "redirect_twiml.xml"、 \t \t \t \t "方法" => "POST" \t \t \t) \t \t); 'それはこのようなものですか? – Jenz