1、CTI控件接口说明文档修改历史 3一、概述 4二、集成方案 4二、控件接口定义 6属性 6方法 7登录TDMx交换机 7退出TDMx交换机 7呼叫取消 7呼叫转移 8通话保持 8拨号 8获取线路状态 9取指定线路状态 9会议 9获取分机用户信息 10设置分机服务等级 10软摘机 11软挂机 11用户自定义功能 11IVR 播放请求 12IVR 电脑话务员拆线 12IVR 停止播放语音提示 12IVR 呼叫转移 12morningCall 设置morningCall叫醒时间 13morningCall 查询morningCall叫醒时间 13morningCall 取消morningCall设置
2、 14Start UDP listen 14Stop UDP listen 15免打扰 15事件 15登录失败 15登录成功 16忙提示 16被叫振铃 16分机用户信息 17通话 17拨号 17催挂 18空闲 18回铃 19回叫振铃 19维护忙 20来电显示 20去电显示 21程序错误 21通讯错误 22指定的线路状态信息 22用户自定义功能执行失败 22用户自定义功能执行成功 23IVR 呼叫进入 23IVR 用户拨号 23IVR 用户拆线 24IVR 播放结束 24IVR 回叫 24IVR 呼叫转移成功 25IVR 呼叫转移失败 25中继 入中继分配 25中继 出中继分配 26中继 出中继
3、呼叫 26中继 接收DTMF 26morningCall 设置事件 27morningCall 查询事件 27morningCall 取消事件 27UDP DataArriVal 28转移提示 28转移更新 29三、用户类型表: 30四、功能码表 31五、Delphi中控件导入 31六、MixData 域位定义 32交换机CTI控件接口说明修改历史修改历史日期修改内容修改人2006-6-20新增IVR接口2006-6-24新增软摘机、软挂机2006-6-26设置分机服务级别2006-7-20新增取其它线路状态2006-7-27新增中继状态事件:inTrunkAllocated,outTrunk
4、Allocated,outTrunkCall,trunkDTMFReceive2006-7-27在通话事件connected中新增呼入呼出参数(IOFlag)判断,在事件idle,outOfService,calledRing,backRing, dial,onCall , hurryHangUp, connected,phoneDisplay, dialedDisplay中新增相关用户的用户类型参数assUserType。2006-8-15新增 控件的登录类型6(以客户身份直接登录交换机)2006-8-30新增 morning call的设置,查询,取消功能2006-12-27新增UDP状态
5、广播包属性: UDPLocalPort (3.1),UDPRemoteHost (3.1),UDPRemotePort (3.1) 方法:UDPStart (3.2.22)UDPStop(3.2.33)事件 :UDPDataArrival (3.3.4)2007-1-17增加两个事件:CallDivertUpdate和CallDivertPrompt2007-1-17在下列事件中增加参数(mixData) CalledRing Connected Dial hurryHangUp idle onCall backRing outOfService 注: 蓝色部分为新增部分,红色部分为修改部分一
6、、概述TDMx交换机提供服务器版和单机版CTI接口,该接口采用了COM组件技术,第三方开发商利用这个组件可以方便地进行二次开发。该接口操作简单,使用方便,缩短了CTI应用的开发周期,大大提高了CTI应用二次开发效率。每条线路的状态变化均以事件的方式通知应用层,以实现对每条线路进行监控。该接口WINDOWS操作系统或微软的.net架构下能很好的使用,可以跟VB、VC、Delphi、PB、LINUX,UNIX(SCO,HP)等开发工具进行完美的结合。本文档适用于将OCX控件嵌入到已有的应用平台中实现CTI各种应用的第三方开发商。二、集成方案对使用OCX控件进行二次开发的用户,提供下列方案供参考:二
7、、控件接口定义在控件中频繁使用的线路ID,其范围从0到1023,如onHook(ID)事件的ID为0表示接在第一个接口上的用户已挂机。该控件的属性、方法及事件中的ID均是从0开始。属性在执行控件的login方法登录TDMx交换机之前,需要设置下面这几个属性值:接口名称类型描述remoteHostIP As String属性交换机IP地址,默认为192.168.0.235remotePort As Long属性交换机Port,默认为5003userName As String属性登录交换机的管理员用户名,默认为adminpassword As String属性登录交换机的管理员密码,默认为adm
8、inloginType as integer属性登录交换机类型,目前支持三种登录类型5-接管IVR (适用于以服务器方式登录交换机)15-不接管IVR (适用于服务器以方式登录交换)6直接登录交换机(适用于客户端直接登录交换机)UDPLocalPort属性TDMx UDP端口号.默认值为 5009.UDPRemoteHost方法交换机IP地址,默认值为 192.168.0.235方法登录TDMx交换机方法名称:Login(sUserName As String, sPassword As String)功能说明:当设置好上面的登录参数时,调用此方法登录TDMx交换机。若登录成功,产生login
9、OK事件;若登录失败产生loginErr事件。loginOK和loginErr事件的说明请参见各自的描述。参数说明:sUserName:登录交换机的管理员用户名,由属性userName指定sPassword:登录交换机的管理员密码,由属性password指定返回值:无退出TDMx交换机方法名称:logout()功能说明:当关闭应用程序或需要退出TDMx交换机的登录时调用。一旦调用logout(),应用程序将无法接收交换机发送的数据。若需要接收交换机的数据,必须以管理员身份重新登录。参数说明:无返回值:无呼叫取消方法名称:cmdCallCancel(ID As Integer)功能说明:呼叫取消
10、,重新进入拨号状态。例如,当用分机107(ID=6)呼叫分机号码为108(ID=7)的用户时, 执行cmdCallCancel(6)后将取消对108的呼叫,重新进入拨号状态。若双方已通话,执行cmdCallCancel(6)后将取消与108的通话,107会重新进入拨号状态。参数说明:ID:发起呼叫取消的线路ID号。返回值:无呼叫转移方法名称:cmdCallDivert(ID As Integer)功能说明:呼叫转移。要完成呼叫转移操作,需要与cmdDial方法结合使用。例如,当分机106(ID=5)收到呼叫并摘机通话时,若需要将来电转移到分机108,需要先执行下列指令ctisrv1.cmdCa
11、llDivert(5),延时1秒钟再执行指令ctisrv1.cmdDial(5,”108”)。参数说明:ID:发起呼叫转移的线路ID号返回值:无通话保持方法名称:cmdCallHold(ID As Integer)功能说明:通话保持。例如,当分机106(ID=5)与分机108(ID=7)正在通话时,要106发起通话保持操作,106将进入拨号状态,108将听到保持音,需要执行的指令:ctisrv1.cmdCallHold (5) 若108要招执行通话保持,106将听到保持音, 需要执行的指令:ctisrv1. cmdCallHold (7)参数说明:ID:需要保持的线路ID号返回值:无拨号方法名
12、称:cmdDial(ID As Integer, phone As String)功能说明:摘机后进行拨号操作。例如,当分机106(ID=5)摘机后,若要拨打分机108(ID=7),需要发送下列指令:ctisrv1.cmdDial (5,”108”) ,通知交换机5号线路用户需要拨打108 参数说明:ID:发起拨号的线路ID号返回值:无获取线路状态方法名称:cmdGetTisStatus(ID As Integer)功能说明:获取线路状态。状态见附录。当状态返回时,产生相应的事件:outOfService 维护忙事件idle 空闲事件connected 通话事件hurryHangUp 催挂事件
13、onCall 回铃这些事件在线路状态变化时,如用户摘机,拨号,挂机等均会自动产生。当有来电或外拨时,也会产生来电显示或去电显示事件。见下面描述。参数说明:ID:需要查询状态的线路ID号返回值:无取指定线路状态方法名称:cmdGetOtherIDTisStatu(byval ID As Integer, byval userType As Integer, byval dstID As Integer)功能说明: 。用于获取指定线路的状态信息(状态,分机号,用户名) 当指定线路的信息返回时,产生otherIDTisInfoArrival事件,见该事件描述与cmdGetTisStatu不同之处是前
14、者只能取自已的状态,而后者可取任意线路参数说明:ID:发起该命令的线路号userType:发起者的用户类型dstID:需要获取的线路ID 返回值:无 会议方法名称:cmdIntoConference(ID As Integer)功能说明: 创建或加入会议。(1) 创建会议流程:现由用户102(ID=1)发起创建一个会议,将用户103(ID=2),104(ID=3)加入到会议中,需要按以下流程操作: a、102(ID=1)摘机(或软摘机,调用ctiSrv1.cmdOffHook(1),具体见后面描述) b、102调用ctisrv1.cmdDial(1,”103”)方法拨打分机103 , c、103摘机,102与103处于通话中d、102调用ctiSrv1.cmdCallHold(1)方法发保持操作以后,102进入拨号状态,103听保持音e、102再调用ctisrv1.cmdDial(1,”104”)拨打分机104f、104摘机后,102与104处于通话中g、102调用ctisrv1.cmdIntoConference (1)方法发起会议操作以后, 102,103,104便处于会议中,可进行三方通话。(2) 加入会议流程:在上面的会议已存在的情况下,若要将用户105(ID=4)拉
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1