CN106411836B - 通话连接方法及客户端 - Google Patents
通话连接方法及客户端 Download PDFInfo
- Publication number
- CN106411836B CN106411836B CN201610373444.9A CN201610373444A CN106411836B CN 106411836 B CN106411836 B CN 106411836B CN 201610373444 A CN201610373444 A CN 201610373444A CN 106411836 B CN106411836 B CN 106411836B
- Authority
- CN
- China
- Prior art keywords
- address
- talk
- client
- information
- weighted value
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012360 testing method Methods 0.000 claims abstract description 105
- 230000006854 communication Effects 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 17
- 238000012546 transfer Methods 0.000 claims description 131
- 238000006243 chemical reaction Methods 0.000 claims description 77
- 238000013519 translation Methods 0.000 claims description 14
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种通话连接方法以及客户端,该方法包括:在接听客户端接收到主叫客户端发送的呼叫信息时,解析呼叫信息以获取主叫客户端对应的第一通话地址信息;接听客户端基于第一通话地址信息确定第一通话地址信息中各个通话地址的权重值;接听客户端基于权重值最大的通话地址进行连通性测试,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,以供主叫客户端基于权重值最大的通话地址进行连通性测试;在连通性测试测试成功时,接听客户端基于权重值最大的通话地址建立与主叫客户端的通信连接。本发明优化了连通性检测程序,降低了连通性测试时间。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种通话连接方法及客户端。
背景技术
随着通信技术的不断发展,通过终端设备进行音视频通话也越来越流行,在终端设备在进行音视频通话过程中,终端设备之间的网络环境是不同的,为了使得音视频通话过程中媒体数据从一个终端设备传送到另一个终端设备,需要在外网中部署一台服务器来转发媒体数据,由于所有的终端设备都依赖于该服务器进行媒体数据转发,因此使得服务器承受的压力非常大,容易当机;为了解决上述技术问题,引入(Internet CommunicationEngine,ICE)分布式转发通信机制,使得音视频通话过程中媒体数据从一个终端设备直接传送到另一个终端设备,当媒体数据无法从一个终端设备直接传送到另一个终端设备时,再通过外网中部署的服务器来转发媒体数据,从而实现终端设备之间的音视频通话,但由于终端设备之间的网络环境不同,因此终端设备之间的媒体数据无论是直接发送还是通过中转服务器发送,都必须检测终端设备之间的内网地址连通性、外网地址连通性以及中转站地址连通性,最后选择该三个地址中连通性最好的地址进行通话连接,因此耗费大量的音视频通话连接时间,从而降低了音视频通话连接效率。
发明内容
本发明的主要目的在于提供一种通话连接方法及客户端,旨在解决当前在通话连接时,必须检测终端设备之间的内网地址连通性、外网地址连通性以及中转站地址连通性,而导致音视频通话连接效率的问题。
为实现上述目的,本发明提供的一种通话连接方法,包括:
在接听客户端接收到主叫客户端发送的呼叫信息时,解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息;
所述接听客户端基于所述第一通话地址信息以及所述第二地址信息确定所述第一地址信息中各个通话地址的权重值,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
所述接听客户端基于权重值最大的所述通话地址进行连通性测试,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,以供所述主叫客户端基于权重值最大的所述通话地址进行连通性测试;
在连通性测试测试成功时,所述接听客户端基于权重值最大的所述通话地址建立与所述主叫客户端的通信连接。
优选地,所述接听客户端基于所述第一通话地址信息以及所述第二地址信息确定所述第一地址信息中各个通话地址的权重值的步骤包括:
判断所述第一通话地址信息中的所述第一外网地址与所述第二通话地址信息中的第二外网地址是否相同;
在所述第一外网地址与所述第二外网地址相同时,将所述第一通话地址信息中的所述第一内网地址的权重值设为第一预设值,将所述第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,所述第一预设值大于所述第二预设值。
优选地,所述判断所述第一通话地址信息中的所述第一外网地址与所述第二通话地址信息中的第二外网地址是否相同的步骤之后,所述通话连接方法还包括:
在所述第一外网地址与所述第二外网地址不相同时,获取所述呼叫信息中所述主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型;
在所述第一网络地址转换类型与所述第二网络地址转换类型均为预设类型时,将所述第一中转站地址的权重值设为第三预设值,并将所述第一外网地址以及第一内网地址的权重值设为第四预设值,其中,所述第三预设值大于所述第四预设值。
在所述第一网络地址转换类型与所述第二网络地址转换类型不是预设类型时,将所述第一外网地址的权重值设为第五预设值,将所述第一中转站地址的权重值设为第六预设值,并将所述第一外网地址的权重值设为第七预设值,其中,所述第六预设值大于所述第七预设值,且小于所述第五预设值。
为实现上述目的,本发明又提供一种通话连接方法,包括:
在主叫客户端进入音视频通话模式后,向接听客户端发送呼叫信息;
所述主叫客户端接收所述接听客户端基于所述呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,所述接听客户端解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,所述接听客户端基于所述第一通话地址信息以及所述第二地址信息确定所述第一地址信息中各个通话地址的权重值,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
所述主叫客户端基于权重值最大的所述通话地址进行连通性测试;
在连通性测试成功时,所述主叫客户端根据所述权重值最大的所述通话地址与所述接听客户端进行通话连接。
优选地,所述中转站包括网络地址转换类型为预设转换类型的客户端。
此外,为实现上述目的,本发明还提供一种客户端,包括:接听客户端以及主叫客户端;其中,所述接听客户端包括:
解析模块,用于在接听客户端接收到主叫客户端发送的呼叫信息时,解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息;
确定模块,用于基于所述第一通话地址信息以及所述第二地址信息确定所述第一地址信息中各个通话地址的权重值,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
第一测试模块,用于基于权重值最大的所述通话地址进行连通性测试,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,以供所述主叫客户端基于权重值最大的所述通话地址进行连通性测试;
创建模块,用于在连通性测试测试成功时,基于权重值最大的所述通话地址建立与所述主叫客户端的通信连接。
优选地,所述确定模块包括:
判断单元,用于判断所述第一通话地址信息中的所述第一外网地址与所述第二通话地址信息中的第二外网地址是否相同;
设置单元,用于在所述第一外网地址与所述第二外网地址相同时,将所述第一通话地址信息中的所述第一内网地址的权重值设为第一预设值,将所述第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,所述第一预设值大于所述第二预设值。
优选地,所述接听客户端包括:
获取模块,用于在所述第一外网地址与所述第二外网地址不相同时,获取所述呼叫信息中所述主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型;
第一设置模块,用于在所述第一网络地址转换类型与所述第二网络地址转换类型均为预设类型时,将所述第一中转站地址的权重值设为第三预设值,并将所述第一外网地址以及第一内网地址的权重值设为第四预设值,其中,所述第三预设值大于所述第四预设值。
第二设置模块,用于在所述第一网络地址转换类型与所述第二网络地址转换类型不是预设类型时,将所述第一外网地址的权重值设为第五预设值,将所述第一中转站地址的权重值设为第六预设值,并将所述第一外网地址的权重值设为第七预设值,其中,所述第六预设值大于所述第七预设值,且小于所述第五预设值。
为实现上述目的,本发明还提供一种客户端,包括:接听客户端以及主叫客户端;其中,所述主叫客户端包括:
发送模块,用于在主叫客户端进入音视频通话模式后,向接听客户端发送呼叫信息;
接收模块,用于接收所述接听客户端基于所述呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,所述接听客户端解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,所述接听客户端基于所述第一通话地址信息以及所述第二地址信息确定所述第一地址信息中各个通话地址的权重值,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
第二测试模块,用于基于权重值最大的所述通话地址进行连通性测试;
连接模块,用于在连通性测试成功时,根据所述权重值最大的所述通话地址与所述接听客户端进行通话连接。
优选地,所述中转站包括网络地址转换类型为预设转换类型的客户端。
本发明通过在接听客户端接收到主叫客户端发送的呼叫信息时,解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,接听客户端基于第一通话地址信息以及第二通话地址信息确定第一通话地址信息中各个通话地址的权重值,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址,接听客户端基于权重值最大的通话地址进行连通性测试,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,以供主叫客户端基于权重值最大的通话地址进行连通性测试,在连通性测试测试成功时,接听客户端基于权重值最大的通话地址建立与主叫客户端的通信连接。由于在接听客户端确定该主叫客户端对应的第一通话地址信息中各个通话地址的权重值后,该接听客户端基于权重值最大的通话地址进行连通性测试,因此优化了连通性检测程序,降低了连通性测试时间,从而降低了音视频通话连接时间,进而提高了音视频通话连接效率。
附图说明
图1为本发明通话连接方法的第一实施例的流程示意图;
图2为本发明图1所示第一实施例中步骤S120的细化步骤的流程示意图;
图3为本发明通话连接方法的第二实施例的流程示意图;
图4为本发明通话连接方法的第三实施例的流程示意图;
图5为本发明客户端中接听客户端的第一实施例的功能模块示意图;
图6为本发明客户端中接听客户端的第二实施例中确定模块的细化功能模块示意图;
图7为本发明客户端中接听客户端的第三实施例的功能模块示意图;
图8为本发明客户端中主叫客户端的第四实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
基于上述问题,本发明提供一种通话连接方法。
参照图1,图1为本发明通话连接方法的第一实施例的流程示意图。
在本实施例中,所述通话连接方法包括:
步骤S110,在接听客户端接收到主叫客户端发送的呼叫信息时,解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息;
在本实施例中,该接听客户端以及主叫客户端为支持RFC5766协议的ICE客户端,该接听客户端以及主叫客户端通过RFC5766协议与TURN Server中转站进行通讯,而该TURNServer中转站包括支持RFC5766协议的TURN Server客户端,用于以ICE中转服务器的角色为ICE客户端提供TURN中转服务。当主叫客户端开启音视频通话模式后,使用SIP会话发起协议,向接听客户端发送INVITE呼叫信息,而该INVITE呼叫信息由SDP协议构建的,该SDP协议在构建该INVITE呼叫信息的同时,也将该主叫客户端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型通过增加属性项的形式构建在该INVITE呼叫信息中,因而该主叫客户端在向该接听客户端发送INVITE呼叫信息的同时,也会将本端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型发送给该接听客户端。在该接听客户端接收到该主叫客户端发送的该INVITE呼叫信息后,解析该INVITE呼叫信息获取该主叫客户端对应的第一通话地址信息,其中,该第一通话地址信息包括该主叫客户端对应的第一内网地址、第一外网地址以及两组第一中转地址。当该接听客户端接收到该主叫客户端发送的两组第一中转地址,判断本端当前存储的第二中转地址与该两组第一中转地址是否相同,若是,则获取已存储的基于该第二中转地址对应的中转站获取的本端的第二外网地址、第二内网地址以及第二网络转换NAT类型,若否,则基于该两组第一中转地址对应的中转站获取本端的第二通话信息,该第二通话信息包括该接听客户端对应的第二内网地址、第二外网地址、两组第二中转站地址以及第二网络转换NAT类型。其中,该两组第一中转地址不同,且该两组第一中转地址与该两组第二中转地址一致。
需要说明的是,该主叫客户端以及该接听客户端包括可进行音视频通话的终端。
步骤S120,接听客户端基于第一通话地址信息以及第二通话地址信息确定第一通话地址信息中各个通话地址的权重值,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址;
当接听客户端获取到本端的第二通话地址信息以及该主叫客户端的第一通话地址后,根据该第二通话地址信息以及该第一通话地址确定该第一通话地址信息中各个通话地址的权重值。其中,该第一通话地址信息中的各个通话地址包括第一外网地址、第一内网地址以及两组第一中转站地址。
步骤S130,接听客户端基于权重值最大的通话地址进行连通性测试,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,以供主叫客户端基于权重值最大的通话地址进行连通性测试;
在该接听客户端确定该第一通话地址信息中各个通话地址的权重值后,将第一通话地址信息中各个通话地址的权重值按照从大到小的顺序进行排列,该接听客户端首先根据该第一通话地址信息中权重值最大的通话地址与该主叫客户端进行连通性测测试,若该权重值最大的通话地址连通失败,则选择排列第二的权重值对应的通话地址进行连通性测试,若按照权重值按照从大到小的顺序所对应的通话地址进行连通性测试都失败后,则该接听客户端根据两组第一中转站地址跳转至中转站,基于该中转站建立与该主叫客户端的通信连接。
步骤S140,在连通性测试测试成功时,接听客户端基于权重值最大的通话地址建立与主叫客户端的通信连接。
在接听客户端基于权重值最大的通话地址进行连通性测试成功后,该接听客户端基于该权重值最大的通话地址建立与该主叫客户端的通信连接。
可以理解的是,当该接听客户端确定该第一通话地址信息中某个通话地址的权重值为最小值如0时,以及第二通话地址信息中某个通话地址的权重值为最小值如0时,不需要进行连通性测试。
本实施例通过在接听客户端接收到主叫客户端发送的呼叫信息时,解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,接听客户端基于第一通话地址信息以及第二通话地址信息确定第一通话地址信息中各个通话地址的权重值,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址,接听客户端基于权重值最大的通话地址进行连通性测试,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,以供主叫客户端基于权重值最大的通话地址进行连通性测试,在连通性测试测试成功时,接听客户端基于权重值最大的通话地址建立与主叫客户端的通信连接。由于在接听客户端确定该主叫客户端对应的第一通话地址信息中各个通话地址的权重值后,该接听客户端基于权重值最大的通话地址进行连通性测试,因此优化了连通性检测程序,降低了连通性测试时间,从而降低了音视频通话连接时间,进而提高了音视频通话连接效率。
进一步的,请参照图2,为本发明第一实施例中步骤S120的细化步骤的流程示意图,该步骤S120中所述接听客户端基于所述第一通话地址信息以及所述第二通话地址信息确定所述第一通话地址信息中各个通的细化步骤包括:
步骤S121,判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同;
在本实施例中,当该接听客户端获取到本端的第二通话地址信息以及该主叫客户端的第一通话地址后,判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同。
步骤S122,在第一外网地址与第二外网地址相同时,将第一通话地址信息中的第一内网地址的权重值设为第一预设值,将第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,第一预设值大于第二预设值。
在确定第一外网地址与第二外网地址相同时,将该第一通话地址信息中的第一内网地址的权重值设为第一预设值如1,将该第一外网地址以及两组第一中转站地址的权重值设为第二预设值如0,且该第一预设值大于第二预设值。其中,该内网也可称为局域网。
需要说明的是,在确定第一外网地址与第二外网地址相同时,该接听客户端基于该第一内网地址与该主叫客户端进行连通性测试,由于将该第一外网地址以及两组第一中转站地址的权重值设为0,则该接听客户端将不对该第一外网地址以及两组第一中转站地址进行连通性测试,但是若该接听客户端基于该第一内网地址与该主叫客户端进行连通性测试失败时,该接听客户端基于该两组第一中转地址与主叫客户端进行连通性测试,在测试成功后,该接听客户端基于该第一中转地址对应的中转站建立与该主叫客户端的通话连接。
本实施例通过判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同,在第一外网地址与第二外网地址相同时,将第一通话地址信息中的第一内网地址的权重值设为第一预设值,将第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,第一预设值大于第二预设值。由于通过比对确定接听客户端的第二外网地址与主叫客户端的第一外网地址相同时,则确定该接听客户端与该主叫客户端处于同一局域网内,从而确定该第一内网地址的权重值为最大,因此减少了该接听客户端确定各个通话地址的权重值的程序,从而降低了权重值的确定时间,提高了音视频通话连接效率。
进一步的,请参照图3,提出本发明通话连接方法的第二实施例的流程示意图,在该第二实施例中,S121之前,该通话连接方法包括:
步骤S150,在第一外网地址与第二外网地址不相同时,检测呼叫信息中主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型;
在本实施例中,在确定第一外网地址与第二外网地址不相同时,获取该主叫客户端发送的INVITE呼叫信息中包含的该主叫客户端的第一网络地址转换NAT类型,并将该第一网络地址转换NAT类型与本端已存储的第二网络地址转换NAT类型,判断该第一网络地址转换NAT类型与该第二网络地址转换NAT类型是否为预设类型。其中,该预设类型为Symmetric与Symmetric、Symmetric与Port Restricted、Port Restricted与PortRestricted以及不通。
步骤S160,在第一网络地址转换类型与第二网络地址转换类型均为预设类型时,将第一中转站地址的权重值设为第三预设值,并将第一外网地址以及第一内网地址的权重值设为第四预设值,其中,第三预设值大于第四预设值。
当第一网络地址转换NAT类型与第二网络地址转换NAT类型均为预设类型时,将两组第一中转站地址的权重值设置为第三预设值如1,并将第一外网地址以及第一内网地址的权重值设置为第四预设值如0。
需要说明的是,在确定两组第一中转站地址的权重值为最大值后,该接听客户端基于该两组第一中转站地址与该主叫客户端进行连通性测试,哪组第一中转站地址的连通性测试先成功,该接听客户端基于该连通性测试先成功的第一中转站地址建立与该主叫客户端的通话连接,将连通性测试后成功的另一组第一中转站地址作为备份,可在基于该连通性测试先成功的第一中转站地址建立的通话连接的通话质量较差时,启用该备份地址进行通话连接,以保障通话质量。
步骤S170,在第一网络地址转换类型与第二网络地址转换类型不是预设类型时,将第一外网地址的权重值设为第五预设值,将第一中转站地址的权重值设为第六预设值,并将第一内网地址的权重值设为第七预设值,其中,第六预设值大于第七预设值,且小于第五预设值。
在第一网络地址转换NAT类型与第二网络地址转换NAT类型均不是该预设类型时,该接听客户端将该第一外网地址的权重值设置为第五预设值如2,将两组第一中转地址的权重值设置为第六预设值如1,将第一内网地址的权重值设置为第七预设值如0。
可以理解的是,在确定该第一外网地址的权重值为最大值后,该接听客户端基于该第一外网地址与该主叫客户端进行连通性测试,当连通性测试成功时,该接听客户端基于该第一外网地址建立与该主叫客户端的通话连接,当该连通性测试失败时,该接听客户端基于该两组第一中转地址与该主叫客户端进行连通性测试,当连通性测试成功时,该接听客户端基于该两组第一中转地址中的一组第一中转地址建立与该主叫客户端的通话连接,当连通性测试失败时,基于外网中部署的中转站建立与该主叫客户端进行通话连接,或者该接听客户端中断与该主叫客户端通话连接。
需要说明的是,无论是通过外网地址通话、内网地址通话或者是中转站地址通话,在通话过程中,仍有一组中转地址有效,并作为备份地址,可在通话质量较差时启用该作为备份地址的中转地址,以保障通话质量。
本实施例通过判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同,在第一外网地址与第二外网地址不相同时,检测呼叫信息中主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型,在第一网络地址转换类型与第二网络地址转换类型均为预设类型时,将第一中转站地址的权重值设为第三预设值,并将第一外网地址以及第一内网地址的权重值设为第四预设值,其中,第三预设值大于第四预设值,在第一网络地址转换类型与第二网络地址转换类型不是预设类型时,将第一外网地址的权重值设为第五预设值,将第一中转站地址的权重值设为第六预设值,并将第一内网地址的权重值设为第七预设值,其中,第六预设值大于第七预设值,且小于第五预设值。由于在第一外网地址与第二外网地址不相同时,表明该接听客户端与该主叫客户端的网络环境不同中,通过判断该主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型来进一步确定该主叫客户端对应的第一通话地址信息中的各个通话地址的权重值,因此使得第一通话地址信息中的各个通话地址的权重值的确定更加精确,从而使得该接听客户端基于权重值最大的该通话地址建立与该主叫客户端的通话连接更加稳定。
基于上述问题,本发明提供一种通话连接方法。
参照图4,图4为本发明通话连接方法的第三实施例的流程示意图。
在本实施例中,所述通话连接方法包括:
步骤S210,在主叫客户端进入音视频通话模式后,向接听客户端发送呼
叫信息;
步骤S220,主叫客户端接收接听客户端基于呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,接听客户端解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,接听客户端基于第一通话地址信息以及第二地址信息确定第一地址信息中各个通话地址的权重值,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址;
在本实施例中,该主叫客户端定期向TURN Server中转站管理服务器发送中转站获取请求指令,以供该TURN Server中转站管理服务器基于该中转站获取请求指令访问中转站列表,基于该主叫客户端发送该中转站获取请求指令获取该主叫客户端对应的位置信息,并根据该主叫客户端对应的位置信息分配两个与该主叫客户端位置临近的TURNServer中转站,并将该两个TURN Server中转对应的地址发送给该主叫客户端,当该主叫客户端接收到该两个TURN Server中转站对应的地址后,基于该两个TURN Server中转站对应的地址向该两个TURN Server中转站发送ICE请求,以获取该主叫客户端对应的第一通话地址信息,并将该第一通话地址信息进行存储在该主叫客户端中。当该主叫客户端开启音视频通话模式后,使用SIP会话发起协议,向接听客户端发送INVITE呼叫信息,而该INVITE呼叫信息由SDP协议构建的,该SDP协议在构建该INVITE呼叫信息的同时,也将该主叫客户端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型通过增加属性项的形式构建在该INVITE呼叫信息中,因而该主叫客户端在向该接听客户端发送INVITE呼叫信息的同时,也会将本端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型发送给该接听客户端。在该接听客户端接收到该主叫客户端发送的该INVITE呼叫信息后,解析该INVITE呼叫信息获取该主叫客户端对应的第一通话地址信息,其中,该第一通话地址信息包括该主叫客户端对应的第一内网地址、第一外网地址以及两组第一中转地址。当该接听客户端接收到该主叫客户端发送的INVITE呼叫信息后,基于呼叫信息发送的第一通话地址信息中各个通话地址的权重值。
步骤S230,主叫客户端基于权重值最大的通话地址进行连通性测试;
在主叫客户端接收到该接听客户端发送的第一通话地址信息中各个通话地址的权重值时,更新本端权重值列表,根据权重值最大的通话地址与接听客户端进行连通性测试。
步骤S240,在连通性测试成功时,主叫客户端根据权重值最大的通话地址与接听客户端进行通话连接。
在连通性测试成功时,主叫客户端根据权重值最大的通话地址与接听客户端进行通话连接;在连通性测试失败时,主叫客户端根据第一中转站地址对应的中转站与接听客户端进行通话连接。
需要说明的是,STUN服务器用于获取客户端的网络地址转换类型,当客户端的网络地址转换类型为预设类型时,确定客户端为中转站,并将客户端的信息发送给中转站管理服务器,以供中转站管理服务器记录客户端的信息。第一步:检测客户端是否有能力进行UDP通信以及客户端是否位于NAT后,客户端建立UDP socket然后用这个socket向服务器的(IP-1,Port-1)发送数据包要求服务器的(IP-1,Port-1)地址对请求进行响应,返回客户端的IP和Port。无法接受到服务器的回应,则判为网络Blocking。比较返回IP和Port为外网IP,且与本地IP和Port一致时,则网络为Public,否则继续进入下一步。第二步:检测客户端NAT是否是Full Cone NAT,客户端向服务器的(IP-1,Port-1)发送数据包要求服务器用另一对(IP-2,Port-2)响应客户端的请求返回,无法接受到服务器的回应,则说明客户端的NAT不是一个Full Cone NAT,具体类型有待下一步检测(继续)。如果能够接受到服务器从(IP-2,Port-2)返回的应答UDP包,则说明客户端是一个Full Cone NAT。第三步:检测客户端NAT是否是Symmetric NAT,用同样的socket向服务器的(IP-2,Port-2)发送数据包要求服务器用(IP-2,Port-2)地址返回客户端的IP和Port。比较第一步中返回的客户端(IP,Port),如果两个过程返回的(IP,Port)相同继续进入下一步检测,否则判为SymmetricNAT。第四步:检测客户端NAT是否是Restricted Cone NAT还是Port Restricted ConeNAT,客户端向服务器的(IP-1,Port-1)发送数据包要求服务器用(IP-1,Port-2)响应客户端的请求返回,若有收到回应,则说明客户端是一个Restricted Cone NAT,否则判为PortRestricted Cone NAT。根据NAT类型及IP协议,将检测NAT类型为Full Cone NAT或Public的客户端,启动TURN SERVER服务,将其本地3478端口映躲成与外网端口一致,以便其他客户端直接以ICE RFC5766协议进行连接访问。同时客户端向TURN SERVER管理服务器进行中转站角色登记。
本实施例通过主叫客户端接收接听客户端基于呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,接听客户端解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,接听客户端基于第一通话地址信息以及第二地址信息确定第一地址信息中各个通话地址的权重值,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址,主叫客户端基于权重值最大的通话地址进行连通性测试,在连通性测试成功时,主叫客户端根据权重值最大的通话地址与接听客户端进行通话连接。由于主叫客户端在接收到接听客户端发送的第一通话地址信息中各个通话地址的权重值时,基于权重值最大的通话地址进行连通性测试,因此优化了连通性检测程序,降低了连通性测试时间,从而降低了音视频通话连接时间,进而提高了音视频通话连接效率。
本发明进一步提供一种客户端。
参照图5,图5为本发明客户端中接听客户端的第一实施例的功能模块示意图。
在本实施例中,接听客户端包括:解析模块110、确定模块120、第一测试模块130及创建模块140。
所述解析模块110,用于在接听客户端接收到主叫客户端发送的呼叫信息时,解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息;
在本实施例中,该接听客户端以及主叫客户端为支持RFC5766协议的ICE客户端,该接听客户端以及主叫客户端通过RFC5766协议与TURN Server中转站进行通讯,而该TURNServer中转站包括支持RFC5766协议的TURN Server客户端,用于以ICE中转服务器的角色为ICE客户端提供TURN中转服务。当主叫客户端开启音视频通话模式后,使用SIP会话发起协议,向接听客户端发送INVITE呼叫信息,而该INVITE呼叫信息由SDP协议构建的,该SDP协议在构建该INVITE呼叫信息的同时,也将该主叫客户端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型通过增加属性项的形式构建在该INVITE呼叫信息中,因而该主叫客户端在向该接听客户端发送INVITE呼叫信息的同时,也会将本端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型发送给该接听客户端。在该接听客户端接收到该主叫客户端发送的该INVITE呼叫信息后,解析该INVITE呼叫信息获取该主叫客户端对应的第一通话地址信息,其中,该第一通话地址信息包括该主叫客户端对应的第一内网地址、第一外网地址以及两组第一中转地址。当该接听客户端接收到该主叫客户端发送的两组第一中转地址,判断本端当前存储的第二中转地址与该两组第一中转地址是否相同,若是,则获取已存储的基于该第二中转地址对应的中转站获取的本端的第二外网地址、第二内网地址以及第二网络转换NAT类型,若否,则基于该两组第一中转地址对应的中转站获取本端的第二通话信息,该第二通话信息包括该接听客户端对应的第二内网地址、第二外网地址、两组第二中转站地址以及第二网络转换NAT类型。其中,该两组第一中转地址不同,且该两组第一中转地址与该两组第二中转地址一致。
需要说明的是,该主叫客户端以及该接听客户端包括可进行音视频通话的终端。
所述确定模块120,用于基于第一通话地址信息以及第二通话地址信息确定第一通话地址信息中各个通话地址的权重值,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址;
当接听客户端获取到本端的第二通话地址信息以及该主叫客户端的第一通话地址后,根据该第二通话地址信息以及该第一通话地址确定该第一通话地址信息中各个通话地址的权重值。其中,该第一通话地址信息中的各个通话地址包括第一外网地址、第一内网地址以及两组第一中转站地址。
所述第一测试模块130,用于基于权重值最大的通话地址进行连通性测试,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,以供主叫客户端基于权重值最大的通话地址进行连通性测试;
在该接听客户端确定该第一通话地址信息中各个通话地址的权重值后,将第一通话地址信息中各个通话地址的权重值按照从大到小的顺序进行排列,该接听客户端首先根据该第一通话地址信息中权重值最大的通话地址与该主叫客户端进行连通性测测试,若该权重值最大的通话地址连通失败,则选择排列第二的权重值对应的通话地址进行连通性测试,若按照权重值按照从大到小的顺序所对应的通话地址进行连通性测试都失败后,则该接听客户端根据两组第一中转站地址跳转至中转站,基于该中转站建立与该主叫客户端的通信连接。
所述创建模块140,用于在连通性测试测试成功时,基于权重值最大的通话地址建立与主叫客户端的通信连接。
在接听客户端基于权重值最大的通话地址进行连通性测试成功后,该接听客户端基于该权重值最大的通话地址建立与该主叫客户端的通信连接。
可以理解的是,当该接听客户端确定该第一通话地址信息中某个通话地址的权重值为最小值如0时,以及第二通话地址信息中某个通话地址的权重值为最小值如0时,不需要进行连通性测试。
本实施例通过在接听客户端接收到主叫客户端发送的呼叫信息时,解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,接听客户端基于第一通话地址信息以及第二通话地址信息确定第一通话地址信息中各个通话地址的权重值,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址,接听客户端基于权重值最大的通话地址进行连通性测试,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,以供主叫客户端基于权重值最大的通话地址进行连通性测试,在连通性测试测试成功时,接听客户端基于权重值最大的通话地址建立与主叫客户端的通信连接。由于在接听客户端确定该主叫客户端对应的第一通话地址信息中各个通话地址的权重值后,该接听客户端基于权重值最大的通话地址进行连通性测试,因此优化了连通性检测程序,降低了连通性测试时间,从而降低了音视频通话连接时间,进而提高了音视频通话连接效率。
进一步的,基于第一实施例,提出本发明客户端的第二实施例,在本实施例中,参照图6,确定模块120包括判断单元121、设置单元122。
所述判断单元121,用于判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同;
在本实施例中,当该接听客户端获取到本端的第二通话地址信息以及该主叫客户端的第一通话地址后,判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同。
所述设置单元122,用于在第一外网地址与第二外网地址相同时,将第一通话地址信息中的第一内网地址的权重值设为第一预设值,将第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,第一预设值大于第二预设值。
在确定第一外网地址与第二外网地址相同时,将该第一通话地址信息中的第一内网地址的权重值设为第一预设值如1,将该第一外网地址以及两组第一中转站地址的权重值设为第二预设值如0,且该第一预设值大于第二预设值。其中,该内网也可称为局域网。
需要说明的是,在确定第一外网地址与第二外网地址相同时,该接听客户端基于该第一内网地址与该主叫客户端进行连通性测试,由于将该第一外网地址以及两组第一中转站地址的权重值设为0,则该接听客户端将不对该第一外网地址以及两组第一中转站地址进行连通性测试,但是若该接听客户端基于该第一内网地址与该主叫客户端进行连通性测试失败时,该接听客户端基于该两组第一中转地址与主叫客户端进行连通性测试,在测试成功后,该接听客户端基于该第一中转地址对应的中转站建立与该主叫客户端的通话连接。
本实施例通过判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同,在第一外网地址与第二外网地址相同时,将第一通话地址信息中的第一内网地址的权重值设为第一预设值,将第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,第一预设值大于第二预设值。由于通过比对确定接听客户端的第二外网地址与主叫客户端的第一外网地址相同时,则确定该接听客户端与该主叫客户端处于同一局域网内,从而确定该第一内网地址的权重值为最大,因此减少了该接听客户端确定各个通话地址的权重值的程序,从而降低了权重值的确定时间,提高了音视频通话连接效率。
进一步的,基于第一实施例,提出本发明客户端的第二实施例,在本实施例中,参照图7,接听客户端还包括:检测模块150、第一设置模块160以及第二设置模块170。
所述检测模块150,用于在第一外网地址与第二外网地址不相同时,检测呼叫信息中主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型;
在本实施例中,在确定第一外网地址与第二外网地址不相同时,获取该主叫客户端发送的INVITE呼叫信息中包含的该主叫客户端的第一网络地址转换NAT类型,并将该第一网络地址转换NAT类型与本端已存储的第二网络地址转换NAT类型,判断该第一网络地址转换NAT类型与该第二网络地址转换NAT类型是否为预设类型。其中,该预设类型为Symmetric与Symmetric、Symmetric与Port Restricted、Port Restricted与PortRestricted以及不通。
所述第一设置模块160,用于在第一网络地址转换类型与第二网络地址转换类型均为预设类型时,将第一中转站地址的权重值设为第三预设值,并将第一外网地址以及第一内网地址的权重值设为第四预设值,其中,第三预设值大于第四预设值。
当第一网络地址转换NAT类型与第二网络地址转换NAT类型均为预设类型时,将两组第一中转站地址的权重值设置为第三预设值如1,并将第一外网地址以及第一内网地址的权重值设置为第四预设值如0。
需要说明的是,在确定两组第一中转站地址的权重值为最大值后,该接听客户端基于该两组第一中转站地址与该主叫客户端进行连通性测试,哪组第一中转站地址的连通性测试先成功,该接听客户端基于该连通性测试先成功的第一中转站地址建立与该主叫客户端的通话连接,将连通性测试后成功的另一组第一中转站地址作为备份,可在基于该连通性测试先成功的第一中转站地址建立的通话连接的通话质量较差时,启用该备份地址进行通话连接,以保障通话质量。
所述第二设置模块170,用于在第一网络地址转换类型与第二网络地址转换类型不是预设类型时,将第一外网地址的权重值设为第五预设值,将第一中转站地址的权重值设为第六预设值,并将第一内网地址的权重值设为第七预设值,其中,第六预设值大于第七预设值,且小于第五预设值。
在第一网络地址转换NAT类型与第二网络地址转换NAT类型均不是该预设类型时,该接听客户端将该第一外网地址的权重值设置为第五预设值如2,将两组第一中转地址的权重值设置为第六预设值如1,将第一内网地址的权重值设置为第七预设值如0。
可以理解的是,在确定该第一外网地址的权重值为最大值后,该接听客户端基于该第一外网地址与该主叫客户端进行连通性测试,当连通性测试成功时,该接听客户端基于该第一外网地址建立与该主叫客户端的通话连接,当该连通性测试失败时,该接听客户端基于该两组第一中转地址与该主叫客户端进行连通性测试,当连通性测试成功时,该接听客户端基于该两组第一中转地址中的一组第一中转地址建立与该主叫客户端的通话连接,当连通性测试失败时,基于外网中部署的中转站建立与该主叫客户端进行通话连接,或者该接听客户端中断与该主叫客户端通话连接。
需要说明的是,无论是通过外网地址通话、内网地址通话或者是中转站地址通话,在通话过程中,仍有一组中转地址有效,并作为备份地址,可在通话质量较差时启用该作为备份地址的中转地址,以保障通话质量。
本实施例通过判断第一通话地址信息中的第一外网地址与第二通话地址信息中的第二外网地址是否相同,在第一外网地址与第二外网地址不相同时,检测呼叫信息中主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型,在第一网络地址转换类型与第二网络地址转换类型均为预设类型时,将第一中转站地址的权重值设为第三预设值,并将第一外网地址以及第一内网地址的权重值设为第四预设值,其中,第三预设值大于第四预设值,在第一网络地址转换类型与第二网络地址转换类型不是预设类型时,将第一外网地址的权重值设为第五预设值,将第一中转站地址的权重值设为第六预设值,并将第一内网地址的权重值设为第七预设值,其中,第六预设值大于第七预设值,且小于第五预设值。由于在第一外网地址与第二外网地址不相同时,表明该接听客户端与该主叫客户端的网络环境不同中,通过判断该主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型来进一步确定该主叫客户端对应的第一通话地址信息中的各个通话地址的权重值,因此使得第一通话地址信息中的各个通话地址的权重值的确定更加精确,从而使得该接听客户端基于权重值最大的该通话地址建立与该主叫客户端的通话连接更加稳定。
本发明进一步又提供一种客户端。
参照图8,图8为本发明客户端中主叫客户端的第五实施例的功能模块示意图。
在本实施例中,主叫客户端包括:发送模块210、接收模块220、第二测试模块230以及连接模块240。
所述发送模块210,用于在主叫客户端进入音视频通话模式后,向接听客户端发送呼叫信息;
所述接收模块220,用于接收接听客户端基于呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,接听客户端解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,接听客户端基于第一通话地址信息以及第二地址信息确定第一地址信息中各个通话地址的权重值,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址;
在本实施例中,该主叫客户端定期向TURN Server中转站管理服务器发送中转站获取请求指令,以供该TURN Server中转站管理服务器基于该中转站获取请求指令访问中转站列表,基于该主叫客户端发送该中转站获取请求指令获取该主叫客户端对应的位置信息,并根据该主叫客户端对应的位置信息分配两个与该主叫客户端位置临近的TURNServer中转站,并将该两个TURN Server中转对应的地址发送给该主叫客户端,当该主叫客户端接收到该两个TURN Server中转站对应的地址后,基于该两个TURN Server中转站对应的地址向该两个TURN Server中转站发送ICE请求,以获取该主叫客户端对应的第一通话地址信息,并将该第一通话地址信息进行存储在该主叫客户端中。当该主叫客户端开启音视频通话模式后,使用SIP会话发起协议,向接听客户端发送INVITE呼叫信息,而该INVITE呼叫信息由SDP协议构建的,该SDP协议在构建该INVITE呼叫信息的同时,也将该主叫客户端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型通过增加属性项的形式构建在该INVITE呼叫信息中,因而该主叫客户端在向该接听客户端发送INVITE呼叫信息的同时,也会将本端对应的第一内网地址、第一外网地址、两组第一中转地址以及第一网络地址转换NAT类型发送给该接听客户端。在该接听客户端接收到该主叫客户端发送的该INVITE呼叫信息后,解析该INVITE呼叫信息获取该主叫客户端对应的第一通话地址信息,其中,该第一通话地址信息包括该主叫客户端对应的第一内网地址、第一外网地址以及两组第一中转地址。当该接听客户端接收到该主叫客户端发送的INVITE呼叫信息后,基于呼叫信息发送的第一通话地址信息中各个通话地址的权重值。
所述第二测试模块230,用于基于权重值最大的通话地址进行连通性测试;
在主叫客户端接收到该接听客户端发送的第一通话地址信息中各个通话地址的权重值时,更新本端权重值列表,根据权重值最大的通话地址与接听客户端进行连通性测试。
所述连接模块240,用于在连通性测试成功时,根据权重值最大的通话地址与接听客户端进行通话连接。
在连通性测试成功时,主叫客户端根据权重值最大的通话地址与接听客户端进行通话连接;在连通性测试失败时,主叫客户端根据第一中转站地址对应的中转站与接听客户端进行通话连接。
需要说明的是,STUN服务器用于获取客户端的网络地址转换类型,当客户端的网络地址转换类型为预设类型时,确定客户端为中转站,并将客户端的信息发送给中转站管理服务器,以供中转站管理服务器记录客户端的信息。第一步:检测客户端是否有能力进行UDP通信以及客户端是否位于NAT后,客户端建立UDP socket然后用这个socket向服务器的(IP-1,Port-1)发送数据包要求服务器的(IP-1,Port-1)地址对请求进行响应,返回客户端的IP和Port。无法接受到服务器的回应,则判为网络Blocking。比较返回IP和Port为外网IP,且与本地IP和Port一致时,则网络为Public,否则继续进入下一步。第二步:检测客户端NAT是否是Full Cone NAT,客户端向服务器的(IP-1,Port-1)发送数据包要求服务器用另一对(IP-2,Port-2)响应客户端的请求返回,无法接受到服务器的回应,则说明客户端的NAT不是一个Full Cone NAT,具体类型有待下一步检测(继续)。如果能够接受到服务器从(IP-2,Port-2)返回的应答UDP包,则说明客户端是一个Full Cone NAT。第三步:检测客户端NAT是否是Symmetric NAT,用同样的socket向服务器的(IP-2,Port-2)发送数据包要求服务器用(IP-2,Port-2)地址返回客户端的IP和Port。比较第一步中返回的客户端(IP,Port),如果两个过程返回的(IP,Port)相同继续进入下一步检测,否则判为SymmetricNAT。第四步:检测客户端NAT是否是Restricted Cone NAT还是Port Restricted ConeNAT,客户端向服务器的(IP-1,Port-1)发送数据包要求服务器用(IP-1,Port-2)响应客户端的请求返回,若有收到回应,则说明客户端是一个Restricted Cone NAT,否则判为PortRestricted Cone NAT。根据NAT类型及IP协议,将检测NAT类型为Full Cone NAT或Public的客户端,启动TURN SERVER服务,将其本地3478端口映躲成与外网端口一致,以便其他客户端直接以ICE RFC5766协议进行连接访问。同时客户端向TURN SERVER管理服务器进行中转站角色登记。
本实施例通过主叫客户端接收接听客户端基于呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,接听客户端解析呼叫信息以获取主叫客户端对应的第一通话地址信息,并向第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,接听客户端基于第一通话地址信息以及第二地址信息确定第一地址信息中各个通话地址的权重值,并将第一通话地址信息中各个通话地址的权重值发送至主叫客户端,第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及第一中转站地址,主叫客户端基于权重值最大的通话地址进行连通性测试,在连通性测试成功时,主叫客户端根据权重值最大的通话地址与接听客户端进行通话连接。由于主叫客户端在接收到接听客户端发送的第一通话地址信息中各个通话地址的权重值时,基于权重值最大的通话地址进行连通性测试,因此优化了连通性检测程序,降低了连通性测试时间,从而降低了音视频通话连接时间,进而提高了音视频通话连接效率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种通话连接方法,其特征在于,所述通话连接方法包括以下步骤:
在接听客户端接收到主叫客户端发送的呼叫信息时,解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息;
所述接听客户端基于所述第一通话地址信息以及所述第二通话地址信息确定所述第一通话地址信息中各个通话地址的权重值,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
所述接听客户端基于权重值最大的所述通话地址进行连通性测试,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,以供所述主叫客户端基于权重值最大的所述通话地址进行连通性测试;
在连通性测试测试成功时,所述接听客户端基于权重值最大的所述通话地址建立与所述主叫客户端的通信连接。
2.如权利要求1所述的通话连接方法,其特征在于,所述接听客户端基于所述第一通话地址信息以及所述第二通话地址信息确定所述第一通话地址信息中各个通话地址的权重值的步骤包括:
判断所述第一通话地址信息中的所述第一外网地址与所述第二通话地址信息中的第二外网地址是否相同;
在所述第一外网地址与所述第二外网地址相同时,将所述第一通话地址信息中的所述第一内网地址的权重值设为第一预设值,将所述第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,所述第一预设值大于所述第二预设值。
3.如权利要求2所述的通话连接方法,其特征在于,所述判断所述第一通话地址信息中的所述第一外网地址与所述第二通话地址信息中的第二外网地址是否相同的步骤之后,所述通话连接方法还包括:
在所述第一外网地址与所述第二外网地址不相同时,检测所述呼叫信息中所述主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型;
在所述第一网络地址转换类型与所述第二网络地址转换类型均为预设类型时,将所述第一中转站地址的权重值设为第三预设值,并将所述第一外网地址以及第一内网地址的权重值设为第四预设值,其中,所述第三预设值大于所述第四预设值;
在所述第一网络地址转换类型与所述第二网络地址转换类型不是预设类型时,将所述第一外网地址的权重值设为第五预设值,将所述第一中转站地址的权重值设为第六预设值,并将所述第一内网地址的权重值设为第七预设值,其中,所述第六预设值大于所述第七预设值,且小于所述第五预设值。
4.一种通话连接方法,其特征在于,所述通话连接方法包括以下步骤:在主叫客户端进入音视频通话模式后,向接听客户端发送呼叫信息;
所述主叫客户端接收所述接听客户端基于所述呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,所述接听客户端解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,所述接听客户端基于所述第一通话地址信息以及所述第二通话地址信息确定所述第一通话地址信息中各个通话地址的权重值,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
所述主叫客户端基于权重值最大的所述通话地址进行连通性测试;
在连通性测试成功时,所述主叫客户端根据所述权重值最大的所述通话地址与所述接听客户端进行通话连接。
5.如权利要求4所述的通话连接方法,其特征在于,所述中转站包括网络地址转换类型为预设转换类型的客户端。
6.一种客户端,其特征在于,包括:接听客户端以及主叫客户端;其中,所述接听客户端包括:
解析模块,用于在接听客户端接收到主叫客户端发送的呼叫信息时,解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息;
确定模块,用于基于所述第一通话地址信息以及所述第二通话地址信息确定所述第一通话地址信息中各个通话地址的权重值,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
第一测试模块,用于基于权重值最大的所述通话地址进行连通性测试,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,以供所述主叫客户端基于权重值最大的所述通话地址进行连通性测试;
创建模块,用于在连通性测试测试成功时,基于权重值最大的所述通话地址建立与所述主叫客户端的通信连接。
7.如权利要求6所述的客户端,其特征在于,所述确定模块包括:
判断单元,用于判断所述第一通话地址信息中的所述第一外网地址与所述第二通话地址信息中的第二外网地址是否相同;
设置单元,用于在所述第一外网地址与所述第二外网地址相同时,将所述第一通话地址信息中的所述第一内网地址的权重值设为第一预设值,将所述第一外网地址以及第一中转站地址的权重值设为第二预设值,其中,所述第一预设值大于所述第二预设值。
8.如权利要求7所述的客户端,其特征在于,所述接听客户端包括:
检测模块,用于在所述第一外网地址与所述第二外网地址不相同时,获取所述呼叫信息中所述主叫客户端的第一网络地址转换类型与本端的第二网络地址转换类型是否均为预设类型;
第一设置模块,用于在所述第一网络地址转换类型与所述第二网络地址转换类型均为预设类型时,将所述第一中转站地址的权重值设为第三预设值,并将所述第一外网地址以及第一内网地址的权重值设为第四预设值,其中,所述第三预设值大于所述第四预设值;
第二设置模块,用于在所述第一网络地址转换类型与所述第二网络地址转换类型不是预设类型时,将所述第一外网地址的权重值设为第五预设值,将所述第一中转站地址的权重值设为第六预设值,并将所述第一内网地址的权重值设为第七预设值,其中,所述第六预设值大于所述第七预设值,且小于所述第五预设值。
9.一种客户端,其特征在于,包括:接听客户端以及主叫客户端;其中,所述主叫客户端包括:
发送模块,用于在主叫客户端进入音视频通话模式后,向接听客户端发送呼叫信息;
接收模块,用于接收所述接听客户端基于所述呼叫信息发送的第一通话地址信息中各个通话地址的权重值,其中,所述接听客户端解析所述呼叫信息以获取所述主叫客户端对应的第一通话地址信息,并向所述第一通话地址信息中的第一中转站地址对应的中转站获取本端对应的第二通话地址信息,所述接听客户端基于所述第一通话地址信息以及所述第二通话地址信息确定所述第一通话地址信息中各个通话地址的权重值,并将所述第一通话地址信息中各个通话地址的权重值发送至所述主叫客户端,所述第一通话地址信息中的通话地址包括第一外网地址、第一内网地址以及所述第一中转站地址;
第二测试模块,用于基于权重值最大的所述通话地址进行连通性测试;
连接模块,用于在连通性测试成功时,根据所述权重值最大的所述通话地址与所述接听客户端进行通话连接。
10.如权利要求9所述的客户端,其特征在于,所述中转站包括网络地址转换类型为预设转换类型的客户端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610373444.9A CN106411836B (zh) | 2016-05-30 | 2016-05-30 | 通话连接方法及客户端 |
PCT/CN2017/080836 WO2017206600A1 (zh) | 2016-05-30 | 2017-04-18 | 通话连接方法及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610373444.9A CN106411836B (zh) | 2016-05-30 | 2016-05-30 | 通话连接方法及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106411836A CN106411836A (zh) | 2017-02-15 |
CN106411836B true CN106411836B (zh) | 2017-09-19 |
Family
ID=58006388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610373444.9A Active CN106411836B (zh) | 2016-05-30 | 2016-05-30 | 通话连接方法及客户端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106411836B (zh) |
WO (1) | WO2017206600A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411836B (zh) * | 2016-05-30 | 2017-09-19 | 深圳市鼎盛智能科技有限公司 | 通话连接方法及客户端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
CN102685268A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于ICE协议的快速私网穿越方法 |
CN102739815A (zh) * | 2011-06-03 | 2012-10-17 | 北京天地互连信息技术有限公司 | 减小视频会议***网络地址转换穿越的***时延的方法 |
CN105187567A (zh) * | 2015-06-24 | 2015-12-23 | 东莞市南星电子有限公司 | 一种基于sip和ice的音视频通信方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664901A (zh) * | 2012-05-15 | 2012-09-12 | 苏州工业园区云视信息技术有限公司 | Sip呼叫中自适应穿越nat的方法 |
US9596272B2 (en) * | 2014-09-25 | 2017-03-14 | Microsoft Technology Licensing, Llc | Media session between network endpoints |
US10244003B2 (en) * | 2014-09-25 | 2019-03-26 | Microsoft Technology Licensing, Llc | Media session between network endpoints |
CN106411836B (zh) * | 2016-05-30 | 2017-09-19 | 深圳市鼎盛智能科技有限公司 | 通话连接方法及客户端 |
-
2016
- 2016-05-30 CN CN201610373444.9A patent/CN106411836B/zh active Active
-
2017
- 2017-04-18 WO PCT/CN2017/080836 patent/WO2017206600A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739815A (zh) * | 2011-06-03 | 2012-10-17 | 北京天地互连信息技术有限公司 | 减小视频会议***网络地址转换穿越的***时延的方法 |
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
CN102685268A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于ICE协议的快速私网穿越方法 |
CN105187567A (zh) * | 2015-06-24 | 2015-12-23 | 东莞市南星电子有限公司 | 一种基于sip和ice的音视频通信方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017206600A1 (zh) | 2017-12-07 |
CN106411836A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9203652B2 (en) | Systems, methods, devices and arrangements for cost-effective routing | |
US20180295140A1 (en) | Detection of spoofed call information | |
US6831675B2 (en) | System and method for videoconference initiation | |
US8706892B2 (en) | Communication system and server | |
CN1735093B (zh) | 通信设备及其控制方法 | |
CN110383935A (zh) | 由不同的协议触发和终止的呼叫设置定时器 | |
US20140016487A1 (en) | Test system to estimate the uplink or downlink quality of multiple user devices using a mean opinion score (mos) | |
US7738636B1 (en) | Message-indication testing | |
CN103718532A (zh) | 一种数据传输方法、装置及终端设备 | |
US20060174034A1 (en) | Portable diagnostic device for trouble-shooting a wireless network and a method for trouble-shooting a wireless network | |
CN105471680A (zh) | 一种网络语音通信测试***及方法 | |
CN106453799B (zh) | 伪装通信识别方法和*** | |
US20070171816A1 (en) | Method and apparatus for call reroute based upon QoS | |
CN104301924B (zh) | 呼叫处理方法、装置及终端 | |
CN106411836B (zh) | 通话连接方法及客户端 | |
CN103905380B (zh) | 一种业务呼叫方法、设备和*** | |
CN107968731B (zh) | 一种显号异常检测方法及服务器 | |
EP3782358A1 (en) | Technique for acquiring and correlating session-related information from an internet protocol multimedia subsystem | |
JP2008541597A (ja) | ターミナルアイデンティティを使用して非常セッションを確立するためのターミナル、非常センター、ネットワーク、ネットワーク要素、システム及び方法 | |
CN103517287B (zh) | 端对端双向语音质量的测试方法、***及语音测试服务器 | |
CN102547604B (zh) | 一种可视电话业务的实现方法、***及装置 | |
CN101141519A (zh) | 用于决定主叫放音的方法和装置 | |
US20080144606A1 (en) | Automated session initiation protocol (sip) device | |
CN111328086A (zh) | 一种定位呼叫接通时延异常段的方法及*** | |
CN108616507A (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Sheng Ge Inventor after: Sheng Zhangmei Inventor before: Xu Yongchang Inventor before: Sheng Ge |
|
PP01 | Preservation of patent right |
Effective date of registration: 20210316 Granted publication date: 20170919 |
|
PP01 | Preservation of patent right | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20240316 Granted publication date: 20170919 |
|
PD01 | Discharge of preservation of patent |