DEVELOPER’s BLOG

技術ブログ

Amazon Connectを使って占い案内IVRをつくってみた

2023.07.03 長森 礼音
AWS 体験記
Amazon Connectを使って占い案内IVRをつくってみた

目次

  • 挨拶
  • Amazon Connectとは?
  • 目的と経緯
  • 仕様
  • 作業手順
  • 作業内容
  • 最後に


挨拶

こんにちは、システム部の長森です。
皆様は 自動音声応答システム(IVR) を利用したことはありますか?
IVRとは Interactive Voice Response の略で、架電時に音声が流れ、番号をプッシュすると適切なオペレーターまたは次の音声に繋がるシステムのことを指します。
企業への電話問い合わせ、商品の電話注文などによく使われているシステムなので、名前は初耳でもシステム自体は知っている!という方はきっと多いはず。
今回はこのIVRを体験できるサービスをAWSが提供するAmazon Connectを中心に用いて作ってみたので、その作成過程の全貌をご紹介したいと思います。


Amazon Connectとは?

アマゾンウェブサービス、通称AWSが提供するクラウド型コンタクトセンターサービスのことです。
クラウド上にコンタクトセンター機能が備わっているため、専用機器やコンタクトセンター運用のための場所を用意せずにコンタクトセンターを構築することができます。
またAmazon Connectは先に紹介したIVRや、電話をコンピュータと統合し、両者間でのやりとりと通信を可能にするCTI(Computer Telephony Integration)、顧客からの問い合わせに対し自動でオペレーターに振り分けるACD(Automatic Call Distributor)等のコンタクトセンターの運営に必要な機能に加えて、その他豊富な機能を標準搭載しています。
Amazon Connectに備わった各種機能は拡張性も高いため、満足度の高いコンタクトセンター運用が可能です。


目的と経緯

今回IVR体験サービスを作った目的は、ズバリ「お客様にAmazon Connectを体験してもらうこと」です。

「コンタクトセンターの業務がリモートワークに対応できておらず不便...」
「顧客との応対情報をデータ化できておらず顧客分析が不十分...」
「コンタクトセンターを立ち上げたいけど構築が大変...」

上記のようなお困りごとを抱えているお客様に、即座に問題解決可能!なAmazon Connectのサービスと便利さを知っていただくため、弊社HPのサービスページにてAmazon Connectの機能の1つであるIVRを体験していただこうと考えたのが今回の作成に至った経緯となります。


仕様

今回のIVR体験サービスでは、「本日のラッキー〇〇」を知ることができる、またはSMSにおみくじが送信される占い案内IVRを制作いたしました。
着電に対して実際に人が対応することはなく、自動音声案内のみで完結する仕組みになっています。
架電後、番号案内に従って1番を押すと「ラッキースポット」、2番を押すと「ラッキー方位」、そして3番を押すと「ラッキーフード」を知ることができ、4番を押した場合は「オリジナルおみくじ」が架電元の携帯電話にSMSメッセージとして送信されるようになっています。
また、冒頭に流れる挨拶と1~3番の音声については5時~17時の時間帯と、17時~29時の時間帯で音声内容が変化するお楽しみも加えてみました。

flow_amazonconnect.jpg
たとえば、ラッキースポットを知りたい場合は以下のような流れになります。

call_example.jpg
最後に、構成図は以下になります。とてもシンプル。

AmazonConnect_Diagram.jpg

作業手順

今回のIVR体験サービスを作るにあたって、主に4つの作業をおこないました。

  1. AWSアカウントと各インスタンスの作成
  2. Amazon Connectの設定
  3. Amazon SNSの設定
  4. AWS Lambdaの設定


各作業の具体的内容について、以下で説明していきたいと思います。
具体的とは言いつつも、ところどころ情報を省略している部分があるため、実装の参考程度に見ていただければ幸いです。
それでは、さっそく見ていきましょう!


作業内容

AWSアカウントとインスタンスの作成
AWSのサービスの利用には言わずもがなAWSアカウントが必要です。
アカウントの作成が完了したら、必要となるAmazon Connect、Amazon SNS、そしてAWS Lambdaのインスタンスを作成します。


