基于SIP协议的分布式IP录音系统及方法转让专利

申请号 : CN201510705150.7

文献号 : CN105245538B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王巍耿建新谢朝阳

申请人 : 上海华讯网络系统有限公司

摘要 :

本发明提供了一种基于SIP协议的分布式IP录音方法及系统,包括中心管理模块、协议交互服务模块、语音录制实体服务模块。本发明通过利用SIP协议特点,修改媒体描述参数SDP,实现媒体流的分发,并且本发明通过分布式架构,实现控制消息与媒体流的分割,集中接收控制消息,分布式接收语音数据,实现了录音功能的可堆叠式扩展部署。

权利要求 :

1.一种基于SIP协议的分布式IP录音系统,其特征在于,包括:中心管理模块、协议交互服务模块、语音录制实体服务模块;

中心管理模块监听消息,并将监听到的消息发送给协议交互服务模块;

协议交互服务模块判断监听到的消息的类型;

-若监听到的消息的类型为INVITE,其中,INVITE表示呼叫邀请,则协议交互服务模块采用负载均衡策略,选择当前负荷最小的可用语音录制实体服务模块;协议交互服务模块通知所选择的语音录制实体服务模块进行录音监听;语音录制实体服务模块将监听端口信息返回到协议交互服务模块;协议交互服务模块将语音录制实体服务模块的IP地址和监听端口信息通过SIP协议的ACK消息发送回对端,即发起呼叫的IP电话,使发起呼叫的IP电话与被选择的语音录制实体服务模块建立语音流通道以进行录音,其中,发起呼叫的IP电话的通话语音流实时地发送到了所述语音流通道;

-若监听到的消息的类型为BYE,其中,BYE表示呼叫结束,则协议交互服务模块查找正在接收对应于类型为BYE的消息的通话语音流的语音录制实体服务模块;协议交互服务模块通知对应于类型为BYE的消息的通话语音流的语音录制实体服务模块结束接录音;语音录制实体服务模块对录音得到的录音文件进行存储;

中心管理模块利用SIP协议,指定接收通话语音流的语音录制实体服务模块的接收端地址IP和端口PORT,将媒体通话语音流接收的主机实体与消息接收主机实体分离,实现分布式录音,并通过负载均衡策略,由协议交互服务模块将通话语音流分发到多个语音录制实体服务模块。

2.根据权利要求1所述的基于SIP协议的分布式IP录音系统,其特征在于,负载均衡策略以各个语音录制实体服务模块的在线录音路数为衡量标准,每次选择在线录音路数最小的服务器作为负荷最小的语音录制实体服务模块。

3.根据权利要求1所述的基于SIP协议的分布式IP录音系统,其特征在于,中心管理模块负责监控协议交互服务模块和语音录制实体服务模块,显示协议交互服务模块和语音录制实体服务模块的运行状态,并提供录音文件的查询服务。

4.根据权利要求1所述的基于SIP协议的分布式IP录音系统,其特征在于,中心管理模块分别与协议交互服务模块、语音录制实体服务模块之间的实时信息通过控制代理同步,包括录音信息的永久信息通过数据库同步。

5.根据权利要求1所述的基于SIP协议的分布式IP录音系统,其特征在于,协议交互服务模块通过SIP协议接收CALL,在应答CALL过程中,将该CALL对应的RTP语音流协商到指定的语音录制实体服务模块,语音录制实体服务模块负责通过RTP协议接收每个CALL对应的RTP语音流,保存成语音文件;其中,CALL表示一次SIP协议的会话呼叫。

说明书 :

基于SIP协议的分布式IP录音系统及方法

技术领域

[0001] 本发明涉及VOIP语音通讯技术领域,主要包括SIP控制协议及RTP语音流合成技术,具体涉及基于SIP协议的分布式IP录音系统及方法。

背景技术

[0002] 传统IP电话录音方式SPAN,是将网络数据通过交换机端口镜像技术进行备份,录音服务器抓取网络数据,分析其中的SIP协议及RTP语音流数据,将语音数据进行合成及保存。这种方式依赖IP电话的物理位置,对于跨交换机和路由器的IP电话,端口镜像实现起来相当繁琐。
[0003] 传统VOIP的语音通话大多数采用的SIP协议进行呼叫控制,在此基础上,Cisco电话系统提出BIB(Build In Bridge)录音功能,IP电话能够在正常呼叫的同时,通过SIP协议呼叫第三方终端,将正常通话的语音流备份到第三方终端。这种方式实现了IP话机语音流直接传输到录音服务器,避免了复杂的网络配置。但是,在大规模录音的场景下,集中式的录音会带来录音能力的瓶颈,所以需要一种能够可堆叠的分布式分配录音的技术。
[0004] VOIP主要的呼叫控制协议是SIP(Sess ion Init iation Protocol)协议,其是由IETF制订的协议,用于多方多媒体通信。按照IETF制订的RFC2543的定义,SIP是一个基于文本的应用层控制协议,独立于底层传输协议TCP/UDP/SCTP,用于建立、修改和终止IP网上的双方或多方多媒体会话。
[0005] 经对现有技术进行检索,发现如下相关专利文献。
[0006] 相关检索结果1:
[0007] 申请号:CN201010193252.2
[0008] 名称:基于SIP协议的IP电话录音的方法及系统
[0009] 该专利文献涉及一种基于SIP协议的IP电话录音的方法及系统,基于SIP协议的IP电话录音的方法包括步骤:当接收到IP电话的SIP会话请求后,业务服务器根据所述SIP会话请求与IP电话、媒体服务器及录音服务器分别建立SIP会话;基于业务服务器与IP电话及媒体服务器的SIP会话,媒体服务器接收IP电话发送的RTP语音流并将所述RTP语音流进行处理;基于业务服务器与媒体服务器及录音服务器的SIP会话,录音服务器接收媒体服务器的处理后的RTP语音流并存储为录音文件,该专利文献能够实现IP电话录音文件的集中存储和管理,并提高IP电话录音系统配置和管理的便捷性。
[0010] 技术要点比较:
[0011] 1.该专利文献主要采用了传统基于SIP协议的IP通话语音录制技术,即SIP协议交互与媒体语音接收在同一个实体服务器上,这样能够实现SIP呼叫的语音录制,但是单个SIP接收服务器只能按照自身服务器的性能进行语音的录制,大大降低了SIP接收服务器的接收能力。
[0012] 2.本发明提供的基于SIP呼叫式分布式录音系统,将SIP接收与语音录制完全分割,多个语音录制实体服务模块可以同时注册到SIP SERVER服务器,充分发挥了SIP SERVER的呼叫接入能力,大大提高了语音录制的并发量,同时可以根据实际呼叫量调整录音实体服务器数量,灵活满足各种录音规模的需求。

发明内容

[0013] 针对现有技术中的缺陷,本发明的目的是提供一种基于SIP协议的分布式IP录音系统及方法。
[0014] 根据本发明提供的一种基于SIP协议的分布式IP录音方法,包括如下步骤:
[0015] 步骤S100,监听消息,并接收监听到的消息后进入步骤S200继续执行;
[0016] 步骤S200,判断监听到的消息的类型;
[0017] -若类型为INVITE,则进入步骤S300继续执行,其中,INVITE表示呼叫邀请;
[0018] -若类型为BYE,则进入步骤S700继续执行,其中,BYE表示呼叫结束;
[0019] 步骤S300,采用负载均衡策略,选择当前负荷最小的可用语音录制实体服务模块;
[0020] 步骤S400,通知所选择的语音录制实体服务模块进行录音监听;
[0021] 步骤S500,接收来自语音录制实体服务模块的监听端口信息;
[0022] 步骤S600,将语音录制实体服务模块的IP地址和监听端口信息通过SIP协议的ACK消息发送回对端,即发起呼叫的IP电话,使发起呼叫的IP电话与被选择的语音录制实体服务模块建立语音流通道以进行录音,其中,发起呼叫的IP电话的通话语音流实时地发送到了所述语音流通道;返回步骤S100;
[0023] 步骤S700,查找正在接收对应于类型为BYE的消息的通话语音流的语音录制实体服务模块;
[0024] 步骤S800,通知对应于类型为BYE的消息的通话语音流的语音录制实体服务模块结束接录音;
[0025] 步骤S900,对录音得到的录音文件进行存储;返回步骤S100。
[0026] 优选地,负载均衡策略以各个语音录制实体服务模块的在线录音路数为衡量标准,每次选择在线录音路数最小的服务器作为负荷最小的语音录制实体服务模块。
[0027] 根据本发明提供的一种基于SIP协议的分布式IP录音系统,包括:中心管理模块、协议交互服务模块、语音录制实体服务模块;
[0028] 中心管理模块监听消息,并将监听到的消息发送给协议交互服务模块;
[0029] 协议交互服务模块判断监听到的消息的类型;
[0030] -若监听到的消息的类型为INVITE,其中,INVITE表示呼叫邀请,则协议交互服务模块采用负载均衡策略,选择当前负荷最小的可用语音录制实体服务模块;协议交互服务模块通知所选择的语音录制实体服务模块进行录音监听;语音录制实体服务模块将监听端口信息返回到协议交互服务模块;协议交互服务模块将语音录制实体服务模块的IP地址和监听端口信息通过SIP协议的ACK消息发送回对端,即发起呼叫的IP电话,使发起呼叫的IP电话与被选择的语音录制实体服务模块建立语音流通道以进行录音,其中,发起呼叫的IP电话的通话语音流实时地发送到了所述语音流通道;
[0031] -若监听到的消息的类型为BYE,其中,BYE表示呼叫结束,则协议交互服务模块查找正在接收对应于类型为BYE的消息的通话语音流的语音录制实体服务模块;协议交互服务模块通知对应于类型为BYE的消息的通话语音流的语音录制实体服务模块结束接录音;语音录制实体服务模块对录音得到的录音文件进行存储。
[0032] 优选地,负载均衡策略以各个语音录制实体服务模块的在线录音路数为衡量标准,每次选择在线录音路数最小的服务器作为负荷最小的语音录制实体服务模块。
[0033] 优选地,中心管理模块负责监控协议交互服务模块和语音录制实体服务模块,显示协议交互服务模块和语音录制实体服务模块的运行状态,并提供录音文件的查询服务。
[0034] 优选地,中心管理模块分别与协议交互服务模块、语音录制实体服务模块之间的实时信息通过控制代理同步,包括录音信息的永久信息通过数据库同步。
[0035] 优选地,中心管理模块利用SIP协议,指定接收通话语音流的语音录制实体服务模块的接收端地址IP和端口PORT,将媒体通话语音流接收的主机实体与消息接收主机实体分离,实现分布式录音,并通过负载均衡策略,由协议交互服务模块将通话语音流分发到多个语音录制实体服务模块。
[0036] 优选地,协议交互服务模块通过SIP协议接收CALL,在应答CALL过程中,将该CALL对应的RTP语音流协商到指定的语音录制实体服务模块,语音录制实体服务模块负责通过RTP协议接收每个CALL对应的RTP语音流,保存成语音文件;其中,CALL表示一次SIP协议的会话呼叫。
[0037] 与现有技术相比,本发明具有如下的有益效果:
[0038] 1、本发明通过利用SIP协议特点,修改媒体描述参数SDP,实现媒体流的分发。
[0039] 2、本发明通过分布式架构,实现控制消息与媒体流的分割,集中接收控制消息,分布式接收语音数据,实现了录音功能的可堆叠式扩展部署。

附图说明

[0040] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0041] 图1为本发明所提供录音系统的逻辑架构图。
[0042] 图2为本发明所提供录音方法的流程图。
[0043] 图中:
[0044] 10-中心管理模块
[0045] 20-协议交互服务模块
[0046] 30-语音录制实体服务模块

具体实施方式

[0047] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0048] 根据本发明提供的一种基于SIP协议的分布式IP录音系统,包括:中心管理模块、协议交互服务模块、语音录制实体服务模块;
[0049] 中心管理模块监听消息,并将监听到的消息发送给协议交互服务模块;
[0050] 协议交互服务模块判断监听到的消息的类型;
[0051] -若监听到的消息的类型为INVITE,其中,INVITE表示呼叫邀请,则协议交互服务模块采用负载均衡策略,选择当前负荷最小的可用语音录制实体服务模块;协议交互服务模块通知所选择的语音录制实体服务模块进行录音监听;语音录制实体服务模块将监听端口信息返回到协议交互服务模块;协议交互服务模块将语音录制实体服务模块的IP地址和监听端口信息通过SIP协议的ACK消息发送回对端,即发起呼叫的IP电话,使发起呼叫的IP电话与被选择的语音录制实体服务模块建立语音流通道以进行录音,其中,发起呼叫的IP电话的通话语音流实时地发送到了所述语音流通道;
[0052] -若监听到的消息的类型为BYE,其中,BYE表示呼叫结束,则协议交互服务模块查找正在接收对应于类型为BYE的消息的通话语音流的语音录制实体服务模块;协议交互服务模块通知对应于类型为BYE的消息的通话语音流的语音录制实体服务模块结束接录音;语音录制实体服务模块对录音得到的录音文件进行存储。
[0053] 优选地,负载均衡策略以各个语音录制实体服务模块的在线录音路数为衡量标准,每次选择在线录音路数最小的服务器作为负荷最小的语音录制实体服务模块。
[0054] 优选地,中心管理模块负责监控协议交互服务模块和语音录制实体服务模块,显示协议交互服务模块和语音录制实体服务模块的运行状态,并提供多种方式的录音文件的查询服务。
[0055] 优选地,中心管理模块分别与协议交互服务模块、语音录制实体服务模块之间的实时信息通过控制代理同步,包括录音信息的永久信息通过数据库同步。
[0056] 优选地,中心管理模块利用SIP协议,指定接收通话语音流的语音录制实体服务模块的接收端地址IP和端口PORT,将媒体通话语音流接收的主机实体与消息接收主机实体分离,实现分布式录音,并可以通过负载均衡策略,由协议交互服务模块将通话语音流分发到多个语音录制实体服务模块。多个语音录制实体服务模块注册到一个协议交互服务模块。每个语音录制实体服务模块可以独立部署,通过TCP连接与协议交互服务模块进行通讯。
[0057] 优选地,协议交互服务模块通过SIP协议接收CALL,在应答CALL过程中,将该CALL对应的RTP语音流协商到指定的语音录制实体服务模块,语音录制实体服务模块负责通过RTP协议接收每个CALL对应的RTP语音流,保存成语音文件;其中,CALL表示一次SIP协议的会话呼叫。
[0058] 考虑到资源的有效利用和功能模块的工作负荷,有些模块可以部署在同一个服务器上,正常情况下,语音录制实体服务模块的工作负荷比较大,也是整个录音系统的核心工作模块,建议单独部署,如果数据量比较大,则需要将数据库单独部署,其他模块的工作负荷都不是很大,可以根据实际情况而定。例如中心管理模块和数据库可以部署在一台服务器上,如果是单个SIP TRUNK录音的情况,可以将协议交互服务模块与中心管理模块部署在一台服务器上。其中,TRUNK表示消息通道。
[0059] 所述基于SIP协议的分布式IP录音系统可以通过根据本发明提供的一种基于SIP协议的分布式IP录音方法的步骤流程实现。本领域技术人员可以将所述基于SIP协议的分布式IP录音方法理解为所述基于SIP协议的分布式IP录音系统的一个具体实施方式。具体地,根据本发明提供的一种基于SIP协议的分布式IP录音方法,包括如下步骤:
[0060] 步骤S100,监听消息,并接收监听到的消息后进入步骤S200继续执行;
[0061] 步骤S200,判断监听到的消息的类型;
[0062] -若类型为INVITE,则进入步骤S300继续执行,其中,INVITE表示呼叫邀请;
[0063] -若类型为BYE,则进入步骤S700继续执行,其中,BYE表示呼叫结束;
[0064] 步骤S300,采用负载均衡策略,选择当前负荷最小的可用语音录制实体服务模块;
[0065] 步骤S400,通知所选择的语音录制实体服务模块进行录音监听;
[0066] 步骤S500,接收来自语音录制实体服务模块的监听端口信息;
[0067] 步骤S600,将语音录制实体服务模块的IP地址和监听端口信息通过SIP协议的ACK消息发送回对端,即发起呼叫的IP电话,使发起呼叫的IP电话与被选择的语音录制实体服务模块建立语音流通道以进行录音,其中,发起呼叫的IP电话的通话语音流实时地发送到了所述语音流通道;返回步骤S100;
[0068] 步骤S700,查找正在接收对应于类型为BYE的消息的通话语音流的语音录制实体服务模块;
[0069] 步骤S800,通知对应于类型为BYE的消息的通话语音流的语音录制实体服务模块结束接录音;
[0070] 步骤S900,对录音得到的录音文件进行合成、压缩、存储,还可以进行;返回步骤S100。
[0071] 优选地,负载均衡策略以各个语音录制实体服务模块的在线录音路数为衡量标准,每次选择在线录音路数最小的服务器作为负荷最小的语音录制实体服务模块,这样可以实时协调各个录音实体服务器的工作压力,保持整个系统的稳定运行。在负载均衡的策略外,还可以应用配置方式,指定话机的录音服务器地址,这样,有利于特殊话机的统一在线录制。更为具体地,协议交互服务模块要与多个录音实体模块进行交互确认各自的负荷,同时对选中的实体发送命令,使其开始监听当前通话的语音流。当录音实体服务器成功开启监听端口后,将端口信息发送到协议交互服务模块,然后,协议交互服务模块将这个端口信息和录音实体服务器IP作为媒体接收实体附加到INVITE的确认消息中。
[0072] 因此,本发明的主要优点在于:1)利用SIP协议特点完成语音流的分发。通过修改正常的SIP协议交互参数,在媒体流协商的流程中,双方都可以指定自身接收媒体流的实体(IP+PORT),这样,可以利用本发明,将媒体流接收端实体进行统一管理,负载均衡,选择合适的实体进行语音流的接收处理。2)通过一种分布式架构,实现SIP消息的集中接收和录音实体的可堆叠扩展部署。录音服务器分为协议交互服务模块(即SIPSERVER)和语音录制实体服务模块(即RTP SERVER),SIP SERVER负责处理所有SIP呼叫消息,同时集中管理多个RTP SERVER即录音实体。RTP SERVER负责语音流的接收及保存。
[0073] 本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0074] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。