Amazon Connectで電話をつなぐ

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

この3ヶ月でいい感じに痩せてきた技術課 森です。

今回はAmazon Connectを使ったデモを勉強会で発表したので、その紹介です。

資料

資料はコチラ

内容

別の勉強会でも話した内容のLT版なのですが、話した内容は大きくこんな感じです。

  • 簡単にセットアップできて、管理できる
  • オープンプラットフォームで、Lambda使ってCRMへアクセスしたり、Salesforceにつなげるアダプタもある
  • 利用可能なリージョン
  • 料金
  • 無料枠
  • デモ

今回は、デモに着目したブログを書きます。

デモ

作ったでもAlexaにキーワードを話すとAWS Lambdaを使ってAmazon Connectのアウトバウンドコールをします。
コールされた電話で、数字を押すと別のAmazon Connectのアウトバウンドコールをして、2つの電話をつなぐというデモです。

構成はこちら

ちなみに、デモは無事に成功しました!

作り

作成したAWS LambdaのコードとAmazon Connectのフローを公開します。

AWS Lambdaのコード

今回は、Python3 / boto3 を使ってコードを書いています。
クライアントを作成する際に、リージョンをシドニーリージョン固定にしています
その後で、 start_outbound_voice_contact で電話をかける先の電話番号、コンタクトフローのIDとインスタンスID、電話をかける元の電話番号を指定しています。
(※ここで出てきたインスタンスIDはEC2とかのインスタンスIDではなく、Amazon Connectでいうインスタンスは仮想コールセンターという意味です。こちらでも解説してますので、ご確認ください)

Amazon Connectのフロー

作ったフローはすごく簡単です。
Amazon Pollyでも声を担当されている「Mizuki」さんを選び、「プロンプトの再生」で、電話された方に伝えたいメッセージを入力し、
「顧客の入力を取得する」で、メッセージを入力して、どの数字のボタンを押されるかを選び、その先でプロンプトを再生します。
最後に、電話を転送して、電話をつなげるフローになっています。

実行した結果

Alexaからキーワードを伝えて、AWS Lambdaで電話を転送した際には、電話番号が通知されていました。
しかし、その後に電話を転送された方の電話には、非通知でかかってきました
AWS Lambdaでアウトバウンドコールするときは、元の電話番号を指定していましたが、UIから設定したものについては、 Caller ID番号 の設定を行っていなかったからだと思います。このあたりもおいおい検証していこうと思います。

AWS運用自動化サービス「Cloud Automator」