预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN105827748A(43)申请公布日2016.08.03(21)申请号201610311912.X(22)申请日2016.05.12(71)申请人东莞市南星电子有限公司地址523000广东省东莞市沙田镇民田村成田路3号B栋东莞市南星电子有限公司(72)发明人邓小娇侯刚蔡方谊易骏(74)专利代理机构厦门市新华专利商标代理有限公司35203代理人徐勋夫(51)Int.Cl.H04L29/12(2006.01)H04L12/24(2006.01)H04L12/26(2006.01)权利要求书4页说明书9页附图10页(54)发明名称一种基于ICE的SIP穿越SymmetricNAT设备的方法(57)摘要本发明一种基于ICE的SIP穿越SymmetricNAT设备的方法包括:步骤S1,通信双方先后收集候选地址,互换地址信息并根据优先级排列形成地址检测列表;步骤S2,双方先后进行连通性检测,根据主机地址到中继地址的地址对连通性检测过程中是否产生服务器映射候选地址来判断所处的网络拓扑是否存在SymmentricNAT,步骤S3,确定SymmentricNAT方源端口选择策略以及预测SymmentricNAT方分配的端口值;步骤S4,对SymmentricNAT方以预测的端口值进行连通性检查,本发明不仅保留了ICE的优点,还能适应各种NAT环境,而且利用NAT自身特性,不需要STUN服务器探测NAT类型,巧妙地克服了ICE在SymmentricNAT下的不足,从而保证了服务质量,本发明不必改变现有网络的拓扑结构,很好地解决了NAT穿越的灵活性和有效性的问题。CN105827748ACN105827748A权利要求书1/4页1.一种基于ICE的SIP穿越SymmetricNAT设备的方法,系统中服务器处于公网,该服务器由SIP服务器、TURN服务器、STUN服务器组成,通信双方的两个客户端分别处于NAT后面,该客户端由SIPUA、端口预测模块、NAT类型发现模块、TURN客户端以及STUN客户端组成,其特征在于包括如下步骤:步骤S1、通信双方先后收集候选地址,互换地址信息并根据优先级排列形成地址检测列表;步骤S2、通信双方先后进行连通性检测,根据主机地址到中继地址的地址对连通性检测过程中是否产生服务器映射候选地址来判断所处的网络拓扑是否存在SymmentricNAT;步骤S3、确定SymmentricNAT方源端口选择策略以及预测SymmentricNAT方分配的端口值;步骤S4、对SymmentricNAT方以预测的端口值进行连通性检查,直至成功,通过直连方式发送音视频流。2.根据权利要求1所述的一种基于ICE的SIP穿越SymmetricNAT设备的方法,其特征在于具体包括如下步骤:步骤S1、通信双方先后收集候选地址,互换地址信息并根据优先级排列形成地址检测列表:(1)收集候选地址主叫端A需要收集的对象包括本地传输地址和来源传输地址,本地传输地址通常由主机上1个物理接口绑定1个端口而获得,端口采用port1表示,主叫端A还将访问STUN和TURN服务器,对于每一个本地传输地址,会话者都可以从服务器上获得l组来源传输地址,通过访问STUN及TURN服务器获得的地址分别称为服务器映射候选地址以及中继候选地址,服务器映射候选地址通过使用主机本地传输地址向STUN服务器发送STUNBind请求获得,中继候选地址随机使用本地空闲端口port2发送Allocate请求给TURN服务器获得,经过NAT后,映射端口用port9,port10表示,同理假设视频组件一通道获取服务器映射候选地址和中继候选地址随机使用的本地空闲端口分别为port3以及port4,通过NAT后,映射端口为port11,port12;采用IPTURN代表TURN服务器的中继IP,且假设TURN服务器给主叫端A分配的中继端口为portA1,则会话发起方获取候选地址列表;(2)启动STUN服务器主叫端A获得一组包括本地传输地址和来源传输地址的传输地址后,将在本地传输地址启动STUN服务器,这意味着发送到来源地址的STUN服务将是可达的,与传统的STUN服务不同,客户端不需要在任何其它IP或端口上提供STUN服务,也不必支持TLS,ICE用户名和密码已经通过信令协议进行了交换;客户端将在每个本地传输地址上同时接受STUN请求包和媒体包,所以发起者需要消除STUN消息与媒体流协议之间的歧义,可以通过查看接收到的包的属性字段“v=”,对于每个运行STUN服务器的本地传输地址,客户端都必须选择相应的用户名和密码;用户名要求必须是全局惟一的,用户名和密码将被包含在初始化消息中传送至响应者,由响应者对STUN请求进行鉴别