

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon Chime SDK PSTN 音訊服務進行外撥通話
<a name="use-create-call-api"></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 media application ID`。客戶可以透過提供與端點不同的訊號和[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_SipMediaApplication.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_SipMediaApplication.html)動作來控制通話流程。

如果成功回應，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 函數端點發出的呼叫。

![圖表顯示對 AWS Lambda 端點發出的調用程式設計流程。](http://docs.aws.amazon.com/zh_tw/chime-sdk/latest/dg/images/sip-api-1.png)


針對 SIP 媒體應用程式設定的端點會針對撥出通話的不同狀態調用。當客戶起始呼叫時，Amazon Chime SDK 會使用`NEW_OUTBOUND_CALL`呼叫事件類型叫用端點。

此範例顯示 的典型調用事件`NEW_OUTBOUND_CALL`。

```
{
    "SchemaVersion": "1.0",
        "Sequence": 1,
        "InvocationEventType": "NEW_OUTBOUND_CALL",
        "CallDetails": {
            "TransactionId": "{{transaction-id}}",
            "AwsAccountId": "{{aws-account-id}}",
            "AwsRegion": "us-east-1",
            "SipApplicationId": "{{sip-application-id}}",
            "Participants": [
                {
                    "CallId": "{{call-id-1}}",
                    "ParticipantTag": "LEG-A",
                    "To": "+1{{xxxx}}",
                    "From": "+1{{xxxxxxx}}",
                    "Direction": "Outbound",
                    "StartTimeInMilliseconds": "{{159700958834234}}"
                }
            ]
    }
}
```

會忽略事件相關調 AWS Lambda 用的任何回應。

當我們收到接收者的`RINGING`通知時，Amazon Chime SDK 會再次叫用設定的端點。

此範例顯示 的典型調用事件`RINGING`。

```
{
    "SchemaVersion": "1.0",
        "Sequence": 1,
        "InvocationEventType": "RINGING",
        "CallDetails": {
            "TransactionId": "{{transaction-id}}",
            "AwsAccountId": "{{aws-account-id}}",
            "AwsRegion": "us-east-1",
            "SipApplicationId": "{{sip-application-id}}",
            "Participants": [
                {
                    "CallId": "{{call-id-1}}",
                    "ParticipantTag": "LEG-A",
                    "To": "+1{{xxxx}}",
                    "From": "+1{{xxxxxxx}}",
                    "Direction": "Outbound",
                    "StartTimeInMilliseconds": "{{159700958834234}}"
                }
           ]
    }
}
```

會忽略事件相關調 AWS Lambda 用的任何回應。

如果接收者未接聽通話，或通話因錯誤而失敗，Chime 會中斷通話，並使用`Hangup`事件類型叫用端點。如需`Hangup`事件類型的詳細資訊，請參閱 [使用 Amazon Chime SDK PSTN 音訊服務結束通話](case-5.md)。

如果通話已接聽，Chime 會使用 `CALL_ANSWERED`動作叫用端點。此範例顯示典型的調用事件。

```
{
  "SchemaVersion": "1.0",
    "Sequence": 1,
    "InvocationEventType": "CALL_ANSWERED",
    "CallDetails": {
        ""TransactionId": "{{transaction-id}}",
            "AwsAccountId": "{{aws-account-id}}",
            "AwsRegion": "us-east-1",
            "SipApplicationId": "{{sip-application-id}}",
            "Participants": [
                {
                    "CallId": "{{call-id-1}}",
                    "ParticipantTag": "LEG-A",
                    "To": "+1{{xxxx}}",
                    "From": "+1{{xxxxxxx}}",
                    "Direction": "Outbound",
                    "StartTimeInMilliseconds": "{{159700958834234}}",
                "Status": "Connected"
            }
        ]
    }
}
```

此時，您可以使用動作清單回應調用，以傳回動作。如果您不想執行任何動作，請以空白清單回應。您每次 AWS Lambda 呼叫最多可以回應 10 個動作，而且每次呼叫可以叫用 Lambda 函數 1，000 次。如需使用一組動作回應的詳細資訊，請參閱 [使用 Amazon Chime SDK PSTN 音訊服務以動作清單回應調用](invoke-on-call-leg.md)。