(12)发明专利说明书
(21)申请号 CN201310308527.6 (22)申请日 2013.07.22
(71)申请人 中国联合网络通信集团有限公司 地址 100033 北京市西城区金融大街21号 (72)发明人 李浩 罗云彬 王志军
(74)专利代理机构 北京安信方达知识产权代理有限公司 代理人 栗若木 (51)Int.CI
H04L29/06 G10L19/005
(10)申请公布号 CN 103414697 A (43)申请公布日 2013.11.27
权利要求说明书 说明书 幅图
(54)发明名称
一种VOIP自适应语音编码方法、
系统及SIP服务器 (57)摘要
本发明公开了一种VOIP自适语音
应编码方法、系统及SIP服务器,包括VOIP自适应语音编码方案包括检测网络可用带宽,根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端;通话双方按照接收到的语音编码顺序
选择各自支持的编码格式对RTP流进行语音编码。本发明中,由于SIP服务器查询的都是SIP消息发起方对端的网络可用带宽,这样,根据SIP客户端对端的网络可用带宽修改后的SDP包到达对端后,适合对端当前网络情况的语音编码被优先选择了,从而保证了SIP客户端双方使用到了各自当前网络可用带宽下的最优的语音编码格式,满足了不同的编码格式对不同带宽的需求,从而为用户提供了高质量的语音通话服务。 法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种网络电话VOIP自适应语音编码方法,其特征在于,包括:
检测网络可用带宽,并根据检测到的对端的网络可用带宽对语音编码顺
通话双方按照接收到的语音编码顺序选择各自支持的编码格式对实时传
2.根据权利要求1所述的VOIP自适应语音编码方法,其特征在于,在
对所述RTP流进行语音编码转换,将语音编码格式转换为对端的编码格
在所述通话双方的编码格式相同时,该方法还包括:对所述RTP流进行
3.根据权利要求1或2所述的VOIP自适应语音编码方法,其特征在于,
当会话初始协议SIP服务器检测到来自SIP客户端的注册消息时,向SIP
SIP客户端设置网络可用带宽检测定时器,按照协商请求向SIP服务器
客户端发送协商请求;
所述检测网络可用带宽包括:
透传。
式后传递给对端;
所述通话双方的编码格式不同时,该方法还包括:
输协议RTP流进行语音编码。
序进行排序并发送给对端;
发送网络可用带宽检测请求;
SIP服务器检测SIP客户端当前网络可用带宽并存储。
4.根据权利要求3所述的VOIP自适应语音编码方法,其特征在于,所
按照所述检测算法检测SIP客户端当前网络可用带宽;
其中,所述检测算法为可用带宽测量算法SLoPS。
5.根据权利要求1或2所述的VOIP自适应语音编码方法,其特征在于,
SIP服务器检测到SIP客户端发起的邀请INVITE请求或200OK响应, 端
述检测SIP客户端当前网络可用带宽包括:
所述根据检测到的对端的网络可用带宽对语音编码顺序进行排序包括:
根据INVITE请求或200OK响应中携带的被邀请或被响应的SIP客户端对
的用户ID,查询该用户对应的网
络可用带宽;
SIP服务器比较查询出的SIP客户端对端的网络可用带宽与预先设置的
编码格式所占用的带宽的音频编码标准关系,对接收到的会话描述协议
包中的语音编码优先级进行重新排序,并将修改后的SDP包
端对端。
SDP
发送给SIP客户
6.根据权利要求5所述的VOIP自适应语音编码方法,其特征在于,所
选取最近一次检测到的网络可用带宽,作为所述SIP客户端对端的当前
对定长队列中所述SIP客户端的对端的最近预设数量次的网络可用带宽
7.一种SIP服务器,其特征在于,包括SIP核心处理模块,还至少包括:
SIP核心处理模块,用于处理来自SIP客户端的交互信息;
可用带宽检测模块,用于在检测到SIP客户端注册时,向SIP客户端发
可用带宽检测模块、SDP控制模块;其中,
的网络可用带宽;或者,
述查询对应的网络可用带宽包括:
求平均值,以获得的平均值作为所述SIP客户端对端的当前的网络可用带宽。
送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求
中携带的检测算法检测SIP客户端网络当前网络可用带宽,存储获得
客户端的网络可用带宽;
的SIP
SDP控制模块,用于在检测到SIP客户端发起邀请或200OK响应时,根
据检测到的对端的网络可用带宽对语音编码顺序进行排序,并经由SIP核心
处理模块发送给对端的SIP客户端。
8.根据权利要求7所述的SIP服务器,其特征在于,所述SDP控制模 息
块,具体用于检测到所述SIP客户端发起邀请或200OK响应消息,根据消
中携带的被邀请或被响应的SIP客户端的用户ID,查询该用
宽,将查询到的网络可用带宽与预先设置的编码
码标准关系进行比对,对SDP包
所述SIP核心处理模
户的网络可用带
格式所占用的带宽的音频编
中的语音编码优先级进行重新排序,并经由
块将修改后的SDP包发送给SIP客户端对端。
9.根据权利要求7或8所述的SIP服务器,其特征在于,所述SIP服务
器还包括语音编码控制模块,用于在通话双方的
继服务器发送语音编码转换指令;
编码格式不同时,向媒体中 或者,
用于在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令。
10.一种VOIP自适应语音编码系统,其特征在于,至少包括SIP客户
SIP服务器,用于检测网络可用带宽,并根据检测到的对端的网络可用
SIP客户端,用于按照接收到的语音编码顺序选择自身支持的编码格式
对实时传输协议RTP流进行语音编码。
带宽对语音编码顺序进行排序并发送给对端的SIP客户端;
端,SIP服务器;其中,
11.根据权利要求10所述的VOIP自适应语音编码系统,其特征在于,
所述SIP客户端,具体用于注册到SIP服务器;接收来自SIP服务器的
协商请求,设置网络可用带宽检测定时器,按照协商请求中携带的时间间隔
定期向中的源地址发送网络可用带宽检测请求;按照来自SIP
编码顺序选择自身支持的编码格式对RTP流进
服务器的语音 行语音编码;
SIP服务器,用于在检测到SIP客户端注册时,向SIP客户端发送协商
请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中的检
测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户
络可用带宽;根据检测到的对端的网络可用带宽对语音
发送给对端的SIP客户端。
端的网
编码顺序进行排序并
12.根据权利要求11所述的VOIP自适应语音编码系统,其特征在于,
所述SIP服务器,还用于在通话双方的编码格式不同时,向媒体中继服
媒体中继服务器,用于接收来自SIP服务器的语音编码转换指令,对通
该系统还包括媒体中继服务器,此时,
务器发送语音编码转换指令;或者,在通话双方的编码格式相同时,向媒体
中继服务器发送媒体传输指令;
话双方的RTP流进行语音编码转换,将语音编码格式转换为对端的编码格
式 后传递给对端;或者,接收来自SIP服务器的媒体传输指令,
RTP流进行透传。
对通话双方的
说 明 书
技术领域
本发明涉及VOIP语音技术,尤指一种VOIP自适应语音编码方法、系 背景技术
当前,随着骨干网速率的高速增长,接入网速率的不断提高,Internet
的应用日益广泛,Internet上的业务也正从窄带走向宽带、从非实时走向实
网络电话(VOIP,Voice over Internet Protocol)业务就是其中的一类
业务。
统及SIP服务器。
时, 重要的
VoIP是通过对语音信号进行数字化编码、压缩处理成帧,然后再转换为
IP数据包在IP网络上进行传输,来达到在IP网络上进行语音通信目的的技 术。VOIP最大的优势是能广泛地利用Internet和全球IP互连的环境,非常 廉价的提供语音、传真、视频和数据等业务,比如统一消息、虚拟电话、虚
拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、
议、电子商务、传真存储转发和各种信息的存储转发等。
电视会
会话初始协议(SIP)是IETF提出的在IP网上进行多媒体通信的应用层
控制协议。SIP用于建立、改变和终止基于IP网络的用户间的呼叫。为了提 供电话业务,SIP还需要结合不同的标准和协议,特别是实时传输协议
以Internet协议如超文本传输协议(HTTP)为基础,遵循
则,基于对等工作模式。利用SIP可实现会话的连接、
单播、多播和可移动性。此外,SIP如果与会话Description Protocol)配合使用,可以动态地调
(RTP)。 Internet的设计原
建立和释放,并支持
描述协议(SDP,Session
整和修改会话属性,如通话带
宽、所传输的媒体类型及编解码格式等。
SDP是用于描述多媒体会话通告,多媒体会话邀请和其他形式的多媒体 主
会话初始化的协议。SDP结构包括会话信息和媒体信息,其中,会话信息
要包括会话名和目的、会话活动时间、会话使用的带宽信息(部分终
供)等;媒体信息主要包括媒体类
议)、媒体格式、媒体传输
端不提
型如视频或音频、传输协议(多为RTP协 端口等。
目前,VOIP实现方法大致包括:VOIP软终端(或称SIP客户端)通过
SIP信令注册到SIP服务器,在SIP服务器上形成该用户的Contact;SIP客 户端通过SIP协议向本域或者其他域的用户发起呼叫请求(即呼叫其他用户 的Contact),通过SDP协议描述多媒体通话的相关信息;会话建立后通过 RTP协议传输媒体流,实现通话。以同一局域网内SIP通话建立过程为例, 如图1所示,在Invite(1)、Invite(3)的SIP消息中会携带客户端A
的SDP包,该SDP包描述了UserA支持的媒体会话信息;
200OK(7)的SIP消息中携带有UserB支持的媒体会
(UserA)
200OK(6)和 话信息。
由于实际使用中,同一局域网内的SIP通话可能性比较小,而客户端与
服务器之间,客户端与客户端之间存在于不同网络中的可能性较大。因此,
SIP服务器会通过设置网络地址转换(NAT)穿透和媒体代理的方式
完成SIP交互和RTP媒体流交互。会话建立过程如图2所示,
(1),Invite(3)中包含有SDP包描述的UserA支持
是Invite(3)中,SIP服务器将UserA接受RTP
IP地址;200OK(6)、200OK(7)中的通信的信息,且在200OK(7)中,SIP
来协助
同样的,Invite
的媒体信息,不同的
流的地址改为了媒体中继的
SDP包描述了UserB支持的媒体
服务器将UserB接受RTP流的地址 改为了媒体中继的IP地址。这样,网之间SIP客户端的通话功能。
SIP服务器和媒体中继就实现了不同局域
在SIP服务器上获得的Invite(1)的SIP包结构中,SIP包体部分即为
目前,对于电信级VOIP业务,SIP服务器普遍采用的是开放式SIP 编
(OpenSIPs)系统,不同局域网之间的SIP客户端通话是通过修改SIP信令 交互过程中的SDP包的内容,将SIP客户端发送RTP流的目的地址改为媒 体中继服务器地址来实现RTP流的转发的。但是,对于SIP客户端采用的
码格式,SIP服务器并不能实现控制,而的编码格式进行转发。从SDP包内部结
语音编码格式放置于SDP包的a
的编码格式作为RTP流的
SIP客户端设定的编
SDP包,o字段中设置的为客户端发送RTP流的地址;c字段中设置的为客 户端接收RTP流的地址;m字段中设置的为媒体类型,如音频;a字段中设 置的为客户端支持的编码格式,每个支持的编码格式成为一行。各编码格式
的优先顺序为客户端提前设定好的顺序。
只是机械的将两个SIP客户端支持 构可以看出,SIP客户端会将支持的
字段内,根据交互的结果会选取双方都支持
编码格式。如果双方支持多种编码格式,则会根据 码优先级(即SDP包中a字段a的顺序)。
但是,在实际通话过程中,不同SIP客户端所处的网络环境不同,网络 编
带宽也不同。SIP客户端本身并不能判断其网络质量,也无法获取对端的网 络质量。因此,在实际通话中,使用上述固定的编码顺序来规定RTP流的
码格式极大地降低了通话质量。表1显示的是各种编码格式所占用的
音频编码标准表。
带宽的
表1
从表1可以看出,不同的编码格式对于带宽的要求是不同的,同样的,
目前的VOIP电话系统不能根据不同的编码格式对不同带宽的需求,做 发明内容
为了解决上述技术问题,本发明提供了一种VOIP自适应语音编码方法、
为了达到本发明目的,本发明提供了一种网络电话VOIP自适应语音编
检测网络可用带宽,并根据检测到的对端的网络可用带宽对语音编码顺
通话双方按照接收到的语音编码顺序选择各自支持的编码格式对实时传
在所述通话双方的编码格式不同时,该方法还包括:
对所述RTP流进行语音编码转换,将语音编码格式转换为对端的编码格
式后传递给对端;
输协议RTP流进行语音编码。
序进行排序并发送给对端;
码方法,包括:
系统及SIP服务器,能够满足不同的编码格式对不同带宽的需求,从而为用 户提供高质量的语音通话服务。
出动态调整,也就是说,不能实现根据SIP客户端的情况选择合适的编码格 式,从而不能实现为用户提供高质量的语音通话服务。
达到的语音质量也是不同的。
在所述通话双方的编码格式相同时,该方法还包括:对所述RTP流进行
所述检测网络可用带宽包括:
当会话初始协议SIP服务器检测到来自SIP客户端的注册消息时,向SIP
SIP客户端设置网络可用带宽检测定时器,按照协商请求向SIP服务器
SIP服务器检测SIP客户端当前网络可用带宽并存储。
所述检测SIP客户端当前网络可用带宽包括:
按照所述检测算法检测SIP客户端当前网络可用带宽;
其中,所述检测算法为可用带宽测量算法SLoPS。
所述根据检测到的对端的网络可用带宽对语音编码顺序进行排序包括:
SIP服务器检测到SIP客户端发起的邀请INVITE请求或200OK响应, 端
SIP服务器比较查询出的SIP客户端对端的网络可用带宽与预先设置的
编码格式所占用的带宽的音频编码标准关系,对接收到的会话描述协议
包中的语音编码优先级进行重新排序,并将修改后的SDP包发送给
根据INVITE请求或200OK响应中携带的被邀请或被响应的SIP客户端对
的用户ID,查询该用户对应的网络可用带宽;
发送网络可用带宽检测请求;
客户端发送协商请求;
透传。
SDP
SIP客户
端对端。
所述查询对应的网络可用带宽包括:
选取最近一次检测到的网络可用带宽,作为所述SIP客户端对端的当前
对定长队列中所述SIP客户端的对端的最近预设数量次的网络可用带宽
本发明还提供一种SIP服务器,包括SIP核心处理模块,还至少包括:
SIP核心处理模块,用于处理来自SIP客户端的交互信息;
可用带宽检测模块,用于在检测到SIP客户端注册时,向SIP客户端发
SDP控制模块,用于在检测到SIP客户端发起邀请或200OK响应时,根
所述SDP控制模块,具体用于检测到所述SIP客户端发起邀请或200OK 询
响应消息,根据消息中携带的被邀请或被响应的SIP客户端的用户ID,查
该用户的网络可用带宽,将查询到的网络可用带宽与预先设置的编码
占用的带宽的音频编码标准关系进行比对,对SDP包中的语
据检测到的对端的网络可用带宽对语音编码顺序进行排序,并经由SIP核心 处理模块发送给对端的SIP客户端。
送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求 中携带的检测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP 客户端的网络可用带宽;
可用带宽检测模块、SDP控制模块;其中,
求平均值,以获得的平均值作为所述SIP客户端对端的当前的网络可用带宽。
的网络可用带宽;或者,
格式所
音编码优先级进 行重新排序,并经由所述SIP核心处理模块将修改后的户端对端。
SDP包发送给SIP客
所述SIP服务器还包括语音编码控制模块,用于在通话双方的编码格式
用于在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令。
本发明还提供一种VOIP自适应语音编码系统,至少包括SIP客户端,
SIP服务器,用于检测网络可用带宽,并根据检测到的对端的网络可用
SIP客户端,用于按照接收到的语音编码顺序选择自身支持的编码格式
所述SIP客户端,具体用于注册到SIP服务器;接收来自SIP服务器的
协商请求,设置网络可用带宽检测定时器,按照协商请求中携带的时间间隔
定期向中的源地址发送网络可用带宽检测请求;按照来自SIP服务器
编码顺序选择自身支持的编码格式对RTP流进行语音编码;
对实时传输协议RTP流进行语音编码。
带宽对语音编码顺序进行排序并发送给对端的SIP客户端;
SIP服务器;其中,
不同时,向媒体中继服务器发送语音编码转换指令;或者,
的语音
SIP服务器,用于在检测到SIP客户端注册时,向SIP客户端发送协商
请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中的检 测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户端的网 络可用带宽;根据检测到的对端的网络可用带宽对语音编码顺序进行排序并
发送给对端的SIP客户端。
该系统还包括媒体中继服务器,此时,
所述SIP服务器,还用于在通话双方的编码格式不同时,向媒体中继服
媒体中继服务器,用于接收来自SIP服务器的语音编码转换指令,对通 式
话双方的RTP流进行语音编码转换,将语音编码格式转换为对端的编码格
后传递给对端;或者,接收来自SIP服务器的媒体传输指令,对通话
RTP流进行透传。
务器发送语音编码转换指令;或者,在通话双方的编码格式相同时,向媒体
中继服务器发送媒体传输指令;
双方的
与现有技术相比,本发明VOIP自适应语音编码方案包括检测网络可用
带宽,根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给
岁算;通话双方按照接收到的语音编码顺序选择各自支持的编码格式
流进行语音编码。本发明中,由于SIP服务器查询的都是SIP
端的网络可用带宽,这样,根据SIP客户端对端的网络
包到达对端后,适合
了SIP客户端式,满足了不
语音通
对RTP
消息发起方对
可用带宽修改后的SDP
对端当前网络情况的语音编码被优先选择了,从而保证
双方使用到了各自当前网络可用带宽下的最优的语音编码格 同的编码格式对不同带宽的需求,从而为用户提供了高质量的 话服务。
进一步地,本发明还包括在通话双方的编码格式不同时,SIP服务器对 给
RTP流进行语音编码转换,将语音编码格式转换为对端的编码格式后传递
对端。这样,在媒体传输开始时,SIP服务器获取媒体中继两侧客户
音编码格式,当两侧客户端的语音编码格式不同时,媒体中继
编码格式转换为对端的编码格式,这样,在RTP流传
端的语
服务器将语音
输阶段,更好地保证了 在SIP客户端两侧网络上始终保持匹配其可用网
而更好地保证了为用户提供高质量的语音
络带宽的语音编码格式,从 通话服务。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说
明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优
点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现
和获得。 附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部
图1为现有SIP通话建立过程的实施例的示意图;
图2为现有SIP通话建立过程的另一实施例的示意图;
图3为本发明VOIP自适应语音编码方法的流程示意图;
图4为本发明VOIP自适应语音编码系统的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图
对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申
请中的实施例及实施例中的特征可以相互任意组合。
分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明
技术方案的限制。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机
系统中执行。并且,虽然在流程图中示出了逻辑顺序,
可以以不同于此处的顺序执行所示出或描述的步
但是在某些情况下, 骤。
图3为本发明VOIP自适应语音编码方法的流程示意图,如图3所示,
步骤300:检测网络可用带宽。
本步骤中,当用户通过SIP客户端注册到SIP服务器时,可以根据SIP
首先,监听SIP端口(即5060端口)的SIP消息:由于所有的SIP客户
在协商请求中携带有:
源地址即SIP服务器地址,也就是网络可用带宽检测过程中发送固定消
检测间隔,用于表示网络可用带宽检测的时间间隔,主要考虑到网络可
检测算法,即网络可用带宽检测过程中使用的检测算法,比如现有可用
带宽测量算法(SLoPs)等;
用带宽的可变情况;
息到SIP客户端以检测网络可用带宽的服务器地址;
端在开始之初都需要向SIP服务器进行注册,当SIP服务器检测到来自SIP 客户端的注册消息(Register Message)时,向SIP客户端发送协商请求。
客户端的注册信息设置检测机制,以定时检测用户所在网络的可用带宽。具
体包括:
包括以下步骤:
客户端地址即SIP客户端地址;
标志位,用于标识检测次数,比如可以根据标志位,判断哪个检测结果
检测时间即本次检测的时间;
用户ID,用于SIP服务器区别不同的SIP客户端。
接着,SIP客户端收到来自SIP服务器的协商请求,如果同意进行检测,
则向SIP服务器发送确认消息,并在SIP客户端设置网络可用带宽检测定时 器,按照协商请求中携带的时间间隔定期向源地址发送网络可用带宽检测请
求;SIP服务器收到来自SIP客户端的网络可用带宽检测请求后,按
请求中携带的检测算法检测SIP客户端当前网络可用带宽,比
率向SIP客户端发送数据包,并根据SIP客户端返回数
客户端网络的当前网
属于本领域技
是指能户终端务器的
是最早的;
照协商
如以一定的速
据包的时长来检测SIP
络可用带宽,具体实现方法很多,比如SLoPS算法等,
术人员的惯用技术手段,这里不再赘述。其中,同意进行检测
够接收SIP服务器发来的带宽检测包并返回,比如在某些情况下,用 注册以后网络环境有可能会发生变化如断线,此时是接收不到SIP服 带宽检测包的。
最后,SIP服务器获得SIP客户端的网络可用带宽后,将网络可用带宽 储
及其对应的用户ID、标志位、检测时间存储到定长队列中,当定长队列存
满后,定长队列中最新获得的网络可用带宽更新其中最早存储的数据。
定长队列的设置可根据需要,一般可设置为存储5个带宽检测
其中,
结果即可满足。
步骤301:根据检测到的对端的网络可用带宽对语音编码顺序进行排序
本步骤中,当SIP客户端A经由SIP服务器向SIP客户端B发起会话请 端
求时,SIP服务器按照检测时间,根据SIP客户端B的最近一次检测到的网 络可用带宽,对SDP包(在a字段中包含有按照一定顺序排列的SIP客户
A支持的语音编码格式)内的语音编码顺序进行重新排序,并发给
端B。其中,SIP客户端A向SIP服务器发起邀请(INVITE)的请求,在SIP INVITE消息中携带有SDP包,在SDP包中
流传输的相关信息,其中在a字段中,SIP客户端A支
照一定的顺序排列。同样的,在SIP客户端B
带有SDP包及其SIP客户端B自身支持
并发送给对端。
SIP客户
SIP客户端B 携带有后续RTP
持的语音编码格式按
返回的200OK响应中,也携 的语音编码格式。
本步骤中的根据检测到的对端的网络可用带宽对语音编码顺序进行排序
首先,SIP服务器检测到SIP客户端A发起的INVITE请求后,根据
INVITE请求中携带的被INVITE的SIP客户端B的用户ID,查询SIP客户 端B的网络可用带宽。具体实现中可根据需要采取不同的查询方法,比如:
按照检测时间,选取最近一次检测到的网络可用带宽,作为SIP客户
前的网络可用带宽,以最大程度上贴近用户当前的网络可用带
具体包括:
端B当
宽;或者,
对定长队列中SIP客户端B最近几次(次数可以预先设置)的网络可用 以
带宽求平均值,以获得的平均值作为SIP客户端B当前的网络可用带宽,
获得最近一段时间内SIP客户端B的平
均网络可用带宽。
接着,SIP服务器查询出SIP客户端B的网络可用带宽后,将获得的网
络可用带宽在表1中进行比对,对SDP包中的语音编码优先级进行重新排
并将修改后的SDP包发送给SIP客户端B。
序, 同样的,
对于SIP客户端B返回的200OK响应,SIP服务器查询SIP客户端A 可用带宽,并对SDP包(在a字段中包含有按照一定顺序排列的SIP B支持的语音编码格式)中的语音编码优先级进行重新排序,并将修 SDP包发送给SIP客户端A。
步骤302:通话双方按照接收到的语音编码顺序选择各自支持的编码格
在SIP信令交互过程中,SIP客户端A发起的INVITE请求到达SIP客 码
式对RTP流进行语音编码。
的网络客户端改后的
户端B后,SIP客户端B会根据SDP包的语音编码顺序来查找本地语音编
顺序,换句话说,SIP客户端B会以接收到的语音编码顺序为优先级。
当SDP包中的首个语音编码在本地无法找到即SIP客户端B
第二个语音编码进行本地查找,以此类推;同样的,
户端A返回200OK后,SIP客户端A也是采用
此时,
不支持时,再对
SIP客户端B向SIP客
相同的方法查找语音编码的。
在步骤301中,由于SIP服务器查询的都是SIP消息发起方对端的网络 从
可用带宽,这样,在本步骤中,根据SIP客户端对端的网络可用带宽修改后 的SDP包到达对端后,适合对端当前网络情况的语音编码被优先选择了,
而保证了SIP客户端双方使用到了各自当前网络可用带宽下的最优的
语音编 码格式,满足了不同的编码格式对不同带宽的需求,从而为用
量的语音通话服务。
户提供了高质
如果在步骤301中确定出的通话双方的编码格式不同,为了更好地保证
步骤303:在通话双方的编码格式不同时,SIP服务器对RTP流进行语
SIP服务器比较通话双方SIP客户端的语音编码格式,如果双方的编码
格式相同,则控制媒体中继服务器对RTP流进行透传;如果编码格式不同,
则控制媒体中继对RTP流进行语音编码
音编码转换,将语音编码格式转换为对端的编码格式后传递给对端。
为用户提供高质量的语音通话服务,本发明方法进一步包括:
转换:
根据RTP协议,媒体传输开始时,SIP客户端A和SIP客户端B都会首 的
先向媒体中继服务器发起RTP流,这样能够保证媒体中继服务器获取其新
IP地址和端口。为了进一步确保媒体传输的准确性,此时SIP服务器
体中继两侧客户端的语音编码格式,当两侧客户端的语音编码
媒体中继服务器将语音编码格式转换为对端的编码格式,输阶段,更好地保证了在SIP客户端两侧网络上始终保
宽的语音编码格式,从而更好地保证了为用户提
获取媒
格式不同时,
这样,在RTP流传 持匹配其可用网络带
供高质量的语音通话服务。
图4为本发明VOIP自适应语音编码系统的组成结构示意图,如图4所
SIP服务器,用于检测网络可用带宽,并根据检测到的对端的网络可用
示,至少包括SIP客户端,SIP服务器;其中,
带宽对语音编码顺序进行排序并发送给对端的SIP客户端;
SIP客户端,用于按照接收到的语音编码顺序选择自身支持的编码格式 具体地,
SIP客户端,用于注册到SIP服务器;接收来自SIP服务器的协商请求,
在同意进行检测时,向SIP服务器发送确认消息,并设置网络可用带宽检测 定时器,按照协商请求中携带的时间间隔定期向中的源地址发送网络可用带
宽检测请求;按照来自SIP服务器的语音编码顺序选择自身支持的编
对RTP流进行语音编码。
对实时传输协议RTP流进行语音编码。
码格式
SIP服务器,用于在检测到SIP客户端注册时,向SIP客户端发送协商
本发明系统还包括媒体中继服务器,此时,
SIP服务器,还用于在通话双方的编码格式不同时,向媒体中继服务器
媒体中继服务器,用于接收来自SIP服务器的语音编码转换指令,对通 式
话双方的RTP流进行语音编码转换,将语音编码格式转换为对端的编码格
后传递给对端。
发送语音编码转换指令;
请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中携带 的检测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户端 的网络可用带宽;根据检测到的对端的网络可用带宽对语音编码顺序进行排
序并发送给对端的SIP客户端。
或者,
SIP服务器,还用于在通话双方的编码格式相同时,向媒体中继服务器
媒体中继服务器,用于接收来自SIP服务器的媒体传输指令,对通话双
本发明SIP服务器除了包括现有SIP核心处理模块之外,还至少包括:
SIP核心处理模块,用于处理来自SIP客户端的交互信息,如注册请求,
可用带宽检测模块,用于在检测到SIP客户端注册时,向SIP客户端发
送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以预先设定 的速率向SIP客户端发送数据包,并根据SIP客户端返回数据包检测SIP客 户端网络当前网络可用带宽,存储获得的SIP客户端的网络可用带宽;其中,
可用带宽检测模块可以通过SDP控制模块检测到SIP客户端注册,
接从SIP核心处理模块检测到SIP客户端注册(图4中未示
INVITE请求、200OK响应等。
可用带宽检测模块、SDP控制模块;其中,
方的RTP流进行透传。
发送媒体传输指令;
也可以直 出)。
SDP控制模块,用于在检测到SIP客户端发起邀请或200OK响应时,根
本发明SIP服务器还包括语音编码控制模块,用于在通话双方的编码格
式不同时,向媒体中继服务器发送语音编码转换指令;或者,
据检测到的对端的网络可用带宽对语音编码顺序进行排序,并经由SIP核心 处理模块发送给对端的SIP客户端。
在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令。
图4中,可用带宽检测模块,具体用于检测到来自SIP客户端的注册消
SDP控制模块,具体用于检测到SIP客户端发起邀请或200OK响应消息, 网
根据消息中携带的被邀请或被响应的SIP客户端的用户ID,查询该用户的
络可用带宽,将查询到的网络可用带宽与预先设置的编码格式所占用
的音频编码标准关系(如表1所示)进行比对,对SDP包中
级进行重新排序,并经由SIP核心处理模块将修改后的户端对端。
息时,向SIP客户端发送协商请求;接收到来自SIP客户端的网络可用带宽 检测请求,以协商请求中携带的检测算法来检测SIP客户端网络当前网络可 用带宽;存储获得的网络可用带宽。
的带宽
的语音编码优先
SDP包发送给SIP客
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明
而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人
员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形
节上进行任何的修改与变化,但本发明的专利保护范围,仍须
要求书所界定的范围为准。
式及细
以所附的权利
因篇幅问题不能全部显示,请点此查看更多更全内容