

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

# 使用 Amazon Chime SDK PSTN 音频服务结束呼叫
<a name="case-5"></a>

要结束出站呼叫，您可以使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateSipMediaApplicationCall.html) API。API 调用指定 **SIP 媒体应用程序 ID** 的终端节点。客户可以通过向 SIP 媒体应用程序返回操作来控制呼叫流程。

如果成功响应，API 会返回 202 http 状态码以及 `transactionId`，您可以将其与 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html) API 一起使用以更新正在进行的呼叫。

下图显示了出站呼叫对 AWS Lambda 函数端点进行的调用。

![调用 CreateSipMediaApplicationCall API 时的数据流。当出站呼叫的状态发生变化时，API 会调用不同的终端节点。](http://docs.aws.amazon.com/zh_cn/chime-sdk/latest/dg/images/sip-api-1.png)


针对出站呼叫的不同状态调用为 SIP 媒体应用程序配置的终端节点。当客户结束呼叫时，Amazon Chime SDK 会使用 `HANGUP` 调用事件类型调用终端节点。

此示例显示 `HANGUP` 的典型调用事件。

```
{
    "SchemaVersion": "1.0",
    "Sequence": {{6}},
    "InvocationEventType": "HANGUP",
    "ActionData": {
        "Type": "Hangup",
        "Parameters": {
            "CallId": "{{call-id-1}}",
            "ParticipantTag": "LEG-A"
        }
    },
    "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",
                "Direction": "Inbound",
                 "To": "{{+12065551212}}",
                "From": "{{+15105550101}}",
                "StartTimeInMilliseconds": "{{1597009588}}",
                "Status": "Disconnected"
            }
        ]
    }
}

// if LEG-B receives a hangup in a bridged call, such as a meeting ending
{
    "SchemaVersion": "1.0",
    "Sequence": {{6}},
    "InvocationEventType": "HANGUP",
    "ActionData": {
        "Type": "ReceiveDigits",
        "Parameters": {
            "CallId": "{{call-id-2}}",
            "ParticipantTag": "LEG-B"
        }
    },
    "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": "{{1597009588}}",
                "Status": "Connected"
            },
            {
                "CallId": "{{call-id-2}}",
                "ParticipantTag": "Leg-B",
                "To": "{{+17035550122}}",
                "From": "SMA",
                "Direction": "Outbound",
                "StartTimeInMilliseconds": "{{15010595}}",
                "Status": "Disconnected"
            }
        ]
    }
}
```