Posted at

TwilioのDial動詞のactionを使うと通話のステータスを取得可能です。

More than 5 years have passed since last update.

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値