本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在音频服务中,SIP 媒体应用程序调用 AWS Lambda 功能。反过来,Lambda 函数可以返回称为操作的指令列表。操作是您要在电话呼叫分支上运行的项目,例如发送或接收数字、加入会议等。有关 PSTN 音频服务调用的操作的更多信息,请参阅 了解 Amazon Chime SDK PSTN 音频服务的电话事件。
当 SIP 媒体应用程序成功运行操作列表时,该应用程序调用该 AWS Lambda 函数的调用事件类型为。ACTION_SUCCESSFUL
如果任何操作未能完成,SIP 媒体应用程序将使用ACTION_FAILED
事件调用该 AWS Lambda 函数。
仅当列表中的所有操作都成功时,SIP 媒体应用程序才会返回 ACTION_SUCCESSFUL
。如果列表中的任何操作失败,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"
}
]
}
}
}