本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解电话事件
当呼叫期间发生某些事件时,音频服务会调用您的 AWS AWS Lambda 函数。以下示例显示了事件,并且示例后的文本对每个事件进行了解释。
{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "
event-type
", "CallDetails": { "TransactionId": "transaction-id-1
", "AwsAccountId": "aws-acct-id-1
", "AwsRegion": "us-east-1
", "SipMediaApplicationId": "sip-media-app-id-1
", "Participants": [ { "CallId": "call-id-1
", "ParticipantTag": "LEG-A", "To": "e164PhoneNumber
", "From": "e164PhoneNumber
", "Direction": "Inbound/Outbound
", "StartTimeInMilliseconds": "1641998241509
", "Status": "Connected/Disconnected
" } ] } }
- SchemaVersion
用于创建此事件对象的架构版本。
- Sequence
调用您的 AWS Lambda 函数的事件序列。每次调用期间调用函数时,序列会递增。
- InvocationEventType
触发 AWS Lambda 调用的事件类型。有关更多信息,请参阅本主题后面的事件类型。
- CallDetails
与调用关联的呼叫的 AWS Lambda 相关信息。
- TransactionId
与调用关联的呼叫的 AWS Lambda ID。
- AwsAccountId
与导致呼叫路由的 SIP 媒体应用程序关联的 AWS 账户 ID。
- SipMediaApplicationId
与调用关联的 SIP 媒体应用程序的 ID。
- Participants
有关调用函数的呼叫参与者的信息。 AWS AWS Lambda
- CallId
分配给每个参与者的唯一 ID。
- ParticipantTag
每个调用参与者会获得一个标签,
LEG-A
或LEG-B
。- To
参与者的“收件人”电话号码,格式为 E.164。
- From
参与者的“发件人”电话号码,格式为 E.164。
- Direction
调用分支的来源方向。
Inbound
表示对音频服务的调用。Outbound
表示从音频服务发起的调用。- StartTimeInMilliseconds
以毫秒为单位的纪元时间,从参与者加入调用时开始。
- Status
参与者是
Connected
或Disconnected
事件类型
音频服务使用以下这些事件类型调用 Lambda 函数:
- NEW_INBOUND_CALL
新调用由与您的 SIP 媒体应用程序关联的电话号码发起。
- NEW_OUTBOUND_CALL
已通过 CreateSipMediaApplicationCallAPI 进行了新的出站呼叫。
- ACTION_SUCCESSFUL
从您的 AWS Lambda 函数返回的操作已成功。成功的操作包括与成功操作相匹配的
ActionData
。"ActionData": { // The previous successful action },
- ACTION_FAILED
-
从您的 AWS Lambda 函数返回的操作未成功。不成功的操作包括与失败操作相匹配的
ActionData
、错误类型以及描述失败的错误消息:"ActionData": { // The previous unsuccessful action "ErrorType": "
error-type
", "ErrorMessage": "error message
" }, - ACTION_INTERRUPTED
-
运行过程中的操作被 UpdateSipMediaApplicationCallAPI 调用中断。
ActionData
包括中断的操作:"ActionData": { // The action that was interrupted },
- HANGUP
-
用户或应用程序挂断调用分支。
ActionData
包括有关该事件的以下详细信息:"ActionData": { "Type": "Hangup", "Parameters": { "SipResponseCode":
486
, "CallId": "c70f341a-adde-4406-9dea-1e01d34d033d
", "ParticipantTag": "LEG-A" } },- Type
挂断
- Parameters
有关
HANGUP
事件的信息。SipResponseCode— 与事件关联的响应代码。最常见的代码是:
0 — 正常清除
480 — 无应答
486 — 用户占线
CallId挂断电话的参与者的 ID。
ParticipantTag挂断的参与者的标签。
- CALL_ANSWERED
音频服务已传入调用。除非呼叫已桥接,否则此事件会在拨出呼叫时返回。
- INVALID_LAMBDA_RESPONSE
对上次 AWS Lambda 调用的响应导致了问题。
ActionData
包括以下附加字段:"ErrorType": "
error-type-1
", "ErrorMessage": "error-msg-1
"- DIGITS_RECEIVED
应用程序在
ReceiveDigits
操作完成后收到 DTMF 位数。ActionData
包括收到的位数。"ActionData": { "ReceivedDigits":
###
// The ReceiveDigits action data },- CALL_UPDATE_REQUESTED
-
UpdateSipMediaApplicationCallAPI 已被调用。
ActionData
包括有关更新请求的信息:"ActionData": { "Type": "CallUpdateRequest", "Parameters": { "Arguments": { "leg": "LEG-A" } } }, }
- RINGING
调用分支正在响铃