APP下载

基于设计的GPS接口通信协议的语音呼叫系统方案

2017-07-10滕庆武谢海波

计算机应用与软件 2017年6期
关键词:通话号码客户端

滕庆武 朱 青 谢海波

1(湖南大学电气与信息工程学院 湖南 长沙 410082)2(长沙宏地科技开发有限公司 湖南 长沙 410004)

基于设计的GPS接口通信协议的语音呼叫系统方案

滕庆武1朱 青1谢海波2

1(湖南大学电气与信息工程学院 湖南 长沙 410082)2(长沙宏地科技开发有限公司 湖南 长沙 410004)

针对混凝土搅拌车企业里出现混凝土搅拌车工作时车辆严重偏离轨迹、司机偷油偷料及车辆严重超速等情况下,电话语音呼叫系统不能及时语音自动拨号通知客户,提出一种将语音呼叫系统与车辆定位监控系统的业务服务器连接进行数据交互的语音呼叫系统解决方案。该系统首先进行GPS接口通信协议的设计,然后利用此协议进行语音呼叫系统的各功能模块的设计,最后进行系统功能测试。实际结果表明,当监控到车辆出现严重异常时,语音呼叫系统能够第一时间自动拨号给车辆企业告知车辆信息,通话过程可以实时监控车辆位置信息,使企业更好地管理车辆、提高效率、节约成本,防止不必要的损失。

搅拌车企业 GPS 呼叫系统 车辆监控平台 业务服务器 自动拨号

0 引 言

在导航运营服务领域里[1-3],特别是给混凝土车辆企业提供导航运营服务时,越来越多的混凝土搅拌车车辆企业希望在车辆出现严重异常时,包括车辆严重偏离工作轨迹[4-6]、车辆严重超速及司机途中偷油偷料等,导航运营服务企业能够第一时间通过电话语音呼叫系统自动拨号人工语音告知车辆异常信息,并在车辆监控平台上直观显示,也可在通话时实时显示车辆位置信息。但是现在的企业电话语音呼叫系统是独立于车辆定位监控平台的,通常是通过短信方式或者查找记录人工拨打指定号码告知车辆信息,这导致了一定的时延问题。将语音呼叫系统和车辆定位监控系统业务服务器实时连接,进而与车辆监控平台数据通信就可以解决在车辆严重异常时不能及时电话自动拨号,还可以实现语音呼叫系统平台上实时显示车辆异常信息。本文就是在此基础上设计基于一种GPS接口通信协议的语音呼叫系统的解决方案,实现了CTI技术[7-10]、计算机技术、电信技术和导航技术的有效结合。另外,本文系统还就语音服务方面对北斗和GPS进行了比较和分析。

1 GPS和北斗导航系统在语音服务中的比较

在语音服务中,本文语音呼叫系统中的一个特点是在车辆司机语音通话时可以对车辆位置实时显示,这就需要可以实时定位到车辆位置。现在基本上都是通过GPS和北斗系统对车辆位置进行定位。

GPS是全球定位系统的简称,是美国所研制的,覆盖全球的全天候导航系统,在1964年投入使用。GPS是由24颗卫星组成(21颗工作卫星和3颗备用卫星),它位于距地表20 200 km的上空,运行周期为12 h。卫星的分布使得在全球任何地方、任何时间都可观测到4 颗以上的卫星,并能在卫星中预存导航信息。具有如下特点:(1) 覆盖范围全球性。(2) 综合定位精度到达厘米级和毫米级,但是民用领域精度约为10米。(3) 全方位、全天候、全时段、高精度的卫星导航系统, 为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息。

北斗导航系统是我国自主研发的,空间段由5颗静止轨道卫星和30颗非静止轨道卫星组成,现阶段“北斗”系统已经覆盖亚太地区,在2020年左右将覆盖全球。具有如下特点:(1) 覆盖范围大,现已覆盖整个东南亚地区。(2) 民用定位精度可以达到10米左右,但在卫星数较少、卫星分布较差的区域,定位精度较差或无法定位。(3) 为区域服务的用户提供全天候、实时定位服务。(4) 具有短报文短信功能,实现区域无通信盲区。

