基于sip协议的多媒体监控系统及解决方法

文档序号:8433778阅读:1725来源:国知局
基于sip协议的多媒体监控系统及解决方法
【技术领域】
[0001]本发明涉及一种基于SIP协议的多媒体监控系统及解决方法。
【背景技术】
[0002]随着VOIP语音通信朝着统一化方向进化,融合数据、语音、视频等业务成为智能通信市场的重点,VOIP语音通信系统业务处理也越来越繁杂。然而,在传统VOIP语音通信系统中,录音功能对系统占有很大的开销,严重限制了系统的并发量;并且不能支持对语音系统中视频通话、即时消息的监控。

【发明内容】

[0003]鉴于上述问题,为了减轻语音通信系统的压力,提高系统对各个业务的处理能力,本发明提出一种基于SIP协议的监控系统及解决方法。它将原有系统的录音功能剥离,单独开发一个多媒体监控系统,专门负责语音系统的录音、视频和即时消息的监控,通过定义私有的消息通信机制,实现原有语音系统和多媒体监控系统之间的状态同步和命令控制。
[0004]本发明采用的技术解决方案为:
[0005]本发明提供一种基于SIP协议的多媒体监控系统,该系统包括:抓包模块、SIP包处理模块、RPT包处理模块、监控模块,其中:
[0006]抓包模块对抓取的数据包进行过滤和筛选后,送至SIP包处理模块、RPT包处理模块;
[0007]若抓取的数据包是普通SIP消息,则由SIP包处理模块对SIP消息进行过滤和分析,得到通话的相关信息;
[0008]若抓取的数据包是MESSAGE扩展消息,则由SIP包处理模块直接解析出SIP协议的MESSAGE扩展,并将其中的即时消息内容保存到数据库;
[0009]若抓取的数据包是语音数据或视频数据,则由RPT包处理模块经过解码后保存成相应的语音文件、视频文件、文本文件;
[0010]监控模块,监控模块之间以UDP协议传送私有消息的方式来实现模块之间的通讯,模块内部采用函数调用、回调函数、消息机制的方式来进行模块内部的消息交换。
[0011]本发明提出一种基于SIP协议的多媒体监控解决方法,该方法包括服务端程序和客户端程序两个部分,其中:
[0012]在服务端程序中,对于SIP消息的处理过程是,对SIP消息进行过滤和分析,得到通话的相关信息,或者直接解析出SIP协议的MESSAGE扩展并将其中的即时消息内容保存到数据库;对于语音、视频通话,则是通过捕获语音、视频的RTP数据包,经过解码后保存成相应的语音文件、视频文件、文本文件;
[0013]客户端程序对当前通话内容进行实时监控,将实时的监控状态上报给语音服务器;并处理由语音服务器发来的监控命令。
[0014]进一步地:
[0015]多媒体监控模块和语音服务器之间通过自定义的UDP消息实现通信,该UDP消息分状态上报消息和控制命令消息,当多媒体监控模块开始对终端进行录音或录像操作时,消息监控模块通过socket向语音服务器上报UDP状态消息;当语音服务器需要对多媒体系统进行控制时,通过socket向多媒体监控系统发送UDP命令消息。
[0016]进一步地:
[0017]所述监控模块和语音服务器共用相同的数据库和配置界面,为了能够实现在Web页面进行相关配置时,多媒体监控模块和语音服务器的配置能够得到同步,利用数据库中的Notify机制,即当语音系统中某些网络配置或者是终端的业务属性发生变动或修改时,数据库即会向多媒体监控模块发送Notify消息,触发多媒体监控程序的重新加载。
[0018]进一步地:
[0019]用以下方法来判断当前数据包是否是SIP数据包:
[0020]当捕获到IP数据包后,先去除IP头、TCP/UDP头,然后去除若干字节进行比较,如果符合SIP协议的特征,则可判断该数据包为SIP数据包。
[0021]进一步地:
[0022]所述比较分如下两个部分:
[0023]对于SIP请求消息,以method sip开始,比较开头若干字节中是否为Invite sip、Ack sip、Bye sip> Cancel sip四者中的一个即可判断该数据包是不是SIP请求数据包;
[0024]对于SIP应答,在去除IP头、TCP/UDP头后,判断接下来的几个字节是否是SIP/2.0 即可。
[0025]本发明可带来如下效果:
[0026]本发明提出的解决办法,强化了系统的语音处理功能和一些数据业务的反应能力,减轻了原有系统在录音功能上的资源开销,扩充了对语音系统多媒体业务的监控。同时该多媒体监控系统既可以部署在原有通信系统的服务器上,也可以部署在单独的服务器上,增加了组网的灵活性。最突出的特点是,通过自定义的UDP消息,语音服务器能够实时的显示或者查询各个终端的监控状态,并且对其进行监控操作,增强了整个系统的操作性。由于控制消息是自定义的,并且有统一的扩展接口,这样就使得多媒体系统消息的保密性和可扩展性得到了保证。
【附图说明】
[0027]图1是VOIP服务器应用模型;
[0028]图2是将录音服务剥离后的VOIP服务器模型;
[0029]图3是将录音服务剥离后的VOIP服务器分布式模型;
[0030]图4是本发明的多媒体监控系统架构图;
[0031]图5是多媒体监控系统与语音通信系统通信示意图。
【具体实施方式】
[0032]本发明提出一种基于SIP协议的多媒体监控系统及解决方法。
[0033]本发明提出的系统包括:抓包模块、SIP包处理模块、RPT包处理模块、监控模块,其中:
[0034]抓包模块对抓取的数据包进行过滤和筛选后,送至SIP包处理模块、RPT包处理模块;若抓取的数据包是普通SIP消息,则由SIP包处理模块对SIP消息进行过滤和分析,得到通话的相关信息;若抓取的数据包是MESSAGE扩展消息,则由SIP包处理模块直接解析出SIP协议的MESSAGE扩展,并将其中的即时消息内容保存到数据库;若抓取的数据包是语音数据或视频数据,则由RPT包处理模块经过解码后保存成相应的语音文件、视频文件、文本文件;监控模块,监控模块之间以UDP协议传送私有消息的方式来实现模块之间的通讯,模块内部采用函数调用、回调函数、消息机制的方式来进行模块内部的消息交换。
[0035]本发明提出的方法包括服务端程序和客户端程序两个部分,其中:
[0036]在服务端程序中,对于SIP消息的处理过程是,对SIP消息进行过滤和分析,得到通话的相关信息,或者直接解析出SIP协议的MESSAGE扩展并将其中的即时消息内容保存到数据库;对于语音、视频通话,则是通过捕获语音、视频的RTP数据包,经过解码后保存成相应的语音文件、视频文件、文本文件;客户端程序对当前通话内容进行实时监控,将实时的监控状态上报给语音服务器;并处理由语音服务器发来的监控命令。
[0037]进一步地:
[0038]多媒体监控模块和语音服务器之间通过自定义的UDP消息实现通信,该UDP消息分状态上报消息和控制命令消息,当多媒体监控模块开始对终端进行录音或录像操作时,消息监控模块通过socket向语音服务器上报UDP状态消息;当语音服务器需要对多媒体系统进行控制时,通过socket向多媒体监控系统发送UDP命令消息。
[0039]进一步地:
[0040]所述监控模块和语音服务器共用相同的数据库和配置界面,为了能够实现在Web页面进行相关配置时,多媒体监控模块和语音服务器的配置能够得到同步,利用数据库中的Notify机制,即当语音系统中某些网络配置或者是终端的业务属性发生变动或修改时,数据库即会向多媒体监控模块发送Notify消息,触发多媒体监控程序的重新加载。
[0041]进一步地:
[0042]用以下方法来判断当前数据包是否是SIP数据包:
[0043]当捕获到IP数据包后,先去除IP头、TCP/UDP头,然后去除若干字节进行比较,如果符合SIP协议的特征,则可判断该数据包为SIP数据包。
[0044]进一步地:
[0045]所述比较分如下两个部分:
[0046]对于SIP请求消息,以method sip开始,比较开头若干字节中是否为Invite sip、Ack sip、Bye sip> Cancel sip四者中的一个即可判断该数据包是不是SIP请求数据包;
[0047]对于SIP应答,在去除IP头、TCP/UDP头后,判断接下来的几个字节是否是SIP/2.0 即可。
[0048]虽然将录音服务器与语音服务器分离模式已有众多厂家采用,但是本发明的提出的方法独特之处在于通过自定的UDP消息以及数据库的Notify机制,来实现对多媒体监控系统的控制;以及多媒体监控系统与语音服务器之间的状态同步,使语音服务器能够实时的显示或者查询各个终端的监控状态,并且对监控进行控制。
[0049]下面结合附图详细说明。
[0050]如图1所示,在原有VOIP服务器模型中,录音服务一般都融合在语音服务中。在此种情况下,VOIP服务器后台不仅需要处理语音服务,还需要处理录音服务。
[0051]从图2和图3中可以看出,将语音服务从原有VOIP语音系统中剥离后,VOIP系统的后台只需处理语音请求即可,而录音服务由多媒体系统中专门的录音模块或者是录音服务器来处理。这样不仅减轻了系统的负荷,并且还能根据实际需求进行分布式部署,大大的提高了系统的处理能力,便于灵活部署。
[0052]本发明的多媒体监控系统
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1