【JSP开源代码栏目提醒】:网学会员在JSP开源代码频道为大家收集整理了“JavaScript脚本形式的呼叫中心系统第三方开发接口源代码JSP和JAVA版 - 讲义教程“提供大家参考,希望对大家有所帮助!
lt page languagequotjavaquot contentTypequottext/html charsetgb2312quot gt lt page infoquot人工座席软件BYICCAgent2.0的JavaScript脚本形式的呼叫中心系统第三方开发接口的demo程序JSP/JAVA版quot gt lt page errorPagequotAgentTest_error.jspquot gt ltpage importquotjava.util.quot gt lthtmlgt ltheadgt lttitlegt 人工座席软件BYICCAgent2.0的JavaScript脚本形式的呼叫中心系统第三方开发接口的demo程序JSP/JAVA版 lt/titlegt lt out.printlnquot欢迎进入人工座席软件BYICCAgent2.0的JavaScript脚本形式的呼叫中心系统第三方开发接口的demo程序JSP/JAVA版 quotquot当前时间是quotnew java.util.Date.toString gt lt-- 安装座席控件证书的函数方法javascript代码建议嵌入在这里 --gt ltscript charsetquotquottypequottext/javascriptquot languagequotjavascriptquotgt function iCert contentquot-----BEGIN CERTIFICATE-----MIIDTDCCArWgAwIBAgIQ1nWUJX7TAqNMJdCAxsHmrjANBgkqhkiG9w0BAQQFADCBgzEeMBwGA1UECRMVU2hlbnpoZW4gTXl2eG1sIGNvcnAuMQ8wDQYDVQQIHgZef04cdwExCzAJBgNVBAYTAkNOMSQwIgYJKoZIhvcNAQkBFhVqdW5leS56b3VAaG90bWFpbC5jb20xHTAbBgNVBAMTFE15VnhtbDIwMDVjYWxsY2VudGVyMB4XDTA3MDcyMzA5MTkxN1oXDTM5MTIzMTIzNTk1OVowgYMxHjAcBgNVBAkTFVNoZW56aGVuIE15dnhtbCBjb3JwLjEPMA0GA1UECB4GXn9OHHcBMQswCQYDVQQGEwJDTjEkMCIGCSqGSIb3DQEJARYVanVuZXkuem91QGhvdG1haWwuY29tMR0wGwYDVQQDExRNeVZ4bWwyMDA1Y2FsbGNlbnRlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1ZIyWoYVuBgwQ3RCjk9uPGKMBc6hP0PKcBNkoY6LHr13mrDoMGDSnRXQQtM6C4yjXMhnDJhI3Tek5WPSN6Y2zMq6XnPtmh5zmRkIzD7sCAwEAAaOBvjCBuzCBuAYDVR0BBIGwMIGtgBB53PBmWlfaSDWwXNCuiTsSoYGGMIGDMR4wHAYDVQQJExVTaGVuemhlbiBNeXZ4bWwgY29ycC4xDzANBgNVBAgeBl5/Thx3ATELMAkGA1UEBhMCQ04xJDAiBgkqhkiG9w0BCQEWFWp1bmV5LnpvdUBob3RtYWlsLmNvbTEdMBsGA1UEAxMUTXlWeG1sMjAwNWNhbGxjZW50ZXKCENZ1lCV0wKjTCXQgMbB5q4wDQYJKoZIhvcNAQEEBQADgYEAhEr8PLEfEV6HXHKqT3FbxZSasmCTlP9srG82NHa6kgjtkpI9na2GOepTwzcy7jcLbzttLHi4CRpPzzso6SGRMaS5JsLBEB2EKNVi2i9aKtoxxeX76qzb/yphnSWn1Xayx2ccdQLJ8MT47JkicdaDmp2A4VF1v9IJRnUTeh4o4-----END CERTIFICATE-----quot try certObj.InstallPKCS7content alertquot证书安装成功quot catchex alertquot证书安装失败错误quot ex.number lt/scriptgt lt-- 以下是TELEAG控件的函数方法 --gt ltscript typequottext/javascriptquot languagequotjavascriptquotgt //网络断开恢复后话务员自动登录标志 var autoLoginId0 var strmyrecdfilequotquot //不包含路径的话务员通话录音文件 var strSeatRecordFilequotquot //包括路径的话务员通话录音文件 //写日志函数 function LogInfoszContent //var today new Date if document.getElementByIdquotLogOutputquot .value.length gt 3000 document.getElementByIdquotLogOutputquot .value quotquot document.getElementByIdquotLogOutputquot .value document.getElementByIdquotLogOutputquot .valuenew Date.toStringquotgtgtquotszContentquotnquot document.getElementByIdquotLogOutputquot .scrollTopdocument.getElementByIdquotLogOutputquot .scrollHeight //清空日志函数 function ClearLog document.getElementByIdquotLogOutputquot .value quotquot //页面打开自动调用函数 function window.onload document.getElementByIdquotLogOutputquot .value quotquot //如果需要加载就登录打开下行 //SeatLogin //话务员登录函数 function SeatLogin if document.getElementByIdquottextServerIPquot.valuequotquot window.alertquotCTI通讯服务器IP地址不允许为空quot return if document.getElementByIdquottextServerPORTquot.valuequotquot window.alertquotCTI通讯服务器端口不允许为空quot return if document.getElementByIdquottextClientIdquot.valuequotquot window.alertquot客户端编号不允许为空quot return if document.getElementByIdquottextChIndexquot.valuequotquot window.alertquot座席分机通道序号不允许为空quot return if document.getElementByIdquottextSeatNoquot.valuequotquot window.alertquot座席分机号不允许为空quot return if document.getElementByIdquottextWorkerNoquot.valuequotquot window.alertquot话务员工号不允许为空quot return if document.getElementByIdquottextWorkerNamequot.valuequotquot window.alertquot话务员姓名不允许为空quot return if document.getElementByIdquottextGroupNoquot.valuequotquot window.alertquot业务组号不允许为空quot return //以下参数调用控件的ConnectIVR方法之前需要进行设置 PhoneCall.ServerId 1 PhoneCall.ServerIP document.getElementByIdquottextServerIPquot.value PhoneCall.ServerPort document.getElementByIdquottextServerPORTquot.value //本坐席软件的客户端编号每一台电脑不能重复 PhoneCall.ClientID document.getElementByIdquottextClientIdquot.value //以下参数调用控件的SeatLogin方法前需要进行设置 PhoneCall.ChType 18 PhoneCall.ChIndex document.getElementByIdquottextChIndexquot.value PhoneCall.SeatIP quot127.0.0.1quot PhoneCall.SeatNo document.getElementByIdquottextSeatNoquot.value //以下参数在调用控件的WorkerLogin方法前需要进行设置 PhoneCall.SeatType 1 PhoneCall.GroupNo document.getElementByIdquottextGroupNoquot.value PhoneCall.Level 1 PhoneCall.WClass 1 //连接交换机 PhoneCall.ConnectIVR //alertquot连接CTI交换机quot //话务员注销函数 function WorkerLogout ifwindow.confirmquot你确定现在注销座席吗quot PhoneCall.WorkerLogout //关闭窗口时话务员注销即退出必须以适当方式进行引用 function window.onbeforeunload //alertquot关闭窗口quot ifwindow.confirmquot你确定现在注销座席吗quot PhoneCall.WorkerLogout window.alertquot系统将注销座席并关闭窗口quot else //不做操作 //放音函数 function ocxPlay //alerttextFileName.value //textFileName.valuequotD:/recordfiles/04/R_803_20120420184711.wavquot if document.getElementByIdquottextFileNamequot.valuequotquot window.alertquot录音文件名不允许为空quot return PhoneCall.Playdocument.getElementByIdquottextFileNamequot.value 0 //呼叫应答函数 function ocxAnswer PhoneCall.Answer1 //保持呼叫函数 function ocxHold //PhoneCall.SendFlwEvent0021quot00quot PhoneCall.Sethold1 //取消保持函数 function ocxUnHold //PhoneCall.SendFlwEvent0020quot00quot PhoneCall.Sethold0 //挂机函数 function ocxRelease PhoneCall.Hangon1 //话务员示忙函数 function ocxSetBusy PhoneCall.SetDisturb1 //话务员示闲函数 function ocxSetIdel PhoneCall.SetDisturb0 //取所有坐席状态 function GetSeatState PhoneCall.GetStatequot1quot //取来电排队信息 function GetSeatACD PhoneCall.GetWaitQueue1 //停止取来电排队信息 function StopGetSeatACD PhoneCall.GetWaitQueue0 //发送消息 function ocxSendMsg if document.getElementByIdquottextSendSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return if document.getElementByIdquottextSendMsgquot.valuequotquot window.alertquot消息内容不允许为空quot return PhoneCall.SendMSGdocument.getElementByIdquottextSendSeatNoquot.value document.getElementByIdquottextSendMsgquot.value //呼叫外线函数 function ocxCallOut if document.getElementByIdquottextDialOutquot.valuequotquot window.alertquot外线号码不允许为空quot return //PhoneCall.CalloutPhoneCall.SeatNoquot9quottextDialOut.valuequotquot 1 00quotquot PhoneCall.CalloutPhoneCall.SeatNoquot9quotdocument.getElementByIdquottextDialOutquot.valuequotquot 1 10quotquot //转外线函数 function ocxTranOut if document.getElementByIdquottextDialOutquot.valuequotquot window.alertquot外线号码不允许为空quot return //PhoneCall.SendFlwEvent0001textDialOut.value PhoneCall.Tranoutdocument.getElementByIdquottextDialOutquot.value //以会议方式转外线函数 function ocxConfTranOut //PhoneCall.SendFlwEvent0001textDialOut.value //PhoneCall.TranouttextDialOut.value if document.getElementByIdquottextDialOutquot.valuequotquot window.alertquot外线号码不允许为空quot return PhoneCall.SendFlwEvent0001document.getElementByIdquottextDialOutquot.value //呼叫坐席函数 function ocxCallSeat if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.CalloutPhoneCall.SeatNodocument.getElementByIdquottextDialSeatNoquot.value 1 00quotquot //转坐席函数 function ocxTranSeat //PhoneCall.SendFlwEvent0002textDialSeatNo.value if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.TranSeatdocument.getElementByIdquottextDialSeatNoquot.value0 //代接函数 function ocxPickup if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.Pickupdocument.getElementByIdquottextDialSeatNoquot.value //监听函数 function ocxListen if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.Listendocument.getElementByIdquottextDialSeatNoquot.value //强插函数 function ocxBreakin if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.Breakindocument.getElementByIdquottextDialSeatNoquot.value //强拆函数 function ocxRemove if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.Removedocument.getElementByIdquottextDialSeatNoquot.value //强制退出函数 function ocxForceLogout if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.ForceLogoutdocument.getElementByIdquottextDialSeatNoquot.value quot0quot //强制示忙函数 function ocxForceBusy if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.ForceBusydocument.getElementByIdquottextDialSeatNoquot.value quot0quot 1 //强制示闲函数 function ocxForceIdel if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.ForceBusydocument.getElementByIdquottextDialSeatNoquot.value quot0quot 0 //转IVR流程函数2012.6.18 function ocxTransFlow var intVxmlId0 //表执行业务的流程解析器编号默认数值为1为建议数值或0 var intFuncNo0 //表示呼出成功后调用的流程功能号 var intFlag0 //返回标志0表示转入IVR自动流程后不返回该座席 var strStartAddrquot0quot //执行业务流程的起始地址 var strParamquotquot //附加参数 PhoneCall.TranFlwintVxmlIdintFuncNostrStartAddrstrParamintFlag //以会议方式转座席即三方会议函数2012.6.18 function ocxConfTranSeat if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.SendFlwEvent0002document.getElementByIdquottextDialSeatNoquot.value //获取通道状态函数2012.7.3 function ocxGetChState //取通道状态启动 PhoneCall.GetChState1 //离席函数2012.7.3 function ocxSetLeval //设置在席与离席标志Flag1 表示离席这时将不会分配电话Flag0 表示在席 PhoneCall.SetLeval1 //在席函数2012.7.3 function ocxunSetLeval //设置在席与离席标志Flag1 表示离席这时将不会分配电话Flag0 表示在席 PhoneCall.SetLeval0 //静音函数2012.7.3 function ocxSetMute //设置静音标志Flag1表示静音这时对方将听不到话务员的声音话务员可以听到对方的声音Flag0表示取消静音 PhoneCall.SetMute1 //取消静音函数2012.7.3 function ocxunSetMute //设置静音标志Flag1表示静音这时对方将听不到话务员的声音话务员可以听到对方的声音Flag0表示取消静音 PhoneCall.SetMute0 //接管函数2012.7.3 function ocxTakeover if document.getElementByIdquottextDialSeatNoquot.valuequotquot window.alertquot对方座席分机号不允许为空quot return PhoneCall.Takeoverdocument.getElementByIdquottextDialSeatNoquot.value lt/scriptgt lt-- TELEAG控件事件处理 --gt lt-- 控件连接IVR服务器成功事件处理必须引用 --gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotTCPLinkedquotgt var strquot坐席电脑与IVR服务器网络连接成功TCPLinked事件触发了quot //alertstr LogInfostr PhoneCall.SeatLogin window.status str document.getElementByIdquottextTcpLinkStatequot.value quot已连接quot lt/scriptgt lt-- 控件连接IVR服务器连接断开事件处理必须引用 --gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotTCPunLinkquotgt var strquot坐席电脑与IVR服务器网络断开quot LogInfostr window.status str document.getElementByIdquottextTcpLinkStatequot.value quot已断开quot document.getElementByIdquottextSeatLogStatequot.value quot未登录quot document.getElementByIdquottextWorkLogStatequot.value quot未登录quot lt/scriptgt lt-- 座席分机登录成功事件处理必须引用 --gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotSeatLoginSuccseatnoquotgt var strquot座席分机登录成功SeatLoginSucc事件触发了quot LogInfostr window.status str document.getElementByIdquottextSeatLogStatequot.value quot登录成功quot if autoLoginId 0 //WorkerLogin---这样写工号无法被IVR服务器识别 //话务员工号 PhoneCall.WorkerNo document.getElementByIdquottextWorkerNoquot.value //话务员姓名 PhoneCall.WorkerName document.getElementByIdquottextWorkerNamequot.value //话务员组号 PhoneCall.GroupNo document.getElementByIdquottextGroupNoquot.value //登录操作 PhoneCall.WorkerLogin lt/scriptgt lt-- 座席分机登录失败事件处理必须引用 --gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotSeatLoginFailquotgt var strquot座席分机登录IVR服务器失败quot LogInfostr window.status str document.getElementByIdquottextSeatLogStatequot.value quot登录失败quot lt/scriptgt lt-- 话务员登录成功事件处理必须引用--gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotWorkLoginSuccquotgt var strquot话务员登录IVR服务器成功 quotquot座席分机号为quotPhoneCall.SeatNoquot 话务员工号为quotPhoneCall.WorkerNo quot WorkLoginSucc事件触发了quot LogInfostr window.status str document.getElementByIdquottextWorkLogStatequot.value quot登录成功quot autoLoginId 1 //取座席状态启动 PhoneCall.GetStatequot1quot //取通道状态启动 PhoneCall.GetChState1 //取等待ACD分配座席队列启动 PhoneCall.GetWaitQueue1 document.getElementByIdquotButton1quot.disabledtrue lt/scriptgt lt-- 话务员登录失败事件处理必须引用 --gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotWorkLoginFailquotgt var strquot话务员登录IVR服务器失败quot LogInfostr window.status str document.getElementByIdquottextWorkLogStatequot.value quot登录失败quot lt/scriptgt lt-- 话务员注销事件处理必须引用 --gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotWorkerLogoutresult errorquotgt var strquot话务员注销成功quot ifresult 0 str quot话务员注销失败quot LogInfostr window.status str document.getElementByIdquottextTcpLinkStatequot.value quot已断开quot document.getElementByIdquottextSeatLogStatequot.value quot未登录quot document.getElementByIdquottextWorkLogStatequot.value quot已退出quot document.getElementByIdquottextSeatStatequot.value quot未登录quot lt/scriptgt lt-- 呼入事件处理必须引用 --gt ltscript typequottext/javascriptquot languagequotjavascriptquot forquotPhoneCallquot eventquotCallInchntypechnnocallernocallednovxmlidfuncnoparamquotgt var strintrecpstrtemp str quot电话呼入事件quotquot通道类型quotchntypequot通道号quotchnnoquot主叫号码quotcallernoquot被叫号码quotcallednoquot附加参数quotparam LogInfostr //显示来电号码以便用于来电弹屏 document.getElementByIdquottextCallinNoquot.valuecallerno //IVR流程传递到坐席软件的附加参数Param中提取生成的录音文件名找到第1个R intrecpparam.indexOfquotRquot if intrecpgt0 strtempparam.substringintrecp strmyrecdfilestrtemp //alertquot来电通话的录音文件名为quotstrmyrecdfile lt/scriptgt lt-- 呼叫应答事件处理必须引用 --gt ltscript typequottext/javascriptquot language.