RecordAudio - Amazon Chime SDK

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

RecordAudio

SIP 미디어 애플리케이션이 주어진 통화 ID의 미디어를 녹음할 수 있도록 합니다. 예를 들어 음성 메일 애플리케이션 및 회의 참가자 알림이 있습니다. 애플리케이션은 설정한 기간에 도달하거나, 사용자가 RecordingTerminators 중 하나를 누르거나, 애플리케이션이 무음을 감지할 때까지 녹음합니다. 이러한 경우 작업은 애플리케이션에 결과 미디어 파일을 지정된 S3 버킷에 저장하라고 지시합니다. S3 버킷은 SIP 미디어 애플리케이션과 동일한 AWS 계정에 속해야 합니다. 또한 이 작업은 Amazon Chime SDK 음성 커넥터 서비스 주체인 Amazon Chime SDK 음성 커넥터 서비스 보안 주체에게 s3:PutObjectAcl 권한을 s3:PutObject 부여하고 권한을 부여해야 합니다. voiceconnector.chime.amazonaws.com

참고

이 기능을 사용하여 녹음한 경우 전자 통신 녹음에 관한 법률 또는 규정이 적용될 수 있습니다. 녹음에 관한 모든 관련 법률을 준수하는 것은 귀하와 최종 사용자의 책임입니다. 여기에는 세션 또는 통신이 녹음되고 있다는 사실을 녹음된 세션의 모든 참가자에게 적절하게 알리고 동의를 구하는 것도 포함됩니다.

다음 예제는 Amazon Chime SDK Voice Connector 서비스 보안 주체에 s3:PutObjects3:PutObjectAcl 권한을 부여합니다.

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

다음 예제는 발신자가 우물 정자 키(#)를 누르거나, 10초 동안 아무런 활동이 없거나, 발신자가 3초 동안 침묵을 유지한 경우 녹음을 중지하고 결과 미디어 파일을 RecordingDestination 파라미터로 정의된 위치에 작성합니다.

참고

이 예제에서는 CallId 파라미터를 사용합니다. ParticipantTag 파라미터를 대신 사용할 수는 있지만 둘 다 사용할 수는 없습니다.

{ "Type": "RecordAudio", "Parameters": { "CallId": "call-id-1", "DurationInSeconds": "10", "SilenceDurationInSeconds": 3, "SilenceThreshold": 100, "RecordingTerminators": [ "#" ], "RecordingDestination": { "Type": "S3", "BucketName": "valid-bucket-name", "Prefix": "valid-prefix-name" } } }
CallId

설명 — 함수 CallId 호출 참여자에 CallDetails 대한 설명 AWS Lambda

허용된 값 - 유효한 통화 ID

필수 - 아니요

기본값 – 없음

ParticipantTag

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

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

필수 - 아니요

기본값 - 간접 호출된 callLegParticipantTag(CallId를 지정한 경우 무시됨)

RecordingDestination.Type

설명 - 대상 유형입니다. S3만 해당됩니다.

허용된 값 - S3

필수 - 예

기본값 – 없음

RecordingDestination.BucketName

설명 - 유효한 S3 버킷 이름입니다. 버킷에는 Amazon Chime SDK Voice Connector 서비스 보안 주체voiceconnector.chime.amazonaws.com에 대한 액세스 권한이 있어야 합니다.

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

필수 - 예

기본값 – 없음

RecordingDestination.Prefix

설명 - 녹음 파일의 S3 접두사입니다.

허용된 값 - 최대 979개의 사용 가능 문자를 포함하는 유효한 접두사 이름. 사용 가능 문자에 대한 자세한 내용은 Amazon Storage Service 사용 설명서의 사용 가능 문자를 참조하세요.

필수 - 아니요

기본값 - 없음. 지정하지 않으면 녹음을 S3 버킷의 루트에 저장합니다.

DurationInSeconds

설명 - 녹음 시간(초)입니다.

허용된 값 – 0 초과

필수 - 아니요

기본값 – 없음

SilenceDurationInSeconds

설명 - 녹음이 중지되기 전의 무음 시간(초)입니다. 지정하지 않으면 무음 감지가 비활성화됩니다.

허용된 값 - [1;1000]

필수 - 아니요

기본값 - 200

SilenceThreshold

설명 - ‘무음’으로 간주되는 소음 수준입니다. SilenceDurationInSeconds를 지정하지 않으면 이 파라미터는 무시됩니다.

기준값(소음을 무음으로 처리하는 소음 수준 및 임계값):
  • 1: 30dB 이하(예: 조용한 방)

  • 100: 40~50dB(예: 귓속말 또는 조용한 사무실)

  • 200: 60dB(예: 혼잡한 사무실)

  • 1000: 75dB(예: 시끄러운 사람 또는 음악)

허용된 값 - [1;1000]

필수 - 아니요

기본값 - 200

RecordingTerminators

설명 - 사용 가능한 모든 녹음 종결자를 나열합니다.

허용되는 값 - [123456789*0#]에서 단일 숫자와 기호로 구성된 배열

필수 - 예

기본값 – 없음

ACTION_SUCCESSFUL 이벤트 처리

레코딩이 종료되면 Amazon Chime SDK SIP 미디어 애플리케이션이 AWS Lambda 함수를 호출하고 호출 결과와 함께 ACTION_SUCCESSENT 이벤트를 해당 함수에 전달합니다.

{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type" : "RecordAudio", "Parameters": { ... }, "RecordingDestination": { "Type": "S3", "BucketName": "valid-bucket-name", "Key": "valid-S3-key" }, "RecordingTerminatorUsed":"#" }, "CallDetails": { ... } }

ACTION_SUCCESSFUL 이벤트에는 다음과 같은 필드가 포함된 ActionData가 있습니다.

Type

설명 - 작업 유형인 RecordAudio입니다.

Parameters

설명 - 작업의 파라미터입니다.

RecordingDestination.Type

설명 - 대상 유형입니다. S3만 해당됩니다.

RecordingDestination.BucketName

설명 - 녹음 파일이 포함된 S3 버킷입니다.

RecordingDestination.Key

설명 - 녹음 파일의 S3 키입니다.

RecordingTerminatorUsed

설명 - 녹음을 중지하는 데 사용되는 종결자로, RecordingTerminators 파라미터에 전달된 종결자 중 하나입니다. 최대 기간(DurationInSeconds)에 도달한 후 또는 무음(SilenceDurationInSeconds)으로 인해 녹음이 중지되면 이 키-값 쌍은 출력에 포함되지 않습니다.

오류 처리

검증 오류의 경우 SIP 미디어 애플리케이션은 적절한 오류 메시지와 함께 함수를 호출합니다. AWS Lambda 다음 표에는 가능한 오류 메시지가 나열되어 있습니다.

Error 메시지 이유

InvalidActionParameter

CallId or ParticipantTag parameter for action is invalid.

DurationInSeconds parameter value is invalid.

SilenceDurationInSeconds parameter value is invalid.

SilenceThreshold parameter value is invalid.

RecordingDestination parameter value is invalid.

Error occurred while uploading recording to S3 bucket.

파라미터가 유효하지 않습니다.

SystemException

System error while running an action.

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

이벤트 처리 ACTION_FAILED

작업이 콜 레그에 미디어를 기록하지 못하면 SIP 미디어 애플리케이션은 ACTION_FAILED 이벤트 유형의 AWS Lambda 함수를 호출합니다. 다음 예를 참조하세요.

{ "SchemaVersion": "1.0", "Sequence": 5, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type" : "RecordAudio", "Parameters": { ... }, "ErrorType": "InvalidActionParameter", "ErrorMessage": "RecordingDestination parameter value is invalid." }, "CallDetails": { ... } }

https://github.com/aws-samples/ 에서 실제 예제를 참조하십시오. GitHub amazon-chime-sma-bridging