CallAndBridge - Amazon Chime SDK

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CallAndBridge

PSTN 전화번호 또는 Amazon Chime SDK Voice Connector나 Amazon Chime SDK Voice Connector 그룹으로 구성된 SIP 트렁크에 대한 아웃바운드 통화를 생성한 다음 기존 통화 레그와 연결합니다. 전화번호로 전화를 걸 때 PSTN을, SIP 트렁크에 전화를 걸 때 AWS를 사용합니다.

기존 콜 레그는 CreateSIPMediaApplicationCallAPI를 사용하여 생성한 아웃바운드 콜 레그이거나 이벤트와 함께 AWS Lambda 함수를 호출하는 SIP 규칙에 의해 생성된 인바운드 레그일 수 있습니다. NewInboundCall Voice Connector 또는 Voice Connector 그룹 엔드포인트에 CallAndBridge 작업을 구현할 때는 Voice Connector 또는 Voice Connector 그룹의 Amazon 리소스 번호(ARN)를 지정해야 합니다.

아웃바운드 통화 레그 및 기능에 사용자 지정 SIP 헤더를 추가할 수도 있습니다. AWS Lambda 사용자 지정 헤더를 사용하면 층수 및 우편번호와 같은 값을 전달할 수 있습니다. 사용자 지정 헤더에 대한 내용은 SIP 헤더 사용 섹션을 참조하세요.

다음 예제 코드는 PSTN 엔드포인트에 연결하는 일반적인 작업을 보여줍니다.

