本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 音频服务运行操作后,它会再次调用您的 AWS Lambda 函数,并显示成功或失败指示。
您的应用程序还可以拨打外线电话,并使用您的 AWS Lambda 功能来控制通话流程、来电者体验和通话环境。在这种情况下,你可以调用 CreateSipMediaApplicationCallAPI,并且您的 AWS Lambda 是通过NEW_OUTBOUND_CALL
事件调用的。接听来电后,您可以返回操作,例如播放语音提示和收集用户输入的数字。你也可以使用触发你的 AWS Lambda 函数 UpdateSipMediaApplicationCall用于实现计时器、参与者静音和等候室的 API。