了解 PSTN 音频服务编程模型 - Amazon Chime SDK

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

了解 PSTN 音频服务编程模型

PSTN 音频服务使用请求/响应编程模型,该模型反过来又使用函数。 AWS Lambda 您的 AWS Lambda 函数会自动为来电和去电调用。例如,当新的来电到达时,PSTN 音频服务会使用NEW_INCOMING_CALL事件调用您的 AWS Lambda 函数,然后等待名为 Actions 的命令。例如,您的应用程序可以选择诸如播放音频提示、收集数字、录制音频或转接呼叫等的操作。这些 JSON 格式的操作将使用函数的回调发送回 PSTN 音频服务。 AWS Lambda

此示例显示 PlayAudio 操作。

{ "Type": "PlayAudio", "Parameters": { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "PlaybackTerminators": ["1", "8", "#"], "Repeat": "5", "AudioSource": { "Type": "S3", "BucketName": "valid-S3-bucket-name", "Key": "wave-file.wav" } } }

此示例显示 RecordAudio 操作。

{ "Type": "RecordAudio", "Parameters": { "CallId": "call-id-1", "DurationInSeconds": "10", "SilenceDurationInSeconds": 3, "SilenceThreshold": 100, "RecordingTerminators": [ "#" ], "RecordingDestination": { "Type": "S3", "BucketName": "valid-bucket-name", "Prefix": "valid-prefix-name" } } }

PSTN Audio 服务运行操作后,它会再次调用您的 AWS Lambda 函数,并显示成功或失败指示。

您的应用程序还可以拨打外线电话,并使用您的 AWS Lambda 功能来控制通话流程、来电者体验和通话环境。在这种情况下,您调用 CreateSipMediaApplicationCallAPI,然后使用NEW_OUTBOUND_CALL事件调用您 AWS Lambda 的 API。接听来电后,您可以返回操作,例如播放语音提示和收集用户输入的数字。您还可以使用 UpdateSipMediaApplicationCallAPI 触发您的 AWS Lambda 函数,以实现计时器、参与者静音和等候室。