{ "SchemaVersion": "1.0", "Actions": [{ "Type": "CallAndBridge", "Parameters": { "CallTimeoutSeconds": 30, "CallerIdNumber": "e164PhoneNumber", // required "Endpoints": [{ "BridgeEndpointType": "PSTN", // required "Uri": "e164PhoneNumber", // required }], } } ] }

다음 예제는 Voice Connector 또는 Voice Connector 그룹과 사용자 지정 SIP 헤더를 사용하는 일반적인 작업을 보여줍니다.

{ "SchemaVersion":"1.0", "Actions":[ { "Type":"CallAndBridge", "Parameters":{ "CallTimeoutSeconds":30, "CallerIdNumber": "e164PhoneNumber", // required "RingbackTone": { // optional "Type": "S3", "BucketName": "s3_bucket_name", "Key": "audio_file_name" }, "Endpoints":[ { "BridgeEndpointType":"AWS", // enum type, required "Arn":"arn:aws:chime:us-east-1:0123456789101:vc/abcdefg1hijklm2nopq3rs" //VC or VCG ARN, required for AWS endpoints "Uri":"ValidString", // required, see description below } ], "SipHeaders": { "x-String":"String" } } } ] }
CallTimeoutSeconds

설명 - 통화가 시간 제한을 초과하기 전까지의 간격입니다. 타이머는 통화 설정에서 시작됩니다.

허용된 값 - 1 이상 120 이하

필수 - 아니요

기본값 - 30

CallerIdNumber

설명 - 고객 소유의 번호 또는 A 레그의 발신 번호

허용된 값 - E.164 형식의 유효한 전화번호

필수 - 예

기본값 – 없음

Endpoints

설명 - 통화의 엔드포인트입니다.

허용된 값:

  • BridgeEndpointType - Voice Connector 및 Voice Connector 그룹의 경우 AWS, 그 외에는 PSTN입니다.

  • Arn - Voice Connector 또는 Voice Connector 그룹의 ARN입니다. AWSBridgeEndpointType으로 사용하는 경우에만 필요합니다.

  • Uri - URI 값은 엔드포인트 유형에 따라 달라집니다.

    PSTN 엔드포인트의 경우 URI는 유효한 E.164 전화번호여야 합니다.

    AWS 엔드포인트의 경우 URI 값이 Request-URIuser 부분을 설정합니다. Augmented Backus-Naur Format을 사용해야 합니다. 필요 길이: 1 이상 30 이하. 값은 a-z, A-Z, 0-9, &, =, +, $, /, %, -, _, !, ~, *, (,), (.)을 사용합니다.

    Request-URI의 호스트 값은 대상 Voice Connector의 인바운드 경로에서 파생됩니다. 다음 예제는 AWS 엔드포인트가 있는 CallAndBridge 작업을 보여줍니다.

    { "SchemaVersion":"1.0", "Actions":[ { "Type":"CallAndBridge", "Parameters":{ "CallTimeoutSeconds":30, "CallerIdNumber": "+18005550122", "Endpoints":[ { "BridgeEndpointType":"AWS", "Arn":"arn:aws:chime:us-east-1:0123456789101:vc/abcdefg1hijklm2nopq3rs", "Uri":"5550" } ], "SipHeaders": { "x-String":"String" } } } ] }

    인바운드 경로 및 Voice Connector에 대한 자세한 내용은 Editing Amazon Chime SDK Voice Connector settings를 참조하세요.

필수 - 예

기본값 – 없음

SipHeaders

설명- 추가 값을 전달할 수 있도록 합니다. AWS 엔드포인트 유형에만 사용합니다.

허용된 값 - 유효한 SIP 헤더

필수 - 아니요

기본값 – 없음

다음 예제는 PSTN 엔드포인트를 사용하는 성공적인 CallAndBridge 작업을 보여줍니다.

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "CallAndBridge", "Parameters": { "CallTimeoutSeconds": 30, "CallerIdNumber": "e164PhoneNumber", "Endpoints":[ { "BridgeEndpointType": "PSTN", "Uri": "e164PhoneNumber" } ], "CallId": "call-id-1" } }, "CallDetails":{ ..... ..... "Participants":[ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", ..... "Status": "Connected" }, { "CallId": "call-id-2", "ParticipantTag": "LEG-B", ..... "Status": "Connected" } ] } }

다음은 예제는 실패한 CallAndBridge 작업을 보여줍니다.

{ "SchemaVersion": "1.0", "Sequence":2, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "CallAndBridge", "Parameters":{ "CallTimeoutSeconds": 30, "CallerIdNumber": "e164PhoneNumber", "Endpoints": [ { "BridgeEndpointType": "PSTN", "Uri": "e164PhoneNumber" } ], "CallId": "call-id-1" }, "ErrorType": "CallNotAnswered", "ErrorMessage": "Call not answered" }, "CallDetails":{ ..... ..... "Participants":[ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", ..... } ] } }

통화 흐름

CallAndBridge 작업은 레그 연결 여부 및 파라미터에 따라 기존 통화 레그에 다른 통화 신호 및 오디오 경험을 제공합니다.

다음 다이어그램은 인바운드 통화 레그 A가 이미 연결되어 있을 때 다양한 파라미터를 사용하는 통화 흐름을 보여줍니다.

CallAndBridge 작업을 통하는 응답한 통화의 흐름입니다.

다음 다이어그램은 응답하지 않은 통화의 통화 흐름을 보여줍니다.

응답하지 않은 통화가 CallAndBridge 액션을 통해 전달되는 흐름입니다.
추가 세부 정보

CallAndBridge 작업에 관한 다음 사실을 유념하세요.

  • CallTimeoutSeconds— 이 타이머는 B-Leg 상에서 SIP 초대장이 전송될 때 시작됩니다. 원하는 대상 값을 설정할 수 있지만 업스트림 캐리어에서는 이 값을 무시할 수 있습니다.

  • CallerIdNumber— 이 전화번호는 고객의 전화번호이거나 A-Leg 발신번호여야 합니다.

  • 끊는 행동 및 엣지 케이스 - 한 통화 레그가 끊기더라도 다른 쪽 통화 레그는 자동으로 전화를 끊지 않습니다. Hangup이벤트가 AWS Lambda 함수로 전송되면 나머지 레그는 독립적으로 연결을 끊어야 합니다. 통화 레그가 계속 걸려 있는 경우 끊길 때까지 통화 요금이 청구됩니다. 예를 들어 다음 시나리오에서는 예상치 못한 요금이 부과될 수 있습니다.

    • 대상 전화번호로 연결하려고 합니다. 대상이 통화 중이고 전화를 바로 음성 메일로 보냅니다. 오디오 서비스의 관점에서 보면 음성 메일로 가는 것은 전화를 받는 것과 같습니다. A 레그는 전화를 끊지만 B 레그는 계속해서 음성 메일 메시지를 수신합니다. B 레그가 수신하는 동안에는 요금이 청구됩니다.

    • 가장 좋은 방법은 AWS Lambda 함수 또는 통화의 상대방을 사용하여 각 콜 레그를 개별적으로 끊는 것입니다.

  • 청구 - CallAndBridge 사용 시 요금은 다음과 같이 청구됩니다.

    • PSTN에 생성된 각 통화 레그(A 레그, B 레그 등)에 대한 활성 통화 시간(분)

    • 오디오 서비스 사용 시간(분)

다음 작업 예를 참조하십시오 GitHub.