本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
指定動作以回應 Amazon Chime SDK PSTN 音訊服務的電話語音事件
在音訊服務中,SIP 媒體應用程式會叫用 AWS Lambda 函數。反之,Lambda 函數可以傳回稱為動作的指示清單。動作是您想要在通話中執行的項目,例如傳送或接收數字、加入會議等。如需 PSTN 音訊服務調用之動作的詳細資訊,請參閱 了解 Amazon Chime SDK PSTN 音訊服務的電話語音事件。
當 SIP 媒體應用程式成功執行動作清單時,應用程式會呼叫叫用事件類型為 的 AWS Lambda 函數ACTION_SUCCESSFUL。如果有任何動作無法完成,SIP 媒體應用程式會使用 ACTION_FAILED事件呼叫 AWS Lambda 函數。
只有當清單中的所有動作都成功ACTION_SUCCESSFUL時,SIP 媒體應用程式才會傳回 。如果清單中的任何動作失敗,SIP 媒體應用程式會使用 ACTION_FAILED事件叫用 AWS Lambda 函數,並在失敗之後清除清單中的剩餘動作。然後,SIP 媒體應用程式會執行 AWS Lambda 函數傳回的下一個動作。您可以使用 ActionData金鑰來識別叫用函數的呼叫。
下列事件顯示PlayAudioAndGetDigits動作後ACTION_SUCCESSFUL調用事件類型的範例承載。
{ "SchemaVersion": "1.0", "Sequence":3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "failure-audio-file.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "failure-audio-file.wav" }, "MinNumberOfDigits":3, "MaxNumberOfDigits":5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds":5000, "Repeat": 3, "RepeatDurationInMilliseconds":10000}, "ReceivedDigits": "123" } "CallDetails": { "TransactionId": "transaction-id", "AwsAccountId": "aws-account-id", "AwsRegion": "us-east-1", "SipRuleId": "sip-rule-id", "SipApplicationId": "sip-application-id", "Participants": [ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "To": "+12065551212", "From": "+15105550101", "Direction": "Inbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" } ] } } }
當清單中的任何動作無法成功完成時,SIP 媒體應用程式會叫用 AWS Lambda 函數來通知您失敗,並取得要在該呼叫上執行的新動作集。下列事件顯示PlayAudio動作後ACTION_FAILED調用事件類型的範例承載。
{ "SchemaVersion": "1.0", "Sequence":4, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file.wav" } }, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." } "CallDetails": { "TransactionId": "transaction-id", "AwsAccountId": "aws-account-id", "AwsRegion": "us-east-1", "SipRuleId": "sip-rule-id", "SipApplicationId": "sip-application-id", "Participants": [ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "To": "+12065551212", "From": "+15105550101", "Direction": "Inbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" } ] } } }