12.CUBE 2.7.11 Release Note(2017년 9월)

Edit

12.1제품 기능개선

2017년 6월 릴리즈부터 제품 기능개선에 대해 진행합니다.(현재 2017년 9월 릴리즈)

2016년에는 제품 기능개선과 CMZ 사항을 추가된 기능으로 포함시켰으나 넥서스커뮤니티 내부에서 개선된 사항은 제품 기능개선으로 고객의 CMZ 요구사항으로 인한 추가기능으로 구분합니다.


제품 기능개선은 넥서스커뮤니티가 고객이 요구하기 앞서 우리가 제품향상을 위해 노력하는 부분입니다.

2017년 12월 릴리즈(2.7.12) 에 반영 예정중인 기능

1. 쿼리툴(쿼리를 직접 넣어 data 를 확인 할 수 있는 툴)

2. high level api 개발

3. 연간스케쥴 적용 개발

4. 사용자정의 라우트현황창

12.1.1CUBE UI .netframework 4.6.1 업그레이드

CUBE UI 는 기존 .netframework 2.0 기반에서 .netframework 4.6.1 로 업그레이드 했습니다. 이번 업그레이드로 닷네 버그픽스가 적용되었으며 전반적인 성능향상이 되었습니다.

기존 .netframework 버젼과 구별하기 위해 patch 번호 부여가 구분됩니다.

.netframework 2.0 의 경우는 2.7.10.00 으로 표시됩니다.

.netframework 4.6.1 부터는 2.7.11.40000 표시됩니다.

12.1.2CUBE Server emglogout 기능개선(emglogout 시 primary, secondary 에 반영)

기존 emglogout 은 이중화 시 명령을 내리는 서버만 반영되는 명령이라서 개선의 요청이 많았습니다. 이번에 emglogout 시 양쪽 서버에 로그아웃 명령이 가도록 기능을 개선하였습니다.(#19985)

setfeature의 reason code 100 일때( cubeEmergencySetFeature ) media 자체적으로 로그오프 이벤트를 생성하고, pbx에도 명령이 전달되도록 작업

반영된 media 는 alcatel, asai, csta2, ipron, meridian, scm, wchat, sky 입니다.

12.1.3CUBE Insight(i) 에서 할입, 감청 사용 기능

UI Insight 에서 할입,감청 기능을 사용할 수 있는 기능을 추가하였습니다.(#19419)

그림 12-1CM 일 때 화면

그림 12-2AVAYA 일 때 화면

메뉴ID 47번 할입감청 기능 사용

UI I 에서 할입,감청기능은 avaya 와 iPECSCM 만 가능합니다. 두 교환기에서 아이콘이 다름

12.1.4CUBE Scenario(S) 기간스케쥴 해당일자가 지난 후 기간별 스케쥴 삭제기능

UI S 에서 기간스케쥴을 등록한 뒤 해당일자가 지나도 삭제하지 않는 경우가 많았습니다. 이를 보완하기위해 추가한 기능입니다.(#19925)

1) 시나리오 로딩 시 전체범위의 날짜를 로딩하거나 원하는 날짜범위의 날짜만 로딩할 수 있다.

2) 원하는 날짜범위의 기간스케쥴을 삭제할 수 있다.

3) 접속 시마다 삭제(기본값 한달 by note2)는 본 기능에서 제외하고, 2)의 기능만을 유지한다.

자원로딩시 기간스케줄 로딩 범위 설정 및 기간스케줄 범위 단위 삭제 기능 추가(제품ID 3 메뉴ID 13)

① S 실행 시 로딩 방식을 설정하는 부분

- 전체 : 기존과 동일한 방식으로 기간스케줄 전체를 로딩한다.

- 범위 : 시작날짜와 종료날짜를 설정하여 해당하는 범위의 기간 스케줄만 로딩한다.


② 기간 스케줄을 범위 단위로 삭제하는 부분

- 시작날짜와 종료날짜를 설정하여 해당하는 범위의 기간 스케줄을 삭제한다.


