基于IMS的统一电话录音系统研究

时间:2023-06-07 18:48:02 公文范文 来源:网友投稿


打开文本图片集

摘要:本文阐述了国网江苏省电力有限公司丹阳市供电分公司在全省行政电话割接到IMS平台后, 为满足自身的录音业务需求,设计了一套统一电话录音系统。该系统实现了IMS平台下IP和模拟录音系统同一平台集中管理的功能。本文对IMS统一电话录音系统的设计思想和技术方案进行了详细论述。

关键词:电力、IMS系统、录音

一、引言

随着通信技术的发展,用户需求日新月异,传统的电话业务也从传统的单一话音需求向语音、视频、数据等多媒体业务需求方面发展。伴随着用户需求的变化,新的技术也得到了发展和推广,从技术发展趋势来看,IMS技术已成为业界公认的下一代网络核心技术,IMS体系在技术上已经成熟。国家电网公司行政交换网络正在由传统的程控交换技术向IMS技术方向演进。随着江苏省IMS行政交换核心网络部署完成,镇江供电公司的IMS行政电话已全部割接到省公司IMS平台,割接前行政电话录音通过模拟线路并线的方式实现,由于割接到IMS后电话的接入方式变为纯IP话机接入或IAD+POST的形式接入,原有的模拟录音系统无法适应新系统下的业务需求,需要研究一套能够同时支持模拟电话和IP电话并能统一管理的录音系统,实现单套硬件平台下IP录音与模拟录音的整合,简化部署,节约投资,降低设备管理难度,保障电网安全。

二、IMS的统一电话录音系统实现

由于目前用户终端接入方式即有纯IP话机也有模拟话机,IP话机通过网线与IMS系统的网络交换机直连,而模拟话机通过传统的电话线与IAD接入,因此需要把两种接入方式下的电话录音功能整合到一套软件及硬件中来实现。

2.1 IAD下模拟电话录音实现

对于接入IAD的模拟话机,如果需要对某个电话的所有通话记录全程录音,那么采取传统的并线模拟录音方式更合适,因为同一个IAD下的用户相互间拨打电话,通常媒体流不经过网络交换机的,因此通过网络抓包的方式达不到录音的目的。

IAD下模拟话机录音采用录音板卡加录音软件来实现,系统支持压控、键控、声控和手动控制四种录音启动方式,以适用不同的应用场合。

2.2 IP话机录音的实现

根据现场部署情况,IP话机通过网线与MIS网交换机直连。其工作原理是通过语音压缩算法对语音信号进行压缩编码处理,然后把这些语音数据按TCP/IP标准进行打包,经过网络把数据包发送到接收地;接收端把这些语音数据包串起来,经过解码解压缩处理后恢复成原来的语音信号,从而达到由网络传送语音的目的。由此可见,可以通过网络抓包的方式来实现IP话机的录音,也就是说IP话机的录音可以用纯软件的方式来实现,软件设计以服务的方式在后台运行,通过网络镜像监听方式完成数据包的捕获、解析、形成录音文件,最终通过与模拟电话的录音软件管理平台的交互来完成IP话机录音记录的存储、查询和管理的功能,实现单套软硬件平台下IP录音与模拟录音的完美整合。

要实现以上这个功能,就要做到以下几点:

(1)抓包

在局域网中捕获数据包主要有两种方式:利用以太网的广播特性或者利用交换机的端口镜像功能。本次研究采用的是后者,其网络结构如下图:

这里将以太網交换机所有其他端口的数据镜像给端口 A,使得流过此网交换机的数据包同时被转发给了端口A,也就是接在端口A的录音服务器可以监听到网络交换机下IP话机通话的所有相关数据包了。

录音服务器后台运行的录音服务软件通过服务器上的网卡与镜像端口A联网,一般情况下网卡是工作在非混杂模式,这时网卡只接收写有自己 MAC 地址的数据帧。所以还需要设置网卡的工作模式为混杂模式,这样流经网卡的所有数据包都会被录音服务器收到,也就实现了抓到所有语音通信相关的数据包。

(2)解析

完成抓包后就要对数据包进行分析和处理,在处理这些数据包前,需要先过滤掉无用的包,只保留信令包和语音包进行处理,对信令包和语音包处理程序将采用多线程的方式进行实时处理。

