本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解PSTN音訊服務程式設計模型
PSTN 音訊服務使用請求/回應程式設計模型,反過來會使用 AWS Lambda 函數。您的 AWS Lambda 函數會自動調用,以用於傳入和傳出呼叫。例如,當新的傳入呼叫到達時,PSTN音訊服務會使用NEW_INCOMING_CALL
事件叫用您的 AWS Lambda 函數,並等待名為動作 的命令。例如,您的應用程式可以選擇播放音訊提示、收集數字、錄製音訊或轉接通話等動作。這些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 函數來控制通話流程、來電者體驗和通話內容。在這種情況下,您可以呼叫 CreateSipMediaApplicationCall API,您的 AWS Lambda 會叫用NEW_OUTBOUND_CALL
事件。接聽來電後,您可以傳回動作,例如播放語音提示和收集使用者輸入的數字。您也可以使用 觸發 AWS Lambda 函數 UpdateSipMediaApplicationCall API 實作計時器、參與者靜音和等候室。