Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Amazon Connect のアウトバウンド発信者 ID を、国に基づいて動的に設定する方法を教えてください。
Amazon Connect のアウトバウンド発信者 ID を、通話受信者の国に基づいて動的に変更したいと考えています。そのようにセットアップするには、どうすればよいですか。
簡単な説明
Amazon Connect アウトバウンド発信者 ID が着信先の国に基づいて動的に変更されるようにするには、次の操作を行います。
- 発信者 ID リストを JSON 形式で作成します。
- 発信者 ID リストを Amazon Simple Storage Service (Amazon S3) のバケットにアップロードします。
- 発信者の連絡先の国コードを識別し、発信者 ID リストから対応する電話番号を選択する AWS Lambda 関数を作成します。
- Lambda 関数を Amazon Connect インスタンスに追加します。
- アウトバウンドウィスパーフローを作成して Lambda 関数を呼び出します。
- エージェントのルーティングプロファイルでデフォルトのアウトバウンドキューを設定して、アウトバウンドウィスパーフローを使用します。
**注意:**このソリューションはユースケースに合わせてカスタマイズできます。例えば、発信者 ID リストを S3 バケットではなく Amazon DynamoDB テーブルに保存できます。次に、Lambda 関数とその実行ロールを適宜再設定します。
解決方法
発信者 ID リストを JSON 形式で作成する
アウトバウンド発信者 ID に使用する電話番号の国ベースのリストを含む JSON ファイルを作成します。
発信者 ID リストを作成する際には、次の点に留意してください。
- アウトバウンド発信者 ID の電話番号は、呼び出し元の国からの電話番号である必要はありません。
- この例では、リストの国コードは ISO 3166-1 alpha-2 標準に準拠し、電話番号は E.164 標準に準拠している必要があります。詳細については、ISO ウェブサイトの「ISO 3166 - COUNTRY CODES」および ITU ウェブサイトの「E.164 : The international public telecommunication numbering plan」をご参照ください。
- 呼び出しのルーティング中に、Lambda 関数が呼び出しに失敗した場合、Amazon Connect は発信者 ID としてキューのデフォルトの発信電話番号を代わりに使用します。デフォルトの発信電話番号は、Amazon Connect インスタンスのキュー設定で設定された番号です。詳細については、Set up outbound caller ID を参照してください。
JSON 発信者 ID リストの例
この最初のアウトバウンド発信者 ID リストの例では、Amazon Connect は次の発信者 ID を使用します。
- +12345678901 米国 (「US」) の電話番号でお客様に電話をかける場合。
- +441234567890 英国 (「GB」) の電話番号でお客様に電話をかける場合。
- +19876543210 発信者 ID リストに記載されていない国 (「デフォルト」) の電話番号でお客様に電話をかける場合。
{ "US": "+12345678901", "GB": "+441234567890", "Default": "+19876543210" }
この 2 番目の発信者 ID リストの例では、Amazon Connect は次のアウトバウンド発信者 ID を使用します。
- +441234567890 英国 (「GB」)、フランス (「FR」)、ドイツ (「DE」)、またはアイルランド (「IE」) の電話番号でお客様に電話をかける場合。
- +19876543210 発信者 ID リストに記載されていない国 (「デフォルト」) の電話番号でお客様に電話をかける場合。
{ "GB": "+441234567890", "FR": "+441234567890", "DE": "+441234567890", "IE": "+441234567890", "Default": "+19876543210" }
発信者 ID リストを Amazon S3 バケットにアップロードする
Amazon S3 ユーザーガイドの「オブジェクトのアップロード」の手順に従います。
発信者の連絡先の国コードを識別し、発信者 ID リストから対応する電話番号を選択する AWS Lambda 関数を作成します
Lambda 実行ロールを作成する
IAM コンソールでの実行ロールの作成の手順に従います。
実行ロールを設定する際には、次の点に留意してください。
- Lambda 関数の実行ロールには、S3 バケットにアップロードした JSON オブジェクトを読み込むための Amazon S3 読み取りアクセスが必要です。
- AWS Identity and Access Management (IAM) コンソールで実行ロールを作成できます。その後、AWS 管理ポリシーの AmazonS3ReadOnlyAccess をロールに添付できます。
注意: 独自の IAM ポリシーを作成することで、実行ロールのアクセスを特定の S3 バケットに制限できます。ポリシーのサンプルについては、「Amazon S3: S3 バケットのオブジェクトへの読み取りおよび書き込みアクセスを許可する」をご参照ください。
Lambda 関数を作成する
前のステップで作成した実行ロールを使用して、Lambda 関数を作成します。
関数コードに、Amazon Connect からの受信 JSON リクエストを確認するロジックを含めます。詳細については、「コンタクト属性を参照する方法」を参照してください。また、Amazon Connect 管理者ガイドの Lambda 関数に対する JSON リクエストの例もあります。
注意: 例えば、aws-support-tools GitHub リポジトリの DynamicOutboundCallerID から Python 関数を使用できます。関数コードは Python 3.6 (またはそれ以降) のランタイムで動作します。サンプルの関数コードを使用する場合は、関数で次の環境変数を設定する必要があります。
- BUCKET_NAME: JSON オブジェクトが保存されている S3 バケットの名前。
- COUNTRY_ROUTING_LIST_KEY: S3 バケットに保存されている JSON ファイルのキー。
例えば、JSON オブジェクトが s3: //hello/world/list.json に保存されている場合、環境変数は次のようになります。
- BUCKET_NAME:「hello」
- COUNTRY_ROUTING_LIST_KEY:「world/list.json」
使用している Lambda ランタイム用の Lambda デプロイパッケージを作成する
「Lambda デプロイパッケージ」の手順に従います。
注意: Python 関数のサンプル (DynamicOutboundCallerID にある) では、phonenumbers Python ライブラリを使用します。詳細については、Python Package Index (PyPI) ウェブサイトの「phonenumbers」をご参照ください。
関数にサードパーティーのライブラリを含めるには、デプロイパッケージを作成する必要があります。lambda_function.py を含むフォルダで、次のコマンドを実行すると、デプロイパッケージを作成できます。
$ pip install phonenumbers --target ./ $ zip -r9 function.zip ./
これらのコマンドは Linux、Unix、macOS オペレーティングシステムでのみ有効です。
Python Lambda 関数のデプロイの詳細については、「.zip ファイルアーカイブを使用した Python Lambda 関数のデプロイ」を参照してください。
Lambda 関数を Amazon Connect インスタンスに追加する
Amazon Connect インスタンスに Lambda 関数を追加するの手順に従います。
アウトバウンドウィスパーフローを作成して Lambda 関数を呼び出す
アウトバウンドウィスパーフローを作成する
まだ作成していない場合は、アウトバウンドウィスパー問い合わせフローを作成します。
重要: 問い合わせフローを作成し編集するには、セキュリティプロファイルに十分なアクセス許可を持つユーザーとして Amazon Connect インスタンスにログインする必要があります。
1. https://instance_name.my.connect.aws/ から Amazon Connect インスタンスにログインします。
注意: instance_name はインスタンスのエイリアスに置き換えます。
2. ナビゲーションペインで、ルーティングにカーソルを合わせ、問い合わせフローを選択します。
3. 問い合わせフロー ページで、[問い合わせフローの作成] の横にある矢印アイコンを選択し、アウトバウンドウィスパーフローの作成 をクリックします。
4. 問い合わせフローデザイナーの [Enter a name] (名前の入力) で、問い合わせフローの名前を入力します。
5. [保存] を選択します。
詳細については、「新しい問い合わせフローの作成」を参照してください。
[Invoke AWS Lambda function (AWS Lambda 関数の呼び出し)] ブロックを追加する
1. 問い合わせフローデザイナーで、[Integrate] (統合) を選択します。
2. [AWS Lambda 関数の呼び出し] ブロックをキャンバスにドラッグアンドドロップします。
3. ブロックのタイトルを選択します (AWS Lambda 関数の呼び出し)。ブロックの設定メニューが開きます。
4. [Function ARN] (関数 ARN) で [Select a function] (関数の選択) を選択し、インスタンスに追加した Lambda 関数を選択します。
5. (オプション) [Timeout (max 8 seconds)] (タイムアウト (最大 8 秒)) に、Amazon Connect がタイムアウトする前に Lambda からの応答の取得を待機する秒数を入力します。
6. [保存] を選択します。
注意: Amazon Connect が Lambda 関数を呼び出すと、関数は次のような JSON レスポンスを返します。
{ "customer_number": "<Customer's phone number that you're calling>", "customer_country": "<Country of the customer's phone number>", "outbound_number": "<Outbound phone number that Lambda loads from Amazon S3 and sends to Amazon Connect>", "outbound_country": "<Country of the outbound phone number that Lambda sends to Amazon Connect>", "default_queue_outbound_number": "<Default outbound phone number set up for the queue>", "default_queue_outbound_country": "<Country of the default outbound phone number>" }
詳細については、「問い合わせフローから Lambda 関数を呼び出す」および「問い合わせブロック: AWS Lambda 関数を呼び出す」を参照してください。
[電話番号への発信] ブロックを追加する
Lambda の outbound_number を発信者 ID の電話番号として使用するように、このブロックを設定します。
1. 問い合わせフローデザイナーで、[Interact] (操作) を選択します。
2. [電話番号への発信] ブロックをキャンバスに、ドラッグアンドドロップします。
3. ブロックタイトル ([Call phone number] (電話番号への発信)) を選択します。ブロックの設定メニューが開きます。
4. 以下の操作を実行します。
[発信者 ID 番号を表示する (オプション)] チェックボックスをオンにします。
[属性を使用する] をクリックします。
[タイプ] で [外部] をクリックします。
[Attribute] (属性) に outbound_number と入力します。
5. [保存] を選択します。
詳細については、「問い合わせブロック: 電話番号への発信」を参照してください。
問い合わせフローを終了する
1. ユースケースの必要に応じて、問い合わせブロックを追加して接続します。ユースケースの例については、「問い合わせフローのサンプル」を参照してください。
2. 問い合わせフローのすべてのコネクタをブロックに接続します。[AWS Lambda 関数の呼び出し] ブロックの [成功] ノードを [電話番号への発信] ブロックに接続してください。また、[成功] ノード ([電話番号への発信] ブロックにある) を [終了フロー/再開] ブロックに接続してください。少なくとも次のブロックを必ず使用してください。例: エントリポイント > AWS Lambda 関数の呼び出し > 電話番号への発信 > 終了フロー/再開。
3. フローのドラフトを保存するには、[Save] (保存) を選択します。
4. フローを有効にするには、[Publish] (公開) を選択します。
エージェントのルーティングプロファイルでデフォルトのアウトバウンドキューを設定して、アウトバウンドウィスパーフローを使用する
エージェントのルーティングプロファイルで、デフォルトのアウトバウンドキューを特定します。
以下の手順を実行して、キューを編集します。
1. Amazon Connect インスタンスのの左側のナビゲーションペインで、[ルーティング] にマウスを合わせ、[キュー] をクリックします。
2. [キュー] ページで、デフォルトのアウトバウンドキューとして識別したキューの名前をクリックします。
3. [キューの編集] ページの [アウトバウンドウィスパーフロー (オプション)] で、作成したアウトバウンドウィスパーフローの名前を検索し、選択します。
4. [保存] を選択します。
詳細については、「ルーティングプロファイルを作成する」と「RoutingProfile オブジェクト」を参照してください。
関連情報

関連するコンテンツ
- 質問済み 8日前lg...
- AWS公式更新しました 1年前
- AWS公式更新しました 2年前
- AWS公式更新しました 4ヶ月前