Alexa+Amazon Connectで電話をかける

Pocket

はじめに

今回は、Amazon Connectの顧客に自動的に電話をかける「Outbound Contact API」機能に注目して、Alexaスキルからの電話着信を実装してみました。

[補足]Amazon Connect

Amazon Web Servicesが提供しているクラウド型コンタクトセンターのサービス。電話回線・通話録音など、コールセンターに必要な機能を提供、外部発信も可能。

[補足]Amazon Alexa

Amazonのクラウドベースの人工知能(AI)音声認識サービス。Alexaスキルの作成によりカスタマイズが可能。

注意

Alexaには「Alexaコール・メッセージ」機能が搭載されています。Amazon echoデバイス同士のテレビ電話やAlexaアプリ連絡先への通話等は可能です。今回はAmazon Connect連携検証の為に行っているものであり、通話に今回のカスタムスキル開発が必要なわけではありません。

今回作ったもの

「マイ電話」というAlexaスキルを作成しました。想定した流れは以下の通りです。

   

今回のシステム構成

システム構成イメージは以下の通りです。

Alexaスキルで使用しているLambdaからAmazon Connect APIを呼び出し、Amazon Connectの問合せフローに従い、処理をするという構成になります。

[補足]Amazon Connectの問合せフロー

顧客とコンタクトセンターがやり取りする流れを、フローで定義します。

  • 着信、オペレータ転送などのフロー
  • 再生メッセージや番号選択の内容
  • システム連携(Lambda呼び出し)

1.Alexaスキルの作成

1-1. Alexa開発者コンソールから「マイ電話」スキルを作成します。

1-2. インテント及びスロットを定義します。

  • インテント:NameIntent
  • スロット:Name (今回は”ママ”、”パパ”、”会社”を用意)

1-3. その他スキル作成に必要な設定を行います。

  • エンドポイント:LambdaのARNを指定

1-4. Lambda関数を作成します。

2.Amazon Connectの設定

2-1. AWSコンソールからAmazon Connect 仮想サポートセンターインスタンスを作成します。

2-2. 作成したAmazon Connectインスタンスにログインし、以下の設定を行います。

  • 電話番号の取得
  • オペレーション時間の設定
  • キューの作成
  • プロンプトの作成
  • ルーティングプロファイルの作成
  • ユーザーの設定

2-3. 問い合わせフローを作成します。

左側のメニューからドラッグ&ドロップでフローを作成していきます。今回はTransfer=1の場合のみ、自宅への転送を行うように設定しています。

問合せフローの例

2-4. Amazon Connect側の設定はこれで終わりです。

別のLambdaを呼び出しや、オペレータに繋ぐといったカスタマイズも可能です。

3.AlexaスキルからのAmazon Connect API呼び出し

3-1. AlexaスキルのLambda側にAPI呼び出しを追加します。

顧客に自動的に電話をかけるには「StartOutboundVoiceContact」を使用します。

呼び出しパラメータは以下の通り

  • ContactFlowId:問合せフローID
  • DestinationPhoneNumber:発信先電話番号
  • InstanceId:コールセンターインスタンスID
  • SourcePhoneNumber:着信元電話番号(2-2で取得した電話番号)
  • Attributes:カスタム属性(Amazon Connectの問合せフロー中で取得可能)今回は”Transfer”を定義

なお問合せフローIDとコールセンターインスタンスIDは、問合せフロー作成画面の「追加のフロー情報を表示」から確認可能です。

例:arn:aws:connect:ap-northeast-1:[AWSアカウントID]:instance/[コールセンターインスタンスID]/contact-flow/[問合せフローID]

※詳細は公式APIリファレンス参照。
Amazon Connect Service API Reference -StartOutboundVoiceContact-

結果

Alexa開発者コンソールからテストしてみます。(※開発中スキルのため、皆様からのスキル使用は出来ません。)

数秒後に指定した番号への着信があり、女性の声で「うちのアレクサから連絡です。電話をお願いします。」のメッセージが流れ、続いて「このまま家にかけ直す場合は1を、かけ直さない場合は、2を押してください。」、1をプッシュすると、指定した番号に転送されました。

まとめ

今回はAlexaとAmazon Connectの連携による電話着信を試してみました。Amazon Connectはコンタクトセンターの導入が簡単で、問合せフローも簡単に設定できる点は大変便利だと思います。外部発信を利用することで、「顧客への自動発信、アンケート、オペレータへ転送」などにも使うことができます。今回はAlexaを例に検証しましたが、他サービスとの連携も可能ですので、利用を検討してみてはいかがでしょうか。

お問い合わせ先

執筆者プロフィール

Yoneyama Kazuhisa
Yoneyama Kazuhisatdi デジタルイノベーション技術部
入社以来、開発部門にて業務システム開発に従事。現在はAWS技術支援を担当。興味分野はAWS/GCP/Alexa/MachineLearning
Pocket

関連記事