こんにちは。katoです。
今回はIoT Enterprise ButtonとAmazon ConnectのOutboundCallの機能を連携していきたいと思います。
概要
IoT Enterprise Buttonを利用すると、IoT 1-Clickの機能としてE-mailやSMSメッセージの送信を簡単に実現することができます。
今回ご紹介するIoT Enterprise ButtonとAmazon Connectとの連携では、メッセージを自動音声として電話発信することが可能となります。
E-mailやSMSでは見逃しやレスポンスに時間がかかったりといったことが問題になる場合もあります。
緊急性やレスポンス速度が求められるようなシーンでは、電話発信を用いることでより実用的な機能を実装することが可能となります。
ユースケースとして下記のようなものが挙げられます。
・オフィスの受付ボタン(呼び鈴)
・医療/介護現場でのナースコール
・店舗における緊急通報ボタン
構築するシステムの全体像としては下図の通りとなります。
手順
それでは実際に設定を行っていきましょう。
IoT Enterprise Buttonのセットアップと設定に関しては弊社下記ブログをご参照ください。
本記事ではIoT Enterprise Buttonの設定は省略させていただきます。
AWS IoT Enterprise Buttonを使ってみよう
まず初めにAmazon Connectのセットアップを行います。
Amazon Connectの管理画面から下図のような問い合わせフローを作成します。
設定としては単純で、mizukiによる音声再生の設定を行うのみになります。
「プロンプトの再生」の設定にて「テキスト読み上げ機能(アドホック)」を選択し、通知するメッセージをテキスト入力にて設定します。
ここで設定したメッセージが実際に通知先に伝えられるメッセージの内容になります。
上記のフローを作成したら、保存して発行を行っておきます。
Amazon Connectでの設定は以上となりますが、インスタンスIDとフローIDをLambda関数の作成時に利用するのでメモしておいてください。
なお、今回はアウトバウンドの発信のみを行うので、電話番号との紐づけは不要となります。
Amazon Connectのセットアップが完了したら、Lambda関数を作成していきます。
node.js 6.10にて下記の関数を作成します。
exports.handler = (event, context, callback) => { console.log(event) var AWS = require('aws-sdk'); var connect = new AWS.Connect({ region: 'us-east-1', //Amazon Connectのリージョンを指定 apiVersion: '2017-08-08' }); var params = { ContactFlowId: "フローID", DestinationPhoneNumber: "+811234567890", //発信先番号 InstanceId: "インスタンスID", SourcePhoneNumber: "+11234567890" //発信元番号(Amazon Connectにて取得している電話番号) }; connect.startOutboundVoiceContact(params, function(err, data) { if (err) { console.log(err); } else if (data) { console.log(JSON.stringify(data)); } }); };
電話発信するのみの関数となりますので、簡単なものとなっております。
IAM周りの権限は適当なものを割り当ててください。
今回は検証のためConnectFullの権限を付与しておりますが、権限を絞る場合には「connect:StartOutboundVoiceContact」
の実行を許可するように設定してください。
Lambda関数の作成が完了したら、IoT 1-Clickの画面からデバイスとLambda関数を関連付けて完了となります。
ボタンをクリックすると、設定した電話番号宛てに自動音声でのメッセージ通知が行われます。
まとめ
今回はIoT Enterprise ButtonとAmazon Connectを連携した定型メッセージの音声発信の仕組みをご紹介いたしました。
IoT Enterprise Button単体でもテキストメッセージの送信は可能でしたが、Amazon Connectと組み合わせることで音声ベースでのメッセージの送信が可能となります。
設定や導入が簡単で用途に合わせたカスタマイズも可能となっております。
IoT Enterprise Buttonには3種類のクリップタイプが備わっているので、クリックの種類に応じて通知メッセージを変えるといったことも可能になっております。
IoT Enterprise Buttonさえあれば簡単に導入できる仕組みとなっておりますので、ご興味のある方は是非お試しになってみては如何でしょうか。
「IoT Enterprise Button ~クリックタイプに応じた処理の分岐~」についても投稿しています。