CN103414697A - 一种voip自适应语音编码方法、系统及sip服务器 - Google Patents
一种voip自适应语音编码方法、系统及sip服务器 Download PDFInfo
- Publication number
- CN103414697A CN103414697A CN2013103085276A CN201310308527A CN103414697A CN 103414697 A CN103414697 A CN 103414697A CN 2013103085276 A CN2013103085276 A CN 2013103085276A CN 201310308527 A CN201310308527 A CN 201310308527A CN 103414697 A CN103414697 A CN 103414697A
- Authority
- CN
- China
- Prior art keywords
- sip
- speech coding
- sip client
- bandwidth
- opposite end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种VOIP自适语音应编码方法、系统及SIP服务器,包括VOIP自适应语音编码方案包括检测网络可用带宽,根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端;通话双方按照接收到的语音编码顺序选择各自支持的编码格式对RTP流进行语音编码。本发明中,由于SIP服务器查询的都是SIP消息发起方对端的网络可用带宽,这样,根据SIP客户端对端的网络可用带宽修改后的SDP包到达对端后,适合对端当前网络情况的语音编码被优先选择了,从而保证了SIP客户端双方使用到了各自当前网络可用带宽下的最优的语音编码格式,满足了不同的编码格式对不同带宽的需求,从而为用户提供了高质量的语音通话服务。
Description
技术领域
本发明涉及VOIP语音技术,尤指一种VOIP自适应语音编码方法、系统及SIP服务器。
背景技术
当前,随着骨干网速率的高速增长,接入网速率的不断提高,Internet的应用日益广泛,Internet上的业务也正从窄带走向宽带、从非实时走向实时,网络电话(VOIP,Voice over Internet Protocol)业务就是其中的一类重要的业务。
VoIP是通过对语音信号进行数字化编码、压缩处理成帧,然后再转换为IP数据包在IP网络上进行传输,来达到在IP网络上进行语音通信目的的技术。VOIP最大的优势是能广泛地利用Internet和全球IP互连的环境,非常廉价的提供语音、传真、视频和数据等业务,比如统一消息、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电视会议、电子商务、传真存储转发和各种信息的存储转发等。
会话初始协议(SIP)是IETF提出的在IP网上进行多媒体通信的应用层控制协议。SIP用于建立、改变和终止基于IP网络的用户间的呼叫。为了提供电话业务,SIP还需要结合不同的标准和协议,特别是实时传输协议(RTP)。以Internet协议如超文本传输协议(HTTP)为基础,遵循Internet的设计原则,基于对等工作模式。利用SIP可实现会话的连接、建立和释放,并支持单播、多播和可移动性。此外,SIP如果与会话描述协议(SDP,SessionDescription Protocol)配合使用,可以动态地调整和修改会话属性,如通话带宽、所传输的媒体类型及编解码格式等。
SDP是用于描述多媒体会话通告,多媒体会话邀请和其他形式的多媒体会话初始化的协议。SDP结构包括会话信息和媒体信息,其中,会话信息主要包括会话名和目的、会话活动时间、会话使用的带宽信息(部分终端不提供)等;媒体信息主要包括媒体类型如视频或音频、传输协议(多为RTP协议)、媒体格式、媒体传输端口等。
目前,VOIP实现方法大致包括:VOIP软终端(或称SIP客户端)通过SIP信令注册到SIP服务器,在SIP服务器上形成该用户的Contact;SIP客户端通过SIP协议向本域或者其他域的用户发起呼叫请求(即呼叫其他用户的Contact),通过SDP协议描述多媒体通话的相关信息;会话建立后通过RTP协议传输媒体流,实现通话。以同一局域网内SIP通话建立过程为例,如图1所示,在Invite(1)、Invite(3)的SIP消息中会携带客户端A(UserA)的SDP包,该SDP包描述了UserA支持的媒体会话信息;200OK(6)和200OK(7)的SIP消息中携带有UserB支持的媒体会话信息。
由于实际使用中,同一局域网内的SIP通话可能性比较小,而客户端与服务器之间,客户端与客户端之间存在于不同网络中的可能性较大。因此,SIP服务器会通过设置网络地址转换(NAT)穿透和媒体代理的方式来协助完成SIP交互和RTP媒体流交互。会话建立过程如图2所示,同样的,Invite(1),Invite(3)中包含有SDP包描述的UserA支持的媒体信息,不同的是Invite(3)中,SIP服务器将UserA接受RTP流的地址改为了媒体中继的IP地址;200OK(6)、200OK(7)中的SDP包描述了UserB支持的媒体通信的信息,且在200OK(7)中,SIP服务器将UserB接受RTP流的地址改为了媒体中继的IP地址。这样,SIP服务器和媒体中继就实现了不同局域网之间SIP客户端的通话功能。
在SIP服务器上获得的Invite(1)的SIP包结构中,SIP包体部分即为SDP包,o字段中设置的为客户端发送RTP流的地址;c字段中设置的为客户端接收RTP流的地址;m字段中设置的为媒体类型,如音频;a字段中设置的为客户端支持的编码格式,每个支持的编码格式成为一行。各编码格式的优先顺序为客户端提前设定好的顺序。
目前,对于电信级VOIP业务,SIP服务器普遍采用的是开放式SIP(OpenSIPs)系统,不同局域网之间的SIP客户端通话是通过修改SIP信令交互过程中的SDP包的内容,将SIP客户端发送RTP流的目的地址改为媒体中继服务器地址来实现RTP流的转发的。但是,对于SIP客户端采用的编码格式,SIP服务器并不能实现控制,而只是机械的将两个SIP客户端支持的编码格式进行转发。从SDP包内部结构可以看出,SIP客户端会将支持的语音编码格式放置于SDP包的a字段内,根据交互的结果会选取双方都支持的编码格式作为RTP流的编码格式。如果双方支持多种编码格式,则会根据SIP客户端设定的编码优先级(即SDP包中a字段a的顺序)。
但是,在实际通话过程中,不同SIP客户端所处的网络环境不同,网络带宽也不同。SIP客户端本身并不能判断其网络质量,也无法获取对端的网络质量。因此,在实际通话中,使用上述固定的编码顺序来规定RTP流的编码格式极大地降低了通话质量。表1显示的是各种编码格式所占用的带宽的音频编码标准表。
表1
从表1可以看出,不同的编码格式对于带宽的要求是不同的,同样的,达到的语音质量也是不同的。
目前的VOIP电话系统不能根据不同的编码格式对不同带宽的需求,做出动态调整,也就是说,不能实现根据SIP客户端的情况选择合适的编码格式,从而不能实现为用户提供高质量的语音通话服务。
发明内容
为了解决上述技术问题,本发明提供了一种VOIP自适应语音编码方法、系统及SIP服务器,能够满足不同的编码格式对不同带宽的需求,从而为用户提供高质量的语音通话服务。
为了达到本发明目的,本发明提供了一种网络电话VOIP自适应语音编码方法,包括:
检测网络可用带宽,并根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端;
通话双方按照接收到的语音编码顺序选择各自支持的编码格式对实时传输协议RTP流进行语音编码。
在所述通话双方的编码格式不同时,该方法还包括:
对所述RTP流进行语音编码转换,将语音编码格式转换为对端的编码格式后传递给对端;
在所述通话双方的编码格式相同时,该方法还包括:对所述RTP流进行透传。
所述检测网络可用带宽包括:
当会话初始协议SIP服务器检测到来自SIP客户端的注册消息时,向SIP客户端发送协商请求;
SIP客户端设置网络可用带宽检测定时器,按照协商请求向SIP服务器发送网络可用带宽检测请求;
SIP服务器检测SIP客户端当前网络可用带宽并存储。
所述检测SIP客户端当前网络可用带宽包括:
按照所述检测算法检测SIP客户端当前网络可用带宽;
其中,所述检测算法为可用带宽测量算法SLoPS。
所述根据检测到的对端的网络可用带宽对语音编码顺序进行排序包括:
SIP服务器检测到SIP客户端发起的邀请INVITE请求或200OK响应,根据INVITE请求或200OK响应中携带的被邀请或被响应的SIP客户端对端的用户ID,查询该用户对应的网络可用带宽;
SIP服务器比较查询出的SIP客户端对端的网络可用带宽与预先设置的编码格式所占用的带宽的音频编码标准关系,对接收到的会话描述协议SDP包中的语音编码优先级进行重新排序,并将修改后的SDP包发送给SIP客户端对端。
所述查询对应的网络可用带宽包括:
选取最近一次检测到的网络可用带宽,作为所述SIP客户端对端的当前的网络可用带宽;或者,
对定长队列中所述SIP客户端的对端的最近预设数量次的网络可用带宽求平均值,以获得的平均值作为所述SIP客户端对端的当前的网络可用带宽。
本发明还提供一种SIP服务器,包括SIP核心处理模块,还至少包括:可用带宽检测模块、SDP控制模块;其中,
SIP核心处理模块,用于处理来自SIP客户端的交互信息;
可用带宽检测模块,用于在检测到SIP客户端注册时,向SIP客户端发送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中携带的检测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户端的网络可用带宽;
SDP控制模块,用于在检测到SIP客户端发起邀请或200OK响应时,根据检测到的对端的网络可用带宽对语音编码顺序进行排序,并经由SIP核心处理模块发送给对端的SIP客户端。
所述SDP控制模块,具体用于检测到所述SIP客户端发起邀请或200OK响应消息,根据消息中携带的被邀请或被响应的SIP客户端的用户ID,查询该用户的网络可用带宽,将查询到的网络可用带宽与预先设置的编码格式所占用的带宽的音频编码标准关系进行比对,对SDP包中的语音编码优先级进行重新排序,并经由所述SIP核心处理模块将修改后的SDP包发送给SIP客户端对端。
所述SIP服务器还包括语音编码控制模块,用于在通话双方的编码格式不同时,向媒体中继服务器发送语音编码转换指令;或者,
用于在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令。
本发明还提供一种VOIP自适应语音编码系统,至少包括SIP客户端,SIP服务器;其中,
SIP服务器,用于检测网络可用带宽,并根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端的SIP客户端;
SIP客户端,用于按照接收到的语音编码顺序选择自身支持的编码格式对实时传输协议RTP流进行语音编码。
所述SIP客户端,具体用于注册到SIP服务器;接收来自SIP服务器的协商请求,设置网络可用带宽检测定时器,按照协商请求中携带的时间间隔定期向中的源地址发送网络可用带宽检测请求;按照来自SIP服务器的语音编码顺序选择自身支持的编码格式对RTP流进行语音编码;
SIP服务器,用于在检测到SIP客户端注册时,向SIP客户端发送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中的检测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户端的网络可用带宽;根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端的SIP客户端。
该系统还包括媒体中继服务器,此时,
所述SIP服务器,还用于在通话双方的编码格式不同时,向媒体中继服务器发送语音编码转换指令;或者,在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令;
媒体中继服务器,用于接收来自SIP服务器的语音编码转换指令,对通话双方的RTP流进行语音编码转换,将语音编码格式转换为对端的编码格式后传递给对端;或者,接收来自SIP服务器的媒体传输指令,对通话双方的RTP流进行透传。
与现有技术相比,本发明VOIP自适应语音编码方案包括检测网络可用带宽,根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给岁算;通话双方按照接收到的语音编码顺序选择各自支持的编码格式对RTP流进行语音编码。本发明中,由于SIP服务器查询的都是SIP消息发起方对端的网络可用带宽,这样,根据SIP客户端对端的网络可用带宽修改后的SDP包到达对端后,适合对端当前网络情况的语音编码被优先选择了,从而保证了SIP客户端双方使用到了各自当前网络可用带宽下的最优的语音编码格式,满足了不同的编码格式对不同带宽的需求,从而为用户提供了高质量的语音通话服务。
进一步地,本发明还包括在通话双方的编码格式不同时,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服务器进行注册,当SIP服务器检测到来自SIP客户端的注册消息(Register Message)时,向SIP客户端发送协商请求。
在协商请求中携带有:
源地址即SIP服务器地址,也就是网络可用带宽检测过程中发送固定消息到SIP客户端以检测网络可用带宽的服务器地址;
检测间隔,用于表示网络可用带宽检测的时间间隔,主要考虑到网络可用带宽的可变情况;
检测算法,即网络可用带宽检测过程中使用的检测算法,比如现有可用带宽测量算法(SLoPs)等;
客户端地址即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支持的语音编码格式)内的语音编码顺序进行重新排序,并发给SIP客户端B。其中,SIP客户端A向SIP服务器发起邀请(INVITE)SIP客户端B的请求,在SIP INVITE消息中携带有SDP包,在SDP包中携带有后续RTP流传输的相关信息,其中在a字段中,SIP客户端A支持的语音编码格式按照一定的顺序排列。同样的,在SIP客户端B返回的200OK响应中,也携带有SDP包及其SIP客户端B自身支持的语音编码格式。
本步骤中的根据检测到的对端的网络可用带宽对语音编码顺序进行排序具体包括:
首先,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:通话双方按照接收到的语音编码顺序选择各自支持的编码格式对RTP流进行语音编码。
在SIP信令交互过程中,SIP客户端A发起的INVITE请求到达SIP客户端B后,SIP客户端B会根据SDP包的语音编码顺序来查找本地语音编码顺序,换句话说,SIP客户端B会以接收到的语音编码顺序为优先级。此时,当SDP包中的首个语音编码在本地无法找到即SIP客户端B不支持时,再对第二个语音编码进行本地查找,以此类推;同样的,SIP客户端B向SIP客户端A返回200OK后,SIP客户端A也是采用相同的方法查找语音编码的。
在步骤301中,由于SIP服务器查询的都是SIP消息发起方对端的网络可用带宽,这样,在本步骤中,根据SIP客户端对端的网络可用带宽修改后的SDP包到达对端后,适合对端当前网络情况的语音编码被优先选择了,从而保证了SIP客户端双方使用到了各自当前网络可用带宽下的最优的语音编码格式,满足了不同的编码格式对不同带宽的需求,从而为用户提供了高质量的语音通话服务。
如果在步骤301中确定出的通话双方的编码格式不同,为了更好地保证为用户提供高质量的语音通话服务,本发明方法进一步包括:
步骤303:在通话双方的编码格式不同时,SIP服务器对RTP流进行语音编码转换,将语音编码格式转换为对端的编码格式后传递给对端。
SIP服务器比较通话双方SIP客户端的语音编码格式,如果双方的编码格式相同,则控制媒体中继服务器对RTP流进行透传;如果编码格式不同,则控制媒体中继对RTP流进行语音编码转换:
根据RTP协议,媒体传输开始时,SIP客户端A和SIP客户端B都会首先向媒体中继服务器发起RTP流,这样能够保证媒体中继服务器获取其新的IP地址和端口。为了进一步确保媒体传输的准确性,此时SIP服务器获取媒体中继两侧客户端的语音编码格式,当两侧客户端的语音编码格式不同时,媒体中继服务器将语音编码格式转换为对端的编码格式,这样,在RTP流传输阶段,更好地保证了在SIP客户端两侧网络上始终保持匹配其可用网络带宽的语音编码格式,从而更好地保证了为用户提供高质量的语音通话服务。
图4为本发明VOIP自适应语音编码系统的组成结构示意图,如图4所示,至少包括SIP客户端,SIP服务器;其中,
SIP服务器,用于检测网络可用带宽,并根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端的SIP客户端;
SIP客户端,用于按照接收到的语音编码顺序选择自身支持的编码格式对实时传输协议RTP流进行语音编码。
具体地,
SIP客户端,用于注册到SIP服务器;接收来自SIP服务器的协商请求,在同意进行检测时,向SIP服务器发送确认消息,并设置网络可用带宽检测定时器,按照协商请求中携带的时间间隔定期向中的源地址发送网络可用带宽检测请求;按照来自SIP服务器的语音编码顺序选择自身支持的编码格式对RTP流进行语音编码。
SIP服务器,用于在检测到SIP客户端注册时,向SIP客户端发送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中携带的检测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户端的网络可用带宽;根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端的SIP客户端。
本发明系统还包括媒体中继服务器,此时,
SIP服务器,还用于在通话双方的编码格式不同时,向媒体中继服务器发送语音编码转换指令;
媒体中继服务器,用于接收来自SIP服务器的语音编码转换指令,对通话双方的RTP流进行语音编码转换,将语音编码格式转换为对端的编码格式后传递给对端。
或者,
SIP服务器,还用于在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令;
媒体中继服务器,用于接收来自SIP服务器的媒体传输指令,对通话双方的RTP流进行透传。
本发明SIP服务器除了包括现有SIP核心处理模块之外,还至少包括:可用带宽检测模块、SDP控制模块;其中,
SIP核心处理模块,用于处理来自SIP客户端的交互信息,如注册请求,INVITE请求、200OK响应等。
可用带宽检测模块,用于在检测到SIP客户端注册时,向SIP客户端发送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以预先设定的速率向SIP客户端发送数据包,并根据SIP客户端返回数据包检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户端的网络可用带宽;其中,可用带宽检测模块可以通过SDP控制模块检测到SIP客户端注册,也可以直接从SIP核心处理模块检测到SIP客户端注册(图4中未示出)。
SDP控制模块,用于在检测到SIP客户端发起邀请或200OK响应时,根据检测到的对端的网络可用带宽对语音编码顺序进行排序,并经由SIP核心处理模块发送给对端的SIP客户端。
本发明SIP服务器还包括语音编码控制模块,用于在通话双方的编码格式不同时,向媒体中继服务器发送语音编码转换指令;或者,
在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令。
图4中,可用带宽检测模块,具体用于检测到来自SIP客户端的注册消息时,向SIP客户端发送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中携带的检测算法来检测SIP客户端网络当前网络可用带宽;存储获得的网络可用带宽。
SDP控制模块,具体用于检测到SIP客户端发起邀请或200OK响应消息,根据消息中携带的被邀请或被响应的SIP客户端的用户ID,查询该用户的网络可用带宽,将查询到的网络可用带宽与预先设置的编码格式所占用的带宽的音频编码标准关系(如表1所示)进行比对,对SDP包中的语音编码优先级进行重新排序,并经由SIP核心处理模块将修改后的SDP包发送给SIP客户端对端。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (12)
1.一种网络电话VOIP自适应语音编码方法,其特征在于,包括:
检测网络可用带宽,并根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端;
通话双方按照接收到的语音编码顺序选择各自支持的编码格式对实时传输协议RTP流进行语音编码。
2.根据权利要求1所述的VOIP自适应语音编码方法,其特征在于,在所述通话双方的编码格式不同时,该方法还包括:
对所述RTP流进行语音编码转换,将语音编码格式转换为对端的编码格式后传递给对端;
在所述通话双方的编码格式相同时,该方法还包括:对所述RTP流进行透传。
3.根据权利要求1或2所述的VOIP自适应语音编码方法,其特征在于,所述检测网络可用带宽包括:
当会话初始协议SIP服务器检测到来自SIP客户端的注册消息时,向SIP客户端发送协商请求;
SIP客户端设置网络可用带宽检测定时器,按照协商请求向SIP服务器发送网络可用带宽检测请求;
SIP服务器检测SIP客户端当前网络可用带宽并存储。
4.根据权利要求3所述的VOIP自适应语音编码方法,其特征在于,所述检测SIP客户端当前网络可用带宽包括:
按照所述检测算法检测SIP客户端当前网络可用带宽;
其中,所述检测算法为可用带宽测量算法SLoPS。
5.根据权利要求1或2所述的VOIP自适应语音编码方法,其特征在于,所述根据检测到的对端的网络可用带宽对语音编码顺序进行排序包括:
SIP服务器检测到SIP客户端发起的邀请INVITE请求或200OK响应,根据INVITE请求或200OK响应中携带的被邀请或被响应的SIP客户端对端的用户ID,查询该用户对应的网络可用带宽;
SIP服务器比较查询出的SIP客户端对端的网络可用带宽与预先设置的编码格式所占用的带宽的音频编码标准关系,对接收到的会话描述协议SDP包中的语音编码优先级进行重新排序,并将修改后的SDP包发送给SIP客户端对端。
6.根据权利要求5所述的VOIP自适应语音编码方法,其特征在于,所述查询对应的网络可用带宽包括:
选取最近一次检测到的网络可用带宽,作为所述SIP客户端对端的当前的网络可用带宽;或者,
对定长队列中所述SIP客户端的对端的最近预设数量次的网络可用带宽求平均值,以获得的平均值作为所述SIP客户端对端的当前的网络可用带宽。
7.一种SIP服务器,其特征在于,包括SIP核心处理模块,还至少包括:可用带宽检测模块、SDP控制模块;其中,
SIP核心处理模块,用于处理来自SIP客户端的交互信息;
可用带宽检测模块,用于在检测到SIP客户端注册时,向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服务器,用于检测网络可用带宽,并根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端的SIP客户端;
SIP客户端,用于按照接收到的语音编码顺序选择自身支持的编码格式对实时传输协议RTP流进行语音编码。
11.根据权利要求10所述的VOIP自适应语音编码系统,其特征在于,
所述SIP客户端,具体用于注册到SIP服务器;接收来自SIP服务器的协商请求,设置网络可用带宽检测定时器,按照协商请求中携带的时间间隔定期向中的源地址发送网络可用带宽检测请求;按照来自SIP服务器的语音编码顺序选择自身支持的编码格式对RTP流进行语音编码;
SIP服务器,用于在检测到SIP客户端注册时,向SIP客户端发送协商请求;接收到来自SIP客户端的网络可用带宽检测请求,以协商请求中的检测算法检测SIP客户端网络当前网络可用带宽,存储获得的SIP客户端的网络可用带宽;根据检测到的对端的网络可用带宽对语音编码顺序进行排序并发送给对端的SIP客户端。
12.根据权利要求11所述的VOIP自适应语音编码系统,其特征在于,该系统还包括媒体中继服务器,此时,
所述SIP服务器,还用于在通话双方的编码格式不同时,向媒体中继服务器发送语音编码转换指令;或者,在通话双方的编码格式相同时,向媒体中继服务器发送媒体传输指令;
媒体中继服务器,用于接收来自SIP服务器的语音编码转换指令,对通话双方的RTP流进行语音编码转换,将语音编码格式转换为对端的编码格式后传递给对端;或者,接收来自SIP服务器的媒体传输指令,对通话双方的RTP流进行透传。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310308527.6A CN103414697B (zh) | 2013-07-22 | 2013-07-22 | 一种voip自适应语音编码方法、系统及sip服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310308527.6A CN103414697B (zh) | 2013-07-22 | 2013-07-22 | 一种voip自适应语音编码方法、系统及sip服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103414697A true CN103414697A (zh) | 2013-11-27 |
CN103414697B CN103414697B (zh) | 2017-04-05 |
Family
ID=49607683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310308527.6A Active CN103414697B (zh) | 2013-07-22 | 2013-07-22 | 一种voip自适应语音编码方法、系统及sip服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103414697B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468536A (zh) * | 2014-11-25 | 2015-03-25 | 中国电子科技集团公司第三十研究所 | 一种无线VoIP环境下基于一次建链过程的QoS保障方法和系统 |
CN104486293A (zh) * | 2014-11-25 | 2015-04-01 | 中国电子科技集团公司第三十研究所 | 无线VoIP环境下基于网络和终端能力的媒体协商方法和系统 |
CN106128468A (zh) * | 2016-07-08 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 语音通话方法及装置 |
CN107113338A (zh) * | 2015-06-08 | 2017-08-29 | 华为技术有限公司 | 多媒体业务的方法、处理装置及通信设备 |
WO2018000338A1 (zh) * | 2016-06-30 | 2018-01-04 | 北京小米移动软件有限公司 | 编码格式确定方法及装置 |
CN107980235A (zh) * | 2016-09-07 | 2018-05-01 | 深圳前海达闼云端智能科技有限公司 | 一种VoLTE通信的方法和基站 |
CN108769441A (zh) * | 2018-06-20 | 2018-11-06 | 中国联合网络通信集团有限公司 | 软交换通话方法和系统 |
CN115002081A (zh) * | 2022-05-30 | 2022-09-02 | 重庆紫光华山智安科技有限公司 | 媒体流传输方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070104185A1 (en) * | 2005-11-10 | 2007-05-10 | Edward Walter | Voice over internet protocol codec adjustment |
CN101119338A (zh) * | 2007-09-20 | 2008-02-06 | 腾讯科技(深圳)有限公司 | 网络语音通信方法、系统、装置和即时通信终端 |
CN101212459A (zh) * | 2006-12-28 | 2008-07-02 | 华为技术有限公司 | 控制媒体编码速率的方法、系统和设备 |
-
2013
- 2013-07-22 CN CN201310308527.6A patent/CN103414697B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070104185A1 (en) * | 2005-11-10 | 2007-05-10 | Edward Walter | Voice over internet protocol codec adjustment |
CN101212459A (zh) * | 2006-12-28 | 2008-07-02 | 华为技术有限公司 | 控制媒体编码速率的方法、系统和设备 |
CN101119338A (zh) * | 2007-09-20 | 2008-02-06 | 腾讯科技(深圳)有限公司 | 网络语音通信方法、系统、装置和即时通信终端 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468536A (zh) * | 2014-11-25 | 2015-03-25 | 中国电子科技集团公司第三十研究所 | 一种无线VoIP环境下基于一次建链过程的QoS保障方法和系统 |
CN104486293A (zh) * | 2014-11-25 | 2015-04-01 | 中国电子科技集团公司第三十研究所 | 无线VoIP环境下基于网络和终端能力的媒体协商方法和系统 |
CN104486293B (zh) * | 2014-11-25 | 2018-09-28 | 中国电子科技集团公司第三十研究所 | 无线VoIP环境下基于网络和终端能力的媒体协商方法和系统 |
CN104468536B (zh) * | 2014-11-25 | 2017-10-31 | 中国电子科技集团公司第三十研究所 | 一种无线VoIP环境下基于一次建链过程的QoS保障方法和系统 |
CN107113338A (zh) * | 2015-06-08 | 2017-08-29 | 华为技术有限公司 | 多媒体业务的方法、处理装置及通信设备 |
CN107852647A (zh) * | 2016-06-30 | 2018-03-27 | 北京小米移动软件有限公司 | 编码格式确定方法及装置 |
WO2018000338A1 (zh) * | 2016-06-30 | 2018-01-04 | 北京小米移动软件有限公司 | 编码格式确定方法及装置 |
CN107852647B (zh) * | 2016-06-30 | 2021-09-28 | 北京小米移动软件有限公司 | 编码格式确定方法及装置 |
CN106128468A (zh) * | 2016-07-08 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 语音通话方法及装置 |
CN106128468B (zh) * | 2016-07-08 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 语音通话方法及装置 |
CN107980235A (zh) * | 2016-09-07 | 2018-05-01 | 深圳前海达闼云端智能科技有限公司 | 一种VoLTE通信的方法和基站 |
CN108769441A (zh) * | 2018-06-20 | 2018-11-06 | 中国联合网络通信集团有限公司 | 软交换通话方法和系统 |
CN108769441B (zh) * | 2018-06-20 | 2021-04-02 | 中国联合网络通信集团有限公司 | 软交换通话方法和系统 |
CN115002081A (zh) * | 2022-05-30 | 2022-09-02 | 重庆紫光华山智安科技有限公司 | 媒体流传输方法及相关装置 |
CN115002081B (zh) * | 2022-05-30 | 2023-12-26 | 重庆紫光华山智安科技有限公司 | 媒体流传输方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103414697B (zh) | 2017-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103414697A (zh) | 一种voip自适应语音编码方法、系统及sip服务器 | |
US7966404B2 (en) | Proxy apparatus and method | |
US6795429B1 (en) | System and method for associating notes with a portable information device on a network telephony call | |
EP2053825B1 (en) | Distribution of shared content streams in communications networks | |
KR101278297B1 (ko) | 신뢰적 멀티캐스트 데이터 전송을 위한 방법 및 장치 | |
US9094420B2 (en) | System and method for assuring quality real-time communication experience in virtual machine | |
US20090092109A1 (en) | Method and Apparatus for Enabling Discovery Within a Home Network | |
KR20060041810A (ko) | 제3자 호 및 장치 제어를 용이하게 하기 위한 시스템 및방법 | |
WO2001024503A9 (en) | System and method for interconnecting portable information devices (pdas) through a daa telephony system | |
EP2130346B1 (en) | Media stream setup in a group communication system | |
US20090028137A1 (en) | Method and apparatus for storing and activating universal resource locators and phone numbers | |
WO2013189338A2 (zh) | 实现会话发起协议多业务服务器分发的方法、装置及系统 | |
US20070058537A1 (en) | Handling of early media ii | |
WO2011029335A1 (zh) | 一种sip会话的路由系统及方法 | |
WO2007036124A1 (fr) | Procédé d'adressage dans un système de communication | |
CN103152495B (zh) | 一种媒体转移的方法、装置及系统 | |
TW201006188A (en) | One-way media streaming system and method thereof | |
CN101635672B (zh) | 一种群组方式下实现融合业务会话的装置和方法 | |
CN101594623B (zh) | 一种互联网协议语音呼叫的监听方法及设备 | |
WO2015168993A1 (zh) | 一种基于内容提供商与服务提供商分离的控制方法及装置 | |
EP2730084A1 (en) | A method and a system to discover and establish an enriched communication channel in a voice call | |
WO2017000481A1 (zh) | 语音通话的拨号方法和装置 | |
WO2010054576A1 (zh) | 一种用户设备的媒体信息获知方法和用户设备 | |
KR100963010B1 (ko) | 스마트 카드를 이용한 sip 기반 영상통화 서비스 시스템및 그 방법 | |
KR101208119B1 (ko) | 스마트 카드를 이용한 sip 기반 영상통화 서비스 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |