公开/公告号CN101562898A
专利类型发明专利
公开/公告日2009-10-21
原文格式PDF
申请/专利权人 北京信威通信技术股份有限公司;
申请/专利号CN200810104160.5
申请日2008-04-16
分类号H04W76/02;H04W88/16;H04L12/56;
代理机构
代理人
地址 100193 北京市海淀区东北旺西路8号中关村软件园7号楼信威大厦
入库时间 2023-12-17 22:48:43
法律状态公告日
法律状态信息
法律状态
2020-08-21
专利权保全的解除 IPC(主分类):H04L12/56 授权公告日:20110406 解除日:20200710 申请日:20080416
专利权的保全及其解除
2019-12-27
专利权的保全 IPC(主分类):H04L12/56 授权公告日:20110406 登记生效日:20191121 申请日:20080416
专利权的保全及其解除
2012-02-22
专利实施许可合同备案的生效 IPC(主分类):H04L12/56 合同备案号:2011110000200 让与人:北京信威通信技术股份有限公司 受让人:深圳信威通信技术有限公司 发明名称:一种高效的无线接入系统RTP代理技术 公开日:20091021 授权公告日:20110406 许可种类:独占许可 备案日期:20111226 申请日:20080416
专利实施许可合同备案的生效、变更及注销
2011-04-06
授权
授权
2009-12-16
实质审查的生效
实质审查的生效
2009-10-21
公开
公开
查看全部
技术领域
本发明提出了一种新颖的适用于无线接入系统的提高多媒体业务空口传输效率和基站回传的接口效率的RTP代理技术。
背景技术
在采用软交换核心网的无线接入系统中,VoIP、Vedio等实时多媒体业务大多采用基于UDP传输协议的RTP封装,以提供端到端的实时传输。
但对于语音和一些聊天类数据业务,每一个RTP/UDP/IP包的包头较长,业务数据相对较少,直接在空口传输RTP包,将导致无线资源的有效利用率不高。
另外,基站和网关之间的IP backhaul数据流量很大,而带宽资源有限,成为了接入网中传输带宽的瓶颈。如果将每个用户的RTP包单独传输,传输效率低下,势必进一步增加IP backhaul的带宽和费用。
发明内容
本发明的基本思想是由无线接入系统终端、基站和网关等设备配合共同完成用户和软交换机之间的RTP代理。
为实现本发明的目的,提出了一种高效的无线接入系统RTP代理方法,包括以下步骤:
1、在空中接口,用户数据包的发送方直接将用户数据包作为空口帧的负载传输,接收方接收处理;
2、在基站与网关之间的IP backhaul,基站和网关都需要支持本发明设计的私有协议,规定上行和下行链路的发送方都将单个用户的数据封装,再将一个基站下多个用户的数据按照一定格式复用后再传输;
3、在接入网与核心网之间的标准SIP/RTP接口,网关负责完成媒体协商;每一路媒体传输开始前,网关需要与软交换机协商本次会话的RTP上下文,包括CODEC、RTP打包时长、抽样率等;
4、媒体协商完成后,网关负责实现接入网私有协议的媒体数据包与标准RTP包的转换:上行链路,网关首先分解出复用的多路用户数据,再进行SRTP和RTP协议的转换;下行链路,网关先将每个接收的RTP包转换为SRTP包,再进行多路复用。
本发明的方法可以提高无线接入系统空中接口和backhaul的传输效率,同时又不改变接入系统和软交换核心网之间的接口。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1为适用无线接入系统代理RTP技术的网络结构图;
图2为SRTPSN2是SRTPSN1的下一轮的包的示意图;
图3为SRTPSN2与SRTPSN1是同一轮的包的示意图之一;
图4为SRTPSN2与SRTPSN1是同一轮的包的示意图之二;
图5为SRTPSN2是SRTPSN1的上一轮的包的示意图。
具体实施方式
适用本发明的网络结构如图1所示。本网络架构的网元包括:终端(UT)、基站(BS)、网关(SAG)、和软交换机(SS)。
在终端1与基站2之间的空中接口,终端1和基站2直接将用户数据作为空口帧的负载传输。理论上,发送方仅需要进行原始媒体数据的处理,但由于空口环境复杂,发生丢包和无规律延迟的情况比较严重,还需要有机制来保证媒体流在空口的正确传输。本发明对空中接口传输的原始媒体包加上序号,同时在接收方进行缓存和排序,以尽量保证媒体流的正确接收。也就是说,终端1还需要进行下行数据包的缓存和排序,以及上行数据包加标识。同时基站2也要对上行链路数据包进行缓存和排序,以及对下行数据包加标识。
在基站2与网关3之间的IP backhaul,本发明设计了私有协议,基站和网关都需要支持该私有协议。该私有协议包括两部分操作。首先,将单个用户的数据封装,其头域包括会话标识符、包序号和时戳等,本发明中称其为SRTP协议。然后,再将多个用户的数据包复用到一个UDP/IP包中发送。复用时,在UDP头域的后面还需要增加DMUX复用控制字,其内容包括数据包的封装格式,优先级和复用包数目等。
作为接入网与核心网的接口,网关3与软交换机4之间的接口为标准的SIP/RTP协议。网关需要完成接入网私有协议的媒体数据包与标准RTP包的转换。上行链路,网关3首先分解出复用的多路用户数据,再进行SRTP和RTP协议的转换;下行链路,网关3先将每个接收的RTP包转换为SRTP包,再进行多路复用。同时,每一路媒体传输开始前,网关3需要与软交换机4协商本次会话的RTP上下文,包括CODEC、打包时长、抽样率等。
为了最大限度节省链路资源,SRTP协议的包序号和时戳都是一个字节,而RTP协议的包序号和时戳分别为2和4字节。在进行SRTP和RTP包转换时,本发明还设计了序号和时戳双向转换的算法。具体方法如下:
(1)序号(SN)转换
a.SRTP SN->RTP SN转换
SN变换时,SRTP中SN为1byte,即256个语音包出现SN反转;标准RTP中SN为2byte,即65536个语音包出现反转。所以需要将SRTP中的1byte的SN变换为2byte的SN,并计算出正确的RTP发送序号。
网关透传机制下,网关只进行从SRTP到RTP的协议转换,实现两种协议的序号的同步。其中SRTP包的序号范围为0~255,而RTP包的序号范围为0~65535,如何将SRTP包的序号转换为RTP包的序号是整个透传机制的关键。假设网关收到两个SRTP包,其序号分别为SRTPSN1与SRTPSN2,假设其对应的RTP包的序号分别为RTPSN1与RTPSN2,我们来看看这些序号之间的关系:SRTPSNDEF=SRTPSN2-SRTPSN1,考虑到SRTP包的序号翻转问题,我们必须考虑两个SRTP包是否在已经发生了翻转。
如图2所示,从图2中可以看出SRTPSNDEF=SRTPSN2-SRTPSN1=10-200=-190<-128,而且很明显dis1>dis2,就近原则,SRTPSN2相对SRTPSN1发生了翻转,也就是说SRTPSN2是下一轮的包,即SRTPSN2=((256+SRTPSNDEF)+SRTPSN1)%256。
如果如图3所示,从图3中计算出SRTPSNDEF=SRTPSN2-SRTPSN1=10-110=-100>-128并且<128,而且很明显dis1<dis2,就近原则,SRTPSN2相对SRTPSN1没有发生翻转,就是说SRTPSN2与SRTPSN1是同一轮的包。或者如图4所示,从图4中计算出SRTPSNDEF=SRTPSN2-SRTPSN1=110-10=100>-128并且<128,而且很明显dis1<dis2,就近原则,SRTPSN2相对SRTPSN1没有发生翻转,就是说SRTPSN2与SRTPSN1是同一轮的包。
但如果如图5所示,从图5中可以计算出SRTPSNDEF=SRTPSN2-SRTPSN1=190-10=180>128,而且很明显dis1<dis2,就近原则,SRTPSN1相对SRTPSN2发生了翻转,也就是说SRTPSN2是上一轮的包,即SRTPSN1=(SRTPSN2+(256-SRTPSNDEF))%256。
总结上述几种情况,我们可以给出几个序号的一个关系式:
IF SRTPSNDEF<-128
RTPSN2=(RTPSN1+(256+SRTPSNDEF))%65536
IF SRTPSNDEF>=-128AND SRTPSNDEF<128
RTPSN2=(RTPSN1+SRTPSNDEF)%65536
IF SRTPSNDEF>128
RTPSN2=RTPSN1+(SRTPSNDEF-256)
b.RTP SN->SRTP SN转换
RTP SN到SRTP SN就是将序号从2byte变为1byte即可,直接将RTP的SN模256取余数即可。计算公式如下:
SRTP SN=RTP SN%256
(2)时戳转换
在标准RTP中,语音包中的时戳是每个采样周期增加1。例如,采样率为8K的G.729编码方式,每10ms RTP时戳增加80,即RTP时戳周期为1/8ms。由于SRTP的时戳长度短,为了避免时戳频繁的翻转,采用每10ms时戳增加1,即SRTP时戳周期为10ms,与RTP时戳周期的比值为80。
a.SRTP时戳->RTP时戳
此处需要将1byte的SRTP时戳变为4byte标准RTP时戳。
假设网关收到两个SRTP包,其时戳分别为SRTPTIME1与SRTPTIME2,而SRTPTIMEDEF=SRTPTIME2-SRTPTIME1;而与其对应的经过翻转处理后的4byte的SRTP包的时戳分别为RTPTIME1与RTPTIME2。
时戳变换时,需要根据前一个时戳的值判断目前时戳是否发生了翻转,具体的翻转判断方式可参见SN序号翻转的判断方法。
IF SRTPTIMEDEF<-128
RTPTIME2=(RTPTIME1+(256+SRTPTIMEDEF))%2^32
IF SRTPTIMEDEF>=-128AND SRTPTIMEDEF<128
RTPTIME2=(RTPTIME1+SRTPTIMEDEF)%2^32
IF SRTPTIMEDEF>128
RTPTIME2=RTPTIME1+(SRTPTIMEDEF-256)
则RTP的时戳为:(RTPTIME2×80+RTP初始时戳)%2^32。
b.RTP时戳->SRTP时戳
根据上行时戳变换的描述,下行RTP时戳到SRTP时戳的变换其实就是RTP时戳每增大80,SRTP时戳增加1(基于8k的采样速率),并且SRTP时戳每256产生翻转即可。计算方式如下:
SRTP时戳=((RTP时戳-RTP初始时戳)/80+SRTP初始时戳)%256
机译: 无线接入系统中通过协议层结构的RTP CS传输和接收RTP包的方法
机译: 利用二层代理技术实现网络中高效的服务发现和连接的技术
机译: 利用二层代理技术实现网络中高效的服务发现和连接的技术