本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Chime SDK PSTN 音频服务进行出站呼叫
要创建出站呼叫,您可以使用 CreateSipMediaApplicationCall API。API 调用指定 SIP media application ID 的终端节点。客户可以通过从端点提供不同的信令和 SipMediaApplication 操作来控制呼叫流程。
如果成功响应,API 会返回 202 http 状态码以及 transactionId,您可以将其与 UpdateSipMediaApplicationCall API 一起使用来更新正在进行的呼叫。
下图显示了出站呼叫对 AWS Lambda 函数端点进行的调用。
针对出站呼叫的不同状态调用为 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": "+1xxxx", "From": "+1xxxxxxx", "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": "+1xxxx", "From": "+1xxxxxxx", "Direction": "Outbound", "StartTimeInMilliseconds": "159700958834234" } ] } }
任何与事件相关的 AWS Lambda 调用的响应都将被忽略。
如果接收器没有应答呼叫,或者由于错误导致呼叫失败,Chime 会断开呼叫并使用 Hangup 事件类型调用终端节点。有关 Hangup 事件类型的更多信息,请参阅 使用 Amazon Chime SDK PSTN 音频服务结束呼叫。
如果呼叫得到应答,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": "+1xxxx", "From": "+1xxxxxxx", "Direction": "Outbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" } ] } }
此时,您可以通过使用操作列表响应调用来返回操作。如果不希望执行任何操作,则使用空列表来响应。对于每次调用,您最多可以使用 10 个操作进行响应,并且每次 AWS Lambda 调用可以调用 Lambda 函数 1,000 次。有关使用操作集进行响应的更多信息,请参阅 使用 Amazon Chime SDK PSTN 音频服务通过操作列表响应调用。