럭시스 IP-PBX SDK 연동 Java / JSP SDK (luxsys.jar) 주식회사럭시스 http://www.luxsys.net 1600-5998
목차 1. SDK Package 구성 2. 설치 3. API 소스설명 CTI 기능 luxsys_killsession Pop창에서웹링크로들어온세샨키를없세버리는방법 / 루틴 luxsys_click2dial 전화통화방식 : (Click-to-Dial 하고 Power/Multi-Dialer 기능 ) luxsys_transfer 바로넘겨주기 / 돌려주기기능 : (Blind Transfer) luxsys_agentpause 상담원별수신거부설정 ( 로그인 / 로그아웃 / 후처리 / 휴식시간 / 식사시간 ) luxsys_dndstate 업무용상담원상태를실시간에확인하는기능 ( 후처리, 휴식시간, 식사중, DND 수신거부 ) luxsys_devstate 단말기실시간상태확인 (BLF/SLA 상태 ) luxsys_hangup 전화끊기 (Hangup) luxsys_talkback 럭시스 ARS 하고외부웹 CRM 연동시 Action/URL 링크로실행하는스크리프트의 API
SDK Package 구성 SDK 기술라이센스 : license.txt SDK 설명서 : readme.txt JAR library module: postgresql-8.4-701.jdbc3.jar luxsys.jar JSP Sample, 샘플소스 : index.html call.jsp cdr.jsp
설치 Windows OS 환경에서 Tomcat 웹서버설치및사용방법 : 1) Java JDK 하고 JRE 를서버에설치를합니다. 2) 아래웹사이트에서 Tomcat 6.x 소프트웨어를다운로드하고설치를합니다. http://tomcat.apache.org/ 3) 윈도의시시템속성에서 %CATALINA_HOME 환경변수를설정하고 SDK 위한 Class 하고 lib 폴더를생성합니다. C:\mkdir %CATALINA_HOME\shared\lib 4) 럭시스 SDK Luxsys.jar 파일을 %CATALINA_HOME\shared\lib 풀더에복사하고 (postgresql-8.4-701.jdbc3.jar) PostgreSQL JDBC 드라이버를 %CATALINA_HOME\lib 풀더에복사를합니다. 5) %CATALINA_HOME\conf\catalina.properties 파일을열어서아래설명에따라수정을합니다. catalina.properties 의 shared.loader 단어를찾아서 shared.loader 의내용를변경합니다. shared.loader=${catalina.base/shared/lib,${catalina.base/shared/lib/*.jar,${catalina.home/shared/lib,${catalina.home/shared/lib/*.jar %CATALINA_HOME\conf\catalina.policy 파일에아래내용을추가합니다. grant codebase "file:${catalina.home/shared/lib/-" { permission java.security.allpermission; ; 6) Custom Tag 설정파일을 ${catalina.base/tlds/ 풀더에복사합니다. ${catalina.base/tlds/luxsys.tld 7) Tomcat 서버를재실행하고설치가완료가됩니다.
luxsys.jar API 설명및사용방법 CTI: CTI 기능사용하기위해서사용자컴퓨터에대기업 ECRM 프로그램을설치를해야됩니다.
Pop 창에서웹링크로들어온세샨키를없세버리는방법 / 루틴 : ------------------------------------------------- public void luxsys_killsession(string Serverip, String Session); 값들 : - - - - - - - - - Serverip STRING ( 서버아이피 / 도메인주소 ) Session STRING ( 세샨키 ) JSP: <%@ taglib prefix="luxsdk" uri="../../tlds/luxsys.tld" %> <luxsdk:killsess serverip=' 서버아이피 ' uniqsess='<%=request.getparameter("sess")%>'/> Java 샘플 (KilSessTag.java): package lgi; import java.io.*; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class KillSessTag extends TagSupport { private String serverip = ""; private String uniqsess = ""; public void setserverip(string serverip) { this.serverip = serverip; public void setuniqsess(string uniqsess) { this.uniqsess = uniqsess; public int dostarttag() throws JspException { luxsys sdk = new luxsys(); sdk.luxsys_killsession(serverip,uniqsess); catch (Exception ioe) { pagecontext.getout().println("sdk 실행실패!"); catch (IOException e) { return SKIP_BODY;
전화통화방식 : (Click-to-Dial 하고 Power/Multi-Dialer 기능 ) ------------------------------------------------ public void luxsys_click2dial (String Serverip, String ExtNum, String DialNum, String DOpts) throws IOException; 1) 서버 : 럭시스 IP PBX 의아이피주소 ( 도메인 ) 2) 내선 :- 사용자의단말내선번호입니다. 외부발신전화가이내선번호로연결됩니다. - Click2Dial 기능 E-CRM 하고연결되고있는기능입니다.AMP 만아니고꼭 E-CRM 에서설정되야합니다. - 사용하기전에, E-CRM 프로그램에들어가서사용자관리창에서계정을만들어서 < 내선 1.> 선택하고저장눌으면설정이됩니다 - 사용자관리창에서내선번호를선댁할수있는 4 가지옵션이있지만, 전화발신할데는 < 내선 1.> 만사용하게됩니다. 남어지세팅은 CTI 기능에서사용합니다. - < 내선 1.> 를세팅할데중복으로설정되지않도록해야됩니다. < 내선 1.> 을한계정에서만세팅해야됩니다. 3) 거는번호 ( 들 ): 예 : 0101234000,16005998 4) 방법 : 숫자 (1,2,3,4) <1>: 기본세팅 ( 외부 / 내부연결 ). 전화걸데, 먼저사용자의단말울리고, 전화를받으면상대방한데전화걸게됩니다. <2>: ENUM /SIP URI 번호. <3>: 기본세팅 <1> 방대로, 전화가먼저상대방에서울리고, 그다음에내선으로연결됩니다. <4>: 기본세팅 <1> 방대로, 전화가먼저상대방에서울리고, 그다음에내선으로바로연결됩니다 ( 인터콤기능 ). 5) 예약콜기능사용할데는방법값하고예약시간을주면됩니다. 예약시간방식 : [ 년 ][ 월 ][ 일 ][ 시간 ][ 분 ] :yyyymmddhhmm 예 : luxsys_click2dial( 서버아이피, 3001, 01012340074, 1:201001301505 ); 외부발신 : luxsys_click2dial( 서버아이피, 3000, 16005998,1); luxsys_click2dial( 서버아이피, 3000, 0216005998,01012340074,3); // 멀티다이얼기능, 여러번호로동시에걸기. 내선걸기 : luxsys_dial_number( 서버아이피, 3000, 3001,1); JSP: <%@ taglib prefix="luxsdk" uri="../../tlds/luxsys.tld" %> <luxsdk:c2dial exten='3000' dialnum='01012340074' opts='1'/>
Java 샘플 (c2dial.java): class c2dial { public static void main(string[] args) { luxsys sdk = new luxsys(); sdk.luxsys_click2dial(" 서버아이피 ","3000","0216005998","1"); catch (Exception ioe) { System.out.println("SDK 실행실패!"); Java Tag 샘플 (C2DialTag.java): package lgi; import java.io.*; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class C2DialTag extends TagSupport { private String serverip = ""; private String exten = ""; private String dialnum = ""; private String opts = "1"; public void setserverip(string serverip) { this.serverip = serverip; public void setexten(string exten) { this.exten = exten; public void setdialnum(string dialnum) { this.dialnum = dialnum; public void setopts(string opts) { this.opts = opts; public int dostarttag() throws JspException { luxsys sdk = new luxsys(); sdk.luxsys_click2dial(serverip,exten,dialnum,opts); catch (Exception ioe) { pagecontext.getout().println("sdk 실행실패!"); catch (IOException e) { return SKIP_BODY;
바로넘겨주기 / 돌려주기기능 : (Blind Transfer): ------------------------------------------------- public void luxsys_transfer (String Serverip, String ExtNum, String DialNum) throws IOException; 1) 서버 : 럭시스 IP PBX 의아이피주소 ( 도메인 ) 2) 통화중인내선번호 :- 사용자의단말내선번호입니다. - Transfer 기능이 E-CRM 하고연결되고있는기능입니다. AMP 만아니고꼭 E-CRM 에서설정되야합니다. - 사용하기전에, E-CRM 프로그램에들어가서사용자관리창에서계정을만들어서 < 내선 1.> 선택하고저장눌으면설정이됩니다. - 사용자관리창에서내선번호를선댁할수있는 4 가지옵션이있지만, 전화발신할데는 < 내선 1.> 만사용하게됩니다. 남어지세팅은 CTI 기능에서사용합니다. - < 내선 1.> 를세팅할데중복으로설정되지않도록해야됩니다. < 내선 1.> 을한계정에서만세팅해야됩니다. 3) 연결할번호 : 내선번호나외부발신번호. luxsys_transfer(" 녹취서버아이피 ", " 통화중인내선번호 ", " 연결할번호 ") 외부로넘겨주기 : luxsys_transfer( 192.168.2.95, 4500, 01022240000 ) 내부내선으로넘겨주기 : luxsys_transfer( 192.168.2.95, 4500, 4501 )
상담원별수신거부설정 ( 로그인 / 로그아웃 / 후처리 / 휴식시간 / 식사시간 ): ------------------------------------------------- public void luxsys_agentpause (String Serverip, String Extension, String paused) throws IOException; 값들 : - - - - - - - - - serverip STRING ( 서버아이피 / 도메인주소 ) extension STRING ( 상담원의내선번호 ) paused INTEGER ( 대기상태설정 ): 1 경우 (DND/ 수신거부 / 통화중 / PAUSE / 후처리 ) 10 경우 ( 대기중 / 수신거부해제 / UNPAUSE / 후처리해제 ) 2 경우 (DND / 휴식시간설정 ) 20 경우 ( 대기중 / 휴식시간해제 ) 0 상담원로그인 3 상담원로그아웃 4 경우 (DND / 식사시간설정 ) 40 경우 ( 대기중 / 식사시간해제 ) 5 경우 (DND / 문서수발신설정 ) 상담업무중고객에게온팩스를확인하거나팩스를고객에게발송하거나하는업무를동시에하게된상태. 50 경우 ( 대기중 / 문서수발신해제 ) 예 ) luxsys_agentpause("192.168.2.95","4500",1) // DND 후처리설정 luxsys_agentpause("192.168.2.95","4500",10) // DND 후처리해제 luxsys_agentpause("192.168.2.95","4500",2) // DND 휴식시간설정 luxsys_agentpause("192.168.2.95","4500",20) // DND 휴식시간햐제 luxsys_agentpause("192.168.2.95","4500",0) // 로그인 luxsys_agentpause("192.168.2.95","4500",3) // 로그아웃 JSP 샘플 : <%@ taglib prefix="luxsdk" uri="../../tlds/luxsys.tld" %> <luxsdk:dnd serverip=' 서버아이피 ' exten=' 내선번호 ' opts='1'/>
Java Tag 샘플 (DNDTag.java): package lgi; import java.io.*; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class DNDTag extends TagSupport { private String serverip = ""; private String exten = ""; private String opts = ""; public void setserverip(string serverip) { this.serverip = serverip; public void setexten(string exten) { this.exten = exten; public void setopts(string opts) { this.opts = opts; public int dostarttag() throws JspException { luxsys sdk = new luxsys(); sdk.luxsys_agentpause(serverip,exten,opts); catch (Exception ioe) { pagecontext.getout().println("sdk 실행실패!"); catch (IOException e) { return SKIP_BODY;
업무용상담원상태를실시간에확인하는기능 ( 후처리, 휴식시간, 식사중, DND 수신거부 ): ------------------------------------------------- public int luxsys_dndstate(string Serverip, String Extension); 값들 : - - - - - - - - - Serverip STRING ( 서버아이피 / 도메인주소 ) Extension STRING ( 내선번호 ) return : int: 결과코드 0 : 대기중 (DND 해제 / 로그인상대 ) ) 1 : DND 설정 ( 후처리중 ) 2 : DND 설정 ( 휴식시간중 ) 3 : DND 설정 ( 상담원이로그앗을했습니다 ) 4 : DND 설정 ( 식사시간중 ) 5 : DND 설정 ( 문서수발신 )
단말기실시간상태확인 (BLF/SLA 상태 ): ------------------------------------------------- public int luxsys_devstate(string Serverip, String extension); 값들 : - - - - - - - - - serverip STRING ( 서버아이피 / 도메인주소 ) extension STRING ( 내선번호 ) return : int: 결과코드 -1 나 255 = 내선번호를찾을수없습니다. 0 = Idle ( 대기중 : 전화를받을수있습니다 ) 1,2 = In Use/Busy ( 통화중 ) 4 = Unavailable ( 연결실패 : 단말기연결되고있지않습니다.) 8 = Ringing ( 연결중 ) 16 = On Hold ( 보류중 )
전화끊기 (Hangup): ------------------------------------------------- public void luxsys_hangup (String Serverip, String Extension) throws IOException; 함수설명 : 1) 서버 : 럭시스 IP PBX 의아이피주소 ( 도메인 ) 2) 내선번호 :- 통화중인내선번호입니다. luxsys_hangup( 192.168.2.95, 4500 ); JSP: <%@ taglib prefix="luxsdk" uri="../../tlds/luxsys.tld" %> <luxsdk:hangup serverip='192.168.2.95' exten='4500'/> Java Tag 샘플 (HangupTag.java): package lgi; import java.io.*; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class HangupTag extends TagSupport { private String serverip = ""; private String exten = ""; public void setserverip(string serverip) { this.serverip = serverip; public void setexten(string exten) { this.exten = exten; public int dostarttag() throws JspException { luxsys sdk = new luxsys(); sdk.luxsys_hangup(serverip,exten); catch (Exception ioe) { pagecontext.getout().println("sdk 실행실패!"); catch (IOException e) { return SKIP_BODY;
럭시스 ARS 하고외부웹 CRM 연동시 Action/URL 링크애서실행하는스크리프트 API : ------------------------------------------------- public void luxsys_talkback(string Serverip, String Uniqueid, int pmode, String ret1, String ret2); 값들 : - - - - - - - - - Serverip STRING ( 서버아이피 / 도메인주소 ) Uniqueid STRING ( 유니크번호 ) 콜 Session 번호, 통화기록 / 녹취내용번호 pmode INTEGER ( 작업번호 1: 명호번호확인, 2: 기전고객,3: 콜백, 등...) ret1 STRING ( 결과값.1) 명호번호 ret2 STRING ( 결과값.2) 결과 : Y: 맞는번호 ( 확인완효 ), N: 미등록고객 ( 실패 ) 실행링크 : http:// 외부웹서버아이피 /ars/ars.jsp?uniqueid= 유니크번호 &pmode=1&arg1= 발신자표시 &arg2= 면호번호 ( 입렵번호 ) http://tomcat.server.org/ars/ars.jsp?uniquei=1231312321.123&pmode=1&arg1=01012341234&arg2=123456 Java 샘플 (talk_back.java): package lgi; class talk_back { public static void main(string[] args) { luxsys sdk = new luxsys(); sdk.luxsys_talkback("192.168.2.95","1287547668.1235",1,"12345","n"); System.out.println("SDK 실행성공!"); catch (Exception ioe) { System.out.println("SDK 실행실패!");
Copyright 2011, Luxsys Inc. All Rights Reserved Tel : 1600-5998 E-mail : support@luxsys.net Home : www.luxsys.net