基于一种固定电话监测终端的挂机短信系统设计
   来源:现代电子技术     2017年12月10日 23:46

基于80C31的固定电话短信息终端的设计

李本龙++李欣

摘 要: 固定电话在政府、企事业单位、家庭广泛应用,其是最大众化的公众通信工具和接入门户。固定电话的拥有者通常需要在通话结束时以短信的形式给对方传递一种信息。在已设计的以ATmega16单片机为核心的固定电话监测终端硬件平台的基础上实现挂机短信系统设计。该系统采用无连接的UDP协议以及自定义的TCP/IP模型应用层协议实现监测终端和实时监控软件网络通信。监测终端将检测到的PSTN网络中固定电话端的信令转换成数据包发送到实时监控软件进行处理,从而实现短信触发和话务的电子化管理。

关键词: 挂机短信; ATmega16; 信令; TCP/IP; 电子化管理

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2015)10?0035?03

0 引 言

挂机短信是当客户用手机拨打企业的某一固定电话并在通话结束时,系统将发送一条短信到客户手机上,短信内容一般为企业介绍、产品介绍等[1]。近几年挂机短信发展迅速,年收入超亿元,用户规模超百万,这说明了挂机短信市场需求之大。

项目中实现了一种挂机短信系统设计,以ATmega16单片机[2]为核心的固定电话监测终端与开通来电显示业务的被监测固定电话并联,监测终端将监测到的PSTN网络中固定电话端的信令转换为满足自定义TCP/IP模型应用层协议格式的数据包。监测终端通过Internet网络将数据包发送到服务器端的实时监控软件进行处理,从而实现短信触发、来去电号码全记录和话务的电子化管理[3]。用户通过B/S架构的网站可以制定个性化的短信内容、个性化的短信发送策略,并且可以随时查询、导出分配监测终端下的通话明细等。

1 系统总体结构

该系统主要由固定电话监测终端、服务器端实时监控软件、基于SQL 2005的数据库管理系统、B/S架构的终端管理网站以及第三方的短息接口组成。系统的总体结构框图如图1所示。固定电话监测终端是以ATmega16单片机为控制器,以串口转以太网为通信模块的电话监测终端。该终端与被监测固定电话并联,能够识别FSK和DTMF双制式来显[4],以及能够检测到PSTN网络中固定电话端的信令[5],比如振铃、摘机、按键、挂机、未接等。监测终端将检测到的信令转换成数据包发送到实时监控软件。实时监控软件根据实时监控协议,解析传来的数据包,利用短信接口发送下行短信,实现通话明细的自动化记录。数据库管理系统储存管理着所有监测终端发过来的数据包信息,以供用户通过B/S架构的网站管理分配终端下的通话明细。

本系统将监测终端检测到的摘机信令作为固定电话一次完整通话过程的开始标志,将检测到的挂机信令作为固定电话一次完整通话过程的结束标志。实时监控软件在收到来电过程中的挂机数据包时触发短信操作。

图1 系统总体结构框图

2 协议设计

进行网络通信的系统,需要根据系统的特点选择适合系统的通信协议。因为UDP协议使用尽最大努力交付,即不保证可靠交付,主机不需要维持复杂的链接状态表以及具有高效性等特点,所以本系统采用无连接的UDP传输层协议。除此之外,需要制定出适合本系统的自定义TCP/IP模型应用层通信协议[6]以保证实时监控软件能够识别固定电话监测终端传来数据包的具体含义。PSTN网络中的通话过程一般可以分为来电过程和去电过程。在来电过程和去电过程中用户对固定电话有多种可能操作,比如摘机、按键、挂机等,但是一次完整的通话过程必定以摘机操作作为开始标志,以挂机操作作为结束标志。其协议格式为:#来电/去电;摘机/挂机;终端注册号;远端号码;其他;#。该协议采用首尾界定符来识别一个数据包的开始和结束,去电过程用A0表示,来电过程用A1表示,摘机动作用B0表示,挂机动作用B1表示,未接用B2表示,终端注册号为每个固定电话监测终端的惟一ID,远端号码为来电或者去电电话号码,其他为按键信息。

