View a markdown version of this page

了解 Amazon Chime SDK PSTN 音訊服務的電話語音事件 - Amazon Chime SDK

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

了解 Amazon Chime SDK PSTN 音訊服務的電話語音事件

當通話期間發生特定事件時,Audio Service 會叫用您的 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 調用的事件類型。如需詳細資訊,請參閱本主題後面部分的 Event types (事件類型)

CallDetails

與 AWS Lambda 調用相關聯的呼叫資訊。

TransactionId

與 AWS Lambda 呼叫相關聯的呼叫 ID。

AwsAccountId

與導致通話轉接的 SIP 媒體應用程式相關聯的 AWS 帳戶 ID。

SipMediaApplicationId

與呼叫相關聯的 SIP 媒體應用程式的 ID。

Participants

叫用 AWS AWS Lambda 函數之通話參與者的相關資訊。

CallId

指派給每個參與者的唯一 ID。

ParticipantTag

每個通話參與者都會取得標籤 LEG-ALEG-B

To

參與者「收件人」電話號碼,格式為 E.164。

From

參與者「寄件人」電話號碼,格式為 E.164。

Direction

呼叫腿的來源方向。 Inbound代表對音訊服務的呼叫。 Outbound代表從音訊服務發出的呼叫。

StartTimeInMilliseconds

以毫秒為單位的 epoch 時間,從參與者加入通話開始。

Status

參與者是 Connected還是 Disconnected

Event types (事件類型)

Audio Service 會使用下列事件類型叫用 Lambda 函數:

NEW_INBOUND_CALL

與您的 SIP 媒體應用程式相關聯的電話號碼已啟動新呼叫。

NEW_OUTBOUND_CALL

已透過 CreateSipMediaApplicationCall 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 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

Audio Service 已接聽來電。除非呼叫橋接,否則此事件會在撥出呼叫時傳回。

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 API 已叫用。ActionData 包含更新請求的相關資訊:

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

通話分支正在響鈴