流媒体业务的传输方法、装置和系统的制作方法

文档序号:7661377阅读:92来源:国知局
专利名称:流媒体业务的传输方法、装置和系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种流媒体业务的传输方法、装置和系统。
背景技术
AOI (Always Online Infrastructure,常在线结构)平台为企业业务、互联网业务、家庭业务以及内容提供商提供统一的消息推送通道和同步传输通道,应用方便,且内容以多种方式、安全、可靠地延伸到用户终端。AOI平台为基于移动互联网的常在线应用提供统一的接入点,能更有效地为客户提供高性能、低延时的用户体验服务,增加用户黏性,提升业务收入。伴随互联网以及移动通信网络的发展,移动互联网时代已经到来,移动互联网是结合两者的优势,使得手机终端用户可以随时接入网络,进而获得互联网上的相关信息、资源以及获取语音、数据等多媒体类型业务。但处于当前的网络时代格局中,移动运营商却被逐渐“管道化”,运营商只提供接入和数据流量以及相关增值业务,并且自身的传统语音服 务业务也遭受互联网技术发展带来的冲击。VoIP (Voice over Internet Protocol,基于IP的语音传输)是将模拟声音讯号(Voice)数字化,以数据封包(Data Packet)的形式在IP数据网络(IP Network)上做实时传递。VoIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。VoIP可以在IP网络上便宜的传送语音、传真、视频和数据业务。而且伴随移动网络的发展,原来一些只提供网络电话的公司也开始进入移动互联网领域,开发基于智能手机的VoIP软件,如跨手机平台的Skype、KC以及iPhone的FaceTime等,尽管移动运营商做了很多限制和封杀部分软件,但面对移动VoIP所提供的服务和展现的前景,移动运营商也不得不追求改变。中国移动开始在广东试点G3的移动VoIP,提供了 PC到PC,PC到手机的VoIP服务,但却不愿轻易开放和试点手机到手机,手机到电话网以及手机到PC的业务。因为传统的语音服务还是占据了运营商很大的收入份额,然而数据流量业务已经成为移动运营商新的利润增长点,并且数据流量业务的利润所占比重成逐年增长趋势。移动运营商不愿放开移动VoIP的主要原因是没有一种很好的方式管理基于手机的移动VoIP服务。目前,业界提出了一种基于AOP (Always Online Platform,常在线平台)协议的AOI平台为手机终端提供统一的协议规范,通过该协议规范将手机终端通过移动网络接入互联网和管理相关的服务,然而,该协议规范中也未涉及对终端的IP语音、视频等流媒体业务的传输,因此无法实现基于AOI平台的流媒体业务。针对相关技术中无法实现基于AOI平台的流媒体业务的问题,目前尚未提出有效的解决方案。