综合北斗和GPS的特点,可以看出北斗系统具有GPS没有的短报文通信功能。但是北斗还处于发展阶段,主要是用在军用上,民用领域还没有普及。就语音服务方面,虽然北斗具有短报文通信功能,但是本文语音呼叫系统所需要的车辆位置、报警等信息的内容不固定,有时信息多,有时信息少。北斗的短报文通信功能传送的内容比较少,在本文语音呼叫系统中,此功能不太适用。本文系统传送信息主要是通过通用的GPRS传送,所以语音呼叫系统主要是考虑导航系统的定位功能。在民用定位方面,北斗定位技术还不太成熟,覆盖范围目前只是区域性,用户容量有限,民用普及率不高。GPS定位技术成熟、稳定,定位准确,全球覆盖,用户容量无限,在民用工程车辆领域中普及率高,容易推广。这基本满足了本文中呼叫系统的语音服务,可以通过利用GPS快速准确定位出车辆位置,再和车辆的其他信息组成数据包实时发送到语音呼叫系统。语音呼叫系统就可以解析出车辆位置等数据为用户提供可靠、准确的语音服务。故通过上面分析,本文语音呼叫系统所需的车辆位置信息主要通过GPS定位得到。

2 GPS接口通信协议设计

2.1 协议术语及说明

本协议定义以下术语,如表1所示。

表1 术语表

GPSCP协议是以TCP/IP协议作为底层通信承载的,具体的堆栈结构由图1所示。

图1 堆栈结构图

2.2 通信方式

本协议的通信方式如图2所示。

图2 协议通信方式

GPSMT、GPSMP为客户端,这里GPSMT可以为语音呼叫系统或者车载终端,GPSMP可以为车辆监控平台,GPSBS为服务端,这里作为业务服务器,起到了响应客户端,数据中转的作用。当客户端要发送命令时,首先是主动向服务器端建立TCP长连接,然后再向服务器端发送命令;服务器端接收客户端命令后,返回应答给客户端,客户端接收应答。连接建立以后,客户端就可以连续发送多条命令给服务端。如果客户端由于某种原因需要暂时中断通信,客户端应该给服务端发起注销消息,收到返回应答后主动断开连接。

当没有业务数据在信道上传输时,客户端/服务端应每隔时间30秒发送链路检测包以保持此连接, 服务端/客户端收到链路检测包后,立即返回链路检测应答包。服务端/客户端在120秒内没有收到任何消息包,则应断开此连接。

如果由于某种原因导致客户端和服务器端连接断开,客户端应该尝试重新连接服务器端,这样才能继续发送业务数据包,和服务器端进行通信。

2.3 消息定义

2.3.1 消息的数据类型与组成

消息的数据类型如表2所示。

表2 消息的数据类型

注:消息说明中的长度指所占用字节数。

基于TCP/IP连接的GPSCP协议消息分为消息头与消息体两部分,如表3所示。

表3 消息的组成

消息体是由格式良好的XML组成。XML是一种良好的可扩展性语言[11-12]。此XML的根元素必须是;业务请求消息包中必须包含(功能码)和(序列号),业务请求应答包必须包含(返回码)和(序列号)。比如序列号(TRACE)由“MMDDHHmmss”+四位流水号(从0000到9999),长度为14位,能保证一年不重复,如“06241304350345”,表示6月24日13点04分35秒第345个包。

2.3.2 部分消息体描述

1) 电话呼入通知

当客户拨打平台服务电话,并且坐席摘机后,语音呼叫系统发送电话呼入通知到业务服务器。具体消息格式如下:

2) 电话呼出

业务服务器由于车辆报警、巡检等原因请求对指定号码进行电话呼出操作,发送该请求到语音呼叫系统,语音呼叫系统应主动拨打指定号码,在电话接通后返回应答,并将语音等相关信息保存到数据库。具体消息格式如下:

3 呼叫系统方案的设计

现在的企业电话语音呼叫系统一般都有IVR交互式语音模块、ACD自动呼叫分配模块、坐席人员登录签退模块、电话呼入模块、电话呼出模块、录音模块、数据库模块等功能模块。本文设计的语音呼叫系统除了具有这些一般功能外,还具有一些符合特定领域的功能模块,包括自动拨号模块、中心监听车辆异常模块和连接车辆定位监控系统业务服务器模块。功能模块图如图3所示。

图3 功能模块流程图

3.1 系统方案整体架构

本文提出的电话语音呼叫系统的解决方案是通过在语音呼叫系统中加入设计的GPS接口通信协议和车辆定位监控系统业务服务器相连接,进而与车辆定位监控平台联系,形成完整统一的语音呼叫系统。系统架构如图4所示。

图4 系统整体结构

