

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解 Amazon Chime SDK PSTN 音频服务的电话事件
<a name="pstn-invocations"></a>

当呼叫期间发生某些事件时，音频服务会调用您的 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 调用的事件类型。有关更多信息，请参阅本主题后面的[事件类型](#pstn-event-types)。

**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`

## 事件类型
<a name="pstn-event-types"></a>

音频服务使用以下这些事件类型调用 Lambda 函数：

**NEW\_INBOUND\_CALL**  
新调用由与您的 SIP 媒体应用程序关联的电话号码发起。

**NEW\_OUTBOUND\_CALL**  
已通过 [CreateSipMediaApplicationCall](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateSipMediaApplicationCall.html)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](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html)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](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html)API 已被调用。`ActionData` 包括有关更新请求的信息：  

```
    "ActionData": {
        "Type": "CallUpdateRequest", 
        "Parameters": {
            "Arguments": {
                "leg": "LEG-A"
                }
            }
        },
    }
```

**RINGING**  
调用分支正在响铃