了解 Amazon Chime SDK PSTN 音频服务的电话事件
当调用期间发生某些事件时,音频服务会调用您的 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
-
通过 CreateSipMediaApplicationCall API 进行新的出站调用。
- 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
-
正在运行的操作被 UpdateSipMediaApplicationCall API 调用中断。
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
-
UpdateSipMediaApplicationCall API 已调用。
ActionData
包括有关更新请求的信息:"ActionData": { "Type": "CallUpdateRequest", "Parameters": { "Arguments": { "leg": "LEG-A" } } }, }
- RINGING
-
调用分支正在响铃