お客様からの大事な連絡をサポートします。Twilioを使ったコール管理システム

20140529-01.png

皆さんは自分の携帯機器を実務で使う事をどう思いますか?
この考え方に違和感を持つ方々も多いかもしれません。
ですが、個人の携帯機器を使えばいろんな利点が生まれます。一方、それを提供する会社もしくは組織では利用者(従業員)に不便のないツール(システム)を提供する必要があるかと思います。

例えば、そのツールの利用設定を利用者が自由に変更できる、もしくは決められた時間のみ業務で使われるようにするなどいろんな工夫が必要かと思います。
今回はその中で、誰でも持っている「電話」を使った BYOD システムを皆さんにご紹介致します。

まず、BYOD?

BYOD (Bring your own device) とは、個人の携帯機器を実務で使うことを意味します。
個人の携帯機器(携帯等)を業務で使う事に違和感を感じる方もいるかと思いますが、BYOD が持っている課題や授業員を考慮したシステムの提供で違和感無く実務でもっとも便利な業務ツールを授業員に提供することが可能です。

BYOD の詳細はこちらをご覧ください。
http://ja.wikipedia.org/wiki/BYOD

ということで今回は電話を使った BYOD システムを実現してみましたので、その内容をみなさんにご紹介致します。

今回紹介する内容はこちら

  1. お客様が「050」に電話をかける
  2. 最初オフィスの電話に着信
  3. オフィスの電話に出なかったら発信者番号(お客様電話番号)を SMS にて通知且つ携帯電話に転送
  4. 携帯にも出なかった場合、メッセージを録音且つメールに録音ファイルの URL が送信される
  5. 担当はメールや SMS から連絡を受け取り、メールにてお客様からのメッセージを確認することができる

このシステムの利点は?

  • 業務上の対面で自分の携帯電話番号を知らせなくても良い。
  • 050 番号一本でオフィス、携帯で受信が可能。
  • 電話の着信をメールや SMS でお知らせしてくれる。
  • 留守番電話にも対応されていて、メールに届いた録音 URL をクリックするだけでどこでもワンクリックで確認可
  • この全てのシステムが PHP スクリプト 1 枚で開発可

※ 今回は Twilio SIP 機能と連動した内容でコードが作成されていますが、SIP 処理が不要な場合、普通のオフィス電話番号にしてください。

Twilio の自由度を利用し、柔軟性を持つ留守番電話対応システムの構築

Twilio を使えばこのような留守番電話をしっかりと対応できます。
一般キャリアで対応していないことも自由自在で開発し、みなさんのビジネスに最適化されたシステムの開発が可能になります。

今回はこちらの環境で開発をやってみました。
ウェブサーバー : Windows Azure
メール送信 : SendGrid

Widows Azure では SendGrid を使えば簡単にメールの送信が出来るようになっています。
私も今回初めて使った物ですが、非常にシンプルで手間もかからなくていい感じでした。
PHP で「mb_send_mail」を使って送信してましたが、Azure 上では若干面倒な点もありましたので、SendGrid を使いました。
SendGrid は無料でも社内ツールや小規模のシステムなら気軽に使えますので、みなさんも是非使ってみてください。

データ設定部

まず、今回の留守番電話サービス使うデータを取得、設定、判定を行います。
今回のソースでは着信番号 (050) をトリガーにしてみました。
つまり、ユーザー(お客様)がかけた電話番号ごとに担当が設定されており、着信番号で担当が決まっていることです。
着信番号で担当を判別し、その担当の情報で電話を転送したり SMS を送信したり、メールを送ったりします。

処理の流れ

  • 2 〜 6 行 : 担当情報を設定します。今回は配列で情報を管理しています。
  • 9 行 : 現在コール(通話)のステータスを取得します。
  • 10 行 : 録音された音声ファイルの URL を取得します。
  • 11 行 : 発信者番号(お客様)の電話番号を取得します。
  • 12 行 : 着信者番号(担当)の電話番号を取得します。
  • 13 行 : SMS 送信用の Twilio 電話番号です。
  • 15 〜 19 行 : ユーザー情報を変数に設定します。

メール送信 (SendGrid)

Azure 上で SendGrid を使ってメールの送信を行います。
メールの本文にはお客様が残した音声ファイルの URL が入っていて、担当はその URL をクリックすることでお客さんからのメッセージを確認することが可能です。
お客様が録音を完了すると、メール送信と同時にお客様には電話でメッセージ保存完了案内を行います。
その後、電話は終了になります。

なお、データ設定部でお分かりになるかと思いますが、各電話番号ごとに担当名を指定しておく事によって担当者名を知らせる事も可能になります。

最後に Twilio の処理

処理の流れ

  • 2 行 : 今現在の通話がどんな状態かを判断し、成立されていない通話だったら電話の発信や SMS やメールの送信を行います。
  • 7 〜 9 行 : SMS を送信する部分になります。SMS の送信はオフィスの電話に出られなかった場合のみ送信します。
  • 12 行 : 最初着信があった際にオフィスの電話と繋ぎます。
  • 19 行 : オフィスの電話に出なかった場合、登録されている携帯に電話を転送します。

まとめ

本ブログでは説明のためにソースコードを分割して乗せました。
ソースコードは下のリンクから入手可能です。

全ソースコード

こちらのソースコードをそのままコピーし、PHP ファイルとして保存し、Azure 上にアップ、各アカウント情報を設定。
Twilio の電話番号の Request URL にその URL を設定することで動くはずです!
みなさん、是非お試しください。

この記事をシェア

最新記事

すべての記事へ