Dial動詞の「action」を利用すれば通話終了直後、コールのステータスが取得可能です。
動きとしては動詞に「action」に「action URL」を指定します。
Twilioは「action URL」に設定されているURLにステータスを渡します。
まず、ソースコードを見てみたいと思います。
このコードはTwilioの動詞を使って指定の電話番号に発信を行うコードです。
Dialに「action URL」が設定されている場合、コール終了後、ステータスを指定されているURLに渡します。
dial-verb-test.xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="+8150xxxxxxxx" timeout="10" action="twilio-dial-status.php">+8180xxxxxxxx</Dial>
</Response>
上の「dial-verb-test.xml」から発信された通話のステータスはこのように取得することが可能です。
twilio-dial-status.php
<?php
header("content-type: text/xml");
$tel_from = $_POST['From'];
$tel_to = $_POST['To'];
$call_status = $_POST['CallStatus'];
$dialCallStatus = $_POST['DialCallStatus'];
?>
<Response>
<Say language="ja-jp">コールステータスは<?php echo $dialCallStatus; ?>です。</Say>
</Response>
終わりに
通話ステータス取得は、発信先の状態を取得する事が可能ですので、留守番などの判断でよく使われています。
Dial 動詞に関する情報は下記のリンクをご覧ください。
・Twilio 音声通話
「DialCallStatus」から取得可能なステータスは下記のリンクをご覧ください。
・DialCallStatus値