CN103404106B - Sip消息收发系统及方法 - Google Patents
Sip消息收发系统及方法 Download PDFInfo
- Publication number
- CN103404106B CN103404106B CN201280011038.8A CN201280011038A CN103404106B CN 103404106 B CN103404106 B CN 103404106B CN 201280011038 A CN201280011038 A CN 201280011038A CN 103404106 B CN103404106 B CN 103404106B
- Authority
- CN
- China
- Prior art keywords
- sip
- port
- user terminal
- sip message
- intermediary server
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- 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/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- 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/1069—Session establishment or de-establishment
-
- 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
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种SIP消息收发系统及方法。根据本发明一个实施例的SIP消息收发系统包括:用户终端,包含:SIP客户端,用于生成SIP消息;以及外部收发模块,用于从所述SIP客户端接收所述SIP消息,并生成隧穿头(tunneling header)结合于接收的所述SIP消息的包,且将生成的所述包发送给SIP中介服务器,以及SIP中介服务器,用于从所述用户终端内的所述外部收发模块接收所述包而除去所述隧穿头,并将除去所述隧穿头的所述SIP消息发送给通信对象。
Description
技术领域
本发明涉及一种用于在网络上自如地收发SIP消息的技术。
背景技术
亦被称为网络电话技术的VOIP(Voice Over IP)技术作为一种通过互联网提供语音通话服务的技术,不仅具有能够以低廉的费用提供语音通话的优点,同时还具有便于利用语音通话服务提供各种多媒体服务的优点,因此近来得到迅速的普及。
作为这种用于网络电话等服务的基础协议之一可举例SIP。SIP是由互联网工程任务组(IETF:Internet Engineering Task Force)出于生成和终止多媒体会话(Session)的目的而提出的协议,因其内容简单而易于开发和实现,并由于以互联网为基准而制作,因此具有便于提供互联网的各种多媒体服务的优点。
另外,对于利用如上所述的SIP的VOIP服务而言,通常是由终端利用UDP而与代理服务器之间接发消息。然而如果所述终端存在于防火墙等内部,则UDP包将无法通过所述防火墙,因此出现无法提供服务的问题。
发明内容
技术问题
本发明是为了解决如上所述的问题而提出的,本发明的目的在于提供一种即使在用户终端存在于防火墙等安全工具内部的情况下,也能够与外界自如地收发SIP消息的系统及方法。
技术方案
为了解决上述技术问题,根据本发明一个实施例的SIP消息收发系统包括:用户终端和SIP中介服务器,该用户终端包含:SIP客户端,用于生成SIP消息;以及外部收发模块,用于从所述SIP客户端接收所述SIP消息,并生成隧穿头(tunneling header)结合于接收的所述SIP消息的包,且将生成的所述包发送给SIP中介服务器,该SIP中介服务器根据所述用户终端的端口分配请求而将可分配的端口中的一个端口分配给所述用户终端,且在通过分配到的所述端口而从所述外部收发模块接收到所述包时,从接收到的所述包中除去所述隧穿头,并将除去所述隧穿头的所述SIP消息发送给所述用户终端的通信对象,并在分配所述端口以后与所述用户终端之间的连接非正常终止时,判断在预先设定的时间内是否从所述用户终端接收到端口重新分配请求,据此在没有接收到所述端口重新分配请求时解除分配到所述用户终端的端口,而在接收到所述端口重新分配请求时将已分配给所述用户终端的端口重新分配给所述用户终端。
另外,为了解决上述技术问题,根据本发明一个实施例的SIP中介服务器包括:第一连接模块,利用TCP而与用户终端连接,并从所述用户终端接收结合有隧穿头的SIP消息;端口管理模块,用于管理分配到与所述第一连接模块相连的所述用户终端的端口(PORT);消息处理模块,用于从由所述第一连接模块接收的所述SIP消息中除去所述隧穿头;第二连接模块,利用UDP而将除去所述隧穿头的SIP消息发送给所述用户终端的通信对象。
另外,为了解决上述技术问题,根据本发明一个实施例的SIP消息收发方法包括如下步骤:在SIP中介服务器中,从用户终端接收端口分配请求;在所述SIP中介服务器中,根据所述端口分配请求而将可分配的端口中的一个端口分配给所述用户终端;在所述SIP中介服务器中,从所述用户终端接收包;在所述SIP中介服务器中,从接收到的所述包中除去隧穿头而提取SIP消息;在所述SIP中介服务器中,将提取的所述SIP消息的源地址置换为所述SIP中介服务器的地址;在所述SIP中介服务器中,将提取的所述SIP消息发送给所述用户终端的通信对象,其中,所述SIP中介服务器在上述端口分配步骤执行过后与所述用户终端之间的连接非正常终止时,判断在预先设定的时间内是否从所述用户终端接收到端口重新分配请求,据此在没有接收到所述端口重新分配请求时解除分配到所述用户终端的端口,而在接收到所述端口重新分配请求时将已分配给所述用户终端的端口重新分配给所述用户终端。
另外,为了解决上述技术问题,根据本发明一个实施例的SIP消息收发方法包括如下步骤:在SIP中介服务器中,从用户终端接收端口分配请求;在所述SIP中介服务器中,根据所述端口分配请求而将可分配的端口中的一个端口分配给所述用户终端;在所述SIP中介服务器中,从通信对象接收SIP消息;在所述SIP中介服务器中,将接收的所述SIP消息的目的地地址置换为用户终端的本地地址;在所述SIP中介服务器中,生成在目的地地址已被置换的所述SIP消息中结合有隧穿头的包;在所述SIP中介服务器中,将生成的所述包发送至所述用户终端,其中,所述SIP中介服务器在上述端口分配步骤执行过后与所述用户终端之间的连接非正常终止时,判断在预先设定的时间内是否从所述用户终端接收到端口重新分配请求,据此在没有接收到所述端口重新分配请求时解除分配到所述用户终端的端口,而在接收到所述端口重新分配请求时将已分配给所述用户终端的端口重新分配给所述用户终端。
有益效果
如果根据本发明的实施例,则即使在用户终端存在于防火墙等安全工具内部的情况下,消息也能够通过所述安全工具,从而可以与外部的代理服务器之间收发SIP消息,据此与网络的限制事项无关而总能提供利用SIP的服务。
并且,根据本发明,为了实现用于通过所述安全工具的消息隧穿而采用将SIP消息包装为HTTP包的方法,因其无需分析SIP消息本身,因此可实现隧穿所需计算量的最少化,并具有与所述安全工具的种类无关而总能执行消息隧穿的优点。即,在本发明中SIP中介服务器只执行通过与用户终端之间的TCP接入对应而分配UDP端口,并将通过所述TCP接入而接收的消息传送给被分配的UDP端口的功能,因此与现有技术中的基于TCP的SIP代理服务器等不同,并不包含管理会话信息之类的附加功能。因此,根据本发明时,相比于基于TCP的SIP代理服务器,SIP中介服务器具有能够在一个服务器中处理更多数据的优点。
而且,对于现有技术中的SIP代理服务器而言,由于用户终端和SIP代理服务器之间的TCP会话与SIP代理服务器和通信对象之间的TCP会话为一一映射的,因此通过一个TCP会话只能与一个目标点收发消息。然而根据本发明,由于用户终端和SIP中介服务器之间的TCP会话与UDP端口为一一对应的,因此具有可通过所述UDP端口而与多个通信对象进行消息收发的优点。
附图说明
图1为用于说明根据本发明一个实施例的SIP消息收发系统100的整体构成的图。
图2为用于说明根据本发明一个实施例的结合有隧穿头的包的图。
图3为表示根据本发明一个实施例的SIP中介服务器104的构成的图。
图4为用于说明根据本发明一个实施例的SIP消息收发系统100中用户终端102内部的外部收发模块112与SIP中介服务器104之间的会话设定过程400的顺序图。
图5为用于说明在根据本发明一个实施例的SIP消息收发系统100中从用户终端102向通信对象106传送SIP消息的过程500的顺序图。
图6为用于说明在根据本发明一个实施例的SIP消息收发系统100中从通信对象106向用户终端102传送SIP消息的过程600的顺序图。
图7为用于说明在根据本发明一个实施例的SIP消息收发系统100中用户终端102内的外部收发模块112与SIP中介服务器104之间的会话重新设定过程700的顺序图。
符号说明:
102:用户终端 104:SIP中介服务器
106:通信对象 108:安全工具
110:SIP客户端 112:外部收发模块
具体实施方式
以下,参照附图说明本发明的具体实施方式。然而这仅仅为示例,本发明并不局限于此。
在对本发明进行说明时,当遇到对有关本发明的公知技术的具体说明有可能扰乱本发明要旨的情况下,将省略其详细说明。并且,后述的术语均为考虑到在本发明中的功能而定义的术语,其可能因用户、运用者的意图或习惯而不同。因此要以整个说明书的内容为基础对其进行定义。
本发明的技术思想由权利要求书确定,以下的实施例仅仅是用于将本发明的技术思想有效地说明给本发明所属技术领域中具有普通知识的人员的一种方式而已。
图1为用于说明根据本发明一个实施例的SIP消息收发系统100的整体构成的图。
在本发明的实施例中,SIP为会话初始化协议(Session Initiation Protocol)的简称,是指在互联网上起到传送各种数据的关口作用的协议。会话初始化协议是一种揭示了由互联网上想要进行通信的电话、互联网会议、或即时通讯等进行相互识别而寻找其位置,并在相互之间生成、删除或修正多媒体通信会话的步骤的应用层次的协议,被广泛使用于视频会议、视频流传播、即时通、加入者状态信息、文件传送、在线游戏等领域中。尤其因为该协议是将HTTP(超文本传输协议)和SMTP(简单邮件传输协议)的多数部分直接沿用而开发的基于文本的协议,因此其特征在于易于实现,并且具有能够与互联网上使用的其他多种协议结合而开设多种服务的灵活性和扩展性。
如图所示,根据本发明一个实施例的SIP消息收发系统100包括用户终端102、以及SIP中介服务器(Broker Server)104。
用户终端102为用于生成SIP消息而发送给通信对象106或者对从通信对象106接收的SIP消息而进行处理的终端。通常,提供SIP服务的运营者为了提供服务而配备SIP代理服务器(Proxy server),在此情况下,所述通信对象106可以成为SIP服务提供者的SIP代理服务器。SIP代理服务器作为用于使SIP服务运营者将SIP服务提供给用户终端102的服务器,连接于SIP中介服务器104,并通过SIP中介服务器104接收生成于用户终端102的SIP消息。并且,SIP代理服务器在存在要向用户终端102发送的SIP消息的情况下,经由SIP中介服务器104而发送该消息。另外,当用户终端102为用于进行终端间的对等网络(Peer-to-Peer)通信的终端时,所述通信对象106也可以是其他用户的终端。
另外,用户终端102例如可以是使用SIP的网络电话。当然,本发明并不局限于上述的网络电话服务,利用SIP而执行通信的任何类型的终端均适用于本发明的构成,这是显而易见的。
在本发明的实施例中,用户终端102例如存在于防火墙(firewall)等安全工具108的内部,并利用SIP与存在于安全工具108的外部的网络上的其他构成要素进行通信。然而由于所述防火墙等安全工具108通常因安全等缘故而阻止(block)UDP包而只允许TCP包通过,因此使用UDP包的SIP消息将无法通过安全工具108。因此在本发明的实施例中,用户终端102被构成为将隧穿头(tunneling header)结合于生成的SIP消息并转换为使用TCP的数据包之后使其通过安全工具108。对于这种包含有隧穿头的详细构成的本发明实施例中的SIP消息隧穿的详细内容将在后面叙述。
SIP中介服务器104从用户终端102接收所述包之后除去所述隧穿头而将SIP消息单独提取,并将所提取的所述SIP消息发送给通信对象106。此时,SIP中介服务器104将提取的所述SIP消息的源地址(source address)置换为SIP中介服务器104的地址而发送给通信对象106(在本发明的实施例中,在没有特别说明的情况下,“地址”是指有关构成要素的网络上的地址,即IP地址和端口号)。在这样将SIP消息的源地址置换为SIP中介服务器104的地址的情况下,通信对象106便认为有关消息是从SIP中介服务器104传送过来而不是从用户终端102传送过来,于是将有关SIP消息的响应消息传递给SIP中介服务器104方。
SIP中介服务器104在从通信对象106接收到将用户终端102作为目标的SIP消息(例如,从用户终端102传送过来的对SIP消息的响应消息)时,将接收到的所述SIP消息的目的地地址置换为用户终端102的本地地址,并生成将隧穿头结合于经置换的所述SIP消息的包而发送给所述用户终端。即,由于SIP中介服务器104从通信对象106接收到的SIP消息的目的地地址已变成SIP中介服务器104,因此SIP中介服务器104通过将其置换为用户终端102的本地地址,从而使得用户终端102将该消息认定为是从通信对象106向用户终端102发送的正常消息。
另外,在本发明的一个实施例中,用户终端102包括SIP客户端110以及外部收发模块112。
SIP客户端110为用于生成要向外部发送的SIP消息或者对从外部接收的SIP消息进行处理的模块。这种SIP客户端110的种类将根据收发的SIP消息种类而不同,例如,如果收发的所述SIP消息为用于网络通话的消息,则SIP客户端110便可以是构成于用户终端102上的网络电话模块。
外部收发模块(External Transport)112用于接收SIP客户端110生成的所述SIP消息,并生成在所述SIP消息中结合有隧穿头(tunneling header)的包,且利用TCP而将生成的所述包发送给存在于安全工具112外部的SIP中介服务器104。而且,如果外部收发模块112从SIP中介服务器104接收到包,则从接收的所述包中除去隧穿头而只提取SIP消息,并将提取的所述SIP消息传送给SIP客户端110。
如前所述,由于SIP客户端110为用于收发SIP消息的模块,因此将利用UDP而向外部发送SIP消息或从外部接收SIP消息。然而这种UDP包将不能通过防火墙等安全工具108,因此外部收发模块112将所述隧穿头结合于从SIP客户端110接收的SIP消息而转换为TCP数据包,从而使有关消息能够通过安全工具108。而且,在用户终端102接收到SIP消息的情况下,也是由存在于通信对象106与用户终端102之间的SIP中介服务器将隧穿头结合于从通信对象106接收的SIP消息而转换为TCP包,从而使有关消息能够通过安全工具108。即,在本发明中,收发的SIP消息在通过安全工具108之前与隧穿头结合而被转换为TCP包,从而能够不被安全工具108阻止而到达目的地。
图2为用于说明根据本发明一个实施例的结合有隧穿头的包的图。
如图所示,根据本发明一个实施例的包200包括隧穿头202、以及主体204。
隧穿头202是为了使SIP消息能够通过(traverse)安全工具108而将所述SIP消息进行包装(wrapping)的头,其包含HTTP头206及P2P头208而构成。
HTTP头206为用于将SIP消息包装为HTTP包的头,被构成为符合HTTP标准协议。即,通过将HTTP头206结合于由SIP客户端110生成的SIP消息,从而使安全工具108将有关消息判定为使用TCP80端口的普通HTTP包而允许包通过。
P2P头208位于HTTP头206后端,其中包括目的地的IP地址以及端口信息。例如,对于从SIP客户端110向通信对象106传递的SIP消息而言,P2P头208中存储有通信对象106的IP地址及端口信息。且对于从通信对象106向SIP客户端110传递的SIP消息而言,P2P头208中存储有用户终端102的本地地址。
主体204为用于存储要从SIP客户端110传递给通信对象106的基于文本的SIP消息或基于二进制的媒体数据的空间。并且,根据需要,主体204中还可以包括用于设定作为外部收发模块112与SIP中介服务器108之间的SIP消息隧穿用的会话的消息。这种会话设定消息中例如可以包括以下要素。
[表1]
消息 | 始发地 | 目的地 | 说明 |
请求端口 | 用户终端 | SIP中介服务器 | 请求新的端口分配 |
请求端口:(端口号) | 用户终端 | SIP中介服务器 | 请求重新分配端口 |
请求端口:成功 | SIP中介服务器 | 用户终端 | 回复端口分配请求 |
归还端口:(端口号) | 用户终端 | SIP中介服务器 | 请求归还端口 |
归还端口:成功 | SIP中介服务器 | 用户终端 | 回复端口归还请求 |
图3为表示根据本发明一个实施例的SIP中介服务器104的详细构成的模块图。
如图所示,根据本发明一个实施例的SIP中介服务器104包括第一连接模块300、端口管理模块302、消息处理模块304、以及第二连接模块306。
第一连接模块300利用TCP与用户终端102和连接,并从连接的用户终端102接收结合有隧穿头的SIP消息而传递给后述的消息处理模块304。并且,第一连接模块300在从消息处理模块304接收到结合有隧穿头的SIP消息时,将该消息传送给用户终端102。所述SIP消息的收发为通过形成于第一连接模块300与用户终端102之间的TCP连接(TCP connection)来执行。
端口管理模块302用于将端口(port)分配给连接于第一连接模块300的用户终端102,并对分配的端口进行管理。
当第一连接模块300与TCP连接完毕之后,用户终端102便向第一连接模块300发送用于执行与通信对象106之间的消息收发的端口分配请求(REQUEST_PORT)304。于是端口管理模块302响应于从用户终端102接收的所述端口分配请求而将可分配的端口中的一个分配给用户终端102。被分配的所述端口用于第二连接模块306与通信对象106之间收发消息。即,第二连接模块306通过在端口管理模块302中与用户终端102对应而分配的端口与通信对象106收发已除去隧穿头的SIP消息。
而且,端口管理模块302在遇到与用户终端102之间的连接非正常终止时,驱动用于解除分配到用户终端102的所述端口的定时器。此时,所谓的与用户终端102之间的连接非正常终止的情形是指在没有从用户终端102接收到明确的解除连接的请求的状态下与用户终端102之间的TCP连接被解除的情形。如果直到所述定时器的超时时间为止没有从用户终端102接收到端口重新分配请求,端口管理模块302便解除分配到用户终端102的端口。被解除的端口以后可被分配到其他用户终端。然而,如果在所述定时器超时之前从用户终端102接收到端口重新分配请求,则端口管理模块302便将最初分配给用户终端102的端口重新分配给用户终端102。
之所以这样在端口管理模块302中为了重新分配及解除端口而驱动定时器,是因为如下原因。如前所述,即使没有从用户终端102明确地接收到解除连接的请求,也可能由于各种原因(例如在用户终端102上发生暂时性的通信障碍的情况等)而导致用户终端102与SIP中介服务器104之间的连接非正常终止的情况发生。在此情况下,用户终端102将向SIP中介服务器106请求重新分配端口。然而有可能发生当察觉到所述连接非正常终止之后立即由SIP中介服务器104解除了端口的情况下,在提出重新分配端口的请求之前将该端口分配给了其他用户终端的情况。因此,为了防止这种情况,在本发明中,当用户终端102与SIP中介服务器104之间的连接非正常终止时,便驱动定时器而在预定时间内不去解除相关端口,而待到接收到重新分配端口的请求时再重新分配相关端口。
另外,可将端口管理模块302构成为在分配所述端口时将可分配的端口中具有偶数编号的端口分配给用户终端102。这是为了利用所述端口而不仅可以进行用户终端102与通信对象106之间的SIP消息传送,而且还可以进行媒体数据的传送。有关在网络上进行实时数据传送的标准协议RFC-1889(A Transport Protocol for Real-Time Applications)中构成为在RTP数据传送中仅使用偶数端口,而奇数端口则用于传送对应于有关RTP数据的RTCP数据。据此,在本发明中也可以构成为在分配端口时只分配偶数端口,以适应所述标准。
其次,如果消息处理模块304从第一连接模块300接收到SIP消息,便从所述SIP消息中出去隧穿头并传递给第二连接模块306。此时,消息处理模块304将已除去所述隧穿头的所述SIP消息的源地址置换为SIP中介服务器104的地址。
并且,消息处理模块304在通过第二连接模块306而从通信对象106接收到SIP消息的情况下,将接收到的所述SIP消息的目的地地址置换为用户终端102的本地地址,并生成将隧穿头结合于目的地地址已被置换的所述SIP消息的包而传递给第一连接模块300。
最后,第二连接模块306利用UDP而将在消息处理模块304中已经除去隧穿头的SIP消息发送给通信对象106。此时,第二连接模块306被构成为利用由端口管理模块302分配的端口而发送所述SIP消息。
图4为用于说明根据本发明一个实施例的SIP消息收发系统100中用户终端102内部的外部收发模块112与SIP中介服务器104之间的会话设定过程400的顺序图。
首先,外部收发模块112执行与SIP中介服务器104之间的TCP连接(402),并将用于执行与通信对象106之间的消息收发的端口分配请求(REQUEST_PORT)发送给已连接的SIP中介服务器104(404)。此时,外部收发模块112在所述端口分配请求过程中将用户终端102的本地地址传送给SIP中介服务器104。
然后,SIP中介服务器104便从可分配的端口中选择一个而重新分配用于执行与通信对象106之间的SIP消息收发的端口,并将对于所述端口分配请求的响应(REQUEST_PORT:SUCCESS)传送给外部收发模块112。
图5为用于说明在根据本发明一个实施例的SIP消息收发系统100中从用户终端102向通信对象106传送SIP消息的过程500的顺序图。
首先,如果SIP客户端110生成SIP消息,则SIP客户端110便将生成的所述SIP消息传递给外部收发模块112(502)。此时,在上述传递消息的过程中,例如可以将UDP使用为传送协议。
其次,外部收发模块112生成用于包装接收的所述SIP消息的隧穿头,并生成将所述隧穿头与所述SIP消息进行结合的新的包(504)。如前所述,生成的所述包具有通常的HTTP包的形态。
然后,外部收发模块112利用TCP而将所述包发送给SIP中介服务器104(506)。
SIP中介服务器104在接收到所述包之后,首先检查所接收的包中是否存在错误(508)。所述包的有误与否是指诸如所述头是否为正常的HTTP头、以及包的接收是否正常结束等。如果在上述检查步骤中判断出所接收的包中存在错误,则有关包将被删除,将会向外部收发模块112请求重新发送。
如果判断出接收的所述包中没有错误,则SIP中介服务器104便从接收的所述包中除去隧穿头而只提取SIP消息,并将提取的所述SIP消息的源地址置换为SIP中介服务器104的地址之后(510)发送给通信对象106(512)。
图6为用于说明在根据本发明一个实施例的SIP消息收发系统100中从通信对象106向用户终端102传送SIP消息的过程600的顺序图。
首先,如果从通信对象106接收到SIP消息(602),则SIP中介服务器104便将所接收的所述SIP消息的目的地地址(destination address)由SIP中介服务器104的地址置换为用户终端102的地址(604)。然后,SIP中介服务器104便生成用于包装接收的所述SIP消息的隧穿头,并生成将所述隧穿头与所述SIP消息进行结合的新的包(606)。
其次,SIP中介服务器104便利用TCP而将所述包发送给用户终端102(608)。
用户终端102内的外部收发模块112在接收到所述包之后,首先检查接收的包中是否存在错误(610)。如果在上述检查步骤中判断出所接收的包中存在错误,则相关包将被删除,将会向SIP中介服务器104请求重新发送。
如果判断出接收的所述包中没有错误,则外部收发模块112便从接收的所述包中除去隧穿头而只提取SIP消息,并将提取的所述SIP消息发送给SIP客户端(614)。
图7为用于说明在根据本发明一个实施例的SIP消息收发系统100中在用户终端102内的外部收发模块112与SIP中介服务器104之间的连接非正常终止的情况下的会话重新设定过程的顺序图。
首先,如果外部收发模块112与SIP中介服务器104之间的TCP连接非正常终止(702),则SIP中介服务器104便驱动用于解除分配到用户终端102的端口的定时器(704)。
然而如果在所述定时器终止之前从外部收发模块112接收到端口重新分配请求(REQUEST_PORT:(PORT_NUMBER)(710),则SIP中介服务器104便将已分配的端口重新分配给相关用户终端102(712)。
以上,已通过代表性实施例对本发明进行了详细说明,然而本发明所属技术领域中具有普通知识的人员将理解可在不脱离本发明范围的限度内对上述实施例进行多种变形。
因此不能局限于已说明的实施例而确定本发明的权利范围,而要根据权利要求书及其等价内容来确定。
Claims (22)
1.一种SIP消息收发系统,包括:
用户终端,包含:SIP客户端,用于生成SIP消息;以及外部收发模块,用于从所述SIP客户端接收所述SIP消息,并生成隧穿头结合于所接收的所述SIP消息的包,且将生成的所述包发送给SIP中介服务器,以及
SIP中介服务器,根据所述用户终端的端口分配请求而将可分配的端口中的一个端口分配给所述用户终端,且在通过分配到的所述端口而从所述外部收发模块接收到所述包时,从接收到的所述包中除去所述隧穿头,并将除去所述隧穿头的所述SIP消息发送给所述用户终端的通信对象,并在分配所述端口以后与所述用户终端之间的连接非正常终止时,判断在预先设定的时间内是否从所述用户终端接收到端口重新分配请求,据此在没有接收到所述端口重新分配请求时解除分配到所述用户终端的端口,而在接收到所述端口重新分配请求时将已分配给所述用户终端的端口重新分配给所述用户终端。
2.如权利要求1所述的SIP消息收发系统,其中,所述隧穿头包括:
P2P头,与所述SIP消息结合,并包含有所述通信对象的IP地址及端口号;
HTTP头,与结合有所述P2P头的所述SIP消息相结合,从而将所述SIP消息转换为HTTP包。
3.如权利要求2所述的SIP消息收发系统,其中,所述外部收发模块利用TCP而将所述SIP消息与所述隧穿头相结合的所述包发送给所述SIP中介服务器。
4.如权利要求2所述的SIP消息收发系统,其中,所述SIP中介服务器将除去所述隧穿头的所述SIP消息的源地址置换为所述SIP中介服务器的地址而发送给所述通信对象。
5.如权利要求1所述的SIP消息收发系统,其中,所述SIP中介服务器在从通信对象接收到SIP消息时,将接收的所述SIP消息的目的地地址置换为所述用户终端的本地地址,并生成将隧穿头结合于经置换的所述SIP消息的包而发送给所述用户终端。
6.如权利要求5所述的SIP消息收发系统,其中,所述外部收发模块接收由所述SIP中介服务器传送的所述包,并从接收的所述包中除去隧穿头而传送给所述SIP客户端。
7.一种SIP中介服务器,包括:
第一连接模块,利用TCP而与用户终端连接,并从所述用户终端接收结合有隧穿头的SIP消息;
端口管理模块,用于管理分配到与所述第一连接模块相连的所述用户终端的端口;
消息处理模块,用于从由所述第一连接模块接收的所述SIP消息中除去所述隧穿头;
第二连接模块,利用UDP而将除去所述隧穿头的SIP消息发送给所述用户终端的通信对象,
其中,当与所述用户终端之间的连接非正常终止时,所述端口管理模块判断在已设定的时间段内是否从所述用户终端接收到端口重新分配请求,并在没有接收到的情况下解除分配到所述用户终端的端口,
其中,当在所述已设定的时间段内从所述用户终端接收到端口重新分配请求时,所述端口管理模块便将已分配给所述用户终端的端口重新分配给所述用户终端。
8.如权利要求7所述的SIP中介服务器,其中,所述端口管理模块在从所述用户终端接收到端口分配请求时,将可分配的端口中的一个端口分配给所述用户终端。
9.如权利要求8所述的SIP中介服务器,其中,所述第二连接模块将除去所述隧穿头的SIP消息发送给由所述端口管理模块进行分配的端口。
10.如权利要求7所述的SIP中介服务器,其中,所述端口管理模块将可分配的端口中具有偶数编号的端口分配给所述用户终端。
11.如权利要求7所述的SIP中介服务器,其中,所述隧穿头包括:
P2P头,与所述SIP消息结合,并包含有所述通信对象的IP地址及端口号;
HTTP头,与结合有所述P2P头的所述SIP消息相结合,从而将所述SIP消息转换为HTTP包。
12.如权利要求7所述的SIP中介服务器,其中,所述消息处理模块将除去所述隧穿头的所述SIP消息的源地址置换为所述SIP中介服务器的地址。
13.如权利要求7所述的SIP中介服务器,其中,所述消息处理模块在通过所述第二连接模块而从通信对象接收到SIP消息的情况下,将接收到的所述SIP消息的目的地地址置换为所述用户终端的本地地址,并生成将隧穿头结合于经置换的所述SIP消息的包。
14.如权利要求13所述的SIP中介服务器,其中,所述第一连接模块将由所述消息处理模块生成的所述包发送给所述用户终端。
15.一种SIP消息收发方法,包括如下步骤:
在SIP中介服务器中,从用户终端接收端口分配请求;
在所述SIP中介服务器中,根据所述端口分配请求而将可分配的端口中的一个端口分配给所述用户终端;
在所述SIP中介服务器中,从所述用户终端接收包;
在所述SIP中介服务器中,从接收到的所述包中除去隧穿头而提取SIP消息;
在所述SIP中介服务器中,将提取的所述SIP消息的源地址置换为所述SIP中介服务器的地址;
在所述SIP中介服务器中,将提取的所述SIP消息发送给所述用户终端的通信对象,
其中,所述SIP中介服务器在上述端口分配步骤执行过后与所述用户终端之间的连接非正常终止时,判断在预先设定的时间内是否从所述用户终端接收到端口重新分配请求,据此在没有接收到所述端口重新分配请求时解除分配到所述用户终端的端口,而在接收到所述端口重新分配请求时将已分配给所述用户终端的端口重新分配给所述用户终端。
16.如权利要求15所述的SIP消息收发方法,其中,所述包利用TCP而自所述用户终端发出并被所述SIP中介服务器接收。
17.如权利要求15所述的SIP消息收发方法,其中,还包括在执行上述从所述用户终端接收包的步骤之后以及执行上述从接收到的所述包中除去隧穿头而提取SIP消息的步骤之前,在所述SIP中介服务器中判断接收的所述包是否有误的步骤,且所述SIP中介服务器在判断出所接收的所述包中没有错误的情况下,从所述包中提取SIP消息。
18.如权利要求17所述的SIP消息收发方法,其中,所述SIP中介服务器在判断出所接收的所述包中存在错误的情况下,删除接收的所述包。
19.如权利要求15所述的SIP消息收发方法,其中,在上述将提取的所述SIP消息发送给所述用户终端的通信对象的步骤中,利用在上述根据所述端口分配请求而将可分配的端口中的一个端口分配给所述用户终端的步骤中分配的端口而发送除去所述隧穿头的SIP消息。
20.如权利要求15所述的SIP消息收发方法,其中,在上述根据所述端口分配请求而将可分配的端口中的一个端口分配给所述用户终端的步骤中,将可分配的端口中具有偶数编号的端口分配给所述用户终端。
21.一种SIP消息收发方法,包括如下步骤:
在SIP中介服务器中,从用户终端接收端口分配请求;
在所述SIP中介服务器中,根据所述端口分配请求而将可分配的端口中的一个端口分配给所述用户终端;
在所述SIP中介服务器中,从通信对象接收到SIP消息;
在所述SIP中介服务器中,将接收的所述SIP消息的目的地地址置换为用户终端的本地地址;
在所述SIP中介服务器中,生成在目的地地址已被置换的所述SIP消息中结合有隧穿头的包;
在所述SIP中介服务器中,将生成的所述包发送至所述用户终端,
其中,所述SIP中介服务器在上述端口分配步骤执行过后与所述用户终端之间的连接非正常终止时,判断在预先设定的时间内是否从所述用户终端接收到端口重新分配请求,据此在没有接收到所述端口重新分配请求时解除分配到所述用户终端的端口,而在接收到所述端口重新分配请求时将已分配给所述用户终端的端口重新分配给所述用户终端。
22.如权利要求21所述的SIP消息收发方法,其中,所述包通过TCP而被发送至所述用户终端。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2011-0019229 | 2011-03-04 | ||
KR1020110019229A KR20120100376A (ko) | 2011-03-04 | 2011-03-04 | 에스아이피 메시지 송수신 시스템 및 방법 |
PCT/KR2012/001572 WO2012121514A2 (ko) | 2011-03-04 | 2012-03-02 | 에스아이피 메시지 송수신 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103404106A CN103404106A (zh) | 2013-11-20 |
CN103404106B true CN103404106B (zh) | 2016-11-09 |
Family
ID=46798631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280011038.8A Expired - Fee Related CN103404106B (zh) | 2011-03-04 | 2012-03-02 | Sip消息收发系统及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9374264B2 (zh) |
KR (2) | KR20120100376A (zh) |
CN (1) | CN103404106B (zh) |
WO (1) | WO2012121514A2 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10321383B2 (en) * | 2013-05-10 | 2019-06-11 | Cloudstreet Oy | Managing wireless transmission capacity |
KR20170088745A (ko) | 2016-01-25 | 2017-08-02 | 문병진 | Sip 네트워크에서 구간별 통화 품질 예측 방법 |
KR101821054B1 (ko) * | 2016-08-25 | 2018-01-23 | 문병진 | 전화 강의의 강사와 수강생간 실시간 매칭 지원 방법 |
KR102518425B1 (ko) | 2021-05-14 | 2023-04-04 | 정용선 | 레벨 리프트 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466344A (zh) * | 2002-06-21 | 2004-01-07 | 南京北极星软件有限公司 | VoIP应用穿越防火墙的方法 |
CN1551569A (zh) * | 2003-04-08 | 2004-12-01 | Adv通讯公司 | 网络传输多媒体数据的方法 |
CN1604589A (zh) * | 2004-10-28 | 2005-04-06 | 无锡三通科技有限公司 | 支持会话启动协议穿越的防火墙实现方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039037B2 (en) * | 2001-08-20 | 2006-05-02 | Wang Jiwei R | Method and apparatus for providing service selection, redirection and managing of subscriber access to multiple WAP (Wireless Application Protocol) gateways simultaneously |
AU2003226128A1 (en) * | 2002-03-27 | 2003-10-13 | First Virtual Communications | System and method for traversing firewalls with protocol communications |
US8090858B2 (en) * | 2004-07-23 | 2012-01-03 | Nokia Siemens Networks Oy | Systems and methods for encapsulation based session initiation protocol through network address translation |
JP4154615B2 (ja) * | 2005-12-08 | 2008-09-24 | 日本電気株式会社 | Sipサーバ共有モジュール装置、sipメッセージ中継方法、及びプログラム |
KR100871422B1 (ko) * | 2006-08-30 | 2008-12-03 | 엔에이치엔(주) | 인터넷폰 서비스 제공 장치 및 그 방법 |
EP1926285B1 (en) * | 2006-10-11 | 2011-07-13 | Murata Machinery, Ltd. | Relay server |
CN102282550A (zh) * | 2009-01-30 | 2011-12-14 | 莫维克网络公司 | 应用和使用以及无线链路感知传输网络调度程序 |
-
2011
- 2011-03-04 KR KR1020110019229A patent/KR20120100376A/ko active Search and Examination
-
2012
- 2012-03-02 KR KR1020137021372A patent/KR101478232B1/ko active IP Right Grant
- 2012-03-02 WO PCT/KR2012/001572 patent/WO2012121514A2/ko active Application Filing
- 2012-03-02 US US14/003,161 patent/US9374264B2/en not_active Expired - Fee Related
- 2012-03-02 CN CN201280011038.8A patent/CN103404106B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466344A (zh) * | 2002-06-21 | 2004-01-07 | 南京北极星软件有限公司 | VoIP应用穿越防火墙的方法 |
CN1551569A (zh) * | 2003-04-08 | 2004-12-01 | Adv通讯公司 | 网络传输多媒体数据的方法 |
CN1604589A (zh) * | 2004-10-28 | 2005-04-06 | 无锡三通科技有限公司 | 支持会话启动协议穿越的防火墙实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012121514A3 (ko) | 2012-11-15 |
US9374264B2 (en) | 2016-06-21 |
US20130343375A1 (en) | 2013-12-26 |
KR20120100376A (ko) | 2012-09-12 |
KR20130121936A (ko) | 2013-11-06 |
KR101478232B1 (ko) | 2015-01-06 |
CN103404106A (zh) | 2013-11-20 |
WO2012121514A2 (ko) | 2012-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7937463B2 (en) | Method and server for invoking application servers in a SIP network | |
CN100461778C (zh) | 短消息业务在多媒体子系统中实现分叉发送的方法及系统 | |
CN101465850A (zh) | 对用于发送sip答复消息的接口的控制 | |
CN100454905C (zh) | 穿越网络地址转换的方法 | |
CN101414950B (zh) | 通过临时使用tcp传输协议实现sip信令消息的地址转换设备穿越的方法 | |
CN103404106B (zh) | Sip消息收发系统及方法 | |
CN109831547A (zh) | Nat穿透方法、装置、设备及存储介质 | |
US20080310428A1 (en) | Method for Identifying Real-Time Traffic Hop by Hop in an Internet Network | |
CN106850681A (zh) | 用于传递消息的方法和系统 | |
CN108234294A (zh) | 消息传输方法、装置、存储介质及电子装置 | |
CN106656760A (zh) | 一种基于消息队列的消息传递方法及系统 | |
CN103262563B (zh) | 用于将电信网的功能集成到数据网中的方法 | |
US8831018B2 (en) | Media conversion device for interconnecting communication terminal devices with media converted and a method therefor | |
KR20090058610A (ko) | 아이엠에스 기반 인스턴트 메시지 서비스 제공 시스템 및방법 | |
CN105227276B (zh) | 一种基于udt的对等网络数据传输方法 | |
CN104135468B (zh) | 支持多径中继传输的ims会话协商控制系统、装置及方法 | |
US20090034520A1 (en) | Method, system and apparatus for reliably transmitting packets of an unreliable protocol | |
CN105553986A (zh) | 一种基于udp的多寻址有限实时节点通信方法 | |
CN105959252A (zh) | 处理会话日志的方法及装置 | |
CN101150538A (zh) | 一种收发即时多媒体信息的方法和装置 | |
CN100499469C (zh) | 离线计费方法 | |
CN107277185A (zh) | 网络通讯系统及网络穿透方法 | |
US20080137647A1 (en) | VoIP terminal and method for providing multi-call service | |
CN102137090A (zh) | 一种登陆voip网络的方法及鉴权服务器 | |
CN102195948A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161109 |
|
CF01 | Termination of patent right due to non-payment of annual fee |