

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

# 사용 사례
<a name="example"></a>

이제 이러한 원칙을 적용하고 모듈식 기본 아키텍처를 파생시키는 방법을 보여주는 사용 사례를 살펴보겠습니다. 가상의 글로벌 회사인 Example Corp가 이 예제의 핵심입니다.

Example Corp는 데이터 센터 유지 관리를 줄이고, 혁신에 집중하며, 비용을 절감하기 위해 클라우드 기반 콜 센터로 마이그레이션하려고 합니다. 주요 우선순위는 마이그레이션의 일환으로 고객 경험 개선을 목표로 하는 셀프 서비스입니다. Example Corp는 여러 국가(미국, 캐나다, 이탈리아, 네덜란드 등) 및 사업부(영업, 지원, 신제품 등)를 기반으로 여러 수신자 부담 전화번호(TFN)와 내선 직통 전화번호(DID)를 관리하는 글로벌 조직입니다. 즉, 여러 언어(예: 미국 영어, 캐나다 프랑스어, 이탈리아어)를 지원해야 합니다. 또한 Example Corp는 전화를 건 번호 또는 발신 국가에 따라 발신자에게 개인화된 사용자 지정 경험을 제공하고자 합니다. 그러면 IVR 시스템에서 메뉴 옵션을 변경하거나 다른 프롬프트 메시지를 제공할 수 있습니다. 또한 각 국가에는 통화 라우팅을 위해 에이전트에게 할당해야 하는 전용 기술 세트(언어, 사업부 등에 따라 다름)가 있습니다. 이 회사는 총 25개 국가와 12개 언어를 지원합니다. 또한 에이전트와 대화하지 않고 결제 처리와 제품 및 추가 기능을 구매하는 기능도 제공할 계획입니다. 모범 사례로 Example Corp는 콜 센터의 개발, 스테이징 및 프로덕션 환경을 유지 관리할 것입니다.

이 섹션에서는 이 가이드의 앞부분에서 설명한 [IVR 설계 원칙](design-principles.md)을 Example Corp 사용 사례에 적용하는 방법을 보여줍니다. 서비스를 사용하여 조직의 목표를 식별하고, 고객 응대 여정을 구축하고, 회사의 요구 사항을 충족하는 아키텍처 프레임워크를 만드는 프로세스를 안내합니다 AWS .

## 조직의 목표 식별
<a name="example-goals"></a>

Example Corp의 경우 기본 조직 목표에는 다음이 포함됩니다.
+ **비용 절감:** 클라우드 기반 콜 센터로 마이그레이션하여 유지 관리 비용을 줄이고 혁신을 강화합니다.
+ **개인화된 셀프 서비스:** 언어 옵션을 포함하여 발신 번호 또는 국가에 따라 고객에게 개인화된 사용자 지정 경험을 제공합니다.
+ **IVR 억제율 개선:** IVR 시스템 내에서 결제 처리를 간소화하여 고객이 에이전트 개입 없이 제품 및 추가 기능을 구매할 수 있도록 지원합니다.
+ **변경 관리 및 혁신 센터 개선:** 효과적인 변경 관리 및 실험을 위해 IVR 시스템에 대한 별도의 환경(개발, 스테이징 및 프로덕션)을 유지 관리합니다.
+ **첫 번째 통화 해결 개선:** 언어, 국가 및 고객 의도를 기반으로 효과적인 라우팅 전략을 구현합니다.

## 고객 응대 여정 매핑
<a name="example-map"></a>

Example Corp의 고객 응대 여정을 생성하려면 다음 측면을 고려해야 합니다.
+ **통화 발신:** 수신 통화와 관련된 국가 및 사업부를 식별하여 맞춤형 경험을 제공합니다.
+ **언어 선택:** 발신자의 발신 국가, 프로필 및 Example Corp에서 지원하는 언어를 기반으로 적절한 언어 메뉴를 제공합니다.
+ **고객 인증:** 계정 세부 정보, 음성 생체 인식 또는 다른 보안 방법을 사용하여 발신자를 인증합니다.
+ **개인화**: 고객 데이터를 수집하고 사용하여 발신자에게 이름을 불러 인사하거나 계정 기록에 따라 사용자 지정 메뉴 옵션을 제공하는 등 IVR 경험을 개인화합니다.
+ **셀프 서비스 옵션:** 잔액 문의, 주문 상태 업데이트 또는 암호 재설정과 같은 일반적인 고객 문의를 해결할 수 있는 셀프 서비스 옵션을 제공합니다.
+ **결제 처리:** 고객이 IVR 시스템에서 구매할 수 있도록 보안 결제 게이트웨이를 통합합니다.
+ **백엔드 통합:** 개인화된 인사말, 주문 업데이트 및 결제와 같은 셀프 서비스 프로세스를 구현하도록 백엔드 API 통합을 고려합니다. 이러한 API의 가용성 및 준비 상태를 확인합니다.
+ **보안 및 규정 준수:** 로그의 추가적인 암호화, 마스킹 또는 비활성화가 필요한 정보(예: 카드 정보 및 고객 PII)를 결정합니다.
+ **반복 가능한 프로세스:** 대부분의 국가 및 사업부에서 반복되는 결제 및 발신자 인증과 같은 프로세스를 식별합니다.

## 기본 아키텍처 생성
<a name="example-architecture"></a>

Example Corp IVR 시스템에 대한 모듈식 동적 아키텍처 프레임워크를 생성하려면 정적 콘텐츠를 제거하고 반복 가능한 프로세스를 모듈화하는 방법을 고려합니다.