③ 설정 또는 삭제 시 메세지를 표현하는 부분

12.1.5CUBE Administrator(A) 라이선스 현황 확인 기능

UI 에서 라이선스를 볼 수 있는 기능을 추가하였습니다.(#20429)

12.1.6CUBE Server 포기호정보저장 기능(포기호라우팅)

이 기능은 포기호의 정보(고객번호, 포기횟수, 직전포기큐, 직전포기시간, 총포기시간) 로컬메모리에 저장하여 이를 이용한 다양한 라우팅 전략을 활용할 수 있도록 하는 기능입니다.(#19836)
제품기능개선에도 포함된 사항입니다. (#19537)

설정방법

process.conf

[nxstate]


abcall-list-save = on # off / on

abcall-list-file = /home/cube/nexus/products/cube/abcall-list

[작업내용]

1. 포기호 정보(고객번호, 포기횟수, 직전포기큐, 직전포기시간, 총포기시간)을 nxstate 로컬 메모리에 보관한다.

2. 보관된 정보는 날짜가 변경되거나, 동일한 ANI 번호로 분배가 되면 삭제된다.

3. nxcapiGetAbandoncallinfo api 를 호출하여 ANI에 대한 포기호 정보를 가져올수있다.

4. 'abcallinfo' 문법을 사용하여 시나리오에서 ANI에 대한 포기횟수, 직전포기시간을 가져올수있다.

[시나리오 포기호 라우팅 테스트문법]

abcallinfo[AB=ANI]

( AB.count > 7) goto AAA

(( AB.count < 7 ) and (AB.count > 4 )) goto BBB

( AB.beforetime < 360 ) goto CCC

wait[5]

1->[100.0]


bookmark AAA

Priority = "A"

1->[100.0]


bookmark BBB

Priority = "B"

1->[100.0]


bookmark CCC

Priority = "C"

1->[100.0]

getAbandonCallInfo 결과값 예시

nxcapiGetAbandonCallInfo result : 1, ani[], count[0], b_time[0], b_route[], sum_abtime[0]

1개 ANI 당 메모리 사용량은 48byte 입니다.

만약 포기호 100개라면 4800byte 입니다.

12.2추가(CMZ) 및 변경(향상)된 기능

12.2.1CUBE Server RP 모니터링 여부를 prtroute에서 확인하는 기능

RP 모니터링 요청에 대한 결과를 repository에 반영하여 확인할 수 있습니다.
monitorstart에 대한 성공을 prtroute에서 monitor result(1)로 표기, 해당 라인 없으면 실패이므로 UI-A등에서 재등록 등의 판단을 할 수 있게 하는 기능입니다.(#19899)

예측가능한 모니터 실패사유


1) PBX의 링크단절

2) PBX에 해당 자원 등록되지 않음

12.2.2CUBE Server logonContext/logoffContext 에러 코드 세분화 기능

DB 접속 및 해제시(mysql, mariadb, sybase, altb, oracle) 에러코드 전송기능을 추가하였습니다.(#20466)
DB 에 에러코드를 더 상세히 분석할 수 있습니다.

<mysql>

정상

[22:50:12.434][adb.c,14][3]<allocateContextFree><ERROR_CODE :[ 1 ]>

DB 종료

[22:51:59.321][adb.c,14][3]<allocateContextFree><ERROR_CODE :[ 2003 ]>


<mariadb>

정상

[09:51:48.953][adb.c,12][3]<allocate_Context ><ERROR_CODE :[ 1 ]>

DB 종료

[09:55:32.800][adb.c,12][3]<allocate_Context ><ERROR_CODE :[ 2003 ]>


<ORACLE>

정상

[11:33:16.126][adb.c,12][3]<allocate_Context ><ERROR_CODE :[ 1 ]>

DB 종료

[11:42:06.231][adb.c,12][3]<allocate_Context ><ERROR_CODE :[ -1090 ]>


<SYBASE>

정상

[18:09:30.814][adb.c,12][3]<allocate_Context ><ERROR_CODE :[ 1 ]>

DB 종료

[18:15:30.814][adb.c,12][3]<allocate_Context ><ERROR_CODE :[ 0 ]

12.2.3CUBE Server prtroute -w 옵션에 cnid 도 표시하는 기능

PBX 에서 DV event 누락시 쓰레기콜이 발생하는데 이를 clear 해주기 위해 emgrmwcall 을 수행해야 합니다. 이 때 cnid 를 확인 할 수 있는 기능을 추가하였습니다.(#20485)

[cube@release bin]$ prtroute -w

===========================

|Rep Name | Cur / Max |

---------------------------

|Route | 2 / 150 |

---------------------------


#--------------------------------------------------------------------#

  1. route kind type wait sum avg ewt longest

#--------------------------------------------------------------------#

[1] cnid[2608000022] cid[10127] ani[2042] wtime[9]

[001] 3/10/6241 4 1 1* 0 0 30* 9

++ atime:07-11 10:00 scen:(2)분배_POW

++ en:1 ens:0 dv:0-1 at:0-0-0-0-0-0-0 at[exp]:0-0 ab:0 ns:0 fl:0 ed:0 ea:0 tr:0 cb:0 rto:0 rtf:0 rfm:0 ext:0 re:0 rea:0 lwt:100 lrs:20 ++

++ match:0 nacd:0 dskill:0

++ monitor result(1)

12.2.4CUBE Server 최대 통화시간 옵션처리 기능

CUBE 에서 콜 최대유지 시간은 3시간 입니다. 이를 옵션으로 조정할 수 있도록 하는 기능을 추가하였습니다.(#20477)

설정방법

process.conf


[nxstate]

call-limit-time = 10800

범위는 최소값 1시간에서 최대값 6시간 입니다. 따라서 3600~21600초로 설정할 수 있습니다.

기본은 10800초(3시간) 입니다.

콜 최대유지시간에서 10800초로 설정한 경우 통화중이라도 3시간이 경과하면 콜을 삭제합니다.

따라서 설정한 시간에 따라 콜이 삭제되면 통계가 집계가 되지 않기 때문에 너무 짧게 설정하시면 안됩니다.

12.2.5CUBE Server nxrouting 모니터링 및 기능 보완

라우팅 상태를 좀 더 상세히 볼 수 있도록 prtrouting tool 추가하였으며(#20037) 블랜모드의 상담원 호분배시 blocking 로직 개선하였습니다.(#20191)

routing session은 콜 이벤트, 상담원 추가, 변경, 삭제, 시나리오 이벤트를 받고 호를 분배요청하는 session 입니다.

sync session은 oid 에 사용되는 공유메모리 동기화 및 초기 master 데이터 송수신 부분 session 입니다.


이 두개의 session 상태를 확인 할수 있으며, 총 4개의 상태가 있습니다.

down : 연결이 끊겨있으며, 접속 시도하지 않는 상태입니다.

trying : 연결은 끊겨있으나, 접속을 시도하는 상태입니다.

connected : 연결은 되었으나, 서비스에 필요한 정보를 송수신하지 않은 상태입니다.

servriceok : 연결이 되었으며, 서비스에 필요한 정보를 송수신하였습니다.


exdetail에 나타나는 항목은 엔진시작시 process.conf의 [nxlistener] 항목을 읽어서 사용합니다.

routing::{ ::count:3{

00 = { uptime=2017-06-05 14:38:19 ip=121.170.212.196:9700 state:ready }

01 = { uptime=2017-06-07 11:06:50 ip=121.170.212.195:9700 state:ready }

02 = { uptime=2017-06-05 14:35:47 ip=121.170.212.181:9700 state:active }

}

exdetail::{

conf count:3 {

00 = { nxlistener 1200 -> center=2 routing=121.170.212.181:9799 serviceok

sync =121.170.212.181:9798 serviceok

extsnyc=2017-06-05 14:47:19

}

01 = { nxlistener 1200 -> center=1 routing=121.170.212.196:9799 serviceok

sync =121.170.212.196:9798 serviceok

extsnyc=2017-06-05 14:47:19

}

02 = { nxlistener 1200 -> center=1 routing=121.170.212.195:9799 serviceok

sync =121.170.212.195:9798 serviceok

extsnyc=0000-00-00 00:00:00

}

}

12.2.6CUBE Repoter(R) 캠페인 발신리스트 장표 기능추가

캠페인 발신 리스트 장표에 고객정보 마스킹 처리와 상담결과를 추가하였습니다.(#19228)

사전조건

DB MA_VERSION 테이블에서 v2.7.10 이상으로 표시되어야 합니다.

VW_DALIST.SQL 뷰가 추가되어야 합니다.

12.2.7CUBE Messenger(M), Administrator(A) 비밀번호 변경 제한 기능

상담원이 비밀번호를 환경설정에서 변경하는 기능을 제한하는 기능을 추가하였습니다.(#20668)

CUBE M 권한 31번 입니다.

CUBA A 권한은 43번 입니다.

12.2.8CUBE Campaign(C) 잔량 부족 알림 갯수 제한기능

CUBE Campaign(C) 에서 잔략 부족 알림 갯수를 5자리로 제한하였습니다.(#20046)

12.2.9CUBE Campaign(C) 채널그룹 생성 및 할당 기능

CUBE C 에서 채널그룹을 생성하고 생성된 채널그룹을 할당하는 기능입니다.(#20010)

설정방법은 EXD-01.INF 에서 다음 옵션 설정시 사용가능합니다.


[OPTION]

USE_CIDS_GROUP=1


[SHAREDMEMORY]

SMCIDSGROUP=50022, SMCIDSGROUPSIZE=100

nxDialer(IP) 에서는 2017년 12월 릴리즈에 반영예정입니다.

12.2.10CUBE Campaing(C) 업무시간 설정 기능

캠페인 실행을 업무시간으로 제한하기위해 업무시간 설정 및 캠페인 실행 제한기능을 추가하였습니다.(#20701)

12.2.11CUBE Insight(i) 성능개선

CUBE Insight 상담원 모니터창에서 데이터 관리방식을 변경하여 성능을 개선하였습니다.(#17894)

5000명 성능 테스트 결과 30% 정도 향상되었습니다.

12.2.12CIOD Petra 암호화 연결

Petra 암호화 사용중 암호화 연결이 끊어진 경우 엔진에서 통계 남기는 방법과 Recovery 에 대해 정리했습니다.(#18713)

Petra 암호화 사이트 Recovery 방법(원문 -> 암호화 하여 입력시)

Petra 암호화 사용하는 고객사에서 암호화 문제 발생시 Recovery 방법입니다.

(다른 암호화도 Recovery 방법은 동일 하나 추가 작업은 필요합니다)


EXD-01.INF에서 아래 설정을 통해 통계 파일(CmRlt)과 Database에 암호화 설정을 할수 있습니다.


encryption.file.field = telno,custkey,

encryption.db.field = telno,tkda


encryption.file.type = petra

encryption.db.type = petra

그러면 엔진에서는 데이터를 Petra 암호화 상태로 데이터를 쌓게 되는데, 다음 케이스와 같이 암호화가 끊어진 경우가 발생할수 있습니다.


1. 엔진 시작시 Petra 암호화 연결이 안되는 경우

2. 엔진 사용중 상태에서 Petra 암호화 연결이 끊어지는 경우


이때, 엔진에서는 DBFILE과 Database에 대해 원문으로 데이터를 쌓게 되며, 끊어진 시점부터 .PETRA 형태로 추가적인 DBFILE을 생성합니다.


예) CmRlt-1-20170710.PETRA


암호화가 정상이 되면 다시 암호화 형태로 데이터를 쌓게 되는데, 추후 원문으로 쌓인 데이터에 대해 Recovery를 해야 합니다.


Recovery시는 .PETRA 파일을 가지고 원문으로 쌓인 CmRlt 파일과 Database를 변경 할수 있습니다.

단, EXD-01.INF에 설정된 내용을 읽어다가 Recovery하기에 설정 옵션을 바꾸면 안되며, 당일은 복구는 불가합니다.


다음과 같이 EXD-01.INF에 암호화가 설정된 상태에서


encryption.file.field = telno,custkey

encryption.db.field = telno,tkda


encryption.file.type = petra

encryption.db.type = petra


다음 명령으로 Recovery 실행하게 되는데

복구 실행 : EXDfr 01 RECOVERY ./FILE/CmRlt-1-20170709.PETRA


Recovery 성공시 CmRlt 파일에 대해서는 Telno, Custkey에 대해서 암호화 되어 파일이 변경되며,

DB에 대해서는 Telno, Tkda에 대해서 암호화 되며, .PETRA 파일은 그대로 보존됩니다.


Recovery 후에는 데이터 정상 여부를 확인한 다음에 .PETRA 파일을 삭제 하시기 바랍니다.(고객 정보가 원문으로 남아 있음)

12.2.13CUBE nxAdaptor_S master 시나리오 갯수 500개 이상일 경우 core 발생 개선

nxAdaptor 에서 고정리스트로 500개로 적용된 것을 동적리스트로 변경하였습니다. 현재는 ipc.conf 에 route-size 에 설정된 개수만큼 적용됩니다.(#20922)

MAX 값은 1000 개로 제한합니다.

12.2.14CIOD 채널모니터 기능

채널 상태를 모니터링 할 수 있도록 기능을 추가했습니다.(#20583)

12.2.15DB 상담원 IVR 호전환 업무 flow 정의를 추가하였습니다.

12.2.16DB sybase OB 를 추가하였습니다.

12.3버그수정

12.3.1CUBE Server ARS 결제처리후 busy 처리 버그 수정

12.3.2CUBE Server nxSender 메모리 초기화 버그 수정

12.3.3CUBE Server 시나리오 Midcopy 버그 수정

12.3.4CUBE nxAdaptor_M UUID 길이 때문에 쪽지 안가는 현상 버그 수정

12.3.5CUBE nxAdaptor R,S 통합자원관리 ID,PW 사이즈 다른현상 버그 수정

12.3.6CUBE Administrator(A) 상태사유 변경값 자원 불일치 버그 수정

12.3.7CUBE Administrator(A) 일괄입력 로그인ID 잘못들어가는 버그 수정

12.3.8CUBE Repoter(R) 상담원 사유(총합) 장표 엑셀 변환시 상담원 ID 부분에 상담원 표시되는 버그 수정

12.3.9CUBE Repoter(R) 상담원실적(통화) 조회안되는 현상 수정

12.3.10UI S xml 파일 중 범위 정보가 없을 경우 오동작 현상 수정

12.3.11nxcapi_dll 로그 잘못쌓이는 현상 수정

12.3.12nxcapi_dll 콜아이디 음수일 때 사용할 수 있도록 수정

12.3.13CIOD 앞단 power 모드 발신후 큐로 인입되어 상담사 연결시 IB 로잡히는 현상 OB 로 잡도록 수정

12.3.14CIOD cleare 버퍼 크기가 상이하여 core 발행한 현상 수정

12.3.15DB PROC_EMPLOYEECALL_RECLOSING 버그 수정

12.42017년 9월(2.7.11) 릴리즈 정리

대략적인 patch 개수 250여개 입니다.

버젼별 이슈를 포함시키면 300여개 입니다.


엔진 NEXUSCUBE v2.7.10.63

엔진 NEXUSCUBE v3.0.2.51

DB NEXUSCUBE v2.7.10.2

DB NEXUSCUBE v3.0.2.2

NEXUSCUBE-M v2.7.10.3

NEXUSUCBE-P v2.7.10.5

NEXUSUCBE-I v2.7.10.30

NEXUSUCBE-R v2.7.10.24

NEXUSUCBE-A v2.7.10.20

NEXUSUCBE-S v2.7.10.7

NEXUSCUBE-C v2.7.10.13