Amazon Connectの設定
作成したAmazon Connectのインスタンスの設定をおこないます。
設定として主にすべきことは、 ①電話番号の取得②問い合わせフローの作成 の2つになります。

①電話番号の取得
AWSサポートを通じて番号取得申請をし、お客様が架電するための電話番号を取得できる状態にします。
申請する場合、選択肢の2つのうちどちらかではなく、右上の「サービスの制限の緩和をお求めですか?」からケースを作成して申請しないといけません。ミニトラップです。

make_support_case.png
ケース作成後、AWSサポートの担当者から以下4点の書類提出を求められます。

  1. AWSから連携される申請書
  2. 申請者の行政機関発行の有効な身分証明書 (運転免許証、パスポートなど)
  3. 申請者と企業の関連性を示すドキュメント (社員証や、その他所属を確認できる書類)
  4. 公共料金の請求書、法務省からの企業登録証明書 (登記事項証明書など)、行政機関からの領収書、国税または地方税に関する証明書 (納税証明書など)、社会保険料の領収書などの書類


場合によっては追加の書類提出を求められることがあります。
(私が申請した際は追加書類として企業登録証明書の提出を求められました。)
これらを提出して数日すると、担当者から電話番号の取得が可能になった旨の連絡がくるので、取得手順にしたがって番号を取得すればOKです。
今回の申請では追加書類の提出、また申請の間に大型連休を挟んだこともあり、申請から取得までに約3週間がかかりました。

②問い合わせフローの作成
Amazon Connectのフローで、「電話がかかってきてから電話が切れるまで」の音声案内のフローを作成します。
先述した仕様を実際の流れとして組み立てていくイメージです。

contactflow_example.png
たとえば上記の問い合わせフローの一部では、「オペレーション時間の確認」で時間帯を判定し、判定された時間帯によって挨拶が変わるように「プロンプトの再生」を2種類に分岐させています。
その次段階である「顧客の入力を取得する」では番号案内のあとに押下される番号によって占い内容が変わるように分岐しています。
このように、機能ブロックから必要なものを選び、組み立てていくのが問い合わせフローでの作業となります。
フローが完成したら、フローを保存、公開します。
最後に電話番号の管理ページで取得した電話番号を作成した問い合わせフローに設定すれば、Amazon Connectにてやるべき作業は完了です。


Amazon SNSの設定
ここでやることも主に2つ、 ①サンドボックスの解除申請 と ②利用上限額の変更申請 が必要になります。

①サンドボックスの解除申請
Amazon SNSにはサンドボックスというものが存在し、通常の設定ではこのサンドボックスに事前登録された番号にしかメッセージの送信ができません。
今回のIVR体験サービスでは不特定多数の番号からの着電があることを想定しているので、このサンドボックスの制限解除を申請する必要があります。
Amazon Connectでの電話番号取得申請と同様に、サービスの制限の緩和としてケースを作成し、申請します。
申請の際に、「オプション」となっているまるで書かなくてもよいかのような項目を埋めずに申請すると、後日「情報不足で申請許可無理で〜す」と言われ追加情報を求められるため、最初の申請時に書けることは書いておくのがスムーズです。

②利用上限額の変更申請
Amazon SNSでは月額使用限度額というのも設定されています。
デフォルトでは限度額が$1/月になっているのですが、これでは月に約10件ほどのSMSしか送信できないため、限度額の変更を申請せねばなりません。
①のサンドボックスの申請解除と同じケース内にて申請可能なので、同時申請します。

sms_request.png
AWSから以下のようなメッセージが届いたらサンドボックスの解除、使用限度額の変更は完了です。
(限度額を$4で申請したのですが、申請内容を見て気を遣ってくれたのか$100で適用してくれました。)

support_100usd.png
ただ、このままでは限度額の「最大値」はあがったものの、設定は$1のままになっているため、さらにAmazon SNSから自分で設定する必要があります。
テキストメッセージングの優先設定から設定可能です。
今回のサンドボックス解除とSMS使用限度額変更には申請から5日ほど要しましたが、はじめからオプション事項を埋めて申請していたらきっと1日程度で完了していたと思います、トホホ...。


AWS Lambdaの設定
AWS Lambdaでは、着電した電話番号宛にSMSを送信できるコード(関数)を作成します。
(コードについては今回省略いたします...!)
コード作業を終えたら、AWS LambdaがAmazon SNSの機能にアクセスできるようにするための設定をします。
AWS Lambdaの設定にある実行ロールからAmazon SNSのポリシーをアタッチしてあげればOKです。

lambda_role.png
AWS Lambdaですべき作業は以上になります。
これだけを見ると「Lambdaでの作業はすぐ終わりそうだなぁ〜」と思われそうですが、発展途上エンジニアの私はAWS Lambdaでのコード作業に一番手間取ってしまいました。
(指導してくださったベテランの皆様方には頭が上がりません、本当にありがとうございます。)

すべての作業が終わったら、きちんとIVR体験ができるようになっているか確かめるため、実際に電話をかけてテストをします。
今回、自動音声再生、SMSメッセージ送信の両方の確認が無事とれたので、これにて作業完了です!


最後に

今回はAmazon Connectを使ってIVR体験サービスを制作しました。
制作を通して、Amazon Connectの各種構築の素早さ、設定変更の容易さ等を実感し、その利便性の高さを再認識しました。
今回は実装しませんでしたが、Amazon Connectでは着電に対してオペレーターをつなぐ機能や、顧客とオペレーターの通話分析・通話の文字起こし機能なども組み込むことができます。
さらに、Amazon Connectは従量課金制のため、上記を含めたさまざまな機能を活用しても従来のシステムに比べてコストを抑えられる、という魅力までも兼ね備えています。
読者の皆様には、Amazon Connectについて知る第1歩として今回制作した占い案内IVRを体験していただければ幸いです。
サービスページにてお客様からお電話いただけることを楽しみにしております。
Amazon Connectの導入をご検討いただいた際には、ぜひ弊社お問い合わせページからご相談ください。


関連記事

実務経験ナシでも30時間でAWSソリューションアーキテクトアソシエイトを取得した話

はじめに 私文大学生でクラウドの実務経験は皆無です。普段は機械学習などをぽちぽちしています。緊急事態宣言も解除され、次の試験受験を考え始めたので、次に活かせるようにソリューションアーキテクト c02に至った動機や学習方法をまとめていきます。 資格名そのままだと長いので、以降ソリューションアーキテクトアソシエイトをSAA、クラウドプラクティショナーをCLFと略します。 タイトルでは30時間で〜と謳っていますがSAAをパスするCLFに合格していますので、その時

記事詳細
実務経験ナシでも30時間でAWSソリューションアーキテクトアソシエイトを取得した話
コラム 体験記
弊社のAWS利用事情

AUCのAWS環境構築はEBがメイン  こんにちは。社員の大田です。この秋就任したCTOに、うちの会社の諸々のAWS環境について少しだけ話を聞く機会がありました。  僕は若手なので日々勉強をしながら、プロジェクトの隅っこで小さな仕事をしています。AWSに関してはちょうどこの冬あたりからSAAの勉強を始めました。大体のサービスのかんたんなことは知っているつもりですが、何しろ、インフラ周りは全体に影響がでる大切なところなので、これまであまり実環境に触れることは

記事詳細
弊社のAWS利用事情
体験記
Herokuアドオンで詰まったところ Part3

2018年4月から2年目を迎えた。森久です。 前々回はHerokuについて紹介致しました。https://www.acceluniverse.com/blog/developers/2018/04/heroku-part1.html 前回はHerokuのアドオンついて紹介致しました。https://www.acceluniverse.com/blog/developers/2018/06/heroku-part2.html 今回は題名にもある通りアドオン

記事詳細
Herokuアドオンで詰まったところ Part3
体験記
Herokuアドオンで詰まったところ Part2

2018年4月から2年目を迎えた。森久です。 前回はHerokuについて紹介致しました。 https://www.acceluniverse.com/blog/developers/2018/04/heroku-part1.html 今回は題名にもある詰まったアドオン「QuotaGuard Static」も含め、弊社で使用しているものを4つほど紹介致します。 Herokuアドオンとは? Herokuの拡張機能の事です。 アプリの運用をよりリッチにしてくれま

記事詳細
Herokuアドオンで詰まったところ Part2
体験記

お問い合わせはこちらから