一种基于SIP和ICE的音视频通信方法技术

技术编号:12580747 阅读:69 留言:0更新日期:2015-12-23 19:08
本发明专利技术提供一种基于SIP和ICE的音视频通信方法,所述方法包括如下步骤:通话开始,客户端向服务器发起端口分配请求,得到服务器中端口分配模块分配的八个内网端口号;启动ICE,并探测本方NAT类型并收集本方候选地址信息;通信双方将各自获取到的NAT类型和候选地址信息进行交换,并将对方的NAT类型和本方的NAT类型合并成一个NAT组合类型,若对方NAT类型为Symmetric NAT或Cone NAT,则计算对方预测端口;根据NAT组合类型选择相应的候选地址信息进行配对,生成检测列表;进行连通性测试,建立通道。本发明专利技术实现了对称NAT下的音视频P2P,并减少了ICE谈判时间,提高了音视频的通信效率。

【技术实现步骤摘要】

本专利技术涉及一种音视频通信,尤其涉及一种基于SIP和ICE的音视频通信方法
技术介绍
实时网络音视频通信由最早的VoIP(VoiceoverIP)发展而来,VoIP对语音数据 进行压缩、解压处理,然后用IP及其它协议对数据进行打包和拆包,从而实现利用IP网络 传输语音数据,实时网络音视频通信能否广泛被应用决定着社交网络发展能否迈向新的台 阶,决定着人们的交际方式能否有新的突破,用P2P来进行即时音视频传输是一种有效方 式,但随着互联网的快速发展,IPv4地址的枯竭,NAT(NetworkAddressTranslation即网 络地址转换)设备和技术应运而生,从实现的技术角度,NAT可以分成如下7类:FullCone NAT(全维 NAT)'RestrictedConeNAT(限制性维 NAT)、PortRestrictedConeNAT(端口 限制性锥NAT)、SymmetricNAT(对称NAT)、UDP网络阻塞、位于对称UDP防火墙后和处于 公网上,一般只对 FullConeNAT(全维 NAT)、RestrictedConeNAT(限制性维 NAT)、Port RestrictedConeNAT(端口限制性维NAT)和SymmetricNAT(对称NAT)进行研究,其中, FullConeNAT(全维 NAT)、RestrictedConeNAT(限制性维 NAT)和 PortRestricted ConeNAT(端口限制性锥NAT)均属于ConeNAT(锥形NAT)这一大类,NAT的使用能够有 效缓解互联网快速发展导致IPv4地址不足的问题,并且提高了内部网络的安全性,但却严 重影响了音视频的P2P(对等网络)实现,因为NAT设备的存在只允许内部主机主动发送数 据包到外部网络,对之前内部主机并没有访问过的外部设备,其意图主动访问内部主机的 数据包会被NAT设备直接丢弃,因此使得目前被广泛关注的P2P技术,特别是音视频的P2P 发展受到了很大的制约,位于不同NAT或防火墙之后的客户端进行音视频P2P存在困难,特 别是SymmetricNAT存在时,使得音视频的P2P更难以实现,使得P2P成功率不高。 ICE (Interactive Connectivity Establishment,交互式连接建立)是一种灵活 可靠的方案,综合利用已有的STUN和TURN等协议并对其进行适当的扩展实现NAT穿越的, 可以适用于各种网络拓扑下的NAT穿越,对部署了 Symmetric NAT的网络,使用TURN进行 中转,现有技术中公开了申请号为201210160837. 3的中国专利"一种VoIP中基于ICE的 快速私网穿越方法",该方法首先进行NAT类型检测,检测结果为对称型NAT环境或非对称 型NAT环境;对于对称型NAT环境,所述方法只针对主机候选地址和中继候选地址的连通 性进行检查;对于非对称型NAT环境,所述方法只针对主机候选地址和服务器反身候选地 址(即外网地址)的连通性进行检查,上述这种方法是在传统的ICE协议上进行了改进:即 在原RFC5425的基础上,结合其应用场景(即注重语音高效性的VoIP系统),对ICE进行 了改进,在地址收集前增加了 NAT类型检测,这一步骤的增加,使得:非对称NAT环境下,不 用进行TURN地址的产生与保活,减少开销,而连通性检查则保证了同一私网环境下的语音 高效传输;对称NAT环境下,不用进行STUN返回地址在NAT上的保活,与该地址的连通性检 查,减少了开销与媒体连接建立成功时延,实现快速私网穿越,但这种优化后的ICE穿越方 式不能在Symmetric NAT中实现P2P,未能在很大程度提高P2P成功率,且在检测列表上的 优化程度较小,对减少ICE的谈判时间有限,ICE的谈判时间指的是从ICE检测列表形成到 通道形成需要的时间,因此研究一种实用性更好、适用性更强的NAT穿越方式来实现即时 网络音视频通信P2P显得非常有意义。
技术实现思路
本专利技术要解决的技术问题,在于提供一种基于SIP和ICE的音视频通信方法,提高 P2P成功率,减少ICE谈判时间,从而提高音视频通信效率。 本专利技术是这样实现的:一种基于SIP和ICE的音视频通信方法,所述方法需提供端 口分配模块,所述端口分配模块用于为客户端分配规律的内网端口,所述方法包括如下步 骤: 步骤10、通话开始,客户端向服务器发起端口分配请求,得到服务器中端口分配模块分 配的八个内网端口号,所述八个内网端口号包括4个主机候选地址端口号和4个内网留洞 端口号; 步骤20、启动ICE,并探测本方NAT类型并收集本方候选地址信息; 步骤30、通信双方将各自获取到的NAT类型和候选地址信息进行交换,得到对方的NAT 类型,将对方的NAT类型和本方的NAT类型合并成一个NAT组合类型,同时,判断对方NAT 类型是否为SymmetricNAT或ConeNAT,若是,则计算对方预测端口,所述ConeNAT包括 FullconeNAT、PortRestrictedConeNAT和RestrictedConeNAT,否则,直接进入步骤 40 ; 步骤40、根据NAT组合类型选择相应的候选地址信息进行配对,生成检测列表; 步骤50、根据检测列表进行连通性测试,建立通道。 进一步的,所述步骤10具体包括: 步骤11、通话开始,客户端与服务器建立TCP长连接,向服务器中的端口分配模块请求 分配客户端所处内网的端口资源; 步骤12、端口分配模块收到请求后,从资源池中查询客户端所处内网中未使用的端口 资源号,并选择未使用的端口资源号中最小的端口资源号分配给客户端,所述端口资源号 为0~2015之间的整数,每个端口资源号对应32个端口号,即端口资源号num包含的端口范 围关 步骤13、客户端从服务器的响应中取出端口资源号num。,并由该端口资源号num。 计算出相应的八个内网端口号P〇rtl~port8,计算方式如下:由端口资源号num。,得到对应 的32个端口号的范围搭该32个端口号按从大 到小的顺序分成8个组al~a8,每组包括4个连续的端口号,其中前4个组al~a4依次分配 给音频RTP、音频RTCP、视频RTP和视频RTCP,后4个组a5~a8作为内网留洞端口,依次分 配给音频RTP、音频RTCP、视频RTP和视频RTCP,选取8个组al~a8中每组的最大端口组成 八个内网端口 portl~port8,在选取的端口被其他程序占用时,则从该组中其余3个端口中 选择一个进行替代。 进一步的,所述步骤20中获取本方NAT类型的具体步骤包括: 步骤21、进行测试1,若测试1有响应,则进入步骤22,否则,判为UDP网络阻塞,进入步 骤30 ; 步骤22、判断客户端收到的返回消息中该客户端的外网IP和端口与该客户端的主机 IP和端口是否一致,若是,则进入步骤23,否则进入步骤24 ; 步骤23、进行测试2,若测试2有响应,则判定为位于对称UDP防火墙后,进入步骤30, 否则,判为处于公网上,进入步骤30; 步骤24、进行测试2,若测试2有响应,则判定为Full cone NAT,进入步骤30,否则,进 入步骤25 ; 步本文档来自技高网
...

