

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

# Hangup
<a name="hangup"></a>

向调用的一个分支发送带有 `SipStatusCode` 的 `Hangup` 值。

当音频服务运行调用分支上的 `Hangup` 操作时：
+ 对于只有一个呼叫段的呼叫，SIP 媒体应用程序使用`HANGUP`事件调用该 AWS Lambda 函数并忽略响应。然后，调用将断开。
+ 对于桥接到另一个调用分支（分支 B）的调用分支（分支 A），如果 `Hangup` 操作与桥接调用分支（分支 B）相关联，则 PSTN 音频服务会断开桥接调用分支，然后使用分支 B 的 `HANGUP` 的事件调用 Lambda 函数。然后，PSTN 音频服务会运行从该 Lambda 调用返回的所有操作。
+ 对于桥接到另一个调用分支（分支 B）的调用分支（分支 A），如果 `Hangup` 操作与初始调用分支（分支 A）相关联，则 PSTN 音频服务会断开初始调用分支，然后使用分支 A 的 `HANGUP` 事件调用 Lambda 函数。然后，PSTN 音频服务会运行从该 Lambda 调用返回的所有操作。
+ 对于使用 `JoinMeeting` 操作加入会议的调用分支，如果 `Hangup` 操作与会议分支（通常是分支 B）相关联，则调用方将断开与会议的连接并收到该 `Hangup` 操作的 `ACTION_SUCCESSFUL` 事件。

以下示例显示典型的 `Hangup` 操作。

```
{
    "Type": "Hangup",
    "Parameters": {
        "CallId": "{{call-id-1}}",
        "ParticipantTag": "LEG-A",
        "SipResponseCode": "0"
    }
}
```

**CallId**  
*描述* — `CallId` AWS Lambda 函数调用`CallDetails`中的参与者  
*允许的值* — 有效的调用 ID  
*必填* — 否  
*默认值* – 无

**ParticipantTag**  
*描述* — `CallDetails` 中一个已连接参与者的 `ParticipantTag`  
*允许的值* — `LEG-A` 或 `LEG-B`  
*必填* — 否  
*默认值* — 已调用 `callLeg` 的 `ParticipantTag`，如指定 `CallId`，则忽略该值

**SipResponseCode**  
*描述* — 任何受支持的 SIP 响应代码  
*允许值* — 480 — 不可用；486 — 占线；0 — 正常终止  
*必填* — 否  
*默认值* — 0

用户结束通话后，SIP 媒体应用程序使用中列出的代码调用 AWS Lambda 函数。[使用 Amazon Chime SDK PSTN 音频服务结束呼叫](case-5.md)

参见以下方面的工作示例 GitHub：
+ [https://github.com/aws-samples/amazon-chime-sma-bridging](https://github.com/aws-samples/amazon-chime-sma-bridging)
+ [https://github.com/aws-samples/amazon-chime-sma-call-forwarding](https://github.com/aws-samples/amazon-chime-sma-call-forwarding)
+ [https://github.com/aws-samples/amazon-chime-sma-outbound-call-notifications](https://github.com/aws-samples/amazon-chime-sma-outbound-call-notifications)
+ [https://github.com/aws-samples/amazon-chime-sma-on-demand-recording](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)