KR20070061377A - Apparatus for network address translation for exchanging sip transactions between private network and public network and method thereof - Google Patents
Apparatus for network address translation for exchanging sip transactions between private network and public network and method thereof Download PDFInfo
- Publication number
- KR20070061377A KR20070061377A KR1020060122656A KR20060122656A KR20070061377A KR 20070061377 A KR20070061377 A KR 20070061377A KR 1020060122656 A KR1020060122656 A KR 1020060122656A KR 20060122656 A KR20060122656 A KR 20060122656A KR 20070061377 A KR20070061377 A KR 20070061377A
- Authority
- KR
- South Korea
- Prior art keywords
- sip
- address
- message
- network
- private network
- Prior art date
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
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or 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]
Abstract
Description
도1은 본 발명에 의한 동작 모델을 도시한 그림이다.1 is a diagram showing an operation model according to the present invention.
도2는 사설망에 위치한 SIP 사용자 에이전트가 네트워크 주소 변환 장치를 통하여 공인망으로 메시지를 송신하는 절차를 도시한 그림이다.2 is a diagram illustrating a procedure of transmitting a message to a public network through a SIP addressing agent located in a private network.
도 3은 사설망에 위치한 SIP 사용자 에이전트가 공인망으로부터 메시지를 수신하는 절차를 도시한 그림이다.3 is a diagram illustrating a procedure for receiving a message from a public network by a SIP user agent located in a private network.
네트워크 주소 변환(NAT: Network Address Translation)은 IP 계층의 IP 주소 영역을 다른 IP 주소 영역으로 맵핑 시켜주는 기술로서, 서로 다른 IP 주소 영역에 위치한 호스트간의 통신을 제공하기 위하여 사용된다. Network Address Translation (NAT) is a technology that maps the IP address area of an IP layer to another IP address area. It is used to provide communication between hosts located in different IP address areas.
네트워크 주소 변환 기술은 IP 헤더의 주소만을 고려하여 주소 영역간의 매핑을 하기 때문에 많은 IP 어플리케이션은 네트워크 주소 변환 장치를 통과하여 통 신하는 것이 불가능하다. 예를 들어, IP 주소를 직접 내용(Content)으로 사용하거나 FTP와 같이 제어 세션(Control Session)과 데이터 세션(Data Session)이 다른 IP 어플리케이션은 네트워크 주소 변환 장치를 통과하는 것이 사실상 불가능하다.Many IP applications cannot communicate through network address translators because network address translation technology only maps address ranges by considering IP header addresses. For example, IP applications that use IP addresses directly as Content or that have different Control Sessions and Data Sessions, such as FTP, are virtually impossible to traverse a network address translation device.
SIP(Session Initiation Protocol)은 트랜잭션 중심의 프로토콜이다. SIP 컴포넌트간의 상호작용은 일련의 독립된 트랜잭션 교환을 통해 이루어진다. SIP 트랜잭션은 트랜잭션을 생성하는 요청 메시지의 메소드에 따라 INVITE 트랜잭션, NON-INVITE 트랜잭션으로 구분된다. Session Initiation Protocol (SIP) is a transaction-oriented protocol. Interaction between SIP components occurs through a series of independent transaction exchanges. SIP transaction is divided into INVITE transaction and NON-INVITE transaction according to the method of request message that creates transaction.
각각의 트랜잭션은 하나의 요청 메시지(Request Message)와 요청 메시지에 대한 0개 이상의 임시 응답 메시지(Provisional Response Message)와 한 개의 최종 응답 메시지(Final Response Message)로 구성된다. 예외적으로 INVITE 트랜잭션의 경우는 최종 응답이 2xx가 아닐 경우에는 ACK 메시지가 INVITE 트랜잭션에 포함된다. Each transaction consists of one request message, zero or more provisional response messages, and one final response message for the request message. Exceptionally, for an INVITE transaction, if the final response is not 2xx, an ACK message is included in the INVITE transaction.
요청 메시지를 송신하고 응답 메시지를 수신하는 경우에는 클라이언트 트랜잭션이라 하고, 요청 메시지를 수신하고 응답 메시지를 송신하는 경우에는 서버 트랜잭션이라 한다. 클라이언트 트랜잭션은 요청 메시지에 Route 헤더 주소 또는 Request-URI 주소로 전송되며, 서버 트랜잭션은 응답 메시지의 첫 번째 Via 헤더 주소로 전송된다. When sending a request message and receiving a response message, it is called a client transaction. When receiving a request message and sending a response message, it is called a server transaction. Client transactions are sent in the request message to the Route header address or Request-URI address, and server transactions are sent to the first Via header address in the response message.
SIP 프로토콜은 세션을 설정하기 위한 프로토콜이다. INVITE 트랜잭션 교환을 통하여 세션을 설정하며, 세션이 설정되면 다이얼로그(Dialog)라는 논리적인 정보가 생성된다. 다이얼로그는 리모트 타겟(Remote Target)이라는 정보를 포함하며, 리모트 타겟은 세션이 설정된 이후의 SIP 요청 메시지의 Request-URI로 사용된다.The SIP protocol is a protocol for establishing a session. Establishes a session through INVITE transaction exchange. When the session is established, logical information called Dialog is created. The dialog includes information called a remote target, which is used as a Request-URI of a SIP request message after a session is established.
Route 헤더 주소, Request-URI 주소, Via 헤더 주소로는 FQDN(Fully Qualified Domain Name) 또는 Numeric IP 주소가 사용되기 때문에 SIP 트랜잭션이 네트워크 주소 변환 장치를 통과하는 것이 매우 힘들고 결국은 기본 SIP 프로토콜은 네트워크 주소 변환 장치를 통과하여 정상적으로 SIP 트랜잭션을 송수신하는 것이 불가능하다는 문제가 있다.Since fully qualified domain names (FQDNs) or Numeric IP addresses are used for the Route header address, Request-URI address, and Via header address, it is very difficult for SIP transactions to pass through the network address translator and eventually the default SIP protocol is the network address. There is a problem that it is impossible to send and receive SIP transactions normally through the conversion apparatus.
본 발명이 이루고자 하는 기술적인 과제는, 상기에 설명된 것과 같이 SIP 트랜잭션이 네트워크 주소 변환 장치를 통과하는 것이 원활하도록 하여 정상적인 SIP 트랜잭션 송수신이 가능하게 하는, 사설망과 공인망 간의 SIP 트랜잭션 교환을 위한 네트워크 주소 변환 장치 및 그 주소 변환 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention is a network for SIP transaction exchange between a private network and a public network, which enables normal SIP transaction transmission and reception by smoothly passing a SIP transaction through a network address translation apparatus as described above. An address translation apparatus and an address translation method thereof are provided.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 사설망과 공인망 간의 SIP 트랜잭션 교환을 위한 네트워크 주소 변환 장치는, 사설망 내의 SIP 사용자 에이전트(user agent)와 공인망 간에 전송되는 SIP 메시지와 그 SIP 메시지에 대한 응답 메시지를 수신하는 SIP포트; 및 상기 사설망으로부터 수신된 SIP 메시지 내에 포함되어 있는 SIP 메시지 수신을 위한 주소를 그 저장된 주소에 대응하는 상기 공인망 내의 주소로 변경하거나, 상기 공인망에서 상기 사설망으로 전송되는 SIP 메시지의 목적지 주소를 그에 대응하는 상기 사설망의 주소로 변경하는 주소변환부;를 포함하는 것을 특징으로 한다.In accordance with an aspect of the present invention, a network address translation apparatus for exchanging SIP transactions between a private network and a public network is provided. The SIP address transmitted between a SIP user agent and a public network in the private network and the SIP message are transmitted to the SIP network. A SIP port for receiving a response message; And changing an address for receiving a SIP message included in a SIP message received from the private network to an address in the public network corresponding to the stored address, or replacing a destination address of a SIP message transmitted from the public network to the private network. And an address translation unit for changing the address of the corresponding private network.
이때에 상기 수신된 SIP 메시지를 일시 저장하는 임시 저장부; 각 SIP 메시지 내에 포함된 주소와 그에 대응하는 상기 공인망 내부의 주소가 저장된 주소 저장부; 및 상기 주소가 변경된 SIP 메시지를 공인망 내의 해당되는 주소로 혹은 사설망으로 전송하는 SIP 메시지 전송부;를 더 포함하는 것이 바람직하다.At this time, the temporary storage unit for temporarily storing the received SIP message; An address storage unit for storing an address included in each SIP message and an address in the public network corresponding thereto; And a SIP message transmitter for transmitting the changed SIP message to a corresponding address in a public network or to a private network.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 사설망과 공인망 간의 SIP 트랜잭션 교환을 위한 네트워크 주소 변환 방법은, (a) 사설망 내의 SIP 사용자 에이전트로부터의 SIP 요청 메시지를 수신하는 단계; (b) 상기 수신된 SIP 요청 메시지 내에 포함되어 있는 SIP 메시지 수신을 위한 주소를 그 주소에 대응하는 상기 공인망 내의 주소로 변경하는 단계; 및 (c) 상기 주소가 변경된 SIP 요청 메시지를 그 변경된 주소에 대응하는 공인망 내로 전송하는 단계;를 포함하는 것을 특징으로 한다.In accordance with another aspect of the present invention, there is provided a network address translation method for exchanging SIP transactions between a private network and a public network, the method including: (a) receiving a SIP request message from a SIP user agent in a private network; (b) changing an address for receiving a SIP message included in the received SIP request message into an address in the public network corresponding to the address; And (c) transmitting the changed SIP request message into the public network corresponding to the changed address.
이때에 (d) 상기 요청 메시지에 대한 응답 메시지가 있는 경우 그 응답 메시지를 수신하는 단계; 및 (e) 상기 수신된 메시지의 주소를 그에 대응하는 상기 사설망 내의 주소로 변경하여 상기 사설망으로 전송하는 단계;를 더 포함하는 것이 바람직하다.(D) receiving a response message if there is a response message to the request message; And (e) changing the address of the received message to an address in the private network corresponding thereto and transmitting the address to the private network.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 사설망과 공인망 간의 SIP 트랜잭션 교환을 위한 네트워크 주소 변환 방법의 다른 태양은, (a) 공인망 내의 자원으로부터 사설망으로 향하는 SIP 요청 메시지를 수신하는 단계; (b) 상기 수신된 SIP 요청 메시지 내에 포함되어 있는 SIP 메시지 수신을 위한 주소를 그 주소에 대응하는 상기 사설망 내의 주소로 변경하는 단계; 및 (c) 상기 주소가 변경된 SIP 요청 메시지를 그 변경된 주소에 대응하는 사설망으로 전송하는 단계;를 포함하는 것을 특징으로 한다.Another aspect of the network address translation method for exchanging SIP transactions between a private network and a public network, according to the present invention for solving the above other technical problem, includes: (a) receiving a SIP request message directed to a private network from a resource in the public network; ; (b) changing an address for receiving a SIP message included in the received SIP request message into an address in the private network corresponding to the address; And (c) transmitting the changed SIP request message to the private network corresponding to the changed address.
이때에 (d) 상기 요청 메시지에 대한 응답 메시지가 있는 경우 그 응답 메시지를 수신하는 단계; 및 (e) 상기 수신된 응답 메시지의 주소를 그에 대응하는 상기 공인망 내의 주소로 변경하여 상기 공인망으로 전송하는 단계;를 더 포함하는 것이 바람직하다.(D) receiving a response message if there is a response message to the request message; And (e) changing the address of the received response message to an address in the authorized network corresponding thereto and transmitting the address to the authorized network.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따라 사설망과 공인망 간의 SIP 트랜잭션 교환을 위한 네트워크 주소 변환 장치의 구성의 일 예를 도시한 것이다.1 illustrates an example of a configuration of a network address translation apparatus for exchanging SIP transactions between a private network and a public network according to the present invention.
이 장치는, 사설망 내의 SIP 사용자 에이전트와 공인망 간에 전송되는 SIP 메시지와 그 SIP 메시지에 대한 응답 메시지를 수신하는 SIP포트(100), 사설망으로부터 수신된 SIP 메시지 내에 포함되어 있는 SIP 메시지 수신을 위한 주소를 그 저장된 주소에 대응하는 상기 공인망 내의 주소로 변경하거나, 상기 공인망에서 상기 사설망으로 전송되는 SIP 메시지의 목적지 주소를 그에 대응하는 상기 사설망의 주소로 변경하는 주소변환부(110), 상기 수신된 SIP 메시지를 일시 저장하는 임시 저장부(120), 각 SIP 메시지 내에 포함된 주소와 그에 대응하는 상기 공인망 내부의 주소가 저장된 주소 저장부(130) 및 상기 주소가 변경된 SIP 메시지를 공인망 내의 해당되는 주소로 혹은 사설망으로 전송하는 SIP 메시지 전송부(140)를 포함한다.The device includes a
도 2는 본 발명에 따라 사설망과 공인망 간의 SIP 트랜잭션 교환을 위한 네트워크 주소 변환 방법의 흐름의 일 예를 도시한 것이다. 이 방법은 주로 사설망으로부터 공인망으로 SIP 메시지가 전달되는 과정에 대한 것이다.2 illustrates an example of a flow of a network address translation method for exchanging SIP transactions between a private network and a public network according to the present invention. This method is mainly for the process of transferring SIP message from private network to public network.
사설망 내의 SIP(Session Initiation Protocol) 사용자 에이전트(agent)로부터의 SIP 요청 메시지를 수신하고(200 단계), 상기 수신된 SIP 요청 메시지 내에 포함되어 있는 SIP 메시지 수신을 위한 주소를 그 주소에 대응하는 상기 공인망 내의 주소로 변경하며(210 단계), 주소가 변경된 SIP 요청 메시지를 그 변경된 주소에 대응하는 공인망 내로 전송하고(220 단계), 상기 요청 메시지에 대한 응답 메시지가 있는 경우 그 응답 메시지를 수신하여(230 단계), 수신된 메시지의 주소를 그에 대응하는 상기 사설망 내의 주소로 변경하여 상기 사설망으로 전송한다(240 단계).Receiving a SIP request message from a Session Initiation Protocol (SIP) user agent in a private network (step 200), and an address corresponding to the address for receiving a SIP message included in the received SIP request message Change to an address in the network (step 210), and transmit the changed SIP request message to the public network corresponding to the changed address (step 220), and if there is a response message to the request message, receive the response message In
도 3은 본 발명에 따른 네트워크 주소 변환 장치와 방법이 사용되는 네트워크 구성의 일 예를 도시한 것이다.3 shows an example of a network configuration in which a network address translation apparatus and method according to the present invention are used.
사설망(300)에 연결된 다양한 사용자 에이전트들(310)은 본 발명에 따른 네트워크 주소 변환 장치(320)을 통해 공인망(330)과의 SIP 메시지 전송을 하게 된다.The
공인망(330)은 다수의 SIP 도메인들(360)에 연결되며, 각 SIP 도메인들은 SIP 프락시(340)를 통해 외부와 연결되어 통신하며, SIP 레지스트라(350)를 포함할 수 있다.The
SIP 요청 메시지가 전달되는 것은, 예를 들면 SIP 사용자 에이전트(310)로부 터 본 발명에 따른 네트워크 주소 변환 장치(320)를 통해 해당되는 SIP 도메인의 SIP 프락시를 통해 전달된다. 즉, SIP 프락시까지 전달되면 그 이후의 절차는 SIP 프락시에 의해 진행되므로 본 발명에 대한 설명은 SIP 프락시까지 혹은 SIP 프락시로부터 SIP 메시지 전달이 시작되는 것으로 하여 진행된다.The SIP request message is delivered, for example, from the
도 4a는 SIP 사용자 에이전트(410)로부터의 SIP 요청 메시지가 본 발명에 따른 네트워크 주소 변환 장치(420)를 통해 공인망의 도메인 1을 담당하는 SIP 프락시(430)로 전달되는 과정을 도시한 것이며, 도 4b는 그 과정에 따라 전달되는 SIP 요청 메시지가 본 발명에 따라 변환되는 예를 도시한 것이며, 도 4c는 상기의 과정을 진행한 본 발명에 따른 네트워크 주소 변환 장치에서 저장되는 연결 정보의 예를 도시한 것이다.4A illustrates a process in which a SIP request message from a
도 4a는 사설망에 있는 SIP 사용자 에이전트(410)가 네트워크 주소 변환 장치(420)를 통과하여 공인망에 있는 SIP 프락시 서버(430)에 REQUEST 메시지(F1, F2 REQUEST)를 보내고, 그에 대한 응답으로 각각 F3 및 F4 REQUEST 메시지를 수신하는 메시지 전달 과정을 도시한 것이다. 4A shows that a
도 4a에서 410의 'SIP 사용자 에이전트 정보', 420의'네트워크 주소 변환 장치 정보' 및 430의 'domain1을 담당하는 프락시'에 기재된 정보는 SIP 사용자 에이전트(410), 네트워크 주소 변환 장치(420) 및 SIP 프락시 서버(430) 각각이 가지고 있는 IP, SIP 메시지 수신 포트 등에 관한 정보이다.In FIG. 4A, the information described in 'SIP user agent information' at 410, 'network address translation device information' at 420, and 'proxies in charge of domain1' at 430 may include
도 4b는 도4a에 도시된 메시지 전달 과정에서 SIP 메시지가 어떻게 변환되는가를 보여주기 위한 도면이며, SIP 메시지 중에서 메시지 라우팅에 관련된 부분만 을 보여주기 위한 것이다.FIG. 4B is a diagram illustrating how a SIP message is converted in the message delivery process illustrated in FIG. 4A, and illustrates only a portion of the SIP message related to message routing.
F1 REQUEST는 사설망에 위치한 SIP 사용자 에이전트(410)가 보낸 메시지로서 SIP 메시지 내에 사설 IP 주소가 들어가게 된다. 만일 이 메시지가 그대로 공인망에 위치한 SIP 프락시(430)에 전송된다면, 그 SIP 프락시는 응답 메시지를 전송할 수 없게 된다.F1 REQUEST is a message sent by the
F2 REQUEST는 네트워크 주소 변환 장치(420)를 통과한 이후의 SIP 메시지를 보여준다. 라우팅에 관련된 사항은 네트워크 주소 변환 장치(420)가 SIP 메시지를 수신하는 주소로 변경이 되어 SIP 프락시(430)로 전송된다.F2 REQUEST shows the SIP message after passing through the network
F3 RESPONSE는 SIP 프락시(430)가 보내는 응답메시지이다. SIP 응답메시지는 요청메시지를 기반으로 작성이 되기 때문에 Via 헤더 등의 정보가 네트워크 주소 변환 장치의 주소로 설정된다. 이 메시지를 사설망 내의 SIP 사용자 에이전트(430)에게 그대로 전달하면 SIP 사용자 에이전트는 이를 F1 REQUEST에 대한 응답메시지로 인식할 수 없다. 그렇기 때문에 네트워크 주소 변환 장치(420)가 F3 RESPONSE를 F4 RESPONSE와 같은 형태로 변경한다.F3 RESPONSE is a response message sent by the
이하의 설명은 도 1 내지 도 4에 도시된 구성 및 흐름에 따라 진행된다.The following description proceeds according to the configuration and flow shown in FIGS.
사설망(300)에 위치한 SIP 사용자 에이전트(310)로부터 본 발명에 따른 네트워크 주소 변환 장치(320)로 SIP 요청 메시지가 전송되면, 이 요청 메시지는 SIP 포트(100)를 통해 임시 저장부(120)에 일시 저장된다(200 단계).When the SIP request message is transmitted from the
이때 전송된 SIP 요청 메시지는 도 4a의 F1 REQUEST이며, 그 메시지에는 SIP 사용자 에이전트 정보가 포함되어 있다. SIP 사용자 에이전트 정보는 도 4a에 표시 된 것과 같이 IP, SIP Listening Port 및 SIP URL에 대한 정보를 포함한다.At this time, the transmitted SIP request message is F1 REQUEST of FIG. 4A, and the message includes SIP user agent information. The SIP user agent information includes information about IP, SIP listening port and SIP URL as shown in FIG. 4A.
도 4b의 F1 REQUEST에는 SIP 요청 메시지의 내용의 예가 기재되어 있다.An example of the contents of the SIP request message is described in F1 REQUEST of FIG. 4B.
주소변환부(110)는 일시 저장된 SIP 메시지 내부에 포함된 주소를 SIP 메시지가 공인망 내부에 위치한 곳으로 보낼 수 있는 주소로 변경한다(210 단계).The
이때에 주소저장부(130)에 저장된 각 SIP 메시지 내에 포함된 주소와 그에 대응하는 공인망 내부의 주소을 참조하여 주소를 변경할 수도 있다.In this case, the address may be changed by referring to an address included in each SIP message stored in the
그 외에도 SIP 메시지 내부에 포함된 정보만을 바탕으로 주소를 변경할 수도 있다. 이를 위해 주소 변환부(110)는 100 단계에서 SIP 요청 메시지를 수신하면, 110 단계에서 그 SIP 요청 메시지의 Via 헤더 주소를 그 SIP 메시지 수신을 위한 SIP 메시지의 목적지 주소로 결정하는 것이 바람직하다.In addition, the address can be changed based only on the information contained within the SIP message. To this end, when the
혹은 주소 변환부(110)는 100 단계에서 SIP 요청 메시지를 수신하면, 110 단계에서 그 SIP 요청 메시지의 Contact 헤더 주소를 그 SIP 메시지 수신을 위한 SIP 메시지의 목적지 주소로 결정하는 것이 바람직하다.Alternatively, when the
INVITE, SUBSCRIBE, REGISTER 등과 같은 SIP 요청 메시지는 Contact 헤더에 SIP 메시지를 수신할 수 있는 정보를 포함할 수 있기 때문에 전달하는 SIP 메시지에 Contact 헤더가 있을 경우, 그 주소가 전달 주소로 저장되는 것이다.Since the SIP request message such as INVITE, SUBSCRIBE, REGISTER, etc. may include information to receive the SIP message in the contact header, the address is stored as a forwarding address when the forwarding SIP message has a contact header.
이와 같이 본 발명에 따라 SIP 메시지가 전달될 주소가 변경된 SIP 요청 메시지는 SIP 메시지 전송부(140)를 통해 해당되는 도메인인 도메인 1로 전송된다(220 단계). 이때에 상기에도 설명된 것과 같이 도메인 1을 담당하는 프락시(430)로 이 SIP 요청 메시지가 전달된다.As described above, the SIP request message whose address to which the SIP message is to be delivered is changed is transmitted to the corresponding domain 1 through the SIP message transmitter 140 (step 220). At this time, the SIP request message is delivered to the
이 과정이 도 4a의 F2 REQUEST 이며, 도 4b에는 F2 REQUEST 과정 전에 본 발명에 따라 변경되어 F2 REQUEST를 통해 전달되는 SIP 요청 메시지 내용의 예가 기재되어 있다.This process is F2 REQUEST of FIG. 4A, and FIG. 4B describes an example of SIP request message content that is changed according to the present invention before the F2 REQUEST process and is delivered through F2 REQUEST.
이 요청 메시지에 대해 응답 메시지가 도메인 1의 프락시(430)을 통해 응답 메시지로 전송된다. 이 응답 메시지는 도 4a에서 F3 RESPONSE이며, 도 4b에는 F3 RESPONSE 과정을 통해 전달되는 응답 메시지의 내용의 일 예가 도시되어 있다.In response to this request message, a response message is sent as a response message through the
이와 같은 응답 메시지는 SIP 포트(100)를 통해 전달되어 임시 저장부(120)에 일시적으로 저장될 수 있다(210 단계). 주소변환부(110)는 응답 메시지에 포함된 주소를 대응하는 사설망의 주소로 변경하여 SIP 메시지 전송부(140)를 통해 해당되는 사설망의 SIP 사용자 에이전트(410)로 전송한다(240 단계). 이때의 주소 변경 방법은 상기에 설명된 것과 유사한 방법을 사용할 수 있다.The response message may be transmitted through the
도 4c는 상기와 같이 SIP 메시지 송수신 과정을 진행한 본 발명에 따른 네트워크 주소 변환 장치에서 저장되는 연결 정보의 예를 도시한 것이다.Figure 4c shows an example of the connection information stored in the network address translation apparatus according to the present invention the SIP message transmission and reception process as described above.
도 5는 공인망(330)에서 사설망(300)으로 SIP 요청 메시지를 전송하고 그에 대한 응답을 받는 본 발명에 따른 흐름을 도시한 것이다.5 illustrates a flow according to the present invention for transmitting a SIP request message from the
SIP 포트(100)가 공인망 내의 자원으로부터 사설망으로 향하는 SIP 요청 메시지를 수신하면(500 단계), 주소변환부(110)는 수신된 SIP 요청 메시지 내에 포함되어 있는 SIP 메시지 수신을 위한 주소를 그 주소에 대응하는 사설망 내의 주소로 변경하며(510 단계), 주소가 변경된 SIP 요청 메시지를 그 변경된 주소에 대응하는 사설망으로 SIP 메시지 전송부(140)를 통해 전송한다(520 단계).When the
그리고 상기 요청 메시지에 대한 응답 메시지가 있는 경우 SIP 포트(100)는 그 응답 메시지를 수신하고(530 단계), 주소 변환부(110)는 상기 수신한 응답 메시지의 주소를 그에 대응하는 공인망 내의 주소로 변경하여 전송한다(540 단계).If there is a response message to the request message, the
도 6a는 사설망에 위치한 SIP 사용자 에이전트가 공인망에 위치한 SIP 프락시 서버로부터 요청 메시지를 수신하고 그에 대한 응답 메시지를 전송하는 절차를 도시한 것이며, 도 6b는 본 발명에 따른 네트워크 주소 변환 장치가 사설망 내의 SIP 사용자 에이전트를 찾는 과정에 대한 것이다.FIG. 6A illustrates a procedure in which a SIP user agent located in a private network receives a request message from a SIP proxy server located in a public network and transmits a response message thereto. FIG. 6B illustrates a network address translation apparatus according to the present invention. It's about finding a SIP user agent.
네트워크 주소변환 장치는 사설망에 위치한 SIP 사용자 에이전트가 공인망으로 전송하는 SIP 메시지를 중계하는 과정에서 사설망에 위치한 SIP 사용자 에이전트에 관한 정보를 수집(learning)하여 도 6b의 첫 번째 테이블과 같은 정보를 저장한다.The network address translator collects information about the SIP user agent located in the private network in the process of relaying SIP messages transmitted by the SIP user agent located in the private network to the public network and stores the information as shown in the first table of FIG. 6B. do.
도 6a는 이러한 상태에서 공인망에 위치한 프락시에서 사설망에 위치한 SIP 사용자 에이전트에게 메시지를 전달하고, SIP 사용자 에이전트가 응답 메시지를 전달하는 메시지 플로우를 도시한 것이다.FIG. 6A shows a message flow in which a proxy in a state in a public network delivers a message to a SIP user agent in a private network, and the SIP user agent delivers a response message.
도6b의 첫 번째 테이블은 네트워크 주소변환 장치가 내부적으로 저장하고 있는 사설망에 위치한 SIP 사용자 에이전트에 대한 정보이다. 밑줄이 그어져 있는 정보는 도6a에서 F7 RESPONSE 정보를 전달한 이후에 생기는 정보이고, 밑줄이 그어져 있지 않은 정보는 SIP 사용자 에이전트에 대한 정보를 사전에 구해 놓은 정보이다.The first table of FIG. 6B is information on SIP user agents located in a private network stored internally by the network address translation apparatus. The underlined information is information generated after delivering the F7 RESPONSE information in FIG. 6A, and the underlined information is information obtained in advance about the SIP user agent.
일반적으로 SIP 사용자 에이전트는 초기 기동할 때 자신의 IP 주소를 레지스 트라에 등록한다(REGISTER 메소드 이용). 그럼 레지스트라는 특정 SIP URI(예를 들면 sip:jupiter@etri.re.kr)의 Contact Address가 어디인지 알게 되고. 프락시 서버는 그 Contact Address에 SIP 메시지를 전달한다.In general, a SIP user agent registers its IP address with the registry when it is first started (using the REGISTER method). The registrar then knows where the Contact Address of a particular SIP URI (eg sip: jupiter@etri.re.kr) is located. The proxy server forwards the SIP message to its Contact Address.
만약 특정 SIP URI에 Contact Address가 등록되어 있지 않으면 프락시 서버는 메시지를 어디다 전달할지 모르기 때문에, 그 메시지는 전달이 되지 않는다. 다시 말하면, SIP 사용자 에이전트는 자신의 Contact Address를 레지스트라에 등록하지 않으면 프락시를 통해서 메시지를 수신할 수 없다는 것이다(그렇지만 반대로, SIP 사용자 에이전트가 메시지를 보내는 것은 가능함). If a Contact Address is not registered in a particular SIP URI, the proxy server does not know where to send the message, so the message is not delivered. In other words, the SIP user agent cannot receive messages through the proxy unless it registers its Contact Address with the registrar (though it is possible for the SIP user agent to send a message).
상기에서 밑줄이 그어져 있지 않은 정보는 사전에 구해 놓은 정보라고 했는데, 이는 사용자 에이전트가 레지스트라에 자신의 Contact Address를 등록할 때 등과 같이 SIP 메시지를 전송할 때 구할 수 있는 정보이다.The information that is not underlined above is previously obtained information, which is information that can be obtained when a user agent transmits a SIP message, such as when registering a contact address with a registrar.
네트워크 주소변환 장치가 F5 REQUEST를 받으면 해당 메시지의 Request URI 또는 To 헤더에서 사용자 정보(user1, domain1)를 알아내고, 이를 이용해 네트워크 주소변환 장치가 저장하고 있는 사설망 내에 존재하는 SIP 사용자 에이전트에 대한 정보를 찾아 메시지를 전달한다.When the network address translator receives the F5 REQUEST, it retrieves the user information (user1, domain1) from the request URI or the To header of the message, and uses it to retrieve information about the SIP user agent in the private network stored by the network address translator. Find and deliver the message.
도 6c는 본 발명에 따른 각 단계를 거치면서 변경된 SIP 메시지의 내용의 예를 도시한 것이며, 도 6d는 본 발명에 따른 네트워크 주소 변환 장치가 SIP 사용자 에이전트가 전송하는 응답 메시지를 전달한 이후 내부에 저장하고 있는 연결 정보의 변화를 도시한 것이다.Figure 6c shows an example of the contents of the SIP message changed through each step according to the present invention, Figure 6d is stored in the network address translation apparatus according to the present invention after delivering the response message sent by the SIP user agent The change in connection information is shown.
도6c는 도6a의 F5 REQUEST ~ F8 RESPONSE 메시지 정보를 도시한 것이다. 메 시지 정보는 라우팅에 관련된 중요 정보만을 표시한 것이다.FIG. 6C illustrates F5 REQUEST to F8 RESPONSE message information of FIG. 6A. The message information shows only important information related to routing.
F5 REQUEST는 domain1을 담당하는 프락시가 전송하는 메시지이다. 이 메시지는 네트워크 주소 변환 장치가 수신하게 되며, F6 REQUEST에서 확인할 수 있는 것처럼 메시지의 변경 없이 SIP 사용자 에이전트로 전달된다.F5 REQUEST is a message sent by the proxy in charge of domain1. This message is received by the network address translation device and forwarded to the SIP user agent without changing the message, as can be seen in F6 REQUEST.
F7 RESPONSE 메시지는 사설망에 위치한 SIP 사용자 에이전트가 전송하는 응답메시지이며, 응답 메시지에는 Contact 헤더가 포함될 수 있다. 네트워크 주소 변환장치가 사설망에서 공인망으로 전송되는 SIP 응답메시지를 전달할 때, 응답메시지에 CONTACT 헤더가 존재하면 Contact 정보를 네트워크 주소 변환 장치가 SIP 메시지를 수신하는 아이피/포트 정보로 변환하여 전송한다. 그리고 F7 RESPONSE의 Via 헤더에서 구해지는 Transport정보, To 헤더에서 구해지는 username과 domain, 변환한 헤더의 Type에 해당하는 정보가 네트워크 주소 변환 장치 내부에서 보관하는 연결 정보에 있는지 확인하고, 만약 없다면 도6d의 세 번째 레코드와 같이 새로운 연결 정보를 추가한다.F7 RESPONSE message is a response message sent by a SIP user agent located in a private network. The response message may include a contact header. When the network address translator transmits a SIP response message transmitted from the private network to the public network, if the CONTACT header is present in the response message, the network address translator converts the contact information into IP / port information for receiving the SIP message and transmits it. Also, if the transport information obtained from the Via header of the F7 RESPONSE, the username and domain obtained from the To header, and the information corresponding to the type of the converted header are included in the connection information stored in the network address translator, if not, Fig. 6D. Add new connection information as shown in the third record.
SIP 포트(100)를 통해 본 발명에 따른 네트워크 주소 변환 장치가 공인망에서 SIP 요청 메시지를 수신하면 그 메시지에 포함된 가장 상위의 Via 헤더에서 전송 프로토콜 정보를 추출하고, From 헤더에서 username과 domain 정보를 추출한다. 그리고 추출한 정보를 바탕으로 네트워크 주소 변환 장치 내부에서 보관하고 있는 연결 정보 중에서 Type이 Contact이고, username, domain, 전송 프로토콜 정보가 일치하는 정보를 찾아 사설망 내부에 위치한 SIP 사용자 에이전트에게 그 메시지를 전달한다.When the network address translation apparatus according to the present invention receives the SIP request message from the public network through the
이때에 530 단계에서 SIP 요청 메시지에 대한 SIP 응답 메시지를 수신하면, 540 단계에서 그 SIP 요청 메시지의 Contact 헤더 주소를 그 SIP 메시지 수신을 위한 SIP 메시지의 목적지 주소로 결정하는 것이 바람직하다.In this case, when receiving a SIP response message for the SIP request message in
즉, INVITE, SUBSCRIBE, OPTIONS 등에 대한 응답 메시지에는 SIP 메시지를 수신할 수 있는 주소가 Contact 헤더로 기술될 수 있기 때문에 응답 메시지에 Contact 헤더가 존재할 경우, 그 주소를 망 내부로 전달할 주소로 메시지 내부에 저장하는 것이다.That is, in response message for INVITE, SUBSCRIBE, OPTIONS, etc., address that can receive SIP message can be described as Contact header, so if Contact header exists in response message, it is the address to forward the address to inside of message. To save.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 상기의 설명에 포함된 예들은 본 발명에 대한 이해를 위해 도입된 것이며, 이 예들은 본 발명의 사상과 범위를 한정하지 않는다. 예를 들면, 상기의 설명에서는 통신망의 예로 인터넷을 주로 들었으나, 이는 PSTN과 같은 공중 전화 통신망과 같은 것을 이용해도 가능하며, 상기의 예들 외에도 본 발명에 따른 다양한 실시 태양이 가능하다는 것은, 본 발명이 속한 기술 분야에 통상의 지식을 가진 사람에게는 자명할 것이다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. Examples included in the above description are introduced for the understanding of the present invention, and these examples do not limit the spirit and scope of the present invention. For example, in the above description, the Internet is mainly used as an example of a communication network, but it is also possible to use a public telephone communication network such as a PSTN, and in addition to the above examples, various embodiments according to the present invention are possible. It will be obvious to those of ordinary skill in this technical field. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope will be construed as being included in the present invention.
또한 본 발명에 따른 상기의 각 단계는 일반적인 프로그래밍 기법을 이용하여 소프트웨어적으로 또는 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 분 야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.In addition, it can be easily understood by those skilled in the art that each of the above steps according to the present invention can be variously implemented in software or hardware using a general programming technique.
그리고 본 발명의 일부 단계들은, 또한, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.And some steps of the invention may also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, CD-RW, magnetic tape, floppy disks, HDDs, optical disks, magneto-optical storage devices, and carrier wave (eg, Internet It also includes the implementation in the form of). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
본 발명에 의하면, 사설망 내의 SIP(Session Initiation Protocol) 사용자 에이전트(agent)와 공인망 간에 전송되는 SIP 메시지와 그 SIP 메시지에 대한 응답 메시지를 수신하는 SIP포트 및 사설망으로부터 수신된 SIP 메시지 내에 포함되어 있는 SIP 메시지 수신을 위한 주소를 그 저장된 주소에 대응하는 공인망 내의 주소로 변경하거나, 공인망에서 상기 사설망으로 전송되는 SIP 메시지의 목적지 주소를 그에 대응하는 상기 사설망의 주소로 변경하는 주소변환부를 포함하여, 네트워크 주소 변환 장치(NAT)가 SIP 메시지를 송수신할 수 있는 주소를 직접 SIP 메시지 내에 삽입하고, 이를 이용하여 SIP 메시지를 직접 중계하기 때문에 사설망에 위치한 SIP 사용자 에이전트와 공인망에 위치한 SIP 사용자 에이전트간의 SIP 트랜잭션 교 환이 가능하게 하여 종래에는 거의 불가능했던 SIP 트랜잭션 교환이 가능하게 되어 사용자의 편이성이 대폭 향상되게 한다.According to the present invention, a SIP message transmitted between a Session Initiation Protocol (SIP) user agent in a private network and a public network and a SIP port for receiving a response message for the SIP message and a SIP message received from a private network are included. An address conversion unit for changing an address for receiving a SIP message to an address in a public network corresponding to the stored address, or for changing a destination address of a SIP message transmitted from the public network to the private network to an address of the private network corresponding thereto; Since the network address translator (NAT) directly inserts an address for sending and receiving SIP messages into the SIP message and relays the SIP message directly, the SIP user agent located in the private network and the SIP user agent located in the public network SIP transactions can be exchanged, making it nearly impossible in the past Is capable of this throw SIP transaction exchange causes the user's convenience improves largely.
Claims (12)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050120045 | 2005-12-08 | ||
KR1020050120045 | 2005-12-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070061377A true KR20070061377A (en) | 2007-06-13 |
Family
ID=38357285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060122656A KR20070061377A (en) | 2005-12-08 | 2006-12-05 | Apparatus for network address translation for exchanging sip transactions between private network and public network and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070061377A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101017497B1 (en) * | 2008-11-11 | 2011-02-25 | 주식회사 케이티 | Device for managing SIP message, system and method for NAT-Traversal |
WO2012091288A1 (en) * | 2010-12-29 | 2012-07-05 | 주식회사 지트론 | Method for communication between an ip terminal and a client |
KR101282986B1 (en) * | 2011-03-22 | 2013-07-05 | 성균관대학교산학협력단 | Stun proxy server and sip communication method using the same |
-
2006
- 2006-12-05 KR KR1020060122656A patent/KR20070061377A/en active Search and Examination
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101017497B1 (en) * | 2008-11-11 | 2011-02-25 | 주식회사 케이티 | Device for managing SIP message, system and method for NAT-Traversal |
WO2012091288A1 (en) * | 2010-12-29 | 2012-07-05 | 주식회사 지트론 | Method for communication between an ip terminal and a client |
KR101282986B1 (en) * | 2011-03-22 | 2013-07-05 | 성균관대학교산학협력단 | Stun proxy server and sip communication method using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100466650C (en) | SIP service method in a network having a NAT | |
US7684397B2 (en) | Symmetric network address translation system using STUN technique and method for implementing the same | |
CN101060464B (en) | Address translator, message processing method and net system | |
US7792065B2 (en) | Securely establishing sessions over secure paths | |
US7243162B2 (en) | Processing network communication control messages | |
US6992974B1 (en) | System and method for providing fault tolerance in a network telephony system | |
US20070253418A1 (en) | Routing path optimization between sip endpoints | |
US20050201304A1 (en) | Signaling mediation agent | |
EP2449749B1 (en) | Method and apparatus for relaying packets | |
US20100040057A1 (en) | Communication method | |
EP2018756B1 (en) | Address translation in a communication system | |
CA2434521A1 (en) | System and method for out-sourcing the functionality of session initiation protocol (sip) user agents to proxies | |
US20050286538A1 (en) | Method and call server for establishing a bi-directional peer-to-peer communication link | |
WO2002103981A2 (en) | Providing telephony services to terminals behind a firewall and/or network address translator | |
US9762534B2 (en) | System and method for geographic SIP scaling | |
EP2741460B1 (en) | A method and a user agent for load balancing within several proxies in a SIP network comprising a router applying network address translation | |
US20070030849A1 (en) | Voice over internet protocol (VoIP) terminal and information management method thereof | |
EP1718031A1 (en) | Method of resolving a session initiation protocol uniform resource identifier | |
KR20070061377A (en) | Apparatus for network address translation for exchanging sip transactions between private network and public network and method thereof | |
Sisalem et al. | SIP and IPv6: why and how? | |
EP1654853B1 (en) | Function mode routing | |
EP1916816A1 (en) | Method and devices to establish a public communication session | |
JP2012156629A (en) | Signal processing device and program | |
JP5613229B2 (en) | System and method for effectively locating a database of user profiles in an IMS network | |
Baldi et al. | ALEX: improving SIP support in systems with multiple network addresses |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
E801 | Decision on dismissal of amendment | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080410 Effective date: 20090213 |