基于IP PBX技术的话务系统设计与实现
2016-03-17李日财黄庆东庞胜利郭茹侠
李日财,黄庆东,庞胜利,郭茹侠
(1.西安邮电大学 通信与信息工程学院,西安 710121;2.长安大学 信息工程学院,西安 710061)
基于IP PBX技术的话务系统设计与实现
李日财1,黄庆东1,庞胜利1,郭茹侠2
(1.西安邮电大学 通信与信息工程学院,西安710121;2.长安大学 信息工程学院,西安710061)
摘要:针对IP PBX的操作复杂问题,提出了一种简化IP PBX电话系统的设计方案;设计了便捷实现IP PBX的用户指定操作的话务系统;新系统采用了自定义协商接口,通过Telnet通信协议和IP PBX进行通信;采用多线程并行工作方式,将话务系统与IP PBX通信采用两个线程完成,对酒店的非通信部分采用一个独立的线程完成,实现了通信传输与酒店的工作流操作互不干扰;采用Sqlite数据库存储通信数据并实现了对各类接收数据进行高效处理和解析;完成各类短长途话务接转控制;实现客房入住统计和话务免打扰等服务;此话务系统可应用于宾馆等场所,提高工作效率和服务水平;此系统目前已在宾馆中应用,运行状况稳定,使用效果良好;简化了人工操作流程和复杂度,节约了业务时间,提高工作实效。
关键词:IP Private Branch eXchange(IP PBX);电话网;计算机网;Telnet协议
0引言
PBX(Private Branch eXchange,专用交换机)简而言之就是集团电话,它被广泛地运用在企业办公机构中,极大地提高了企业的办事效率。但传统的PBX缺乏开放性和标准性,并且价格昂贵。近年,随着Internet的流行和IP的广泛应用,基于IP协议的IP PBX应运而生[1-2]。IP PBX与PBX相比有以下优点:将电话网与计算机网统一成一个整体;能为传统的电话用户提供服务,还为Internet用户提供服务;高度集成的系统功能大幅降低了成本;实现增值服务,比如建立呼叫中心等;开放的标准,互通性强、扩展性好的优点。本文采用的IP PBX为阿尔卡特朗讯OmniPCX Enterprise(简称OXE),它不但具有语音交换,还综合了数据通信、文本和视频图像传输等非话业务。 但是OXE交换机系统的宾馆/医院管理程序操作繁琐,对宾馆/医院这种大量电话终端的管理明显体现出使用不方便,操作费时并需要熟练的操作员才能完成任务。本系统就是根据上述问题,提出针对OXE系统开发出面向宾馆/医院的话务管理系统解决方法以及实现。
1OXE系统组织构架
OXE系统可满足宾馆、医院或者其他任何场所的局域电话组网需要。话务系统的组织架构如图1所示,OXE服务器是唯一能直接控制电话网络的部分,所有对电话网络的控制命令,都会汇聚到OXE服务器上,再由OXE服务器控制宾馆电话网的有线/无线话务交换及接入[3-4]。对OXE的操作指令比较繁琐复杂,为了简化操作,本文针对宾馆话务管理需求开发了话务系统软件,安装于PC客户端上。PC客户端通过以太网将话务系统的操作指令发送给OXE服务器,服务器根据指令做出话务网控制、报警、宾馆呼叫等操作。话务软件与OXE服务器通过以太网和RS232进行通信,通过以太网上运行Telnet协议和OXE服务器完成即时的命令交互和操作反馈,由于有些指令下达后不是马上执行,而执行结果也必须及时上报给话务系统软件,如叫醒指令,设置成功后,系统会在设定的时间进行叫醒通知,而叫醒的结果必须及时上报,上报时如果也通过Telnet,有可能由于Telnet客户端不在线或正在运行其他指令而无法及时处理,因此,系统专门通过RS232由OXE服务器返回关键指令的设置结果及随后的运行结果,话务系统软件只要及时处理RS232上传的结果就可以完成整个操作。 OXE系统架构在话务网控制和宾馆房间管理中非常灵活,任意一台PC机都可以安装话务系统软件作为客户端和控制端,并且多个客户端可以同时对宾馆电话网络控制、管理,大大提高了对宾馆的管理效率,避免了客户端故障带来的不必要损失,这种结构适用于中小型电话网络的管理。OXE能够完成包括呼叫分配、呼叫限制、主叫/被叫过滤等话务管理功能。
图1 话务系统的组织架构
2话务系统功能结构
话务系统软件主要功能包括软件注册、系统监控、系统管理功能和控制功能。软件注册保障了软件的使用权限。系统监控保证系统可靠运行,出现故障时及时恢复。话务系统管理功能和控制功能是针对宾馆房间,团队等进行增删改管理以及对宾馆中电话网的控制。采用面向对象的思想,将不同且不相关的功能封装成独立模块,相关联的部分独立出来封装成独立共享模块,这样各个功能互不干扰。简化操作步骤是把原始的键盘命令行操作方式设计成简单的用户图形界面形式。
图2 功能结构图
话务系统的系统管理功能结构如图2所示。操作管理模块包括全部房间、散客叫醒、团队叫醒、VIP叫醒,依次用来显示所有房间电话、普通用户房间电话、团队用户房间电话的当前状态和对电话的操作结果;设置叫醒,取消叫醒,是对上述4种状态的房间进行电话设置叫醒和取消叫醒,但其中有等级差异;导出报表,打印报表,对上述操作的结果及显示状态进行导出或者打印;注销登录,退出系统,分别为更改用户登录和关闭系统;房态管理模块:用户入住,用户退房,通过此话务系统也可以完成对房屋的入住登记;刷新房态,此系统支持多系统操作电话,点击刷新房态即可与其他系统同步;级别设置,完成对电话网络的国内长途、国外长途、市话等进行控制;设置打扰,取消打扰,控制电话的来电业务,防止被人电话骚扰。
软件注册模块中采用了MD5[5]和DES[6]加密算法加密产生的密钥,只有获得正确的密钥才能够使用话务系统。系统监控是一个独立运行的进程,专门对话务系统进行实时监控,如果出现假死机现象,将话务系统强制关掉并重新启动,保证了系统出现故障时的及时恢复。
话务系统的控制功能,完成各项话务管理和控制的操作。话务系统采用Telnet[7-8]通信协议将命令字符串数据打包成网络虚拟终端NVT上传输的数据格式,通过以太网口将数据发送给OXE服务器,OXE服务器把NVT格式数据解析成本地格式数据,并且按照数据命令操作,然后OXE服务器将操作响应得到的数据转换成NVT格式数据,通过以太网口发送给话务系统,完成话务系统和IP PBX系统的一个完整交互过程。
3系统功能实现
本话务系统在设计上采用分层、分模块、面向对象的设计方法,分层设计可以将复杂的系统按照层次结构进行划分,每个层次完成特定的功能,每个层次只和相邻的层次进行特定的接口进行交互,减少层次耦合,实现较好的封装性。每个层次内部由各个功能模块实体构成,每个功能模块按照面向对象的思想进行设计,充分利用面向对象的封装性、多态性、继承性,既保证了每个模块的相对独立性,又能够很好地进行功能扩展和升级[9]。
话务系统整体技术架构计划分为3大层:驱动层、业务层和人机交互层,系统的整体框架如图3所示。
图3 系统整体技术架构
系统最底层为驱动层,用于软件系统和外部系统的接口驱动,包括两大类驱动:一类为通信类驱动模块;另一类为数据库驱动模块。中间业务层利用底层驱动层提供的各种接口驱动完成各种业务处理流程,是系统的控制核心。上层人机交互层负责界面显示、人机输入处理、数据分析计算。
3.1驱动层模块
图4 叫醒执行流程
驱动层的通信类驱动主要包括串口通信驱动模块、以太网接口驱动模块、无线WIFI驱动模块。串口通信驱动模块利用Windows提供的串口访问API函数,编写面向对象的串口封装类,为上层数据接收、数据发送模块提供访问接口。以太网接口驱动模块和无线WIFI驱动模块都是基于IP的数据传输方式,在驱动代码上除了底层调用参数部分不同,其他代码均可共用,这两个驱动模块主要实现了基于TCP的底层通信封装,包括建立连接、收发数据、断开连接等,向上层通信模块提供控制接口。底层的数据库驱动模块完成对特定数据库访问的代码封装,完成两种数据库的访问代码,包括数据库连接、数据库SQL命令查询、执行等,此驱动模块为上层数据库数据存取模块提供数据访问接口。
3.2中间业务层模块
中间业务层模块从设计层次上又可分为两个子层,下子层是通信类业务模块、数据库数据存取模块、多线程管理模块,上子层是操作管理命令模块、房态管理监测模块、原始数据计算转换模块。通信类业务模块在底层通信驱动模块提供的接口基础上进一步封装高层业务协议,完成数据收发、高层协议解析封装、通信连接管理。数据库数据存取模块在底层数据库驱动模块的基础上统一访问接口,兼容底层不同种类的数据库驱动模块,为上层需要数据库服务的模块提供统一的接口。多线程管理模块是系统运行中独立的线程管理模块,由于业务层需要运行的任务较多,为了充分利用操作系统提供的资源管理方法,引入多线程处理以提高并行处理能力,进一步提高系统的实时性,并为基于任务的编程模式提供简洁支持,线程管理模块就是在操作系统提供的线程服务基础上,建立系统内部的线程池和线程分配管理机制,更好地提高运行效率。
3.3上层人机交互层模块
上层人机交互层负责界面显示、人机输入处理、数据分析计算,主要有任务管理模块、参数设置模块、房间管理模块、房态管理模块、操作员管理模块、操作管理模块、通信设置模块及数据库设置模块等。
3.4话务系统的控制功能实现
话务系统的控制功能是通过Telnet进行操作实现的,以叫醒命令操作过程为例,如图4所示,右侧提示框中表示相应操作的结果。话务系统发送“hotmenu ”命令给IP PBX系统,“ ”为回车换行符,IP PBX回送字符串数据为图4中hotmenu对应命令执行后显示结果,话务系统对回送的字符串数据进行匹配,如果不匹配则交互不成功,如果匹配则一次交互成功,接着继续按照图4的流程向下交互传递。在命令交互处理中需要解决的难点问题是对应键盘码值的发送,普通字符均采用ASCII码表示,但一些组合键如Ctrl+C 、上下方向键、F1等特殊命令对应的码值就没有标准可循,在实际开发中使用网络抓包工具捕获Telnet 发送的真实码值,然后编写入自动操作程序中。叫醒命令设置成功后,IP PBX系统会在设定的时间进行电话呼叫叫醒操作,叫醒是否成功会通过IP PBX的RS232串口把相关的数据回送给话务系统软件,通过对数据按照特定的格式进行解析,分析出叫醒是否成功的结果,存入数据库并在界面上显示出来。
4话务系统的应用和效果
图5显示的界面是软件已经激活的主界面,软件的激活需要正确的注册码。软件注册后就可以使用,进入登录界面,登录后就可以进行各项功能操作,右边的串口通信消息是IP PBX系统通过RS232串口返回的信息。
图5 话务系统运行效果图
表1是采用传统操作和本话务系统做同一功能操作花费时间的对比,所记录数据为20组时间的平均值。本话务系统在操作时间上的平均提高量η可以用式(1)计算:
(1)
其中:Oi为传统操作完成时间总,Ni为话务系统完成时间总。传统的操作时间主要是浪费在每个功能都需要键盘输入命令符操作,而话务系统采用一键发送全部指令的方法,交互过程摒除了较慢的人工判断方式,全部采用计算机快速判断,指令执行速度得到了很大提高。
5结语
对于IP PBX操作复杂的问题,新话务系统软件降低了实际操作的复杂度,降低了操作难度和维护成本。本话务系统软件界面简洁明了,系统运行占用资源少,已经在许多大宾馆使用,运行至今一直非常稳定。通过软件的实际应用,也验证了该系统的可靠性和实用性,可以在中小型IP PBX网络中得到广泛的应用。不足之处是目前还有许多功能尚未开发,需要将系统增加更多功能。
表1 传统操作和话务软件操作花费时间对比
参考文献:
[1] Zhu J, Li Z, Ma Y, Huang Y. Realization of Extended Functions of SIP-Based IP-PBX[A].ETCS2010 :The Second International Workshop on Education Technology and Computer Science[C]. Wuhan: IEEE, 2010: 488-490.
[2] Prasad J K, Kumar B A. Analysis of SIP and realization of advanced IP-PBX features[A].ICECT2011: The 3rd International Conference on Electronics Computer Technology[C]. Kanyakumari: IEEE, 2011: 218-222.
[3] Lilja K K, Laakso K, Palomki J. Using the Delphi method[A].PICMET 2011:Portland International Center for Management of Engineering and Technology[C]. Portland, OR: IEEE, 2011: 1-10.
[4] 李杰. 企业集团基于办公网络的IP电话系统构成及实现[J]. 铁道工程学报,2013(1): 110-114.
[5] 张裔智, 赵毅, 汤小斌. MD5算法研究[J]. 计算机科学,2008(7): 295-297.
[6] 刘晶晶, 马世伟, 陈光化, 等. 面向NFC应用的DES/3DES算法研究与仿真实现[J]. 微电子学,2013(1): 134-138.
[7] 闵红星. Telnet 协议及其应用[J]. 交通与计算机,1999(4): 29-32.
[8] 卢爱卿, 张会勇, 征赵. Telnet协议的实现原理及应用[J]. Computer Engineering,2002, 28(11): 268-280.
[9] 党宏社, 王刚, 张颖. 基于三层C/S架构的发射机远程监控系统设计[J]. 电视技术,2014(1): 69-72.
Design and Implementation of Telephone Traffic System Based on Technology of IP PBX
Li Ricai1, Huang Qingdong1, Pang Shengli1, Guo Ruxia2
(1.School of Telecommunication and Information Engineering, Xi’an University of Posts & Telecommunications,Xi’an710121,China; 2.School of Information Engineering, Chang’an University, Xi’an710061,China)
Abstract:According to IP PBX complex operation problem, a simplified IP PBX phone system design scheme was proposed. The convenient implementation traffic system based on IP PBX in which user specified operation was designed. The custom interface through consultation was adopted in the new system which communicated via Telnet protocol and IP PBX. The multi-thread parallel work method was adopted. The traffic system and IP PBX system was completed by two threads. The part of non communication in the hotel was completed using a separate thread, which realized non interference between the communication transmission and the workflow operations in the hotel. Sqlite database was used to store communication data and all kinds of received data was handled and parsed efficiently. All kinds of short long-distance traffic transportation control were completed.Rooms in statistics and no disturbing traffic service was realized. This traffic system can be applied to hotels and guesthouses, which can improve work efficiency and service level. This system has been applied in the hotel, which has stable operation and well usage result. The procedure of manual operation and complexity is simplified. Business time is saved and work efficiency is improved.
Keywords:IP private branch eXchange(IP PBX);telephone network;computer network; telnet protocol
文章编号:1671-4598(2016)02-0178-04
DOI:10.16526/j.cnki.11-4762/tp.2016.02.049
中图分类号:TP311.11
文献标识码:A
作者简介:李日财(1990-),男,辽宁大连人,硕士研究生,主要从事软件工程、物联网技术方向的研究。黄庆东(1977-),男,陕西西安人,副教授,博士,主要从事阵列信号处理、低复杂度算法方向的研究。
基金项目:国家自然科学基金资助项目(61301091,61271276);陕西省教育厅课题资助项目(11JK0929)。
收稿日期:2015-08-07;修回日期:2015-09-08。