**정적 콘텐츠 제거**
+ 변수를 사용하여 각 국가에 할당된 수신자 부담 전화번호(TFN)를 기반으로 프롬프트를 동적으로 간접 호출하는 방법을 고려합니다. 예를 들어 TFN1이 캐나다에 속하는 경우 외부 데이터베이스에서 적절한 프롬프트를 간접 호출하여 고객에게 영어 및 캐나다 프랑스어를 언어 옵션으로 제공할 수 있습니다. 고객의 선택에 따라 외부 데이터베이스에서 영어(또는 캐나다 프랑스어) 프롬프트를 간접 호출하고 IVR 통화 흐름 전체에서 재생할 수 있습니다. 이 접근 방식은 단일 IVR 흐름을 사용하고, 모든 TFN에서 중복을 제거합니다.
+ 발신자를 라우팅해야 하는 에이전트 대기열과 기술, 통화가 거쳐야 하는 다음 IVR 트리, URL 및 Amazon 리소스 이름(ARN)과 같은 API 엔드포인트의 값을 외부 데이터베이스에 저장하는 방법을 고려합니다. 국가 또는 사업부에 할당된 TFN을 기반으로 간접 호출할 수도 있습니다.
+ 경험을 더욱 간소화하기 위해 배포 환경 세부 정보를 외부 데이터베이스에 저장할 수도 있습니다. 예를 들어 TFN2가 개발 환경에 매핑된 경우 해당 환경과 관련된 언어 프롬프트, API 엔드포인트, 에이전트 대기열 및 기술만 간접 호출할 수 있습니다. TFN3이 스테이징 환경에 매핑된 경우 스테이징에 할당된 통화 세부 정보 등을 간접 호출할 수 있습니다. 이 접근 방식은 통화 흐름 유지 관리 및 개발을 크게 간소화합니다. 개발자는 단일 통화 흐름을 유지 관리할 수 있으며 국가, 사업부 또는 환경에 할당된 TFN과 같은 주요 파라미터를 기반으로 환경을 쉽게 변경할 수 있습니다.

**반복 가능한 프로세스 식별**

Example Corp의 경우 여러 국가 및 사업부에서 식별된 반복 가능한 프로세스 중 일부는 발신자 언어 선택 및 결제 처리입니다. 이러한 프로세스를 모듈로 빌드하여 모든 통화 흐름에서 쉽게 중앙 집중화, 유지 관리 및 간접 호출할 수 있습니다.

다음 다이어그램에서는 이 가이드에서 설명하는 IVR 설계 방법론을 기반으로 한 샘플 아키텍처를 보여줍니다. 이 아키텍처는 Connect Customer 흐름 및 모듈을 다음과 같은 추가 AWS 서비스와 함께 사용합니다.
+ Amazon DynamoDB 테이블은 ARN, 동적 속성 및 프롬프트를 저장합니다.
+ AWS Lambda 함수는 DynamoDB 테이블에서 정보를 검색합니다.
+ Amazon Polly는 텍스트 프롬프트를 음성으로 변환합니다.
+ Amazon Simple Storage Service(Amazon S3)는 [Connect 고객 연락처 레코드](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html)를 저장합니다.

![AWS 서비스를 사용한 IVR 아키텍처 예제](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/ivr-design-on-connect/images/ivr-architecture.png)


IVR 시스템은 다음 단계를 구현합니다.

1. 고객이 회사의 국가별 DID 또는 TFN으로 통화를 겁니다.

1. 호출은 Connect Customer 초기화 흐름(`initFlow`)으로 들어갑니다.

1. 초기화 흐름은 세 개의 DynamoDB 테이블에서 데이터를 검색하는 세 개의 Lambda 함수를 직접 호출합니다.
   + 첫 번째 함수는 호출이 수행된 환경(예: 프로덕션, 스테이징 또는 개발)을 기반으로 [Connect Customer 인스턴스 ARNs](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html)을 검색합니다.
   + 두 번째 함수는 발신 번호를 기반으로 국가, 언어 및 지원 대기열과 같은 동적 속성을 검색합니다.
   + 세 번째 함수는 고객의 언어 선택에 따라 IVR 프롬프트 메시지를 가져옵니다.

1. 고객 연결 언어 모듈(`langModule`)은 선택한 언어를 기반으로 Amazon Polly 음성을 설정합니다.

1. 그런 다음 통화는 세 번째 DynamoDB 테이블에서 검색된 환영 메시지 또는 콜 센터 옵션과 같은 동적 프롬프트를 재생하는 다음 고객 응대 흐름(`mainFlow`)으로 이동합니다.

1. Lambda 함수는 DynamoDB API를 직접 호출하여 하위 고객 응대 흐름, 모듈 및 대기열을 간접 호출합니다.

1. IVR 시스템에서 고객의 선택에 따라 통화가 지원 센터 에이전트로 라우팅될 수 있습니다. 에이전트의 화면은 고객의 국가, 자격 증명, 통화 이유 등 캡처된 데이터를 사용해 동적으로 채워집니다.

1. 고객 연락처 데이터는 고객 연락처 연결 레코드의 일부로 S3 버킷에 저장되며 Amazon Quick을 사용하여 사용자 지정 보고서를 생성하는 데 사용할 수 있습니다.

실제 시나리오에서이 설계를 사용한 방법에 대한 자세한 내용은 re:Invent 2020 프레젠테이션 [How Best Western built a modular and dynamic contact center using Connect Customer](https://youtu.be/qnIXMh203vc)를 참조하세요. 샘플 코드는 GitHub의 [Dynamic Contact Center project](https://github.com/amazon-connect/amazon-connect-snippets/tree/master/projects/DynamicContactCenter)를 참조하세요.