소개
이 문서에서는 Cisco UCCE(Unified Contact Center Enterprise) OOHA(Outbound Option High Availability)를 구성하고 문제를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- UCCE 아웃바운드 옵션
- Microsoft SQL 트랜잭션 복제
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco UCCE 11.6
- MS SQL Server 2014
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
아키텍처
OOHA(Outbound Option High-Availability) 기능이 UCCE 11.6 버전에 도입되었습니다. OOHA는 선택적 기능입니다. UCCE 11.6 버전의 Campaign Manager 프로세스는 Active-StandBy 장애 조치 모델과 중복될 수 있습니다. WebSetup에서 OOHA가 활성화되면 시스템은 BA_A와 BA_B 데이터베이스 간에 SQL 양방향 트랜잭션 복제를 자동으로 수행합니다.
다음 테이블은 복제됩니다.
- 연락처
- 전화 걸기 목록
- 피시비
- 통화 금지(_N)
UCCE 11.6 OOHA 아키텍처
장애 조치 모델 개요
캠페인 관리자 활성 - 대기
- Active Campaign Manager 프로세스는 기본적으로 60초 이상 전화 걸기 연결이 없는 경우 장애 조치를 시작합니다. 이 타이머는 Logger/BlendedAgent/CurrentVersion/레지스트리 경로에 dword EMTClientTimeoutToFailover를 추가하여 변경할 수 있습니다. 값은 다이얼러 연결 대기 시간(초)이어야 합니다.
- 다이얼러가 Campaign Manager 프로세스에 연결할 수 없는 경우 Campaign Manager 프로세스는 A에서 B로, 그 반대로 계속 바운스됩니다.
- BA 데이터베이스 간에 대규모 복제 대기열이 있을 경우 Campaign Manager 페일오버에 최대 4,5분이 걸릴 수 있습니다. 4,5분은 하드코딩된 타이머이며 변경할 수 없습니다.
다이얼러 활성 - 대기
- 이전 버전에서 변경된 내용이 없습니다. 다이얼러 장애 조치 모델은 동일하게 유지되며 한 번에 하나의 다이얼러만 활성화됩니다.
BaImport - 페일오버 없음
- BaImport는 로컬 Campaign Manager 프로세스에서만 작동하며 상태를 복제합니다. BaImport 프로세스 충돌이 발생하면 Campaign Manager 레벨의 장애 조치가 트리거됩니다.
구성
예비 단계
1단계. SQL Server 복제 기능이 사용하도록 설정되었는지 확인합니다.
- SQL 설치 중에 기능으로 복제를 선택해야 합니다. 로거 서버에서 복제 기능이 활성화되어 있는지 확인하려면 SQL 디스크 드라이브 > setup.exe > 도구로 이동하여 설치된 SQL 검색 보고서를 실행합니다
- 이 기능이 보고서에 나열되지 않으면 Windows CMD 도구에서 이 명령을 실행하고 각 명령 매개 변수에 SQL Server 인스턴스 이름을 제공합니다
setup.exe /q /Features=Replication /InstanceName= /ACTION=INSTALL /IAcceptSQLServerLicenseTerms
2단계. SQL Server 사용자 계정이 구성되어 있는지 확인합니다.
- 사용자 이름과 비밀번호는 로거 측 A와 로거 측 B에서 동일해야 합니다.
- 사용자에게 SQL Server 시스템 관리자 권한이 있어야 합니다.
- WebSetup을 실행하여 Outbound Option을 구성하고 Outbound Option High Availability를 활성화할 때 이 사용자 이름과 암호를 사용합니다.
- 사용자가 SQL sa 사용자일 필요는 없습니다. 다른 사용자가 될 수 있지만 sysadmin 권한이 있어야 하며 활성화된 상태로 유지됩니다.

3단계. SQL 사용자 NT AUTHORITY\SYSTEM에는 sysadmin 역할이 있어야 합니다.

4단계. 로거 서버 호스트 이름과 SQL Server 서버 이름(@@servername)은 동일해야 합니다.
새 설치 구성
1단계. 두 로거 서버에서 BA 데이터베이스를 생성합니다.
2단계. 두 로거에서 sysadmin 역할의 동일한 로컬 SQL 사용자를 구성합니다.
3단계. LoggerA에서 WebSetup을 시작하고, Logger 구성 요소를 편집하고, Outbound Option 및 Outbound High Availability를 활성화합니다.

