10.CUBE 3.0.3 Release Note(2017년 9월)

Edit

10.1제품 기능개선

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

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


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

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

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

2. high level api 개발

3. 연간스케쥴 적용 개발

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

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

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

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

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

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

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

그림 10-1CM 일 때 화면

그림 10-2AVAYA 일 때 화면

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

10.1.5CUBE 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 입니다.

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

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

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

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


1) PBX의 링크단절

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

10.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 ]

10.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)

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

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

설정방법

process.conf


[nxstate]

call-limit-time = 10800

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

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

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

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

10.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

}

}

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

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

사전조건

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

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

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

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

CUBE M 권한 31번 입니다.

CUBA A 권한은 43번 입니다.

10.2.8CUBE Insight(i) 성능개선

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

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

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

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

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

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

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

10.3버그수정

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

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

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

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

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

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

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

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

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

10.3.10DB PROC_EMPLOYEECALL_RECLOSING 버그 수정