CN109067659B - 一种会话建立方法、路由器及会话系统 - Google Patents
一种会话建立方法、路由器及会话系统 Download PDFInfo
- Publication number
- CN109067659B CN109067659B CN201810951283.6A CN201810951283A CN109067659B CN 109067659 B CN109067659 B CN 109067659B CN 201810951283 A CN201810951283 A CN 201810951283A CN 109067659 B CN109067659 B CN 109067659B
- Authority
- CN
- China
- Prior art keywords
- address
- message
- source
- invite message
- router
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
Abstract
本发明涉及通信技术领域,公开了一种会话建立方法、路由器及会话系统,会话建立方法包括:路由器在接收到客户端之间传送的INVITE报文时,获取INVITE报文的源IP地址和第一IP地址;当INVITE报文的源IP地址与第一IP地址在同一网段,进行NAT ALG处理;路由器在接收到客户端之间传送的200 OK报文时,获取200 OK报文的源IP地址和第二IP地址;当200 OK报文的源IP地址与第二IP地址在同一网段,进行NAT ALG处理。本发明的会话建立方法使得当SIP服务器在内网时,内网客户端与外网客户端之间、内网客户端之间、外网客户端之间均能够建立会话,并正常通信,提高通信的便利性。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种会话建立方法、路由器及会话系统。
背景技术
SIP(Session Initiation Protocol,会话初始协议)是一种基于文本的应用层的控制协议,用于创建、修改和释放一个或多个参与者的会话,且会话的参与者可以通过组播、网状单播或两者的混合进行通信。由于SIP不对需要建立的会话类型进行定义,而只定义应该如何管理会话,具有较高的灵活性,因此SIP被广泛地应用于交互游戏、音乐和视频点播以及语音、视频和WEB(World Wide Web,万维网)会议等。
在通常的SIP通信网络中,SIP服务器普遍设置在外网上,主叫客户端能够通过外网上的SIP服务器与被叫客户端进行通话。其中,客户端之间的会话建立的主要过程一般为:主叫客户端发送INVITE报文,并经SIP服务器转发至被叫客户端;当被叫用户摘机时,被叫客户端发送用于表示连接成功的200OK报文,并经 SIP服务器转发至主叫客户端;当主叫客户端接收到200OK报文并确认后,主叫客户端与被叫客户端之间建立通信连接,开始通话。
然而,当SIP服务器设置在内网时,如果两个客户端均在同一内网内,两个客户端之间也能够相互发起会话请求,并进行正常通话。但是,当SIP服务器和其中一个客户端在同一内网内,而另一个客户端在外网时,由于网络无法对采集数据发送到哪里的地址信息进行转换,因此无法获得正确的目的地址,使得数据无法传输至目的地,从而导致两个客户端之间无法正常通信。
发明内容
本发明的目的是提供一种会话建立方法、路由器及会话系统,以解决当SIP 服务器以及其中一个客户端在内网,另一客户端在外网时,客户端之间无法正常通信的技术问题,以提高通信的便利性。
为了解决上述技术问题,本发明提供一种会话建立方法,SIP服务器在内网内;所述会话建立方法包括:
路由器在接收到客户端之间传送的INVITE报文时,获取所述INVITE报文的源IP地址和第一IP地址;其中,所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP地址;
判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段;若是,则对所述INVITE报文进行NAT ALG处理;
路由器在接收到客户端之间传送的200OK报文时,获取所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;
判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则对所述200OK报文进行NAT ALG处理。
作为优选方案,在所述判断获取的所述INVITE报文的源IP地址与所述第一 IP地址是否在同一网段之前,还包括:
判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否相同;若是,则对所述INVITE报文进行NAT ALG处理。
作为优选方案,在所述判断获取的所述200OK报文的源IP地址与所述第二 IP地址是否在同一网段之前,还包括:
判断获取的所述200OK报文的源IP地址与所述第二IP地址是否相同;若是,则对所述200OK报文进行NAT ALG处理。
作为优选方案,所述第一IP地址由所述INVITE报文的SDP部分携带。
作为优选方案,所述第二IP地址由所述200OK报文的SDP部分携带。
为了解决相同的技术问题,本发明还提供一种路由器,SIP服务器在内网内;
所述路由器包括接收单元、提取单元和处理单元;
所述接收单元,用于接收客户端之间传送的INVITE报文和200OK报文;
所述提取单元,用于获取接收到的所述INVITE报文的源IP地址和第一IP 地址;其中,所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP 地址;
以及获取接收到的所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;
所述处理单元,用于判断获取的所述INVITE报文的源IP地址与所述第一IP 地址是否在同一网段,并在所述INVITE报文的源IP地址与所述第一IP地址在同一网段时,对所述INVITE报文进行NAT ALG处理;
以及判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段,并在所述200OK报文的源IP地址与所述第二IP地址在同一网段时,对所述200OK报文进行NAT ALG处理。
作为优选方案,所述处理单元,还用于在判断获取的所述INVITE报文的源 IP地址与所述第一IP地址是否在同一网段之前,判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否相同,并在所述INVITE报文的源IP地址与所述第一IP地址相同时,对所述INVITE报文进行NAT ALG处理。
作为优选方案,所述处理单元,还用于在判断获取的所述200OK报文的源 IP地址与所述第二IP地址是否在同一网段之前,判断获取的所述200OK报文的源IP地址与所述第二IP地址是否相同,并在所述200OK报文的源IP地址与所述第二IP地址相同时,对所述200OK报文进行NAT ALG处理。
为了解决相同的技术问题,本发明还提供一种会话建立的系统,包括SIP服务器、主叫客户端、被叫客户端以及上述的路由器,所述SIP服务器在内网内;
所述主叫客户端发送INVITE报文,经所述SIP服务器和所述路由器转发至所述被叫客户端;
所述被叫客户端发送200OK报文,经所述SIP服务器和所述路由器后转发至所述主叫客户端。
本发明提供一种会话建立方法、路由器及会话系统,其中,所述会话建立方法包括:路由器在接收到客户端之间传送的INVITE报文时,获取所述INVITE 报文的源IP地址和第一IP地址;其中所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP地址;判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段;若是,则对所述INVITE报文进行NAT ALG处理;路由器在接收到客户端之间传送的200OK报文时,获取所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则对所述200OK报文进行NAT ALG处理。通过在路由器接收到客户端之间传送的INVITE报文时,使路由器获取所述 INVITE报文的源IP地址与所述第一IP地址,并在所述INVITE报文的源IP地址与所述第一IP地址在同一网段时,对所述INVITE报文进行NATALG处理后再转发;同时,在路由器接收到客户端之间传送的200OK报文时,使路由器获取所述200OK报文的源IP地址和第二IP地址,并在所述200OK报文的源IP 地址与所述第二IP地址在同一网段时,对所述200OK报文进行NAT ALG处理后再转发,使得后续媒体流能够顺利且准确地传输至目的地,从而使得当SIP服务器在内网时,内网客户端与外网客户端之间、内网客户端之间、外网客户端之间均能够建立会话,并正常通信,进而有效地避免了当SIP服务器以及其中一个客户端在内网,另一客户端在外网时,客户端之间无法正常通信的问题,提高了通信的便利性。
附图说明
图1是本发明的实施例所提供的会话建立方法的流程示意图;
图2是本发明的实施例所提供的会话建立的其中一种实施方式的数据流程示意图;
图3是本发明的实施例所提供的会话建立的另一种实施方式的数据流程示意图;
图4是本发明的实施例所提供的会话建立的又一种实施方式的数据流程示意图;
图5是本发明的实施例所提供的路由器的结构示意图;
图6是本发明的实施例所提供的会话系统的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
结合图1至图4所示,本发明优选实施例的一种会话建立方法,SIP服务器在内网内;路由器开启SIP ALG(Application Layer Gateways,应用层网关)功能,并为SIP服务器设置了SIP端口或DMZ(Demilitarized Zone,隔离区);
所述会话建立方法包括以下步骤:
S101、路由器在接收到客户端之间传送的INVITE报文时,获取所述INVITE 报文的源IP地址和第一IP地址;其中,所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP地址;
在步骤S101中,所述路由器接收客户端之间传送的INVITE报文的过程,具体为:当主叫客户端发起会话请求时,所述主叫客户端发送INVITE报文,所述INVITE报文经所述SIP服务器和所述路由器转发至被叫客户端。
具体地,如图2所示,在其中一种具体应用场景中,所述SIP服务器和其中一个客户端在同一内网,另一个客户端在外网;当内网客户端呼叫外网客户端时,内网客户端为主叫客户端,外网客户端为被叫客户端;所述路由器接收客户端之间传送的INVITE报文的过程,具体表现为:所述内网客户端发送INVITE报文,所述INVITE报文经所述SIP服务器转发至所述路由器,再由所述路由器转发至所述外网客户端;
如图3所示,在另一种具体应用场景中,SIP服务器和其中一个客户端在同一内网,另一个客户端在外网;当外网客户端呼叫内网客户端时,此时,内网客户端为被叫客户端,外网客户端为主叫客户端;所述路由器接收客户端之间传送的INVITE报文的过程,具体表现为:所述外网客户端发送INVITE报文,所述 INVITE报文传送至所述路由器,再由所述路由器转发至所述SIP服务器,最后由所述SIP服务器转发所述INVITE报文到所述内网客户端;
如图4所示,在又一种具体应用场景中,所述SIP服务器在内网,两个客户端均在外网,例如其中一个在外网的客户端为外网客户端A,另一个在外网的客户端为外网客户端B;当所述外网客户端A呼叫所述外网客户端B时,所述外网客户端A为主叫客户端,所述外网客户端B为被叫客户端;所述路由器接收客户端之间传送的INVITE报文的过程,具体表现为:所述外网客户端A发送 INVITE报文,所述INVITE报文传输至所述路由器,再由所述路由器转发至内网的所述SIP服务器;接着所述SIP服务器接收到所述INVITE报文,并查询到目的地址后,将所述INVITE报文转发至所述路由器,再由所述路由器转发至所述外网客户端B。
其中,在所述INVITE报文传输的过程中,所述路由器在接收到所述INVITE 报文时,获取所述INVITE报文的源IP地址和第一IP地址。
在本发明实施例中,需要说明的是,由于Linux会为每一个经过网络堆栈的数据包,生成一个新的连接记录项,从而对该数据包连接的产生、传输以及终止进行跟踪记录;因此,所述INVITE报文的源IP地址由所述INVITE报文的连接跟踪的结构体携带。另外,所述INVITE报文包括SDP(Session Description Protocol,会话描述协议)部分,所述SDP部分中的Connection Informatica字段携带了其用于建立新媒体流连接的IP地址信息,即所述第一IP地址;可以理解的是,所述第一IP地址由所述INVITE报文的SDP部分携带。
S102、判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段;若是,则对所述INVITE报文进行NAT(Network Address Translation,网络地址转换)ALG(Application Level Gateway,应用层网关)处理;
具体地,在所述路由器获取了所述INVITE报文的源IP地址和第一IP地址后,通过调取通信网络中的网桥的网络掩码(Netmask),从而判断获取的所述 INVITE报文的源IP地址与所述第一IP地址是否在同一网段。
当所述INVITE报文的源IP地址与所述第一IP地址在同一网段时,所述路由器对所述INVITE报文进行NAT ALG处理,再转发处理后的所述INVITE报文;当所述INVITE报文的源IP地址与所述第一IP地址不在同一网段,则无需对所述INVITE报文进行NAT ALG处理,所述路由器直接转发所述INVITE报文。
在其中一种优选方式中,在实施步骤S102之前,并在实施步骤S101之后,还包括步骤:
判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否相同;若是,则对所述INVITE报文进行NAT ALG处理,再转发处理后的所述INVITE 报文;若否,则实施步骤S102。
S103、路由器在接收到客户端之间传送的200OK报文时,获取所述200OK 报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;
在步骤S103中,所述路由器接收客户端之间传送的200OK报文的过程,具体为:所述被叫客户端接收到所述INVITE报文后,当被叫用户摘机时,所述被叫客户端发送200OK报文,所述200OK报文经所述SIP服务器和所述路由器转发至所述主叫客户端。
具体地,如图2所示,在其中一种具体应用场景中,所述SIP服务器和其中一个客户端在同一内网,另一个客户端在外网;当内网客户端呼叫外网客户端时,内网客户端为主叫客户端,外网客户端为被叫客户端;所述路由器接收客户端之间传送的200OK报文的过程,具体表现为:所述外网客户端接收到所述INVITE 报文后,当被叫用户摘机时,所述外网客户端发送用于表示连接成功的响应报文,即200OK报文,所述200OK报文传送至所述路由器,再由所述路由器转发至所述SIP服务器,最后由所述SIP服务器转发至所述内网客户端;
如图3所示,在另一种具体应用场景中,SIP服务器和其中一个客户端在同一内网,另一个客户端在外网;当外网客户端呼叫内网客户端时,此时,内网客户端为被叫客户端,外网客户端为主叫客户端;所述路由器接收客户端之间传送的200OK报文的过程,具体表现为:所述内网客户端接收到所述INVITE报文后,当被叫用户摘机时,所述内网客户端发送200OK报文,所述200OK报文经所述SIP服务器转发至所述路由器,再由所述路由器转发至所述外网客户端;
如图4所示,在又一种具体应用场景中,所述SIP服务器在内网,两个客户端均在外网,例如其中一个在外网的客户端为外网客户端A,另一个在外网的客户端为外网客户端B;当所述外网客户端A呼叫所述外网客户端B时,所述外网客户端A为主叫客户端,所述外网客户端B为被叫客户端;所述路由器接收客户端之间传送的200OK报文的过程,具体表现为:所述外网客户端B接收到所述INVITE报文后,当被叫用户摘机时,所述外网客户端B发送200OK报文,所述200OK报文传输至所述路由器,再由所述路由器转发至内网的所述SIP服务器;接着所述SIP服务器接收到所述200OK报文后,将所述200OK报文转发至所述路由器,再由所述路由器转发至所述外网客户端A。
其中,在所述200OK报文传输的过程中,当所述路由器接收到所述200OK 报文时,获取所述200OK报文的源IP地址和第二IP地址。
在本发明实施例中,所述200OK报文的源IP地址由所述200OK报文的连接跟踪的结构体携带。另外,所述200OK报文的SDP部分中的Connection Informatica字段携带了其用于建立新媒体流连接的IP地址信息,即所述第二IP 地址;可以理解的是,所述第二IP地址由所述200OK报文的SDP部分携带。
S104、判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则对所述200OK报文进行NAT ALG处理。
具体地,在所述路由器获取了所述200OK报文的源IP地址和第二IP地址后,通过调取通信网络中的网桥的网络掩码(Netmask),从而使得路由器能够判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段。
当所述200OK报文的源IP地址与所述第二IP地址在同一网段时,所述路由器对所述200OK报文进行NAT ALG处理,再转发处理后的所述200OK报文;当所述200OK报文的源IP地址与所述第二IP地址不在同一网段,则无需对所述200OK报文进行NAT ALG处理,所述路由器直接转发所述200OK报文。
在其中一种优选方式中,在实施步骤S104之前,并在实施步骤S103之后,还包括步骤:
判断获取的所述200OK报文的源IP地址与所述第二IP地址是否相同;若是,则对所述200OK报文进行NAT ALG处理,再转发处理后的所述200OK报文;若否,则实施步骤S104。
最后,当所述主叫客户端接收到所述200OK报文并确认后,所述主叫客户端和所述被叫客户端之间建立通信连接,开始通话,从而完成会话建立。
在本发明实施例中,通过在路由器接收到客户端之间传送的INVITE报文时,使路由器获取所述INVITE报文的源IP地址与所述第一IP地址,并在所述 INVITE报文的源IP地址与所述第一IP地址在同一网段时,对所述INVITE报文进行NAT ALG处理后再转发;另外,在路由器接收到客户端之间传送的200OK 报文时,使路由器获取所述200OK报文的源IP地址和第二IP地址,并在所述 200OK报文的源IP地址与所述第二IP地址在同一网段时,对所述200OK报文进行NAT ALG处理后再转发,使得后续媒体流能够顺利且准确地传输至目的地,从而使得当SIP服务器在内网时,内网客户端与外网客户端之间、外网客户端之间、内网客户端之间均能够建立会话,并正常通信,进而有效地避免了当SIP服务器以及其中一个客户端在内网,另一客户端在外网时,客户端之间无法正常通信的问题,提高了通信的便利性。
实施例2
如图5所示,为了解决相同的技术问题,本发明还提供一种路由器,SIP服务器在内网内;所述路由器为SIP服务器设置了SIP端口或DMZ(Demilitarized Zone,隔离区);
所述路由器包括接收单元11、提取单元12和处理单元13;
所述接收单元11,用于接收客户端之间传送的INVITE报文和200OK报文;
所述提取单元12,用于获取接收到的所述INVITE报文的源IP地址和第一 IP地址;其中,所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP地址;
以及获取接收到的所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;
所述处理单元13,用于判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段,并在所述INVITE报文的源IP地址与所述第一IP地址在同一网段时,对所述INVITE报文进行NAT ALG处理;
以及判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段,并在所述200OK报文的源IP地址与所述第二IP地址在同一网段时,对所述200OK报文进行NAT ALG处理。
在其中一种优选方式中,所述处理单元,还可以用于在判断获取的所述 INVITE报文的源IP地址与所述第一IP地址是否在同一网段之前,判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否相同,并在所述INVITE 报文的源IP地址与所述第一IP地址相同时,对所述INVITE报文进行NAT ALG 处理。
在又一种优选方式中,所述处理单元,还可以用于在判断获取的所述200OK 报文的源IP地址与所述第二IP地址是否在同一网段之前,判断获取的所述200 OK报文的源IP地址与所述第二IP地址是否相同,并在所述200OK报文的源IP 地址与所述第二IP地址相同时,对所述200OK报文进行NAT ALG处理。
因此,在SIP服务器在内网的情况下,当主叫客户端向被叫客户端发起会话建立请求时,所述路由器能够执行如下方法:
S201、在所述接收单元11接收到客户端之间传送的INVITE报文时,所述提取单元12获取所述INVITE报文的源IP地址和第一IP地址;其中所述第一IP 地址为所述INVITE报文中用于建立新媒体流连接的IP地址;
S202、所述处理单元13判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段;若是,则所述处理单元13对所述INVITE报文进行 NAT ALG处理;
在其中一种优选方式中,在实施步骤S202之前,并在实施步骤S201之后,还包括步骤:
所述处理单元13判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否相同;若是,则对所述处理单元13对所述INVITE报文进行NAT ALG处理;若否,则实施步骤S202。
S203、在所述接收单元11接收到客户端之间传送的200OK报文时,所述提取单元12获取所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP 地址为所述200OK报文中用于建立新媒体流连接的IP地址;
S204、所述处理单元13判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则所述处理单元13对所述200OK报文进行 NAT ALG处理。
在其中一种优选方式中,在实施步骤S204之前,并在实施步骤S203之后,还包括步骤:
所述处理单元13判断获取的所述200OK报文的源IP地址与所述第二IP地址是否相同;若是,则所述处理单元13对所述200OK报文进行NAT ALG处理;若否,则实施步骤S204。
在本发明实施例中,所述路由器通过其接收单元11接收到客户端之间传送的INVITE报文,再通过所述提取单元获取所述INVITE报文的源IP地址与所述第一IP地址,并在所述INVITE报文的源IP地址与所述第一IP地址在同一网段时,通过所述处理器13对所述INVITE报文进行NAT ALG处理后再转发;同时,所述路由器通过其接收单元11接收到客户端之间传送的200OK报文,再通过所述提取单元12获取所述200OK报文的源IP地址和第二IP地址,并在所述200OK 报文的源IP地址与所述第二IP地址在同一网段时,通过所述处理器13对所述 200OK报文进行NAT ALG处理后再转发,使得后续媒体流能够顺利且准确地传输至目的地,从而使得当SIP服务器在内网时,内网客户端与外网客户端之间、外网客户端之间、内网客户端之间均能够建立会话,并正常通信,进而有效地避免了当SIP服务器以及其中一个客户端在内网,另一客户端在外网时,客户端之间无法正常通信的问题,提高了通信的便利性。
实施例3
如图6所示,为了解决相同的技术问题,本发明还提供一种会话建立系统,包括SIP服务器、主叫客户端、被叫客户端以及实施例2所述的路由器,所述SIP 服务器在内网内;
所述主叫客户端发送INVITE报文,经所述SIP服务器和所述路由器转发至所述被叫客户端;
所述被叫客户端发送200OK报文,经所述SIP服务器和所述路由器后转发至所述主叫客户端。
其中,所述主叫客户端可以设置在内网,也可以设置在外网;另外,所述被叫客户端可以设置在内网,也可以设置在外网。如图6所示,在其中一种具体应用场景中,所述SIP服务器和客户端C在同一内网,客户端A和客户端B在外网;可以理解的是,当客户端A呼叫客户端B时,客户端A为主叫客户端,客户端B为被叫客户端;当客户端C呼叫客户端A时,客户端C为主叫客户端,客户端A为被叫客户端,在此不做更多的赘述。
在本发明实施例中,在所述主叫客户端发送INVITE报文,经所述SIP服务器和所述路由器转发至所述被叫客户端的过程中,所述路由器在接收到客户端之间传送的INVITE报文时,获取所述INVITE报文的源IP地址和第一IP地址;其中所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP地址;
所述路由器判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段;若是,则对所述INVITE报文进行NAT ALG处理后再转发;若否,则无需对所述INVITE报文进行NAT ALG处理,所述路由器直接转发所述 INVITE报文。
在所述被叫客户端发送200OK报文,经所述SIP服务器和所述路由器后转发至所述主叫客户端的过程中,所述路由器在接收到客户端之间传送的200OK 报文时,获取所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP 地址为所述200OK报文中用于建立新媒体流连接的IP地址;
所述路由器判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则对所述200OK报文进行NAT ALG处理后再转发;若否,则无需对所述200OK报文进行NAT ALG处理,所述路由器直接转发所述 200OK报文。
此外,在本发明实施例中,关于所述路由器的实现方式可参考上述实施例2 的描述,在此不再赘述。
综上,本发明提供一种会话建立方法、路由器及会话系统,其中,所述会话建立方法包括:路由器在接收到客户端之间传送的INVITE报文时,获取所述 INVITE报文的源IP地址和第一IP地址;其中所述第一IP地址为所述INVITE 报文中用于建立新媒体流连接的IP地址;判断获取的所述INVITE报文的源IP 地址与所述第一IP地址是否在同一网段;若是,则对所述INVITE报文进行NAT ALG处理;路由器在接收到客户端之间传送的200OK报文时,获取所述200OK 报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则对所述200OK报文进行NAT ALG 处理。通过在路由器接收到客户端之间传送的INVITE报文时,使路由器获取所述INVITE报文的源IP地址与所述第一IP地址,并在所述INVITE报文的源IP 地址与所述第一IP地址在同一网段时,对所述INVITE报文进行NAT ALG处理后再转发;另外,在路由器接收到客户端之间传送的200OK报文时,使路由器获取所述200OK报文的源IP地址和第二IP地址,并在所述200OK报文的源IP 地址与所述第二IP地址在同一网段时,对所述200OK报文进行NAT ALG处理后再转发,使得后续媒体流能够顺利且准确地传输至目的地,从而使得当SIP服务器在内网时,内网客户端与外网客户端之间、外网客户端之间、内网客户端之间均能够建立会话,并正常通信,进而有效地避免了当SIP服务器以及其中一个客户端在内网,另一客户端在外网时,客户端之间无法正常通信的问题,提高了通信的便利性
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (9)
1.一种会话建立方法,其特征在于,SIP服务器在内网内;所述会话建立方法包括:
路由器在接收到主叫外网客户端传送的INVITE报文时,获取所述INVITE报文的源IP地址和第一IP地址;其中,所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP地址;判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段;若是,则对所述INVITE报文进行NAT ALG处理,并转发至内网的所述SIP服务器,以使所述SIP服务器接收到所述INVITE报文,并查询到目的地址后,将所述INVITE报文转发至所述路由器;
路由器在接收到所述SIP服务器传送的INVITE报文时,获取所述INVITE报文的源IP地址和第一IP地址;判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段;若是,则对所述INVITE报文进行NAT ALG处理,并转发至被叫外网客户端;
路由器在接收到被叫外网客户端传送的200OK报文时,获取所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则对所述200OK报文进行NAT ALG处理,并转发至内网的所述SIP服务器,以使所述SIP服务器接收到所述200OK报文后,将所述200OK报文转发至所述路由器;
路由器在接收到所述SIP服务器传送的200OK报文时,获取所述200OK报文的源IP地址和第二IP地址;判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段;若是,则对所述200OK报文进行NAT ALG处理,并转发至所述主叫外网客户端。
2.如权利要求1所述的会话建立方法,其特征在于,在所述判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段之前,还包括:
判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否相同;若是,则对所述INVITE报文进行NAT ALG处理。
3.如权利要求1所述的会话建立方法,其特征在于,在所述判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段之前,还包括:
判断获取的所述200OK报文的源IP地址与所述第二IP地址是否相同;若是,则对所述200OK报文进行NAT ALG处理。
4.如权利要求1-3任一项所述的会话建立方法,其特征在于,所述第一IP地址由所述INVITE报文的SDP部分携带。
5.如权利要求1-3任一项所述的会话建立方法,其特征在于,所述第二IP地址由所述200OK报文的SDP部分携带。
6.一种路由器,其特征在于,SIP服务器在内网内;
所述路由器包括接收单元、提取单元和处理单元;
所述接收单元,用于接收主叫外网客户端和所述SIP服务器传送的INVITE报文,以及接收被叫外网客户端和所述SIP服务器传送的200OK报文;
所述提取单元,用于获取接收到的所述INVITE报文的源IP地址和第一IP地址;其中,所述第一IP地址为所述INVITE报文中用于建立新媒体流连接的IP地址;
以及获取接收到的所述200OK报文的源IP地址和第二IP地址;其中,所述第二IP地址为所述200OK报文中用于建立新媒体流连接的IP地址;
所述处理单元,用于判断获取的所述主叫外网客户端传送的INVITE报文的源IP地址与所述第一IP地址是否在同一网段,并在所述INVITE报文的源IP地址与所述第一IP地址在同一网段时,对所述INVITE报文进行NAT ALG处理,并转发至内网的所述SIP服务器,以使所述SIP服务器接收到所述INVITE报文,并查询到目的地址后,将所述INVITE报文转发至所述路由器;及,在接收到所述SIP服务器传送的INVITE报文的源IP地址与所述第一IP地址在同一网段时,对所述INVITE报文进行NAT ALG处理,并转发至被叫外网客户端;
以及判断获取的所述被叫外网客户端传送的200OK报文的源IP地址与所述第二IP地址是否在同一网段,并在所述200OK报文的源IP地址与所述第二IP地址在同一网段时,对所述200OK报文进行NAT ALG处理,并转发至内网的所述SIP服务器,以使所述SIP服务器接收到所述200OK报文后,将所述200OK报文转发至所述路由器;及,在接收到所述SIP服务器传送的200OK报文的源IP地址与所述第二IP地址在同一网段时,对所述200OK报文进行NAT ALG处理,并转发至所述主叫外网客户端。
7.如权利要求6所述的路由器,其特征在于,所述处理单元,还用于在判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否在同一网段之前,判断获取的所述INVITE报文的源IP地址与所述第一IP地址是否相同,并在所述INVITE报文的源IP地址与所述第一IP地址相同时,对所述INVITE报文进行NAT ALG处理。
8.如权利要求6所述的路由器,其特征在于,所述处理单元,还用于在判断获取的所述200OK报文的源IP地址与所述第二IP地址是否在同一网段之前,判断获取的所述200OK报文的源IP地址与所述第二IP地址是否相同,并在所述200OK报文的源IP地址与所述第二IP地址相同时,对所述200OK报文进行NAT ALG处理。
9.一种会话系统,其特征在于,包括SIP服务器、主叫客户端、被叫客户端以及如权利要求6-8任一项所述的路由器,所述SIP服务器在内网内;
所述主叫客户端发送INVITE报文,经所述SIP服务器和所述路由器转发至所述被叫客户端;
所述被叫客户端发送200OK报文,经所述SIP服务器和所述路由器后转发至所述主叫客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810951283.6A CN109067659B (zh) | 2018-08-20 | 2018-08-20 | 一种会话建立方法、路由器及会话系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810951283.6A CN109067659B (zh) | 2018-08-20 | 2018-08-20 | 一种会话建立方法、路由器及会话系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109067659A CN109067659A (zh) | 2018-12-21 |
CN109067659B true CN109067659B (zh) | 2021-08-06 |
Family
ID=64686729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810951283.6A Active CN109067659B (zh) | 2018-08-20 | 2018-08-20 | 一种会话建立方法、路由器及会话系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067659B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079144B (zh) * | 2021-03-24 | 2022-11-18 | 上海井星信息科技有限公司 | 一种穿透DMZ网络的SIP WebRTC网关系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764172A (zh) * | 2004-10-18 | 2006-04-26 | 北京万林克网络技术有限公司 | 穿越网络地址转换和防火墙的多媒体通信代理系统及方法 |
CN101047548A (zh) * | 2006-03-31 | 2007-10-03 | 株式会社日立制作所 | 多个nat的私有网络内的通信 |
US7561586B2 (en) * | 2003-09-19 | 2009-07-14 | Nortel Networks Limited | Method and apparatus for providing network VPN services on demand |
CN102118363A (zh) * | 2009-12-31 | 2011-07-06 | 北京大唐高鸿数据网络技术有限公司 | 一种具有代理机制的VoIP系统及其通信方法 |
CN102301681A (zh) * | 2009-01-30 | 2011-12-28 | 思科技术公司 | 经过网络地址转换(nat)设备的媒体流传输 |
CN102318323A (zh) * | 2011-07-30 | 2012-01-11 | 华为技术有限公司 | 私网与网外客户端之间呼叫的nat处理方法、设备和系统 |
CN105591941A (zh) * | 2015-07-23 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种无线漫游方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694206B1 (ko) * | 2005-02-28 | 2007-03-14 | 삼성전자주식회사 | 사설망에서의 sip 서비스 제공 장치 및 그 방법 |
CN101119270A (zh) * | 2007-09-14 | 2008-02-06 | 华中科技大学 | 网络边界处理方法 |
CN101860536B (zh) * | 2010-05-31 | 2014-05-07 | 北京邮电大学 | 一种基于sip软终端的私网穿越系统和方法 |
-
2018
- 2018-08-20 CN CN201810951283.6A patent/CN109067659B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7561586B2 (en) * | 2003-09-19 | 2009-07-14 | Nortel Networks Limited | Method and apparatus for providing network VPN services on demand |
CN1764172A (zh) * | 2004-10-18 | 2006-04-26 | 北京万林克网络技术有限公司 | 穿越网络地址转换和防火墙的多媒体通信代理系统及方法 |
CN101047548A (zh) * | 2006-03-31 | 2007-10-03 | 株式会社日立制作所 | 多个nat的私有网络内的通信 |
CN102301681A (zh) * | 2009-01-30 | 2011-12-28 | 思科技术公司 | 经过网络地址转换(nat)设备的媒体流传输 |
CN102118363A (zh) * | 2009-12-31 | 2011-07-06 | 北京大唐高鸿数据网络技术有限公司 | 一种具有代理机制的VoIP系统及其通信方法 |
CN102318323A (zh) * | 2011-07-30 | 2012-01-11 | 华为技术有限公司 | 私网与网外客户端之间呼叫的nat处理方法、设备和系统 |
CN105591941A (zh) * | 2015-07-23 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种无线漫游方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109067659A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schulzrinne et al. | The session initiation protocol: Internet-centric signaling | |
TWI401927B (zh) | 用於根據一電腦協定(像是sip)將一電話通話與一對話相關聯之方法及電腦可讀取媒體 | |
US8296447B2 (en) | Method for copying session information, call control server for executing the same, and computer product | |
US20130179521A1 (en) | Method and device for implementing a group session | |
US20080013447A1 (en) | Method and Apparatus for Survivable Failover in Communication System | |
JP2004523971A (ja) | Sipネットワークにおける呼び出し処理 | |
JP4382435B2 (ja) | ネットワーク、サーバ装置及びそれらに用いる通話品質制御方法 | |
CN105721570A (zh) | 数据点对点传输方法及装置 | |
US8126493B2 (en) | Method and PoC gateway for implementing PoC service | |
EP2381617B1 (en) | A method for calling a conference when hard terminals have been bound to pc clients, a login server thereof, a conference server thereof and a pc client thereof | |
RU2332804C2 (ru) | Обработка начальных мультимедийных данных ii | |
US20070233901A1 (en) | Methods and systems for integrating network services with multiple communication protocols | |
WO2011029335A1 (zh) | 一种sip会话的路由系统及方法 | |
US8233400B2 (en) | Methods, systems, and computer readable media for verifying the availability of an internet protocol (IP) media router during a call setup | |
US9071690B2 (en) | Call transfer processing in SIP mode | |
WO2007112640A1 (fr) | Procédé et appareil de remplacement de l'identification de session, serveur d'application et procédé de remplacement de session | |
WO2008095430A1 (fr) | Procédé et système pour protéger un organisme médiatique contre une attaque de pirates informatiques | |
CN109067659B (zh) | 一种会话建立方法、路由器及会话系统 | |
EP2020813B1 (en) | A method, device and system for implementing the session service | |
KR20050002335A (ko) | Sip 망의 호 처리 시스템 및 방법 | |
US8495225B2 (en) | Methods and arrangements for a telecommunications system | |
KR101080383B1 (ko) | 브이오아이피 호설정 방법 및 이를 수행하는 브이오아이피 통신 시스템 | |
US7460533B1 (en) | System and method for multi-casting announcements | |
CN101594623B (zh) | 一种互联网协议语音呼叫的监听方法及设备 | |
US20080137647A1 (en) | VoIP terminal and method for providing multi-call service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220608 Address after: 200000 5th floor, No. 1 and 5, Lane 168, Xumin Road, Qingpu District, Shanghai Patentee after: Shanghai LianHong Technology Co.,Ltd. Address before: 518000 the 1st and 3rd floors of the south section of building 24 and the 1st-4th floor of the north section of building 28, Shennan Road Science and Technology Park, Nanshan District, Shenzhen City, Guangdong Province Patentee before: TP-LINK TECHNOLOGIES Co.,Ltd. |