【技术保护点】
一种基于SIP和ICE的音视频通信方法,其特征在于:所述方法需提供端口分配模块,所述端口分配模块用于为客户端分配规律的内网端口,所述方法包括如下步骤:步骤10、通话开始,客户端向服务器发起端口分配请求,得到服务器中端口分配模块分配的八个内网端口号,所述八个内网端口号包括4个主机候选地址端口号和4个内网留洞端口号;步骤20、启动ICE,并探测本方NAT类型并收集本方候选地址信息;步骤30、通信双方将各自获取到的NAT类型和候选地址信息进行交换,得到对方的NAT类型,将对方的NAT类型和本方的NAT类型合并成一个NAT组合类型,同时,判断对方NAT类型是否为Symmetric NAT或Cone NAT,若是,则计算对方预测端口,所述Cone NAT包括Full cone NAT、Port Restricted Cone NAT和Restricted Cone NAT,否则,直接进入步骤40;步骤40、根据NAT组合类型选择相应的候选地址信息进行配对,生成检测列表;步骤50、根据检测列表进行连通性测试,建立通道。

【技术特征摘要】

【专利技术属性】
技术研发人员:易骏林奇勇杜明辉杨晓东范振粤范立斌侯刚吴新生毛鹏辉杨运勋
申请(专利权)人:东莞市南星电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1