”カタチのないビジネスフォン”をSmartCommunicationAword2014で作ったよ

受話器の向こうからHollo world!

こんにちわ、@ampersand_xyzです。
今回はKDDIウェブコミュニケーションズさんが主催するSmartCommunicationAword2014に参加してきたので、実装内容と作成したプロダクトについて書きたいと思います。

電話も気軽にハックできちゃう時代なんです

Twilioというサービスをご存知でしょうか?電話・SMSをAPIとして提供してくれているもので、米国発祥のサービスですが、KDDIウェブコミュニケーションズが米Twilioと提携し、日本国内へと提供してくれています。
これを使えば、大げさな比喩ではなく たった数行のコード電話の架電・転送・留守電録音・SMS送信・などなど が出来てしまうというスゲーAPIです。

そして、今年は2回目となるのですが、そのTwilioを使った作品のハッカソン大会がSmartCommunicationAwordです。

この大会は書類による企画アイデアの一次選考があり、残った企画だけがハッカソンに進出できるという形式です。

作りたいもの = 解決したい課題

プロダクトを考えるに当たって、自分が先ず最初に考えるのは「なんのためにそれを作るのか/作ったものによって何が出来るのか」です。
それがあやふやなままだと、人に説明できない、仕様が定まらないなどの状態に陥りがちです。何度かやってしまいました。ギャフン。

ビジネスフォン(みたいなもの)を作ることにしました

そもそもビジネスフォンとはなんぞや?といいますと、よく事務所とかにおいてある、内線を回したり出来るあの電話です。詳しい内容はこちらのページ(ビジネスフォンニュース ビジネスフォンとは)が明るいです。

ビジネスシーンの電話のなやみ

いわゆる中小企業で、会社にうけつけのおねーさんとかが居ないような事務所にありがちなシーンだとおもうのですが、

プルルル ガチャ
「はい、株式会社○○でございます」
「もしもし、私▼▼株式会社の佐藤と申します、お世話になっております」
「お世話になっております」
「営業の田中さんご在籍でしょうか?」
「申し訳ございません、田中はいま社外に出ておりまして」
「あ、そうなんですか。ではまた改めてお電話致します」

というようなやりとりを一日になんども繰り返していないでしょうか?
しかも、よく電話がかかってくる人が、戻りの時間がはっきりしなかったり、直帰だったり。

架ける方は、すぐに用件を伝えられないし、折り返しの電話もいつくるのかわからない。
受ける方は、同じような内容のやりとりをいろんな人と何度も交わさなくてはいけません。
そのたびに作業は中断されるし、もちろん電話がをかけてくる人が悪いわけではないのですが、正直言えばちょっとつかれます。

ここまで毎度毎度定型的なやりとりなら、プログラムにしちゃえばいいんじゃない?

と、思い至ったわけであります。

システムフローを書いてみました

Flowchart

メリットは?

面倒な定形やり取りによる時間ロスをなくすことができる というところに尽きるのですが、付加的に留守電等のオプションがついても便利かなぁと思って実装しています。

あと、内線のメンテナンスを楽にしたかった

ビジネスフォン、事務所にあったので使っていたのですが、あれって内線番号とか電話帳とかメンテナンスするの大変でした。
操作がよくわからなかったり、ウッカリ間違って転送するつもりが電話切っちゃった事がある人というのも多いのでは。
Twilioを使えば「誰かの携帯電話を内線接続先にする」というようなことも出来るのです。

アダ名で呼出とかも出来るようにしたかった

Web上での通り名とかで呼んで転送させることも可能です。

管理画面のスクリーンショットはこういう感じ

スクリーンショット 2014-04-21 13.41.59

でも、人間が電話対応しないなんて失礼じゃないの?

とか、そういうことを思う方がいらしたら、忌憚のない意見を教えてもらいたいです。
その部分こそ、改善すべきところなので・・・。

実装と技術

どういう技術を使っているのかについて、簡単に記載したいと思います。
利用したのはCakePHPですが、フレームワークの説明については省略させていただきます。

今回電話APIにはTwilio、音声認識はAmiVoiceAPIを利用させていただきました。
(ただ、本大会用に限定的に公開して頂いていたものになりますので、細かい説明等については省略させていただきます)

プッシュ入力と音声入力の二段構成

Twilioの架電リクエスト先となる部分を以下のように実装します。
電話をかけると音声による案内がながれるので、それにそって操作してもらいます。(内線番号や呼び名は事前に名刺等で通知している前提とします)
下記の実装にすると プッシュ入力と、音声認識の両方で対応することが可能です。
音声認識は、留守電として録音した音声(wavファイル)をAmiVoiceAPIを使って解析します。

解析用音声ファイルの作成

大したことはしておらず、所属部署と、呼び名に対してゆらぎパターンを幾つか管理画面から登録してもらい、
その組み合わせをすべて網羅した解析用音声ファイルを自動生成します。

音声の入力パターンは
[【所属部署】の]【名前】[さん|くん|さま|どの|し] ([]内は任意)として受け取り、非常に単純です。

作ってみた所感とか

いい所

機械がオペレーションしてくれるのが謎の高揚感を覚えます。
自分としては形式張った取り次ぎ作業をして気が削がれる事が無くなるというのは嬉しいなと思います。

微妙な所

スマホでキープッシュ操作ってやりづらいなと思いました。
テスト中ウッカリ電話切断したことが何度もあったのですが、これって電話側の操作性の問題だから改善しづらい・・・悩みどころです。

その他

ランディングページとか、Bootstrapでこさえたのですが、デザインセンスがなくて泣ける。

もしも使ってみたいと思う人がいましたら、 @se_ino までご連絡ください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください