将呼叫和事件路由到 AWS Lambda 函数 - Amazon Chime SDK

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将呼叫和事件路由到 AWS Lambda 函数

PSTN Audio 服务提供以下方法来将来电转接到您的 AWS Lambda 职能部门进行治疗。

  • 您可以根据被叫号码路由呼叫。为此,Amazon Chime SDK 管理员创建了一条 SIP 规则,并将触发类型设置为拨打电话号码。此电话号码必须存在于 Amazon Chime SDK 的电话号码清单中,且 AWS 账户必须与 SIP 规则相同。

  • 您可以根据传入的语音连接器 SIP 呼叫的请求 URI 将呼叫路由到该 AWS Lambda 功能。为此,Amazon Chime SDK 管理员创建了一条 SIP 规则,并将触发器类型设置为请求 URI 主机名。此字段必须包含在与 SIP 规则相同的 AWS 帐户中配置的语音连接器的 “出站主机名” 字段中指定的完全限定域名。

然后,管理员至少配置一个目标 SIP 媒体应用程序。或者,您可以按优先顺序配置多个 SIP 媒体应用程序,以支持冗余和失效转移。例如,您可以在两个不同的 AWS 区域配置两个 SIP 媒体应用程序并指定它们的优先级顺序。如果 SIP 规则有多个目标 SIP 媒体应用程序,则按优先级顺序调用 SIP 媒体应用程序的 Lambda 函数。SIP 媒体应用程序中优先级最高的 AWS Lambda 功能(最小的数字,例如 1)首先运行。如果 PSTN 音频服务无法调用该 AWS Lambda 函数,则会调用 SIP 媒体应用程序中优先级排在第二高的优先级(次低数字,例如 2)的 AWS Lambda 函数。如果所有运行 SIP 规则中指定的 SIP 媒体应用程序的尝试都失败,则 PSTN 音频服务会挂断。

配置必要的 SIP 规则和 SIP 媒体应用程序后,PSTN 音频服务便会将来电路由到您的职能部门。 AWS Lambda 下图显示了使用拨打电话号码触发类型的典型顺序。

使用拨打电话号码触发器类型的 SIP 规则和 SIP 媒体应用程序工作流规则示意图。

在图中:

  1. PSTN 音频服务接收拨打在同一账户的 SIP 规则中配置的电话号码的来电。 AWS

  2. 然后,PSTN 音频服务会评估 SIP 规则,并以最高优先级(在本例中为优先级 1)获取 SIP 媒体应用程序。

  3. 然后,该服务调用与 SIP 媒体应用程序关联的 AWS Lambda 功能。

  4. 可选。如果服务无法调用 AWS Lambda 与最高优先级关联的,它将尝试以第二高的优先级(在本例中为优先级 2)运行 SIP 媒体应用程序(如果存在)。

  5. 可选。如果所有目标 SIP 媒体应用程序都失败,PSTN 音频服务将挂断。

下图显示了使用请求 URI 主机名触发器类型的典型规则。

使用请求 URI 主机名触发器类型的规则的示意图。

在图中:

  1. PSTN 音频服务在 Amazon Chime SDK 语音连接器上接收来电,其请求 URI 主机名与同一账户中预配置的 SIP 规则相匹配。 AWS

  2. 然后,该服务会评估 SIP 规则并获取优先级最低的 SIP 媒体应用程序(在本例中为优先级为 1 的唯一目标 SIP 媒体应用程序)。

  3. 然后,该服务调用与 SIP 媒体应用程序关联的 AWS Lambda 功能。

  4. 可选。如果服务无法调用优先级最低的关联 AWS Lambda 的,则会尝试运行优先级次低的 SIP 媒体应用程序(如果存在)。在这种情况下,只有一个目标 SIP 媒体应用程序。

  5. 可选。如果所有目标 SIP 媒体应用程序都失败,PSTN 音频服务将挂断。

此外,您可以使用 CreateSIPMediaApplicationCallAPI 创建出站呼叫,然后调用您的 AWS Lambda 函数进行额外处理。要使用此 API,您需要将已配置的 SIP 媒体应用程序 ID 指定为参数。

最后,您可以在呼叫处于活动状态时随时使用 UpdateSIPMediaApplicationCallAPI 触发您的 AWS Lambda 函数。要使用此 API,您需要将已配置的 SIP 媒体应用程序 ID 指定为参数。