목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

구성

다음을 확인합니다.

문제 해결

소개

이 문서에서는 외부 데이터베이스에서 데이터를 가져오고 스크립트에서 사용하기 위해 ICM(Intelligent Contact Manager)에서 DBLookup 함수를 구성하는 방법에 대해 설명합니다.함수 구성 방법을 설명하기 위해 이 문서에서는 사용자가 호출자가 목록의 일부인지(예: 우선순위 서비스 제공) 확인하려는 예제 시나리오를 사용합니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

구성

1. 데이터베이스를 만듭니다.

먼저 데이터베이스를 생성합니다.Microsoft SQL Server Management Studio에서 데이터베이스를 마우스 오른쪽 단추로 누르고 새 데이터베이스를 선택합니다.

그런 다음 이 데이터베이스에 테이블을 만듭니다.새로 만든 데이터베이스 아래에서 테이블을 마우스 오른쪽 단추로 누릅니다.그런 다음 몇 개의 열을 추가할 수 있습니다.

참고:DBLookup 노드에서 액세스하는 테이블의 모든 정수 필드를 NOT NULL로 정의합니다.SQL 데이터베이스에는 다음 데이터 유형만 지원됩니다.SQLINT1(tinyint), SQLINT2(smallint), SQLINT4(int), SQLCHAR(char), SQLVARCHAR(varchar), SQLFLT4DBFLT4(real), SQLFLT8DBFLT8(float) 및 SQLDATETIME(datetime). SQLDATETIME, SQLVARCHAR 및 SQLCHAR을 제외한 모든 필드를 NOT NULL 필드로 정의해야 합니다.이 세 필드를 NULL로 정의할 수 있습니다.

varchar 데이터 유형을 선택합니다. 이 유형을 사용하면 유연성에 숫자도 포함할 수 있습니다.전화 열을 기본 키로 설정하려면 확인란에서 Allow Nulls(Null 허용)를 선택 취소합니다.이 열을 기본 키로 설정하려면 마우스 오른쪽 단추를 클릭하고 기본 키 설정:

이 단계가 완료되면 변경 사항을 저장합니다.이제 테이블에 데이터를 추가할 수 있습니다.

2. 이 데이터베이스에 연결하기 위해 ICM을 구성합니다.

탐색기 도구 아래의 구성 관리자를 사용하여 데이터베이스 조회 탐색기를 엽니다.그런 다음 새로 만든 데이터베이스 및 열을 추가합니다.

또한 데이터베이스에 로그인하려면 사용자 이름/비밀번호를 구성해야 합니다. 시스템은 기본적으로 sa를 빈 비밀번호로 사용하기 때문입니다.다음 키로 레지스트리에서 사용자 이름/비밀번호를 구성합니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,

Inc.\ICM\inst1\RouterA\Router\CurrentVersion\Configuration\Database\SQLLogin

다음 예에서는 도메인 사용자로 키를 구성하는 방법을 보여 줍니다.

\\POD2SPRAWLA\DBLookup=(ZFB\Administrator,password)

참고:비밀번호에 다음 특수 문자를 사용하지 마십시오."=", ")", "(", ",", "?", "\", "/"

3. 웹 인터페이스의 라우터 설정에서 액세스할 수 있는 Edit Router 화면에서 Enable Database Routing(데이터베이스 라우팅 활성화)을 선택해야 합니다.

4. 스크립트에서 이 데이터베이스를 사용합니다.

DBLookup 노드를 추가하고 검색할 테이블을 지정합니다.이 예제에서는 CallingLineID를 사용하여 Priority 테이블을 검색하는 방법을 보여 줍니다.nchar이 데이터 형식으로 선택되었으므로 조회를 입력하기 전에 숫자를 문자열로 변환해야 합니다.

조회는 기본 키로 설정된 열에서 발생합니다.나중에 동일한 행의 데이터를 사용하여 통화 변수를 채울 수 있습니다.다음 예에서는 데이터베이스와 구성 관리자 모두에서 다른 열 City를 추가하는 방법을 보여 줍니다. 이 열은 스크립트에서 채워질 수 있습니다.

다음을 확인합니다.

이 섹션을 사용하여 DB Worker가 외부 데이터베이스에 연결할 수 있는지 확인합니다.DB Worker 프로세스를 마지막으로 재시작한 이후 로그가 포함된 txt 파일을 생성합니다.

C:\Users\Administrator.ZFB>cdlog

ra

C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last

DB Worker가 dbw.txt를 사용하여 데이터베이스에 연결할 수 있는지 확인합니다.

12:39:08:413 ra-dbw Trace: Attempting integrated security open of

POD2SPRAWLA using ZFB\Administrator

12:39:08:451 ra-dbw Trace: Sucessfully impersonated ZFB\Administrator

12:39:08:476 ra-dbw Trace: 'id' is column 2 in sysobjects.

12:39:08:477 ra-dbw Trace: ID for table Priority is 5575058

12:39:08:484 ra-dbw Trace: Columns for Priority:

12:39:08:484 ra-dbw Trace: Column 1: Phone, type=47, length=30

12:39:08:536 ra-dbw Trace: Primary key for Priority is Phone, column 1.

12:39:08:557 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 0

12:39:08:557 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 1

12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 2

12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 3

12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 4

12:39:08:558 ra-dbw Trace: ScriptTable Piority is now available.

12:39:08:559 ra-dbw Trace: ScriptTable Piority (ID 5000) connected to

POD2SPRAWLA,DBLookup,Priority

12:39:08:559 ra-dbw Trace: Internal connect for POD2SPRAWLA,DBLookup,Priority

12:39:08:559 ra-dbw Trace: 'id' is column 2 in sysobjects.

12:39:08:560 ra-dbw Trace: ID for table Priority is 5575058

12:39:08:560 ra-dbw Trace: Columns for Priority:

12:39:08:560 ra-dbw Trace: Column 1: Phone, type=47, length=30

12:39:08:561 ra-dbw Trace: Primary key for Priority is Phone, column 1.

12:39:08:561 ra-dbw Trace: Column Phone (ID 5002) is table column 1, type 47.

12:39:08:561 ra-dbw Trace: ScriptTable Piority (ID 5000) connected to

POD2SPRAWLA,DBLookup,Priority

기본 키 열에 일치하는 항목이 없을 경우(스크립트의 DBLookup 노드에 의해 트리거됨) DB Worker 로그에 이 응답이 표시됩니다.

13:24:05:294 ra-dbw Trace: Queue a lookup request

13:24:05:295 ra-dbw Trace: DBWorker Thread 0 (ID 350760 Table:Priority):

Received request: transactionID 1

13:24:05:295 ra-dbw Trace: DBWorker Thread 0 (ID 350760),transactionID 1,

Attempt to read the record:

13:24:05:295 ra-dbw Trace: DBWorker transactionID 1, Failed! result=1

일치하는 항목이 있는 경우 다음과 같은 응답이 표시됩니다.

13:25:25:810 ra-dbw Trace: Queue a lookup request

13:25:25:810 ra-dbw Trace: DBWorker Thread 1 (ID 354428 Table:Piority):

Received request: transactionID 2

13:25:25:810 ra-dbw Trace: DBWorker Thread 1 (ID 354428),transactionID 2,

Attempt to read the record:

13:25:25:811 ra-dbw Trace: DBWorker Thread 1 (ID 354428),transactionID 2,

Succeeded.

문제 해결

현재 이 컨피그레이션에 사용할 수 있는 특정 문제 해결 정보가 없습니다.