AmazonConnectによる自動電話通知(6.ユーザー入力による応答確認)

AmazonConnectによる自動電話通知(6.ユーザー入力による応答確認)

【前回】AmazonConnectによる自動電話通知(5.EC2/ZABBIXとの連携)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈概要〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)

監視サーバーで障害を検知した際に、自動で電話通知できるようにしていきます。ネットワークエンジニアも利用することの多い監視サーバー(Zabbix)で障害検知し、AWS上のAmazonConnectを利用し自動電話を発信します。

今回は自動電話通知に対してユーザーが応答したかどうかを確認する仕組みを導入します。

AmzonConnectでの自動電話発信と応答確認イメージ
自動電話通知イメージ

EC2上でのZabbixの構築はこちらを参照してください。

AWS上での監視サーバー(Zabbix)構築

目次

CloudWatchによるLambdaの実行結果確認

前回までに作成したLambda(AmazonConnectTest-001)の実行結果はCloudWatchで確認できます。

AWSマネジメントコンソール上で、「cloudwatch」を検索します。

CloudWatchの検索

「ロググループ」から対象のLambda(AmazonConnectTest-001)をクリックします。

ロググロープの選択

ログストリームから確認したい時間帯のログをクリックします。

ログストリームの選択

Lambdaの実行結果が表示されます。AmazonConnectTest-001については、開始/終了のログしか残っていないため、実際の電話通知結果がどうだったかはわかりません。

Lambdaの実行結果ログの
確認

自動電話の結果を確認するLambdaの作成

Lambdaの画面から「関数の作成」をクリックします。

関数の作成開始

下記の通り入力し、「関数の作成」をクリックします。

オプション:一から作成を選択
関数名:任意の名前を入力 ※ここでは、”AmazonConnectTest-002″としています。
ランタイム:Pythonを選択 ※ここでは、最新版の”Python 3.9″を選択しています。

関数の作成

Lambdaのコードを記述し、「Deploy」をクリックします。

def lambda_handler(event, context):

    destphone = event['Details']['ContactData']['CustomerEndpoint']['Address']
    pressnum = event['Details']['ContactData']['Attributes']['pressnum']

    if pressnum == "1":
        print(destphone + "への通知に成功しました。")
    else:
        print(destphone + "への通知に失敗しました。")
関数のコード記述

AmazonConnectへLambdaを登録

AmazonConnectのインスタンスをクリックします。

AmazonConnectのインスタンスを選択

「問い合わせフロー」の「AWS Lambda」で、作成したLambda関数を選択し、「+ Add Lambda Function」をクリックします。

Lambda関数を選択

Lambda関数が追加されたことを確認します。

Lambda関数の追加確認

AmazonConnectの問い合わせフロー作成

下記で作成した問い合わせフローを修正します。

AmazonConnectによる自動電話通知(3.問い合わせフローの作成)

AmazonConnectの問い合わせフロー修正開始

フローの設置

「操作」から「顧客の入力を取得する」をドラッグ&ドロップします。

AmazonConnectの問い合わせフロー修正

「設定」から「コンタクト属性の設定」を2つドラッグ&ドロップします。

AmazonConnectの問い合わせフロー修正

「操作」から「プロンプトの再生」を2つドラッグ&ドロップします。

AmazonConnectの問い合わせフロー修正

「統合」から「AWS Lambda 関数を呼び出す」をドラッグ&ドロップします。

AmazonConnectの問い合わせフロー修正

フローの設定

「顧客の入力を取得する」をクリックします。

AmazonConnectの問い合わせフロー修正

「テキスト読み上げまたはチャットテキスト」と「テキストの入力」にチェックを入れ、下記を入力します。

確認しましたら、1を押してください。

AmazonConnectの問い合わせフロー修正

「別の条件を追加」をクリックします。

AmazonConnectの問い合わせフロー修正

オプションに「1」を入力し、「Save」をクリックします。

AmazonConnectの問い合わせフロー修正

上側の「コンタクト属性の設定」をクリックします。

AmazonConnectの問い合わせフロー修正

下記の通り入力し、「Save」をクリックします。

宛先タイプ:ユーザー定義を選択
宛先属性:”pressnum”と入力 ※任意の名前を入力します。
テキストの使用:チェックを入れる
値:”1″を入力

AmazonConnectの問い合わせフロー修正

下側の「コンタクト属性の設定」をクリックします。

AmazonConnectの問い合わせフロー修正

下記の通り入力し、「Save」をクリックします。

宛先タイプ:ユーザー定義を選択
宛先属性:”pressnum”と入力 ※任意の名前を入力します。
テキストの使用:チェックを入れる
値:”none”を入力

AmazonConnectの問い合わせフロー修正

上側の「プロンプトの再生」をクリックします。

AmazonConnectの問い合わせフロー修正

「テキスト読み上げまたはチャットテキスト」と「テキストの入力」にチェックを入れ、下記を入力します。※正常に”1″が押された場合のメッセージ内容です。

応答が確認できました。

AmazonConnectの問い合わせフロー修正

下側の「プロンプトの再生」をクリックします。

AmazonConnectの問い合わせフロー修正

「テキスト読み上げまたはチャットテキスト」と「テキストの入力」にチェックを入れ、下記を入力します。※正常に”1″が押されなかった場合のメッセージ内容です。

応答が確認できませんでした。

AmazonConnectの問い合わせフロー修正

「AWS Lambda関数を呼び出す」をクリックします。

AmazonConnectの問い合わせフロー修正

「関数を選択する」にチェックを入れ、作成したLambda関数を選択します。

AmazonConnectの問い合わせフロー修正

「パラメーターを追加する」をクリックします。

AmazonConnectの問い合わせフロー修正

下記の通り入力し、「Save」をクリックします。

属性を使用する:チェックを入れる
宛先キー:”pressnum”と入力 ※任意の名前を入力します。
タイプ:ユーザー定義
属性:“pressnum”と入力 ※コンタクト属性の設定と合わせます。

AmazonConnectの問い合わせフロー修正

設定を再確認します。

AmazonConnectの問い合わせフロー修正

フローの接続

「プロンプトの再生」と「切断」の接続を解除します。

AmazonConnectの問い合わせフロー修正

下記の通りの接続に変更します。

AmazonConnectの問い合わせフロー修正

「公開」をクリックし、正常に保存されることを確認します。

AmazonConnectの問い合わせフロー修正

AmazonConnectのテスト

下記を参照してAmazonConnectを起動し、想定通りの動作となるか確認します。

AmazonConnectによる自動電話通知(3.問い合わせフローの作成)
AmazonConnectによる自動電話通知(4.Lambdaによる起動)

キーパッドで”1″を押した時と、その他の動作(1以外を押す、何も押さない)の場合で、アナウンスされるメッセージが変わることを確認します。

CloudWatchによるLambdaの実行結果確認(通知成功/失敗)

「ロググループ」から対象のLambda(AmazonConnectTest-002)をクリックします。

CloudWatchのロググロープ選択

“1”を押した場合は、「通知に成功しました。」というログが表示されています。

通知成功時のログ確認

その他動作の場合は、「通知に失敗しました。」というログが表示されています。

通知失敗時のログ確認

以上で、AmazonConnectによる自動電話通知(6.ユーザー入力による応答確認)の説明は完了です。

【前回】AmazonConnectによる自動電話通知(5.EC2/ZABBIXとの連携)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈概要〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)

  • URLをコピーしました!
  • URLをコピーしました!
目次