Twilioで電話をかけた通話ログを取得する

Twilioを使って電話Webアプリケーションを構築しよう」の第5回目の記事は、TwiMLを使って電話をかけたログを取得します。

前回の記事でTwiMLの<Dial>を使い、電話を発信しました。この通話にaction属性を追加し、ログを取得します。

 

 

「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供

手順

 

  1. 第4回目で作成した、「twilio_respons.php」を開き、<Dial>にaction属性を追加します
    1. echo '<Dial timeout="20" callerId="+815031353932"';
    2. echo 'action="twilio_call_end.php">';
    3. echo $tocallno.'</Dial>';

    actionには、通話終了後に呼び出されるPHPファイルを指定します。
     

  2. 「twilio_call_end.php」を作成します。
    1. <?php
    2. // ログはPOSTから下記のパラメータで取得できる
    3. $_POST["DialCallSid"]; // 通話時に発行されるID
    4. $_POST["DialCallStatus"]; // ステータス
    5. $_POST["DialCallDuration"]; // 通話時間
    6.  
    7. /* ログデータ準備 */
    8. $log_data = 'Call_Sid='.$_POST["DialCallSid"]."\n";
    9. $log_data .= 'DialCallStatus='.$_POST["DialCallStatus"]."\n";
    10. $log_data .= 'AccountSid='.$_POST["AccountSid"]."\n";
    11. $log_data .= 'CallDuration='.$_POST["DialCallDuration"]."\n";
    12. $log_data .= '----------終了-------------'."\n\n";
    13.  
    14. /* ログデータをファイルに保存 */
    15. $fp = fopen('./filename.txt', 'ab');
    16. if ($fp){
    17. fwrite($fp, $log_data);}
    18. fclose($fp);
    19.  

以上で、通話時のログを保存することができます。
ログデータは、http(外部)からアクセスできない、階層に設置を行うか、.htaccessなどでアクセス制限を行うことを忘れずにしましょう。

次回はTwiMLで取得できないログをREST APIを使って発信先の電話番号の取得を行います。

 


[特集] Twilioを使って電話Webアプリケーションを構築しよう

 

ソースコード

 

ソースコードは、GitHubに公開いたしました。

 
 

関連タグ:

CPIの最新情報をTwitterでチェックできます!
@cpiadjp
次へ
前へ