ÿþ(function (w, f) { "use strict"; if (w.cti) { console.log("cti already extend"); return; } typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = f() : typeof define === 'function' && define.amd ? define(f) : (w = w || self, w.cti = f(), w.createCTI = f); })(window, function f() { // ************************************************************************ // …Q萹eÕl if (window.cti) { return window.cti; } var cti = new Object(); var pollEvent = false; var baseUrl = "http://127.0.0.1:4151/cti/"; // ÀhågÂSpe/f&T:Nzz function argumentNotNull(value, name) { if (value == undefined || value == null) { throw new Error("ÂSpe '" + name + "' Ný€:Nzz."); } } // „g  XmlHttp ù[aŒ function createRequest() { var xmlHttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlHttp = new XMLHttpRequest(); //ˆ”ù[Ðg›Nyrš[Hr,g„vmozillarOmȉhV„vbugۏLˆîOck0 if (xmlHttp.overrideMimeType) { xmlHttp.overrideMimeType('text/xml'); }; } else {// code for IE6, IE5 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } return xmlHttp; } // ÀhågOmȉhV/f&T IE function browserIsIE() { //ÖS—_OmȉhV„vuserAgentW[&{2N var userAgent = navigator.userAgent; if (userAgent != undefined && userAgent != null) { return userAgent.indexOf("MSIE") > -1; } return false; } // ÑS÷‹Blv^I{…_ԏÞV function doRequest(method, url, data) { var request = createRequest(); request.open(method, baseUrl + url, false); request.setRequestHeader("If-Modified-Since", "0"); request.setRequestHeader('X-Request-With', null) request.setRequestHeader("Content-Type", "text/html; charset=UTF-8"); if (data == null || data == undefined) { request.send(); } else { request.send(data); } if (request.status != 200) { throw new Error("÷‹Bl1Y%, •ï‹x " + request.status); } var text = request.responseText; if (text == null || text == undefined || text == '') { throw new Error(" g¡RhVÍT”^àeHe."); } // ԏÞVÓ~œg:N JSON W[&{2N var response = eval("(" + text + ")"); // Íd\O1Y%R›búQ_8^ if (!response.Result) { throw new Error(response.Message); } return response.Value; } // ÑS÷‹Bl_ek function doRequestAsync(method, url, success, fail) { var request = createRequest(); request.open(method, baseUrl + url, true); request.setRequestHeader("If-Modified-Since", "0"); request.setRequestHeader('X-Request-With', null); request.setRequestHeader("Content-Type", "text/html; charset=UTF-8"); request.onreadystatechange = function () { if (request.readyState == 4) { if (request.status != 200) { fail("÷‹Bl1Y%, •ï‹x " + request.status); return; } var text = request.responseText; if (text == null || text == undefined || text == '') { fail(" g¡RhVÍT”^àeHe "); return; } // ԏÞVÓ~œg:N JSON W[&{2N var response = eval("(" + text + ")"); // Íd\O1Y%R›búQ_8^ if (!response.Result) { fail(response.Message); return; } success(response.Value); } } request.send(); } // ÀhågÂSpe/f&T:Nzz function argumentNotNull(value, name) { if (value == undefined || value == null) { throw new Error("ÂSpe '" + name + "' Ný€:Nzz."); } } var isIE = browserIsIE(); // ·ƒÖS‹NöN function getEvent() { try { if (pollEvent) { var request = createRequest(); request.open("GET", baseUrl + "getevent", true); request.setRequestHeader("If-Modified-Since", "0"); if (isIE) { request.onreadystatechange = function () { if (request.readyState == 4) { var status = request.status; var response = request.responseText; getEvent(); if (status == 200) { processEvent(response); } } } } else { request.onloadend = function () { var status = request.status; var response = request.responseText; console.log(response); getEvent(); if (status == 200) { processEvent(response); } } } request.send(); } } catch (e) { } } // c}‹NöN function attachEvent() { if (!pollEvent) { pollEvent = true; getEvent(); } } // ÖSˆmc}‹NöN function detachEvent() { pollEvent = false; } // ‹NöNRÑS function processEvent(e) { try { var obj = eval("(" + e + ")"); if (!obj.Result) { return; } var evt = obj.Value; if (evt == null || evt == undefined) { return; } switch (evt.EventName) { case "OnAgentStateChanged": if (cti.onAgentStateChanged) { cti.onAgentStateChanged(evt.EventArgs); } break; case "OnAnswerRequest": if (cti.onAnswerRequest) { cti.onAnswerRequest(); } break; case "OnCallDialing": if (cti.onCallDialing) { cti.onCallDialing(); } break; case "OnCallStateChanged": if (cti.onCallStateChanged) { cti.onCallStateChanged(); } break; case "OnCallFailure": if (cti.onCallFailure) { cti.onCallFailure(evt.EventArgs); } break; case "OnCallEventStart": if (cti.onCallEventStart) { cti.onCallEventStart(); } break; case "OnCallEventEnd": if (cti.onCallEventEnd) { cti.onCallEventEnd(); } break; case "OnCallReturnFromIVR": if (cti.onCallReturnFromIVR) { cti.onCallReturnFromIVR(); } break; case "OnTransferArrived": if (cti.onTransferArrived) { cti.onTransferArrived(); } break; case "OnForceReady": if (cti.onForceReady) { cti.onForceReady(); } break; case "OnForceBusy": if (cti.onForceBusy) { cti.onForceBusy(); } break; case "OnForceLogout": if (cti.onForceLogout) { cti.onForceLogout(); } break; case "OnRecordStart": if (cti.onRecordStart) { cti.onRecordStart(evt.EventArgs); } break; case "OnRecordStop": if (cti.onRecordStop) { cti.onRecordStop(); } break; case "OnRecordDownloadComplete": if (cti.onRecordDownloadComplete) { cti.onRecordDownloadComplete(evt.EventArgs); } break; case "OnRecordDownloadFailed": if (cti.onRecordDownloadFailed) { cti.onRecordDownloadFailed(evt.EventArgs); } break; case "OnReceiveMessage": if (cti.onReceiveMessage) { cti.onReceiveMessage(evt.EventArgs); } break; case "OnReceiveBulletin": if (cti.onReceiveBulletin) { cti.onReceiveBulletin(evt.EventArgs); } break; case "OnChatMessageReceived": if (cti.onChatMessageReceived) { cti.onChatMessageReceived(evt.EventArgs); } break; case "OnWaveInASRResult": if (cti.onWaveInASRResult) { cti.onWaveInASRResult(evt.EventArgs); } break; case "OnWaveOutASRResult": if (cti.onWaveOutASRResult) { cti.onWaveOutASRResult(evt.EventArgs); } break; case "OnMessage": if (cti.onMessage) { cti.onMessage(evt.EventArgs); } break; case "OnSoftphoneQosNotify": if (cti.onSoftphoneQosNotify) { cti.onSoftphoneQosNotify(evt.EventArgs); } break; case "OnAgentAsrNotify": if (cti.onAgentAsrNotify) { cti.onAgentAsrNotify(evt.EventArgs); } break; case "OnAgentPhoneRinging": if (cti.onAgentPhoneRinging) { cti.onAgentPhoneRinging(evt.EventArgs); } break; case "OnAgentPhoneConnected": if (cti.onAgentPhoneConnected) { cti.onAgentPhoneConnected(evt.EventArgs); } break; case "OnCustomerAlerting": if (cti.onCustomerAlerting) { cti.onCustomerAlerting(evt.EventArgs); } break; // --add by YC 20190415 for ZTE begin-- case "OnSetReadyFailure": if (cti.onSetReadyFailure) { cti.onSetReadyFailure(evt.EventArgs); } break; case "OnSetReadySuccess": if (cti.onSetReadySuccess) { cti.onSetReadySuccess(evt.EventArgs); } break; case "OnReleaseFailure": if (cti.onReleaseFailure) { cti.onReleaseFailure(evt.EventArgs); } break; case "OnReleaseSuccess": if (cti.onReleaseSuccess) { cti.onReleaseSuccess(evt.EventArgs); } break; case "OnSetBusyFailure": if (cti.onSetBusyFailure) { cti.onSetBusyFailure(evt.EventArgs); } break; case "OnSetBusySuccess": if (cti.onSetBusySuccess) { cti.onSetBusySuccess(evt.EventArgs); } break; case "OnLongNoAnswer": if (cti.onLongNoAnswer) { cti.onLongNoAnswer(evt.EventArgs); } break; // --add by YC 20190415 for ZTE end-- // add by YC 20190419 for UCC case "OnConsultStateChange": if (cti.onConsultStateChange) { cti.onConsultStateChange(evt.EventArgs); } break; // --add by YC 20190506 For UCC begin-- // Oo`bŸR case "OnSetRestSuccess": if (cti.onSetRestSuccess) { cti.onSetRestSuccess(evt.EventArgs); } break; // ÖSˆmOo`bŸR case "OnCancelRestSuccess": if (cti.onCancelRestSuccess) { cti.onCancelRestSuccess(evt.EventArgs); } break; //Oo`…öe case "OnRestTimeOut": if (cti.onRestTimeOut) { cti.onRestTimeOut(evt.EventArgs); } break; //ï1u case "OnTracertMsg": if (cti.onTracertMsg) { cti.onTracertMsg(evt.EventArgs); } break; // --add by YC 20190506 end-- case "OnTransResult": if (cti.onTransResult) { cti.onTransResult(evt.EventArgs); } break; // --add by YC 20190806 case "OnSoftPhoneLoginFail": if (cti.onSoftPhoneLoginFail) { cti.onSoftPhoneLoginFail(evt.EventArgs); } break; case "OnCustomerReleased": if (cti.onCustomerReleased) { cti.onCustomerReleased(evt.EventArgs); } break; case "OnAgentHangUp": if (cti.onAgentHangUp) { cti.onAgentHangUp(evt.EventArgs); } break; case "OnAnalysisChange": if (cti.onAnalysisChange) { cti.onAnalysisChange(evt.EventArgs); } break; case "onQueueNumNotify": if (cti.onQueueNumNotify) { cti.onQueueNumNotify(evt.EventArgs); } break; default: break; } if(evt.EventName){ cti.writeLog("Recieve Event"+e); } } catch (ex) { } } // ************************************************************************ // CTI ‹NöN // §^-^¶r`9eØS‹NöN // ÂSpeÿ agentStateEventArgs - §^-^¶r`‹NöNÂSpe cti.onAgentStateChanged = function (agentStateEventArgs) { }; // |TëS¶r`9eØS‹NöN cti.onCallStateChanged = function () { }; // «ˆ:_6R:yò•‹NöN cti.onForceReady = function () { }; // «ˆ:_6R:yÙ_‹NöN cti.onForceBusy = function () { }; // «ˆ:_6R~{úQ‹NöN cti.onForceLogout = function () { }; // ÷‹Bl”^T{‹NöN cti.onAnswerRequest = function () { }; // |TëSèb÷S‹NöN cti.onCallDialing = function () { }; // Ý‹_ËY‹NöN cti.onCallEventStart = function () { }; // Ý‹Ó~_g‹NöN cti.onCallEventEnd = function () { }; // |TëSÎNIVRԏÞV‹NöN cti.onCallReturnFromIVR = function () { }; // |TëS1Y%‹NöN // ÂSpeÿ callFailureEventArgs - |TëS1Y%‹NöNÂSpe cti.onCallFailure = function (callFailureEventArgs) { }; // l¥c0R¾‹NöN cti.onTransferArrived = function () { }; // Ý‹U_ó—_ËY‹NöN // ÂSpeÿ recordEventArgs U_ó—‹NöNÂSpe cti.onRecordStart = function (recordEventArgs) { }; // Ý‹U_ó—Ó~_g‹NöN cti.onRecordStop = function () { }; // N}U_ó—Œ[b cti.onRecordDownloadComplete = function (downloadRecordEventArgs) { }; // N}U_ó—1Y% cti.onRecordDownloadFailed = function (downloadRecordEventArgs) { }; // ¥c6e¿O~{‹NöN cti.onReceiveMessage = function (messageEventArgs) { }; // ¥c6elQJT‹NöN cti.onReceiveBulletin = function (messageEventArgs) { }; // ¥c×SJ€)Yˆmo` cti.onChatMessageReceived = function (e) { }; // 󗑘“eQí‹ó—Æ‹+RÓ~œg cti.onWaveInASRResult = function (e) { }; // 󗑘“úQí‹ó—Æ‹+RÓ~œg cti.onWaveOutASRResult = function (e) { }; // 6e0R¨cˆmo` cti.onMessage = function (e) { }; // o5u݋ QOS Ñv§c cti.onSoftphoneQosNotify = function (e) { }; // í‹ó—Æ‹+R‹NöN cti.onAgentAsrNotify = function (e) { }; // PW-^݋:g/cÔ cti.onAgentPhoneRinging = function (e) { }; // PW-^݋:g¥c cti.onAgentPhoneConnected = function (e) { }; // ¢[7b/cÔ cti.onCustomerAlerting = function (e) { }; //-----------add by YC 20190415 begin----------- // :yÙ_bŸR cti.onSetBusySuccess = function (e) { }; //:yÙ_1Y% cti.onSetBusyFailure = function (e) { }; //:yò•bŸR cti.onSetReadySuccess = function (e) { }; //:yò•1Y% cti.onSetReadyFailure = function (e) { }; //c:g1Y% cti.onReleaseFailure = function (e) { }; //c:gbŸR cti.onReleaseSuccess = function (e) { }; //ENàe”^T{ cti.onLongNoAnswer = function (e) { }; //-----------add by YC 20190415 end----------- // add by YC 20190419 N¹eÝ‹¶r`9eØS cti.onConsultStateChange = function (e) { }; //-----------add by YC 20190506 begin----------- //Oo`…öe cti.onRestTimeOut = function (e) { }; //ÖSˆmOo`bŸR cti.onCancelRestSuccess = function (e) { }; //Oo`bŸR cti.onSetRestSuccess = function (e) { }; //-----------add by YC 20190506 end----------- // ï1uˆmo` add by YC 20190614 cti.onTracertMsg = function (e) { }; // bŸRl cti.onTransResult = function (e) { }; // o5u݋{vF–1Y% cti.onSoftPhoneLoginFail = function (e) { }; cti.onCustomerReleased = function (e) { }; cti.onAgentHangUp = function (e) { }; cti.onAnalysisChange = function (e) { }; cti.onQueueNumNotify = function (e) { }; // ************************************************************************ // CTI ¹eÕl // ·ƒÖS CTI g¡R„vЏLˆ¶r` ÿ‚Yœg g¡Rck(WЏLˆRԏÞV True ÿ&TRԏÞV False // êS g CTI g¡Rck8^ЏLˆ ÿMbý€Œ(uvQÖN¥cãS cti.isServiceRunning = function () { try { doRequest("GET", "getversion"); return true; } catch (e) { return false; } } // /T¨R CTI g¡R cti.startService = function () { window.location.href = "cticlient:"; } // \Pbk CTI g¡R cti.stopService = function () { doRequest("GET", "exit"); } // ͑/T CTI g¡R cti.restartService = function () { doRequest("GET", "restart"); } // ·ƒÖS CTI g¡RHr,g cti.getVersion = function () { return doRequest("GET", "getversion"); } // GS§~¢[7bïz cti.upgrade = function (installUrl, arguments) { argumentNotNull(installUrl, "installUrl"); if (arguments == undefined) { arguments = ""; } return doRequest("GET", "upgrade?url=" + encodeURIComponent(installUrl) + "&args=" + encodeURIComponent(arguments)); } // ·ƒÖSS_MR§^-^¶r` cti.getAgentState = function () { return doRequest("GET", "getagentstate"); } // ·ƒÖSS_MR;m¨R|TëSáOo` ÿ ‚YœgS_MR¡l g;m¨R|TëSRԏÞV null cti.getActiveCallInfo = function () { return doRequest("GET", "getactivecallinfo"); } // ·ƒÖSS_MRÝOc„v|TëSáOo` ÿ ‚YœgS_MR¡l gÝOc„v|TëSRԏÞV null cti.getHeldCallInfo = function () { return doRequest("GET", "getheldcallinfo"); } // ·ƒÖSS_MR/f&Tck(WYtÝ‹ÿSìbÝ‹b€Ý‹T¶r` ÿ cti.isProcessing = function () { return doRequest("GET", "isprocessing"); } // c} CTI ‹NöN cti.attachEvent = function () { attachEvent(); } // ÖSˆmc} CTI ‹NöN cti.detachEvent = function () { detachEvent(); } // M‘nÂSpe // ÂSpeÿ config - ÂSpeRhˆ ÿ OeQ key-value Ó~„gpeÄ~ù[aŒ cti.setConfig = function (config) { argumentNotNull(config, "config"); var arr = []; for (var item in config) { if (item != null && item != undefined && item.length > 0) { arr.push(item + "=" + encodeURIComponent(config[item])); } } var queryString = arr.join("&"); doRequest("POST", "setconfig", queryString); } // §^-^{vU_ cti.agentLogin = function (forceLogin) { return doRequest("GET", "agentlogin?forceLogin=" + encodeURIComponent(forceLogin)); } // §^-^{vU__ek cti.agentLoginAsync = function (forceLogin, success, fail) { doRequestAsync("GET", "agentlogin?forceLogin=" + encodeURIComponent(forceLogin), success, fail); } // èl•{vU_ cti.agentLogout = function () { doRequest("GET", "agentlogout"); } // :yò• cti.agentSetReady = function () { doRequest("GET", "agentsetready"); } // :yÙ_ cti.agentSetNotReady = function () { doRequest("GET", "agentsetnotready"); } // :yÙ_ cti.agentRest = function () { doRequest("GET", "agentrest"); } // add by YC 20190506 --begin-- // Oo` // ÂSpeÿ time - Oo`öe• ÿÅ_ ÿåNÒy:NUSMO ÿƒôVÿ1~86399 ÿ // restCause - Oo`ŸSàVx ÿÅ_  cti.agentSetRest = function (time, restCause) { doRequest("GET", "agentSetRest?time=" + encodeURIComponent(time) + "&restCause=" + encodeURIComponent(restCause)); } // ÖSˆmOo` cti.agentCancelRest = function () { doRequest("GET", "agentCancelRest"); } // add by YC 20190506 --end-- // ”^T{ cti.answerCall = function () { doRequest("GET", "answercall"); } // …Qè|TëS // ÂSpeÿ calledAgent - «ˆëS§^-^å]÷S cti.callInner = function (calledAgent) { argumentNotNull(calledAgent, "calledAgent"); doRequest("GET", "callinner?calledAgent=" + encodeURIComponent(calledAgent)); } // |TúQ // ÂSpeÿ callerNumber - ;NëS÷Sx ÿïS:Nzz // callerNumber - «ˆëS÷Sx cti.callOut = function (callerNumber, calledNumber) { argumentNotNull(calledNumber, "calledNumber"); doRequest("GET", "callout?callerNumber=" + encodeURIComponent(callerNumber) + "&calledNumber=" + encodeURIComponent(calledNumber)); } // |TúQÿ OeQN¡Rš[IN„v id ÿ // ÂSpeÿ callerNumber - ;NëS÷Sx ÿïS:Nzz // callerNumber - «ˆëS÷Sx // uuid - uuid cti.callOut = function (callerNumber, calledNumber, uuid) { argumentNotNull(calledNumber, "calledNumber"); doRequest("GET", "callout?callerNumber=" + encodeURIComponent(callerNumber) + "&calledNumber=" + encodeURIComponent(calledNumber) + "&uuid=" + encodeURIComponent(uuid)); } // |TúQÿ OeQN¡Rš[IN„v id ÿ // ÂSpeÿ callerNumber - ;NëS÷Sx ÿïS:Nzz // callerNumber - «ˆëS÷Sx // uuid - uuid cti.callOutNoEncrypt = function (callerNumber, calledNumber, uuid) { argumentNotNull(calledNumber, "calledNumber"); doRequest("GET", "callout?callerNumber=" + encodeURIComponent(callerNumber) + "&calledNumber=" + encodeURIComponent(calledNumber) + "&uuid=" + encodeURIComponent(uuid) + "&calledNumberNoEncrypt=" + encodeURIComponent(calledNumber)); } // ÝOc|TëS cti.holdCall = function () { doRequest("GET", "holdcall"); } // ÖSˆmÝOc cti.retrieveCall = function () { doRequest("GET", "retrievecall"); } // c:g cti.releaseCall = function () { doRequest("GET", "releasecall"); } // ÑSŒN!kèb÷S // ÂSpeÿ number - ‰ÑS„v÷Sx cti.sendDTMF = function (number) { argumentNotNull(number, "number"); doRequest("GET", "senddtmf?number=" + encodeURIComponent(number)); } // ¾‹nY—ó— cti.setMuteOn = function () { doRequest("GET", "setmuteon"); } // ÖSˆmY—ó— cti.setMuteOff = function () { doRequest("GET", "setmuteoff"); } // ·ƒÖSS_MR|TëS„v–ïpenc cti.queryCallData = function (key) { if (key == null || key == "undefined") { key = ""; } return doRequest("GET", "querycalldata?key=" + encodeURIComponent(key)); } // ¾‹nS_MR|TëS„v–ïpenc // ÂSpeÿ callData - –ïpenc cti.setCallData = function (callData, key) { if (key == null || key == "undefined") { key = ""; } doRequest("GET", "setcalldata?callData=" + encodeURIComponent(callData) + "&key=" + encodeURIComponent(key)); } // l IVR // ÂSpeÿ accessCode - IVR ¥ceQx cti.transferIVR = function (accessCode) { argumentNotNull(accessCode, "accessCode"); doRequest("GET", "transtoivr?accessCode=" + encodeURIComponent(accessCode)); } // l–R // ÂSpeÿ acdSkillId - €bý€–RID cti.transferQueue = function (acdSkillId) { argumentNotNull(acdSkillId, "acdSkillId"); doRequest("GET", "transtoqueue?acdSkillId=" + encodeURIComponent(acdSkillId)); } // bŸRl–R // ÂSpeÿ acdSkillId - €bý€–RID cti.transToQueueBySuc = function (acdSkillId) { argumentNotNull(acdSkillId, "acdSkillId"); doRequest("GET", "transToQueueBySuc?acdSkillId=" + encodeURIComponent(acdSkillId)); } // cwl IVR ÿS_IVRAm zÓ~_gT ÿ5u݋ÞV0R§^-^ // ÂSpeÿ accessCode - IVR ¥ceQx cti.consultIVR = function (accessCode) { argumentNotNull(accessCode, "accessCode"); doRequest("GET", "consulttranstoivr?accessCode=" + encodeURIComponent(accessCode)); } // USeklY¿~ // ÂSpeÿ callerNumber - ;NëS÷Sx ÿïS:Nzz // calledNumber - ‰l¥c0R„vY¿~÷Sx cti.transferOut = function (callerNumber, calledNumber) { argumentNotNull(calledNumber, "calledNumber"); doRequest("GET", "singlesteptransout?callerNumber=" + encodeURIComponent(callerNumber) + "&calledNumber=" + encodeURIComponent(calledNumber)); } // USekl§^-^ // ÂSpeÿ calledAgent - §^-^å]÷S cti.transferInner = function (calledAgent) { argumentNotNull(calledAgent, "calledAgent"); doRequest("GET", "singlesteptransinner?calledNumber=" + encodeURIComponent(calledAgent)); } // OSFUY¿~ // ÂSpeÿ callerNumber - ;NëS÷Sx ÿïS:Nzz // calledNumber - ‰OSFU„vY¿~÷Sx cti.consultOut = function (callerNumber, calledNumber) { argumentNotNull(calledNumber, "calledNumber"); doRequest("GET", "consultout?callerNumber=" + encodeURIComponent(callerNumber) + "&calledNumber=" + encodeURIComponent(calledNumber)); } // OSFUY¿~ // ÂSpeÿ callerNumber - ;NëS÷Sx ÿïS:Nzz // calledNumber - ‰OSFU„vY¿~÷Sx cti.consultOutRemote = function (callerNumber, calledNumber) { argumentNotNull(calledNumber, "calledNumber"); doRequest("GET", "consultOutRemote?callerNumber=" + encodeURIComponent(callerNumber) + "&calledNumber=" + encodeURIComponent(calledNumber)); } // OSFU§^-^ // ÂSpeÿ calledAgent - §^-^å]÷S cti.consultInner = function (calledAgent) { argumentNotNull(calledAgent, "calledAgent"); doRequest("GET", "consultinner?calledNumber=" + encodeURIComponent(calledAgent)); } // OSFUl¥cÿŒ[bl¥c ÿ cti.consultTransfer = function () { doRequest("GET", "consulttransfer"); } // N¹eÝ‹ cti.consultConference = function () { doRequest("GET", "consultconference"); } // ÖSˆmOSFUÿÖSˆml¥c/ N¹eÝ‹ ÿ cti.cancelConsult = function () { doRequest("GET", "cancelconsult"); } // Œ[bÝ‹ ÿsSÓ~_g,g!kÝ‹ ÿv^îO9e§^-^¶r` ÿ8^(WŒ[b݋T\Ó~öeŒ(u // ÂSpeÿ operation - Œ[bÍd\Oÿ 0 - :yò• ÿ 1 - :yÙ_ ÿ 2 - úQ{vU_ cti.finishCall = function (operation) { argumentNotNull(operation, "operation"); doRequest("GET", "finishcall?operation=" + encodeURIComponent(operation)); } // ågâ‹@b g€bý€–R // ԏÞV€bý€–RáOo`Rhˆ cti.queryAllSkillQueues = function () { return doRequest("GET", "queryallskillqueues"); } // ågâ‹cš[€bý€–R // ÂSpeÿ skillId - –RID // ԏÞV€bý€–RáOo` cti.querySkillQueue = function (skillId) { argumentNotNull(skillId, "skillId"); return doRequest("GET", "queryskillqueue?skillId=" + encodeURIComponent(skillId)); } // ͑nPW-^€bý€–R // ÂSpeÿ skillId - –RID // phonelinkage - ݋:gT€¨R cti.resetAgentSkills = function (skillId, phonelinkage) { argumentNotNull(skillId, "skillId"); return doRequest("GET", "resetAgentSkills?skillId=" + encodeURIComponent(skillId) + "&phonelinkage=" + encodeURIComponent(phonelinkage)); } // 9hncå]÷Såg⋧^-^áOo` // ÂSpeÿ agentId - §^-^å]÷S // ԏÞV§^-^áOo` cti.queryAgentInfo = function (agentId) { argumentNotNull(agentId, "agentId"); return doRequest("GET", "queryagentinfo?agentId=" + encodeURIComponent(agentId)); } // ågâ‹S_MRßy7bhQ萧^-^¶r`áOo` // ÂSpeÿ skillId €bý€–RID ÿ‚Yœg:NzzRågâ‹hQ萧^-^ // ԏÞV§^-^áOo`Rhˆ cti.queryAllAgentStatus = function (skillId) { if (skillId == undefined) { skillId = ""; } return doRequest("GET", "queryallagentstatus?skillId=" + encodeURIComponent(skillId)); } // ågâ‹zzò•§^-^Rhˆ cti.queryIdleAgents = function () { return doRequest("GET", "queryidleagents"); } // åg⋧^-^~{eQ„v€bý€–R // ԏÞV€bý€–RRhˆ cti.queryAgentSkillQueues = function (agentId) { argumentNotNull(agentId, "agentId"); return doRequest("GET", "queryagentskillqueues?agentId=" + encodeURIComponent(agentId)); } // cti.queryQueueWaitNum = function (skillId) { if (skillId == undefined) { skillId = ""; } return doRequest("GET", "queryqueuewaitnum?skillId=" + encodeURIComponent(skillId)); } // æb*bcš[§^-^ // ÂSpeÿ agentId - §^-^å]÷S cti.intercept = function (agentId) { argumentNotNull(agentId, "agentId"); doRequest("GET", "intercept?agentId=" + encodeURIComponent(agentId)); } // Ñv,Tcš[§^-^ // ÂSpeÿ agentId - §^-^å]÷S cti.listen = function (agentId) { argumentNotNull(agentId, "agentId"); doRequest("GET", "listen?agentId=" + encodeURIComponent(agentId)); } // \PbkÑv,T cti.stopListen = function () { doRequest("GET", "stoplisten"); } // :_Òccš[§^-^„vÝ‹ // ÂSpeÿ agentId - §^-^å]÷S cti.insert = function (agentId) { argumentNotNull(agentId, "agentId"); doRequest("GET", "insert?agentId=" + encodeURIComponent(agentId)); } // Ó~_g:_Òc cti.stopInsert = function () { doRequest("GET", "stopinsert"); } // :_6R:yò• // ÂSpeÿ agentId - §^-^å]÷S cti.forceAgentReady = function (agentId) { argumentNotNull(agentId, "agentId"); doRequest("GET", "forceagentready?agentId=" + encodeURIComponent(agentId)); } // :_6R:yÙ_ // ÂSpeÿ agentId - §^-^å]÷S cti.forceAgentBusy = function (agentId) { argumentNotNull(agentId, "agentId"); doRequest("GET", "forceagentbusy?agentId=" + encodeURIComponent(agentId)); } // :_6R~{úQ // ÂSpeÿ agentId - §^-^å]÷S cti.forceAgentLogout = function (agentId) { argumentNotNull(agentId, "agentId"); doRequest("GET", "forceagentlogout?agentId=" + encodeURIComponent(agentId)); } // :_Æb // ÂSpeÿ agentId - §^-^å]÷S cti.forceRelease = function (agentId) { argumentNotNull(agentId, "agentId"); doRequest("GET", "forcerelease?agentId=" + encodeURIComponent(agentId)); } // ­d>e,g0W‡eöN // ÂSpeÿ fileNames ‡eöN TRhˆ // ÂSpeÿ flag ­d>e!j_ cti.playLocalFiles = function (fileNames, flag) { argumentNotNull(fileNames, "fileNames"); doRequest("GET", "playlocalfiles?fileNames=" + encodeURIComponent(fileNames) + "&flag=" + encodeURIComponent(flag)); } // N}U_ó— // ÂSpeÿ callId |TëShƋ // recordFileName U_ó—‡eöN T // fileType ‡eöN{|‹W // isConvert /f&T—‰lx cti.downloadRecordFile = function (callId, recordFileName ,fileType,isConvert) { if (callId == undefined) callId = ""; if (recordFileName == undefined) recordFileName = ""; if (fileType == undefined) fileType = ""; if (isConvert == undefined) isConvert = ""; return doRequest("GET", "downloadrecordfile?callId=" + encodeURIComponent(callId) + "&recordFileName=" + encodeURIComponent(recordFileName) + "&fileType=" + encodeURIComponent(fileType) + "&isConvert=" + encodeURIComponent(isConvert)); } // Tek N}U_ó—ÿ8\ ÿ // ÂSpeÿ uuid |TëShƋ cti.downloadRecordFileUUID = function (uuid) { argumentNotNull(uuid, "uuid"); return doRequest("GET", "downloadrecordfileuuid?uuid=" + encodeURIComponent(uuid)); } // Tek N}U_ó—((u) // ÂSpeÿ callId |TëShƋ // recordFileName U_ó—‡eöN T cti.downloadRecordFileSync = function (callId, recordFileName) { if (callId == undefined) callId = ""; if (recordFileName == undefined) recordFileName = ""; return doRequest("GET", "downloadrecordfilesync?callId=" + encodeURIComponent(callId) + "&recordFileName=" + encodeURIComponent(recordFileName)); } // cti.getLocalRecordFileUrl = function (fileName) { argumentNotNull(fileName, "fileName"); return baseUrl + "getlocalrecordfile?fileName=" + encodeURIComponent(fileName); } // ÑS§^-^ˆmo` // ÂSpe: sender ÑS€å]÷S // receiver ¥c6e€å]÷S // message ˆmo`…Q¹[ cti.sendMessage = function (sender, receiver, message) { argumentNotNull(sender, "sender"); argumentNotNull(receiver, "receiver"); argumentNotNull(message, "message"); return doRequest("GET", "agentSendMessage?sender=" + encodeURIComponent(sender) + "&receiver=" + encodeURIComponent(receiver) + "&message=" + encodeURIComponent(message)); } // ÑS§^-^lQJT // ÂSpe: sender ÑS€å]÷S // bulletinType lQJT{|‹Wÿ 0 - ísÄ~ ÿ 1 - €bý€–R // receiver ¥c6elQJT„vísÄ~ Tðyb€bý€–R Tðy // message ˆmo`…Q¹[ cti.sendBulletin = function (sender, bulletinType, receiver, message) { argumentNotNull(sender, "sender"); argumentNotNull(bulletinType, "bulletinType"); argumentNotNull(receiver, "receiver"); argumentNotNull(message, "message"); return doRequest("GET", "agentSendBulletin?sender=" + encodeURIComponent(sender) + "&bulletinType=" + encodeURIComponent(bulletinType) + "&receiver=" + encodeURIComponent(receiver) + "&message=" + encodeURIComponent(message)); } // ÑSJ€)Yˆmo` // ÂSpeÿ message ˆmo`…Q¹[ cti.sendChatMessage = function (message) { argumentNotNull(message, "message"); return doRequest("GET", "sendchatmessage?message=" + encodeURIComponent(message)); } // ågâ‹hQèísÄ~áOo` cti.queryAllWorkGroups = function () { return doRequest("GET", "queryallworkgroups"); } // žX Råg⋀bý€–RI{…_pe cti.querySkillWaitNum = function () { return doRequest("GET", "querySkillWaitNum"); } // ågâ‹cš[€bý€ß~¡‹áOo` cti.querySkillStat = function (skillId) { argumentNotNull(skillId, "skillId"); return doRequest("GET", "queryskillstat?skillId=" + encodeURIComponent(skillId)); } // ågâ‹hQ萖Rß~¡‹áOo` cti.queryAllSkillStat = function () { return doRequest("GET", "queryallskillstat"); } // ågâ‹cš[§^-^ß~¡‹áOo` cti.queryAgentStat = function (agentId, date) { argumentNotNull(agentId, "agentId"); if (date == undefined) { date = ""; } return doRequest("GET", "queryagentstat?agentId=" + encodeURIComponent(agentId) + "&date=" + encodeURIComponent(date)); } // ågâ‹(W¿~§^-^ cti.queryOnlineAgents = function () { return doRequest("GET", "queryonlineagents"); } // ¾‹nåe×_§~+R // ÂSpeÿ level åe×_§~+R ÿ TRACE,DEBUG,INFO,WARN,ERROR, FATAL,OFF cti.setLogLevel = function (level) { doRequest("GET", "setloglevel?level=" + encodeURIComponent(level)); } // ͑¾‹€bý€ // ÂSpeÿ agentId å]÷S // skillList ¾‹š[€bý€Rhˆ // timeLen 4NöeŒteöe• ÿUSMOÒy ÿ0Rdköeô•T ÿꁨR؏ŸS:NŸSËY€bý€ // parameter ÝOYu cti.resetSkills = function (agentId, skillList, timeLen, parameter) { doRequest("GET", "resetskills?agentId=" + encodeURIComponent(agentId) + "&skillList=" + encodeURIComponent(skillList) + "&timeLen=" + encodeURIComponent(timeLen) + "&parameter=" + encodeURIComponent(parameter)); } // ¨cêš[INˆmo` // messageId ˆmo`hƋ // messageData ˆmo`ÂSpe cti.pushMessage = function (messageId, messageData) { argumentNotNull(messageId, "messageId"); if (messageData == undefined) messageData = ""; doRequest("GET", "pushMessage?messageId=" + encodeURIComponent(messageId) + "&messageData=" + encodeURIComponent(messageData)); } // ping cš[QÜ~0W@WÿßW TbIP ÿ // host QÜ~0W@WÿßW TbIP ÿ // timeout …öeöe• ÿïSý_eu ÿ؞¤‹

eeg5u/cÔó— cti.playRinging = function (fileName) { argumentNotNull(fileName, "fileName"); doRequest("GET", "playringing?filename=" + encodeURIComponent(fileName)); } // ·ƒÖSPW-^/f&T:N(ÀhPW-^ cti.queryAgentIsQC = function () { return doRequest("GET", "queryagentisqc"); } // ™Qåe×_ cti.writeLog = function (message) { if (message == undefined || message == null) message = ""; return doRequest("GET", "writelog?message=" + encodeURIComponent(message)); } // ·ƒÖSOSFUÍd\O{|‹W // ԏÞV