CN108848194B - 内网客户端之间的会话建立方法、路由器以及会话系统 - Google Patents
内网客户端之间的会话建立方法、路由器以及会话系统 Download PDFInfo
- Publication number
- CN108848194B CN108848194B CN201810951282.1A CN201810951282A CN108848194B CN 108848194 B CN108848194 B CN 108848194B CN 201810951282 A CN201810951282 A CN 201810951282A CN 108848194 B CN108848194 B CN 108848194B
- Authority
- CN
- China
- Prior art keywords
- port number
- address
- media stream
- message
- stream port
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- 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/2521—Translation architectures other than single NAT servers
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种内网客户端之间的会话建立方法、路由器及会话系统,会话建立方法包括:路由器获取第一INVITE报文的第一源IP地址和第一媒体流端口号,并进行NAT ALG处理;将第二INVITE报文的第一IP地址转换为第一源IP地址,并将第二INVITE报文的第二媒体流端口号转换为第一媒体流端口号;路由器获取第一200 OK报文的第二源IP地址和第三媒体流端口号,并进行NAT ALG处理;将第二200 OK报文的第二IP地址转换为第二源IP地址,并将第二200 OK报文的第四媒体流端口号转换为第三媒体流端口号。本发明的会话建立方法无需SIP服务器代理,降低了数据流量的费用,提高了媒体流的稳定性。
Description
技术领域
本发明涉及通信技术领域,特别是涉及内网客户端之间的会话建立方法、路由器以及会话系统。
背景技术
SIP(Session Initiation Protocol,会话初始协议)是一种基于文本的应用层的控制协议,用于创建、修改和释放一个或多个参与者的会话,且会话的参与者可以通过组播、网状单播或两者的混合进行通信。由于SIP不对需要建立的会话类型进行定义,而只定义应该如何管理会话,具有较高的灵活性,因此SIP被广泛地应用于交互游戏、音乐和视频点播以及语音、视频和WEB(World Wide Web,万维网)会议等。
在通常的SIP通信网络中,当内网内的两个客户端之间有发起会话的需求时,若仅开启该网络中的路由器的SIP ALG(SIP Application Layer Gateways,SIP应用层网关)功能,无法实现两个内网客户端之间的通信。目前,为了实现内网内的客户端之间的通信,通常会在公网设置SIP服务器,通过公网的SIP服务器对内网的两个客户端之间的媒体流进行代理转发,从而实现内网客户端之间的通信。但是,当采用SIP服务器对客户端之间的媒体流进行代理时,不仅增加了SIP服务器的负载,同时还会产生额外的数据流量费用;此外,采用SIP服务器对媒体流进行代理的方式的稳定性较低,因此,无法保证SIP客户端之间通信的质量。
发明内容
本发明的目的是提供内网客户端之间的会话建立方法、路由器及会话系统,以解决由于内网的客户端之间的通信,需要外网的SIP服务器对客户端之间的媒体流进行代理,导致数据流量费用高,且稳定性差的技术问题,以降低数据流量费用,并提高通信的稳定性。
为了解决上述技术问题,本发明提供内网客户端之间的会话建立方法,SIP服务器在外网;所述会话建立方法包括:
路由器在接收到第一INVITE报文时,获取并保存所述第一INVITE报文的第一源IP地址和第一媒体流端口号,并对所述第一INVITE报文进行NAT ALG处理;其中,所述第一INVITE报文为内网客户端发往所述SIP服务器的INVITE报文;
路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;其中,所述第二INVITE报文为所述SIP服务器收到所述第一INVITE报文后,发往另一内网客户端的INVITE报文;所述第一IP地址为所述第二INVITE报文中用于建立新媒体流连接的IP地址;
路由器在接收到第一200OK报文时,获取并保存所述第一200OK报文的第二源IP地址和第三媒体流端口号,并对所述第一200OK报文进行NAT ALG处理;其中,所述第一200OK报文为内网客户端发往所述SIP服务器的200OK报文;
路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号;其中,所述第二200OK报文为所述SIP服务器接收到所述第一200OK报文后,发往内网客户端的200OK报文;所述第二IP地址为所述第二200OK报文中用于建立新媒体流连接的IP地址;
其中,所述路由器在接收到所述第一INVITE报文时,还为所述第一媒体流端口号分配第一NAT映射端口号;
所述对所述第一INVITE报文进行NAT ALG处理包括:
根据所述第一媒体流端口号和所述第一NAT映射端口号之间的映射关系,将所述第一INVITE报文的所述第一媒体流端口号转换为所述第一NAT映射端口号。
作为优选方案,所述路由器在接收到所述第一INVITE报文时,还获取所述第一INVITE报文的第一目的IP地址,并将所述第一源IP地址,所述第一目的IP地址,所述第一媒体流端口号以及所述第一NAT映射端口号之间的映射关系保存为第一SIP信息数组;
所述路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号,具体为:
路由器在接收到所述第二INVITE报文时,获取所述第二INVITE报文的第一IP地址和第二媒体流端口号;其中,所述第二媒体流端口号为所述第一NAT映射端口号;
根据所述第二媒体流端口号,查询到相应的所述第一SIP信息数组;
判断所述第一IP地址与查询到的所述第一SIP信息数组中的所述第一目的IP地址是否相同;若是,则将所述第二INVITE报文的所述第一IP地址转换为查询到的所述第一SIP信息数组中的所述第一源IP地址,并将所述第二INVITE报文的所述第二媒体流端口号转换为查询到的所述第一SIP信息数组中的所述第一媒体流端口号。
作为优选方案,所述路由器在接收到所述第一200OK报文时,还为所述第三媒体流端口号分配第二NAT映射端口号;
所述对所述第一200OK报文进行NAT ALG处理包括:
根据所述第三媒体流端口号和所述第二NAT映射端口号之间的映射关系,将所述第一200OK报文的所述第三媒体流端口号转换为所述第二NAT映射端口号。
作为优选方案,所述路由器在接收到所述第一200OK报文时,还获取所述第一200OK报文的第二目的IP地址,并将所述第二源IP地址,所述第二目的IP地址,所述第三媒体流端口号以及所述第二NAT映射端口号之间的映射关系保存为第二SIP信息数组;
所述路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,具体为:
路由器在接收到所述第二200OK报文时,获取所述第二200OK报文的第二IP地址和第四媒体流端口号;其中,所述第四媒体流端口号为所述第二NAT映射端口号;
根据所述第四媒体流端口号,查询到相应的所述第二SIP信息数组;
判断所述第二IP地址与查询到的所述第二SIP信息数组中的所述第二目的IP地址是否相同;若是,则将所述第二200OK报文的所述第二IP地址转换为查询到的所述第二SIP信息数组中的所述第二源IP地址,并将所述第二200OK报文的所述第四媒体流端口号转换为查询到的所述第二SIP信息数组中的所述第三媒体流端口号。
为了解决相同的技术问题,本发明还提供一种路由器,SIP服务器在外网,客户端在内网;
所述路由器包括接收模块、提取模块、存储模块和处理模块;
所述接收模块,用于接收内网客户端和SIP服务器之间传送的INVITE报文和200OK报文;
所述提取模块,用于获取第一INVITE报文的第一源IP地址和第一媒体流端口号;其中,所述第一INVITE报文为内网客户端发往所述SIP服务器的INVITE报文;
以及获取第一200OK报文的第二源IP地址和第三媒体流端口号;其中,所述第一200OK报文为另一内网客户端发往所述SIP服务器的200OK报文;
所述存储模块,用于保存获取的所述第一源IP地址和所述第一媒体流端口号;
以及保存获取的所述第二源IP地址和所述第三媒体流端口号;
所述处理模块,用于对所述第一INVITE报文进行NAT ALG处理;以及将第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;其中,所述第二INVITE报文为所述SIP服务器在收到所述第一INVITE报文后,发往另一内网客户端的INVITE报文;所述第一IP地址为所述第二INVITE报文中用于建立新媒体流连接的IP地址;
还用于对所述第一200OK报文进行NAT ALG处理;以及将第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号;其中,所述第二200OK报文为所述SIP服务器收到所述第一200OK报文后,发往内网客户端的200OK报文;所述第二IP地址为所述第二200OK报文中用于建立新媒体流连接的IP地址;
其中,所述路由器还包括分配模块;
所述分配模块,用于为所述第一媒体流端口号分配第一NAT映射端口号;
所述处理模块包括转换单元;
所述转换单元,用于将所述第一INVITE报文的所述第一媒体流端口号转换为所述第一NAT映射端口号。
作为优选方案,所述提取模块,还用于获取所述第一INVITE报文的第一目的IP地址;
所述存储模块,还用于将所述第一源IP地址,所述第一目的IP地址,所述第一媒体流端口号以及所述第一NAT映射端口号之间的映射关系保存为第一SIP信息数组;
所述处理模块还包括查询单元和判断单元;
所述查询单元,用于根据所述第二媒体流端口号,查询到相应的所述第一SIP信息数组;其中,所述第二媒体流端口号为所述第一NAT映射端口号;
所述判断单元,用于判断所述第一IP地址与查询到的所述第一SIP信息数组中的所述第一目的IP地址是否相同;
所述转换单元,还用于将所述第二INVITE报文的所述第一IP地址转换为查询到的所述第一SIP信息数组中的所述第一源IP地址,并将所述第二INVITE报文的所述第二媒体流端口号转换为查询到的所述第一SIP信息数组中的所述第一媒体流端口号。
作为优选方案,所述分配模块,还用于为所述第三媒体流端口号分配第二NAT映射端口号;
所述提取模块,还用于获取所述第一200OK报文的第二目的IP地址;
所述存储模块,还用于将所述第二源IP地址,所述第二目的IP地址,所述第三媒体流端口号以及所述第二NAT映射端口号之间的映射关系保存为第二SIP信息数组;
所述查询单元,还用于根据所述第四媒体流端口号,查询到相应的所述第二SIP信息数组;其中,所述第四媒体流端口号为所述第二NAT映射端口号;
所述判断单元,用于判断所述第二IP地址与查询的所述第二SIP信息数组中的所述第二目的IP地址是否相同;
所述转换单元,还用于将所述第一200OOK报文的第三媒体流端口号转换为所述第二NAT映射端口号;
以及将所述第二200OK报文的第二IP地址转换为查询的所述第二SIP信息数组中的所述第二源IP地址,并将所述第二200OK报文的所述第四媒体流端口号转换为查询的所述第二SIP信息数组中的所述第三媒体流端口号。
为了解决相同的技术问题,本发明还提供一种内网客户端之间的会话系统,包括SIP服务器以及上述的路由器,所述SIP服务器在外网;
所述SIP服务器,用于在接收到由所述路由器转发的INVITE报文和200OK报文后,将接收到的所述INVITE报文和所述200OK报文转发至内网客户端。
本发明提供一种内网客户端之间的会话建立方法、路由器及会话系统,其中,所述会话建立方法通过使路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为获取的所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;同时使路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为获取的所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,从而使得内网客户端之间能够直接建立会话,进而使内网客户端之间的媒体流能够直接在内网内互通,而无需设于外网的SIP服务器对内网客户端之间的媒体流进行代理,因此降低了SIP服务器的负载,并节省了数据流量,以降低数据流量的费用;同时,由于无需采用SIP服务器对客户端之间的媒体流进行代理,提高了媒体流的稳定性,因此,保证了通信的质量。
附图说明
图1是本发明的实施例所提供的内网客户端之间的会话建立方法的流程示意图;
图2是本发明的实施例所提供的内网客户端之间的会话建立的数据流程示意图;
图3是本发明的实施例所提供的路由器的结构示意图;
图4是本发明的实施例所提供的处理模块的结构示意图;
图5是本发明的实施例所提供的会话系统的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
结合图1和图2所示,本发明优选实施例的内网客户端之间的会话建立方法,SIP服务器在内网内;路由器开启SIP ALG功能;
所述会话建立方法包括以下步骤:
S101、路由器在接收到第一INVITE报文时,获取并保存所述第一INVITE报文的第一源IP地址和第一媒体流端口号,并对所述第一INVITE报文进行NAT(Network AddressTranslation,网络地址转换)ALG处理;其中,所述第一INVITE报文为内网客户端发往所述SIP服务器的INVITE报文;
如图2所示,在具体应用场景中,所述SIP服务器在外网,两个客户端在同一内网;当其中一个内网客户端呼叫另一内网客户端,请求建立会话时,所述路由器接收到第一INVITE报文的过程为:所述主叫内网客户端发出第一INVITE报文,所述第一INVITE报文传输至所述路由器,并由所述路由器转发至所述SIP服务器。
在本发明实施例中,需要说明的是,由于Linux会为每一个经过网络堆栈的数据包,生成一个新的连接记录项,从而对该数据包连接的产生、传输以及终止进行跟踪记录;因此,所述第一源IP地址由所述第一INVITE报文的连接跟踪的结构体携带。另外,所述第一INVITE报文的SDP(Session Description Protocol,会话描述协议)部分中的MediaDescription字段携带了所述第一INVITE报文的媒体流端口号,即所述第一媒体流端口号;可以理解的是,所述第一媒体流端口号为所述第一INVITE报文的SDP部分携带的媒体流端口号。
此外,在步骤S101中,所述路由器在接收到第一INVITE报文时,还为所述第一媒体流端口号分配第一NAT映射端口号。具体地,所述路由器在接收到第一INVITE报文时,为所述内网客户端分配一个空闲的第一NAT映射端口号;其中,所述第一媒体流端口号与所述第一NAT映射端口号为一一对应的关系。
需要说明的是,由于部分INVITE报文中可以包括多个Media Description字段,因而所述第一INVITE报文中可以携带多个第一媒体流端口号;因此,所述为所述第一媒体流端口号分配第一NAT映射端口号,具体为:为所述第一INVITE报文的每一个第一媒体流端口号分配一个相应的第一NAT映射端口号。
在步骤S101中,所述对所述第一INVITE报文进行NAT ALG处理,包括:
根据所述第一媒体流端口号和第一NAT映射端口号之间的映射关系,将所述第一INVITE报文的所述第一媒体流端口号转换为所述第一NAT映射端口号。
所述路由器在对所述第一INVITE报文进行NAT ALG处理后,转发所述第一INVITE报文至所述SIP服务器。
S102、路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;其中,所述第二INVITE报文为所述SIP服务器收到所述第一INVITE报文后,发往另一内网客户端的INVITE报文;所述第一IP地址为所述第二INVITE报文中用于建立新媒体流连接的IP地址;
如图2所示,所述路由器接收到第二INVITE报文的过程为:当所述SIP服务器接收到内网客户端发出的所述第一INVITE报文后,所述SIP服务器查询到目的地址,并发出第二INVITE报文至所述路由器,再由所述路由器将所述第二INVITE报文转发至被叫内网客户端。
另外,在步骤S101中,所述路由器在接收到所述第一INVITE报文时,还获取所述第一INVITE报文的第一目的IP地址,并将所述第一源IP地址,所述第一目的IP地址,所述第一媒体流端口号,所述第一NAT映射端口号,以及所述第一媒体流端口号和所述第一NAT映射端口号之间的映射关系保存为第一SIP信息数组;其中,需要说明的是,所述第一目的IP地址由所述第一INVITE报文的连接跟踪的结构体携带;
因此,在实施步骤S102时,所述路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号,具体为:
S1021、路由器在接收到第二INVITE报文时,获取所述第二INVITE报文的第一IP地址和第二媒体流端口号;其中,所述第二媒体流端口号为所述第一NAT映射端口号;
需要说明的是,所述第二INVITE报文的SDP部分中的Media Description字段携带了所述第二INVITE报文的媒体流端口号,即所述第二媒体流端口号。另外,由于在步骤S101中,所述路由器对所述第一INVITE报文进行NAT ALG处理,将所述第一INVITE报文的第一媒体流端口号转换为所述第一NAT映射端口号,并转发处理后的第一INVITE报文至所述SIP服务器,因此,所述SIP服务器发出的第二INVITE报文的第二媒体流端口号仍为所述第一NAT映射端口号。
此外,所述第二INVITE报文的消息头(Message Header)部分的Contact字段,以及所述第二INVITE报文的SDP部分中的Owner/Creator字段和Connection Information字段携带了所述第二INVITE报文中用于建立新媒体流连接的IP地址,即所述第一IP地址。需要说明的是,由于部分的INVITE报文可以包括Contact字段、Owner/Creator字段和Connection Information字段中的一种或一种以上,因此,在后续的步骤S1023中,在对所述第二INVITE报文进行处理时,可以根据实际情况对所述第二INVITE报文的Contact字段、Owner/Creator字段和Connection Information字段中的IP地址进行转换。
S1022、根据所述第二媒体流端口号,查询到相应的所述第一SIP信息数组;
具体地,由于所述第二媒体流端口号为所述第一NAT映射端口号,因此,能够根据所述第一NAT映射端口号,查询到所述第一NAT映射端口号所在的第一SIP信息数组。
S1023、判断所述第一IP地址与查询的所述第一SIP信息数组中的所述第一目的IP地址是否相同;若是,则将所述第二INVITE报的所述第一IP地址转换为查询的所述第一SIP信息数组中的所述第一源IP地址,并将所述第二INVITE报的所述第二媒体流端口号转换为查询的所述第一SIP信息数组中的所述第一媒体流端口号。
具体地,当所述第一IP地址与查询的所述第一SIP信息数组中的所述第一目的IP地址相同时,表明携带所述第一IP地址的第二INVITE报文为内网客户端发出的INVITE报文,并经所述路由器转发至所述SIP服务器,再由所述SIP服务器发出的INVITE报文;此时,需要对所述第二INVITE报文中的所述第一IP地址和所述第二媒体流端口号进行转换;
当所述第一IP地址与查询的所述第一SIP信息数组中的所述第一目的IP地址不相同时,则无需对所述第二INVITE报文进行处理。
S103、路由器在接收到第一200OK报文时,获取并保存所述200OK报文的第二源IP地址和第三媒体流端口号,并对所述第一200OK报文进行NAT ALG处理;其中,所述第一200OK报文为另一内网客户端发往所述SIP服务器的200OK报文;
如图2所示,所述路由器接收到第一200OK报文的过程为:所述被叫内网客户端接收到所述路由器转发的第二INVITE报文后,当被叫用户摘机时,所述被叫内网客户端发出用于表示连接成功的200OK报文,即第一200OK报文,所述第一200OK报文传输至所述路由器,并由所述路由器转发至所述SIP服务器。
在本发明实施例中,需要说明的是,所述第二源IP地址由所述第一200OK报文的连接跟踪的结构体携带。另外,所述第一200OK报文的SDP部分中的Media Description字段携带了所述第一200OK报文的媒体流端口号,即所述第三媒体流端口号。
此外,在步骤S103中,所述路由器在接收到第一200OK报文时,还为所述第三媒体流端口号分配第二NAT映射端口号。具体地,所述路由器在接收到第一200OK报文时,为所述内网客户端分配一个空闲的第二NAT映射端口号;其中,所述第三媒体流端口号与所述第二NAT映射端口号为一一对应的关系。
需要说明的是,由于部分的200OK报文中可以包括多个Media Description字段,因而所述第一200OK报文中可以携带多个第三媒体流端口号;因此,所述为所述第三媒体流端口号分配第二NAT映射端口号,具体为:为所述第一200OK报文的每一个第三媒体流端口号分配一个相应的第二NAT映射端口号。
在步骤S103中,所述对所述第一200OK报文进行NAT ALG处理包括:
根据所述第三媒体流端口号和第二NAT映射端口号之间的映射关系,将所述第一200OK报文的所述第三媒体流端口号转换为所述第二NAT映射端口号。
所述路由器在对所述第一200OK报文进行NAT ALG处理后,转发所述第一200OK报文至所述SIP服务器。
S104、路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号;其中,所述第二200OK报文为所述SIP服务器接收到所述第一200OK报文后,发往内网客户端的200OK报文;所述第二IP地址为所述第二200OK报文中用于建立新媒体流连接的IP地址。
如图2所示,所述路由器接收到第二200OK报文的过程为:当所述SIP服务器接收到所述被叫内网客户端发出的所述第一200OK报文后,发出第二200OK报文至所述路由器,并由所述路由器转发至所述主叫内网客户端。
另外,在步骤S103中,所述路由器在接收到第一200OK报文时,还获取所述第一200OK报文的第二目的IP地址,并将所述第二源IP地址,所述第二目的IP地址,所述第三媒体流端口号,所述第二NAT映射端口号,以及所述第三媒体流端口号和所述第二NAT映射端口号之间的映射关系保存为第二SIP信息数组;其中,需要说明的是,所述第二目的IP地址由所述第一200OK报文携带;
因此,在实施步骤S104时,所述路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,具体为:
S1041、路由器在接收到第二200OK报文时,获取所述第二200OK报文的第二IP地址和第四媒体流端口号;其中,所述第四媒体流端口号为所述第二NAT映射端口号;
需要说明的是,所述第二200OK报文的SDP部分中的Media Description字段携带了第二200OK报文的媒体流端口号,即所述第四媒体流端口号。另外,由于在步骤S103中,所述路由器对所述第一200OK报文进行NAT ALG处理,将所述第一200OK报文中的所述第三媒体流端口号转换为所述第二NAT映射端口号,并转发处理后的第一200OK报文至所述SIP服务器,因此,所述SIP服务器发出的所述第二200OK报文的第四媒体流端口号仍为所述第二NAT映射端口号。
此外,所述第二200OK报文的消息头部分的Contact字段,以及所述第二200OK报文的SDP部分的Owner/Creator字段和Connection Information字段携带了第二200OK报文中用于建立新媒体流连接的IP地址,即所述第一IP地址。需要说明的是,由于部分的200OK报文可以包括Contact字段、Owner/Creator字段和Connection Information字段中的一种或一种以上,在后续的步骤S1043中,在对所述第二200OK报文进行处理时,可以根据实际情况对所述第二200OK报文的Contact字段、Owner/Creator字段和Connection Information字段中的IP地址进行转换。
S1042、根据所述第四媒体流端口号,查询到相应的所述第二SIP信息数组;
具体地,由于所述第四媒体流端口号为所述第二NAT映射端口号,因此,能够根据所述第二NAT映射端口号,查询到所述第二NAT映射端口号所在的第二SIP信息数组。
S1043、判断所述第二IP地址与查询的所述第二SIP信息数组中的所述第二目的IP地址是否相同;若是,则将所述第二200OK报文的所述第二IP地址转换为查询的所述第二SIP信息数组中的所述第二源IP地址,并将所述第二200OK报文的所述第四媒体流端口号转换为查询的所述第二SIP信息数组中的所述第三媒体流端口号。
具体地,当所述第二IP地址与查询的所述第二SIP信息数组中的所述第二目的IP地址相同时,表明携带所述第二IP地址的所述第二200OK报文为内网客户端发出的200OK报文,并经所述路由器转发至所述SIP服务器,再由所述SIP服务器发出的200OK报文;此时,需要对所述第二200OK报文的所述第二IP地址和所述第四媒体流端口号进行转换;
当所述第二IP地址与查询的所述第二SIP信息数组中的所述第二目的IP地址不相同时,则无需对所述第二200OK报文进行处理。
在本发明实施例中,通过使路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为获取的所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;同时使路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为获取的所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,从而使得内网客户端之间能够直接建立会话,进而使内网客户端之间的媒体流能够直接在内网内互通,而无需设于外网的SIP服务器对内网客户端之间的媒体流进行代理,因此降低了SIP服务器的负载,并节省了数据流量,以降低数据流量的费用;同时,由于无需采用SIP服务器对客户端之间的媒体流进行代理,提高了媒体流的稳定性,因此,保证了通信的质量。
实施例2
结合图3和图4所示,为了解决相同的技术问题,本发明还提供一种路由器,SIP服务器在外网,客户端在内网;所述路由器开启SIP ALG功能;
所述路由器包括接收模块1、提取模块2、存储模块3和处理模块4;
所述接收模块1,用于接收内网客户端和SIP服务器之间传送的INVITE报文和200OK报文;
所述提取模块2,用于获取第一INVITE报文的第一源IP地址和第一媒体流端口号;其中,所述第一INVITE报文为内网客户端发往所述SIP服务器的INVITE报文;
以及获取第一200OK报文的第二源IP地址和第三媒体流端口号;其中,所述第一200OK报文为另一内网客户端发往所述SIP服务器的200OK报文;
所述存储模块3,用于保存获取的所述第一源IP地址和所述第一媒体流端口号;
以及保存获取的所述第二源IP地址和所述第三媒体流端口号;
所述处理模块4,用于对所述第一INVITE报文进行NAT ALG处理;以及将第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;其中,所述第二INVITE报文为所述SIP服务器在收到所述第一INVITE报文后,发往另一内网客户端的INVITE报文;所述第一IP地址为所述第二INVITE报文中用于建立新媒体流连接的IP地址;
还用于对所述第一200OK报文进行NAT ALG处理;以及将第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号;其中,所述第二200OK报文为所述SIP服务器在收到所述第一200OK报文后,发往网客户端的200OK报文;所述第二IP地址为所述第二200OK报文中用于建立新媒体流连接的IP地址。
因此,在SIP服务器在外网,客户端均在内网的情况下,当内网客户端向另一内网客户端发起会话建立请求时,所述路由器能够执行如下方法:
S201、在所述接收模块1接收到第一INVITE报文时,所述提取单元获取所述第一INVITE报文的第一源IP地址和第一媒体流端口号,并由所述存储模块3保存所述第一源IP地址和所述第一媒体流端口号;所述处理模块4对所述第一INVITE报文进行NAT ALG处理;
S202、在所述接收模块1接收到第二INVITE报文时,所述处理模块4将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;
S203、在所述接收模块1接收到第一200OK报文时,所述提取单元2获取所述第一200OK报文的第二源IP地址和第三媒体流端口号,并由所述存储模块3保存所述第二源IP地址和所述第三媒体流端口号;所述处理模块4对所述第一200OK报文进行NAT ALG处理;
S204、在所述接收模块1接收到第二200OK报文时,所述处理模块4将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号。
在本发明实施例中,在所述接收模块1接收到第二INVITE报文时,通过处理模块4将所述第二INVITE报文的第一IP地址转换为获取的所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;同时在所述接收模块1接收到第二200OK报文时,通过所述处理模块4将所述第二200OK报文的第二IP地址转换为获取的所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,从而使得内网客户端之间能够直接建立会话,进而使内网客户端之间的媒体流能够直接在内网内互通,而无需设于外网的SIP服务器对内网客户端之间的媒体流进行代理,因此降低了SIP服务器的负载,并节省了数据流量,以降低数据流量的费用;同时,由于无需采用SIP服务器对客户端之间的媒体流进行代理,提高了媒体流的稳定性,因此,保证了通信的质量。
结合图3和图4所示,为了使所述处理模块4能够实现对所述第一INVITE报文的NATALG处理,本实施例中所述路由器还包括分配模块5;
所述分配模块5,用于为所述第一媒体流端口号分配第一NAT映射端口号;
所述处理模块4包括转换单元41;
所述转换单元41,用于将所述第一INVITE报文的第一媒体流端口号转换为所述第一NAT映射端口号。
具体地,当所述接收模块1接收到所述第一INVITE报文时,所述分配模块5为所述第一INVITE报文的第一媒体流端口号分配一个空闲的第一NAT映射端口号;所述转换单元41在对所述第一INVITE报文进行NAT ALG处理时,将所述第一INVITE报文的第一媒体流端口号转换为所述第一NAT映射端口号。
在本发明实施例中,为了使所述处理模块4实现将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号,本实施例中所述路由器的提取模块2,还用于获取所述第一INVITE报文的第一目的IP地址;
所述存储模块3,还用于将所述第一源IP地址,所述第一目的IP地址,所述第一媒体流端口号以及所述第一NAT映射端口号之间的映射关系保存为第一SIP信息数组;
所述处理模块4还包括查询单元42和判断单元43;
所述查询单元42,用于根据所述第二媒体流端口号,查询到相应的所述第一SIP信息数组;其中,所述第二媒体流端口号为所述第一NAT映射端口号。需要说明的是,由于所述路由器的转换单元41对所述第一INVITE报文进行NAT ALG处理,将所述第一INVITE报文中的所述第一媒体流端口号转换为所述第一NAT映射端口号,再由所述路由器将处理后的所述第一INVITE报文转发至所述SIP服务器,因此,所述SIP服务器发出的第二INVITE报文的第二媒体流端口号仍为所述第一NAT映射端口号;
所述判断单元43,用于判断所述第一IP地址与查询到的所述第一SIP信息数组中的所述第一目的IP地址是否相同;
所述转换单元41,还用于将所述第二INVITE报文的第一IP地址转换为查询到的所述第一SIP信息数组中的第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为查询到的所述第一SIP信息数组中的所述第一媒体流端口号。
具体地,所述路由器在实现将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号的过程中,具体执行如下方法:
S2021、在所述接收单元1接收到第二INVITE报文时,所述提取单元2获取所述第二INVITE报文的第一IP地址和第二媒体流端口号;
S2022、所述处理模块4的查询单元42根据所述第二媒体流端口号,查询到所述存储模块3中相应的所述第一SIP信息数组;
具体地,由于所述第二媒体流端口号为所述第一NAT映射端口号,因此,所述查询单元42能够根据所述第一NAT映射端口号,查询到所述第一NAT映射端口号所在的第一SIP信息数组;
S2023、所述判断单元43判断所述第一IP地址与查询的所述第一SIP信息数组中的所述第一目的IP地址是否相同;若是,则所述转换单元41将所述第二INVITE报文的第一IP地址转换为查询的所述第一SIP信息数组中的第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为查询的所述第一SIP信息数组中的所述第一媒体流端口号。
在本发明实施例中,为了使所述处理模块4能够对所述第一200OK报文进行NATALG处理,本实施例中所述分配模块5,还用于为所述第三媒体流端口号分配第二NAT映射端口号;
所述转换单元41,还用于将所述第一200OK报文的第三媒体流端口号转换为所述第二NAT映射端口号。
具体地,当所述接收模块1获取所述第一200OK报文时,所述分配模块5为所述第一200OK报文的第三媒体流端口号分配一个空闲的第二NAT映射端口号;所述转换单元41在对所述第一200OK报文进行NAT ALG处理时,将所述第一200OK报文的第三媒体流端口号转换为所述第二NAT映射端口号。
在本发明实施例中,为了使所述处理模块4实现将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,本实施例中所述提取模块2,还用于获取所述第一200OK报文的第二目的IP地址;
所述存储模块3,还用于将所述第二源IP地址,所述第二目的IP地址,所述第三媒体流端口号以及所述第二NAT映射端口号之间的映射关系保存为第二SIP信息数组;
所述查询单元42,还用于根据所述第四媒体流端口号,查询到相应的所述第二SIP信息数组;其中,所述第四媒体流端口号为所述第二NAT映射端口号。需要说明的是,由于所述路由器的转换单元41对所述第一200OK报文进行NAT ALG处理,将所述第一200OK报文中的所述第三媒体流端口号转换为所述第二NAT映射端口号,再由所述路由器将处理后的所述第二200OK报文转发至所述SIP服务器,因此,所述SIP服务器发出的第二200OK报文的第四媒体流端口号仍为所述第二NAT映射端口号;
所述判断单元43,还用于判断所述第二IP地址与查询的所述第二SIP信息数组中的所述第二目的IP地址是否相同;
所述转换单元41,还用于将所述第二200OK报文的第二IP地址转换为查询的所述第二SIP信息数组中的第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为查询的所述第二SIP信息数组中的所述第三媒体流端口号。
具体地,所述路由器在实现将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号的过程中,执行如下方法:
S2041、在所述接收单元1接收到第二200OK报文时,所述提取单元2获取所述第二200OK报文的第二IP地址和第四媒体流端口号;
S2042、所述处理模块4的查询单元42根据所述第四媒体流端口号,查询到所述存储模块3中相应的所述第二SIP信息数组;
具体地,由于所述第四媒体流端口号为所述第二NAT映射端口号,因此,所述查询单元42能够根据所述第二NAT映射端口号,查询到所述第二NAT映射端口号所在的第二SIP信息数组;
S2043、所述判断单元43判断所述第二IP地址与查询的所述第二SIP信息数组中的所述第二目的IP地址是否相同;若是,则所述转换单元41将所述第二200OK报文的第二IP地址转换为查询的所述第二SIP信息数组中的第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为查询的所述第二SIP信息数组中的所述第三媒体流端口号。
实施例3
如图5所示,为了解决相同的技术问题,本发明还提供一种内网客户端之间的会话系统,包括SIP服务器以及实施例2所述的路由器,所述SIP服务器在外网;
所述SIP服务器,用于在接收到由所述路由器转发的INVITE报文和200OK报文后,将接收到的所述INVITE报文和所述200OK报文转发至内网客户端。
在本发明实施例中,在内网客户端与另一内网客户端建立会话的过程中,所述路由器能够执行如下方法:
路由器在接收到第一INVITE报文时,获取并保存所述第一INVITE报文的第一源IP地址和第一媒体流端口号,并对所述第一INVITE报文进行NAT ALG处理;其中,所述第一INVITE报文为内网客户端发往所述SIP服务器的INVITE报文;
路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;其中,所述第二INVITE报文为所述SIP服务器收到所述第一INVITE报文后,发往另一内网客户端的INVITE报文;所述第一IP地址为所述第二INVITE报文中用于建立新媒体流连接的IP地址;
路由器在接收到第一200OK报文时,获取并保存所述第一200OK报文的第二源IP地址和第三媒体流端口号,并对所述第一200OK报文进行NAT ALG处理;其中,所述第一200OK报文为另一内网客户端发往所述SIP服务器的200OK报文;
路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号;其中,所述第二200OK报文为所述SIP服务器接收到所述第一200OK报文后,发往内网客户端的200OK报文;所述第二IP地址为所述第二200OK报文中用于建立新媒体流连接的IP地址。
此外,在本发明实施例中,关于所述路由器的实现方式可参考上述实施例2的描述,在此不再赘述。
综上,本发明提供一种内网客户端之间的会话建立方法、路由器及会话系统,其中,所述会话建立方法通过使路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为获取的所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;同时使路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为获取的所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,从而使得内网客户端之间能够直接建立会话,进而使内网客户端之间的媒体流能够直接在内网内互通,而无需设于外网的SIP服务器对内网客户端之间的媒体流进行代理,因此降低了SIP服务器的负载,并节省了数据流量,以降低数据流量的费用;同时,由于无需采用SIP服务器对客户端之间的媒体流进行代理,提高了媒体流的稳定性,因此,保证了通信的质量。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (9)
1.内网客户端之间的会话建立方法,其特征在于,SIP服务器在外网;所述会话建立方法包括:
路由器在接收到第一INVITE报文时,获取并保存所述第一INVITE报文的第一源IP地址和第一媒体流端口号,并对所述第一INVITE报文进行NAT ALG处理;其中,所述第一INVITE报文为内网客户端发往所述SIP服务器的INVITE报文;
路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;其中,所述第二INVITE报文为所述SIP服务器收到所述第一INVITE报文后,发往另一内网客户端的INVITE报文;所述第一IP地址为所述第二INVITE报文中用于建立新媒体流连接的IP地址;
路由器在接收到第一200OK报文时,获取并保存所述第一200OK报文的第二源IP地址和第三媒体流端口号,并对所述第一200OK报文进行NAT ALG处理;其中,所述第一200OK报文为另一内网客户端发往所述SIP服务器的200OK报文;
路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号;其中,所述第二200OK报文为所述SIP服务器接收到所述第一200OK报文后,发往内网客户端的200OK报文;所述第二IP地址为所述第二200OK报文中用于建立新媒体流连接的IP地址;
其中,所述路由器在接收到所述第一INVITE报文时,还为所述第一媒体流端口号分配第一NAT映射端口号;
所述对所述第一INVITE报文进行NAT ALG处理包括:
根据所述第一媒体流端口号和所述第一NAT映射端口号之间的映射关系,将所述第一INVITE报文的所述第一媒体流端口号转换为所述第一NAT映射端口号。
2.如权利要求1所述的内网客户端之间的会话建立方法,其特征在于,所述路由器在接收到所述第一INVITE报文时,还获取所述第一INVITE报文的第一目的IP地址,并将所述第一源IP地址,所述第一目的IP地址,所述第一媒体流端口号以及所述第一NAT映射端口号之间的映射关系保存为第一SIP信息数组;
所述路由器在接收到第二INVITE报文时,将所述第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号,具体为:
路由器在接收到所述第二INVITE报文时,获取所述第二INVITE报文的第一IP地址和第二媒体流端口号;其中,所述第二媒体流端口号为所述第一NAT映射端口号;
根据所述第二媒体流端口号,查询到相应的所述第一SIP信息数组;
判断所述第一IP地址与查询到的所述第一SIP信息数组中的所述第一目的IP地址是否相同;若是,则将所述第二INVITE报文的所述第一IP地址转换为查询到的所述第一SIP信息数组中的所述第一源IP地址,并将所述第二INVITE报文的所述第二媒体流端口号转换为查询到的所述第一SIP信息数组中的所述第一媒体流端口号。
3.如权利要求1所述的内网客户端之间的会话建立方法,其特征在于,所述路由器在接收到所述第一200OK报文时,还为所述第三媒体流端口号分配第二NAT映射端口号;
所述对所述第一200OK报文进行NAT ALG处理包括:
根据所述第三媒体流端口号和所述第二NAT映射端口号之间的映射关系,将所述第一200OK报文的所述第三媒体流端口号转换为所述第二NAT映射端口号。
4.如权利要求3所述的内网客户端之间的会话建立方法,其特征在于,所述路由器在接收到所述第一200OK报文时,还获取所述第一200OK报文的第二目的IP地址,并将所述第二源IP地址,所述第二目的IP地址,所述第三媒体流端口号以及所述第二NAT映射端口号之间的映射关系保存为第二SIP信息数组;
所述路由器在接收到第二200OK报文时,将所述第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号,具体为:
路由器在接收到所述第二200OK报文时,获取所述第二200OK报文的第二IP地址和第四媒体流端口号;其中,所述第四媒体流端口号为所述第二NAT映射端口号;
根据所述第四媒体流端口号,查询到相应的所述第二SIP信息数组;
判断所述第二IP地址与查询到的所述第二SIP信息数组中的所述第二目的IP地址是否相同;若是,则将所述第二200OK报文的所述第二IP地址转换为查询到的所述第二SIP信息数组中的所述第二源IP地址,并将所述第二200OK报文的所述第四媒体流端口号转换为查询到的所述第二SIP信息数组中的所述第三媒体流端口号。
5.一种路由器,其特征在于,SIP服务器在外网,客户端在内网;
所述路由器包括接收模块、提取模块、存储模块和处理模块;
所述接收模块,用于接收内网客户端和SIP服务器之间传送的INVITE报文和200OK报文;
所述提取模块,用于获取第一INVITE报文的第一源IP地址和第一媒体流端口号;其中,所述第一INVITE报文为内网客户端发往所述SIP服务器的INVITE报文;
以及获取第一200OK报文的第二源IP地址和第三媒体流端口号;其中,所述第一200OK报文为另一内网客户端发往所述SIP服务器的200OK报文;
所述存储模块,用于保存获取的所述第一源IP地址和所述第一媒体流端口号;
以及保存获取的所述第二源IP地址和所述第三媒体流端口号;
所述处理模块,用于对所述第一INVITE报文进行NAT ALG处理;以及将第二INVITE报文的第一IP地址转换为所述第一源IP地址,并将所述第二INVITE报文的第二媒体流端口号转换为对应的所述第一媒体流端口号;其中,所述第二INVITE报文为所述SIP服务器在收到所述第一INVITE报文后,发往另一内网客户端的INVITE报文;所述第一IP地址为所述第二INVITE报文中用于建立新媒体流连接的IP地址;
还用于对所述第一200OK报文进行NAT ALG处理;以及将第二200OK报文的第二IP地址转换为所述第二源IP地址,并将所述第二200OK报文的第四媒体流端口号转换为对应的所述第三媒体流端口号;其中,所述第二200OK报文为所述SIP服务器收到所述第一200OK报文后,发往内网客户端的200OK报文;所述第二IP地址为所述第二200OK报文中用于建立新媒体流连接的IP地址;
其中,所述路由器还包括分配模块;
所述分配模块,用于为所述第一媒体流端口号分配第一NAT映射端口号;
所述处理模块包括转换单元;
所述转换单元,用于将所述第一INVITE报文的所述第一媒体流端口号转换为所述第一NAT映射端口号。
6.如权利要求5所述的路由器,其特征在于,所述路由器还包括分配模块;
所述分配模块,用于为所述第一媒体流端口号分配第一NAT映射端口号;
所述处理模块包括转换单元;
所述转换单元,用于将所述第一INVITE报文的所述第一媒体流端口号转换为所述第一NAT映射端口号。
7.如权利要求6所述的路由器,其特征在于,所述提取模块,还用于获取所述第一INVITE报文的第一目的IP地址;
所述存储模块,还用于将所述第一源IP地址,所述第一目的IP地址,所述第一媒体流端口号以及所述第一NAT映射端口号之间的映射关系保存为第一SIP信息数组;
所述处理模块还包括查询单元和判断单元;
所述查询单元,用于根据所述第二媒体流端口号,查询到相应的所述第一SIP信息数组;其中,所述第二媒体流端口号为所述第一NAT映射端口号;
所述判断单元,用于判断所述第一IP地址与查询到的所述第一SIP信息数组中的所述第一目的IP地址是否相同;
所述转换单元,还用于将所述第二INVITE报文的所述第一IP地址转换为查询到的所述第一SIP信息数组中的所述第一源IP地址,并将所述第二INVITE报文的所述第二媒体流端口号转换为查询到的所述第一SIP信息数组中的所述第一媒体流端口号。
8.如权利要求7所述的路由器,其特征在于,所述分配模块,还用于为所述第三媒体流端口号分配第二NAT映射端口号;
所述提取模块,还用于获取所述第一200OK报文的第二目的IP地址;
所述存储模块,还用于将所述第二源IP地址,所述第二目的IP地址,所述第三媒体流端口号以及所述第二NAT映射端口号之间的映射关系保存为第二SIP信息数组;
所述查询单元,还用于根据所述第四媒体流端口号,查询到相应的所述第二SIP信息数组;其中,所述第四媒体流端口号为所述第二NAT映射端口号;
所述判断单元,用于判断所述第二IP地址与查询的所述第二SIP信息数组中的所述第二目的IP地址是否相同;
所述转换单元,还用于将所述第一200OOK报文的所述第三媒体流端口号转换为所述第二NAT映射端口号;
以及将所述第二200OK报文的所述第二IP地址转换为查询的所述第二SIP信息数组中的所述第二源IP地址,并将所述第二200OK报文的所述第四媒体流端口号转换为查询的所述第二SIP信息数组中的所述第三媒体流端口号。
9.一种内网客户端之间的会话系统,其特征在于,包括SIP服务器以及如权利要求5-8任一项所述的路由器,所述SIP服务器在外网;
所述SIP服务器,用于在接收到由所述路由器转发的INVITE报文和200OK报文后,将接收到的所述INVITE报文和所述200OK报文转发至内网客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810951282.1A CN108848194B (zh) | 2018-08-20 | 2018-08-20 | 内网客户端之间的会话建立方法、路由器以及会话系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810951282.1A CN108848194B (zh) | 2018-08-20 | 2018-08-20 | 内网客户端之间的会话建立方法、路由器以及会话系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108848194A CN108848194A (zh) | 2018-11-20 |
CN108848194B true CN108848194B (zh) | 2021-04-27 |
Family
ID=64188415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810951282.1A Active CN108848194B (zh) | 2018-08-20 | 2018-08-20 | 内网客户端之间的会话建立方法、路由器以及会话系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108848194B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290044B (zh) * | 2019-06-26 | 2021-08-06 | 普联技术有限公司 | 一种vpn网络和主干网络的分流方法、装置及存储介质 |
CN111031020B (zh) * | 2019-12-04 | 2022-07-15 | 紫光云(南京)数字技术有限公司 | 一种基于端口映射的管理网络和租户网络通信的方法 |
CN115514732B (zh) * | 2022-09-02 | 2023-08-25 | 上海量讯物联技术有限公司 | 一种基于tcp连接数的源nat ip分配方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179491A (zh) * | 2007-11-24 | 2008-05-14 | 华为技术有限公司 | 私用网络内部终端之间通信的方法、设备、装置及系统 |
CN102195933A (zh) * | 2010-03-05 | 2011-09-21 | 杭州华三通信技术有限公司 | 隔离ip子网间实现通话的方法及互通单元 |
CN102546644A (zh) * | 2012-01-17 | 2012-07-04 | 华为技术有限公司 | 实现sip呼叫的方法、设备和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10230801B2 (en) * | 2015-04-14 | 2019-03-12 | Avaya Inc. | Session reconstruction using proactive redirect |
-
2018
- 2018-08-20 CN CN201810951282.1A patent/CN108848194B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179491A (zh) * | 2007-11-24 | 2008-05-14 | 华为技术有限公司 | 私用网络内部终端之间通信的方法、设备、装置及系统 |
CN102195933A (zh) * | 2010-03-05 | 2011-09-21 | 杭州华三通信技术有限公司 | 隔离ip子网间实现通话的方法及互通单元 |
CN102546644A (zh) * | 2012-01-17 | 2012-07-04 | 华为技术有限公司 | 实现sip呼叫的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108848194A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5842290B2 (ja) | セッション開始プロトコルアダプタ | |
US8082324B2 (en) | Method of establishing a tunnel between network terminal devices passing through firewall | |
US7773580B2 (en) | Apparatus and method for voice processing of voice over internet protocol (VoIP) | |
CN110933180B (zh) | 一种通信建立方法、装置、负载设备及存储介质 | |
US20090147718A1 (en) | Method and Apparatus for Reliably Delivering Multicast Data | |
CN108848194B (zh) | 内网客户端之间的会话建立方法、路由器以及会话系统 | |
CN1623310A (zh) | 可经由网络地址转换型设备操作的通信协议 | |
WO2008000188A1 (fr) | Procédé et système pour réaliser une interaction de flux multimédia, contrôleur de passerelle multimédia, et passerelle multimédia | |
CN1716941A (zh) | 用于建立双向对等通信链路的方法和呼叫服务器 | |
TW201002018A (en) | Method for predicting port number of NAT apparatus based on two STUN server inquiry results | |
CN101822026B (zh) | 经由网络地址转换单元在面向分组的通信终端设备之间建立连接的方法和装置 | |
US20130007291A1 (en) | MEDIA INTERWORKING IN IPv4 AND IPv6 SYSTEMS | |
US20130117460A1 (en) | Data management methods for use in a network system and network systems using the same | |
CN101047548A (zh) | 多个nat的私有网络内的通信 | |
US7542475B2 (en) | Communication between users located behind a NAT device | |
CN101080041A (zh) | 一种通讯系统中建立通讯业务连接的方法 | |
CN1849808A (zh) | 混合多媒体网络的协议的互通 | |
CN104994067A (zh) | Sip网络访问rtsp监控网络的系统及方法 | |
CN107634954B (zh) | 一种软交换呼叫方法及系统 | |
CN101471965B (zh) | 本地传输地址分配方法、媒体网关及媒体网关控制器 | |
US8565224B2 (en) | Telephone system, telephone exchange apparatus, and connection control method used in telephone exchange apparatus | |
CN101867575A (zh) | 一种跨网元的媒体发夹连接方法和系统 | |
CN102404283A (zh) | Ims系统的通信方法和系统 | |
JP3920791B2 (ja) | 呼接続中継システム、呼接続中継装置およびそのプログラム、呼接続要求情報変換装置およびそのプログラム | |
CN101515936B (zh) | 多域互通方法和系统及装置 |
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 |
Effective date of registration: 20220615 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. |
|
TR01 | Transfer of patent right |