第25回 TwilioでIVR(自動音声応答)システムをつくる

スポンサーリンク

twilioを使ってIVRのシステムを作成する。
今まで使ってみたtwilioの命令動詞を組み合わせてつくってみる。

目的

twilioを使ってIVR(自動音声応答)システムを作成

開発

下記、TwiMLの命令動詞を組み合わせてつくっていく。

  • Dial
  • Say
  • Gather

作成するファイルは下記。

  • callCenter.xml
  • gather.php

callCenter.xml

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Gather timeout="10" finishOnKey="*" numDigits="1" method="POST" action="http://example.com/gather.php">
		<Say language="ja-JP">
			お電話ありがとうございます。ほげほげコールセンターです。音声ガイダンスに沿って、ご希望の番号を押してください。契約に関するお問い合わせは1を、故障に関するお問い合わせは2を、その他に関するお問い合わせは3を押してください。
		</Say>
	</Gather>
	<Say language="ja-JP">番号の入力がありませんでした。</Say>
</Response>

Gather 命令動詞を使って発信者に対して番号のプッシュを促す。
Gather 命令動詞に今回設定している属性は下記。
timeout:何秒発信者からの番号プッシュを待つか。設定した秒数を過ぎた場合はGather 処理を抜けて次の処理に進む。
finishOnKey:Gatherの処理を終了して押された番号情報の送信処理を開始する。
numDigits:バリデーション。何桁の番号入力を許可するか。
method:情報送信形式。
action:情報送信先URL。

Gather 命令動詞の中には Say 命令動詞を使って発信者に対して音声ガイダンスを再生。もしも10秒以内に番号のプッシュがない場合は、8行目の Say 命令動詞を実行して通話を終了する。

gather.php

<?php
header("Content-Type: text/xml");

echo '<?xml version="1.0" encoding="UTF-8"?>'
?>
<Response>
	<?php
	// 発信者が入力した番号
	$number = $_REQUEST['Digits'];
	// 1を選択
	// 契約のお問い合わせ
	if($number == 1){
	?>
		<Say language="ja-JP">契約のお問い合わせ窓口にお繋ぎします。</Say>
		<Dial>+◯◯◯◯◯◯◯◯◯◯</Dial>
	<?php
	// 2を選択
	// 故障に関するお問い合わせ
	}elseif($number == 2){
	?>
		<Say language="ja-JP">故障のお問い合わせ窓口にお繋ぎします。</Say>
		<Dial>+△△△△△△△△△</Dial>
	<?php
	// 3を選択
	// その他に関するお問い合わせ
	}else{
	?>
		<Say language="ja-JP">その他に関するお問い合わせ窓口にお繋ぎします。</Say>
		<Dial>+□□□□□□□□□□</Dial>
	<?php
	}
	?>
</Response>

callCenterから送信された番号を判定してさらにTwiMLの Say 命令動詞と Dial 命令動詞を使ってTwiMLを作成。
$_REQUEST[‘Digits’]の中に発信者がプッシュした番号が格納されているのでそれをもとに条件分岐。
それぞれ分岐したところで Say 命令動詞で音声のガイダンスを Dail 命令動詞で担当者へ繋げる。

最後に twilio番号(コールセンターの番号になる)と callCenter.xml とのひも付けを管理コンソールから行えばできあがり。実際に番号にかけて動作を確認。

参考文献

・第3回 Twilioで電話アナウンスを作成:http://iwasakiyouhei.com/post-79/
・第5回 Twilioで音声ガイダンス機能を作成:http://iwasakiyouhei.com/post-136/
・第8回 Twilioを使って電話をかけてみる:http://iwasakiyouhei.com/post-242/
・TwilioならIVR(自動応答システム)の開発も簡単(開発に必要な機能):https://www.youtube.com/watch?v=EfTgdHLW1aY

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク