StartCallRecording - Amazon Chime SDK

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

StartCallRecording

StartCallRecording 작업은 통화 레그의 녹음을 시작합니다. 온디맨드 또는 SIP 이벤트에 대한 응답으로 SIP 미디어 애플리케이션에서 통화 녹음을 시작합니다.

  • 통화의 온디맨드 녹음을 시작하려면 UpdateSipMediaApplication API를 사용하여 애플리케이션을 간접 호출하고 StartCallRecording 작업을 반환합니다.

  • SIP 이벤트에 대한 응답으로 통화 녹음을 시작하려면 애플리케이션에서 StartCallRecording 작업을 반환합니다.

수신 레그, 발신 레그 또는 모두에 대해 오디오 트랙을 녹음할지 여부를 지정합니다. 다음 섹션에서는 StartCallRecording 작업을 사용하는 방법을 설명합니다.

참고

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

조치 요청 StartCallRecording

다음 예제는 BOTH 트랙의 StartCallRecording 작업을 요청하는 방법을 보여줍니다.

{ "Version": "2012-10-17", "Statement": [ { "Type": "StartCallRecording", "Parameters": { "CallId": "call-id-1", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name-and-optional-prefix" } } } ] }
CallId

설명 — AWS Lambda 함수 호출 CallId CallDetails 참여자의 설명

허용된 값 - 유효한 통화 ID

필수 - 예

기본값 – 없음

Track

설명 - 통화 녹음의 오디오 Track입니다.

허용된 값 - BOTH, INCOMING 또는 OUTGOING

필수 - 예

기본값 – 없음

Destination.Type

설명 - 대상 유형입니다. Amazon S3만 허용됩니다.

허용된 값 - Amazon S3

필수 - 예

기본값 – 없음

Destination.Location

설명 - 유효한 Amazon S3 버킷과 선택 사항인 Amazon S3 키 접두사입니다. 버킷에는 Amazon Chime SDK Voice Connector 서비스 보안 주체인 voiceconnector.chime.amazonaws.com에 대한 권한이 있어야 합니다.

허용된 값 - Amazon Chime SDK가 s3:PutObjects3:PutObjectAcl 작업에 대한 권한을 가진 유효한 Amazon S3 경로

필수 - 예

기본값 – 없음

녹음 대상 지정

Amazon Chime SDK는 Amazon S3 버킷으로 통화 녹음을 전송합니다. 버킷은 사용자 AWS 계정에 속해야 합니다. StartCallRecording 작업의 Destination 파라미터에 버킷의 위치를 지정합니다. Destination 파라미터의 Type 필드는 S3이어야 합니다. Location 필드는 Amazon S3 버킷과 선택 사항인 통화 녹음이 전달되는 객체 키 접두사로 구성됩니다.

SIP 미디어 애플리케이션은 지정된 Location, 통화 레그의 날짜 및 시간, 트랜잭션 ID, 통화 ID를 사용하여 Amazon S3 객체 키의 형식을 지정합니다. StartCallRecording 작업 응답은 전체 Amazon S3 객체 키를 반환합니다.

Location 필드에 Amazon S3 버킷만 제공하는 경우 SIP 미디어 애플리케이션은 Amazon S3 경로에 기본 접두사인 Amazon-Chime-SMA-Call-Recordings를 추가합니다. 또한 SIP 미디어 애플리케이션은 통화 시작 시간의 연, 월, 일을 추가하여 녹음을 정리하는 데 도움이 됩니다. 다음 예제는 기본 접두사를 포함한 Amazon S3 경로의 일반 형식을 보여줍니다. 이 예제에서는 myRecordingBucketLocation 값으로 사용합니다.

myRecordingBucket/Amazon-Chime-SMA-Call-Recordings/2019/03/01/2019–03–01–17–10–00–010_c4640e3b–1478–40fb-8e38–6f6213adf70b_7ab7748e–b47d–4620-ae2c–152617d3333c.wav

다음 예제는 통화 녹음 Amazon S3 경로에 표시된 데이터를 보여줍니다.

s3Bucket/Amazon-Chime-SMA-Call-Recordings/year/month/date/year-month-date-hour-minute-second-millisecond_transactionId_callId.wav

Amazon S3 버킷과 객체 키 접두사를 Location 필드에 입력하면 SIP 미디어 애플리케이션은 기본 접두사 대신 대상 Amazon S3 경로의 객체-키 접두사를 사용합니다. 다음 예제는 접두사를 포함한 통화 녹음 Amazon S3 경로의 일반 형식을 보여줍니다. 예를 들어 myRecordingBucket /technicalSupport/English를 로 지정할 수 있습니다. Location

myRecordingBucket/technicalSupport/english/2019/03/01/2019–03–01–17–10–00–010_c4640e3b1478–40fb–8e38-6f6213adf70b_7ab7748e–b47d–4620–ae2c–152617d3333c.wav

다음 예제는 Amazon S3 경로의 데이터를 보여줍니다.

s3Bucket/yourObjectKeyPrefix/year/month/date/year-month-date-hour-minute-second-millisecond_transactionId_callId.wav

Amazon S3 버킷으로 전송된 녹음에는 통화 레그에 대한 추가 Amazon S3 객체 메타데이터가 포함되어 있습니다. 다음 표에는 지원되는 Amazon S3 객체 메타데이터가 나와 있습니다.

명칭 설명

transaction-id

전화 통화의 트랜잭션 ID

call-id

CallId 함수 호출에 참여한 참가자의 CallDetails AWS Lambda

recording-duration

통화 녹음 기간(초)

recording-audio-file-format

인터넷 미디어 유형으로 표시된 통화 녹음 오디오 파일 형식

Amazon S3 버킷 권한 부여

대상 Amazon S3 버킷은 애플리케이션과 동일한 AWS 계정에 속해야 합니다. 또한 작업은 Amazon Chime SDK Voice Connector 서비스 보안 주체인 voiceconnector.chime.amazonaws.coms3:PutObjects3:PutObjectAcl 권한을 부여해야 합니다. 다음 예제는 적절한 권한을 부여합니다.

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

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SIP media applicationRead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "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" } } } ] }

작업 성공 응답

콜 레그에서 통화 녹음이 성공적으로 시작되면 SIP 미디어 애플리케이션은 ACTION_SUCCESSFUL 이벤트 유형을 사용하여 AWS Lambda 함수를 호출합니다. 통화 녹음 위치가 응답으로 반환됩니다.

{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type" : "StartCallRecording", "Parameters": { "CallId": "call-id-1", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name" } } "CallRecordingDestination": { "Type": "S3", "Location": "call-recording-bucket-and-key" } } "CallDetails": { ... } }

작업 오류 응답

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

Error 메시지 이유

InvalidActionParameter

CallId parameter for action is invalid

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

SystemException

System error while running an action.

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

작업이 통화 레그에서 미디어 녹음을 실패하면 SIP 미디어 애플리케이션은 ActionFailed 이벤트 유형의 AWS Lambda 함수를 간접 호출합니다.

다음 예제는 일반적인 오류 응답을 보여줍니다.

{ "SchemaVersion": "1.0", "Sequence": 5, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type" : "StartCallRecording", "Parameters": { "CallId": "call-id-1", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name" } } "Error": "NoAccessToDestination: Error while accessing destination" } "CallDetails": { ... } }

다음 예제를 참조하십시오 GitHub. https://github.com/aws-samples/ amazon-chime-sma-on -demand-recording