本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
瞭解 PSTN 音訊服務程式設計模型
PSTN 音訊服務會使用要求/回應程式設計模型,進而使用函數。 AWS Lambda 您的 AWS Lambda 函數會自動為來電和撥出電話調用。例如,當新來電到達時,PSTN Audio 服務會使用事件叫用您的 AWS Lambda 函數,並等待名為「NEW_INCOMING_CALL
動作」的命令。例如,您的應用程式可以選擇動作,例如播放音訊提示、收集數字、錄製音訊或轉接通話。這些 JSON 格式化的動作會使用 AWS Lambda 函數的回呼傳回 PSTN 音訊服務。
此範例顯示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
事件調用您的。接聽來電後,您可以返回動作,例如播放語音提示和收集使用者輸入的數字。您也可以使用 UpdateSipMediaApplicationCallAPI 觸發 AWS Lambda 功能,以實作計時器、參與者靜音和等候室。