[Amazon Connect] 異なる問い合わせフローを同じ電話番号から発信できるか試してみた

Amazon Connectを使って外部に電話発信するとき、異なる問い合わせフローで同じ電話番号が使えました。 これで電話番号の保持課金を節約できます。
2020.07.08

Amazon Connectの電話番号の設定画面には、電話番号と問い合わせフローを紐付ける設定が存在します。 公式ドキュメントによると、「Amazon Connectへの着信時」に活用されると読み取れます。

電話番号と問い合わせフローを紐付ける設定画面

そこで思ったのです。「Amazon Connectから発信する場合は、発信で使う問い合わせフローの数だけ電話番号が必要なの?」と。 電話番号を保持しているだけで課金されるため、保持する電話番号は少ないほうが嬉しいです。そこで複数の問い合わせフローを同じ電話番号から発信できるか試してみました。

Amazon Connectの準備

インスタンスの作成

下記を参考にして、Amazon Connectインスタンスを作成します。

問い合わせフローを作成する(1つ目)

発信用の問い合わせフローを作成し、保存&公開を行います。

音声の設定

  • 言語:日本語
  • 音声:Mizuki

プロンプトの再生

  • テキスト読み上げまたはチャットテキスト
    • 動的に入力する
      • タイプ:ユーザー定義
      • 属性:message
    • 解釈する:テキスト

インスタンスIDとコンタクトフローIDを取得する

問い合わせフローの左側にあるARNをメモしておきます。

このARNの一部にインスタンスIDとコンタクトフローIDが含まれています。

電話番号を取得する

適当に電話番号を取得します。問い合わせフローとの紐付けは行いません。

電話番号と問い合わせフローは紐付けない

電話番号と問い合わせフローは紐付けません。

発信用Lambdaの作成

下記コードのLambdaを作成します。

app.py

import boto3
 
DESTINATION_PHONE_NUMBER = '+8190aaaabbbb'  # 着信先
SOURCE_PHONE_NUMBER = '+8180xxxxyyyy'   # 発信元
INSTANCE_ID = 'your instance id'
CONTACT_FLOW_ID = 'your contact flow id'
 
connect = boto3.client('connect')

def lambda_handler(event, context):
    connect.start_outbound_voice_contact(
        DestinationPhoneNumber=DESTINATION_PHONE_NUMBER,
        ContactFlowId=CONTACT_FLOW_ID,
        InstanceId=INSTANCE_ID,
        SourcePhoneNumber=SOURCE_PHONE_NUMBER,
        Attributes={
            'talk_message': 'これはテストメッセージです。'
        }
    )

Lambda自体にはarn:aws:iam::aws:policy/AmazonConnectFullAccessの権限を付与します。 (最小限の権限のみを付与する場合は、connect:StartOutboundVoiceContactがあればOKです)

実験その1:電話番号を紐付けなくても、発信できた

上記のLambdaを手動実行すると、手元のスマホに着信しました!

実験その2:問い合わせフローが複数あっても、同じ電話番号で発信できた

下記の問い合わせフロー(2つ目)を作成しました。電話番号と紐付けは行いません。 そして、上記のLambdaのCONTACT_FLOW_IDを問い合わせフロー(2つ目)のコンタクトフローID変更して発信すると、手元のスマホに着信し、問い合わせフロー(2つ目)に従って音声が流れました!

問い合わせフローを作成する(2つ目)

発信用の問い合わせフロー(2つ目)を作成し、保存&公開を行います。

音声の設定

  • 言語:日本語
  • 音声:Takumi

プロンプトの再生

  • テキスト読み上げまたはチャットテキスト
    • テキストの入力
      • テキスト:私はクラスメソッドです。
    • 解釈する:テキスト

さいごに

気になったので実験しました。スッキリです。発信時は電話番号の節約ができますね。(同じ電話番号でOKの場合)

参考