SORACOM UG 信州 #7 2019/8/31
ハンズオンの内容
SORACOM LTE-M Button for Enterprise(通称:しろボタン)を使い、ボタンを押したらTwilio経由で電話が掛かってくるようにする仕組みを作成します。
SORACOM LTE-M Button powered by AWS(通称:あのボタン)を使う場合はこちらです
ハンズオンの構成
本日の貸し出し機材
- SORACOM LTE-M Button for Enterprise(と、各ボタンに紐付くSORACOMアカウント)
お客様の持ち物
- Wifi に繋がるPC
- クレジットカード(AWSアカウント作成に必要になります)
- 会場で着信可能な携帯電話
- AWSのアカウント作成時に電話音声による認証が必要となります(非通知からの電話に対する着信拒否設定の解除が必要)
- Twilioのアカウント作成時にSMSによる認証が必要となります
- ボタンを押したら電話がかかってくる宛先となります
参加費用
無料(ただしAWSの利用料金、数円が発生します)
目次
- AWS アカウントの作成
- Twilio アカウントの作成
- Twilio セットアップ
- Twilio Studio Flowの作成
- AWS Lambda関数の設置
- AWS IAMの設定
- SORACOM Funkの設定
- 動作確認
- お片付け
プログラム
1. AWS アカウントの作成
(※既にアカウントをお持ちの方は読み飛ばして下さい)
AWS アカウント作成の流れ (AWS のページに飛びます) から進み作成してください。
アカウント作成時のポイント
電話音声による認証が必要となります
「非通知」からの着信となるため、必要ならば非通知着信が可能になるようにしてください
AWSサポートプランについて
理由がない限り「ベーシックプラン」を選択してください。それ以外のプランは費用がかかります
2. Twilio アカウントの作成
(※既にアカウントをお持ちの方は読み飛ばして下さい)
TwilioはAPIによってコントロールできる電話サービスです。
登録することで電話番号を取得でき、その電話番号での受発信がAPIでコントロールできます。今回は発信のコントロールを行います。
アカウントの取得
Twilioのページを開き、無料サインアップのアイコンをクリックします。
利用規約に同意します。
氏名・メールアドレス・パスワードの情報を入力します。
パスワードは14桁以上必要となります。
身元検証用に携帯電話の電話番号の入力を行います。
携帯電話番号は最初のゼロを取り、80xxxxxxxx のように入力して下さい。
なお、トライアル(無料)アカウントではここで登録した電話番号のみに発信が可能であるため、今回のハンズオンで電話を着信したい携帯電話の番号を入力して下さい。
(有料アカウントにアップグレードすることで任意の番号に発信可能となります)
入力した携帯電話に対してSMSで検証コードが送信され認証が完了です。
チュートリアル画面が出ます。今回は「Skip to dashboard」をクリックしてください。
トップ画面が表示されます。
3. Twilio セットアップ
電話番号の取得
Twilioで利用できる電話番号を取得します。
電話番号の取得画面にアクセスします。
「最初のTwilio電話番号を取得」をクリックし電話番号を取得します。
気に入らない場合は選び直しが可能です。
なおトライアルアカウントで取得可能な電話番号は050のIP電話番号のみとなります。
電話番号が取得できました。終了ボタンをクリックします。
作成した電話番号はメモ帳等にコピーしておきます。
クレデンシャル情報の確認
AWS側からAPIで呼び出しできるよう、クレデンシャル情報を確認しておきます。
Twilioの設定画面にアクセスします。
ライブクレデンシャルの ACCOUNT SID と AUTH TOKENの内容をメモ帳等にコピーしておきます。この情報がLambda関数からの呼び出しに必要になります。
4. Twilio Studio Flowの作成
電話を受けた後、任意のメッセージを再生できるよう、Studio Flowの作成を行います。
Studio Dashboardにアクセスし、Create a flowをクリックします。
続けてフローの名称を入力します。
作成方法はStart from scratchとします。
下のようなフロー作成画面が開きます。
右側のWIDGET LIBRARYから、”Make Outgoing Call” と “Say/Play” のウィジェットをドラッグ、フローを繋げて以下のように設定します。
また、Say/Playのウィジェットでは読み上げるメッセージと言語(Japanese)を設定します。
作成できたら、右上にあるPublishボタンを押して完成です。
Studio Dashboardに戻りますので、作成したフローのSIDをメモ帳等にコピーしておきます。
5. AWS Lambda関数の設置
SORACOM LTE-M Buttonが押された際にTwilioを呼び出すプログラム(Lambda関数)を設置します。
(※今回はハンズオン時間の関係上、作成済の関数をアップロードして設置します)
Lambda関数一式(zip)をダウンロードしてください。
AWS マネジメントコンソールを開きログインした後、Lambdaのコンソールを開きます。
関数の作成をクリックします。
関数の作成画面が開きます。以下の情報を入力します。
- 作成方法:一から作成
- 関数名:任意の名前
- ランタイム:Python3.7
- 実行ロール:基本的なLambdaアクセス権限で新しいロールを作成
続いて関数の編集画面が開きます。以下の設定を行います
- 関数コードのセクション
- コードエントリタイプ:.zipファイルをアップロード
- 関数パッケージ:アップロードボタンをクリックし、先程ダウンロードしたzipファイルを指定
- 基本設定のセクション
- タイムアウト時間を 3秒⇒10秒 に変更
- タイムアウト時間を 3秒⇒10秒 に変更
環境変数の設定
引き続き画面下の方にある環境変数のセクションで以下の情報を入力します。
属性の名前 | デフォルト値 |
---|---|
twilio_sid | (TwilioのACCOUNT SID) |
twilio_token | (TwilioのAUTH TOKEN) |
twilio_flowid | (Twilio Studio FlowのSID) |
twilio_number | (Twilioで取得した電話番号 +8150xxxxxxxx の形式) |
twilio_callto | (電話の発信先:Twilioに登録したご自身の携帯電話番号 +81xxxxxxxxxx の形式) |
最後に画面上方にある「保存」ボタンをクリックして下さい。 保存後、画面上にある ARNをコピーしメモしておきます。 以上で完了です。
6. AWS IAMの設定
SORACOM Funkからアクセスできるよう、IAMユーザを作成し権限を付与します。
ポリシーの作成
AWS マネジメントコンソールを開きログインした後、IAMのコンソールを開きます。
左側のメニューからポリシーを選択し、上にある「ポリシーの作成」をクリックします。 JSONタブをクリックし、以下の内容を入力します。(Lambda関数作成時に表示されたARNを差し替えて下さい)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAuroraToExampleFunction",
"Effect": "Allow",
"Action": "lambda:InvokeFunction",
"Resource": "Lambda関数のARN"
}
]
}
入力が終わったら「ポリシーの確認」ボタンをクリックします。
続いてポリシー名を入力し、ポリシーの作成ボタンをクリックします。
これで、作成したLambda関数を実行できる権限の定義が設定されました。
IAMユーザの作成
続けて、作成したポリシーを紐付けたユーザを作成します。
左側メニューのユーザを選択し、「ユーザを追加」ボタンをクリックします。
作成画面が開きますので、ユーザ名を入力、プログラムによるアクセスを選択し次のステップに進みます。
アクセス許可の設定を行います。「既存のポリシーを直接アタッチ」を選択し、先程作成したポリシー名を選択し紐付けます。
次のステップでのタグ付けは不要ですので、スキップしユーザの作成を行います。 ユーザの作成に成功すると、アクセスキーIDとシークレットアクセスキーが表示されますので、メモ帳等にコピーしておきます。
7. SORACOM Funkの設定
SIMグループの作成
SORACOMユーザコンソールにログインし、SIM管理を開きます。
登録されているボタンデバイスを選択し、所属グループの変更を選択します。
続けて「新しいグループを作成」を選択します。
グループ名を入力しグループ作成のボタンをクリック、割り当てることで新しいグループの作成ができました。
SORACOM Funkの設定
作成したグループで以下の設定を行います。
SORACOM Air for Cellular設定では、バイナリーパーサーを有効化し、フォーマットは @button とします。
SORACOM Funk設定では、認証情報とLambda関数のARNを入力します。
認証情報では、新しい認証情報の作成を選択し、IAMユーザのアクセスキーIDとシークレットアクセスキーを入力します。
8. 動作確認
ここまでの作業で AWS IoT 1-Click を通じて Twilio経由で電話がかけられるようになりました。
ボタンを押すと、ご自身の携帯電話に電話が掛かってくるようになったでしょうか。
(※うまく動作しない方はスタッフまでご相談ください)
9. お片付け
※ しろボタン貸出枠で参加の方は、ボタン返却のため以下の手順の実施をしてください。
SIMグループの削除
SORACOMユーザコンソールにログインし、SIMグループを開きます。
「高度な設定」タブから、「このグループを削除」を選択し、グループの削除を行います。
認証情報の削除
SORACOMユーザコンソールにログインし、右上のメールアドレスのボタンをクリックし「セキュリティ」を選択します。
左側「認証情報ストア」を選択し、作成した認証情報の「削除」ボタンをクリックし削除を行います。
こちらでハンズオンは終了です。お疲れ様でした。