瞭解 PSTN 音訊服務程式設計模型 - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

瞭解 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 功能,以實作計時器、參與者靜音和等候室。