PlayAudio - Amazon Chime SDK

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

PlayAudio

통화 레그에서 오디오 파일을 재생합니다. 오디오는 여러 번 반복될 수 있습니다. PlaybackTerminators에 설정된 DTMF 숫자를 사용하여 진행 중인 오디오를 종료할 수 있습니다.

현재 Amazon Chime SDK는 Amazon Simple Storage Service(S3) 버킷의 오디오 파일 재생만 지원합니다. S3 버킷은 SIP 미디어 애플리케이션과 동일한 AWS 계정에 속해야 합니다. 또한 Amazon Chime SDK Voice Connector 서비스 보안 주체에 s3:GetObject 권한을 부여해야 합니다. S3 콘솔 또는 명령줄 인터페이스(CLI)를 사용하여 이를 수행할 수 있습니다.

다음 예제 코드는 일반적인 버킷 정책을 보여줍니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id" } } } ] }

오디오 서비스는 SIP 미디어 애플리케이션을 대신하여 S3 버킷을 읽고 씁니다. 혼동된 대리자 문제를 피하기 위해 S3 버킷 액세스를 단일 SIP 미디어 애플리케이션으로 제한할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id", "aws:SourceArn": "arn:aws:chime:region:aws-account-id:sma/sip-media-application-id" } } } ] }

다음은 예제는 일반적인 작업을 보여줍니다.

{ "Type": "PlayAudio", "Parameters": { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "PlaybackTerminators": ["1", "8", "#"], "Repeat": "5", "AudioSource": { "Type": "S3", "BucketName": "valid-S3-bucket-name", "Key": "wave-file.wav" } } }
CallID

설명 - CallDetails에서 참가자의 CallId입니다.

허용된 값 - 유효한 호출 ID

필수 - 아니요(ParticipantTag가 있는 경우)

기본값 – 없음

ParticipantTag

설명 - CallDetails의 연결된 참가자 중 한 명의 ParticipantTag입니다.

허용된 값LEG-A 또는 LEG-B

필수 - 아니요(CallId가 있는 경우)

기본값 - 간접 호출된 callLegParticipantTag. CallId를 지정한 경우 무시됩니다.

PlaybackTerminator

설명 - 사용자의 DTMF 입력을 사용하여 진행 중인 오디오를 종료합니다.

허용된 값 - 다음 값의 배열: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “#”, “*”

필수 - 아니요

기본값 – 없음

Repeat

설명 - 오디오를 지정된 횟수만큼 반복합니다.

허용된 값 - 0보다 큰 정수

필수 - 아니요

기본값 – 1

AudioSource.Type

설명 - 오디오 파일에 대한 소스 유형입니다.

허용된 값 - S3

필수 - 예

기본값 – 없음

AudioSource.BucketName

설명 — S3 소스 유형의 경우 S3 버킷은 SIP 애플리케이션과 동일한 AWS 계정에 속해야 합니다. 버킷에는 Amazon Chime SDK Voice Connector 서비스 보안 주체인 voiceconnector.chime.amazonaws.com에 대한 액세스 권한이 있어야 합니다.

허용된 값 - Amazon Chime SDK가 s3:GetObject 작업에 대한 액세스 권한을 가진 유효한 S3 버킷

필수 - 예

기본값 – 없음

AudioSource.key

설명 - S3 소스 유형의 경우 AudioSource.BucketName 속성에 지정된 S3 버킷의 파일 이름입니다.

허용된 값 - 유효한 오디오 파일

필수 - 예

기본값 – 없음

SIP 미디어 애플리케이션은 소스 URL에서 오디오를 재생하려고 합니다. 크기가 50MB 이하인 압축되지 않은 원시 PCM .wav 파일을 사용할 수 있습니다. Amazon Chime SDK는 8kHz 모노를 권장합니다.

다이얼플랜의 마지막 명령이 PlayAudio 이고 파일 재생이 완료되거나 사용자가 키를 눌러 재생을 중지하면 애플리케이션은 다음 예와 같은 이벤트와 함께 AWS Lambda 함수를 호출합니다.

{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "valid-S3-bucket-name", "Key": "wave-file.wav", } } }

종료 숫자가 오디오를 멈춘 후에는 오디오가 반복되지 않습니다.

오류 처리

검증 파일에 오류가 있거나 작업을 실행하는 동안 오류가 발생하면 SIP 미디어 응용 프로그램은 적절한 오류 코드를 사용하여 AWS Lambda 함수를 호출합니다.

Error 메시지 이유

InvalidAudioSource

The audio source parameter is invalid.

여러 가지 이유로 이 오류가 발생할 수 있습니다. 예를 들어 권한 문제 또는 URL 관련 문제로 인해 SIP 미디어 애플리케이션이 파일에 액세스할 수 없습니다. 또한 형식, 길이, 크기 등으로 인해 오디오 파일이 검증에 실패할 수 있습니다.

SystemException

System error while running action.

작업을 실행하는 동안 다른 시스템 오류가 발생했습니다.

InvalidActionParameter

CallId 또는 작업 ParticipantTag 매개 변수가 잘못되었습니다.

작업에 유효하지 않은 파라미터가 있습니다.

다음 예제 코드에서는 일반적인 간접 호출 실패를 보여줍니다.

{ "SchemaVersion": "1.0", "Sequence": 2, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file.wav" }, }, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." } "CallDetails": { ... } }

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