在图4系统整体结构图中,包括四个主部分:搅拌车车辆(车载终端)、车辆定位监控系统业务服务器、企业语音呼叫系统及车辆定位监控平台。车载终端主要是接受车辆位置等状态信息及收集混凝土搅拌车辆的油量和混凝土的使用情况,将这些数据通过GPRS(通用分组无线服务技术)传输到业务服务器。车辆定位监控系统业务服务器是接收各客户端的请求,并响应处理,进而将接收到的数据进行中转。车辆定位监控平台一方面是实时监控显示车辆信息及利用后台应用程序对车载GPS终端上传的数据进行分析和综合,判断车辆司机是否偷油偷料,车辆是否处于严重超速等异常状态,之后会自动产生一个报警消息,通过业务服务器依照程序底层的GPS接口通信协议将报警消息发送到语音呼叫系统。另一方面,车辆定位监控平台会对语音呼叫系统上传的数据进行判断,下发相应的数据信息给语音呼叫系统。企业语音呼叫系统主要是完成企业正常的电话呼入、呼出,为客户提供语音服务,另外在接收到监控平台通过业务服务器发来的报警消息后,解析报警消息内容,得到客户信息,会通过应用程序自动拨号连接客服与指定号码的客户(包括车辆司机)告知车辆异常信息,通话过程中,会在语音呼叫系统平台上实时显示车辆位置等信息。

3.2 语音通话实现设计及与定位的组合关系

本文系统通话实现主要是基于东进公司的K161A-E16线模拟接口语音卡以及与语音卡配套的Keygoe系统。Keygoe系统是一个独立的设备,可以单独运行。用户可以在Keygoe系统上进行开发,从而构建出独有的、个性化的业务应用。本语音系统就是在Keygoe系统上进行开发的,利用Keygoe系统进行一系列电话调度。另外,东进公司在 Keygoe 上提供了编程接口EasyAPI。 EasyAPI 提供了一组函数。通过这组函数,应用程序能够与 Keygoe 交互,也能够得到 Keygoe 返回的事件,从而控制 Keygoe系统进行语音板卡操作语音通话。注:关于东进公司16线模拟接口语音卡、Keygoe系统及Keygoe系统编程请参考公司官网提供的用户手册和编程手册,这里就不在详细阐述。

语音通话实现及与定位关系的流程如图5所示。

图5 语音通话实现及与车辆定位组合关系图

在图5中可以反映出语音通话实现流程及语音通话与车辆定位的组合关系。首先,Keygoe系统启动,利用GPSCP协议将语音系统连接到车辆监控平台业务服务器。之后,语音呼叫系统不断检测是否有外界电话呼入或内部呼出。如果有,就利用应用程序中My_GetDtmfCode()函数调用Keygoe中FetchEventData()函数获得主叫号码,并将号码以GPSCP协议通信方式通过业务服务器上传到车辆定位定位监控平台,监控后台程序就会获得主叫号码,会按照号码查找数据库获得用户信息,之后再根据用户信息调用车辆定位程序获得车载GPS终端上传的指定车辆的位置信息。监控后台程序会将车辆位置信息及用户信息以GPSCP协议的消息格式组成数据包下发到语音呼叫系统。语音系统接收到数据包之后,会按照协议的消息格式解析出数据。最后会再次判断电话是呼入还是呼出,如果是呼入,就会触发Keygoe系统中XMS_EVT_CALLIN事件,并调用Keygoe系统中XMS_cts_MakeCallout函数并传入号码等参数,连接语音卡中继和坐席通道接通电话进行通话,同时也会在语音呼叫系统界面实时显示车辆位置等信息。如果是呼出,就会触发Keygoe系统中XMS_EVT_CALLOUT事件,并调用Keygoe系统中XMS_cts_MakeCallout函数并传入号码等参数,连接语音卡坐席和中继通道接通电话进行通话,同时也会在语音呼叫系统界面实时显示车辆位置等信息。

3.3 车辆异常时呼叫系统电话自动拨号设计

现在的中小型导航运营服务企业的车辆监控系统在监控到混凝土搅拌车等工程车辆出现严重异常时,不能第一时间通过语音呼叫系统自动拨号指定号码人工语音告知车辆企业车辆异常信息。一般是通过在监控平台人工查找异常记录获得用户信息,再手动拨号通过语音呼叫系统拨打车辆企业告知车辆信息。这导致了一定时延问题,这就要求语音系统能够检测到车辆异常,并能够自动获得用户信息自动拨号车辆企业告知车辆异常信息。主要流程如图6所示。

