专利名称:嵌入式可编程语音交换系统的制作方法
技术领域:
本发明涉及一种网络通信技术,尤其涉及一种应用于语音交换机中的嵌入式可编程语音交换系统。
目前,已经出现了带有媒体处理功能的交换机,即语音交换机。但是,它们提供的开发环境是封闭式的。也就是说,各种交换机都提供自己特有的开发平台,彼此互不兼容,并且不符合任何国际标准或事实上的工业标准,也不符合传统的基于交换机的CTI系统开发模型。其体系结构如图2所示。这种体系结构的缺点是在封闭性平台上开发的CTI应用程序不具有可移植性,用户也不可能复用以前在其他标准平台上已开发好的应用程序。
本发明的目的是这样实现的嵌入式可编程语音交换系统包括CTI(计算机电话集成)服务器该服务器内置于交换机中,并与呼叫控制编程接口模块相连,外部应用程序通过调用呼叫控制编程接口可以与交换机通信实现呼叫控制功能;物理设备驱动程序模块用于提供语音交换机内硬件设备的驱动程序;呼叫状态机模块通过与CTI服务器间的信息交互实现连接状态的变迁;路由控制模块实现入呼叫的目标选择。
本发明所述的嵌入式可编程语音交换系统还包括虚拟语音卡模块,每个虚拟语音卡都连接在一组虚拟的用户线上,并提供与连接在物理用户线上的真实语音卡相同的功能。
本发明所述的嵌入式可编程语音交换系统的虚拟语音卡模块还通过远程控制接口与计算机上的语音卡编程接口模块相连,通过该接口可以调用虚拟语音卡的功能。
由上述技术方案可以看出,本发明提供了一种符合工业标准并且与传统CTI系统开发模型保持一致的嵌入式可编程语音交换系统。该系统提供了内置的虚拟语音卡模块,可认为是连接在交换机的一组虚拟用户线上,为交换机的语音功能提供了标准的访问方式。该系统中的CTI服务器内置于交换机中,且可通过标准呼叫控制编程接口在外部计算机上访问。
利用本发明,用户无需任何修改就可以将以前在相同标准接口上开发的应用程序或中间件重新使用。同时,为此系统开发的软件也可以在其他符合相同标准接口的设备上运行。这就可以充分保护用户的软件投资,并为用户提供性价比更高的选择以及更广阔的选择范围。另一方面,由于交换机内含了CTI服务器,节省了一台计算机,并消除了运行CTI服务器软件的计算机成为整个CTI应用系统的单故障点的问题。这样可以做到任何计算机停机均不影响其他计算机的运行,从而提高了系统的可靠性,同时也提供了更高的集成度,并降低了系统总成本。
本发明的具体实施方式
如图3所示。本发明由交换机内的嵌入式软件和计算机上的应用编程接口模块构成。其中,交换机内的嵌入式软件包括物理设备驱动程序模块、逻辑设备模块模块、呼叫状态机模块、路由控制模块、CTI服务器以及虚拟语音卡模块及其远程控制接口。应用编程接口模块则包括呼叫控制编程接口模块和语音卡编程接口模块两部分。
物理设备驱动程序主要用于提供交换机内硬件设备的控制接口,即提供各硬件的驱动程序。硬件设备包括中继线接口单元、用户线接口单元、交换网络、DSP(数字信号处理)模块、以太网接口等等。
逻辑设备模块主要是实现自动呼叫分配(ACD),包括相应的算法、排队机制等。
呼叫状态机模块实现一个符合标准的呼叫状态机,实现设备(Device)、呼叫(Call)、连接(Connection)等概念,并根据计算机发出的服务请求和用户针对线路的外部动作(摘挂机、呼入、拨出、超时等)实现连接状态的变迁,是交换机软件的核心。呼叫状态机模块与CTI服务器之间通过一系列消息进行交互实现相应的功能。
路由控制模块负责实现入呼叫的目标选择。呼叫的目标可能是用户线或ACD设备。路由的方式包括计算机辅助的路由;基于可配置路由表的路由,即根据主被叫号码决定其目标;接受用户进一步拨号的路由等等。当采用计算机辅助的路由方式时,需要通过CTI服务器与计算机上运行的路由控制程序进行交互。
CTI服务器是计算机上运行的应用程序与交换机中的呼叫状态机模块相互作用的中介,主要由信道(Channel)管理、远程过程调用接口和消息转发机制构成。它接收多个计算机应用程序通过呼叫控制编程接口发出的呼叫控制请求,并将这些请求转发给呼叫状态机模块。同时,它接收呼叫状态机模块的事件/状态报告并通过呼叫控制编程接口将其转发给相应的应用程序。
虚拟语音卡模块是利用交换机内的部分DSP资源、交换网络资源和CPU处理能力构建的一个或多个类似于传统语音板卡的虚拟设备。在呼叫状态机模块看来,每个虚拟语音卡都连接在一组虚拟的用户线之上,并能够提供与真实的连接在物理用户线上的语音板卡完全相同的功能。此模块与呼叫状态机模块之间通过内部定义的消息机制模拟摘挂机、振铃、拨号等操作。其远程控制接口构成负责与计算机上的语音卡接口模块交互。
呼叫控制编程接口模块在计算机上提供基于工业标准的呼叫控制编程接口,支持在这些接口上开发的应用程序,如座席应用等。虚拟语音卡模块对应的虚拟用户线路的呼叫控制也通过呼叫控制编程接口进行。
语音卡编程接口模块在计算机上实现一个虚拟的语音卡映像,提供录放音等媒体控制功能,从而支持传统的基于语音板卡的语音应用程序如IVR(交互式语音应答)等。
呼叫控制编程接口和外部语音模块语音卡编程接口彼此独立,仅在摘挂机、拨号等方面存在部分重叠。
本发明的工作过程如下首先需要配置交换机内的ACD组,定义虚拟语音卡的数量和各个虚拟语音卡对应的虚拟用户线数量。一般一个虚拟语音卡对应的虚拟用户线唯一地属于一个ACD组。
当外部呼叫到来时,首先由路由控制模块选择目标用户线或ACD组。确定目标后,此呼叫交由呼叫状态机模块进行处理。该模块将此呼叫的状态/事件通过CTI服务器和呼叫控制编程接口报告给相应的应用程序。座席人员根据应用程序显示的信息对此呼叫进行处理,如接听、转移、会议等。这些呼叫处理命令均通过呼叫控制编程接口和CTI服务器传递给呼叫状态机模块,并返回响应信息。座席人员还可通过呼叫控制编程接口发起向外的呼叫。
如果入呼叫的目标是虚拟语音卡,则呼叫状态机模块除通过CTI服务器和呼叫控制编程接口报告呼叫状态/事件外,还通过内部定义的消息机制通知虚拟语音卡模块。虚拟语音卡模块通过远程控制接口将此事件报告给计算机上的语音卡编程接口模块。这样,语音应用程序(如IVR)就能够检测到虚拟用户线上的“振铃”等信号,并通过语音卡编程接口进行摘挂机、录放音等操作。同时,语音应用程序也可以利用呼叫控制编程接口实现转移、会议等呼叫控制操作。
另外,如果用户拥有在相同标准接口上已经开发好的应用程序,可通过适当修改配置信息、重新编译源程序等简单措施,而无需修改源代码,便可简单快速地移植到本发明所述的嵌入式可编程语音交换系统上。同样,在本系统上开发的应用程序也可以用同样手段移植到其他符合相同标准接口的环境中应用,为用户提供了极大的方便。
权利要求
1.一种嵌入式可编程语音交换系统,其特征在于包括CTI(计算机电话集成)服务器该服务器内置于交换机中,并与呼叫控制编程接口模块相连,外部应用程序通过调用呼叫控制编程接口可以与交换机通信实现呼叫控制功能;物理设备驱动程序模块用于提供语音交换机内硬件设备的驱动程序;呼叫状态机模块通过与CTI服务器间的信息交互实现连接状态的变迁;路由控制模块实现入呼叫的目标选择。
2.根据权利要求1所述的嵌入式可编程语音交换系统,其特征在于还包括虚拟语音卡模块,每个虚拟语音卡都连接在一组虚拟的用户线上,并提供与连接在物理用户线上的真实语音卡相同的功能。
3.根据权利要求2所述的嵌入式可编程语音交换系统,其特征在于所述的虚拟语音卡模块还通过远程控制接口与计算机上的语音卡编程接口模块相连,通过语音卡编程接口可以调用虚拟语音卡模块的相应功能。
全文摘要
本发明涉及一种嵌入式可编程语音交换系统。该系统包括内置于交换机中的CTI(计算机电话集成)服务器,CTI服务器与呼叫控制编程接口模块相连,应用程序通过调用该接口可以与交换机通信实现呼叫控制功能;还包括物理设备驱动程序模块、呼叫状态机模块及路由控制模块。利用本发明用户可以将以前在相同标准接口上开发的应用程序或中间件重新使用,同时,为本系统开发的应用程序也可以在其他符合相同标准接口的设备上运行。另一方面,由于交换机内含了CTI服务器,节省了一台计算机,并提高了系统的可靠性,同时也提供了更高的集成度,降低了系统总成本。
文档编号H04M3/42GK1391392SQ0212355
公开日2003年1月15日 申请日期2002年7月3日 优先权日2002年7月3日
发明者余浩, 李惠科, 陈建亚, 朱祥华 申请人:余浩, 李惠科, 陈建亚, 朱祥华