將呼叫和事件路由至 AWS Lambda 函數 - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將呼叫和事件路由至 AWS Lambda 函數

PSTN 音頻服務提供以下方法,將來電路由到您的 AWS Lambda 功能進行治療。

  • 您可以根據所呼叫的號碼路由呼叫。為此,Amazon Chime SDK 管理員會建立 SIP 規則,並將觸發類型設定為 [目標電話號碼]。此電話號碼必須存在於 Amazon Chime SDK 電話號碼庫中,與 SIP 規則相同的 AWS 帳戶中。

  • 您可以根據內送語音連接器 SIP 呼叫的要求 URI,將通話路由至 AWS Lambda 函數。為此,Amazon Chime SDK 管理員會建立 SIP 規則,並將觸發類型設定為要求 URI 主機名稱。此欄位必須包含在與 SIP 規則相同 AWS 帳戶佈建之語音連接器的「輸出主機名稱」欄位中指定的完整網域名稱。

接下來,系統管理員至少佈建一個目標 SIP 媒體應用程式。或者,您可以依優先順序佈建多個 SIP 媒體應用程式,以支援備援和容錯移轉。例如,您可以在兩個不同的 AWS 區域佈建兩個 SIP 媒體應用程式,並指定其優先順序。如果 SIP 規則具有多個目標 SIP 媒體應用程式,則會依優先順序叫用 SIP 媒體應用程式的 Lambda 函數。SIP 媒體應用程式中具有最高優先順序 (最小數字,例如 1) 的 AWS Lambda 函數會先執行。如果 PSTN 音訊服務無法叫用該 AWS Lambda 函數,則會叫用 SIP 媒體應用程式中具有下一個最高優先順序 (下一個最小數字,例如 2) 的 AWS Lambda 函數。如果所有嘗試執行 SIP 規則中指定的 SIP 媒體應用程式都失敗,則 PSTN 音訊服務會掛斷。

佈建必要的 SIP 規則和 SIP 媒體應用程式後,PSTN 音訊服務會將來電路由傳送至您的 AWS Lambda 函數。下圖顯示使用 [收件者] 電話號碼觸發類型的典型順序。

使用 [收件者] 電話號碼觸發類型的 SIP 規則和 SIP 媒體應用程式工作流程規則的圖表。

在圖中:

  1. PSTN 音訊服務會接收來電至相同 AWS 帳戶中 SIP 規則中佈建的電話號碼。

  2. 然後,PSTN 音訊服務會評估 SIP 規則,並擷取具有最高優先順序的 SIP 媒體應用程式 (在此例中為優先順序 1)。

  3. 然後,服務會叫用與 SIP 媒體應用程式相關聯的 AWS Lambda 函數。

  4. 選用。如果服務無法叫用 AWS Lambda 與最高優先順序相關聯的,它會嘗試以下一個最高優先順序 (在此情況下,優先順序 2) 執行 SIP 媒體應用程式 (如果有的話)。

  5. 選用。如果所有目標 SIP 媒體應用程式都失敗,則 PSTN 音訊服務會掛斷呼叫。

下圖顯示使用「要求 URI 主機名稱」觸發程序類型的典型規則。

使用「要求 URI 主機名稱」觸發程序類型的規則圖表。

在圖中:

  1. PSTN 音訊服務會在 Amazon Chime SDK 語音連接器上接收來電,該連接器具有與相同帳戶中佈建的 SIP 規則相 AWS 符的請求 URI 主機名稱

  2. 然後,服務會評估 SIP 規則,並擷取具有最低優先順序的 SIP 媒體應用程式 (在此情況下,優先順序為 1 的唯一目標 SIP 媒體應用程式)。

  3. 然後,服務會叫用與 SIP 媒體應用程式相關聯的 AWS Lambda 函數。

  4. 選用。如果服務無法叫用 AWS Lambda 與最低優先順序相關聯的,它會嘗試以下一個最低優先順序執行 SIP 媒體應用程式 (如果有的話)。在這種情況下,只有一個目標 SIP 媒體應用程序。

  5. 選用。如果所有目標 SIP 媒體應用程式都失敗,則 PSTN 音訊服務會掛斷呼叫。

此外,您可以建立輸出呼叫,然後使用 CreateSIPMediaApplicationCallAPI 叫用 AWS Lambda 函數進行其他處理。若要使用此 API,請將佈建的 SIP 媒體應用程式識別碼指定為參數。

最後,您可以在使用 UpdateSIPMediaApplicationCallAPI 進行呼叫時隨時觸發 AWS Lambda 函數。若要使用 API,請將佈建的 SIP 媒體應用程式識別碼指定為參數。