图6 车辆异常电话自动拨号

如图6所示,首先在语音呼叫系统中加入一个监听车辆异常报警消息线程实时监测是否有车辆异常报警消息下发,当车辆出现严重异常时,车载GPS终端会主动上传车辆异常信息给车辆定位监控平台,后台应用程序收到异常信息后会综合分析以及通过查找数据库获得异常车辆的用户信息组成数据包(报警消息)主动以GPSCP协议形式下发到语音呼叫系统,语音系统监听线程检测到报警消息后会主动接收报警消息,并且解析出车辆异常及用户信息。这时会主动触发Keygoe系统中XMS_EVT_CALLOUT事件,并调用Keygoe系统中XMS_cts_MakeCallout函数并传入号码等参数,连接语音卡坐席和中继通道,自动拨打指定号码告知车辆企业车辆异常信息。通话时,也会在语音呼叫系统界面实时显示车辆异常等信息。

3.4 位置欺骗及安全方面预测

现实中,在混凝土搅拌车领域,车辆司机可能会在与车辆企业实际通话过程中对车辆的实际位置进行欺骗。但是由于这些混凝土搅拌车辆一般都是统一管理的,出现这种位置欺骗也是很少的。从系统建设的角度,本文系统地对几个常见的位置欺骗进行了预测,使得系统更加安全实用。一般常见位置欺骗行为有如下三种:

1) 通话过程谎称车辆故障,工作途中长时间停车。

2) 车辆未在工作工地上,谎称车辆正在工作。

3) 使用数据库查找不到的手机号码,谎称车辆位置。

针对第一种情况,由于车辆路障属于车辆严重异常情况,语音呼叫系统设计自动拨号功能。如果没有发生自动拨号事件,说明出现司机位置欺骗行为。第二种情况,主要是通过注册车辆司机号码和车辆绑定,这样车辆监控平台就可以从数据库中查到车辆司机信息,实时定位车辆实际位置,并下发到呼叫系统显示。就可以根据下发到的车辆位置和工作地位置是否一样来判断位置欺骗行为。第三种情况,所用手机号码不能查到,就无法定位车辆实际位置,这种情况就需要人工手动查找车辆信息,在定位车辆实际位置。

4 系统测试结果分析

本文系统界面如图7所示。

图7 语音呼叫系统通话主界面

起初图7中流程状态全为空闲,此时表示有电话事件如上图。上图左下角中可以很直观地显示各个事件,右下角进行中继、坐席配置。图左下角可以看出呼叫系统已经连接上车辆监控平台业务服务器,可以和监控平台通信。对于图7中可以双击来电号码可以进行监控。

当图7语音呼叫系统主界面中通道1中有电话呼出时,双击来电号码,可以进行电话监控如图8所示。

图8 呼出电话监控界面

图8的几点说明如下:

通话状态:1正在通话;2通话已结束。

通话类型:1呼入;2呼出;3车辆异常时自动拨号。

车辆异常情况:1无异常(对应于呼入或呼出类型);2有异常又分为司机偷油偷料、严重超速及车辆发生故障(对应于车辆异常时自动拨号类型)。

位置欺骗预测:主要是针对3.4节中的三种位置欺骗行为。

结合说明,图8中可以很直观地显示当前通话的客户名称以及车辆司机姓名、来电号码和来电时间。并且图中还可以显示当前通话状态是正在通话类型时呼出。另外,可以实时监控指定车辆的实际位置,还有车辆异常情况以及通话过程中是否有位置欺骗行为。上图显示的通话监控界面可以看出当前指定车辆没有异常发生,司机没有位置欺骗行为。

双击图7中通道2的来电号码,可以进行自动拨号电话监控如图9所示。

图9 自动拨号电话监控

图9中,可以很直观地看出通话类型为自动拨号。显示的客户名称和图8中一样,说明来自同一个公司。另外也可以监控到来电号码及来电时间,并且此时自动拨号通话已经结束。在图9中一样可以监控到车辆实际位置,而电话自动拨号是由于车俩出现异常情况,即车辆是在路口严重超速。但是通话时,司机并没有发生位置欺骗,没有隐瞒自己的行为,这些都可以上图中直观看出。

双击图7中通道10的来电号码,可以进行呼入电话监控如图10所示。

图10 呼入电话监控

如图10中一样可以对呼入电话监控,可以实时显示当前通话的客户名称以及车辆司机姓名,来电号码、来电时间、通话状态和指定车辆的实际位置。另外,上图显示的通话监控界面可以看出当前指定车辆没有异常发生,但是司机存在位置欺骗行为,即车辆未在工作工地上,谎称车辆正在工作。

