CN105262847A - 终端设备之间的通信方法和系统 - Google Patents

终端设备之间的通信方法和系统 Download PDF

Info

Publication number
CN105262847A
CN105262847A CN201410342839.3A CN201410342839A CN105262847A CN 105262847 A CN105262847 A CN 105262847A CN 201410342839 A CN201410342839 A CN 201410342839A CN 105262847 A CN105262847 A CN 105262847A
Authority
CN
China
Prior art keywords
terminal equipment
address
side terminal
gateway system
uuid
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
Application number
CN201410342839.3A
Other languages
English (en)
Other versions
CN105262847B (zh
Inventor
吕国松
成国强
葛新
陈林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201410342839.3A priority Critical patent/CN105262847B/zh
Publication of CN105262847A publication Critical patent/CN105262847A/zh
Application granted granted Critical
Publication of CN105262847B publication Critical patent/CN105262847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种终端设备之间的通信方法和系统,其中,方法包括:接收方终端设备接收到呼叫请求消息后向数据服务器发送同网关系查询请求并接收查询结果消息,同网关系查询请求中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;若查询到发送方终端设备和接收方终端设备属于同网关系,向发送方终端设备返回呼叫响应消息,并将该呼叫响应消息中的ICE标识置于关闭状态,呼叫响应消息中包括接收方终端设备的本地网络地址信息;发送方终端设备与接收方终端设备使用本地网络地址进行媒体通信。本发明实施例可以避免同网终端设备之间媒体通信进行NAT穿越尝试。

Description

终端设备之间的通信方法和系统
技术领域
本发明涉及通信技术,尤其是一种终端设备之间的通信方法和系统。
背景技术
在音视频通信中,交互式连接建立(InteractiveConnectivityEstablishment,ICE)是一种广泛使用的防火墙穿越通信技术,它综合了网络地址转换(NAT)的用户数据报协议(UDP)简单穿越(SimpleTraversalofUDPoverNATs,STUN)和通过中继方式穿越NAT(TraversalUsingRelaysaroundNAT,TURN)两种不同的防火墙穿越方法,实现了各种防火墙(包括不对称和对称防火墙)条件下,采用同一解决方案完成穿越的技术。
典型的ICE穿越技术中,需要有STUN服务器或者TURN服务器的支持。在互联网环境下,因为绝大多数防火墙均属于对称防火墙,而STUN只能实现非对称防火墙的穿越,因此TURN服务器是推荐使用的。在使用TURN服务器情况下,通信发起方客户端发送TURN地址收集请求消息至TURN服务器;TURN服务器在TURN地址收集响应消息中携带该TURN服务器观察到的发起方客户端通过防火墙映射的映射公网IP地址(以下称为:映射公网IP地址)和端口(即客户端在防火墙出口的映射公网IP地址和端口)、以及TURN服务器分配给发起方客户端的媒体转发公网IP地址(以下称为:媒体转发IP地址)和端口;发起方客户端收到上述两组备选IP地址和端口后,连同自身的本地IP地址和端口一起封装在SIP信令中发送给接收方客户端;接收方客户端通过上述同样流程收集它自身的备选媒体接收地址和端口并通知发送客户端。双方收到对端的所有备选媒体地址和端口后,开始计算和排列候选(IP地址,端口)地址对并逐个尝试连接,例如一般情况下,接收方客户端将先尝试连接发起方客户端三组备选地址对中的本地IP地址和端口,然后尝试连接发起方客户端防火墙映射的公网IP地址和端口,最后尝试连接发起方客户端的媒体转发IP地址和端口。连接尝试结束后,双方将根据连接结果最终确定用于本次媒体通信的地址和端口并开始进行媒体传输。
然而,现实应用中有大量的通信是在同一局域网或者同在公网环境中进行的,但目前所有的NAT穿越技术,包括ICE穿越技术,都没有考虑这种通信双方所在网络关系的特殊性。从上述ICE穿越技术可知,穿越尝试中需要大量的信令交互,针对通信双方用户在同一局域网或都在公网的情况,这种信令的交互造成了对有限网络资源的没必要浪费。
发明内容
本发明实施例所要解决的一个技术问题是:针对目前位于同一局域网或者同在公网环境中的两个终端设备之间进行媒体通信需进行NAT穿越,由此进行的信令交互浪费网络资源,提供一种终端设备之间的通信方法和系统。
本发明实施例提供的一种终端设备之间的通信方法,包括:
接收方终端设备接收发送方终端设备发送的呼叫请求消息,所述呼叫请求消息中包括发送方终端设备的全局唯一标识符UUID、本地网络地址、映射公网地址和媒体转发地址信息;其中,所述本地网络地址包括本地IP地址和端口,所述映射公网地址包括本地网络地址经过网络地址转换NAT得到的公网IP地址和端口,所述媒体转发地址包括媒体转发IP地址和端口;
接收方终端设备向数据服务器发送同网关系查询请求,所述同网关系查询请求中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;
数据服务器查询同网关系信息表,并向接收方终端设备返回是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果消息;所述同网关系信息表中包括一个以上同网关系表项,每一个同网关系表项记录有属于同网关系的终端设备的UUID和本地IP地址信息;
根据查询结果消息,若查询到发送方终端设备和接收方终端设备属于同网关系,接收方终端设备向发送方终端设备返回呼叫响应消息,并将该呼叫响应消息中的交互式连接建立ICE标识置于关闭状态,所述呼叫响应消息中包括接收方终端设备的本地网络地址信息;发送方终端设备使用该发送方终端设备的本地网络地址,基于接收方终端设备的本地网络地址与接收方终端设备进行媒体通信;
否则,根据查询结果,若未查询到发送方终端设备和接收方终端设备属于同网关系,接收方终端设备与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址并进行媒体通信。
本发明实施例提供的一种通信系统,包括ICE服务器,还包括:
发送方终端设备,用于向接收方终端设备发送呼叫请求消息,所述呼叫请求消息中包括发送方终端设备的UUID、本地网络地址、映射公网地址和媒体转发地址信息;其中,所述本地网络地址包括本地IP地址和端口,所述映射公网地址包括本地网络地址经过NAT得到的公网IP地址和端口,所述媒体转发地址包括媒体转发IP地址和端口;以及在接收到接收方终端设备返回的呼叫响应消息后,使用该发送方终端设备的本地网络地址,基于所述呼叫响应消息中接收方终端设备的本地网络地址与接收方终端设备进行媒体通信;
接收方终端设备,用于接收发送方终端设备发送的呼叫请求消息;向数据服务器发送同网关系查询请求,所述同网关系查询请求中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;以及根据数据服务器返回的查询结果消息,若查询到发送方终端设备和接收方终端设备属于同网关系,向发送方终端设备返回呼叫响应消息,并将该呼叫响应消息中的ICE标识置于关闭状态,所述呼叫响应消息中包括接收方终端设备的本地网络地址信息;否则,根据查询结果,若未查询到发送方终端设备和接收方终端设备属于同网关系,与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址并进行媒体通信;
数据服务器,用于存储同网关系信息表,所述同网关系信息表中包括一个以上同网关系表项,每一个同网关系表项记录有属于同网关系的终端设备的UUID和本地IP地址信息;以及查询同网关系信息表,并向接收方终端设备返回是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果消息。
基于本发明上述实施例提供的终端设备之间的通信方法和系统,结合ICE协议,提出了通过数据服务器对过去终端设备之间的媒体互连关系的分析,来判断需要进行媒体通信的终端设备之间是否同网,针对同网终端设备不再进行NAT穿越尝试,与现有技术相比,避免了NAT穿越中信令交互浪费网络资源,提升了通信效率。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明终端设备之间的通信方法一个实施例的流程图。
图2为本发明终端设备之间的通信方法另一个实施例的流程图。
图3为本发明实施例中通过ICE穿越流程确定发送方终端设备和接收方终端设备双方的媒体通信地址的流程图。
图4为本发明终端设备之间的通信方法一个应用实施例的流程图。
图5为图4所示实施例的网络结构示意图。
图6为本发明通信系统一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
在实现本发明的过程中,本发明人发现,如果能够有一种方法在双方终端设备之间进行通信之前判断出双方是同网关系(即:双方在同一局域网或者同在公网),那么就可以避免穿越尝试中信令交互对网络资源的浪费,通信效率就会提升。但是,由于局域网IP可重复以及网络的多重NAT等原因,导致目前无法判断出通信双方的终端设备是否同网。
例如,某公司接入外网时部署了一个NAT防火墙,公司内部使用内网地址192.168.0.*,该公司有多个分公司,每个分公司自身又部署了一个NAT防火墙,分公司内部使用内网地址10.0.0.*,两个不同分公司的终端设备访问互联网的服务器时,服务器看到它们是来自同一公司。由于这两个终端设备分布在不同分公司,中间隔着内部防火墙,因此,无法通过判断两通信设备的NAT出口映射IP地址是否相同来判断它们是否同网,从而便无法判断这两个通信设备是同网并且可以直接进行媒体通信。
图1为本发明终端设备之间的通信方法一个实施例的流程图。如图1所示,该实施例终端设备之间的通信方法包括:
110,接收方终端设备接收发送方终端设备发送的呼叫请求消息,该呼叫请求消息中包括发送方终端设备的全局唯一标识符(UUID)、本地网络地址、映射公网地址和媒体转发地址信息。
其中,本地网络地址包括本地IP地址和端口,映射公网地址包括本地网络地址经过NAT得到的公网IP地址和端口,媒体转发地址包括媒体转发IP地址和端口。其中的每一对IP地址和端口可以称为地址对或者(IP地址,端口)地址对。
120,接收方终端设备向数据服务器发送同网关系查询请求,该同网关系查询请求中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址。
130,数据服务器查询同网关系信息表,并向接收方终端设备返回是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果消息。
其中的同网关系信息表中包括一个以上同网关系表项,每一个同网关系表项记录有属于同网关系的两个以上终端设备的UUID和本地IP地址信息。
根据查询结果消息,若查询到发送方终端设备和接收方终端设备属于同网关系(例如,查询结果消息中的结果字段为1),执行140的操作;否则,根据查询结果,若未查询到发送方终端设备和接收方终端设备属于同网关系(例如,查询结果消息中的结果字段为0),执行160的操作。
140,接收方终端设备向发送方终端设备返回呼叫响应消息,并将该呼叫响应消息中的ICE标识置于关闭状态,该呼叫响应消息中包括接收方终端设备的本地网络地址信息。
150,发送方终端设备使用该发送方终端设备的本地网络地址,基于呼叫响应消息中接收方终端设备的本地网络地址与接收方终端设备进行媒体通信。
之后,不执行本实施例的后续流程。
160,接收方终端设备与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址并进行媒体通信。
基于本发明上述实施例提供的终端设备之间的通信方法,结合ICE协议,提出了通过数据服务器对过去终端设备之间的媒体互连关系的分析,来判断需要进行媒体通信的终端设备之间是否同网,针对同网终端设备不再进行NAT穿越尝试,与现有技术相比,避免了NAT穿越中信令交互浪费网络资源,提升了通信效率。
图2为本发明终端设备之间的通信方法另一个实施例的流程图。如图2所示,与图1所示的实施例相比,该实施例在操作160之后,还包括:
210,发起方或接收方终端设备比较双方的媒体通信地址和本地IP地址。
220,若双方的媒体通信地址均采用本地IP地址、且都属于本地地址,则确认双方为同网关系,向数据服务器上报同网关系通知消息,该同网关系通知消息中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址。
否则,不执行本操作220及后续操作。
230,数据服务器在同网关系信息表中创建发送方终端设备与接收方终端设备的同网关系表项以标识发送方终端设备与接收方终端设备为同网关系,该同网关系表项中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址的同网关系表项。
进一步地,再参见图2,作为终端设备之间的通信方法的又一个实施例,与上述实施例相比,在操作110之前,还可以包括:
100,发起方终端设备向ICE服务器发送第一地址收集请求消息,该第一地址收集请求消息中包括发起方终端设备的UUID和本地网络地址信息。
其中,发起方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址,因此,ICE服务器接收到的第一地址收集请求消息发起方终端设备的地址为映射公网地址。
101,ICE服务器向发起方终端设备分配媒体转发地址,并向发起方终端设备返回第一地址收集响应消息,该第一地址收集响应消息中包括发起方终端设备的上述映射公网地址和ICE服务器分配给发起方终端设备的媒体转发地址信息。
根据本发明各终端设备之间的通信方法实施例的一个具体示例而非限制,呼叫请求消息与呼叫响应消息具体为会话发起协议(SIP)消息。SIP消息具体通过SIP消息中的呼叫信息(CALL-INFO)字段或者用户代理(USER-Agent)字段携带终端设备的UUID,通过SIP消息中的会话描述协议(SessionDescriptionProtocol,SDP)信息携带终端设备的本地网络地址。
根据本发明各终端设备之间的通信方法实施例的另一个具体示例而非限制,同网关系查询请求和查询结果消息具体为表述性状态转移(RepresentationalStateTransfer,Rest)消息,该Rest消息使用超文本传输协议(HTTP)和基于JavaScript语言的轻量级的数据交换格式(Json)结合的方式,具体为内部封装Json信息的HTTP消息。具体地,在同网关系查询请求中,通过Json信息携带发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;在查询结果消息中,通过Json信息携带是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果。
图3为本发明实施例中通过ICE穿越流程确定发送方终端设备和接收方终端设备双方的媒体通信地址的流程图。如图3所示,该实施例中,接收方终端设备与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址具体包括:
310,接收方终端设备向ICE服务器发送第二地址收集请求消息,该第二地址收集请求消息中包括接收方终端设备的UUID和本地网络地址信息。
其中,接收方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址。
320,ICE服务器向接收方终端设备分配媒体转发地址,并向接收方终端设备返回第二地址收集响应消息,该第二地址收集响应消息中包括接收方终端设备的映射公网地址和ICE服务器分配给接收方终端设备的媒体转发地址。
330,接收方终端设备向发送方终端设备返回呼叫应答消息,该呼叫应答消息中包括接收方终端设备的UUID、本地网络地址、映射公网地址和媒体转发地址信息。
340,发送方终端设备和接收方终端设备分别与对端终端设备的本地网络地址、映射公网地址和媒体转发地址进行逐一尝试连接,确定可连接地址,并按照预设优先级顺序,从可连接地址中选择最高优先级的地址作为用于通信的媒体地址。
其中,预设地址优先级顺序为:本地网络地址、映射公网地址和媒体转发地址中,本地网络地址具有最高优先级。例如,预设地址优先级顺序由高到低依次是:本地网络地址、映射公网地址、媒体转发地址。
350,发送方终端设备向接收方终端设备发送更新的呼叫请求消息,该呼叫请求消息中包括发送方终端设备最终实际使用的媒体通信地址。
360,接收方终端设备向发送方终端设备返回更新的呼叫应答消息,该呼叫应答消息中包括接收方终端设备最终实际使用的媒体通信地址。
在本发明各终端设备之间的通信方法的再一个实施例中,还包括终端设备通过以下方式生成UUID的操作:终端设备在接入一个网络或者获得一个本地IP地址时,利用当前的日期和时间、全局唯一的物理标识和一个随机序列计算获取该终端设备的UUID。例如,其中的全局唯一的物理标识可以是该终端设备的媒体接入控制(MAC)地址。因为当前的日期和时间、全局唯一的物理标识和随机序列这三要素有物理不可重复性和时间不可重复性,因此可以保证生成的UUID的唯一性。该UUID生成后可以根据需要可写入终端设备的配置文件中,终端设备重启后可以读取、使用。
在本发明各终端设备之间的通信方法的再一个实施例中,还可以包括:
数据服务器接收到终端设备上报的同网关系通知消息之后,查询同网关系信息表中是否存在关联同网关系表项,其中的关联同网关系表项是指包括该同网关系通知消息中任意一方终端设备的UUID和本地IP地址的同网关系表项;
若同网关系信息表中存在关联同网关系表项,对该关联同网关系表项进行更新,将关联同网关系表项中不存在的、该同网关系通知消息中终端设备的UUID和本地IP地址写入关联同网关系表中,以便标识关联同网关系中的终端设备与同网关系通知消息中的终端设备属于同网关系。
否则,若同网关系信息表中不存在关联同网关系表项,不执行相应的操作。
基于该实施例,如果终端设备A和B已经在服务器上建立同网关系表项,终端设备A和C在后续呼叫也被发现是同网关系,那么终端设备A、B、C肯定是同网关系,数据服务器将通过关联把它们三者的关系标识为同网关系,后续任意两方的通信都可以避免NAT穿越流程的复杂打洞过程。依次类推,可以建立更多终端设备之间的同网关系,实现局域网内部机器的快速通信。
基于该实施例,可通过终端设备自身对第一次媒体通信连接的学习,在数据服务器上建立终端设备之间的同网关系表项,避免同网终端设备之间再次呼叫带来的无效率的反复打洞信令过程,提高通信效率和用户体验;对于某些大量通信在企业网内部的多媒体通信应用例如针对企业的云视频服务,通过不断的学习,可以建立覆盖企业网内部所有固定终端设备之间的同网关系,达到一套方案完成企业网内部通信避免使用ICE和企业与外部通信使用ICE的完美效果。
另外,在本发明各终端设备之间的通信方法的再一个实施例中,还可以包括:
响应于监测到所处的网络发生切换或者本地IP地址发生变化,终端设备重新生成该终端设备的UUID,并向数据服务器发送同网关系删除通知,该同网关系删除通知中包括终端设备的原UUID和原本地IP地址;
数据服务器删除终端设备的同网关系信息。
任何网络地址的变化在操作系统层面都有向上层应用的通知事件,终端设备只需要监听此通知事件即可获知网络发生切换或者本地IP地址发生变化。终端设备在所处的网络发生切换或者本地IP地址发生变化时,通知服务器删除之前建立的相关信息,可以避免在极少数情况下网络切换后终端设备的本地网络地址没有改变,数据服务器认为其网络关系没有变化,而使得后续在后续采用本地网络地址通信导致媒体通信不通的问题。
示例性地,数据服务器删除终端设备的同网关系信息时,可以查询同网关系信息表中是否存在包括原UUID和原本地IP地址的同网关系表项;若存在包括原UUID和原本地IP地址的同网关系表项,识别包括原UUID和原本地IP地址的同网关系表项中的UUID数量是否大于2个;若包括原UUID和原本地IP地址的同网关系表项中的UUID数量大于2个,则从该同网关系表项中删除原UUID和原本地IP地址;否则,包括原UUID和原本地IP地址的同网关系表项中的UUID数量为2个,删除该同网关系表项。若同网关系信息表中不存在包括原UUID和原本地IP地址的同网关系表项,则不执行该示例中删除同网关系信息的操作。
另外,在本发明各终端设备之间的通信方法的再一个实施例中,数据服务器还可以删除超过预设期限未被查询和使用的同网关系表项;或者,数据服务器在某一同网关系表项在预设期限内被查询和使用、其中的UUID数量大于2个时,删除其中超过预设期限未被查询和使用的终端设备的UUID和本地IP地址。数据服务器定期清理内部同网关系表项,对长期没有被查询和使用的同网关系表项进行删除,避免终端设备因为异常没有发送通知UUID变化的消息。
图4为本发明终端设备之间的通信方法一个应用实施例的流程图。图5为图4所示实施例的网络结构示意图。参见图5,本应用实施例采用SIP协议作为信令承载协议。该实施例中的终端设备包括移动终端和固定终端。其中,移动终端A(IP地址为:202.30.108.232)、固定终端C(IP地址为:219.30.101.22)和B(IP地址为:220.181.90.8)在公网中,移动终端D和E都在同一局域网中,终端设备A、B、C的媒体连接是可直接的,终端设备D和E的媒体也是可以直连的,所有终端设备都注册在公网SIP服务器上,通常的注册信息包括终端设备的本地网络地址信息和终端设备的用户名信息。以终端设备D和E之间的通话为例,参见图4,该应用实施例包括:
410,移动终端D通过应用程序开始呼叫移动终端E,终端设备D发送呼叫请求消息(SIPInvite请求消息)至移动终端D配置的SIP服务器。
其中,移动终端D的UUID通过CALL-INFO字段或者USER-Agent携带,本地IP地址在SDP信息中携带。SDP信息中主要携带用于媒体通信的本地网络地址和端口信息,以及终端设备所支持的媒体通信编解码信息,例如音频是否支持G711、G729等编解码方式,最终媒体通信时双方终端设备需要从中选择最终采用的媒体网络地址和编解码算法。
420,移动终端E收到呼叫请求消息后,先向数据服务器发送同网关系查询请求(Rest消息)。
其中,Rest消息使用HTTP和Json结合的方式,HTTP可以携带内容(CONTENT)字段,如果内容是JSON,则HTTP内部字段CONTENT-TYPE设置为application/json,内容为实际JSON消息。同网关系查询请求使用HTTPPOST,内容如下:/RTC/ws/0.1/ApplicationID/123/Query;
本地网络地址和UUID等参数用Json传递,内容如下:
{“localIP”:”192.168.0.2”,”localID”:”11111111111111”,”remoteIP”:”192.168.0.1”,”remoteID”:”2222222222222”}。
为简单起见,本应用实施例仅示例性地示出各种地址信息中的IP地址,未示出端口号。
430,数据服务器接收到同网关系查询请求后,假设移动终端D和E是第一次进行媒体通信,那么数据服务器没有标识他们之间属于同网关系的同网关系表项,则向移动终端E发送查询失败的查询结果消息,该查询结果消息中携带的查询结果为失败,封装在Json中的字段为0,查询结果消息的内容如下:{“result”:”0”}。
440,移动终端E接收到该表示查询失败的查询结果消息后,开始正常的ICE穿越流程,首先发送媒体地址收集请求消息至公网的ICE服务器(STUN或TURN服务器)。
以STUN服务器为例,媒体地址收集请求消息主要包含消息头和消息属性。其中,消息头主要包含消息类型(Message-Type)和会话标识(Transaction-ID,用于标识本次会话区别其它会话的标识)信息;消息体是由一系列属性组成,主要的属性包含用户名属性(即消息中的USERNAME字段,移动终端E的用户名为”MobileDevice-E”)、消息完整性属性(用于验证消息未被攻击篡改,即消息中MESSAGE-INTERITY字段)和传输协议属性(即REQUESTED-TRANSPORT字段),在此应用实施例中传输协议为UDP,因此可以填写代表UDP的17以及其它辅助信息。主体内容如下:
Message-Type=0x0003(0x0003代表地址收集请求消息)
Transaction-Id=0xC271E932AD7446A32C234492
SOFTWARE="Exampleclient1.03"
LIFETIME=3600(1hour)
REQUESTED-TRANSPORT=17(UDP)
USERNAME="MobileDevice-E"
REALM="ctbri.com"
NONCE="adl7W7PeDU4hKE72jdaQvbAMcr6h39sm"
MESSAGE-INTEGRITY=...
450,ICE服务器接收到地址收集请求消息后,可以对该收集请求消息进行完整性检查,如无误,则产生XOR-MAPPED-ADDRESS和XOR-REPLAYED-ADDRESS两类地址。其中,XOR-MAPPED-ADDRESS是ICE服务器接收到移动终端E的地址收集请求消息报文中的传输IP地址和端口,在此应用实施例中,移动终端E的地址收集请求消息经过NAT后转换为映射公网地址,即:传输IP地址变更为211.150.74.100,端口地址假设不变仍为9117。XOR-REPLAYED-ADDRESS是ICE服务器本身产生的媒体转发地址,使用此媒体转发地址进行媒体通信也就意味媒体包需要经过ICE服务器转发至对端,在此应用实施例中ICE服务器产生的媒体转发地址为:媒体转发地址218.77.120.178,端口50000。ICE服务器向移动终端E返回地址收集响应消息,该地址收集响应消息中包括移动终端E的映射公网地址和ICE服务器分配给接收方终端设备的媒体转发地址。
响应消息的消息类型即Message-Type为0x1030,Transaction-ID与地址收集请求消息中的相同,同样填写消息完整性属性以保证消息不会在传输中被恶意篡改。地址收集响应消息主要内容如下:
Message-Type=0x0103(0x0103代表地址收集响应消息)
Transaction-Id=0xC271E932AD7446A32C234492
XOR-MAPPED-ADDRESS=211.150.74.100:9117
SOFTWARE="Exampleserver,version1.0"
LIFETIME=3600(1hour)
XOR-RELAYED-ADDRESS=218.77.120.178:50000
MESSAGE-INTEGRITY=...
460,移动终端E向移动终端D返回呼叫应答消息(SIPANSWER消息),其中包括映射公网地址、ICE服务器分配给接收方终端设备的媒体转发地址和本地网络地址。
470,移动终端E和移动终端D此时知道了对端的所有可能的媒体通信地址,开始按照ICE穿越流程开始NAT穿越尝试,也就是我们通常所说的打洞过程,逐一尝试连接对方的媒体通信地址,确定可连接地址。
480,打洞结束后,移动终端D向移动终端E发送更新的呼叫请求消息(SIP请求消息),该呼叫请求消息中包括移动终端D最终实际使用的媒体通信地址。
更新的SIP请求消息中SDP信息内的媒体字段candidate携带的内容如下:
a=candidate:Hc0a805441UDP2130706431192.168.0.19125typhost
其中,192.168.0.1为移动终端D要求使用的媒体通信地址,即移动终端D的本地网络地址。
490,移动终端E向移动终端D发送更新的呼叫应答消息(SIP应答消息),该呼叫应答消息中包括移动终端E最终实际使用的媒体通信地址。
更新的SIP应答消息中SDP信息内的媒体字段candidate携带的内容如下:
a=candidate:Hc0a805351UDP2130706431192.168.0.29117typhost
其中,192.168.0.2为移动终端E要求使用的媒体通信地址,即移动终端E的本地网络地址。
移动终端D和E通过解析SIP消息中的candidate信息便可获得能够相互通信的媒体地址。
500,移动终端E通过比对双方的本地网络地址和双方通信实际的媒体通信地址,发现双方实际使用的媒体通信地址其实都是本地网络地址,那么也就意味着双方是在同一局域网内。
510,移动终端E向数据服务器上报同网关系通知消息,该同网关系通知消息仍使用Rest消息,消息中需包含双方的UUID和本地IP地址,Http主体消息如下:
/RTC/ws/0.1/ApplicationID/123/Submit
本地IP地址和UUID等参数用Json传递,内容如下:
{“localIP”:”192.168.0.2”,”localID”:”11111111111111”,”remoteIP”:”192.168.0.1”,”remoteID”:”2222222222222”}。
520,数据服务器提取同网关系通知消息中的UUID和IP地址信息,建立移动终端D和E的同网关系表项并存储以供后续查询使用。
移动终端D下次呼叫终端E,移动终端E收到呼叫请求消息后依旧向数据服务器发送同网关系查询请求,此时数据服务器查询到双方的同网关系表项,将回复查询成功的查询结果消息,查询结果封装在json中,查询结果消息的内容如下:{“result”:”1”}。
移动终端E获知查询成功后,将不再继续ICE穿越流程,直接向移动终端D回复SIP200OK消息,并且关闭200OK消息中SDP信息里的ICE标识,仅提供本地网络地址为媒体通信地址。移动终端D收到此200OK消息后直接使用本地网络地址与移动终端E开始媒体通信。双方成功跳过防火墙穿越的尝试过程即ICE的协商过程进行媒体通信。
移动终端D和E进行媒体通信之后,另外两个终端设备A和B进行媒体通信,数据服务器同样建立终端设备A和B之间的同网关系表项,后续终端设备B又和终端设备C通信,数据服务器发现终端设备A、B已存在同网关系表项,则可以建立终端设备A、B、C三者的关联表,任意两方的后续通信都属于关闭ICE的本地通信。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本发明通信系统一个实施例的结构示意图。该实施例的通信系统可用于实现本发明上述各方法实施例的流程。如图6所示,该实施例的种通信系统包括ICE服务器,例如STUN服务器或TURN服务器,还包括发送方终端设备、接收方终端设备和数据服务器。其中:
发送方终端设备,用于向接收方终端设备发送呼叫请求消息,该呼叫请求消息中包括发送方终端设备的UUID、本地网络地址、映射公网地址和媒体转发地址信息,其中,本地网络地址包括本地IP地址和端口,映射公网地址包括本地网络地址经过NAT得到的公网IP地址和端口,媒体转发地址包括媒体转发IP地址和端口;以及在接收到接收方终端设备返回的呼叫响应消息后,使用该发送方终端设备的本地网络地址,基于呼叫响应消息中接收方终端设备的本地网络地址与接收方终端设备进行媒体通信。
接收方终端设备,用于接收发送方终端设备发送的呼叫请求消息;向数据服务器发送同网关系查询请求,该同网关系查询请求中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;以及根据数据服务器返回的查询结果消息,若查询到发送方终端设备和接收方终端设备属于同网关系,向发送方终端设备返回呼叫响应消息,并将该呼叫响应消息中的ICE标识置于关闭状态,其中的呼叫响应消息中包括接收方终端设备的本地网络地址信息;否则,根据查询结果,若未查询到发送方终端设备和接收方终端设备属于同网关系,与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址并进行媒体通信。
数据服务器,用于存储同网关系信息表,该同网关系信息表中包括一个以上同网关系表项,每一个同网关系表项记录有属于同网关系的终端设备的UUID和本地IP地址信息;以及查询同网关系信息表,并向接收方终端设备返回是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果消息。
在本发明通信系统的另一个实施例中,发起方终端设备或接收方终端设备,还用于在通过ICE穿越流程确定发送方终端设备和接收方终端设备双方的媒体通信地址之后,比较双方的媒体通信地址和本地IP地址;若双方的媒体通信地址均采用本地IP地址、且都属于本地地址,则向数据服务器上报同网关系通知消息,该同网关系通知消息中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址。相应地,数据服务器,还用于在同网关系信息表中创建发送方终端设备与接收方终端设备的同网关系表项,该同网关系表项中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址的同网关系表项。
在本发明通信系统的又一个实施例中,发起方终端设备,还用于向ICE服务器发送第一地址收集请求消息,该第一地址收集请求消息中包括发起方终端设备的UUID和本地网络地址信息,发起方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址。相应地,ICE服务器除了实现ICE穿越功能外,该实施例中,还用于向发起方终端设备分配媒体转发地址,并向发起方终端设备返回第一地址收集响应消息,该第一地址收集响应消息中包括发起方终端设备的映射公网地址和分配给发起方终端设备的媒体转发地址信息。
在本发明上述通信系统实施例的一个具体示例中,接收方终端设备与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址时:
接收方终端设备,具体用于向ICE服务器发送第二地址收集请求消息,该第二地址收集请求消息中包括接收方终端设备的UUID和本地网络地址信息;接收方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址;以及向发送方终端设备返回呼叫应答消息,该呼叫应答消息中包括接收方终端设备的UUID、本地网络地址、映射公网地址和媒体转发地址信息;分别与发送方终端设备的本地网络地址、映射公网地址和媒体转发地址进行逐一尝试连接,确定可连接地址,并按照预设优先级顺序,从可连接地址中选择最高优先级的地址作为用于通信的媒体地址,预设地址优先级顺序为:本地网络地址、映射公网地址和媒体转发地址中,本地网络地址具有最高优先级;以及向发送方终端设备返回更新的呼叫应答消息,该呼叫应答消息中包括接收方终端设备最终实际使用的媒体通信地址。
相应地,ICE服务器,还用于向接收方终端设备分配媒体转发地址,并向接收方终端设备返回第二地址收集响应消息,该第二地址收集响应消息中包括接收方终端设备的映射公网地址和分配给接收方终端设备的媒体转发地址。发送方终端设备,具体用于分别与接收方终端设备的本地网络地址、映射公网地址和媒体转发地址进行逐一尝试连接,确定可连接地址,并按照预设优先级顺序,从可连接地址中选择最高优先级的地址作为用于通信的媒体地址;以及向接收方终端设备发送更新的呼叫请求消息,该呼叫请求消息中包括发送方终端设备最终实际使用的媒体通信地址;
在本发明通信系统的再一个实施例中,发送方终端设备和接收方终端设备,还用于在接入一个网络或者获得一个本地IP地址时,利用当前的日期和时间、全局唯一的物理标识和一个随机序列计算获取该终端设备的UUID。
在本发明通信系统的再一个实施例中,数据服务器,还用于接收到同网关系通知消息之后,查询同网关系信息表中是否存在关联同网关系表项,其中的关联同网关系表项为包括同网关系通知消息中任意一方终端设备的UUID和本地IP地址的同网关系表项;若同网关系信息表中存在关联同网关系表项,对该关联同网关系表项进行更新,将关联同网关系表项中不存在的、同网关系通知消息中终端设备的UUID和本地IP地址写入关联同网关系表中,以便标识关联同网关系中的终端设备与同网关系通知消息中的终端设备属于同网关系。
在本发明通信系统的再一个实施例中,发送方终端设备和接收方终端设备,还用于在监测到所处的网络发生切换或者本地IP地址发生变化,重新生成该终端设备的UUID,并向数据服务器发送同网关系删除通知,该同网关系删除通知中包括终端设备的原UUID和原本地IP地址。相应地,数据服务器,还用于删除发送同网关系删除通知的终端设备的同网关系信息。
示例性地,数据服务器删除同网关系信息时,具体用于查询同网关系信息表中是否存在包括原UUID和原本地IP地址的同网关系表项;若存在包括原UUID和原本地IP地址的同网关系表项,识别包括原UUID和原本地IP地址的同网关系表项中的UUID数量是否大于2个;若包括原UUID和原本地IP地址的同网关系表项中的UUID数量大于2个,则从该同网关系表项中删除原UUID和原本地IP地址;否则,包括原UUID和原本地IP地址的同网关系表项中的UUID数量为2个,删除该同网关系表项。
在本发明通信系统的再一个实施例中,数据服务器,还用于删除超过预设期限未被查询和使用的同网关系表项;或者,在某一同网关系表项在预设期限内被查询和使用、其中的UUID数量大于2个时,删除其中超过预设期限未被查询和使用的终端设备的UUID和本地IP地址。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法、系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (21)

1.一种终端设备之间的通信方法,其特征在于,包括:
接收方终端设备接收发送方终端设备发送的呼叫请求消息,所述呼叫请求消息中包括发送方终端设备的全局唯一标识符UUID、本地网络地址、映射公网地址和媒体转发地址信息;其中,所述本地网络地址包括本地IP地址和端口,所述映射公网地址包括本地网络地址经过网络地址转换NAT得到的公网IP地址和端口,所述媒体转发地址包括媒体转发IP地址和端口;
接收方终端设备向数据服务器发送同网关系查询请求,所述同网关系查询请求中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;
数据服务器查询同网关系信息表,并向接收方终端设备返回是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果消息;所述同网关系信息表中包括一个以上同网关系表项,每一个同网关系表项记录有属于同网关系的终端设备的UUID和本地IP地址信息;
根据查询结果消息,若查询到发送方终端设备和接收方终端设备属于同网关系,接收方终端设备向发送方终端设备返回呼叫响应消息,并将该呼叫响应消息中的交互式连接建立ICE标识置于关闭状态,所述呼叫响应消息中包括接收方终端设备的本地网络地址信息;发送方终端设备使用该发送方终端设备的本地网络地址,基于接收方终端设备的本地网络地址与接收方终端设备进行媒体通信;
否则,根据查询结果,若未查询到发送方终端设备和接收方终端设备属于同网关系,接收方终端设备与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址并进行媒体通信。
2.根据权利要求1所述的方法,其特征在于,所述通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址之后,还包括:
发起方或接收方终端设备比较双方的媒体通信地址和本地IP地址;
若双方的媒体通信地址均采用本地IP地址、且都属于本地地址,则向数据服务器上报同网关系通知消息,该同网关系通知消息中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;
数据服务器在同网关系信息表中创建发送方终端设备与接收方终端设备的同网关系表项,该同网关系表项中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址的同网关系表项。
3.根据权利要求2所述的方法,其特征在于,所述呼叫请求消息与所述呼叫响应消息具体为会话发起协议SIP消息;
所述SIP消息具体通过SIP消息中的呼叫信息CALL-INFO字段或者用户代理USER-Agent字段携带终端设备的UUID,通过SIP消息中的会话描述协议SDP信息携带终端设备的本地网络地址。
4.根据权利要求2所述的方法,其特征在于,所述同网关系查询请求和所述查询结果消息具体为表述性状态转移Rest消息,所述Rest消息具体为内部封装基于JavaScript语言的轻量级的数据交换格式Json信息的超文本传输协议HTTP消息;
在同网关系查询请求中,通过Json信息携带发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;
在查询结果消息中,通过所述Json信息携带是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果。
5.根据权利要求2所述的方法,其特征在于,所述接收方终端设备接收发送方终端设备发送的呼叫请求消息之前,还包括:
发起方终端设备向ICE服务器发送第一地址收集请求消息,所述第一地址收集请求消息中包括发起方终端设备的UUID和本地网络地址信息;所述发起方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址;
ICE服务器向发起方终端设备分配媒体转发地址,并向发起方终端设备返回第一地址收集响应消息,该第一地址收集响应消息中包括所述发起方终端设备的映射公网地址和分配给发起方终端设备的媒体转发地址信息。
6.根据权利要求5所述的方法,其特征在于,所述接收方终端设备与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址包括:
接收方终端设备向ICE服务器发送第二地址收集请求消息,所述第二地址收集请求消息中包括接收方终端设备的UUID和本地网络地址信息;所述接收方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址;
ICE服务器向接收方终端设备分配媒体转发地址,并向接收方终端设备返回第二地址收集响应消息,该第二地址收集响应消息中包括所述接收方终端设备的映射公网地址和分配给接收方终端设备的媒体转发地址;
接收方终端设备向发送方终端设备返回呼叫应答消息,该呼叫应答消息中包括接收方终端设备的UUID、本地网络地址、映射公网地址和媒体转发地址信息;
发送方终端设备和接收方终端设备分别与对端终端设备的本地网络地址、映射公网地址和媒体转发地址进行逐一尝试连接,确定可连接地址,并按照预设优先级顺序,从可连接地址中选择最高优先级的地址作为用于通信的媒体地址;所述预设地址优先级顺序为:本地网络地址、映射公网地址和媒体转发地址中,本地网络地址具有最高优先级;
发送方终端设备向接收方终端设备发送更新的呼叫请求消息,该呼叫请求消息中包括发送方终端设备最终实际使用的媒体通信地址;
接收方终端设备向发送方终端设备返回更新的呼叫应答消息,该呼叫应答消息中包括接收方终端设备最终实际使用的媒体通信地址。
7.根据权利要求1至6任意一项所述的方法,其特征在于,还包括终端设备通过以下方式生成UUID的操作:
终端设备在接入一个网络或者获得一个本地IP地址时,利用当前的日期和时间、全局唯一的物理标识和一个随机序列计算获取该终端设备的UUID。
8.根据权利要求1至6任意一项所述的方法,其特征在于,还包括:
数据服务器接收到同网关系通知消息之后,查询同网关系信息表中是否存在关联同网关系表项,所述关联同网关系表项为包括同网关系通知消息中任意一方终端设备的UUID和本地IP地址的同网关系表项;
若同网关系信息表中存在关联同网关系表项,对该关联同网关系表项进行更新,将关联同网关系表项中不存在的、所述同网关系通知消息中终端设备的UUID和本地IP地址写入所述关联同网关系表中,以便标识关联同网关系中的终端设备与同网关系通知消息中的终端设备属于同网关系。
9.根据权利要求1至6任意一项所述的方法,其特征在于,还包括:
响应于监测到所处的网络发生切换或者本地IP地址发生变化,终端设备重新生成该终端设备的UUID,并向数据服务器发送同网关系删除通知,该同网关系删除通知中包括所述终端设备的原UUID和原本地IP地址;
数据服务器删除所述终端设备的同网关系信息。
10.根据权利要求9所述的方法,其特征在于,所述数据服务器删除所述终端设备的同网关系信息包括:
所述数据服务器查询同网关系信息表中是否存在包括所述原UUID和原本地IP地址的同网关系表项;
若存在包括所述原UUID和原本地IP地址的同网关系表项,识别包括所述原UUID和原本地IP地址的同网关系表项中的UUID数量是否大于2个;
若包括所述原UUID和原本地IP地址的同网关系表项中的UUID数量大于2个,则从该同网关系表项中删除所述原UUID和原本地IP地址;
否则,包括所述原UUID和原本地IP地址的同网关系表项中的UUID数量为2个,删除该同网关系表项。
11.根据权利要求1至6任意一项所述的方法,其特征在于,还包括:
数据服务器删除超过预设期限未被查询和使用的同网关系表项;或者
数据服务器在某一同网关系表项在预设期限内被查询和使用、其中的UUID数量大于2个时,删除其中超过预设期限未被查询和使用的终端设备的UUID和本地IP地址。
12.一种通信系统,包括ICE服务器,其特征在于,还包括:
发送方终端设备,用于向接收方终端设备发送呼叫请求消息,所述呼叫请求消息中包括发送方终端设备的UUID、本地网络地址、映射公网地址和媒体转发地址信息;其中,所述本地网络地址包括本地IP地址和端口,所述映射公网地址包括本地网络地址经过NAT得到的公网IP地址和端口,所述媒体转发地址包括媒体转发IP地址和端口;以及在接收到接收方终端设备返回的呼叫响应消息后,使用该发送方终端设备的本地网络地址,基于所述呼叫响应消息中接收方终端设备的本地网络地址与接收方终端设备进行媒体通信;
接收方终端设备,用于接收发送方终端设备发送的呼叫请求消息;向数据服务器发送同网关系查询请求,所述同网关系查询请求中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;以及根据数据服务器返回的查询结果消息,若查询到发送方终端设备和接收方终端设备属于同网关系,向发送方终端设备返回呼叫响应消息,并将该呼叫响应消息中的ICE标识置于关闭状态,所述呼叫响应消息中包括接收方终端设备的本地网络地址信息;否则,根据查询结果,若未查询到发送方终端设备和接收方终端设备属于同网关系,与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址并进行媒体通信;
数据服务器,用于存储同网关系信息表,所述同网关系信息表中包括一个以上同网关系表项,每一个同网关系表项记录有属于同网关系的终端设备的UUID和本地IP地址信息;以及查询同网关系信息表,并向接收方终端设备返回是否查询到发送方终端设备和接收方终端设备属于同网关系的查询结果消息。
13.根据权利要求12所述的系统,其特征在于,所述ICE服务器包括NAT的用户数据报协议简单穿越STUN服务器、或通过中继方式穿越NATTURN服务器。
14.根据权利要求12所述的系统,其特征在于,所述发起方终端设备或接收方终端设备,还用于在通过ICE穿越流程确定发送方终端设备和接收方终端设备双方的媒体通信地址之后,比较双方的媒体通信地址和本地IP地址;若双方的媒体通信地址均采用本地IP地址、且都属于本地地址,则向数据服务器上报同网关系通知消息,该同网关系通知消息中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址;
所述数据服务器,还用于在同网关系信息表中创建发送方终端设备与接收方终端设备的同网关系表项,该同网关系表项中包括发送方终端设备的UUID和本地IP地址、以及接收方终端设备的UUID和本地IP地址的同网关系表项。
15.根据权利要求14所述的系统,其特征在于,所述发起方终端设备,还用于向ICE服务器发送第一地址收集请求消息,所述第一地址收集请求消息中包括发起方终端设备的UUID和本地网络地址信息;所述发起方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址;
所述ICE服务器,用于向发起方终端设备分配媒体转发地址,并向发起方终端设备返回第一地址收集响应消息,该第一地址收集响应消息中包括所述发起方终端设备的映射公网地址和分配给发起方终端设备的媒体转发地址信息。
16.根据权利要求15所述的系统,其特征在于,所述接收方终端设备与发送方终端设备通过ICE穿越流程,确定发送方终端设备和接收方终端设备双方的媒体通信地址时:
所述接收方终端设备,具体用于向ICE服务器发送第二地址收集请求消息,所述第二地址收集请求消息中包括接收方终端设备的UUID和本地网络地址信息;所述接收方终端设备的本地网络地址经过NAT设备后被转换为映射公网地址;以及向发送方终端设备返回呼叫应答消息,该呼叫应答消息中包括接收方终端设备的UUID、本地网络地址、映射公网地址和媒体转发地址信息;分别与发送方终端设备的本地网络地址、映射公网地址和媒体转发地址进行逐一尝试连接,确定可连接地址,并按照预设优先级顺序,从可连接地址中选择最高优先级的地址作为用于通信的媒体地址,所述预设地址优先级顺序为:本地网络地址、映射公网地址和媒体转发地址中,本地网络地址具有最高优先级;以及向发送方终端设备返回更新的呼叫应答消息,该呼叫应答消息中包括接收方终端设备最终实际使用的媒体通信地址;
所述ICE服务器,还用于向接收方终端设备分配媒体转发地址,并向接收方终端设备返回第二地址收集响应消息,该第二地址收集响应消息中包括所述接收方终端设备的映射公网地址和分配给接收方终端设备的媒体转发地址;
所述发送方终端设备,具体用于分别与接收方终端设备的本地网络地址、映射公网地址和媒体转发地址进行逐一尝试连接,确定可连接地址,并按照预设优先级顺序,从可连接地址中选择最高优先级的地址作为用于通信的媒体地址;以及向接收方终端设备发送更新的呼叫请求消息,该呼叫请求消息中包括发送方终端设备最终实际使用的媒体通信地址。
17.根据权利要求12至16任意一项所述的系统,其特征在于,所述发送方终端设备和所述接收方终端设备,还用于在接入一个网络或者获得一个本地IP地址时,利用当前的日期和时间、全局唯一的物理标识和一个随机序列计算获取该终端设备的UUID。
18.根据权利要求12至16任意一项所述的系统,其特征在于,所述数据服务器,还用于接收到同网关系通知消息之后,查询同网关系信息表中是否存在关联同网关系表项,所述关联同网关系表项为包括同网关系通知消息中任意一方终端设备的UUID和本地IP地址的同网关系表项;
若同网关系信息表中存在关联同网关系表项,对该关联同网关系表项进行更新,将关联同网关系表项中不存在的、所述同网关系通知消息中终端设备的UUID和本地IP地址写入所述关联同网关系表中,以便标识关联同网关系中的终端设备与同网关系通知消息中的终端设备属于同网关系。
19.根据权利要求12至16任意一项所述的系统,其特征在于,所述发送方终端设备和所述接收方终端设备,还用于在监测到所处的网络发生切换或者本地IP地址发生变化,重新生成该终端设备的UUID,并向数据服务器发送同网关系删除通知,该同网关系删除通知中包括所述终端设备的原UUID和原本地IP地址;
所述数据服务器,还用于删除发送同网关系删除通知的终端设备的同网关系信息。
20.根据权利要求19所述的系统,其特征在于,所述数据服务器删除同网关系信息时,具体用于查询同网关系信息表中是否存在包括所述原UUID和原本地IP地址的同网关系表项;若存在包括所述原UUID和原本地IP地址的同网关系表项,识别包括所述原UUID和原本地IP地址的同网关系表项中的UUID数量是否大于2个;若包括所述原UUID和原本地IP地址的同网关系表项中的UUID数量大于2个,则从该同网关系表项中删除所述原UUID和原本地IP地址;否则,包括所述原UUID和原本地IP地址的同网关系表项中的UUID数量为2个,删除该同网关系表项。
21.根据权利要求12至16任意一项所述的系统,其特征在于,所述数据服务器,还用于删除超过预设期限未被查询和使用的同网关系表项;或者,在某一同网关系表项在预设期限内被查询和使用、其中的UUID数量大于2个时,删除其中超过预设期限未被查询和使用的终端设备的UUID和本地IP地址。
CN201410342839.3A 2014-07-18 2014-07-18 终端设备之间的通信方法和系统 Active CN105262847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410342839.3A CN105262847B (zh) 2014-07-18 2014-07-18 终端设备之间的通信方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410342839.3A CN105262847B (zh) 2014-07-18 2014-07-18 终端设备之间的通信方法和系统

Publications (2)

Publication Number Publication Date
CN105262847A true CN105262847A (zh) 2016-01-20
CN105262847B CN105262847B (zh) 2019-01-04

Family

ID=55102351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410342839.3A Active CN105262847B (zh) 2014-07-18 2014-07-18 终端设备之间的通信方法和系统

Country Status (1)

Country Link
CN (1) CN105262847B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106128463A (zh) * 2016-06-07 2016-11-16 张巍 一种基于云计算的人工同声传译方法及系统
CN107294968A (zh) * 2017-06-21 2017-10-24 北京奇艺世纪科技有限公司 一种音视频数据的监控方法和系统
CN110968744A (zh) * 2018-09-30 2020-04-07 中国移动通信有限公司研究院 一种资源查询方法及装置、设备、存储介质
CN112543351A (zh) * 2020-12-17 2021-03-23 瓴盛科技有限公司 一种网络视频数据处理方法和处理系统
CN113612964A (zh) * 2021-07-29 2021-11-05 深圳市捷视飞通科技股份有限公司 互动教学的处理方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050255880A1 (en) * 2000-09-08 2005-11-17 Kabushiki Kaisha Toshiba Communication system with mobile terminal accessible to mobile communication network and local network simultaneously
CN101179491A (zh) * 2007-11-24 2008-05-14 华为技术有限公司 私用网络内部终端之间通信的方法、设备、装置及系统
CN101753399A (zh) * 2008-12-02 2010-06-23 中兴通讯股份有限公司 会议电视终端互通的实现方法以及网守
CN102685268A (zh) * 2012-05-22 2012-09-19 北京邮电大学 一种VoIP中基于ICE协议的快速私网穿越方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050255880A1 (en) * 2000-09-08 2005-11-17 Kabushiki Kaisha Toshiba Communication system with mobile terminal accessible to mobile communication network and local network simultaneously
CN101179491A (zh) * 2007-11-24 2008-05-14 华为技术有限公司 私用网络内部终端之间通信的方法、设备、装置及系统
CN101753399A (zh) * 2008-12-02 2010-06-23 中兴通讯股份有限公司 会议电视终端互通的实现方法以及网守
CN102685268A (zh) * 2012-05-22 2012-09-19 北京邮电大学 一种VoIP中基于ICE协议的快速私网穿越方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106128463A (zh) * 2016-06-07 2016-11-16 张巍 一种基于云计算的人工同声传译方法及系统
CN107294968A (zh) * 2017-06-21 2017-10-24 北京奇艺世纪科技有限公司 一种音视频数据的监控方法和系统
CN110968744A (zh) * 2018-09-30 2020-04-07 中国移动通信有限公司研究院 一种资源查询方法及装置、设备、存储介质
CN110968744B (zh) * 2018-09-30 2023-09-05 中国移动通信有限公司研究院 一种资源查询方法及装置、设备、存储介质
CN112543351A (zh) * 2020-12-17 2021-03-23 瓴盛科技有限公司 一种网络视频数据处理方法和处理系统
CN113612964A (zh) * 2021-07-29 2021-11-05 深圳市捷视飞通科技股份有限公司 互动教学的处理方法、装置、计算机设备和存储介质
CN113612964B (zh) * 2021-07-29 2024-08-30 深圳市捷视飞通科技股份有限公司 互动教学的处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN105262847B (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN110312160A (zh) 无线投屏方法、装置、智能平板、终端及系统
CN104283760B (zh) 一种WebRTC通信方法、相关设备及系统
CN106850681B (zh) 用于传递消息的方法和系统
CN105262847A (zh) 终端设备之间的通信方法和系统
US20090265456A1 (en) Method and system to manage multimedia sessions, allowing control over the set-up of communication channels
CN102035813B (zh) 端到端呼叫的实现方法、端到端呼叫终端及系统
CN106488475B (zh) 一种实现终端被叫业务恢复的方法及装置
CN107667550A (zh) 无线通信系统中通过轮询信道来处理请求的方法及其设备
CN101834874A (zh) 一种能穿透防火墙的多媒体网络通信方法
CN104243520B (zh) 远程监控方法及装置、系统
CN105282730A (zh) Ims网络中终端通信状态获取方法与系统和应用服务器
CN103973913B (zh) 一种ngn下实现宽带业务功能的方法及业务平台
CN101911664A (zh) 服务控制装置、服务控制系统及方法
CN109769242A (zh) 通信方法、系统、MMTel以及计算机可读存储介质
CN102740466A (zh) 物联网中对资源进行操作的方法及装置
CN104065688B (zh) 一种调用底层服务的方法及装置
CN102984696B (zh) 基于移动终端的ip通信方法、设备和系统
CN103618747A (zh) 一种实现sip信息服务的方法及系统
CN101087302B (zh) 呼叫建立方法
CN102984697B (zh) 基于移动终端的ip通信方法、设备和系统
CN102223386A (zh) 远程访问家庭网络的方法、装置及系统
CN104168302A (zh) 设备操控实现方法、系统和代理网关
US9444649B2 (en) Method for sending and receiving session history in a communications system
CN108965219B (zh) 一种基于视联网的数据处理方法及装置
CN107426452B (zh) 互联网通话方法及装置

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