首先分析信令包,IP 电话信令控制协议主要包括H.323系列协议和SIP系列协议,从信令协议的出发点来看,H.323试图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交谈。SIP协议利用 RTP作为媒体传输的协议。SIP协议具有简单、独立、扩展性好等诸多好的特性,因此越来越多的IP电话采用SIP协议,本系统便是针对的SIP信令。通过对SIP 消息进行解析,从而监听到整个呼叫过程,包括呼叫建立、通话、呼叫结束等,并结合从SIP消息中解析出的SDP消息得到语言通信的相关信息,从而控制对语音数据包的捕获, 并最终将捕获到的语音数据包形成声音文件,实现录音功能。

后台服务中的sip消息处理线程不断从sip消息缓存队列中取sip消息包,然后进行sip消息路由、sip消息解析和sip消息处理。通过sip解析,只要解析出具有相同call_id(呼叫ID是由本地设备生成的全局唯一值,每次呼叫该值唯一不变)的 INVITE、200 OK、ACK这三个消息先后出现时,表示双方通话已经开始了,这时就要向语音解析线程发送启动录音消息进行录音。随着通话过程进行,sip 消息处理线程也在不停的工作,当解析出具有相同call_id的 BYE、200 OK这两个消息后,表示双方通话已经结束了,这时就要向语音解析线程发送停止录音消息,完成一次完整的录音过程。

(3)形成录音文件

语音包处理线程在收到录音消息后,便会启动处理程序不断的从所属语音缓存队列中取RTP语音数据包,然后形成声音文件。

双方通话内容的RTP语音数据包分为forward—RTP和everseRTP,RTP数据的处理总体上分为三个部分:排序处理、补包处理、音频格式转换。

排序处理:由于网络传输存在一定的不可靠性,在数据传输的过程中有可能会导致数据包到达顺序的局部混乱,通过排序将很好地解决这个问题。

补包处理:网络传输的不可靠性还会导致数据包的丢失,加上通话静音期后,采用停发语音包的方法以减少语音数据传输所占用的带宽,补包处理主要是为了解决这种更为普遍的正常缺失情况。如果不进行补包处理,通话过程中静音期的停顿在恢复出语音后将无法体现,势必严重影响语音还原的效果,还会导致两路音频进行合路后声音的严重不同步。

音频格式转换:音频解码过程采用于RTP头中负载类型相一致的解码器对RTP数据进行解码,生成l6位的原始PCM数据,然后通过转换程序将PCM格式转成WAV格式并保存到录音文件中。

(4)与录音软件管理平台交互

Sip信令分析线程在收到具有相同call_id的 100 Trying、180 Ringing这两个消息先后出现时,需要向录音软件管理平台发送振铃消息和主叫被叫信息,录音软件管理平台收到消息后,在通道监控界面中找到相应的通道,然后将该通道显示振铃状态并显示出主叫、被叫信息。同理,在收到启动、停止录音的消息时录音软件管理平台也会将改变相应的通道监控界面,当录音完成后录音软件管理平台会将录音记录和录音文件检索路径保存在数据库中,最终实现IP录音和模拟录音管理平台的整合。

三、结束语

本文是对IMS平台下的SIP协议进行深入研究,通过网络抓包、过滤、解包完成信令和媒体流的解析,并提出模拟录音平台和IP录音平台的整合方案,最终实现系统灵活部署、灵活扩展、一机多能。

参考文獻

1 孙卫琴.Tomcat与Java Web开发技术详解.电子工业出版社,2009.

2李刚.轻量级Java EE企业应用实战.电子工业出版社,2013.

3 Baron Schwarts,PeterZaitsev,VadimTkachenko 著 宁海元,周振兴,彭立勋,刘辉译.高性能MySQL.电子工业出版社,2013.

4 董昕.电力企业统一生产管理系统基础架构.计算机应用与软件,2009.

5 强磊,饶少阳,陈卉等.IMS核心原理与应用.人民邮电出版社,2008.

6 (芬)波克申科,(芬)梅耶 编著 望育梅,周胜 译. IMS:IP多媒体子系统概念与服务(原书第3版).机械工业出版社,2011.

7 郑人杰,马素霞,殷人昆. 软件工程概论.机械工业出版社,2010.

推荐访问:录音系统 电话 研究 IMS