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 함수 호출에CallDetails 참여한CallId 참가자의 정보

허용된 값 — 유효한 통화 ID

필수 — 예

기본값 – 없음

트랙

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

허용되는 값BOTHINCOMING, 또는OUTGOING

필수 — 예

기본값 – 없음

목적지. 유형

설명 — 목적지 유형. Amazon S3만 허용됩니다.

허용되는 값 — Amazon S3

필수 — 예

기본값 – 없음

목적지. 위치

설명 — 유효한 Amazon S3 버킷과 선택적 Amazon S3 key prefix. 버킷에는 Amazon Chime SDK 음성 커넥터 서비스 주체인 voiceconnector.chime.amazonaws.com에 대한 권한이 있어야 합니다.

허용되는 값 — Amazon Chime SDK가s3:PutObjects3:PutObjectAcl 작업에 대한 권한을 가지고 있는 유효한 Amazon S3 경로입니다.

필수 — 예

기본값 – 없음

기록 대상 지정 대상 지정

Amazon Chime SDK 이벤트 로그 기록을 전달합니다. 버킷은AWS 계정에 속해야 합니다. StartCallRecording작업의Destination 파라미터에 버킷의 위치를 지정합니다. Destination매개변수의Type 필드는 이어야 합니다S3. Location필드는 Amazon S3 버킷과 통화 녹음이 전송되는 선택적 객체 key prefix 구성됩니다.

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

Location필드에 Amazon S3 버킷과 객체 key prefix 입력하면 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 객체 메타데이터가 나열되어 있습니다.

이름 설명

트랜잭션 ID

전화 통화의 거래 ID입니다.

콜-아이디

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

기록 지속 시간 기록 지속 시간 기록 기간

통화 녹음 시간 (초)

recording-audio-file-format

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

Amazon S3 버킷의 권한 부여

대상 Amazon S3 버킷은 애플리케이션과 동일한AWS 계정에 속해야 합니다. 또한 작업을 수행하려면 Amazon Chime SDK 음성 커넥터 서비스 주체 () 에게s3:PutObjectAcl 권한을s3:PutObject 부여하고 권한을 부여해야voiceconnector.chime.amazonaws.com 합니다. 다음 예제에서는 적절한 권한을 부여합니다.

{ "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 함수를 호출합니다. 다음 표에는 오류 메시지가 나열되어 있습니다.

오류 메시지 이유

InvalidActionParameter

CallId동작 매개변수가 잘못되었습니다.

모든 파라미터가 잘못되었습니다.

SystemException

작업 실행 중 시스템 오류가 발생했습니다.

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

작업이 콜 레그에 미디어를 기록하지 못하면 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": { ... } }

GitHubhttps://github.com/aws-samples/amazon-chime-sma-on -디맨드 레코딩 에서 작동 예제를 확인하세요.