去电过程数据包的详细介绍如表1所示。

来电过程数据包的详细介绍如表2所示。

表1 去电过程数据包示例表

表2 来电过程数据包示例表

3 软件设计

整个系统采用C/S的软件系统结构,固定电话监测终端为客户端,实时监控软件为服务器端[7]。监测终端将监测到的信令按照自定义实时监控协议转换为相应数据包并通过Internet网络发送到服务器端。

实时监控软件解析来电过程或者去电过程的数据包,利用短信接口发送下行短信,并将其进行数据库备份操作处理,从而实现用户固定电话话务电子化管理。由于一次通话过程以挂机数据包作为结束标志,所以监控软件将一次通话过程收到的包先暂时存储在临时表中,当收到挂机数据包的时候将整条信息备份到明细表中,并触发短信过程,其临时表的字段信息如表3所示。

表3 临时表中字段信息

实时监控软件分为心跳处理过程、去电包处理过程和来电包处理过程,整个系统的软件流程图如图2所示。因为系统管理员需要知道系统下的固定电话监测终端是否在线,所以该系统需要有心跳监听机制[8]。该系统的固定电话监测终端需要每3 min给服务器端实时监控软件发送一个心跳包,以判断该终端是否仍然工作。

心跳包的协议格式为:&注册终端;其他;&。在SQL2005数据库中维护着终端在线表,其字段信息如表4所示。

表4 终端在线表中字段信息

图2 系统软件流程图

实时监控软件将接收到的心跳包处理后存入终端在线表中并更新相应终端的接入时间。服务器端实时监控软件每隔1 min访问一次终端在线表,以此判断固定电话监测终端接入时间与当前时间是否超过30 min,如果超过30 min就将满足条件的记录从终端在线表中删除,以表示相应终端已不在系统的监控范围。

根据功能性要求,去电过程不需要在挂机的时候触发短信,只需要记录通话明细。只有为在该系统注册的用户分配的终端才是合法的终端,才对该终端进行监控。在去电过程中实时监控软件在收到某监控终端的摘机包时需要判断该注册终端用户的资费信息是否存在,用户的信用额度是否大于零等,若都满足,说明这是一次合法的通话过程就将其数据包存入临时表中。当收到挂机数据包时,实时监控软件就将临时表中的该终端记录复制到终端明细表中,以让用户随时查询通话明细。

其去电处理过程的流程图如图3所示。用户通过该系统中B/S架构的网站可以制定个性化的短信内容,个性化的短信发送策略,同样可以实现短信内容和短信发送策略随时修改,以

适应企业在不同时间传递不同的信息。

图3 去电处理过程图

4 结 语

本文介绍了一种以ATmega16单片机为核心的固定电话监测终端的挂机短信系统设计,系统软件结构采用分模块设计使该系统具有功能易扩展性。系统经过长期的测试改进具有很强的稳定性、健壮性,短信触发成功率高,实时性好。该系统集固定电话话务电子化管理和挂机短信功能,已投入商业应用中。

参考文献

[1] 王莹.“捆”住商机:“挂机短信”助力聚类客户[J].中国广告,2011(11):148?149.

[2] 齐浩博,李斌,李军杰,等.基于AVR的语音电话模拟接口的设计[J].大众科技,2008(8):22?23.

[3] 韩立辉.基于J2EE的重庆电信挂机短信业务平台设计与实现[D].厦门:厦门大学,2014.

[4] 许祥滨.来电显示的原理与应用[J].厦门大学学报:自然科学版,2003,42(1):48?51.

[5] 陆冠华.固定语音网络智能化中智能用户数据库i?CAP的设计与实现[D].上海:上海交通大学,2006.

[6] 兰少华,杨余旺,吕建勇.TCP/IP网络与协议[M].北京:清华大学出版社,2006.

[7] 李云云.浅析B/S和C/S体系结构[J].科学之友,2011(1):6?8.

[8] 陈元谋,吴长奇.基于Socket的远程监控的通信系统实现[J].计算机安全,2011(3):60?62.

终端 记忆 文章