具体实施方式
终端设备对中的一个的全局IP地址可以匹配另一个终端设备的全局IP地址。在该情况下,该终端设备对可能将属于同一本地网络。属于同一网络的终端设备对能够通过使用全局地址来执行目标数据(换言之,要发射的数据)的数据通信,并且还能够通过使用本地地址来执行数据通信。在前一种情况下,NAT路由器必须执行地址转换处理。同时,在后一种情况下,没有要求进行地址转换处理。因此,可以在不涉及NAT路由器的情况下发射目标数据。在本实施例中,当终端设备对属于同一本地网络时,可以通过在不涉及NAT路由器的情况下实现目标数据传输来减少NAT路由器上的处理负载。
结合实施例描述的技术的一个涉及第二终端设备,该第二终端设备用在包括连接管理服务器、第一终端设备和该第二终端设备的系统中。第二终端设备包括本地地址获得单元、确定单元、以及目标数据通信单元。如果第一终端设备的第一全局IP地址匹配第二终端设备的第二全局IP地址,则本地地址获得单元从连接管理服务器获得第一终端设备的第一本地IP地址和第一认证信息,在该连接管理服务器中登记了第一本地IP地址和第一认证信息。可以由第二终端设备或者由另一设备(例如,连接管理服务器)来确定是否使第一全局IP地址和第二全局IP地址匹配。
通过使用已经获得的第一认证信息,确定单元确定第二终端设备能够通过使用第一本地IP地址来与之通信的第一特定终端设备是否是目标第一终端设备。如果确定单元确定了第一特定终端设备是目标第一终端设备,则目标数据通信单元被配置成,通过使用第一本地IP地址来与第一终端设备进行目标第一数据的通信。如这里所使用的,术语“通信”可以包括接收和/或发射操作。短语“通过使用第一本地IP地址来与第一终端设备进行目标第一数据的通信”还能够被转换成另一短语“通过使用第一本地IP地址来在第一终端设备和第二终端设备之间建立通信会话”。短语“建立通信会话”还能够被转换成另一短语“进行要求进行目标数据的通信(发射和/或接收)的至少一个命令的通信(发射和/或接收)”。
如果第一终端设备的第一全局IP地址匹配第二终端设备的第二全局IP地址,则第二终端设备通过上述配置来从连接管理服务器获得第一终端设备的第一本地IP地址和第一认证信息。即使第二终端设备通过使用已经获得的第一本地IP地址来执行通信,与目标第一终端设备的通信也可能失败。例如,尽管第一本地IP地址在过去被指配给第一终端设备并且被登记在连接管理服务中,但是该第一终端设备当前可能被指配了另一本地IP地址。根据这样的可能性,第二终端设备通过使用第一认证信息来确定是否确实能够通过使用第一本地IP地址来与第一终端设备进行通信。如果获得了肯定的确定结果,则第二终端设备通过使用第一本地IP地址来与第一终端设备进行第一数据的通信。当第一终端设备和第二终端设备属于同一本地网络时,该技术使得第二终端设备能够在不涉及NAT路由器的情况下与第一终端设备进行目标数据(第一数据)的通信。因此,能够减少NAT路由器上的处理负载。
第二终端设备可以进一步包括:全局地址获得单元,该全局地址获得单元被配置成获得第一终端设备的第一全局IP地址和端口号的集合。在该情况下,如果确定单元确定了第一特定终端设备不是目标第一终端设备,则目标数据通信单元通过使用第一全局IP地址和端口号的集合来与第一终端设备进行第二数据的通信。因此,当无法通过使用第一本地IP地址来与第一终端设备执行通信时,该配置使得能够通过使用第一终端设备的第一全局IP地址和端口号的集合来与第一终端设备进行通信。
第二终端设备可以进一步包括:第一质询数据通信单元,该第一质询数据通信单元被配置成,将第一质询数据发射到第一特定终端设备,并且接收响应于第一质询数据的第一响应数据。通过加密第一质询数据来生成该第一响应数据,并且由第一特定终端设备来发射该第一响应数据。第一认证信息可以包括第一终端设备的第一公共密钥。在该情况下,确定单元通过第一公共密钥来解密第一响应数据,从而生成第一解密数据。如果第一解密数据匹配第一质询数据,则确定单元确定该特定第一终端设备是目标第一终端设备。因此,该配置使得能够可靠地确定特定第一终端设备是否是目标第一终端设备。
如果第一质询数据通信单元没有接收到第一响应数据,则确定单元可以确定该特定第一终端设备不是目标第一终端设备。
第二终端设备可以进一步包括:存储控制单元,该存储控制单元被配置成在完成第一数据的通信之后将第一本地IP地址保持在存储单元中。短语“在完成第一数据的通信之后将第一本地IP地址保持在存储单元中”是指,使存储单元至少在完成第一数据的通信之后的时段中保持第一本地IP地址。因此,该短语可以意指,在从完成第一数据通信之前的时段到完成数据通信之后的时段期间可以持续地保持第一本地IP地址。该短语还能够被转换成另一短语“在完成第一数据的通信之后紧接着使存储单元保持第一本地IP地址”。短语“在完成第一数据的通信之后”可以被转换成另一短语“在断开用于进行第一数据的通信的通信会话之后”。当在完成第一数据的通信之后应当与第一终端设备进行第三数据的通信时,目标数据通信单元可以通过再次使用保持在存储单元中的第一本地IP地址来与第一终端设备进行第三数据的通信。该配置使得第二终端设备能够在不涉及NAT路由器的情况下与第一终端设备进行目标数据(第三数据)的通信。例如,存储控制单元可以保持第一本地IP地址,直到在完成第一数据的通信之后经过了预定时段,或者直到在完成第一数据的通信之后发起了与除了第一终端设备之外的终端设备的另一数据通信。
例如,在完成第一数据的通信之后,第一终端设备可以被指配代替第一本地IP地址的另一本地IP地址。根据这样的可能性,还可以采用下述配置。特定地,存储控制单元可以进一步将第一认证信息保持在存储单元中。当在完成第一数据的通信之后应当执行与第一终端设备的第三数据的通信时,确定单元可以通过使用保持在存储单元中的第一认证信息来确定第二终端设备能够通过使用保持在存储单元中的第一本地IP地址来与之进行通信的特定第二终端设备是否是目标第一终端设备。如果确定单元确定了特定的第二终端设备是目标第一终端设备,则目标数据通信单元可以通过再次使用保持在存储单元中的第一本地IP地址来与第一终端设备进行第三数据的通信。该配置使得在应当进行第三数据的通信时,第二终端设备能够通过利用第一认证信息来确定是否确实能够通过使用第一本地IP地址来执行与第一终端设备的通信。如果获得了肯定的确定结果,则能够在不涉及NAT路由器的情况下在第一终端设备和第二终端设备之间建立第三数据的通信。
存储控制单元可以将第一本地IP地址持续地保持在存储单元中达预定的时间段。例如,存储控制单元可以在经过了预定的时段之后删除第一本地IP地址。当应当与第一终端设备进行第三数据的通信时,如果第一本地IP地址被保持在存储单元中,则目标数据通信单元可以通过再次使用保持在存储单元中的第一本地IP地址来与第一终端设备进行第三数据的通信。
可以存在下述情况,在该情况中,在完成第一数据的通信之后,响应于来自第一终端设备的请求,应当在第一终端设备和第二终端设备之间再次执行数据通信。即使在该情况下,只要通过使用本地IP地址来在第一终端设备和第二终端设备之间执行通信,就能够进一步减少NAT路由器上的处理负载。为了实现该操作,终端设备可以进一步包括下述配置。特定地,第二终端设备可以进一步包括:公共密钥发射单元和第二质询数据通信单元。如果确定单元确定了特定第一终端设备是目标第一终端设备,则公共密钥发射单元可以将第二终端设备的第二公共密钥发射到第一终端设备。第二质询数据通信单元可以被配置成:接收由第一终端设备发射到作为目的地的第二终端设备的第二本地IP地址的第二质询数据;使用第二终端设备的秘密密钥来加密第二质询数据,以便于生成第二响应数据;以及将第二响应数据发射到第一终端设备。如果第二解密数据匹配第二质询数据,则目标数据通信单元可以通过使用第二本地IP地址来与第一终端设备进行第四数据的通信。该第二解密数据是第一终端设备通过使用第二公共密钥来解密第二响应数据所生成的数据。该配置使得第一终端设备能够通过使用第二公共密钥来确定当应当进行第四数据的通信时是否确实能够通过使用第二本地IP地址来与第二终端设备进行通信。如果获得了肯定的确定结果,则能够在不涉及NAT路由器的情况下在第一终端设备和第二终端设备之间进行第四数据的通信。
包括连接管理服务器、第一终端设备以及第二终端设备的系统也是新颖的和实用的。用于实现第二终端设备控制方法的计算机程序也是新颖的和实用的。
连接管理服务器也是新颖的和实用的。能够如下表达连接管理服务器。连接管理服务器包括:服务器侧存储控制单元、服务器侧接收单元、服务器侧确定单元、以及服务器侧发射单元。服务器侧存储控制单元被配置成,将第一终端设备的第一全局IP地址、第一本地IP地址、以及第一认证信息彼此关联地保持在服务器侧存储单元中。服务器侧接收单元接收连接请求,该连接请求由第二终端设备发射到作为目的地的第一终端设备,并且包括第二终端设备的第二全局IP地址。服务器侧确定单元被配置成,确定保持在服务器侧存储单元中的第一终端设备的第一全局IP地址是否匹配包括在连接请求中的第二终端设备的第二全局IP地址。如果服务器侧确定单元确定了第一全局IP地址匹配第二全局IP地址,则服务器侧发射单元将保持在服务器侧存储单元中的第一终端设备的第一本地IP地址和第一认证信息发射到第二终端设备。使用连接管理服务器使得能够实现该系统。
服务器侧存储控制单元可以提前将第二终端设备的第二全局IP地址保持在服务器侧存储单元中。在该情况下,包括在从第二终端设备发射的连接请求中的第二终端设备的第二全局IP地址应当匹配保持在服务器侧存储单元中的第二终端设备的第二全局IP地址。因此,服务器侧确定单元可以确定第一终端设备的第一全局IP地址是否匹配保持在服务器侧存储单元中的第二终端设备的第二全局IP地址。即使在该情况下,该确定也基本上等同于“确定保持在服务器侧存储单元中的第一终端设备的第一全局IP地址是否匹配包括在连接请求中的第二终端设备的第二全局IP地址”。
连接管理服务器可以进一步包括:服务器侧传送单元,该服务器侧传送单元被配置成,如果服务器侧确定单元确定了第一全局IP地址不匹配第二全局IP地址,则将连接请求传送到第一终端设备。该配置使得第一终端设备和第二终端设备能够通过使用全局IP地址来进行目标数据的通信。
结合本说明书描述的技术还可以被表达为下述的第二终端设备。该第二终端设备具有这样的技术特征使得当第一终端设备和第二终端设备属于同一本地网络时,在不涉及NAT路由器的情况下来进行目标数据的通信。第二终端设备包括:本地地址获得单元、第一目标数据通信单元以及第二目标数据通信单元。本地地址获得单元被配置成,从其中登记了第一终端设备的第一本地IP地址的连接管理服务器获得第一本地IP地址。如果第一终端设备的第一全局IP地址匹配第二终端设备的第二全局IP地址,则第一目标数据通信单元通过使用已经获得的第一本地IP地址来与第一终端设备进行目标第一数据的通信。如果第一终端设备的第一全局IP地址不匹配第二终端设备的第二全局IP地址,则第二目标数据通信单元通过使用第一终端设备的第一全局IP地址来与第一终端设备进行第二数据的通信。用于实现第二终端设备的控制方法和计算机程序也是新颖的和实用的。
在下文中提到了结合以下提供的实施例描述的其它技术。
(1)如果第一终端设备的第一全局IP地址不匹配第二终端设备的第二全局IP地址,则目标数据通信单元能够通过使用第一终端设备的第一全局IP地址和端口号的集合来与第一终端设备进行通信。
(2)如果确定单元确定了第二特定终端设备不是目标第一终端设备,则目标数据通信单元可以通过使用第一终端设备的第一全局IP地址和端口号的集合来与第一终端设备进行第三数据的通信。
(3)如果当应当与第一终端设备进行第三数据的通信时,第一本地IP地址没有被保持在存储单元中,则目标数据通信单元可以通过使用第一终端设备的第一全局IP地址和端口号的集合来与第一终端设备进行第三数据的通信。
(4)服务器侧存储控制单元可以将多个终端设备的每一个的标识信息(例如,SIPURI)、全局IP地址、本地IP地址以及认证信息保持在服务器侧存储单元中。如果接收到包括源的全局IP地址和关于目的地的标识信息的连接请求,则服务器侧确定单元可以确定包括在连接请求中的源的全局IP地址是否匹配与包括在连接请求中的关于目的地的标识信息相关联的全局IP地址。
(系统配置)
现在通过参考附图来描述实施例。如图1中所示,电话网络系统2具有因特网4、SIP(会话发起协议)服务器10、STUN(通过NAT的UDP简单穿越)服务器40、多个本地网络50和150等等。SIP服务器10、STUN服务器40、多个本地网络50和150等被连接到因特网4。
(SIP服务器10的配置)
SIP服务器10包括控制单元12、网络接口14、程序存储器区域16、以及登记数据存储器区域18。控制单元12根据存储在程序存储器区域16中的程序来执行处理。将网络接口14连接到因特网4。程序存储器区域16存储要由控制单元12执行的程序。程序存储器区域16还可以存储从程序存储介质安装的程序或者从因特网4下载的程序等等。
登记数据存储器区域18存储登记数据20和22。登记数据20是关于第一终端设备60的数据,并且登记数据22是关于第二终端设备100的数据。每一个登记数据20和22的集合都包括彼此关联的SIPURI30和全局IP+端口32。SIPURI 30是指配给利用SIP的每个终端设备的唯一的URI。在本实施例中,第一终端设备60被指配了SIPURI“sip:t1@server.com”。第二终端设备100也被指配了如第一终端设备60的SIPURI。
全局IP+端口32指定全局IP地址和全局端口号的集合。例如,第一终端设备60被指配了全局IP地址G1和全局端口号GP1的集合。在下面的描述中全局IP地址G1和全局端口号的集合也被称为“全局地址”。尽管稍后详细地描述,但是第二终端设备100属于与第一终端设备60所属于的相同的本地网络50。因此第二终端设备100的全局IP地址G1与第一终端设备60的全局IP地址G1相同。然而,第二终端设备100的全局端口号GP2不同于第一终端设备60的全局端口号GP1。同时,第三终端设备160属于不同于本地网络50的另一本地网络150。因此,第三终端设备160的全局IP地址G2不同于第一和第二终端设备60和100的全局IP地址G1。将全局端口号GP3指配给第三终端设备160。
本地IP+端口34指定本地IP地址和本地端口号的集合。例如,第一终端设备60被指配了本地IP地址L1和本地端口号LP1的集合。在下面的描述中,本地IP地址和本地端口号的集合有时被称为“本地地址”。本地地址还被指配给第二终端设备100和第三终端设备160的每一个。与全局IP地址相反,即使多个终端设备属于单个本地网络,终端设备的本地IP地址也互不相同。因此,第一终端设备60的本地IP地址L1不同于第二终端设备100的本地IP地址L2。
利用公共密钥36来解码稍后要描述的加密的响应码。终端设备60、100以及160分别具有相互不同的公共密钥K1、K2和K3。标记38表示终端设备是否具有通过使用本地地址来建立RTP(实时传输协议)通信会话的功能。在下文中该功能被称为“本地通信功能”。如果标记38是处于“开”位置中,则是指终端设备具有本地通信功能。在实施例中,终端设备60、100和160的每一个都具有本地通信功能。
(STUN服务器40的配置)
STUN服务器40接收从本地网络50和150中的终端设备发射的查询命令。STUN服务器40分析查询命令,从而获得查询命令的源(例如,第一终端设备60)的全局IP地址和全局端口号的集合(即,全局地址)。STUN服务器40将全局地址发射到查询命令的源。查询命令的源从而能够确定指配给源本身的全局地址。
(本地网络50的配置)
如图1中所示,通过第一NAT路由器52将本地网络50连接到因特网4。将第一NAT路由器52连接到因特网4以及LAN 54。通过连接到LAN 54的终端设备(多个)来配置本地网络50。在实施例中,将第一终端设备60和第二终端设备100连接到LAN 54。
第一NAT路由器52执行被称为NAT的地址转换处理。第一NAT路由器52将从本地网络50发射的数据发射到因特网4。在从本地网络50发射的数据中,将本地IP地址和本地端口号的第一集合用作源。在该场合下,第一NAT路由器52将作为源的第一集合转换成全局IP地址和全局端口号的第二集合。相反地,如果在将第二集合用作目标时从因特网4发射数据,则第一NAT路由器52将作为目标的第二集合转换成第一集合。
(第一终端设备60的配置)
如图3中所示,第一终端设备60具有控制单元62、网络接口64、麦克风66、扬声器68、存储单元70等等。尽管没有示出,但是在第一终端设备60中还提供显示单元、操作单元等等。控制单元62依照存储在存储单元70中的程序来执行处理。将网络接口64连接到LAN54。第一终端设备60的用户能够通过利用麦克风66和扬声器68来执行电话通信(音频数据通信)。
存储单元70包括多个存储器区域72至92。全局IP+端口存储器区域72存储指配给第一终端设备60的全局地址(G1+GP1)。本地IP+端口存储器区域74存储指配给第一终端设备60的本地地址(L1+LP1)。密钥存储器区域76存储第一终端设备60的秘密密钥J1和公共密钥K1。SIPURI存储器区域78存储指配给第一终端设备60的SIPURI(sip:t1@server.com)。通信信息存储器区域80存储通信信息82。通信信息82是关于过去已经对其执行了本地通信功能的另一端上的通信方的信息。该通信信息82与SIPURI 84、全局IP+端口86以及公共密钥88的集合相对应。在图3中所示的示例中,通信信息82是关于第二终端设备100的信息。这意味着第一终端设备60过去执行了与作为另一端上的通信方的第二终端设备100的通信。程序存储器区域90存储要由控制单元62执行的程序。程序存储器区域90还可以存储从程序存储介质安装的程序或者从因特网4下载的程序等等。存储器区域92存储除了要被存储在存储区域72至90的信息之外的信息。稍后描述要存储在存储器区域92中的信息的详细情况。
(第二终端设备100的配置)
如图4中所示,类似于第一终端设备60,第二终端设备100包括部件102、104、106、108和110。存储单元110的存储器区域112至132也类似于第一终端设备60。将关于第二终端设备100的信息存储在各个存储器区域112、114、116和118中。例如,密钥存储器区域116的附图标记J2指示第二终端设备100的密钥。在图4中所示的示例中,属于通信信息存储器区域120的通信信息122与关于第一终端设备60的信息124、126和128相对应。
(本地网络150的配置)
如图1中所示,通过第二NAT路由器152将本地网络150连接到因特网4。将第二NAT路由器152连接到因特网4以及LAN 154。本地网络150由连接到LAN 154的各个终端设备组成。在本实施例中,将第三终端设备160连接到LAN 154。第三终端设备160具有类似于第一和第二终端设备60和100的配置。
(登记处理的简要概述)
接下来描述由各个设备10、40、60以及100执行的处理的详细情况。首先,现在参考图5来描述第一终端设备60通过其将信息登记在SIP服务器10中的处理的详细情况。
第一终端设备60的存储器区域92(参见图3)保持STUN服务器40的地址。第一终端设备60将查询命令200发射到作为目的地的STUN服务器40的地址。查询命令200包括第一终端设备60的本地地址L1+LP1。通过图5中省略的第一NAT路由器52将查询命令200发射到STUN服务器40。第一NAT路由器52将包括在查询命令200中的本地地址L1+LP1转换成全局地址G1+GP1。
STUN服务器40接收查询命令200。STUN服务器40分析查询命令200,从而指定包括在查询命令200中的全局地址G1+GP1。STUN服务器40将包括全局地址G1+GP1的响应202发射到第一终端设备60。
第一终端设备60接收响应202。第一终端设备60将包括在响应202中的全局地址G1+GP1存储在全局IP+端口存储器区域72(参见图3)中(即,更新存储在存储器区域72中的数据)。第一终端设备60的存储器区域92保持SIP服务器10的地址。第一终端设备60将登记命令210发射到作为目的地的SIP服务器10的地址。登记命令210包括SIPURI、全局地址G1+GP1、本地地址L1+LP1、公共密钥K1以及示出与第一终端设备60的本地通信功能相兼容的标记212。
SIP服务器10接收登记命令210。SIP服务器10将“200好”(200OK)信号214发射到第一终端设备60。SIP服务器10将包括在登记命令210中的各种数据集合存储在登记数据存储器区域18(参见图2)中。从而登记如图2中所示的登记数据20。
第一终端设备60定期地执行图5中所示的处理。因此第一终端设备60能够获得指配给其本身的最新的全局地址。SIP服务器10能够获得关于第一终端设备60的最新的登记数据20。第二和第三终端设备100和160也如第一终端设备60定期地执行图5中所示的处理。因此,SIP服务器10也能够获得关于第二和第三终端设备100和160的最新的登记数据22和24。
(邀请传输处理的简要概述)
接下来参考图6来描述第二终端设备100通过其将邀请命令发射到第一终端设备60的处理。第二终端设备100的用户能够通过操作第二终端设备100的(附图中省略的)操作单元来输入第一终端设备60的SIPURI。从而第二终端设备100发起图6中所示的处理。
第二终端设备100的存储器区域132(参见图4)保持SIP服务器10的地址。第二终端设备100将邀请命令220发射到作为目的地的SIP服务器10的地址。邀请命令220包括用作目的地的第一终端设备60的SIPURI、关于用作源的第二终端设备100的SIPURI信息、第二终端设备100的全局地址G1+GP2以及示出与本地通信功能相兼容的标记222。
SIP服务器10接收邀请命令220。SIP服务器10通过参考登记数据存储器区域18(参见图2)来识别与包括在邀请命令220中的目的地的SIPURI(第一终端设备60的SIPURI)相关联的全局IP地址G1。接下来,SIP服务器10执行用于确定在识别的全局IP地址G1和包括在邀请命令220中的源的全局IP地址G1之间是否存在匹配的确定处理(S4)。如果在两个全局IP地址之间存在匹配,则SIP服务器10通过参考登记数据存储器区域18(参见图2)来识别与第一终端设备60的SIPURI相关联的本地地址L1+LP1和公共密钥K1。SIP服务器10将包括由此识别的本地地址L1+LP1和识别的公共密钥K1的识别响应224发射到第二终端设备100。识别响应224还包括示出可与本地通信功能相兼容的标记226。同时,如果在两个全局IP地址之间不存在匹配,则SIP服务器10将邀请命令228传送到第一终端设备60。邀请命令228包括与邀请命令220类似的详细情况。
第二终端设备100接收识别响应224。第二终端设备100将邀请命令230发射到作为目的地的包括在识别响应224中的第一终端设备60的本地地址L1+LP1。由于邀请命令230被寻址到本地地址L1+LP1,所以命令不会通过第一NAT路由器52。邀请命令230包括第二终端设备100的SIPURI、第二终端设备100的本地地址L2+LP2、示出邀请命令与本地通信功能相兼容的标记232、以及质询码234。
第一终端设备60接收邀请命令230。从而第一终端设备60能够发觉指向第一终端设备的进入的呼叫的到达。例如,第一终端设备60输出预定的声音,或者使预定的光照亮。下文中的这些操作被称为呼叫请求通知。用户能够实现由于执行呼叫请求通知而导致的电话呼叫的始发。如果用户在执行呼叫请求通知的中间执行呼叫始发操作(例如,操纵钩键),则第一终端设备60执行响应码生成处理(S6)。第一终端设备60通过利用第一终端设备本身的秘密密钥J1(参见图3中所示的密钥存储器区域76)来加密包括在邀请命令230中的质询码234,从而生成响应码240。接下来,第一终端设备60将“200好”命令236发射到作为目的地的包括在邀请命令230中的本地地址L2+LP2。由于“200好”命令236的目的地是本地地址L2+LP2,所以命令不通过第一NAT路由器52。“200好”命令236包括响应码240和示出“200好”命令236与本地通信功能相兼容的标记238。
第二终端设备100接收“200好”命令236。第二终端设备100通过利用包括在识别响应224中的公共密钥K1来解密包括在“200好”命令236中的响应码240,从而生成解密数据。第二终端设备100执行用于确定在质询码234和解密数据之间是否存在匹配的确定处理(S8)。如果在两个数据集合之间存在匹配,则第二终端设备100将ACK命令242发射到作为目的地的本地地址L1+LP1。由于ACK命令242的指向是本地地址L1+LP1,所以ACK命令不通过第一NAT路由器52。ACK命令242包括示出ACK命令与本地通信功能相兼容的标记244和第二终端设备100的公共密钥K2(参见图4中所示的密钥存储器区域116)。
第一终端设备60接收ACK命令242。第一终端设备60执行用于将与第二终端设备100的公共密钥K2相关联的SIPURI、本地地址L2+LP2、通信信息82(参见图3)存储在通信信息存储器区域80中的存储处理(S10)。如果第一终端设备60接收到ACK命令242,则在第一终端设备60和第二终端设备100之间建立RTP通信会话。通过由此建立的RTP通信会话,在将本地地址L1+LP1或者本地地址L2+LP2取作源或者目的地时,并且在将剩余的本地地址取作源和目的地中剩余的一个时,执行数据传输。特定地,在不涉及第一NAT路由器52的情况下执行数据通信。第一终端设备60执行音频数据通信处理(S12)。特定地,第一终端设备60从扬声器68输出从第二终端设备100接收到的音频数据,并且将通过麦克风66输入的音频数据发射到第二终端设备100。第二终端设备100还以相同的方式来执行音频数据通信处理(S14)。
由于建立了RTP通信会话,所以能够执行第一终端设备60和第二终端设备100之间的电话通信。图6示出了其中第二终端设备100将邀请命令发射到第一终端设备60的示例。即使第一终端设备60将邀请命令发射到第二终端设备100,与图6中所示的实施例的情况一样也建立RTP通信会话,在RTP通话期间,在将本地地址L1+LP1或者本地地址L2+LP2取作源或者目的地时,并且将剩余的本地地址取作源和目的地中剩余的一个时,执行数据传输。如果第二终端设备100(或者第一终端设备60)将邀请命令发射到第三终端设备160,则SIP服务器10通过确定处理S4来做出否定确定。此理由是第三终端设备160被指配了不同于第二终端设备100的全局IP地址G2。在该情况下,在第二终端设备100和第三终端设备160之间建立RTP通信会话,在RTP通信会话期间,在将全局IP地址G1+GP2或者全局IP地址G2+GP3取作源或者目的地时,并且在将剩余的全局IP地址取作源和目的地中剩余的一个时,执行数据传输。
接下来描述在断开在图6中建立的RTP通信会话之后(即,在完成电话通信之后),第一终端设备60通过其将邀请命令发射到第二终端设备100的处理。图7示出了处理的序列图。第一终端设备60的用户能够通过操纵第一终端设备60的操作单元(附图中省略)来输入第二终端设备100的SIPURI。第一终端设备60从而发起图7中所示的处理。
第一终端设备60确定包括由用户输入的第二终端设备100的SIPURI的通信信息82(参见图3)是否被存储在通信信息存储器区域80中。如果呈现肯定确定,则第一终端设备60将邀请命令250发射到作为目的地的包括在通信信息82中的本地地址L2+LP2。邀请命令250不通过第一NAT路由器52。邀请命令250包括第二终端设备100的SIPURI、第一终端设备60的本地地址L1+LP1、示出邀请命令与本地通信功能相兼容的标记252、以及质询码254。
第二终端设备100接收邀请命令250。第二终端设备100执行呼叫请求通知(例如,输出预定的声音)。如果用户在执行呼叫请求通知的过程中执行呼叫发起操作,则第二终端设备100执行响应码生成处理(S16)。第二终端设备100通过利用第二终端设备本身的秘密密钥J2(参见图4)来特定地加密包括在邀请命令250中的质询码254,从而生成响应码260。然后,第二终端设备100将“200好”命令256发射到作为目的地的包括在邀请命令250中的本地地址L1+LP1。“200好”命令256不通过第一NAT路由器52。“200好”命令256包括响应码260和示出“200好”命令256与本地通信功能相兼容的标记258。
第一终端设备60接收“200好”命令256。第一终端设备60通过利用包括在通信信息82中的公共密钥K2来解密包括在“200好”命令256中的响应码260,从而生成解密数据。然后,第一终端设备60执行用于确定在质询码254和解密数据之间是否存在匹配的确定处理(S18)。如果在两个数据集合之间存在匹配,则第一终端设备60将ACK命令262发射到作为目的地的本地地址L2+LP2。ACK命令262不通过第一NAT路由器52。ACK命令262包括示出ACK命令与本地通信功能相兼容的标记264和第一终端设备60的公共密钥K1。
第二终端设备100接收ACK命令262。第二终端设备100执行存储处理,用于在通信信息存储器区域120中存储与第一终端设备60的公共密钥K1相关联的SIPURI、本地地址L1+LP1、通信信息122(参见图4)(S20)。在已经发射了图6中的ACK命令242之后,第二终端设备100还将通信信息122存储在通信信息存储器区域120中。当接收到ACK命令262时,第二终端设备100在第一终端设备60和第二终端设备100之间建立RTP通信会话。即使在RTP通信会话中,也在将本地地址L1+LP1或者本地地址L2+LP2取作源或者目的地时,并且在将剩余的本地地址取作源和目的地中剩余一个时,执行数据传输。特定地,在不涉及第一NAT路由器52的情况下执行数据通信。第一终端设备60和第二终端设备100执行音频数据通信处理(S22和S24)。
(SIP服务器的邀请命令接收处理)
接下来参考图8来详细描述由SIP服务器10的控制单元12(参见图2)所执行的处理。图8中所示的处理由控制单元12来执行,并且通过接收邀请命令(例如,图6中所示的邀请命令220)来触发。
控制单元12确定包括在接收到的邀请命令中的目的地的SIPURI(例如,包括在图6中所示的邀请命令220中的“sip:t1@server.com”)是否被登记在登记数据存储器区域18(参见图2)中(S30)。如果选择了否,则控制单元12将错误响应发射到接收到的邀请命令的源(S32)。在该情况下,邀请命令接收处理结束。
同时,如果在S30中选择了是,则控制单元12确定接收到的邀请命令是否包括示出邀请命令与本地通信功能相兼容的标记(例如,图6中所示的标记222)(S34)。如果选择了否,则处理前进到S42。相反地,如果选择了是,则处理前进到S36。通过参考登记数据存储器区域18,在S36中,控制单元12确定与包括在接收到的邀请命令中的目的地的SIPURI相关联的标记38(参见图2)是否处于“开”位置中。如果选择了否,则处理前进到S42。如果选择了是,则处理前进到S38。
在S38中,通过参考登记数据存储器区域18,控制单元12识别与包括在接收到的邀请命令中的目的地的SIPURI相关联的全局IP地址(例如,G1)。然后,控制单元12确定在由此识别的全局IP地址和包括在接收到的邀请命令中的源的全局地址(例如,包括在图6中的邀请命令220中的G1)之间是否存在匹配。如果选择了否,则处理前进到S42。相反地,如果选择了是,则处理前进到S40。
在S40中,通过参考登记数据存储器区域18,控制单元12识别与包括在接收到的邀请命令中的目的地的SIPURI相关联的本地地址(例如,L1+LP1)和公共密钥(例如,K1)。然后,控制单元12将包括由此识别的本地地址和公共密钥的识别响应(例如,图6中所示的识别响应224)发射到接收到的邀请命令的源。在该情况下,邀请接收处理结束。
在S42中,控制单元12通过参考登记数据存储器区域18来识别与包括在接收到的邀请命令中的目的地的SIPURI相关联的全局IP地址(例如,G1+GP1)。然后,控制单元12将邀请命令传送到作为目的地的由此识别的全局地址。尽管图8中省略了后续处理,但是如果接收到作为对由此传送的邀请命令的答复的“200好”命令,则控制单元12将“200好”命令传送到邀请命令的源。此外,如果接收到作为由此传送的“200好”命令的答复的ACK时,控制单元12将ACK命令传送到邀请命令的目的地。将“200好”命令和ACK命令发射(传送)到作为目的地的全局地址。
(终端设备的邀请命令发射处理)
接下来详细描述由第二终端设备100的控制单元102(参见图4)执行的处理。第一终端设备60的控制单元62和第三终端设备的控制单元(附图中省略)执行与第二终端设备100的控制单元102类似的处理。首先参考图9至图11来描述由控制单元102执行的邀请发射处理。通过由用户执行邀请命令的目的地的SIPURI的输入来触发图9至图11中所示的处理。
控制单元102确定由用户输入的包括目的地的SIPURI的通信信息是否被存储在通信信息存储器区域120(参见图4)中(S60)。如果选择了是,则处理前进到图11中所示的S120。如果选择了否,则处理前进到S62。在S62中,控制单元102向SIP服务器10发射邀请命令,该邀请命令包括示出邀请命令与本地通信功能相兼容的标记(参见图6中所示的标记222)。
控制单元102监视作为对在S62中发射的邀请命令的答复的错误响应的接收(S64)。如果选择了是,则控制单元102使未示出的显示单元显示错误(S66)。在该情况下,邀请命令传输处理结束。
控制单元102监视作为对在S62中发射的邀请命令的答复的“200好”命令的接收(S68)。如果选择了是,则控制单元102将ACK命令发射到SIP服务器10(S70)。因此,在邀请命令的目的地和第二终端设备100之间建立RTP通信会话。如前所述,通过SIP服务器10来发射为了建立RTP通信会话而发射的命令(邀请命令、“200好”命令和ACK命令)。在该情况下,通过使用邀请命令的目的地和第二终端设备100的全局地址来发射这些命令。因此,建立了RTP通信会话,在RTP通信会话期间,在将邀请命令的目的地的全局地址或者第二终端设备100的全局地址取作目的地或者源时,并且在将剩余的一个取作源或者目的地时,执行数据传输。控制单元102通过利用由此建立的RTP通信会话来执行音频数据传输(S72)。在该情况下,通过第一NAT路由器52来执行音频数据传输。
控制单元102监视作为对在S62中发射的邀请命令的答复的识别响应的接收(S74)。如果选择了是,则控制单元102随机地获得数值,从而生成质询码。然后,控制单元102将邀请命令发射到作为目的地的包括在识别响应中的本地地址(S76)。邀请命令包括SIPURI、示出邀请命令与本地通信功能相兼容的标记(图6中所示的标记232)、质询码以及第二终端设备100的本地地址L2+LP2。在完成与S76有关的处理之后,处理前进到图10中所示的S90。
控制单元102监视作为对在图9中所示的S76中发射的邀请命令的答复的错误响应的接收(S90)。在S90中,控制单元102还监视从在S76中发射邀请命令以来经过的预定时间段。如果在S90中选择了是,则处理前进到S92。
控制单元102向SIP服务器10发射不包括示出邀请命令与本地通信功能相兼容的标记的邀请命令(包括除了标记之外的与图9中所示的S62中发射的邀请命令相类似的详细情况)(S92)。控制单元102监视作为对在S92中发射的邀请命令的答复的错误响应的接收(S94)。如果选择了是,则控制单元102前进到图9中所示的S66,并且使显示单元指示错误。控制单元102还监视作为对在S92中发射的邀请命令的答复的正在接收的“200好”命令(S96)。如果选择了是,则控制单元102前进到图9中所示的S70,并且将ACK命令发射到SIP服务器10。
控制单元102监视作为对在图9中所示的S76中发射的邀请命令的答复的“200好”命令的接收(S98)。如果选择了是,则控制单元102通过利用包括在图9中所示的S74中接收到的识别响应中的公共密钥来解密包括在S98中接收到的“200好”命令中的响应码,从而生成解密数据(S100)。控制单元102确定在解密数据和图9中所示的S76中发射的质询码之间是否存在匹配(S102)。如果选择了否,则控制单元102前进到S92,其中,向SIP服务器10发射不包括示出邀请命令与本地通信功能相兼容的标记的邀请命令。
同时,如果在S102中选择了是,则控制单元102将包括第二终端设备100的公共密钥K2的ACK命令发射到作为目的地的包括在图9中所示的S74中接收到的识别响应中的本地地址(S104)。然后,控制单元102将用户输入的目的地的SIPURI、包括在图9中所示的S74中接收到的识别响应中的本地地址、以及包括其本身的识别响应的公共密钥的通信信息存储在通信信息存储器区域120(参见图4)中(S106)。由于在S104中发射ACK命令,所以在邀请命令的目的地和第二终端设备100之间建立RTP通信会话。如果通过使用本地地址来发射邀请命令、“200好”命令以及ACK命令,则因此建立RTP通信会话,在RTP通信会话期间,在将邀请命令的目的地的本地地址或者第二终端设备100的本地地址取作目的地或者源时,并且在将剩余的一个取作源或者目的地时,执行数据传输。控制单元102通过利用由此建立的RTP通信会话来执行音频数据传输(S108)。在该情况下,在不涉及第一NAT路由器52的情况下执行音频数据传输。
如前所述,如果在图9中所示的S60中选择了是[如果由用户输入的目的地的SIPURI被存储在通信信息存储器区域120(参见图4)中],则处理前进到图11中所示的S120。在S120中,控制单元102通过参考通信信息存储器区域120来识别与用户输入的目的地的SIPURI相关联的本地地址。控制单元102生成质询码。然后,控制单元102将邀请命令发射到作为目的地的由此识别的本地地址。邀请命令包括SIPURI、示出与本地通信功能相兼容的标记、质询码以及第二终端设备100的本地地址L2+LP2。
控制单元102监视作为对在S120中发射的邀请命令的答复的错误响应的接收(S122)。在S122中,控制单元102还监视从在S120中发射邀请命令以来经过的预定时间段。如果在S122中选择了是,则控制单元102前进到图9中所示的S62,其中,向SIP服务器10发射包括示出与本地通信功能的兼容性的标记的邀请命令。
控制单元102监视作为对在S120中发射的邀请命令的答复的“200好”命令的接收(S124)。如果选择了是,则控制单元102通过利用包括用户输入的目的地的SIPURI的通信信息的公共密钥(例如,K1)来解密包括在S124中接收到的“200好”命令中的响应码,从而生成解密数据(S126)。控制单元102确定在解密数据和S120中发射的质询码之间是否存在匹配(S128)。如果选择了否,则控制单元102前进到图9中所示的S62,其中,向SIP服务器10发射包括示出邀请命令与本地通信功能相兼容的标记的邀请命令。
同时,如果在S128中选择了是,则控制单元102将包括第二终端设备100的公共密钥K2的ACK命令发射到作为目的地的在S120中识别的本地地址(与用户输入的目的地的SIPURI相关联的本地地址)(S130)。由于在S130中传输ACK命令,所以在邀请命令的目的地和第二终端设备100之间建立RTP通信会话。在RTP通信会话期间,在将邀请命令的目的地的本地地址或者第二终端设备100的本地地址取作目的地或者源时,并且在将剩余的本地地址取作源和目的地中剩余的一个时,执行数据通信。控制单元102通过利用由此建立的RTP通信会话来执行音频数据传输(S132)。在该情况下,在不涉及第一NAT路由器52的情况下,执行音频数据通信。
(终端设备的邀请命令接收处理)
接下来参考图12来描述由第二终端设备100的控制单元102执行的邀请命令接收处理。通过接收邀请命令来触发图12中所示的处理。
控制单元102确定接收到的邀请命令是否包括示出邀请命令可与本地通信功能相兼容的标记和质询码(S150)。特定地,例如,由于第一终端设备60执行与图9中所示的S76或者图11中所示的S120有关的处理,所以控制单元102确定是否接收被发射到作为目的地的第二终端设备的本地地址L2+LP2的邀请命令。如果选择了是,则处理前进到S162。相反地,如果选择了否,则处理前进到S152。
在S152中,控制单元102确定是否由SIP服务器10发射了所接收到的邀请命令。如果选择了否,则控制单元102将错误响应发射到接收到的邀请命令的源(S154)。在该情况下,邀请命令接收处理结束。
尽管在流程图中没有示出,但是如果在S152中选择了是,则控制单元102执行通信请求通知。如果用户已经执行了呼叫发起操作,则控制单元102将“200好”命令发射到SIP服务器10(S156)。由SIP服务器10来向邀请命令的源(例如,第三终端设备160)传送由此发射的“200好”命令。邀请命令的源将ACK命令发射到SIP服务器10(参见图9中所示的S70)。SIP服务器10将由此发射的ACK命令传送到第二终端设备100。第二终端设备100接收ACK命令(S158)。因此在邀请命令的源和第二终端设备100之间建立RTP通信会话。在RTP通信会话期间,在将邀请命令的源的全局地址或者第二终端设备100的全局地址取作目的地或者源时,并且在将剩余的全局地址取作源和目的地中剩余的一个时,执行数据通信。控制单元102通过利用由此建立的RTP通信会话来执行音频数据通信(S160)。在该情况下,通过第一NAT路由器52来执行音频数据通信。
尽管在流程图中没有示出,但是如果在S150中选择了是,则控制单元102执行通信请求通知。如果用户已经执行了呼叫发起操作,则控制单元102通过利用秘密密钥J2(参见图4)来加密包括在接收到的邀请命令中的质询码,从而生成响应码(S162)。由此接收到的邀请命令包括邀请命令的源(例如,第一终端设备60)的本地地址。控制单元102将包括S162中生成的响应码的“200好”命令发射到作为目的地的邀请命令的源的本地地址(S164)。因此,邀请命令的源将包括源本身的公共密钥的ACK命令发射到第二终端设备100(参见图10中所示的S104和图11中所示的S130)。第二终端设备100接收ACK命令(S166)。
然后,控制单元102将邀请命令的源(例如,第一终端设备60)的SIPURI、邀请命令的源的本地地址以及与包括在S166中接收到的ACK命令中的公共密钥相关联的通信信息存储在通信信息存储器区域120中(S168)。如果在S166中接收到ACK命令,则在邀请命令的源和第二终端设备100之间建立RTP通信会话。在RTP通信会话期间,在将邀请命令的源的本地地址或者第二终端设备100的本地地址取作目的地或者源时,并且在将剩余的本地地址取作源或者目的地中剩余的一个时,执行数据通信。控制单元102通过利用由此建立的RTP通信会话来执行音频数据通信(S170)。在该情况下,在不涉及第一NAT路由器52的情况下执行音频数据通信。
(终端设备的通信信息管理处理)
接下来描述由控制单元102执行的通信信息管理处理(附图中省略了流程图)。控制单元102结合存储在通信信息存储器区域120中的各条通信信息(例如,通信信息122)来管理从存储通信信息以来已经经过的时间。如果存在其经过的时间已经到达预定时间的通信信息,则控制单元102从通信信息存储器区域120中删除通信信息。这使得能够防止存储单元110的剩余的存储器空间的浪费的消耗,这可能是以其它方式由多条通信信息被持续地存储在通信信息存储器区域120中所造成的。
已经详细地描述了本实施例的电话网络系统2。根据本实施例,如果在第一终端设备60的全局IP地址G1和第二终端设备100的全局IP地址G1之间存在匹配,则第二终端设备100从SIP服务器10获得第一终端设备60的本地地址L1+LP1和公共密钥K1。为了确定是否确实可以与第一终端设备60建立通信,如果通过利用由此获得的本地地址L1+LP1来执行通信,则第二终端设备100通过利用获得的公共密钥K1来执行质询认证(图10中的S102)。如果成功执行了质询认证,则第二终端设备100将ACK命令发射到作为目的地的获得的本地地址L1+LP1(图10中的S104)。因此建立了RTP通信会话。在由此建立的RTP通信会话期间,第一终端设备60和第二终端设备100通过使用其各自的本地地址L1+LP1和L2+LP2来执行音频数据传输。能够在不涉及第一NAT路由器52的情况下执行音频数据通信。因此,能够减少第一NAT路由器52上的处理负载。此外,能够在不涉及第一NAT路由器52的情况下执行通信;因此,能够减小在第一终端设备60和第二终端设备100之间建立的通信的延迟(换言之,能够加速终端之间的通信)。
根据本实施例,如果在第一终端设备60的全局IP地址G1和第二终端设备100的全局IP地址G1之间存在匹配,则SIP服务器10无需执行用于传送“200好”命令和ACK命令的处理。还能够减少SIP服务器10上的处理负载。
即使在第一终端设备60的全局IP地址和第二终端设备100的第二局球IP地址之间不存在匹配,SIP服务器10也将从第二终端设备100发射的邀请命令传送到第一终端设备60。通过SIP服务器10来在第一终端设备60和第二终端设备100之间交换“200好”命令和ACK命令(图9中的S68和S70)。即使质询认证已经以失败结束,也由SIP服务器10来发射邀请命令、“200好”命令以及ACK命令(图10中所示的S92和S96以及图9中所示的S70)。因此建立了RTP通信会话。在由此建立的RTP通信会话期间,第一终端设备60和第二终端设备100能够通过使用它们各自的全局地址来交换音频数据通信。
如果通过利用它们各自的本地地址L1+LP1和L2+LP2来进行通信,则第一终端设备60和第二终端设备100存储关于它们的另一端上的各方(参见图3和图4)的通信信息82和122。继续保留通信信息82和122达预定的时间段。例如,如果用户命令再次执行与第一终端设备60的通信,则第二终端设备100能够通过利用通信信息122(通过利用本地地址L1+LP1)来执行与第一终端设备60的通信。类似地,如果用户命令再次执行与第二终端设备100的通信,则第一终端设备60能够通过利用通信信息82(通过利用本地地址L2+LP2)来交换与第二终端设备100的通信。可以进一步减小在第一NAT路由器52上的处理负载。在该情况下,因为通信根本没有涉及SIP服务器10(甚至邀请命令没有被发射到SIP服务器),所以SIP服务器10无需执行处理。
如果成功执行了质询认证,则第二终端设备100将包括其公共密钥K2的ACK命令发射到第一终端设备60(图10中所示的S104)。因此,如果用户指示再次执行与第二终端设备100的通信,则第一终端设备60能够通过利用公共密钥K2来执行质询认证。
从前述中能够看出,本实施例的第一终端设备60、第二终端设备100以及SIP服务器10分别与第一终端设备、第二终端设备以及连接管理服务器相对应。图9中示出的S74中执行的用于接收识别响应的处理与由本地地址获得单元执行的处理相对应。在图10中所示的S90和S98以及图11中所示的S120和S124中执行的用于监视响应的接收的处理、图10中所示的S100和图11中所示的S126中的用于解密响应码的处理、以及与图10中所示的S102和图11中所示的S128有关的用于将解密数据与质询数据作比较的处理与由确定单元执行的处理相对应。在图10中所示的S108中执行的用于通过使用本地地址来执行音频数据通信的处理与由目标数据通信单元(第一目标数据通信单元)执行的用于通过使用第一本地IP地址来进行第一数据的通信的处理相对应。
在图10中所示的S96中执行的用于从SIP服务器10接收“200好”命令的处理与由全局地址获得单元执行的处理相对应。在图9中所示的S72中执行的用于通过使用全局地址来执行音频数据通信的处理与由目标数据通信单元(第二目标数据通信单元)执行的用于通过使用第一全局IP地址来进行第二数据的通信的处理相对应。图9中所示的S76中用于发射质询码以及图10中所示的S98中用于接收“200好”命令的处理还与第一质询数据通信单元执行的处理相对应。图10中所示的S106中的用于存储通信信息的处理与由存储控制单元执行的处理相对应。在图10中所示的S132中执行的用于通过使用本地地址来执行音频数据通信的处理与由目标数据通信单元执行的用于通过使用第一本地IP地址来再次进行第三数据的通信的处理相对应。
在图10中所示的S104中执行的用于发射包括公共密钥的ACK命令的处理与由公共密钥发射单元执行的处理相对应。图12中所示的S150中的用于接收质询码的处理、S162中的用于生成响应码的处理、以及S164中的用于发射响应码的处理与由第二质询数据通信单元执行的处理相对应。图12中所示的S170中的用于通过使用本地地址来执行音频数据通信的处理与用于由目标数据通信单元执行的通过使用第二本地IP地址来执行第四数据的通信的处理相对应。图2中所示的控制单元还与服务器侧存储控制单元、服务器侧确定单元、服务器侧发射单元、以及服务器侧传送单元相对应,并且登记数据存储单元18与服务器侧存储单元相对应。
尽管目前为止已经详细描述了本发明的特定实施例,但是实施例仅仅是说明,并且不限制权利要求的范围。权利要求中所描述的技术包括上述特定实施例的各种修改和变化。下面提供了实施例的示例性修改。
(1)结合实施例描述的技术还能够适用于除了电话通信之外的通信系统。例如,该技术可以适用于传真数据通信系统以及视频数据和音频数据的通信系统。
(2)SIP服务器10和STUN服务器40可以被组装成单个单元。此外,结合实施例描述的其它的两个或者更多的设备(例如,第一NAT路由器52和STUN服务器40)也可以被组装成单个单元。
(3)在实施例中,如果第二终端设备100将邀请命令发射到第三终端设备160,则SIP服务器10确定在第二终端设备100的全局IP地址G1和第三终端设备160的全局IP地址G2之间不存在匹配。在该情况下,SIP服务器10传送邀请命令。还通过SIP服务器10来发射“200好”命令和ACK命令。作为该模式的替代,SIP服务器10还能够将第三终端设备160的全局地址G2+GP3发射到第二终端设备100。第二终端设备100还能够将邀请命令发射到作为目的地的第三终端设备160的全局地址G2+GP3。特定地,第二终端设备100还能够在不涉及SIP服务器10的情况下将邀请命令发射到第三终端设备160。在该情况下,还能够在不涉及SIP服务器10的情况下发射“200好”命令和ACK命令。本修改使得能够减少SIP服务器10上的处理负载。
(4)在以上实施例中,终端设备60、100和160发送关于它们自己的全局地址的STUN服务器40查询。然而,终端设备60、100和160可以通过利用UPnP来发送关于它们自己的全局地址的NAT路由器52和152查询。
结合说明书和附图描述的技术要素应当单独地或者以组合来呈现技术实用性,并且不限于结合如提交的权利要求描述的组合。结合说明书或者附图例示的技术应当同时达到多个目的,并且达到目的中的一个就引起技术实用性的呈现。