

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

# 통화 녹음 사용
<a name="sip-apps-call-record"></a>

SIP 미디어 애플리케이션의 통화 녹음 작업을 통해 다양한 용도의 통화 녹음 및 통화 후 녹음 솔루션을 구축할 수 있습니다. 예를 들어 고객 지원 통화를 녹음하여 교육에 사용할 수 있습니다.

통화 녹음 작업은 SIP 미디어 애플리케이션과 함께 사용할 수 있습니다. 작업을 온디맨드 방식으로 사용하거나 SIP 이벤트에 대한 응답으로 사용할 수도 있습니다.
+ SIP 미디어 애플리케이션에서 통화의 온디맨드 녹음을 시작하려면 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice_chime_UpdateSipMediaApplication.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice_chime_UpdateSipMediaApplication.html) API를 사용하여 애플리케이션을 간접 호출하고 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_StartCallRecording.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_StartCallRecording.html) 작업을 반환합니다.
+ SIP 이벤트에 대한 응답으로 통화 녹음을 시작하려면 애플리케이션에서 `StartCallRecording` 작업을 반환합니다.

진행 중인 녹음을 일시 중지하고 재개할 수 있습니다. 일시 중지하려면 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_PauseCallRecording.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_PauseCallRecording.html) 작업을 사용합니다. 재개하려면 `ResumeCallRecording` 작업을 사용합니다. 녹화를 일시 중지하거나 재개할 때마다 작업은 일시 중지 또는 재개를 나타내는 신호음을 캡처합니다. 일시 중지하는 경우 작업이 무음을 녹음하며, Amazon Chime SDK는 이를 사용하여 일시 중지 시간을 추적하고 청구서에 일시 중지를 포함합니다. 필요할 때마다 녹음을 일시 중지하고 재개할 수 있습니다.

통화 녹음을 중지하려면 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_StopCallRecording.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_StopCallRecording.html) 작업을 반환합니다. 하지만 통화가 중지된 경우 통화 녹음이 자동으로 중지되므로 이 경우 명시적으로 `StopCallRecording` 작업을 반환할 필요가 없습니다. 개별 통화 레그에서 녹음을 한 번만 시작하고 중지할 수 있습니다.

Amazon Chime SDK는 사용자가 선택한 Amazon S3 버킷으로 통화 녹음을 전송합니다. 버킷은 AWS 계정에 속해야 합니다. 통화가 중지되면 SIP 미디어 애플리케이션은 [StartCallRecording](start-call-recording.md) 작업의 `Destination` 파라미터에 지정된 폴더로 녹음을 전송합니다. Amazon Chime SDK는 개방형 WAV 형식으로 통화를 녹음합니다. 수신 및 발신 트랙을 녹음하는 통화는 스테레오 모드를 사용하며, 수신 트랙은 왼쪽 채널에, 발신 트랙은 오른쪽 채널에 있습니다. 수신 또는 발신 트랙만 녹음하는 경우 시스템은 모노 모드를 사용합니다.

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

## 통화 녹음 청구
<a name="call-billing"></a>

Amazon Chime SDK는 통화 레그에서 통화 녹음이 활성화된 시간에 대해 분당 요금을 청구하며, 이 시간에는 모든 일시 중지가 포함됩니다. 통화 녹음이 Amazon S3 버킷으로 전송되면 통화 녹음 사용량에 대한 요금이 청구됩니다.

# 오디오 트랙 녹음
<a name="record-legs"></a>

수신 또는 발신 통화 트랙만 녹음하거나 두 통화 트랙을 모두 녹음할 수 있습니다.

이 이미지는 일반적인 단일 레그 또는 비연결 수신 통화를 보여줍니다.

