一种录音控制方法及sip服务器和录音服务器的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及的是一种录音控制方法及SIP服务器和录音服务器。
【背景技术】
[0002]在应用统一通信与协作(UC & CC)的应用场景下,经常需要对客户端的点对点通话或会议通话进行录音。
[0003]现有技术中,是通过采用端口镜像的方式实现录音的。即将媒体分发服务器和客户端同时通过交换机连接到SBC (Sess1n Border Controller,会话边界控制器)。SBC做信令和媒体流代理以实现信令和媒体流的汇聚,在交换机上设置端口镜像,进而把经过SBC的信令和媒体流通过镜像口发送给媒体分发服务器,媒体分发服务器再根据号码把信令和媒体流发给相应的录音服务器,该录音服务器解析通过交换机镜像口抓包获取的信令和媒体流,以使得该录音服务器实现录音功能。
[0004]一方面,现有技术中的录音方式需要SBC做信令和媒体流代理以实现信令和媒体流的汇聚,从而增加了 SBC组网的成本,另一方面,单台录音服务器能够支持的录音的客户端数量是有限制的,如果需要录音的客户端数量较多,单台录音服务器无法承载,则会影响录音服务器的可靠性。
【发明内容】
[0005]本发明实施例提供了一种录音控制方法及SIP服务器和录音服务器,其能够有效的提升录音服务器的可靠性。
[0006]本实施例第一方面提供了一种录音控制方法,其中,包括:
[0007]会话发起协议SIP服务器接收交换机发送的呼叫请求消息;
[0008]所述SIP服务器从所述呼叫请求消息中获取录音媒体信息;
[0009]所述SIP服务器将所述录音媒体信息发送给各录音服务器;
[0010]所述SIP服务器接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
[0011]所述SIP服务器根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。
[0012]结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述录音媒体信息包括:
[0013]用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
[0014]用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
[0015]用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
[0016]结合本发明实施例的第一方面,本发明实施例的第一方面的第二种实现方式中,所述SIP服务器根据所述可负载数量确定目标录音服务器包括:
[0017]所述SIP服务器确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器。
[0018]结合本发明实施例的第一方面,本发明实施例的第一方面的第三种实现方式中,所述SIP服务器根据所述可负载数量确定目标录音服务器包括:
[0019]所述SIP服务器确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
[0020]结合本发明实施例的第一方面,本发明实施例的第一方面的第四种实现方式中,所述SIP服务器根据所述可负载数量确定目标录音服务器之后还包括:
[0021]所述SIP服务器确定所述目标录音服务器的目标IP地址;
[0022]所述SIP服务器将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器。
[0023]本实施例第二方面提供了一种录音控制方法,其中,包括:
[0024]录音服务器接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
[0025]所述录音服务器根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
[0026]所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
[0027]结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器之后还包括:
[0028]所述目标录音服务器接收所述交换机发送的经所述交换机混音后的RTP媒体流;
[0029]所述目标录音服务器对经所述交换机混音后的RTP媒体流进行录音。
[0030]结合本发明实施例第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述录音媒体信息包括:
[0031]用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
[0032]用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
[0033]用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
[0034]结合本发明实施例第二方面的第二种实现方式,本发明实施例的第二方面的第三种实现方式中,所述录音服务器根据所述录音媒体信息确定可负载数量包括:
[0035]所述录音服务器确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
[0036]所述录音服务器确定所述录音服务器可用的当前系统资源;
[0037]所述录音服务器确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量。
[0038]结合本发明实施例第二方面的第三种实现方式,本发明实施例的第二方面的第四种实现方式中,所述录音服务器确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源包括:
[0039]所述录音服务器根据所述编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
[0040]所述录音服务器根据所述类型指示信息估计当前请求录音的所述客户端所需的录制时长;
[0041]所述录音服务器根据所述加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
[0042]若否,则所述录音服务器确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
[0043]若是,则所述录音服务器计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
[0044]所述录音服务器计算所述第一系统资源与所述第二系统资源的和;
[0045]所述录音服务器确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源。
[0046]结合本发明实施例第二方面的第四种实现方式,本发明实施例的第二方面的第五种实现方式中,所述录音服务器根据所述类型指示信息估计当前请求录音的所述客户端所需的录制时长包括:
[0047]所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
[0048]若所述录音服务器确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则所述录音服务器统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;所述录音服务器确定所述第一总时长和所述第一总次数的商为会议录音平均时长;所述录音服务器确定所述会议录音平均时长为所述录制时长;
[0049]若所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则所述录音服务器统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;所述录音服务器确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;所述录音服务器确定所述点对点录音平均时长为所述录制时长。
[0050]结合本发明实施例第二方面的第三种实现方式,本发明实施例的第二方面的第六种实现方式中,所述录音服务器确定所述录音服务器可用的当前系统资源包括:
[0051]所述录音服务器确定所述录音服务器可用的总系统资源;
[0052]所述录音服务器确定所述录音服务器当前正在使用的第三系统资源;
[0053]所述录音服务器确定所述录音服务器当前可释放的第四系统资源;
[0054]所述录音服务器计算所述总系统资源和所述第三系统资源的差;
[0055]所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源。
[0056]结合本发明实施例第二方面的第六种实现方式,本发明实施例的第二方面的第七种实现方式中,所述录音服务器确定所述录音服务器当前正在使用的第三系统资源包括:
[0057]所述录音服务器分别确定所述录音服务器上正在进行录音的各组录音类型;
[0058]所述录音服务器根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;
[0059]所述录音服务器分别确定正在进行录音的各组已录制时长;
[0060]所述录音服务器分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
[0061]所述录音服务器确定所有所述子消耗系统资源的和为所述第三系统资源。
[0062]结合本发明实施例第二方面的第七种实现方式,本发明实施例的第二方面的第八种实现方式中,所述第二消耗系统资源为:
[0063]所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源;
[0064]或,
[0065]所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源。
[0066]结合本发明实施例第二方面的第五种实现方式或第二方面的第八种实现方式,本发明实施例的第二方面的第九种实现方式中,所述录音服务器确定所述录音服务器当前可释放的第四系统资源包括:
[0067]所述录音服务器根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时长;
[0068]所述录音服务器分别确定各组所述已录制时长与所述录音平均时长的差;
[0069]所述录音服务器分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源的积;
[0070]所述录音服务器确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源。
[0071]本实施例第三方面提供了一种SIP服务器,其中,包括:
[0072]第一接收单元,用于接收交换机发送的呼叫请求消息;
[0073]获取单元,用于从所述呼叫请求消息中获取录音媒体信息;
[0074]第一发送单元,用于将所述录音媒体信息发送给各录音服务器;
[0075]第二接收单元,用于接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
[0076]第一确定单元,用于根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。
[0077]结合本发明实施例第三方面,本发明实施例的第三方面的第一种实现方式中,所述第一确定单元包括:
[0078]第一确定子单元,用于确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器。
[0079]结合本发明实施例第三方面,本发明实施例的第三方面的第二种实现方式中,所述第一确定单元包括:
[0080]第二确定子单元,用于确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
[0081]结合本发明实施例第三方面,本发明实施例的第三方面的第三种实现方式中,所述SIP服务器还包括:
[0082]第二确定单元,用于确定所述目标录音服务器的目标IP地址;
[0083]第二发送单元,用于将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器。
[0084]本实施例第四方面提供了一种录音服务器,其中,包括:
[0085]第三接收单元,用于接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
[0086]第三确定单元,用于根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
[0087]第三发送单元,用于将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
[0088]结合本发明实施例第四方面,本发明实施例的第四方面的第一种实现方式中,所述录音服务器还包括:
[0089]第四接收单元,用于接收所述交换机发送的经所述交换机混音后的RTP媒体流;
[0090]录音单元,用于对经所述交换机混音后的RTP媒体流进行录音。
[0091]结合本发明实施例第四方面,本发明实施例的第四方面的第二种实现方式中,第三确定单元包括:
[0092]第三确定子单元,用于确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
[0093]第四确定子单元,用于确定所述录音服务器可用的当前系统资源;
[0094]第五确定子单元,用于确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量。
[0095]结合本发明实施例第四方面的第二种实现方式,本发明实施例的第四方面的第三种实现方式中,所述第三确定子单元包括:
[0096]第一计算模块,用于根据所述录音媒体信息的编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
[0097]第二计算模块,用于根据所述录音媒体信息的类型指示信息估计当前请求录音的所述客户端所需的录制时长;
[0098]第一确定模块,用于根据所述录音媒体信息的加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
[0099]第二确定模块,用于若所述第一确定模块确定不加密,则确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
[0100]第三计算模块,用于若所述第一确定模块确定加密,则计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
[0101]第四计算模块,用于计算所述第一系统资源与所述第二系统资源的和;
[0102]第三确定模块,用于确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源。
[0103]结合本发明实施例第四方面的第三种实现方式,本发明实施例的第四方面的第四种实现方式中,所述第二计算模块包括:
[0104]第一确定子模块,用于根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
[0105]第二确定子模块,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;确定所述第一总时长和所述第一总次数的商为会议录音平均时长;确定所述会议录音平均时长为所述录制时长;
[0106]第三确定子模块,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;确定所述点对点录音平均时长为所述录制时长。
[0107]结合本发明实施例第四方面的第二种实现方式,本发明实施例的第四方面的第五种实现方式中,所述第四确定子单元包括:
[0108]第四确定模块,用于确定所述录音服务器可用的总系统资源;
[0109]第五确定模块,用于确定所述录音服务器当前正在使用的第三系统资源;
[0110]第六确定模块,用于确定所述录音服务器当前可释放的第四系统资源;
[0111]第五计算模块,用于计算所述总系统资源和所述第三系统资源的差;
[0112]第七确定模块,用于所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源。
[0113]结合本发明实施例第四方面的第五种实现方式,本发明实施例的第四方面的第六种实现方式中,所述第五确定模块包括:
[0114]第四确定子模块,用于分别确定所述录音服务器上正在进行录音的各组录音类型;
[0115]第五确定子模块,用于根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;所述第二消耗系统资源为所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源,或,所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源;
[0116]第六确定子模块,用于分别确定正在进行录音的各组已录制时长;
[0117]第七确定子模块,用于分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
[0118]第八确定子模块,用于确定所有所述子消耗系统资源的和为所述第三系统资源。
[0119]结合本发明实施例第四方面的第五种实现方式,本发明实施例的第四方面的第七种实现方式中,所述第六确定模块包括:
[0120]第九确定子模块,用于根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时长;
[0121]第十确定子模块,用于分别确定各组所述已录制时长与所述录音平均时长的差;
[01