참고: 로거 공용 인터페이스 필드에 로거 호스트 이름을 제공하십시오. 이 값은 각 로거의 SQL Server 이름과 일치해야 합니다.
WebSetup을 성공적으로 완료한 후에는 게시가 만들어지고 LoggerA SQL Server 및 LoggerB에 대한 서브스크립션이 표시되어야 합니다.
SQL Server Management Studio(SSMS)의 Replication(복제) > Local Publications on LoggerA(로거A의 로컬 게시) 및 Local Subscriptions on LoggerB(로거B의 로컬 서브스크립션)에서 확인하십시오.

LoggerB에서 WebSetup을 실행하고, Logger 구성 요소를 편집하고, Outbound Option 및 Outbound High Availability를 활성화합니다.

게시는 LoggerB에서 만들고 LoggerA에서 구독해야 합니다.
이 그림에서는 LoggerB 서버에서 만든 게시 및 구독을 보여 줍니다.

이 그림에서는 LoggerA 서버에서 만든 게시 및 구독을 보여 줍니다.

문제 해결
SQL 복제 상태 확인
SSMS에서 Launch Replication Monitor Tool(복제 모니터 툴 시작)을 선택하여 복제 상태를 확인합니다.

복제 상태는 OK여야 합니다.
성능 및 레이턴시에 대한 자세한 내용을 보려면 게시자를 확장합니다.

두 번째 탭인 Tracer Tokens(추적기 토큰)로 이동하고 Insert Tracer(추적기 삽입)를 선택합니다. 게시자와 배포자 간, 배포자와 구독자 간의 레이턴시를 테스트합니다.

두 로거에서 모두 확인해야 합니다.
SQL 서버 이름 변경
SSMS를 열고 이 SQL 쿼리를 실행합니다.
SELECT @@servername
쿼리의 출력을 Windows 서버 호스트 이름과 비교합니다. 꼭 일치해야 합니다.
이 그림에서는 LoggerA의 호스트 이름과 SQL Server 이름이 일치하지 않는 경우의 문제 시나리오를 보여 줍니다. OO HA 설정 전에 문제를 해결하십시오.

SQL 서버 이름을 삭제하려면 마스터 DB에 대해 SSMS에서 이 명령을 실행합니다.
EXEC sp_dropserver @server=

새 SQL 서버 이름을 추가하려면 이 명령을 실행합니다.
EXEC sp_addserver @server=, @local=LOCAL

Windows Services에서 SQL Server 및 SQL Server 에이전트를 다시 시작하고 @@servername SQL 쿼리 선택 출력을 확인합니다.
수동으로 SQL 복제 사용
주의: WebSetup에서 복제를 설정할 수 없고 오류가 명확하지 않은 경우에만 이 절차를 사용하십시오.
각 변수 값을 사용하여 두 로거의 BA 데이터베이스에 대해 이 저장 프로시저를 실행합니다.
EXEC sp_ba_create_replication
@instance=,
@publisher=,
@subscriber=,
@working_directory =,
@login =,
@pwd =


"CREATE DATABASE failed" 오류가 발생할 경우 MSSQLSERVER 계정에 SQL 작업 디렉터리에 대한 전체 액세스 권한이 있는지 확인합니다.
이 그림에서는 SQL Server 로그의 각 오류를 표시합니다.

MSSQLSERVER 계정에 SQL 작업 디렉터리에 대한 전체 액세스 권한이 있는지 확인합니다.

각 로거 SQL Server에 게시 및 구독이 만들어졌는지 확인하십시오.

수동으로 SQL 복제 사용 안 함
주의: WebSetup에서 복제를 설정할 수 없고 오류가 명확하지 않은 경우에만 이 절차를 사용하십시오.
각 변수 값을 사용하여 두 로거의 BA 데이터베이스에 대해 이 절차를 실행합니다.
EXEC sp_ba_remove_replication
@instance = ,
@subscriber =


게시가 두 로거 SQL 서버에서 모두 제거되었는지 확인합니다.


복제 구성에서 전체 SQL Server를 지우려면 수동으로 등록을 삭제하고 두 로거 SQL 서버에서 배포 데이터베이스를 삭제해야 합니다.

USE master
EXEC sp_dropdistpublisher @publisher=;
EXEC sp_dropdistributiondb @database=distribution;
EXEC sp_dropdistributor;
GO

경우에 따라 마지막 명령이 실패하고 "해당 서버에서 복제를 위해 활성화된 데이터베이스가 있기 때문에 서버 이름을 배포자 게시자로 삭제할 수 없습니다"라는 오류 메시지가 표시될 수 있습니다.
EXEC sp_dropdistributor @no_checks = 1, @ignore_distributor =1
관련 정보