![\[SIP 미디어 애플리케이션과만 통신하는 수신 통화입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/call-record-sma-one-leg.png)


통화에는 **call-id-1**의 `callID`가 있는 레그가 하나만 있습니다. `INCOMING` 오디오 트랙은 발신자가 SIP 미디어 애플리케이션으로 보내는 오디오입니다. `OUTGOING` 오디오 트랙은 SIP 미디어 애플리케이션이 발신자로 보내는 오디오입니다. SIP 미디어 애플리케이션은 녹음하려는 통화의 `CallId`를 지정합니다. 전화를 건 참가자를 녹음하려면 `INCOMING`을 지정합니다. 전화를 받은 참가자를 녹음하려면 `OUTGOING`을 지정합니다. 두 참가자를 모두 녹음하려면 `BOTH`를 지정합니다.

이 이미지는 참가자 2명과의 일반적인 다중 통화를 보여줍니다.

![\[SIP 미디어 애플리케이션 및 두 번째 참가자와 통신하는 수신 통화입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/call-record-sma-bridged.png)


이 예시에서는 통화에는 두 가지 통화 레그인 **call-id-1** 및 **call-id-2**가 있으며, **call-id-1**은 **call-id-2**에 연결됩니다. 그러면 두 통화 ID 모두에 대한 수신 및 발신 오디오 스트림으로 네 개의 오디오 트랙이 만들어집니다. 녹음할 통화 ID와 오디오 트랙이 무엇인지 지정할 수 있습니다. 예를 들어, 전화를 받은 참가자의 오디오 트랙을 녹음하려면 **call-id-2**를 `CallId`로, `INCOMING`을 트랙으로 지정하여 `INCOMING` 오디오 트랙을 녹음합니다.

발신자가 듣는 모든 내용을 녹음하려면 **call-id-1**을 `CallId`로, `OUTGOING`을 트랙으로 지정하여 `OUTGOING` 오디오 트랙을 녹음합니다. `Caller`가 말하고 들은 모든 오디오를 녹음하려면 `call-id-1`을 `CallId`로, `BOTH`를 트랙으로 지정하여 `BOTH` 오디오 트랙을 녹음합니다.

# 샘플 사용 사례
<a name="recording-use-cases"></a>

SIP 미디어 애플리케이션은 통화 녹음 작업을 구성 요소로 제공합니다. 이를 통해 비즈니스 사용 사례에 맞는 통화 녹음 솔루션을 유연하게 구축할 수 있습니다. 다음 사례는 몇 가지 일반적인 사용 시나리오를 보여줍니다.

**Topics**
+ [사례 1: SIP 작업이 포함된 단일 레그 통화 녹음](#recording-case-1)
+ [사례 2: 다중 통화의 선택적 오디오 녹음](#recording-case-2)
+ [사례 3: 여러 통화 레그 녹음](#recording-case-3)
+ [사례 4: 일시 중지 및 재개를 통한 온디맨드 녹음](#on-demand-pause-resume)

## 사례 1: SIP 작업이 포함된 단일 레그 통화 녹음
<a name="recording-case-1"></a>

발신자와 [PlayAudio](play-audio.md) 및 [PlayAudioAndGetDigits](play-audio-get-digits.md) 작업과 같은 SIP 미디어 애플리케이션 작업으로 생성된 모든 오디오를 녹음할 수 있습니다. 녹음하는 동안 발신자가 숫자를 누르면 해당 숫자의 신호음이 녹음에 캡처됩니다. 이 예에서는 `PlayAudioAndGetDigits` 작업을 사용하지만 대화형 음성 응답(IVR)은 복잡한 일련의 SIP 미디어 애플리케이션 작업일 수 있습니다.

이 예에서 SIP 미디어 애플리케이션은 발신자와 SIP 미디어 애플리케이션 사이의 두 오디오 트랙을 모두 녹음합니다. 통화가 설정되면 녹음이 시작되고 발신자가 전화를 끊으면 중지됩니다. 통화가 설정되면 요금 청구가 시작되고 발신자가 전화를 끊으면 중지됩니다.

![\[두 오디오 트랙을 녹음하는 SIP 미디어 애플리케이션의 다이어그램으로, 이 경우에는 발신자와 앱 사이의 녹음입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/sma-recording-case-1.png)


## 사례 2: 다중 통화의 선택적 오디오 녹음
<a name="recording-case-2"></a>

단일 통화 참가자의 오디오 트랙을 선택적으로 녹음할 수 있습니다. 이 기능을 사용하여 특정 참가자에 대한 통화 녹음만 선택적으로 활성화할 수 있습니다.

이 예에서 SIP 미디어 응용 프로그램은 **call-id-2**를 `CallId`로, `INCOMING`을 트랙으로 지정하여 수신자와 SIP 미디어 애플리케이션 사이의 수신 오디오 트랙을 녹음합니다. 발신자가 수신자와 연결되면 통화 녹음이 시작되며, 요금 청구 또한 시작됩니다. 수신자가 전화를 끊으면 녹음이 중단되며, 요금 청구 또한 종료됩니다. 이 녹음에는 수신자의 오디오 트랙만 들어 있습니다.

![\[트랙 하나를 선택적으로 녹음하는 SIP 미디어 애플리케이션의 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/sma-recording-case-2.png)


## 사례 3: 여러 통화 레그 녹음
<a name="recording-case-3"></a>

여러 통화 레그를 녹음할 수 있습니다. 예를 들어 참가자에게 통화를 연결한다고 가정해 보겠습니다. 해당 참가자가 전화를 끊으면 전화 통화는 다른 참가자에게 연결됩니다. 세 개의 통화 레그 모두에 대해 통화 녹음을 활성화할 수 있습니다.

이 예에서는 세 개의 개별 녹음 파일을 보여줍니다. 첫 번째 통화 레그의 녹음은 발신자, 애플리케이션, 통화에 연결된 두 참가자 사이의 대화를 캡처합니다. 두 번째 통화 레그의 녹음은 발신자와 첫 번째 참가자 사이의 대화를 캡처합니다. 두 번째 통화 레그의 녹음은 발신자와 두 번째 참가자 사이의 대화를 캡처합니다.

이 사례에서는 세 개의 통화 레그가 생성되며 각 통화 레그의 시작과 종료에 요금 청구가 적용됩니다. 다시 말해, 시스템은 세 개의 녹음을 S3 버킷으로 전송하며, 각각에 대해 요금이 청구됩니다.

![\[여러 통화 레그를 녹음하는 SIP 미디어 애플리케이션의 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/sma-recording-case-3.png)


## 사례 4: 일시 중지 및 재개를 통한 온디맨드 녹음
<a name="on-demand-pause-resume"></a>

[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html) API를 사용하여 온디맨드 방식으로 통화 녹음을 시작, 중지, 일시 중지 및 재개할 수 있습니다. `UpdateSipMediaApplicationCall` API를 직접 호출하고 SIP 미디어 애플리케이션을 간접 호출하여 통화 녹음 작업을 반환하는 클라이언트 애플리케이션을 구축할 수 있습니다.

최종 사용자는 클라이언트 애플리케이션을 사용하여 통화 녹음을 제어합니다. 예를 들어 콜 센터에서 상담원은 데스크톱 클라이언트 애플리케이션을 사용하여 온디맨드 방식으로 통화 녹음 작업을 트리거합니다. 콜 센터 예에서 상담원은 발신자에게 전화 통화 녹음 권한을 요청할 수 있으며, 발신자가 동의하면 클라이언트 애플리케이션에서 클릭하여 녹음을 시작할 수 있습니다. 또 다른 예로, 발신자가 사회보장번호(SSN)와 같은 정보를 제공해야 할 수도 있습니다. 하지만 콜 센터 정책에 따라 상담원은 고객의 SSN과 같은 정보를 녹음해서는 안 됩니다. 상담원은 고객이 정보를 제공하는 동안 애플리케이션을 클릭하여 녹음을 일시 중지한 다음 다시 클릭하여 녹음을 재개할 수 있습니다. 상담원이 발신자의 요청을 처리하면 상담원은 애플리케이션을 클릭하여 녹음을 중지하고 통화를 끊습니다.

이 사용 사례에서 SIP 미디어 애플리케이션은 발신자와 SIP 미디어 애플리케이션 사이의 두 오디오 트랙을 모두 녹음합니다. `call-id-1` 레그가 `call-id-2` 레그에 연결되어 있기 때문에 시스템은 발신자와 수신자 양쪽 레그에서 오디오를 녹음합니다. 녹음과 요금 청구는 `UpdateSipMediaApplicationCall` API가 `StartCallRecording` 작업을 간접 호출할 때 시작됩니다. 녹음과 요금 청구는 `UpdateSipMediaApplicationCall` API가 `StopCallRecording` 작업을 간접 호출할 때 중지됩니다. 다시 말해서, 녹음을 일시 중지해도 녹음 기간은 변경되지 않으며 모든 일시 중지에 대해 요금이 청구됩니다.

![\[온디맨드 방식으로 녹음이 일시 중지되었다가 재개된 SIP 미디어 애플리케이션 녹음의 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/sma-recording-on-demand.png)


# SIP 미디어 애플리케이션의 통화 녹음 작업
<a name="use-recording-apis"></a>

SIP 미디어 애플리케이션의 AWS Lambda 함수에서 응답으로 다른 통화 녹음 작업을 지정할 수 있습니다. 다음 주제에서는 예제 코드를 제공하고 작업 사용 방법을 설명합니다.

**Topics**
+ [StartCallRecording](start-call-recording.md)
+ [StopCallRecording](stop-call-recording.md)
+ [PauseCallRecording](pause-call-recording.md)
+ [ResumeCallRecording](resume-call-recording.md)

# StartCallRecording
<a name="start-call-recording"></a>

`StartCallRecording` 작업은 통화 레그의 녹음을 시작합니다. 온디맨드 또는 SIP 이벤트에 대한 응답으로 SIP 미디어 애플리케이션에서 통화 녹음을 시작합니다.
+ 통화의 온디맨드 녹음을 시작하려면 `UpdateSipMediaApplication` API를 사용하여 애플리케이션을 간접 호출하고 `StartCallRecording` 작업을 반환합니다.
+ SIP 이벤트에 대한 응답으로 통화 녹음을 시작하려면 애플리케이션에서 `StartCallRecording` 작업을 반환합니다.

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

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

**Topics**
+ [StartCallRecording 작업 요청](#request-start)
+ [녹음 대상 지정](#recording-destination)
+ [Amazon S3 버킷 권한 부여](#grant-s3-perms)
+ [작업 성공 응답](#action-successful)
+ [작업 오류 응답](#action-error)

## StartCallRecording 작업 요청
<a name="request-start"></a>

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

```
{
    "SchemaVersion": "1.0",
    "Actions": [
        {
            "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:PutObject` 및 `s3:PutObjectAcl` 작업에 대한 권한을 가진 유효한 Amazon S3 경로  
필수** - 예  
*기본값* – 없음

## 녹음 대상 지정
<a name="recording-destination"></a>

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 경로의 일반 형식을 보여줍니다. 이 예제에서는 `myRecordingBucket`을 `Location` 값으로 사용합니다.

```
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 객체 메타데이터](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html)가 포함되어 있습니다. 다음 표에는 지원되는 Amazon S3 객체 메타데이터가 나와 있습니다.


| 이름 | 설명 | 
| --- | --- | 
| transaction-id | 전화 통화의 트랜잭션 ID | 
| call-id |  AWS Lambda 함수 호출의 CallDetailsCallId | 
| recording-duration | 통화 녹음 기간(초) | 
| recording-audio-file-format | 인터넷 미디어 유형으로 표시된 통화 녹음 오디오 파일 형식 | 

## Amazon S3 버킷 권한 부여
<a name="grant-s3-perms"></a>

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

------
#### [ JSON ]

****  

```
{
    "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": "123456789012"
                }
            }
        }
    ]
}
```

------

PSTN 오디오 서비스는 SIP 미디어 애플리케이션을 대신하여 S3 버킷을 읽고 씁니다. [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 피하기 위해 S3 버킷 권한을 단일 SIP 미디어 애플리케이션으로 제한할 수 있습니다.

------
#### [ JSON ]

****  

```
{
    "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": "111122223333",
                    "aws:SourceArn": "arn:aws:chime:us-east-1:111122223333:sma/sip-media-application-id"
                }
            }
        }
    ]
}
```

------

## 작업 성공 응답
<a name="action-successful"></a>

통화 레그에서 통화 녹음이 성공적으로 시작되면 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": {
        ...
    }
}
```

## 작업 오류 응답
<a name="action-error"></a>

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




| 오류 | 메시지 | 이유 | 
| --- | --- | --- | 
| `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](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)

# StopCallRecording
<a name="stop-call-recording"></a>

`StopCallRecording` 작업은 통화 레그의 녹음을 중지합니다. 통화가 종료되면 녹음이 자동으로 중지되며 애플리케이션에서 `StopCallRecording` 작업을 명시적으로 반환할 필요가 없습니다. 통화 레그에 대한 녹음이 중지되면 다시 시작할 수 없으며 `StartCallRecording` 작업에 지정된 대상으로 녹음이 전달됩니다.

다음 예제는 `call-id-1` 통화 레그의 녹음을 중지합니다.

```
{
    "SchemaVersion": "1.0",
    "Actions":[
        {
            "Type": "StopCallRecording",
            "Parameters": {
                "CallId": "call-id-1"
            }
        }
    ]
}
```

**CallId**  
*설명* - AWS Lambda 함수 호출의에 있는 `CallId` 참가자`CallDetails`의 설명  
허용된 값** - 유효한 통화 ID  
필수** - 예  
*기본값* – 없음

GitHub에서 작업 예제 참조: [https://github.com/aws-samples/amazon-chime-sma-on-demand-recording](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)

# PauseCallRecording
<a name="pause-call-recording"></a>

`PauseCallRecording` 작업은 통화 레그의 녹음을 일시 중지합니다. 녹음을 일시 중지할 때마다 녹음은 일시 중지를 나타내는 신호음을 캡처합니다. 일시 중지하면 녹음은 계속되지만 무음만 캡처됩니다. 녹음을 일시 중지해도 총 녹음 기간에는 영향을 주지 않습니다. 필요할 때마다 녹음을 일시 중지하고 재개할 수 있습니다.

다음 예제는 녹음을 일시 중지합니다.

```
{
    "SchemaVersion": "1.0",
    "Actions":[
        {
            "Type": "PauseCallRecording",
            "Parameters": {
                "CallId": "call-id-1"
            }
        }
    ]
}
```

**CallId**  
*설명* - AWS Lambda 함수 호출의에 있는 `CallId` 참가자`CallDetails`의 설명  
허용된 값** - 유효한 통화 ID  
필수** - 예  
*기본값* – 없음

GitHub에서 작업 예제 참조: [https://github.com/aws-samples/amazon-chime-sma-on-demand-recording](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)

# ResumeCallRecording
<a name="resume-call-recording"></a>

`ResumeCallRecording` 작업은 통화 레그의 녹음을 재개합니다. 녹음이 다시 시작되기 전에 짧은 신호음이 재생됩니다. 통화 레그 기간 동안 녹음을 여러 번 일시 중지했다가 재개할 수 있습니다.

다음 예제는 녹음을 재개합니다.

```
{
    "SchemaVersion": "1.0",
    "Actions":[
        {
            "Type": "ResumeCallRecording",
            "Parameters": {
                "CallId": "call-id-1"
            }
        }
    ]
}
```

**CallId**  
*설명* - AWS Lambda 함수 호출의에 있는 `CallId` 참가자`CallDetails`의 설명  
허용된 값** - 유효한 통화 ID  
필수** - 예  
*기본값* – 없음

GitHub에서 작업 예제 참조: [https://github.com/aws-samples/amazon-chime-sma-on-demand-recording](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)