

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

# Amazon Chime SDK PTSN 오디오 서비스용 VoiceFocus 이해
<a name="voice-focus"></a>

공중 교환 전화망(PSTN) 통화에서 인바운드 및 아웃바운드 통화 레그에 Amazon Voice Focus 잡음 억제를 적용할 수 있습니다. Amazon Voice Focus를 적용하면 사람의 음성에 영향을 주지 않으면서 주변 소음을 줄입니다. 이렇게 하면 현재 화자가 더 쉽게 들을 수 있습니다.

인바운드 통화 레그를 만들려면 `NewInboundCall` 이벤트와 함께 AWS Lambda 함수를 간접 호출하는 [SIP 규칙을](https://docs.aws.amazon.com/chime/latest/ag/manage-sip-applications.html) 사용합니다. [CallAndBridge](call-and-bridge.md) 작업을 사용하거나 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html) API 작업을 사용하여 아웃바운드 통화 레그를 생성할 수 있습니다. Amazon Voice Focus에 대한 자세한 내용은 [How Amazon Chime's noise cancellation works](https://www.amazon.science/blog/how-amazon-chimes-challenge-winning-noise-cancellation-works)를 참조하세요.

 Amazon Voice Focus는 다음을 포함하여 원치 않는 비음성 소음을 줄여줍니다.
+ **환경 소음** - 바람, 선풍기, 흐르는 물
+ **배경 소음** - 잔디깎이, 개 짖는 소리
+ **전경 소음** - 타자 소리, 책장 넘기는 소리

**참고**  
Amazon Voice Focus를 사용하는 경우는 각 통화 레그의 활성 통화 시간과 SIP 미디어 애플리케이션 사용의 각 분에 대해 AWS 요금을 청구합니다.

이 예제에서는 일반적인 `VoiceFocus` 작업을 보여줍니다.

```
{
    "SchemaVersion": "1.0",
    "Actions":[
        {
            "Type": "VoiceFocus",
            "Parameters": {
                "Enable": True|False,            // required
                "CallId": "call-id-1",           // required    
            }
        }
    ]
}
```

**Enable**  
설명** - Amazon Voice Focus를 활성화 또는 비활성화합니다.  
*허용된 값* - `True` \$1 `False`  
필수** - 예  
*기본값* – 없음

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

이 예제는 `VoiceFocus` 작업의 성공한 `ACTION_SUCCESSFUL` 이벤트를 보여줍니다.

```
{
   "SchemaVersion": "1.0",
   "Sequence": 3,
   "InvocationEventType": "ACTION_SUCCESSFUL",
   "ActionData": {
      "Type": "VoiceFocus",
      "Parameters": {
         "Enable": True,
         "CallId": "call-id-1"
      }
   },
   "CallDetails":{
      .....
      .....
      "Participants":[
         {
            "CallId": "call-id-of-caller",
            .....   
            "Status": "Connected"
         },
         {
            "CallId": "call-id-of-callee",
            .....
            "Status": "Connected"
         }
      ]
   }
}
```

이 예제는 `VoiceFocus` 작업의 일반적인 `ACTION_FAILED` 이벤트를 보여줍니다.

```
{
   "SchemaVersion": "1.0",
   "Sequence":2,
   "InvocationEventType": "ACTION_FAILED",
      "ActionData":{
      "Type": "VoiceFocus",
      "Parameters": {
         "Enable": True,
         "CallId": "call-id-1"
      }
      },
      "ErrorType": "SystemException",
      "ErrorMessage": "System error while running action"
   },
   "CallDetails":{
      .....
      .....
      "Participants":[
         {
            "CallId": "call-id-of-caller",
            .....   
         }
      ]
   }
}
```

**오류 처리**  
보안상의 이유로 PSTN 오디오 작업은 고객 계정마다 초당 통화 요청(CPS)을 5개로 제한됩니다. 통화 요청이 5CPS 제한을 초과하는 경우 작업은 오류 메시지를 반환합니다. 이 표에는 `VoiceFocus` 작업에서 반환되는 오류 메시지가 나와 있습니다.


| 오류 | 메시지 | 이유 | 
| --- | --- | --- | 
| `ActionExecutionThrottled` | Failed to run action. The maximum number of actions per second has been reached. | 초당 Voice Focus 작업 요청 수가 시스템 한도를 초과했습니다. | 
| `MissingRequiredActionParameter` | Missing required action parameter. | 작업을 실행하는 동안 필요한 파라미터가 하나 이상 누락되었습니다. | 
| `SystemException` | System error while running action. | 작업을 실행하는 동안 시스템 오류가 발생했습니다. | 

**통화 흐름**  
이 다이어그램은 두 PSTN 통화 사이의 `CallAndBridge` 작업에 대해 Amazon Voice Focus를 활성화 및 비활성화하는 통화 흐름을 보여줍니다.

![\[두 개의 다중 PSTN 통화에 대해 Amazon Voice Focus를 활성화 또는 비활성화하는 경우의 통화 흐름입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/voice_focus-pstn1.png)


아웃바운드 통화 레그의 경우 AWS Lambda 함수는 호출자에 대해 Amazon Voice 포커스를 활성화하고를 포함한 일련의 작업을 반환합니다`CallAndBridge`. 통화가 연결되면 `VoiceFocus` 작업은 `ACTION_SUCCESSFUL` 이벤트를 반환하고 Lambda 함수는 전화를 받은 사람에 대해 Amazon Voice Focus를 활성화하는 또 다른 이벤트 세트를 반환합니다. 해당 작업 세트에는`VoiceFocus`, `Enable`, `True` 및 발신자 ID가 포함됩니다. 발신자가 전화를 끊기 전까지는 추가 작업을 수행하지 않습니다. 그런 다음 Lambda 함수는 SIP 미디어 애플리케이션에 `Hangup` 작업을 전송합니다. 애플리케이션은 전화를 받은 사람의 전화를 끊고 Lambda 함수로 Hangup 함수를 다시 전송하며, Lambda 함수는 추가 작업을 수행하지 않습니다.