通过这些直观结果,可以看出本文语音呼叫系统基本实现预期功能,符合系统的建设,可以很好地适应导航运营服务企业实际的需求,具有很好的实用价值。

5 结 语

本文设计了一套面向导航运营服务企业的电话语音呼叫系统的解决方案。本系统与车辆定位监控平台有效联系,实现了在通话过程中实时显示车辆位置等信息,而且在车辆严重异常时能够及时电话自动拨号给客户告知车辆信息,解决了人工查找记录拨打或短信方式告知客户异常车辆信息出现的时延问题,满足了混凝土搅拌车企业的实际需求,一定程度上提高了语音服务质量。另外,本文系统在位置欺骗及安全方面考虑的情况还是比较少,在今后系统实际运行中还需要进一步完善与研究。对于中小型的导航运营服务企业来说,本系统已经可以满足实际的要求了,本系统解决方案已在一家小型导航运营服务企业推广。

[1] 张凤传,苗玉彬,刘印锋,等.基于GPS/GPRS/GIS的智能公交监控系统[J].计算机工程,2008,34(22):277-279.

[2] 张锦明,付永恒.基于GPS/GPRS的位置信息服务系统的设计与实现[J].测绘通报,2007(11):30-33.

[3] 朱翠青.基于GPRS/GPS的车辆定位监控系统的设计与实现[D].上海:华东师范大学,2008.

[4] 程一沛.基于GPS/GIS/GPRS的车辆监控管理系统的设计与开发[D].西安:西安科技大学,2009.

[5] 王晴婉,朱家友.基于GPS_GPRS车辆监控终端设计与实现[J].通信技术,2009,42(9):121-123.

[6] 唐运虞,刘向东,修春波.基于GPS/GPRS的车辆监控系统的设计[J].计算机系统应用,2007(10):40-43.

[7] 赵秀焕,蔡乐才,张略.基于CTI的交互式电话语音系统的设计与实现[J].四川理工学院学报(自然科学版),2009,22(1):32-34.

[8] 徐雅斌,张云帆.基于CTI技术的呼叫中心的设计与实现[J].计算机工程,2007,33(5):232-234.

[9] 张雷.中小型企业多媒体呼叫中心的设计与实现[D].上海:上海交通大学,2008.

[10] 何成林,杜利民.电话语音监控系统的设计与实现[J].微计算机应用,2006,27(2):174-176.

[11] 邓彦杰.基于XML的安全通-XML Engine[D].成都:电子科技大学,2004.

[12] 章勋,杨家海,王继龙.基于XML技术的网络配置管理系统[J].计算机工程,2008,34(2):127-129.

A VOICE CALLING SYSTEM SCHEME BASED ON DESIGNED GPS COMMUNICATION PROTOCOL

Teng Qingwu1Zhu Qing1Xie Haibo2

1(CollegeofElectricalandInformationEngineering,HunanUniversity,Changsha410082,Hunan,China)2(ChangshaGralandScienceandTechnologyDevelopmentCo.,Ltd,Changsha410004,Hunan,China)

When the concrete mixer truck works in the concrete mixer business, the vehicle is seriously deviated from the track, the driver steals the oil, and the vehicle is seriously overdriven, the telephone voice call system can’t promptly automatic dialing to notify customers. A voice calling system scheme is proposed which is connected with the service server of the vehicle positioning and monitoring system for data exchange. The system firstly designs the communication protocol of GPS interface, then uses this protocol to design the function module of the voice calling system, and finally carries on the system function test. The actual results show that the voice calling system can timely inform business about the vehicle information by autodial as soon as monitoring to the vehicle abnormality. Call process can be real-time monitoring of vehicle location information, enabling enterprises to better manage vehicles, improve efficiency, save costs and prevent unnecessary losses.

Mixer business GPS Calling system Vehicle monitoring platform Business server Autodial

2016-06-26。国家自然科学基金项目(61175075)。滕庆武,硕士生,主研领域:现代网络与通信技术。朱青,副教授。谢海波,工程师。

TP393

A

10.3969/j.issn.1000-386x.2017.06.022

猜你喜欢

通话号码客户端
说号码 知颜色
一个号码,一个故事
猜出新号码
《戊戌元日与友人通话》
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
低成本视频通话APP
2013年11月通信业主要指标完成情况(一)
这个号码很吉祥