发明内容
本发明的主要目的在于提供一种流媒体业务的传输方法、装置和系统,以至少解决上述无法实现基于AOI平台的流媒体业务的问题。根据本发明的一个方面,提供了一种流媒体业务的传输方法,包括:A0I平台接收第一终端和第二终端上报的NAT类型;A0I平台根据第一终端与第二终端的NAT类型建立媒体通道,以使第一终端与第二终端使用该媒体通道传输流媒体业务;其中,该媒体通道包括经由GGSN的媒体通道或经由AOI媒体代理服务器的媒体通道。其中,NAT类型包括圆锥型NAT和对称型NAT ;A0I平台根据第一终端和第二终端的NAT类型建立媒体通道包括当第一终端与第二终端上报的NAT类型均为 圆锥型NAT时,AOI平台确定第一终端与第二终端使用经由GGSN的媒体通道,通知第一终端与第二终端建立经由GGSN的媒体通道;或者,当第一终端与第二终端上报的NAT类型中有非圆锥型NAT时,AOI平台确定第一终端与第二终端使用经由AOI媒体代理服务器的媒体通道,通知第一终端与第二终端采用经由AOI媒体代理服务器的媒体通道。AOI平台通知第一终端与第二终端建立经由GGSN的媒体通道之后,还包括A0I平台向第一终端和第二终端所在的GGSN发送打洞请求,告知第一终端和第二终端为可信终端;第一终端和第二终端互发打洞测试报文进行打洞测试,并向AOI平台上报打洞测试结果;A0I平台确定第一终端和第二终端的打洞测试成功时,通知第一终端与第二终端经由GGSN的媒体通道建立完成;A0I平台确定第一终端和第二终端的打洞测试失败时,通知第一终端与第二终端采用经由AOI媒体代理服务器的媒体通道传输流媒体业务。AOI平台接收第一终端和第二终端上报的网络地址转换NAT类型之前,上述方法还包括第一终端与第二终端相互获取对方用于传输流媒体业务的IP地址和端口。其中,第一终端与第二终端相互获取对方用于传输流媒体业务的IP地址和端口包括以下方式之一第一终端与第二终端通过用户数据报协议UDP的简单穿越STUN协议与GGSN进行通信,获取各自的公网IP地址和公网端口并告知对方;第一终端与第二终端将GGSN上的中继代理的IP地址和端口作为对方传输流媒体业务的IP地址和端口 ;第一终端与第二终端均与AOI平台进行基于UDP的通信,由AOI平台记录下对应终端的公网IP地址和公网端口 ;其中,公网IP地址和公网端口用于传输流媒体业务。第一终端与第二终端使用媒体通道传输流媒体业务之后,上述方法还包括第一终端或第二终端主动挂断媒体通道,并向AOI平台发起通道拆除请求;A0I平台收到通道拆除请求后,向第一终端或第二终端中的被动挂断方发起通道拆除通知,并拆除媒体通道;AOI平台根据第一终端与第二终端传输流媒体业务的时间和/或流量进行计费。上述流媒体业务采用基于UDP的RTP或基于UDP的RTCP进行封装。根据本发明的另一方面,提供了一种流媒体业务的传输装置,包括接收模块,用于接收第一终端和第二终端上报的NAT类型;媒体通道建立模块,用于根据接收模块接收的所述第一终端和第二终端的NAT类型建立媒体通道,以使第一终端与第二终端使用该媒体通道传输流媒体业务;其中,该媒体通道包括经由GGSN的媒体通道或经由AOI媒体代理服务器的媒体通道。上述NAT类型包括圆锥型NAT和对称型NAT ;上述媒体通道建立模块包括第一通道建立单元,用于当第一终端与第二终端上报的NAT类型均为圆锥型NAT时,确定第一终端与第二终端使用经由GGSN的媒体通道,并通知第一终端与第二终端建立经由GGSN的媒体通道;或者,第二通道建立单元,用于当第一终端与第二终端上报的NAT类型中有非圆锥型NAT时,确定第一终端与第二终端使用经由AOI媒体代理服务器的媒体通道,并通知第一终端与第二终端采用经由AOI媒体代理服务器的媒体通道。根据本发明的又一方面,提供了一种流媒体业务的传输系统,包括A0I平台、第一终端和第二终端,其中,AOI平台包括上述流媒体业务的传输装置;第一终端和第二终端均包括上报模块,用于上报自身的NAT类型;传输模块,用于使用AOI平台建立的媒体通道传输流媒体业务。通过本发明,采用AOI平台建立媒体通道,终端间使用该媒体通道传输流媒体业务,解决了相关技术中无法实现基于AOI平台的流媒体业务的问题,同时,建立媒体通道时考虑了终端对应的NAT类型,因此AOI平台建立的媒体通道能更充分利用系统的资源,避免了 AOI平台的负荷过高,优化了系统的性能。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据本发明实施例I的流媒体业务的传输方法流程图;图2是根据本发明实施例I的组网结构示意图;图3是根据本发明实施例2的注册与呼叫流程示意图;图4是根据本发明实施例2的媒体通道建立与拆除流程示意图;图5是根据本发明实施例3的流媒体业务的传输系统的结构框图;图6是根据本发明实施例3的流媒体业务的传输装置的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明实施例考虑基于AOP协议的AOI平台仅提供移动终端的接入服务,未涉及到移动终端的VoIP服务,提供了一种流媒体业务的传输方法、装置和系统,用以实现根据终端对应的NAT (Network Address Translation,网络地址转换)类型建立适合的媒体通道,实现终端间流媒体业务的传输,其中,本发明实施例中的终端指的是移动终端。实施例I本实施例提供了一种流媒体业务的传输方法,参见图1,该方法包括以下步骤(步骤 S102-S104)步骤S102,AOI平台接收第一终端和第二终端上报的NAT类型;步骤S104,AOI平台根据第一终端与第二终端的NAT类型建立媒体通道,以使第一终端与第二终端使用该媒体通道传输流媒体业务;其中,媒体通道包括经由GGSN(Gateway GPRSSupport Node,网关GPRS支持节点)的媒体通道或经由AOI媒体代理服务器的媒体通道;本实施例建立媒体通道的过程中,考虑了终端对应的NAT类型,该NAT类型指NAT转换的实现方式。因NAT协议的不同实现方式以及不同策略,NAT的转换形式可分为圆锥型NAT (Cone NAT)和对称型NAT (Symmetic NAT)。其主要区别是
圆锥型NAT可利用UDP (User Datagram Protocol,用户数据报协议)打洞(UDPHolePuching)技术,达到使第三方为可信的IP+端口。而对于对称NAT,因为向新的IP发起UDP的建立请求,NAT会为其再次分配IP和端口,而使得接收端无法判断源消息的对应关系,可能被接收端NAT的策略丢弃,尽管该情况可以使用端口探测方式规避,但增加了不确定性。所以可以选择发往AOI平台的语音代理服务器(也称AOI媒体代理服务器),由该代理服务器再转发给接收端,由此可以避免所有因NAT技术实现和策略的影响。由于流媒体业务的通信量比较大,若直接采用经GGSN/SGSN(Serving GSN,服务GPRS支持节点)直接通信会极大的降低AOI平台的负荷,所以终端A和终端B建立的媒体通信链路具体过程可如下先利用STUN (Simple Traversal of UDP Through NetworkAddress Translators (NATs),NAT的UDP简单穿越)协议探测NAT类型,如终端A和终端B的NAT类型均为圆锥型NAT,则通知AOI平台发起向对端GGSN的UDP打洞请求。如打洞成功,则之后的流媒体业务交互直接用建立的媒体通信链路进行通信。若终端A和终端B的NAT类型中只要一方不为圆锥型NAT或打洞失败,则流媒体业务交互走AOI媒体代理服务 器,由AOI媒体代理服务器将终端A和终端B交互的流媒体业务直接转发。基于上述分析,该步骤S102包括当第一终端与第二终端上报的NAT类型均为圆锥型NAT时,AOI平台确定第一终端与第二终端使用经由GGSN的媒体通道,通知第一终端与第二终端建立经由GGSN的媒体通道;当第一终端与第二终端上报的NAT类型中有非圆锥型NAT时,AOI平台确定第一终端与第二终端使用经由AOI媒体代理服务器的媒体通道,通知第一终端与第二终端采用经由AOI媒体代理服务器的媒体通道。为了防止终端进行UDP打洞时出现异常,因UDP打洞失败而无法继续后面的流媒体业务传输,上述AOI平台通知第一终端与第二终端建立经由GGSN的媒体通道之后,还包括:A0I平台向第一终端和第二终端所在的GGSN发送打洞请求,告知第一终端和第二终端为可信终端;第一终端和第二终端互发打洞测试报文进行打洞测试,例如,测试是否能够实现基于 UDP 的 RTP(Real-Time Transport Protocol,实时传输协议)或 UDP 的 RTCP(RTPControl Protocol,RTP控制协议)报文交互,并向AOI平台上报打洞测试结果;A0I平台确定第一终端和第二终端的打洞测试成功时,通知第一终端与第二终端经由GGSN的媒体通道建立完成;A0I平台确定第一终端和第二终端的打洞测试失败时,通知第一终端与第二终端采用经由AOI媒体代理服务器的媒体通道传输流媒体业务。完成上述媒体通道建立后,第一终端与第二终端使用上述媒体通道传输流媒体业务。例如,当媒体通道为经由GGSN的媒体通道时,第一终端与第二终端之间的流媒体业务经由GGSN转发至对方;当媒体通道为经由AOI媒体代理服务器的媒体通道时,第一终端与第二终端之间的流媒体业务经由AOI媒体代理服务器转发至对方。上述第一终端与第二终端使用媒体通道传输流媒体业务之后,上述方法还包括媒体通道拆除和计费过程,例如第一终端或第二终端主动挂断媒体通道,并向AOI平台发起通道拆除请求;A0I平台收到通道拆除请求后,向第一终端或第二终端中的被动挂断方发起通道拆除通知,并拆除媒体通道;A0I平台根据第一终端与第二终端传输流媒体业务的时间和/或流量进行计费。本实施例通过采用AOI平台建立媒体通道,终端间使用该媒体通道传输流媒体业务,解决了相关技术中无法实现基于AOI平台的流媒体业务的问题,同时,建立媒体通道时考虑了终端对应的NAT类型,因此AOI平台建立的媒体通道能更充分利用系统的资源,避免了 AOI平台的负荷过高,优化了系统的性能。因本发明实施例中的终端各自位于不同的私网中,优选AOI平台接收第一终端和第二终端上报的网络地址转换NAT类型之前,该方法还包括第一终端与第二终端相互获取对方用于传输流媒体业务的IP地址和端口。其中,第一终端与第二终端相互获取对方用于传输流媒体业务的IP地址和端口包括以下方式之一I)第一终端与第二终端通过STUN协议与GGSN进行通信,获取各自的公网IP地址和公网端口并告知对方;2)第一终端与第二终端将GGSN上的中继代理的IP地址和端口作为对方传输流媒体业务的IP地址和端口 ;3)第一终端与第二终端均与AOI平台进行基于UDP的通信,由AOI平台记录下对 应终端的公网IP地址和公网端口 ;其中,上述公网IP地址和公网端口用于传输流媒体业务。本实施例中的终端在进行流媒体业务传输之前,可以先向AOI平台进行注册,因此AOI平台接收第一终端和第二终端上报的网络地址转换NAT类型之前,上述方法还包括AOI平台接收第一终端和第二终端通过GGSN发送的注册信息;例如,第一终端通过GGSN向AOI发送注册信息,其中,注册信息采用AOP协议;GGSN收到第一终端的注册信息后,将注册信息中第一终端的私网IP地址和私网端口通过NAT转换为公网IP地址和公网端口 ;A0I平台接收注册信息。完成注册后,若第一终端欲呼叫第二终端,上述方法还包括呼叫建立过程,其实现如下AOI平台接收第一终端呼叫第二终端的上行通知消息,其中,上行通知消息为第一终端通过基于UDP的常在线平台AOP协议向AOI平台发送的,AOI平台记录第一终端的公网IP地址和公网端口,并向第一终端返回确认响应消息;AOI平台接收第一终端向第二终端发起的呼叫请求,其中,呼叫请求为基于传输控制协议TCP的消息;AOI平台将呼叫请求中的私网IP地址和私网端口替换为公网IP地址和公网端口,并将替换地址后的呼叫请求下发给第二终端;第二终端收到呼叫请求后,通过基于UDP的AOP协议向AOI平台发起上行通知响应消息;AOI平台接收第二终端反馈的上行通知响应消息,其中,上行通知响应消息是通过基于UDP的AOP协议向AOI平台发送的;AOI平台记录第二终端的公网IP和公网端口 ;AOI平台接收第二终端发起的对第一终端的呼叫确认消息,其中,呼叫确认消息采用服务发现协议SDP封装,并携带有第二终端的私网IP地址和私网端口 ;AOI平台解析呼叫确认消息,并将呼叫确认消息中的第二终端的私网IP地址和私网端口替换为第二终端的公网IP地址和公网端口,然后转发呼叫确认消息给第一终端,使第一终端确认与第二终端完成呼叫建立过程。在进行流媒体业务传输时,本实施例中的流媒体业务采用基于m)P的RTP或UDP的RTCP进行封装。下面以图2所示的组网结构示意图为例,本实施例中的AOI平台是基于AOP协议的,该AOI平台包含以下网元手机终端中间件、GGSN、A0I网关平台、AOI媒体代理服务器、AOI DNS ;其中手机中间件为运行在手机上的应用程序,负责实现AOP协议与AOI平台进行通信,以及实现 STUN 与 TURN (Traversal Using Relays around NAT,使用中继方式穿越 NAT),获取自身处在的NAT网络环境;GGSN为终端用户动态分配IP并进行NAT转换,以及提供路由等为终端用户与外部网络的数据交互;AOI网关平台提供对注册用户的管理和消息的转发; AOI媒体代理服务器提供对终端与其余节点进行媒体数据交互的转发;AOI DNS用于存储用户信息。本实施例中的SDP(Session Description Protocol,会话描述协议)用于会话通知、会话初始和其它形式的多媒体会话初始等操作,提供多媒体会话服务,主要信息为对媒体的编解码以及媒体通信的IP和端口等信息,这些封装在AOP协议中,作为控制信令,对语音交互的双方进行媒体协商;RTP以及RTCP基于UDP,用于媒体通道上传输媒体数据包;终端与GGSN之间通过STUN协议进行通信得知终端自己经NAT转换之后的公网IP和端口,通过TURN协议控制操作GGSN上一个可用的主机节点进行与外网进行通信。其中终端与AOI平台交互均是利用AOP描述协议,AOP协议作为应用层协议可基于TCP或UDP实现。基于AOI平台的终端用户是常在线用户,如用户注册到AOI平台但不在线AOI平台会将其唤醒。手机终端通过无线网络(2G/2. 5G/3G/4G)连接到GGSN,并经GGSN NAT转换之后,通过路由将源消息发往目的端。手机用户先注册到对应的AOI服务器,AOI服务器会记录下登陆用户的信息。之后,用户如发起呼叫请求消息,如用户连接在对应的AOI平台,则AOI平台会直接找到对应的手机终端用户,发起呼叫请求,如AOI平台没有被叫用户的信息,如配置有被叫用户路由,则直接发往对应路由的AOI平台,经过对应的AOI平台下发消息给对应的终端用户;如未配置路由则向AOI DNS发送查询消息,找到对应的AOI平台进行消息下发。对于被叫方未注册到AOI平台的,AOI对被叫方的呼叫可以通过将现有协议通过简单的转换为SIP协议,通过一个SIP的媒体网关呼入PSTN网络,从而发起对被叫的呼叫。为满足对媒体大数据量的处理,在AOI网关平台添加AOI媒体代理服务器,用于专门的处理语音,视频等实时性较高的消息。终端用户在需要传输语音等媒体信息的时候,会登陆AOI媒体代理服务器,为保证实时性协议是基于UDP的,AOI媒体代理服务器会记录下终端用户对应的IP和端口信息,当需要发往目的用户时,找到对应的IP地址和端口即可进行消息发送。基于图2所示的组网结构,下面以终端用户间进行语音业务为例进行说明,该方法包括以下步骤步骤A,为实现AOI平台提供对终端用户的统一管理,终端用户A首先通过AOP协议注册到AOI平台(具体指图2中的AOI网关平台)。终端A在通过GGSN与具备公网IP地址的AOI相连时,GGSN会将终端A的私网IP地址通过NAT转换为公网的IP地址和端口。转换之后的IP和端口作为外部与终端A通信的唯一地址。步骤B,AOI平台收到终端A的注册信息后,记录下该终端A的用户号码,IP地址和端口的对应关系,作为之后路由到对应终端用户和与之进行信息交互。步骤C,终端A发起对被叫终端B的呼叫。发起呼叫时,首先通过基于UDP协议的AOP消息与AOI平台通信,上行通知消息,告之AOI平台随后将发起对终端B的呼叫,并在通信的UDP端口(即发送上行通知消息的端口 )监听,接收RTP的消息。步骤D,此时AOI平台会记录下终端A经GGSN/SGSN的NAT转换之后的UDP的IP和端口,此IP和端口是外部能发往终端A的唯一地址,终端在自己私有的端口上监听即等同与经NAT转换之后的IP和端口上监听。步骤E,终端A在收到AOI平台的确认响应消息后,由终端A向AOI平台发送基于TCP的POST (通知)消息(内容封装SDP协议用于媒体协商)发起对终端B的呼叫请求,即发送呼叫请求消息。 步骤F,A0I平台在接收到经GGSN转发的终端POST呼叫请求消息后,解析该消息,并将封装在该消息中的SDP报文的媒体协商IP和端口,替换为记录的终端A与AOI平台进行通信经GGSN/SGSN的NAT映射过后的UDP的IP和端口(即终端A的公网IIp地址和公网端口)。步骤G,A0I平台通过路由查询被叫终端B的信息,如B在此AOI平台上,则直接通过NOTI下发;A0I平台无终端B的用户信息,则通过路由发往终端B所在的AOI平台,由对应的AOI平台下发消息,发起对终端终端B的呼叫。步骤H,AOI平台通过UDP通信,向用户A发起呼叫回铃音,此回铃音可以作为终端B定制的回铃音,也可是默认振铃音。步骤I,终端B收到呼叫请求消息后,也通过基于UDP的AOP协议向AOI平台发起POST消息(即上行通知响应消息),并在通信的UDP端口监听,接收RTP的消息。步骤J,AOI平台收到此POST消息后会记录下终端B经GGSN/SGSN的NAT转换之后的UDP的IP和端口,此IP和端口是外部能发往终端B的唯一地址,终端在自己私有的端口上监听即等同与经NAT转换之后的IP和端口上监听。步骤K,终端B向AOI平台发起对终端A的呼叫OK消息(也称为呼叫确认消息,封装为SDP描述,用于告之终端A自己的媒体通信IP和端口等),AOI平台解析并将SDP协议中描述的IP和端口替换为终端B与AOI平台基于UDP通信的公网IP地址和端口,然后转发确认消息给终端A,终端A收到呼叫OK消息后向终端B发起呼叫确认消息。进入媒体通道建立过程。步骤L,终端A在发送呼叫确认消息,终端B在接收到呼叫确认消息后(也可提前探测,节省时间),利用STUN协议向GGSN发送消息获取自身处在的NAT环境(包括NAT类型),并探测自己的公网IP和端口。步骤M,终端A和B分别向AOI上报自己的NAT网络类型(即上述的NAT类型)。AOI判断可以使用UDP打洞(UDPHole Puching),则向终端A和终端B发起UDP打洞请求,如不行,则通知终端A和终端B媒体协商走AOI媒体代理服务器;完成媒体通道的建立过程。步骤N,终端A和B语音交互均通过媒体通道进行传输。步骤0,通话结束,则由主动挂断方向AOI平台发起呼叫拆除请求,AOI平台也会向被动挂断方发起呼叫拆除并最终挂断链路。同时,AOI平台会记录下终端通话时间和通信的数据流量,可以作为计费的依据。上述方法通过对现有AOP协议的扩展,使终端间能够通过AOI平台实现相关协议的规定,以及数据传输流程的规定,解决手机终端因NAT转换带来的通信问题,为移动运营商提供基于AOI平台实现IP语音服务,系统地解决其对移动VoIP的管理。其中,基于AOI平台的流媒体业务将信令控制命令与媒体传输通道分离实现,既保证了语音通话的可行性,又极大的降低了 AOI平台的负荷分担。同时,本实施例为移动运营商提供了手机终端通过移动网络实现移动VoIP服务的解决方案,最大限度地降低了语音代理负荷,便于移动运营商对接入移动网络的VoIP服务的统一管理。实施例2本实施例以语音通信为例进行说明,其实现大致需三个过程,首先是呼叫建立,然后建立媒体通道用于语音数据传输,最后是在通话完成之后拆除链路。 图3是终端用户注册到AOI平台,并发起呼叫的示意图,该图中描述了终端A和终端B呼叫和应答的流程。图中显示的是两个终端用户处于同一 AOI平台下,不同的GGSN的情况,处于同一个GGSN或不同的AOI平台的情况的处理方式与之大体相似,这里不做过多描述。本实施例的终端为实现RTP协议,需在协商SDP(Session Description Protocol,会话描述协议)中告之对方自己的用于RTP (基于UDP协议,保证实时性)通信的IP和端口,而因为终端均属于位于NAT之后的主机,是一个私网地址,进行通信应告之对方自己经NAT之后的公网IP和端口,本实施例可以通过下述方式之一实现公网IP和端口的通告I)通过STUN协议,与GGSN之间进行通信得知自己经NAT转换之后的公网IP和端口,并通过呼叫消息将该地址和端口告知对方;2)利用TURN,通过控制操作GGSN上一个可用的主机节点与外网进行通信;3)终端与AOI平台进行基于UDP的通信之后,由AOI平台记录下终端经GGSN的NAT转换之后的IP和端口,再接收到终端用于呼叫的封装SDP协议的媒体协商报文之后,解析并将协商报文中的IP和端口替换为记录的IP和端口,从而使另一个终端始终认为是在跟一个公网的IP地址进行通信。因为STUN和TURN协议不具备通用性,即并不是所有支持NAT的协议都支持这两张协议,所以本实现的策略是主要基于AOP协议进行解析替换,STUN和TURN协议仅作为终端侧实现的一种方式,可作为解析对比的辅助手段。 步骤S301,终端A向AOI平台发起注册请求消息REG (该消息基于AOP协议),该消息中间会经过GGSN A转发给AOI平台。步骤S302,GGSN A收到终端A的消息后,会对其的私网IP地址和端口进行NAT转换,映射为公网IP地址和公网端口,然后将该消息路由转发给AOI平台。经过GGSN的消息均会经此步骤,此步骤将不再具体描述。步骤S303 S304,终端B向AOI平台发起注册请求REG (该消息基于AOP协议)。步骤S305 306,终端A通过基于UDP协议的AOP消息与AOI平台通信,上行POST消息,告之AOI平台随后将发起对终端B的呼叫,并在通信的UDP端口监听,接收RTP的消
肩、O
步骤S307,AOI平台收到此UDP的消息后,会记录下终端A经GGSN/SGSN的NAT转换之后的m)P的ip和端口,此ip和端口是外部能发往终端A的唯一地址,终端在自己私有的端口上监听即等同与经NAT转换之后的IP和端口上监听。步骤S308 S309,终端A在收到AOI平台的确认响应消息后,由终端A向AOI发送基于TCP的POST消息(内容封装SDP协议用于媒体协商)发起对终端B的呼叫请求。步骤S310,AOI平台在接收到经GGSN转发的终端POST呼叫请求消息后,解析消息,并将封装在POST消息中的SDP报文的媒体协商IP和端口,替换为记录的该终端与AOI平台进行通信经GGSN/SGSN的NAT映射过后的UDP的IP和端口,通过路由查询被叫终端B的信息进行下发。步骤S311 312,AOI平台通过NOTI (封装终端A请求的SDP描述)下发给终端B0
步骤S313 314,AOI平台收到终端B的正确响应后,通过UDP通信,向终端A发起呼叫回铃音,此回铃音可以作为终端B定制的回铃音,也可是默认振铃音。如失败则直接播放暂时无法接通的提示语。步骤S315 316,终端B收到呼叫请求消息后,也通过基于UDP的AOP协议向AOI平台发起POST消息,并在通信的UDP端口监听,接收RTP的消息。步骤S317,A0I平台收到此POST消息后会记录下终端B经GGSN/SGSN的NAT转换之后的UDP的IP和端口,此IP和端口是外部能发往终端B的唯一地址,终端在自己私有的端口上监听即等同与经NAT转换之后的IP和端口上监听。步骤S318 319,终端B向AOI平台发起对终端A的呼叫OK消息(封装SDP描述,用于告之终端A自己的媒体通信IP和端口等)。步骤S320,A0I平台解析并将SDP协议中描述的IP和端口替换为终端B与AOI平台基于UDP通信的公网IP地址和端口,并路由找到终端A。步骤S321 322,AOI平台向终端A转发确认消息给终端A,终端A收到呼叫OK消息后得知发往终端B的媒体通信端口。步骤S323 326,终端A向终端B发起呼叫确认消息,中间经过AOI平台转发;呼叫建链过程完成。图4描述的是终端间媒体通道建立和呼叫拆除过程,具体过程可分为如下步骤实现步骤S401,终端A通过STUN协议与GGSN进行交互,探测自己的NAT类型,步骤S402 404,终端A获取自身所处的NAT类型,或获取失败,均通过POST消息向AOI平台上报自己的NAT情况。步骤S405 S408,步骤如上,终端B获取自身的NAT网络情况并上报给AOI平台。步骤S409,AOI平台存储终端A和终端B的NAT类型。如终端A和终端B所处的NAT类型均为圆锥型,则直接向终端A和终端B发起UDP打洞请求,让终端直接通过GGSN建立媒体通道,具体建立过程如下S410 S423中的描述;如终端A和终端B所处的NAT类型为非圆锥型或打洞失败,则上报给AOI平台,并由AOI平台通知终端利用AOI媒体代理服务器建立媒体通道,如下S424 S427中的描述。步骤S410 S413,AOI平台分别向终端A和终端B所在的环境发起UDP的打洞请求。具体为终端A通过记录的终端B发起经AOI平台下发的封装在SDP协议中用于媒体协商的IP和端口(此IP和端口是基于M)P经NAT转换之后的公网IP和端口 )发送消息。AOI向GGSN发起打洞请求,告之GGSN终端A经GGSN A的NAT转换过后的UDP的IP和端口为可信任IP和端口,此后从该GGSN A的IP和端口发往终端B在SGSN的NAT转换过的IP和端口的消息均为可信任的;同理,可以由AOI平台发起向GGSNB的“打洞”请求。步骤S414 S419,终端A和终端B分别向对端发送测试报文,测试是否能够实现基于UDP的RTP/RTCP报文交互。步骤S420 S423,终端A和终端B分别上报自己打洞测试结果,并由AOI平台转发给对应被测试终端。如测试OK (测试成功),则终端A和终端B可建立媒体通道,之后的RTP/RTCP消息则直接通过GGSN发送至对端,即流媒体数据不经AOI平台。如测试失败,则进入下面步骤。步骤S424 427,通过AOI媒体代理服务器建立媒体通信通道A0I平台通知终端 A和终端B,媒体通道需经AOI媒体代理服务器,则终端A和终端B的流媒体数据均发往AOI媒体代理服务器,由媒体代理服务器转发给对应终端,从而建立媒体通道。步骤S426 S429,为呼叫拆除过程,当任意一方挂断链路后,均会通过控制链路通知AOI平台,AOI平台也会将拆除链路消息通知另一端,告之通话完毕。对端也会在收到消息后发送确认消息,确认链路拆除。如此AOI平台会记录下终端通话时间和通信的数据流量,可作为计费的依据。本实施例给出了完整的通话过程,且建立媒体通道时考虑了终端对应的NAT类型,因此AOI平台建立的媒体通道能更充分利用系统的资源,解决手机终端因NAT转换带来的通信问题,避免了 AOI平台的负荷过高,优化了系统的性能。便于移动运营商对接入移动网络的VoIP服务的统一管理。实施例3本实施例提供了一种流媒体业务的传输系统,参见图5,该系统包括A0I平台50、第一终端52和第二终端54,其中,第一终端52和第二终端54均与AOI平台50相连,各个实体的功能如下AOI平台50包括接收模块501,用于接收第一终端52和第二终端54上报的NAT类型;媒体通道建立模块502,用于根据第一终端52与第二终端54的NAT类型建立媒体通道,其中,该媒体通道包括经由GGSN的媒体通道或经由AOI媒体代理服务器的媒体通道;第一终端52和第二终端54均包括上报模块(分别为图中的第一上报模块521和第二上报模块541),用于上报自身的NAT类型;传输模块(分别为图中的第一传输模块522和第二传输模块542),用于使用AOI平台50建立的媒体通道传输流媒体业务。其中,该系统中的第一终端52和第二终端54上的上报模块可以在确定双方进行流媒体业务传输时,向AOI平台上报NAT类型,其中,该NAT类型包括圆锥型NAT和对称型NAT ;媒体通道建立模块502包括第一通道建立单元,用于第一终端52与第二终端54上报的NAT类型均为圆锥型NAT时,确定第一终端52与第二终端54使用经由GGSN的媒体通道,通知第一终端52与第二终端54建立经由GGSN的媒体通道;或者,第二通道建立单元,用于第一终端52与第二终端54上报的NAT类型中有非圆锥型NAT时,确定第一终端52与第二终端54使用经由AOI媒体代理服务器的媒体通道,通知第一终端52与第二终端54采用经由AOI媒体代理服务器的媒体通道。其中,本实施例的上述经由GGSN的媒体通道的建立包括A0I平台50向第一终端52和第二终端54所在的GGSN发送打洞请求,告知第一终端52和第二终端54为可信终端;第一终端52和第二终端54互发打洞测试报文进行打洞测试,例如,测试是否能够实现基于用户数据报协议UDP的RTP或RTCP报文的交互,并向AOI平台50上报打洞测试结果;A0I平台50确定第一终端52和第二终端54的打洞测试成功时,通知第一终端52与第二终端54经由GGSN的媒体通道建立完成;A0I平台50确定第一终端52和第二终端54的打洞测试失败时,通知第一终端52和第二终端54采用经由AOI媒体代理服务器的媒体通道传输流媒体业务。第一终端52和第二终端54上还均包括地址交互模块,用于相互获取对方用于传输流媒体业务的IP地址和端口。第一终端与第二终端通过以下方式之一相互获取对方用 于传输流媒体业务的IP地址和端口 第一终端52与第二终端54通过STUN协议与GGSN进行通信,获取各自的公网IP地址和公网端口并告知对方;第一终端52与第二终端54将GGSN上的中继代理的IP地址和端口作为对方传输流媒体业务的IP地址和端口 ;第一终端52与第二终端54均与AOI平台50进行基于UDP的通信,由AOI平台50记录下对应终端的公网IP地址和公网端口 ;其中,上述公网IP地址和公网端口用于传输流媒体业务。第一终端52与第二终端54还包括注册模块,用于通过GGSN向AOI发送注册信息,其中,注册信息采用AOP协议;GGSN收到第一终端的注册信息后,将注册信息中第一终端的私网IP地址和私网端口通过NAT转换为公网IP地址和公网端口 ;A0I平台50收到注册信息后,记录第一终端52的标识(例如,用户的电话号码)与公网IP地址和公网端口的对应关系。第一终端52与第二终端54还包括呼叫建立模块,用于通过AOI平台建立呼叫;呼叫建立过程与实施例I中相同,这里不再详述。第一终端52与第二终端54上的传输模块的功能具体为当媒体通道为经由GGSN的媒体通道时,第一终端与第二终端之间的流媒体业务经由GGSN转发至对方;当媒体通道为经由AOI媒体代理服务器的媒体通道时,第一终端与第二终端之间的流媒体业务经由AOI媒体代理服务器转发至对方。第一终端52与第二终端54还包括链路拆除模块,用于主动挂断媒体通道时,向AOI平台发起通道拆除请求;或者,接收到AOI平台发送的通道拆除通知后,拆除媒体通道;AOI平台还包括计费模块,用于根据第一终端与第二终端传输流媒体业务的时间和/或流量进行计费。本实施例的流媒体业务采用基于m)P的RTP或UDP的RTCP进行封装。另外,本实施例还提供了一种流媒体业务的传输装置,该装置可以设置在上述图5的AOI平台50上,参见图6,该装置包括接收模块62,用于接收第一终端和第二终端上报的NAT类型;媒体通道建立模块64,用于根据第一终端与第二终端的NAT类型建立媒体通道,以使第一终端和第二终端使用AOI平台建立的媒体通道传输流媒体业务;其中,该媒体通道包括经由GGSN的媒体通道或经由AOI媒体代理服务器的媒体通道。该装置的具体实现可以参见上述AOI平台,这里不再一一赘述。本实施例通过采用AOI平台建立媒体通道,终端间使用该媒体通道传输流媒体业务,解决了相关技术中无法实现基于AOI平台的流媒体业务的问题,同时,建立媒体通道时考虑了终端对应的NAT类型,因此AOI平台建立的媒体通道能更充分利用系统的资源,避免了 AOI平台的负荷过高,优化了系统的性能。从以上的描述中可以看出,上述实施例为移动运营商提供移动终端通过移动网络实现移动VoIP服务的解决方案,最大限度降低了语音代理的负荷,便于移动运营商对接入移动网络的VoIP服务的统一管理。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种流媒体业务的传输方法,其特征在于,包括 常在线结构AOI平台接收第一终端和第二终端上报的网络地址转换NAT类型; 所述AOI平台根据所述第一终端和所述第二终端的NAT类型建立媒体通道,以使所述第一终端与所述第二终端使用所述媒体通道传输流媒体业务; 其中,所述媒体通道包括经由网关通用分组无线业务支持节点GGSN的媒体通道或经由AOI媒体代理服务器的媒体通道。
2.根据权利要求I所述的方法,其特征在于, 所述NAT类型包括圆锥型NAT和对称型NAT ; 所述AOI平台根据所述第一终端和所述第二终端的NAT类型建立媒体通道包括当所述第一终端与第二终端上报的NAT类型均为圆锥型NAT时,所述AOI平台确定所述第一终端与所述第二终端使用所述经由GGSN的媒体通道,通知所述第一终端与所述第二终端建立经由GGSN的媒体通道; 当所述第一终端与第二终端上报的NAT类型中有非圆锥型NAT时,所述AOI平台确定所述第一终端与所述第二终端使用所述经由AOI媒体代理服务器的媒体通道,通知所述第一终端与所述第二终端采用所述经由AOI媒体代理服务器的媒体通道。
3.根据权利要求2所述的方法,其特征在于,所述AOI平台通知所述第一终端与所述第二终端建立经由GGSN的媒体通道之后,还包括 所述AOI平台向所述第一终端和所述第二终端所在的GGSN发送打洞请求,告知所述第一终端和所述第二终端为可信终端; 所述第一终端和所述第二终端互发打洞测试报文进行打洞测试,并向所述AOI平台上报打洞测试结果; 所述AOI平台确定所述第一终端和所述第二终端的打洞测试成功时,通知所述第一终端与所述第二终端所述经由GGSN的媒体通道建立完成; 所述AOI平台确定所述第一终端和所述第二终端的打洞测试失败时,通知所述第一终端与所述第二终端采用所述经由AOI媒体代理服务器的媒体通道传输流媒体业务。
4.根据权利要求I所述的方法,其特征在于,所述AOI平台接收第一终端和第二终端上报的网络地址转换NAT类型之前,所述方法还包括 所述第一终端与所述第二终端相互获取对方用于传输流媒体业务的IP地址和端口。
5.根据权利要求4所述的方法,其特征在于,所述第一终端与所述第二终端相互获取对方用于传输流媒体业务的IP地址和端口包括以下方式之一 所述第一终端与所述第二终端通过用户数据报协议m)P的简单穿越STUN协议与GGSN进行通信,获取各自的公网IP地址和公网端口并告知对方; 所述第一终端与所述第二终端将GGSN上的中继代理的IP地址和端口作为对方传输流媒体业务的IP地址和端口 ; 所述第一终端与所述第二终端均与所述AOI平台进行基于UDP的通信,由所述AOI平台记录下对应终端的公网IP地址和公网端口 ; 其中,所述公网IP地址和公网端口用于传输流媒体业务。
6.根据权利要求I所述的方法,其特征在于,所述第一终端与所述第二终端使用所述媒体通道传输流媒体业务之后,所述方法还包括所述第一终端或所述第二终端主动挂断所述媒体通道,并向所述AOI平台发起通道拆除请求; 所述AOI平台收到所述通道拆除请求后,向所述第一终端或所述第二终端中的被动挂断方发起通道拆除通知,并拆除所述媒体通道; 所述AOI平台根据所述第一终端与所述第二终端传输所述流媒体业务的时间和/或流量进行计费。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述流媒体业务采用基于用户数据报协议UDP的实时传输协议RTP或基于UDP的实时传输控制协议RTCP进行封装。
8.一种流媒体业务的传输装置,其特征在于,包括 接收模块,用于接收第一终端和第二终端上报的网络地址转换NAT类型; 媒体通道建立模块,用于根据所述接收模块接收的所述第一终端和所述第二终端的NAT类型建立媒体通道,以使所述第一终端与所述第二终端使用所述媒体通道传输流媒体业务;其中,所述媒体通道包括经由网关通用分组无线业务支持节点GGSN的媒体通道或经由AOI媒体代理服务器的媒体通道。
9.根据权利要求8所述的装置,其特征在于,所述NAT类型包括圆锥型NAT和对称型NAT ; 所述媒体通道建立模块包括 第一通道建立单元,用于当所述第一终端与第二终端上报的NAT类型均为圆锥型NAT时,确定所述第一终端与所述第二终端使用所述经由GGSN的媒体通道,并通知所述第一终端与所述第二终端建立经由GGSN的媒体通道;或者, 第二通道建立单元,用于当所述第一终端与第二终端上报的NAT类型中有非圆锥型NAT时,确定所述第一终端与所述第二终端使用所述经由AOI媒体代理服务器的媒体通道,并通知所述第一终端与所述第二终端采用所述经由AOI媒体代理服务器的媒体通道。
10.一种流媒体业务的传输系统,其特征在于,包括常在线结构AOI平台、第一终端和第二终端,其中,所述AOI平台包括权利要求8或9所述的装置; 所述第一终端和所述第二终端均包括 上报模块,用于上报自身的NAT类型; 传输模块,用于使用所述AOI平台建立的所述媒体通道传输流媒体业务。
全文摘要
本发明公开了一种流媒体业务的传输方法、装置和系统。其中,该方法包括AOI平台接收第一终端和第二终端上报的NAT类型;AOI平台根据第一终端与第二终端的NAT类型建立媒体通道,以使第一终端与第二终端使用该媒体通道传输流媒体业务;其中,该媒体通道包括经由GGSN的媒体通道或经由AOI媒体代理服务器的媒体通道。通过本发明,解决了相关技术中无法实现基于AOI平台的流媒体业务的问题,充分利用了系统的资源,避免了AOI平台的负荷过高,优化了系统的性能。
文档编号H04L29/06GK102780675SQ20111011822
公开日2012年11月14日 申请日期2011年5月9日 优先权日2011年5月9日
发明者刘超, 戴书球, 程均, 苏勇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1