Amazon Chime SDK PSTN 오디오 서비스의 텔레포니 이벤트에 대한 이해
오디오 서비스는 통화 중에 특정 이벤트가 발생하는 경우 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 간접 호출을 트리거하는 이벤트 유형입니다. 자세한 내용은 본 주제의 후반부에서 이벤트 유형을 참조하세요.
- CallDetails
-
AWS Lambda 간접 호출과 관련된 통화에 대한 정보입니다.
- TransactionId
-
AWS Lambda 간접 호출과 관련된 통화의 ID입니다.
- AwsAccountId
-
통화 라우팅을 수행한 SIP 미디어 애플리케이션과 관련된 AWS 계정 ID입니다.
- SipMediaApplicationId
-
통화와 관련된 SIP 미디어 애플리케이션의 ID입니다.
- Participants
-
AWS AWS Lambda 함수를 간접 호출하는 통화의 참가자에 대한 정보입니다.
- CallId
-
각 참가자에게 할당한 고유 ID입니다.
- ParticipantTag
-
각 통화 참가자는
LEG-A
또는LEG-B
태그를 받습니다. - To
-
E.164 형식의 참가자 ‘착신’ 전화번호입니다.
- From
-
E.164 형식의 참가자 착신 전화번호입니다.
- Direction
-
통화 레그의 발신 방향입니다.
Inbound
는 오디오 서비스에 걸려온 통화를 나타냅니다.Outbound
는 오디오 서비스에서 걸려온 통화를 나타냅니다. - StartTimeInMilliseconds
-
참가자가 통화에 참여할 때부터 시작되는 epoch 시간(밀리초)입니다.
- Status
-
참가자가
Connected
또는Disconnected
인지 여부입니다.
이벤트 유형
오디오 서비스는 다음과 같은 이벤트 유형으로 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
-
Hangup
- Parameters
-
HANGUP
이벤트에 대한 정보입니다.-
SipResponseCode – 이벤트와 관련된 응답 코드입니다. 가장 일반적인 코드는 다음과 같습니다.
-
0 - 일반적인 지우기
-
480 – 응답 없음
-
486 - 사용자 사용 중
-
-
CallId 전화를 끊은 참가자의 ID입니다.
-
ParticipantTag 전화를 끊은 참가자의 태그입니다.
-
- CALL_ANSWERED
-
오디오 서비스가 걸려오는 전화에 응답했습니다. 통화가 연결되지 않는 한 이 이벤트를 다이얼 아웃 통화에 반환합니다.
- 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
-
통화 레그가 울리고 있습니다.