KR20120009587A - System and method for providing sip service - Google Patents

System and method for providing sip service Download PDF

Info

Publication number
KR20120009587A
KR20120009587A KR1020100069526A KR20100069526A KR20120009587A KR 20120009587 A KR20120009587 A KR 20120009587A KR 1020100069526 A KR1020100069526 A KR 1020100069526A KR 20100069526 A KR20100069526 A KR 20100069526A KR 20120009587 A KR20120009587 A KR 20120009587A
Authority
KR
South Korea
Prior art keywords
terminal
request message
message
unique key
registration request
Prior art date
Application number
KR1020100069526A
Other languages
Korean (ko)
Other versions
KR101666594B1 (en
Inventor
최우용
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020100069526A priority Critical patent/KR101666594B1/en
Publication of KR20120009587A publication Critical patent/KR20120009587A/en
Application granted granted Critical
Publication of KR101666594B1 publication Critical patent/KR101666594B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

PURPOSE: A sip service system and a control method thereof are provided to enable normal call processing regardless of network environment such as a public network and a private network using different IP address. CONSTITUTION: Terminals(10,20) transmit registration request message establishing terminal binding information including a destination address. A message convert server(100) creates the unique key of a terminal by receiving the registration request message. The message convert server transmits the SIP message to the destination address of the terminal using the terminal binding information corresponding to the unique key. A call session control device(200) registers the unique key and server binding information by receiving the changed registration request message from the message convert server. The call session control device transmits the server binding information to the message convert server according to the server binding information.

Description

SIP 서비스 시스템 및 그 제어방법{SYSTEM AND METHOD FOR PROVIDING SIP SERVICE}SIP service system and its control method {SYSTEM AND METHOD FOR PROVIDING SIP SERVICE}

본 발명은 SIP 서비스 시스템 및 그 제어방법에 관한 것으로서, 보다 상세하게는, SIP(Session Initiation Protocol)를 사용하는 IMS(IP Multimedia Subsystem) 네트워크에서, 단말과 호 세션 제어부(Call Session Control Function; CSCF) 간에 송수신되는 SIP 메시지의 바인딩 정보를 변환하여 SIP 메시지의 송수신을 중계함으로써, 서로 다른 IP 주소를 사용하는 공중망(Public Network)과 사설망(Private Network) 등의 네트워크 환경에 관계없이 정상적인 호 처리를 수행할 수 있도록 하는 SIP 서비스 시스템 및 그 제어방법에 관한 것이다.The present invention relates to a SIP service system and a control method thereof, and more particularly, to a terminal and a call session control function (CSCF) in an IP multimedia subsystem (IMS) network using a session initiation protocol (SIP). By converting the binding information of the SIP message transmitted and received between the two to relay the transmission and reception of the SIP message, it is possible to perform normal call processing regardless of the network environment such as public network and private network using different IP addresses. The present invention relates to a SIP service system and a control method thereof.

IMS(IP Multimedia Subsystem)는 All IP 망 환경에서 SIP(Session Initiation Protocol) 프로토콜을 기반으로 멀티미디어 서비스를 제공하기 위해, 3GPP(The 3rd Generation Partnership Project)에서 정의한 통신 플랫폼이다.IMS (IP Multimedia Subsystem) is a communication platform defined by 3GPP (The 3rd Generation Partnership Project) to provide multimedia services based on the Session Initiation Protocol (SIP) protocol in an all IP network environment.

IMS 기반 네트워크에서는 각 단말기에 IP 주소를 할당하여 통신을 위한 송신원과 수신원을 식별한다. IP 주소는 전 세계적으로 공통으로 사용되는 공인 IP(Public IP) 주소와 사설망(Private Network)에서 사용되는 사설 IP(Private IP) 주소를 포함한다.In an IMS-based network, an IP address is assigned to each terminal to identify a sender and a receiver for communication. IP addresses include public IP addresses commonly used around the world and private IP addresses used on private networks.

사설망은 네트워크 주소 변환기(Network Address Translation; NAT)를 이용하여 구성할 수 있다. NAT는 사설 IP 주소를 공인 IP 주소로 변환하는 통신망의 주소 변환 기술로서, 단말에 로컬 네트워크에서만 사용 가능한 사설 IP 주소를 할당한다. 사설망의 단말이 타 망 또는 공중망(Public Network)을 이용하는 경우, NAT는 단말에게 할당된 사설 IP 주소를 공인 IP 주소로 변환하여 외부로 데이터를 전송하고, 수신된 데이터의 공인 IP 주소를 해당 단말의 사설 IP 주소로 변환하여 제공한다. Private networks can be configured using Network Address Translation (NAT). NAT is an address translation technology of a communication network that converts a private IP address into a public IP address, and allocates a private IP address that can be used only in a local network to a terminal. When a terminal of a private network uses another network or a public network, NAT converts the private IP address assigned to the terminal into a public IP address and transmits the data to the outside, and converts the public IP address of the received data into the public terminal. Provides translation to private IP address.

한편, IMS 기반 네트워크에서 단말들은 네트워크 이용을 위해 호 세션 제어부(Call Session Control Function; CSCF)에 공인 ID(Public ID)와 바인딩 정보 등을 등록한다. 호 세션 제어부에 등록된 바인딩 정보는 단말의 착신 IP, 포트 등의 접속 정보를 포함하여 해당 단말과 SIP 메시지를 송수신하거나 세션을 설정할 때 이용된다.Meanwhile, in an IMS-based network, terminals register a public ID and binding information with a call session control function (CSCF) to use a network. The binding information registered in the call session controller is used to transmit or receive a SIP message or establish a session with the terminal, including access information such as a destination IP and a port of the terminal.

그런데, 사설망을 구성하는 NAT는 OSI 모델의 제3 및 제4 계층의 헤더까지만 분석이 가능하고 이보다 상위 계층의 헤더에 대해서는 분석하지 못한다. 즉, NAT를 통해 변환된 주소는 UDP/TCP 헤더와 포트 값만 변환되고, SIP 메시지 헤더 내에 바인딩 정보로 설정된 단말의 착신 주소는 변환되지 아니한다. However, the NAT constituting the private network can analyze only the headers of the third and fourth layers of the OSI model and cannot analyze the headers of the upper layer. In other words, only the UDP / TCP header and the port value are converted in the address converted through NAT, and the destination address of the terminal set as binding information in the SIP message header is not converted.

따라서, 사설망에 위치한 단말이 외부 망의 단말과 호를 설정하는 경우, 사설망에 위치한 단말의 바인딩 정보에는 사설 IP가 설정되어 있어, 외부로부터 착신 라우팅이 불가능하게 되는 문제점이 있다.Therefore, when the terminal located in the private network establishes a call with the terminal of the external network, the private IP is set in the binding information of the terminal located in the private network, and thus there is a problem in that incoming routing from the outside becomes impossible.

본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, SIP(Session Initiation Protocol)를 사용하는 IMS(IP Multimedia Subsystem) 네트워크에서, 단말과 호 세션 제어부(Call Session Control Function; CSCF) 간에 송수신되는 SIP 메시지의 바인딩 정보를 변환하여 SIP 메시지의 송수신을 중계함으로써, 서로 다른 IP 주소를 사용하는 공중망(Public Network)과 사설망(Private Network) 등의 네트워크 환경에 관계없이 정상적인 호 처리를 수행할 수 있도록 하는 SIP 서비스 시스템 및 그 제어방법을 제공하는데 그 기술적 과제가 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and is a SIP message transmitted and received between a terminal and a call session control function (CSCF) in an IMS (IP Multimedia Subsystem) network using a Session Initiation Protocol (SIP). SIP service that converts binding information and relays SIP messages so that normal call processing can be performed regardless of network environment such as public network and private network using different IP addresses. There is a technical problem to provide a system and a control method thereof.

상술한 과제를 달성하기 위한 본 발명의 SIP 서비스 시스템은, 착신 주소를 포함하는 단말 바인딩 정보가 설정된 등록요청 메시지를 송신하는 단말; 상기 등록요청 메시지를 수신하여 상기 단말의 고유키를 생성하고, 상기 단말 바인딩 정보를 상기 고유키와 자신의 바인딩 정보인 서버 바인딩 정보로 변경하여 변경된 등록요청 메시지를 송신하며, 상기 고유키를 포함하는 SIP 메시지가 수신된 경우 상기 고유키에 대응되는 상기 단말 바인딩 정보를 이용하여 상기 SIP 메시지를 상기 단말의 착신 주소로 전송하는 메시지 변환 서버; 및 상기 메시지 변환 서버로부터 상기 변경된 등록요청 메시지를 수신하여 상기 고유키와 상기 서버 바인딩 정보를 등록하고, 상기 고유키에 기초하여 생성된 SIP 메시지를 상기 서버 바인딩 정보에 따라 상기 메시지 변환 서버로 전송하는 호 세션 제어부를 포함할 수 있다.The SIP service system of the present invention for achieving the above object is a terminal for transmitting a registration request message is set terminal binding information including a destination address; Receiving the registration request message, generating a unique key of the terminal, transmitting the changed registration request message by changing the terminal binding information to the server binding information which is the unique key and its binding information, and including the unique key; A message conversion server for transmitting the SIP message to a destination address of the terminal by using the terminal binding information corresponding to the unique key when a SIP message is received; And receiving the changed registration request message from the message conversion server, registering the unique key and the server binding information, and transmitting a SIP message generated based on the unique key to the message conversion server according to the server binding information. It may include a session controller.

상술한 과제를 달성하기 위한 본 발명의 메시지 변환 서버는, SIP 메시지를 송수신하는 송수신 인터페이스; 상기 SIP 메시지에 포함된 정보에 기초하여 고유키를 생성하는 고유키 생성부; 및 상기 송수신 인터페이스를 통해 소정 단말의 등록요청 메시지가 수신된 경우, 상기 고유키 생성부를 제어하여 상기 단말의 고유키를 생성하고, 상기 등록요청 메시지에 포함된 상기 단말의 바인딩 정보를 상기 고유키 및 자신의 바인딩 정보인 서버 바인딩 정보로 변경하여 상기 송수신 인터페이스를 통해 변경된 등록요청 메시지를 전송하는 제어부를 포함할 수 있다.Message conversion server of the present invention for achieving the above object, the transmission and reception interface for transmitting and receiving SIP messages; Unique key generation unit for generating a unique key based on the information contained in the SIP message; And generating a unique key of the terminal by controlling the unique key generation unit when a registration request message of a predetermined terminal is received through the transmission / reception interface, and converts binding information of the terminal included in the registration request message into the unique key and It may include a control unit for transmitting the changed registration request message through the transmission and reception interface by changing to the server binding information of its own binding information.

여기서, 상기 등록요청 메시지는 상기 단말 바인딩 정보 혹은, 상기 고유키와 상기 서버 바인딩 정보가 설정되는 콘택트 헤더를 포함하고, 상기 제어부는 상기 등록요청 메시지의 상기 콘택트 헤더에 저장된 상기 단말 바인딩 정보를 상기 고유키와 상기 서버 바인딩 정보로 변경하여 상기 등록요청 메시지를 변경하는 것이 가능하다.Here, the registration request message includes the terminal binding information, or a contact header for setting the unique key and the server binding information, and the controller controls the terminal binding information stored in the contact header of the registration request message. It is possible to change the registration request message by changing the key and the server binding information.

그리고, 상기 고유키 생성부는, 상기 등록요청 메시지에 포함된 단말의 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)을 MD5(Message-Digest algorithm 5) 해시(hash) 함수에 대입하여 상기 고유키를 생성할 수 있다.The unique key generation unit substitutes a public ID and a contact canonical form of a terminal included in the registration request message into a message-digest algorithm 5 (MD5) hash function. You can generate a key.

또한, 상기 단말의 고유키와, 상기 등록요청 메시지에 포함된 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)과, 수신 IP와, 수신 포트 정보가 저장되는 데이터베이스를 더 포함하는 것이 가능하다.The terminal may further include a database storing the unique key of the terminal, a public ID included in the registration request message, a contact canonical form, a receiving IP, and receiving port information. .

한편, 상기 제어부는, 상기 송수신 인터페이스를 통해 소정 단말의 재등록요청 메시지가 수신된 경우, 상기 재등록요청 메시지에 포함된 정보에 기초하여 상기 데이터베이스로부터 상기 단말의 고유키를 검색하고, 상기 재등록요청 메시지에 포함된 상기 단말의 바인딩 정보를 상기 검색된 고유키 및 상기 서버 바인딩 정보로 변경하여 상기 송수신 인터페이스를 통해 변경된 등록요청 메시지를 전송하는 것이 가능하다.On the other hand, when the re-registration request message of a predetermined terminal is received through the transmission / reception interface, the controller retrieves a unique key of the terminal from the database based on the information included in the re-registration request message, and re-registers the terminal. By changing the binding information of the terminal included in the request message to the searched unique key and the server binding information, it is possible to transmit the changed registration request message through the transmission and reception interface.

그리고, 상기 제어부는, 상기 송수신 인터페이스를 통해 소정 단말의 통화요청 메시지가 수신된 경우, 상기 통화요청 메시지에 포함된 고유키에 기초하여 상기 데이터베이스로부터 상기 고유키에 대응되는 단말의 정보를 검색하고, 상기 검색된 정보에 따라 상기 통화요청 메시지를 변경하여 상기 단말의 수신 IP와, 수신 포트로 상기 변경된 통화요청 메시지를 전송하는 것이 가능하다.When the call request message of a predetermined terminal is received through the transmission / reception interface, the controller searches for information on the terminal corresponding to the unique key from the database based on the unique key included in the call request message. It is possible to change the call request message according to the information and transmit the changed call request message to the receiving IP of the terminal and the receiving port.

상술한 과제를 달성하기 위한 본 발명의 SIP 서비스 방법은, 단말에서 착신 주소를 포함하는 단말 바인딩 정보가 설정된 등록요청 메시지를 송신하는 단계; 메시지 변환 서버에서 상기 등록요청 메시지를 수신하여 상기 단말의 고유키를 생성하고, 상기 등록요청 메시지의 정보와 상기 단말의 고유키를 저장하는 단계; 상기 메시지 변환 서버에서 상기 등록요청 메시지의 상기 단말 바인딩 정보를 상기 고유키와 자신의 바인딩 정보인 서버 바인딩 정보로 변경하고, 변경된 상기 등록요청 메시지를 전송하여 상기 단말의 등록을 요청하는 단계; 호 세션 제어부에서 상기 변경된 등록요청 메시지를 수신하여 상기 고유키와 상기 서버 바인딩 정보를 등록하고, 상기 고유키에 기초하여 생성된 SIP 메시지를 상기 서버 바인딩 정보에 따라 상기 메시지 변환 서버로 전송하는 단계; 상기 메시지 변환 서버에서 상기 SIP 메시지를 수신하여, 상기 고유키에 대응되는 단말의 상기 등록요청 메시지의 정보에 따라 상기 SIP 메시지를 변환하는 단계; 및 상기 변환된 SIP 메시지를 상기 단말 바인딩 정보에 포함된 상기 착신 주소로 전송하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a SIP service method comprising: transmitting, at a terminal, a registration request message in which terminal binding information including a destination address is set; Receiving the registration request message at a message conversion server to generate a unique key of the terminal, and storing information of the registration request message and a unique key of the terminal; Changing, by the message conversion server, the terminal binding information of the registration request message to the server binding information which is the unique key and its own binding information, and transmitting the changed registration request message to request registration of the terminal; Receiving the changed registration request message at a call session controller, registering the unique key and the server binding information, and transmitting a SIP message generated based on the unique key to the message conversion server according to the server binding information; Receiving the SIP message at the message conversion server and converting the SIP message according to the information of the registration request message of the terminal corresponding to the unique key; And transmitting the converted SIP message to the destination address included in the terminal binding information.

여기서, 상기 메시지 변환 서버에서 상기 단말의 고유키를 생성하는 단계는, 상기 등록요청 메시지에 포함된 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)을 MD5(Message-Digest algorithm 5) 해시(hash) 함수에 대입하여 상기 고유키를 생성하는 단계를 포함할 수 있다.Here, the generating of the unique key of the terminal in the message conversion server may include a public ID and a contact canonical form included in the registration request message as a message-digest algorithm 5 (MD5) hash ( hash) to generate the unique key.

또한, 상기 메시지 변환 서버에서 상기 등록요청 메시지의 상기 단말 바인딩 정보를 상기 고유키와 자신의 바인딩 정보인 서버 바인딩 정보로 변경하는 단계는, 상기 등록요청 메시지의 콘택트 헤더에 저장된 상기 단말 바인딩 정보를 상기 고유키와 상기 서버 바인딩 정보로 변경하는 단계를 포함하는 것이 가능하다.The changing of the terminal binding information of the registration request message to the server binding information of the unique key and its own binding information may include: converting the terminal binding information stored in the contact header of the registration request message. It is possible to include the step of changing to a unique key and the server binding information.

그리고, NAT(Network Address Translation)에서, 상기 단말의 착신 주소로서 사설 IP주소를 부여하고 상기 단말이 송신한 상기 등록요청 메시지에 공인 IP주소를 부여하여 상기 메시지 변환 서버로 전송하는 단계를 더 포함하는 것이 가능하다.And, in the NAT (Network Address Translation), giving a private IP address as a destination address of the terminal, and assigning a public IP address to the registration request message sent by the terminal and transmitting to the message translation server further comprising: It is possible.

또한, 상기 변환된 SIP 메시지를 상기 단말 바인딩 정보에 포함된 상기 착신 주소로 전송하는 단계는, 사설 IP로 설정된 상기 단말의 착신주소로 상기 변환된 SIP 메시지를 전송하는 단계를 포함할 수 있다.The transmitting of the converted SIP message to the destination address included in the terminal binding information may include transmitting the converted SIP message to the destination address of the terminal set to the private IP.

상술한 과제를 달성하기 위한 본 발명의 메시지 변환 서버의 제어방법은, 단말의 착신 주소를 포함하는 단말 바인딩 정보가 설정된 등록요청 메시지를 수신하는 단계; 상기 등록요청 메시지에 포함된 정보에 기초하여 고유키를 생성하는 단계; 상기 등록요청 메시지의 정보와 상기 고유키를 저장하는 단계; 상기 등록요청 메시지에 포함된 상기 단말 바인딩 정보를, 상기 고유키와 서버 바인딩 정보로 변환하는 단계; 상기 변환된 등록요청 메시지를 전송하는 단계; 및 상기 고유키를 포함하는 SIP 메시지가 수신된 경우, 상기 고유키에 대응되는 단말의 상기 등록요청 메시지의 정보를 검색하여 상기 SIP 메시지를 상기 단말의 착신 주소로 전송하는 단계를 포함할 수 있다.The control method of the message conversion server of the present invention for achieving the above object comprises the steps of: receiving a registration request message is set the terminal binding information including the destination address of the terminal; Generating a unique key based on information included in the registration request message; Storing the information of the registration request message and the unique key; Converting the terminal binding information included in the registration request message into the unique key and server binding information; Transmitting the converted registration request message; And when the SIP message including the unique key is received, searching for information on the registration request message of the terminal corresponding to the unique key and transmitting the SIP message to a destination address of the terminal.

여기서, 상기 등록요청 메시지에 포함된 정보에 기초하여 상기 고유키를 생성하는 단계는, 상기 등록요청 메시지에 포함된 단말의 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)을 MD5(Message-Digest algorithm 5) 해시(hash) 함수에 대입하여 상기 고유키를 생성하는 단계를 포함하는 것이 가능하다.The generating of the unique key based on the information included in the registration request message may include: public ID and contact canonical form of the terminal included in the registration request message; Digest algorithm 5) It is possible to include the step of generating a unique key by substituting a hash function.

그리고, 상기 등록요청 메시지의 정보와 상기 고유키를 저장하는 단계는, 상기 고유키와, 상기 등록요청 메시지에 포함된 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)과, 수신 IP와, 수신 포트 정보를 저장하는 단계를 포함할 수 있다.The storing of the information of the registration request message and the unique key may include: the unique key, a public ID, a contact canonical form included in the registration request message, a reception IP, And storing receiving port information.

또한, 상기 등록요청 메시지에 포함된 상기 단말 바인딩 정보를, 상기 고유키와 서버 바인딩 정보로 변환하는 단계는, 상기 등록요청 메시지의 콘택트 헤더에 저장된 상기 단말 바인딩 정보를 상기 고유키와 상기 서버 바인딩 정보로 변경하는 단계를 포함할 수 있다.The converting of the terminal binding information included in the registration request message into the unique key and the server binding information may include converting the terminal binding information stored in the contact header of the registration request message to the unique key and the server binding information. It may include the step of changing to.

한편, 재등록요청 메시지가 수신된 경우, 상기 재등록요청 메시지에 포함된 단말 바인딩 정보를 추출하는 단계; 기 저장된 정보로부터 상기 단말 바인딩 정보에 대응되는 고유키를 검색하는 단계; 상기 재등록요청 메시지에 포함된 상기 단말 바인딩 정보를, 검색된 상기 고유키와 서버 바인딩 정보로 변환하는 단계; 및 상기 변환된 등록요청 메시지를 전송하는 단계를 더 포함하는 것이 가능하다.On the other hand, if the re-registration request message is received, extracting the terminal binding information contained in the re-registration request message; Retrieving a unique key corresponding to the terminal binding information from previously stored information; Converting the terminal binding information included in the re-registration request message into the retrieved unique key and server binding information; And transmitting the converted registration request message.

또한, 통화요청 메시지가 수신된 경우, 상기 통화요청 메시지에 포함된 단말 바인딩 정보를 추출하는 단계; 기 저장된 정보로부터 상기 단말 바인딩 정보에 대응되는 고유키를 검색하는 단계; 상기 통화요청 메시지에 포함된 상기 단말 바인딩 정보를, 검색된 상기 고유키와 서버 바인딩 정보로 변환하는 단계; 및 상기 변환된 통화요청 메시지를 전송하는 단계를 더 포함하는 것이 가능하다.In addition, when the call request message is received, extracting the terminal binding information contained in the call request message; Retrieving a unique key corresponding to the terminal binding information from previously stored information; Converting the terminal binding information included in the call request message into the retrieved unique key and server binding information; And transmitting the converted call request message.

여기서, 상기 통화요청 메시지에 포함된 호-ID와 발신 태그(From tag)를 B2BUA(Back-To-Back User Agent) 제어가 가능한 형태로 변환하는 단계를 더 포함할 수 있다.The method may further include converting the call-ID and the originating tag included in the call request message into a form capable of controlling B2BUA (Back-To-Back User Agent).

한편, 착신 통화요청 메시지가 수신된 경우, 상기 착신 통화요청 메시지에 포함된 착신 단말의 고유키를 추출하는 단계; 기 저장된 정보로부터 상기 고유키에 대응되는 착신 단말의 단말 바인딩 정보를 검색하는 단계; 상기 착신 통화요청 메시지에 포함된 착신 주소를 상기 착신 단말의 단말 바인딩 정보로 변환하는 단계; 변환된 상기 착신 통화요청 메시지를 상기 착신 단말의 착신 주소로 전송하는 단계를 더 포함하는 것이 가능하다.On the other hand, if the incoming call request message is received, extracting a unique key of the called terminal included in the incoming call request message; Retrieving terminal binding information of a called terminal corresponding to the unique key from previously stored information; Converting a destination address included in the incoming call request message into terminal binding information of the called terminal; The method may further include transmitting the converted call request message to a destination address of the called terminal.

여기서, 상기 착신 통화요청 메시지에 포함된 호-ID와 발신 태그(From tag)를 B2BUA(Back-To-Back User Agent) 제어가 가능한 형태로 변환하는 단계를 더 포함할 수 있다.The method may further include converting a call-ID and an outgoing tag included in the incoming call request message into a form capable of controlling B2BUA (Back-To-Back User Agent).

여기서, 상기 SIP 메시지를 상기 단말의 착신 주소로 전송하는 단계는, 사설 IP로 설정된 상기 단말의 착신 주소로 상기 SIP 메시지를 전송하는 단계를 포함할 수 있다.The transmitting of the SIP message to the destination address of the terminal may include transmitting the SIP message to the destination address of the terminal set to the private IP.

상술한 바와 같이 본 발명의 SIP 서비스 시스템 및 그 제어방법은, SIP(Session Initiation Protocol)를 사용하는 IMS(IP Multimedia Subsystem) 네트워크에서, 단말과 호 세션 제어부(Call Session Control Function; CSCF) 간에 송수신되는 SIP 메시지의 바인딩 정보를 변환하여 SIP 메시지의 송수신을 중계함으로써, 서로 다른 IP 주소를 사용하는 공중망(Public Network)과 사설망(Private Network) 등의 네트워크 환경에 관계없이 정상적인 호 처리를 수행할 수 있다.As described above, the SIP service system and control method thereof according to the present invention are transmitted and received between a terminal and a call session control function (CSCF) in an IMS (IP Multimedia Subsystem) network using a Session Initiation Protocol (SIP). By converting the binding information of the SIP message and relaying transmission and reception of the SIP message, normal call processing can be performed regardless of a network environment such as a public network and a private network using different IP addresses.

도 1은 본 발명의 제1실시예에 따른 SIP 서비스 시스템의 구성도,
도 2는 본 발명의 제2실시예에 따른 SIP 서비스 시스템의 구성도,
도 3은 본 발명의 실시예에 따른 메시지 변환 서버의 제어 블록도,
도 4는 도 3의 데이터베이스의 데이터 구조도,
도 5는 본 발명의 일 실시예에 따른 메시지 변환 서버의 제어 흐름도,
도 6은 본 발명의 다른 실시예에 따른 메시지 변환 서버의 제어 흐름도,
도 7은 본 발명의 일 실시예에 따른 SIP 서비스 시스템의 신호 흐름도,
도 8은 본 발명의 다른 실시예에 따른 SIP 서비스 시스템의 신호 흐름도이다.
1 is a configuration diagram of a SIP service system according to a first embodiment of the present invention;
2 is a block diagram of a SIP service system according to a second embodiment of the present invention;
3 is a control block diagram of a message conversion server according to an embodiment of the present invention;
4 is a data structure diagram of the database of FIG. 3;
5 is a control flowchart of a message conversion server according to an embodiment of the present invention;
6 is a control flowchart of a message conversion server according to another embodiment of the present invention;
7 is a signal flow diagram of a SIP service system according to an embodiment of the present invention;
8 is a signal flow diagram of a SIP service system according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 제1실시예에 따른 SIP 서비스 시스템의 구성도이다.1 is a block diagram of a SIP service system according to a first embodiment of the present invention.

도 1에 도시된 바와 같이, 제1실시예에 따른 SIP 서비스 시스템은 각기 다른 IP 주소를 갖는 공중망(Public Network)(3)과 제1사설망(Private Network)(1) 및 제2사설망(5)을 포함할 수 있다. 제1사설망(1)에는 주소 변환을 위한 NAT(Network Address Translation)(50)와 제1단말(10)이 위치하고, 공중망(3)에는 제2단말(20)과, 단말들(10, 20)에 송수신되는 SIP 메시지를 변환하는 메시지 변환 서버(100)가 위치하며, 제2사설망(5)에는 단말들(10, 20)의 등록정보를 저장하는 호 세션 제어부(Call Session Control Function; CSCF)(200)가 위치한다.As shown in FIG. 1, the SIP service system according to the first embodiment includes a public network 3, a first private network 1, and a second private network 5 having different IP addresses. It may include. In the first private network 1, a network address translation (NAT) 50 and a first terminal 10 for address translation are located, and in the public network 3, a second terminal 20 and terminals 10 and 20 are provided. Message conversion server 100 for converting the SIP message to be transmitted and received is located, the second private network (5) Call Session Control Function (CSCF) for storing the registration information of the terminals (10, 20) ( 200) is located.

공중망(3)은 공인 IP(Public IP) 주소를 사용하는 영역으로, 제2단말(20)과, NAT(50), 메시지 변환 서버(100)에는 각각 고유한 IP 주소들이 할당된다. 이하 설명에서, 공중망(3)의 IP 주소는 222.106.XX인 경우를 예시하기로 한다. The public network 3 is an area using a public IP address, and unique IP addresses are assigned to the second terminal 20, the NAT 50, and the message conversion server 100, respectively. In the following description, the case where the IP address of the public network 3 is 222.106.XX will be exemplified.

사설망(1, 5)은 사설 IP 주소를 사용하는 영역으로써, 한정된 공인 IP 주소를 효율적으로 사용하기 위해 로컬 영역에서만 사용할 수 있는 사설 IP 주소를 사용한다. 제1단말(10)과 NAT(50)에는 제1사설망(1)의 사설 IP가 할당되고, 호 세션 제어부(200)와 메시지 변환 서버(100)에는 제2사설망(5)의 사설 IP가 할당된다. 이하 설명에서 제1사설망(1)의 IP 주소는 10.10.XX이고, 제2사설망(5)의 IP 주소는 192.168.XX인 경우를 예시하기로 한다. The private networks 1 and 5 use private IP addresses and use private IP addresses that can only be used in the local area in order to efficiently use a limited public IP address. The private IP of the first private network 1 is assigned to the first terminal 10 and the NAT 50, and the private IP of the second private network 5 is assigned to the call session control unit 200 and the message conversion server 100. do. In the following description, an IP address of the first private network 1 is 10.10.XX, and an IP address of the second private network 5 is 192.168.XX.

제1단말(10) 및 제2단말(20)은 SIP 시그널링 방식으로 오디오, 비디오 등의 멀티미디어 데이터를 송수신할 수 있다. 제1단말(10) 및 제2단말(20)은 각기 IP 주소가 부여되어 네트워크를 통해 멀티미디어 데이터 패킷을 송수신할 수 있다. SIP를 이용하는 제1단말(10) 및 제2단말(20)은 자신들의 위치를 등록하기 위하여 등록요청 메시지(register request message; REGISTER)를 송신한다. 등록요청 메시지의 콘택트(contact) 헤더에는 단말(10, 20)이 SIP 메시지를 수신할 수 있는 바인딩(binding) 정보가 설정된다. 콘택트 헤더에는 IP 주소, 접속 포트(Port) 등을 포함하는 각 단말의 FQDN(Fully Qualified Doman Name) 정보가 저장될 수 있다. 이러한 제1단말(10) 및 제2단말(20)은 인터넷 전용 전화기, 컴퓨터에 연결된 인터넷 전화기 등을 포함할 수 있다.The first terminal 10 and the second terminal 20 may transmit / receive multimedia data such as audio and video by SIP signaling. Each of the first terminal 10 and the second terminal 20 may be assigned an IP address to transmit and receive a multimedia data packet through a network. The first terminal 10 and the second terminal 20 using the SIP transmit a register request message (REGISTER) to register their location. In the contact header of the registration request message, binding information for allowing the terminals 10 and 20 to receive a SIP message is set. The contact header may store FQDN (Fully Qualified Doman Name) information of each terminal including an IP address, an access port, and the like. The first terminal 10 and the second terminal 20 may include an internet dedicated telephone, an internet telephone connected to a computer, and the like.

NAT(50)는 사설 IP 주소를 공인 IP 주소로, 공인 IP 주소를 사설 IP 주소로 상호 변환한다. 이에, 사설 IP 주소를 사용하는 제1단말(10)이 다른 망으로 데이터를 전송하는 경우, NAT(50)는 제1단말(10)의 사설 IP 주소를 공인 IP 주소로 변환하여 전송한다. The NAT 50 converts a private IP address into a public IP address and a public IP address into a private IP address. When the first terminal 10 using the private IP address transmits data to another network, the NAT 50 converts the private IP address of the first terminal 10 into a public IP address and transmits the data.

메시지 변환 서버(100)는 단말(10, 20)로부터 수신된 등록요청 메시지를 호 세션 제어부(200)로 전송하여 각 단말(10, 20)의 정보가 호 세션 제어부(200)에 등록되도록 한다. 여기서, 메시지 변환 서버(100)는 단말들이(10, 20) 전송한 등록요청 메시지의 콘택트 헤더를 메시지 변환 서버(100)의 바인딩(binding) 정보로 변환한 후, 호 세션 제어부(200)로 전송한다. 등록요청 메시지의 콘택트 헤더에는 콘택트 표준형식(Contact Canonical form)으로 바인딩 정보가 저장되어 있다. 콘택트 표준형식은 "user@host-port"의 형태로 표시될 수 있다. 이에, 등록요청 메시지의 콘택트 헤더에는 각 단말(10, 20)의 착신 IP가 호스트(host)영역에 설정되어 있다. 메시지 변환 서버(100)는 콘택트 헤더의 호스트 영역에 설정된 단말(10, 20)의 착신 IP를 자신의 IP로 설정하여, 콘택트 헤더의 바인딩 정보를 메시지 변환 서버(100)의 바인딩 정보로 변환한다. The message conversion server 100 transmits a registration request message received from the terminals 10 and 20 to the call session controller 200 so that the information of each terminal 10 and 20 is registered in the call session controller 200. Here, the message conversion server 100 converts the contact header of the registration request message transmitted by the terminals 10 and 20 into binding information of the message conversion server 100 and then transmits the message to the call session controller 200. do. In the contact header of the registration request message, binding information is stored in a contact canonical form. The contact standard format may be expressed in the form of "user @ host-port". Therefore, the destination IP of each terminal 10, 20 is set in the host area in the contact header of the registration request message. The message conversion server 100 sets the destination IP of the terminals 10 and 20 set in the host area of the contact header as its own IP, and converts the binding information of the contact header into the binding information of the message conversion server 100.

메시지 변환 서버(100)는 콘택트 헤더의 사용자(user) 영역을 설정하기 위해, 등록요청 메시지에 포함된 공인 ID(Public ID)와 콘택트 헤더의 바인딩 정보에 기초하여 해당 단말의 고유키를 생성한다. 여기서, 고유키는 각 단말에 대해 고유하게 부여된 것으로서, 고유키를 통해 각 단말을 구분하는 것이 가능하다.The message conversion server 100 generates a unique key of the corresponding terminal based on the public ID included in the registration request message and the binding information of the contact header in order to set a user area of the contact header. Here, the unique key is uniquely assigned to each terminal, and it is possible to distinguish each terminal through the unique key.

메시지 변환 서버(100)는 콘택트 헤더의 바인딩 정보에서 사용자 영역(user)에 고유키를 설정하고, 호스트 영역(host)에 호 세션 제어부(200)의 IP를 설정하여 메시지 변환 서버(100)의 바인딩 정보로 변환한다. 이에, 등록요청 메시지의 콘택트 헤더에 설정되었던 단말의 바인딩 정보는 메시지 변환 서버(100)의 바인딩 정보로 변환될 수 있다. The message conversion server 100 sets a unique key in the user area user in the binding information of the contact header and sets the IP of the call session controller 200 in the host area host to bind the message conversion server 100. Convert to information. Accordingly, the binding information of the terminal set in the contact header of the registration request message may be converted into the binding information of the message conversion server 100.

메시지 변환 서버(100)는 콘택트 헤더가 변환된 등록요청 메시지를 호 세션 제어부(200)로 전송한다. 또한, 메시지 변환 서버(100)는 원본 등록요청 메시지에 포함된 정보, 예컨대, 공인ID(Public ID)와, 콘택트 표준형식(Contact Canonical form)의 단말 바인딩 정보와, 수신 IP, 수신 포트 등의 정보를 고유키와 함께 저장한다. 이에, 메시지 변환 서버(100)는 송수신되는 메시지의 콘택트 헤더를 필요에 따라 단말(10, 20)의 바인딩 정보로 설정하거나 메시지 변환 서버(100)의 바인딩 정보로 변경할 수 있다. 이상에서 설명한 메시지 변환 서버(100)의 기능은 세션 제어 장치(Session Border Controller; SBC)를 이용하여 구현될 수 있다. The message conversion server 100 transmits the registration request message converted from the contact header to the call session controller 200. In addition, the message conversion server 100 may include information included in the original registration request message, for example, a public ID, terminal binding information of a contact canonical form, a reception IP, a reception port, and the like. Is stored with the unique key. Accordingly, the message conversion server 100 may set the contact header of the message to be transmitted and received as binding information of the terminals 10 and 20 or change the binding header of the message conversion server 100 as necessary. The function of the message conversion server 100 described above may be implemented using a session border controller (SBC).

호 세션 제어부(200)는 메시지 변환 서버(100)로부터 등록요청 메시지를 수신하여 해당 단말(10, 20)의 정보를 등록한다. 여기서, 호 세션 제어부(200)에 수신된 등록요청 메시지는 콘택트 헤더가 고유키 및 메시지 변환 서버(100)의 바인딩 정보로 변경된 메시지이다. 호 세션 제어부(200)는 각 단말(10, 20)의 콘택트 헤더를 이용하여 바인딩 정보를 저장함으로, 단말들(10, 20)은 고유키 별로 구분되어 메시지 변환 서버(100)로 바인딩 되도록 등록된다. 이에, 호 세션 제어부(200)는 각 단말(10, 20)들을 고유키로 인식하고 각 단말(10, 20)의 호 설정을 위한 메시지들을 모두 메시지 변환 서버(100)로 전송하게 된다. The call session controller 200 receives a registration request message from the message conversion server 100 and registers information of the corresponding terminals 10 and 20. Here, the registration request message received by the call session controller 200 is a message in which the contact header is changed to the unique key and binding information of the message conversion server 100. The call session controller 200 stores the binding information by using the contact headers of the terminals 10 and 20, so that the terminals 10 and 20 are classified by the unique key and registered to be bound to the message conversion server 100. . Accordingly, the call session controller 200 recognizes each of the terminals 10 and 20 as a unique key and transmits all the messages for the call setup of the terminals 10 and 20 to the message conversion server 100.

이와 같이, 본 발명에 따른 SIP 서비스 시스템은 메시지 변환 서버(100)에서 각 단말(10, 20)이 전송한 등록요청 메시지를 수신하여 고유키를 생성하고, 등록요청 메시지의 콘택트 헤더를 고유키 및 메시지 변환 서버(100)의 바인딩 정보로 변환하여 호 세션 제어부(200)에 등록한다. 메시지 변환 서버(100)에는 단말(10, 20)의 고유키 및 등록요청 메시지의 내용이 저장된다. 호 세션 제어부(200)는 각 단말(10, 20)을 고유키로 구분하고, 호 세션 제어부(200)에서 단말(10, 20)로 제공하는 모든 메시지는 메시지 변환 서버(100)로 수신된다. 이에, 메시지 변환 서버(100)는 호 세션 제어부(200)에서 전송한 고유키와 기 저장된 등록요청 메시지의 정보에 기초하여 각 단말(10, 20)에 SIP 메시지를 전달한다. 따라서, 사설망(1, 5), 공중망(3) 등, 단말(10, 20)의 네트워크 환경에 관계없이 메시지 변환 서버(100)가 SIP 메시지의 송수신을 중계할 수 있다. As such, the SIP service system according to the present invention receives a registration request message transmitted from each terminal 10 or 20 in the message conversion server 100 to generate a unique key, and generates a unique header and a contact header of the registration request message. The message is converted into binding information of the message conversion server 100 and registered in the call session controller 200. The message conversion server 100 stores the unique keys of the terminals 10 and 20 and the contents of the registration request message. The call session controller 200 distinguishes each terminal 10 and 20 by a unique key, and all messages provided by the call session controller 200 to the terminals 10 and 20 are received by the message conversion server 100. Accordingly, the message conversion server 100 delivers the SIP message to each terminal 10, 20 based on the unique key transmitted from the call session controller 200 and the information of the pre-stored registration request message. Therefore, the message conversion server 100 may relay transmission and reception of SIP messages regardless of the network environment of the terminals 10 and 20, such as the private networks 1 and 5, the public network 3, and the like.

도 2는 본 발명의 제2실시예에 따른 SIP 서비스 시스템의 구성도이다. 본 발명의 제2실시예를 설명함에 있어서 제1실시예와 동일한 구성에 대해서는 동일한 참조번호를 부여하고 중복된 설명은 생략하기로 한다.2 is a block diagram of a SIP service system according to a second embodiment of the present invention. In the description of the second embodiment of the present invention, the same components as the first embodiment will be denoted by the same reference numerals and redundant description thereof will be omitted.

제2실시예에 따른 SIP 서비스 시스템은 각기 다른 IP 주소를 갖는 공중망(3)과 사설망(1)을 포함할 수 있다. The SIP service system according to the second embodiment may include a public network 3 and a private network 1 having different IP addresses.

사설망(1)에는 주소 변환을 위한 NAT(50)와 제1단말(10)이 위치하고, 공중망(3)에는 제2단말(20)과, 단말(10, 20)에 송수신되는 SIP 메시지를 변환하는 메시지 변환 서버(100)와, 단말(10, 20)의 등록정보를 저장하는 호 세션 제어부(200)가 위치한다. 이러한 구성을 갖는 제2실시예에 따른 SIP 서비스 시스템은, 호 세션 제어부(200)가 공중망(3)에 위치하여 공인 IP를 가지고 있다는 점에서, 제1실시예와 차이가 있다. 이러한 차이점으로 인해, 메시지 변환 서버(100)의 등록요청 메시지 변환 과정에 차이점이 생길 수 있다. In the private network 1, a NAT 50 for address translation and a first terminal 10 are located, and the public network 3 converts SIP messages transmitted and received to and from the second terminal 20 and the terminals 10 and 20. The message conversion server 100 and the call session controller 200 storing the registration information of the terminals 10 and 20 are located. The SIP service system according to the second embodiment having such a configuration is different from the first embodiment in that the call session controller 200 is located in the public network 3 and has a public IP. Due to this difference, there may be a difference in the registration request message conversion process of the message conversion server 100.

메시지 변환 서버(100)는 등록요청 메시지의 콘택트 헤더를 메시지 변환 서버(100)의 바인딩 정보로 변환하여 호 세션 제어부(200)로 전송한다. 메시지 변환 서버(100)는 등록요청 메시지에 포함된 공인 ID와 바인딩 정보에 기초하여 해당 단말(10, 20)의 고유키를 생성한다. 메시지 변환 서버(100)는 "user@host-port"의 형태로 표시된 콘택트 헤더에서 사용자 영역(user)에 고유키를 설정한다. 그리고, 호스트 영역(host)에 호 세션 제어부(200)의 IP인 공인 IP를 설정하여 콘택트 헤더를 메시지 변환 서버(100)의 바인딩 정보로 변환한다. The message conversion server 100 converts the contact header of the registration request message into binding information of the message conversion server 100 and transmits it to the call session controller 200. The message conversion server 100 generates a unique key of the terminal 10 or 20 based on the public identification ID and the binding information included in the registration request message. The message conversion server 100 sets a unique key in the user area (user) in the contact header displayed in the form of "user @ host-port". Then, a public IP which is the IP of the call session controller 200 is set in the host area host to convert the contact header into binding information of the message conversion server 100.

메시지 변환 서버(100)는 콘택트 헤더가 변환된 등록요청 메시지를 호 세션 제어부(200)로 전송한다.The message conversion server 100 transmits the registration request message converted from the contact header to the call session controller 200.

이상 설명한 바와 같이, 호 세션 제어부(200)가 사설 IP만 가지고 있는 경우(제1실시예) 콘택트 헤더의 호스트 영역에 사설 IP를 설정하고, 호 세션 제어부(200)가 공인 IP를 가지고 있는 경우(제2실시예) 콘택트 헤더의 호스트 영역에 공인 IP를 설정하여 등록요청 메시지를 변환할 수 있다.As described above, when the call session control unit 200 has only the private IP (first embodiment) when the private IP is set in the host area of the contact header, and the call session control unit 200 has the public IP ( Second Embodiment A registration request message may be converted by setting a public IP in a host area of a contact header.

도 3은 본 발명의 실시예에 따른 메시지 변환 서버(100)의 제어 블럭도이다.3 is a control block diagram of a message conversion server 100 according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 메시지 변환 서버(100)는 SIP 메시지를 송수신하는 송수신 인터페이스(120)와, 송수신 인터페이스(120)로 수신된 메시지의 내용을 분석하는 메시지 분석부(130)와, 분석된 메시지의 내용에 기초하여 고유키를 생성하는 고유키 생성부(140)와, 생성된 고유키를 이용하여 메시지를 변환하는 메시지 변환부(150)와, 원본 메시지 및 변환된 메시지의 정보가 저장되는 데이터베이스(160)와, 이들 각 구성요소를 제어하여 송수신 인터페이스(120)를 통해 송수신되는 메시지의 콘택트 헤더를 변환하는 제어부(110)를 포함한다.As shown in FIG. 3, the message conversion server 100 includes a transmission and reception interface 120 for transmitting and receiving a SIP message, a message analyzer 130 for analyzing the contents of the message received through the transmission and reception interface 120, and an analysis. A unique key generation unit 140 for generating a unique key based on the contents of the generated message, a message conversion unit 150 for converting a message using the generated unique key, and information of the original message and the converted message And a controller 110 for controlling each of these components to convert contact headers of messages transmitted and received through the transceiving interface 120.

송수신 인터페이스(120)는 NAT(50), 제2단말(20), 호 세션 제어부(200) 등과 SIP 메시지를 송수신한다. 송수신 인터페이스(120)로 송수신되는 SIP 메시지는 등록요청 메시지(REGISTER), 재등록요청 메시지(Re-REGISTER), 통화요청 메시지(INVITE), 착신 통화요청 메시지 등 다양한 형태의 메시지를 포함할 수 있다.The transceiving interface 120 transmits and receives a SIP message with the NAT 50, the second terminal 20, the call session controller 200, and the like. The SIP message transmitted and received through the transceiving interface 120 may include various types of messages such as a registration request message (REGISTER), a re-registration request message (Re-REGISTER), a call request message (INVITE), and an incoming call request message.

메시지 분석부(130)는 송수신 인터페이스(120)에 수신된 메시지의 내용을 분석하여 단말의 고유키를 생성하기 위한 정보를 추출하거나, 혹은, 이미 포함되어 있는 고유키를 추출한다. 등록요청 메시지는 발신자(From), 수신자(To), 경유지(Via), 콘택트(Contact) 등의 정보를 포함할 수 있다. 메시지 분석부(130)는 고유키 생성을 위해, To 헤더로부터 공인 ID(Public ID)를 추출하고, 콘택트 헤더로부터 바인딩 정보를 추출한다. 여기서, 바인딩 정보는 "user@host-port" 형태의 콘택트 표준형식(Contact Canonical form)으로 추출될 수 있다. 한편, 호 세션 제어부(200)가 전송한 착신 통화요청 메시지는 고유키를 포함할 수 있다. 이러한 경우, 메시지 분석부(130)는 송수신 인터페이스(120)에 수신된 메시지에 포함된 고유키를 추출할 수 있다.The message analyzer 130 extracts information for generating a unique key of the terminal by analyzing the contents of the message received by the transmission / reception interface 120 or extracts a unique key that is already included. The registration request message may include information such as a sender (From), a receiver (To), a waypoint Via, a contact, and the like. The message analyzer 130 extracts a public ID from the To header and extracts binding information from the contact header to generate a unique key. Here, the binding information may be extracted in a contact canonical form of "user @ host-port" type. Meanwhile, the incoming call request message transmitted by the call session controller 200 may include a unique key. In this case, the message analyzer 130 may extract the unique key included in the message received by the transmission and reception interface 120.

고유키 생성부(140)는 메시지 분석부(130)를 통해 추출된 정보에 기초하여 단말(10, 20)의 고유키를 생성한다. 단말(10, 20)의 고유키는 해당 단말(10, 20)을 식별할 수 있는 고유한 정보를 암호화하는 방법으로 생성될 수 있다. 예컨대, 등록요청 메시지의 To 헤더에 포함된 공인 ID와, 콘택트 헤더에 포함된 바인딩 정보를 MD5(Message-Digest algorithm 5) 해시(hash) 함수에 대입하여 고유키를 생성할 수 있다. MD5 해시 함수는 임의의 길이의 메시지(variable-length message)를 입력 받아, 128비트로 고정된 길이의 출력값을 생성하는 암호화 해시 함수로서, IETF(Internet Engineering Task Force)의 RFC 1321(Request For Comments 1321)에 규정되어 있다. 이에, 고유키 생성부(140)는 등록요청 메시지에서 추출된 공인 ID 및 바인딩 정보를 이용하여 128비트 길이의 고유키를 생성할 수 있다. 한편, 각각 다른 NAT(50)안에 있는 단말이 같은 사설 IP를 사용하여 등록요청 메시지를 송신한 경우, 콘택트 헤더에 포함된 바인딩 정보가 동일할 수 있다. 이에, 단말(10, 20)에 따라 고유한 특성을 갖는 고유키 생성을 위해 공인 ID와 바인딩 정보를 함께 대입하여 고유키를 생성할 수 있다. The unique key generation unit 140 generates a unique key of the terminal 10 or 20 based on the information extracted by the message analyzer 130. The unique keys of the terminals 10 and 20 may be generated by encrypting the unique information for identifying the corresponding terminals 10 and 20. For example, a unique key may be generated by substituting a public ID included in a To header of a registration request message and binding information included in a contact header into a message-digest algorithm 5 (MD5) hash function. The MD5 hash function is a cryptographic hash function that receives a variable-length message and generates an output with a fixed length of 128 bits. RFC 1321 of the Internet Engineering Task Force (IETF) (Request For Comments 1321). It is prescribed in Thus, the unique key generation unit 140 may generate a 128-bit long unique key using the public ID and binding information extracted from the registration request message. Meanwhile, when terminals in different NATs 50 transmit registration request messages using the same private IP, binding information included in the contact header may be the same. Accordingly, in order to generate a unique key having unique characteristics according to the terminals 10 and 20, a unique key may be generated by substituting a public ID and binding information together.

메시지 변환부(150)는 등록요청 메시지의 콘택트 헤더를 메시지 변환 서버(100)의 바인딩 정보로 변환한다. NAT(50)로부터 수신된 등록요청 메시지의 콘택트 헤더는 단말의 바인딩 정보를 포함하여 "user@host-port"의 형태로 설정되어 있다. 메시지 변환부(150)는 콘택트 헤더의 사용자 영역에 고유키를 설정하고, 호스트 영역에는 호 세션 제어부(200)의 IP를 설정하여, 콘택트 헤더를 메시지 변환부(150)의 바인딩 정보로 변환한다.The message conversion unit 150 converts the contact header of the registration request message into binding information of the message conversion server 100. The contact header of the registration request message received from the NAT 50 is set in the form of "user @ host-port" including binding information of the terminal. The message converter 150 sets a unique key in the user area of the contact header, sets the IP of the call session controller 200 in the host area, and converts the contact header into binding information of the message converter 150.

제어부(110)는 최초 송수신 인터페이스(120)로 수신된 등록요청 메시지의 정보와 변환된 등록요청 메시지의 정보를 데이터베이스(160)에 저장하고, 변환된 등록요청 메시지를 송수신 인터페이스(120)를 통해 호 세션 제어부(200)로 송신한다. The controller 110 stores the information of the registration request message and the information of the converted registration request message received through the initial transmission / reception interface 120 in the database 160, and transmits the converted registration request message through the transmission / reception interface 120. Send to the session control unit 200.

제어부(110)는 송수신 인터페이스(120)를 통해 재등록요청 메시지가 수신된 경우, 메시지 분석부(130)를 통해 재등록요청 메시지에 포함된 콘택트 헤더의 바인딩 정보를 추출한다. 제어부(110)는 데이터베이스(160)에 저장된 단말(10, 20)의 바인딩 정보와 고유키를 검색하여 재등록요청 메시지의 콘택트 헤더를 변환한다. 이에, 재등록요청 메시지의 콘택트 헤더는 등록요청 메시지와 동일한 고유키를 포함하는 바인딩 정보를 포함할 수 있다.When the re-registration request message is received through the transmission / reception interface 120, the controller 110 extracts binding information of the contact header included in the re-registration request message through the message analyzer 130. The controller 110 retrieves the binding information and the unique key of the terminals 10 and 20 stored in the database 160 and converts the contact header of the re-registration request message. Accordingly, the contact header of the re-registration request message may include binding information including the same unique key as the registration request message.

한편, NAT(50)로부터 제1단말(10)의 통화요청 메시지가 수신된 경우, 제어부(110)는 통화요청 메시지의 콘택트 헤더를 메시지 변환 서버(100)의 바인딩 정보로 변환한다. 여기서, 통화요청 메시지에 의해 통화를 수행하는 발신 단말과 착신단말은 B2BUA(Back-To-Back User Agent) 방식으로 통화가 진행되어야 한다. 이에, 제어부(110)는 통화요청 메시지의 호출 ID(Call-DI)와, 발신 태그(From tag)도 변경한 후, 변경된 통화요청 메시지를 호 설정 제어부(110)로 전송한다.Meanwhile, when the call request message of the first terminal 10 is received from the NAT 50, the controller 110 converts the contact header of the call request message into binding information of the message conversion server 100. Here, the calling terminal and the called terminal performing the call by the call request message should proceed with the call in the B2BUA (Back-To-Back User Agent) method. Accordingly, the controller 110 changes the call ID (Call-DI) and the call tag (From tag) of the call request message, and then transmits the changed call request message to the call setting controller 110.

통화요청 메시지에 대한 착신 통화요청 메시지가 수신된 경우, 제어부(110)는 메시지 분석부(130)를 통해 착신 통화요청 메시지에 포함된 콘택트 헤더의 고유키를 추출한다. 제어부(110)는 데이터베이스(160)에서 고유키에 해당되는 단말의 바인딩 정보를 검색하여 발신 단말과 착신 단말 간에 B2BUA 방식으로 통화가 진행되도록 착신 통화요청 메시지를 변환한다. 제어부(110)는 변환된 착신 통화요청 메시지를 착신 단말의 수신 IP 혹은 수신 포트로 전송한다. When the incoming call request message for the call request message is received, the controller 110 extracts a unique key of the contact header included in the incoming call request message through the message analyzer 130. The controller 110 retrieves the binding information of the terminal corresponding to the unique key from the database 160 and converts the incoming call request message so that the call proceeds in a B2BUA manner between the calling terminal and the called terminal. The controller 110 transmits the converted incoming call request message to the receiving IP or the receiving port of the called terminal.

도 4는 도 3의 데이터베이스(160)의 데이터 구조도이다.4 is a data structure diagram of the database 160 of FIG.

데이터베이스(160)에는 등록요청 메시지의 원본 정보와 변환 후 등록요청 메시지의 정보를 포함하는 바인딩 정보 테이블(165)이 저장된다.The database 160 stores a binding information table 165 including original information of the registration request message and information of the registration request message after conversion.

바인딩 정보 테이블(165)에는 등록요청 메시지 원본에 포함된 단말의 공인ID(Public ID)와, 콘택트 표준형식(Contact Canonical form)의 단말 바인딩 정보와, 수신 IP, 수신 포트 등이 저장될 수 있다. 또한, 변환 후 등록요청 메시지의 콘택트 헤더에 설정된 고유키가 저장된다.The binding information table 165 may store a public ID of a terminal included in the original registration request message, a terminal binding information of a contact canonical form, a reception IP, a reception port, and the like. In addition, the unique key set in the contact header of the registration request message after the conversion is stored.

제어부(110)는 수신된 메시지가 단말의 바인딩 정보를 포함한 경우, 데이터베이스(160)로부터 그에 대응되는 고유키를 검색하여 메시지의 콘택트 헤더를 변환할 수 있다.When the received message includes binding information of the terminal, the controller 110 may search for a unique key corresponding to the corresponding message from the database 160 and convert the contact header of the message.

수신된 메시지에 고유키가 포함되어 있는 경우, 제어부(110)는 데이터베이스(160)로부터 해당 단말의 실재 바인딩 정보를 검색하여 메시지의 콘택트 헤더를 변환할 수 있다. 또한, 해당 단말의 수신 IP 혹은 수신 포트를 조회하여 메시지를 단말 측에 전송할 수 있다.If a unique key is included in the received message, the controller 110 may retrieve the actual binding information of the corresponding terminal from the database 160 and convert the contact header of the message. In addition, the message can be sent to the terminal by inquiring the receiving IP or the receiving port of the terminal.

도 5는 본 발명의 일 실시예에 따른 메시지 변환 서버(100)의 제어 흐름도로서, 사설망(1)에 위치한 제1단말(10)로부터 등록요청 메시지(REGISTER)를 수신한 경우 메시지 변환 서버(100)의 제어 흐름을 도시한 것이다.FIG. 5 is a control flowchart of the message conversion server 100 according to an embodiment of the present invention. When the registration request message REGISTER is received from the first terminal 10 located in the private network 1, the message conversion server 100 is received. Shows the control flow.

제어부(110)는 송수신 인터페이스(120)를 통해 제1단말(10)로부터 등록요청 메시지를 수신한다(S110). 제1단말(10)이 송신한 등록요청 메시지는 NAT(50)에 의해 공인 IP로 변환되어 메시지 변환 서버(100)의 송수신 인터페이스(120)로 수신될 수 있다. The controller 110 receives a registration request message from the first terminal 10 through the transmission and reception interface 120 (S110). The registration request message transmitted by the first terminal 10 may be converted into a public IP by the NAT 50 and received by the transmission / reception interface 120 of the message conversion server 100.

메시지 분석부(130)는 제어부(110)의 제어에 따라 등록요청 메시지에서 공인 ID와 콘택트 헤더에 설정된 바인딩 정보를 추출한다(S120).The message analyzer 130 extracts the binding information set in the public ID and the contact header from the registration request message under the control of the controller 110 (S120).

고유키 생성부(140)는 추출된 공인 ID와 바인딩 정보를 이용하여 고유키를 생성한다(S130). 고유키 생성부(140)는 공인 ID와 바인딩 정보를 MD5 해시 함수에 대입하여 128비트의 길이의 고유키를 생성할 수 있다.The unique key generation unit 140 generates a unique key using the extracted public ID and binding information (S130). The unique key generation unit 140 may generate a unique key having a length of 128 bits by substituting the public ID and binding information into the MD5 hash function.

제어부(110)는 원본 바인딩 정보와 고유키를 데이터베이스(160)에 저장한다(S140).The controller 110 stores the original binding information and the unique key in the database 160 (S140).

제어부(110)는 등록요청 메시지의 콘택트 헤더를 고유키를 포함하는 바인딩 정보로 교체하여 등록요청 메시지를 변환한다(S150).The controller 110 converts the contact header of the registration request message into binding information including a unique key to convert the registration request message (S150).

제어부(110)는 변환된 등록요청 메시지를 호 세션 제어부(200)로 전송한다(S160).The controller 110 transmits the converted registration request message to the call session controller 200 (S160).

상술한 바와 같이, 본 발명의 일 실시예에 따른 메시지 변환 서버(100)는 단말기(10)로부터 등록요청 메시지를 수신하여 고유키를 생성하고, 등록요청 메시지의 콘택트 헤더를 고유키 및 메시지 변환 서버(100)의 바인딩 정보로 변환할 수 있다. As described above, the message conversion server 100 according to an embodiment of the present invention receives the registration request message from the terminal 10 to generate a unique key, and the contact header of the registration request message to the unique key and the message conversion server It can be converted into the binding information of (100).

도 6은 본 발명의 다른 실시예에 따른 메시지 변환 서버(100)의 제어 흐름도로서, 메시지 변환 서버(100)가 전송한 통화요청 메시지에 대해, 호 세션 제어부(200)가 착신 통화요청 메시지를 회신한 경우 메시지 변환 서버(100)의 제어 흐름을 예시한 것이다.6 is a control flowchart of a message conversion server 100 according to another embodiment of the present invention, in which a call session controller 200 returns an incoming call request message to a call request message sent by the message conversion server 100. In one case, the control flow of the message conversion server 100 is illustrated.

호 세션 제어부(200)로부터 착신 통화요청 메시지가 수신된 경우(S210), 제어부(110)는 착신 통화요청 메시지에 포함된 고유키를 추출한다(S220). 호 세션 제어부(200)는 각 단말의 고유키 별로 바인딩 정보가 저장되어 있다. 이에, 호 세션 제어부(200)에서 전송하는 착신 통화요청 메시지에는 각 단말(10, 20)이 고유키로 표시될 수 있다. When the incoming call request message is received from the call session controller 200 (S210), the controller 110 extracts the unique key included in the incoming call request message (S220). The call session controller 200 stores binding information for each unique key of each terminal. Thus, in the incoming call request message transmitted from the call session controller 200, each terminal 10, 20 may be displayed with a unique key.

제어부(110)는 데이터베이스(160)에서 고유키에 해당하는 착신 단말의 바인딩 정보를 검색한다(S230).The controller 110 retrieves binding information of the called terminal corresponding to the unique key from the database 160 (S230).

제어부(110)는 검색된 바인딩 정보를 이용하여 통화요청 메시지를 변환한다(S240). 제어부(110)는 B2BUA 동작을 위해 통화요청 메시지의 호-ID(Call-ID), 발신자 태그, 콘택트 정보를 변경할 수 있다. 여기서, 콘택트 정보는 착신 단말과 메시지 변환 서버(100) 간에 세션을 수립하기 위한 것으로서, 고유키를 사용하지 않아도 된다.The control unit 110 converts the call request message using the retrieved binding information (S240). The controller 110 may change a call-ID, a caller tag, and contact information of the call request message for the B2BUA operation. Here, the contact information is for establishing a session between the called terminal and the message conversion server 100, it is not necessary to use a unique key.

제어부(110)는 변환된 착신 통화요청 메시지를 데이터베이스(160)에서 검색된 착신 단말의 수신 IP 혹은, 수신 포트로 전송한다(S250). 여기서, 착신 통화요청 메시지 내에 포함된 착신 단말의 URI(Uniform Resource Identifier)는 사설 IP일 가능성이 있으며, 사설 IP인 경우 메시지가 전송되지 아니한다. 따라서, 통화요청 메시지의 전송 가능성을 높이기 위해, 착신 단말의 등록요청 메시지 수신 시 데이터베이스(160)에 저장하였던 수신 IP 혹은 수신 포트로 착신 통화요청 메시지를 전송할 수 있다.The controller 110 transmits the converted incoming call request message to the receiving IP of the called terminal retrieved from the database 160 or the receiving port (S250). Here, the URI (Uniform Resource Identifier) of the called terminal included in the incoming call request message may be a private IP, and in the case of the private IP, the message is not transmitted. Therefore, in order to increase the possibility of transmitting the call request message, the incoming call request message may be transmitted to the receiving IP or the receiving port which was stored in the database 160 when the registration request message of the called terminal was received.

도 7은 본 발명의 일 실시예에 따른 SIP 서비스 시스템의 신호 흐름도이다. 본 실시예에서는 도 1에 도시된 바와 같이, 제1단말(10)이 제1사설망(1)에 위치하고 호 세션 제어부(200)가 제2사설망(5)에 위치한 상태에서, 제1단말(10)이 등록요청 메시지를 발신하는 경우 그 신호 흐름을 예시하기로 한다. 7 is a signal flow diagram of a SIP service system according to an embodiment of the present invention. In this embodiment, as shown in FIG. 1, the first terminal 10 is located in the first private network 1 and the call session controller 200 is located in the second private network 5. In the case of sending a registration request message, the signal flow will be illustrated.

제1단말(10)은 NAT(50)를 통해 메시지 변환 서버(100)에 등록요청 메시지(REGISTER)를 전송한다(P100). 제1단말(10)의 사설 IP는 10.10.0.5이고, NAT(50)에 할당된 공인 IP는 222.106.2.9이다. 제1단말(10)이 메시지 변환 서버(100)로 전송하는 등록요청 메시지(REGISTER)는 다음과 같다.The first terminal 10 transmits a registration request message (REGISTER) to the message conversion server 100 through the NAT (50) (P100). The private IP of the first terminal 10 is 10.10.0.5 and the public IP assigned to the NAT 50 is 222.106.2.9. The registration request message (REGISTER) transmitted by the first terminal 10 to the message conversion server 100 is as follows.

<등록요청 메시지(REGISTER)>(제1단말->메시지 변환 서버)<Registration Request Message (REGISTER)> (Terminal 1-> Message Conversion Server)

REGISTER sip:sktims.net SIP/2.0 REGISTER sip: sktims.net SIP / 2.0

Via: SIP/2.0/UDP 10.10.0.5:5080; received = 222.106.2.9;rport=4820;Via: SIP / 2.0 / UDP 10.10.0.5:5080; received = 222.106.2.9; rport = 4820;

branch=z9hG4bK25dcafbf25dcbranch = z9hG4bK25dcafbf25dc

From: <sip:07010002006@sktims.net>;tag=1bf7From: <sip: 07010002006@sktims.net>; tag = 1bf7

To: <sip:07010002006@sktims.net>To: <sip: 07010002006@sktims.net>

Contact: <sip:UA@10.10.0.5:5080>audio;video.. Contact: <sip: UA@10.10.0.5: 5080> audio; video ..

메시지 변환 서버(100)는 상기의 등록요청 메시지의 수신자(To) 헤더에서 공인 ID "sip:07010002006@sktims.net"를 추출할 수 있다. 또한, 콘택트(Contact) 헤더에서 콘택트 표준형식(Contact Canonical form) "sip:UA@10.10.0.5:5080"을 추출할 수 있다. 메시지 변환 서버(100)는 공인 ID와 콘택트 헤더의 값을 MD5 해시 함수에 대입하여 128비트 길이의 고유키 "22f82fa3ee84d01a7edb94eb9797b618"를 얻을 수 있다. 메시지 변환 서버(100)는 등록요청 메시지에 포함된 공인 ID, 콘택트 헤더의 콘택트 표준형, 고유키, 수신 IP, 수신 포트 등의 정보를 데이터베이스(160)에 저장하고, 콘택트 헤더를 메시지 변환 서버(100)의 바인딩 정보로 변환한다. 이에, 원본 메시지의 콘택트 헤더 "sip: UA@10.10.0.5:5080"에서 사용자 영역인 UA는 고유키로 변환되고, 제1단말(10)의 IP는 메시지 변환 서버(100)의 IP로 변환된다. 이에, 변환된 메시지의 콘택트 헤더는 "sip: 22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1:5060"로 변환될 수 있다.The message conversion server 100 may extract the public ID "sip: 07010002006@sktims.net" from the To header of the registration request message. In addition, a contact canonical form "sip: UA@10.10.0.5: 5080" may be extracted from a contact header. The message conversion server 100 may obtain the unique key “22f82fa3ee84d01a7edb94eb9797b618” having a 128-bit length by substituting the value of the public ID and the contact header into the MD5 hash function. The message conversion server 100 stores information such as a public ID included in the registration request message, a contact standard type of a contact header, a unique key, a reception IP, a reception port, and the like in the database 160, and stores the contact header in the message conversion server 100. ) Into binding information. Accordingly, in the contact header "sip: UA@10.10.0.5: 5080" of the original message, the UA which is a user area is converted into a unique key, and the IP of the first terminal 10 is converted into an IP of the message conversion server 100. Accordingly, the contact header of the converted message may be converted to "sip: 22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1: 5060".

메시지 변환 서버(100)는 변환된 등록요청 메시지를 호 세션 제어부(200)로 전송한다(P120). 호 세션 제어부(200)는 사설 IP를 가지며, IP는 192.168.2.2로 설정될 수 있다. 메시지 변환 서버(100)가 호 세션 제어부(200)로 전송하는 등록요청 메시지(REGISTER)는 다음과 같다.The message conversion server 100 transmits the converted registration request message to the call session controller 200 (P120). The call session controller 200 has a private IP, and the IP may be set to 192.168.2.2. The registration request message (REGISTER) transmitted by the message conversion server 100 to the call session controller 200 is as follows.

<변환된 등록요청 메시지(REGISTER)>(메시지 변환 서버->호 세션 제어부)<Converted Registration Request Message (REGISTER)> (Message Conversion Server-> Call Session Control Unit)

REGISTER sip:sktims.net SIP/2.0REGISTER sip: sktims.net SIP / 2.0

Via:SIP/2.0/UDP192.168.2.1:5060;branch=z9hG4bKd5f2dd06df0baba_114b6Via: SIP / 2.0 / UDP192.168.2.1: 5060; branch = z9hG4bKd5f2dd06df0baba_114b6

From: <sip:07010002006@sktims.net>;tag=1bf7From: <sip: 07010002006@sktims.net>; tag = 1bf7

To: <sip:07010002006@sktims.net>To: <sip: 07010002006@sktims.net>

Contact:<sip:22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1:5060>;audio;videoContact: < sip: 22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1: 5060 >;audio; video

상기한 바와 같이, 호 세션 제어부(200)에 수신된 등록요청 메시지의 콘택트 헤더는 메시지 변환 서버(100)의 바인딩 정보를 포함하는 "고유키@메시지 변환 서버 IP;포트"의 형태로 설정될 수 있다. 이에, 호 세션 제어부(200)는 단말(10)의 고유키 별로 바인딩 정보를 저장한다.As described above, the contact header of the registration request message received by the call session controller 200 may be set in the form of "Unique Key @ Message Translation Server IP; Port" including binding information of the message translation server 100. have. Accordingly, the call session controller 200 stores binding information for each unique key of the terminal 10.

저장이 완료되면, 호 세션 제어부(200)는 메시지 변환 서버(100) 측에 등록 성공 메시지 "200 OK"를 전송한다(P130). 메시지 변환 서버(100)에 수신된 "200 OK" 메시지는 다음과 같다.When the storage is completed, the call session controller 200 transmits a registration success message "200 OK" to the message conversion server 100 (P130). The "200 OK" message received by the message conversion server 100 is as follows.

<200 OK>(호 세션 제어부->메시지 변환 서버)<200 OK> (call session control-> message conversion server)

SIP/2.0 200 OKSIP / 2.0 200 OK

Via:SIP/2.0/UDP 92.168.2.1:5060;branch=z9hG4bKd5f2dd06df0baba_114b6Via: SIP / 2.0 / UDP 92.168.2.1:5060;branch=z9hG4bKd5f2dd06df0baba_114b6

From: <sip:07010002006@sktims.net>;tag=1bf7From: <sip: 07010002006@sktims.net>; tag = 1bf7

To: <sip:07010002006@sktims.net>;tag=2e04074fa6b0eTo: <sip: 07010002006@sktims.net>; tag = 2e04074fa6b0e

Contact:<sip:22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1:5060>; audio;video ;expires=3600Contact: < sip: 22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1: 5060 >;audio;video; expires = 3600

상기한 바와 같이, 호 세션 제어부(200)에서 전송하는 "200 OK" 메시지는, 제1단말(10)을 고유키로 구분한 콘택트 헤더를 포함한다. 이에, 콘택트 헤더는 "고유키@메시지 변환 서버 IP;포트"의 형태로 설정된다.As described above, the "200 OK" message transmitted from the call session controller 200 includes a contact header that distinguishes the first terminal 10 by a unique key. Thus, the contact header is set in the form of " unikey @ message conversion server IP; port ".

"200 OK" 메시지를 수신한 메시지 변환 서버(100)는 제1단말(10)에 "200 OK" 메시지를 전송한다(P140). 제1단말(10)에 수신된 "200 OK" 메시지는 다음과 같다.The message conversion server 100 receiving the "200 OK" message transmits a "200 OK" message to the first terminal 10 (P140). The "200 OK" message received by the first terminal 10 is as follows.

<200 OK>(메시지 변환 서버->제1단말)<200 OK> (message conversion server-> first terminal)

SIP/2.0 200 OKSIP / 2.0 200 OK

Via: SIP/2.0/UDP 10.10.0.5:5080; received = 222.106.2.9;rport=4820;Via: SIP / 2.0 / UDP 10.10.0.5:5080; received = 222.106.2.9; rport = 4820;

branch=z9hG4bK25dcafbf25dcbranch = z9hG4bK25dcafbf25dc

From: <sip:07010002006@sktims.net>;tag=1bf7From: <sip: 07010002006@sktims.net>; tag = 1bf7

To: <sip:07010002006@sktims.net>;tag=2e04074fa6b0eTo: <sip: 07010002006@sktims.net>; tag = 2e04074fa6b0e

Contact: <sip:UA@10.10.0.5:5080>;audio;video;expires=3600Contact: < sip: UA@10.10.0.5: 5080 >;audio;video; expires = 3600

상기한 바와 같이, 메시지 변환 서버(100)에서 전송하는 "200 OK" 메시지는 제1단말(10)에서 전송하였던 것과 동일한 형식의 콘택트 헤더를 포함한다. 이에, "200 OK" 메시지는 제1단말(10)을 UA로 구분하는 콘택트 헤더(UA@10.10.0.5:5080)를 포함한다. As described above, the "200 OK" message transmitted from the message conversion server 100 includes a contact header having the same format as that transmitted from the first terminal 10. Accordingly, the "200 OK" message includes a contact header (UA@10.10.0.5: 5080) that divides the first terminal 10 into UA.

도 8은 본 발명의 다른 실시예에 따른 SIP 서비스 시스템의 신호 흐름도로서, 사설망(1)에 위치한 제1단말(10)이 공중망(3)에 위치한 제2단말(20)로 호를 시도하는 과정을 예시한 것이다.8 is a signal flow diagram of a SIP service system according to another embodiment of the present invention, in which a first terminal 10 located in a private network 1 attempts to make a call to a second terminal 20 located in a public network 3. It is an example.

제1단말(10)은 제2단말(20) 측에 호를 시도하기 위해, NAT(50)를 통해 메시지 변환 서버(100)에 통화요청 메시지(INVITE)를 전송한다(P200). 메시지 변환 서버(100)로 전송된 제1단말(10)의 통화요청 메시지는 다음과 같다.The first terminal 10 transmits a call request message (INVITE) to the message conversion server 100 through the NAT (50) to attempt a call to the second terminal 20 side (P200). The call request message of the first terminal 10 transmitted to the message conversion server 100 is as follows.

<통화요청 메시지(INVITE)>(제1단말->메시지 변환 서버)<Call Request Message (INVITE)> (Terminal 1-> Message Conversion Server)

INVITE sip:07010002006@sktims.net SIP/2.0INVITE sip: 07010002006@sktims.net SIP / 2.0

Call-ID: b2486c323576@211.234.210.3Call-ID: b2486c323576@211.234.210.3

From: <sip:07010002005@sktims.net>;tag=0a34From: <sip: 07010002005@sktims.net>; tag = 0a34

To: <sip:07010002006@skb.com>To: <sip: 07010002006@skb.com>

Contact:<sip:UA1@10.10.0.5:5080>audio;videoContact: <sip: UA1@10.10.0.5: 5080> audio; video

통화요청 메시지를 수신한 메시지 변환 서버(100)는 통화요청 메시지의 콘택트 헤더를 등록요청 메시지 처리 시 저장하였던 고유키 (84e42559392a6ea6c666946144500e66)를 이용하여 변환한다. 메시지 변환 서버(100)는 통화요청 메시지의 콘택트 헤더의 사용자 영역을 고유키로 변경하고 호스트 IP를 메시지 변환 서버(100)의 IP(192.168.2.1)로 변경한다. 또한, 메시지 변환 서버(100)는 각 단말(10, 20) 간의 호를 B2BAU 방식으로 제어할 수 있도록 통화요청 메시지의 호-ID(Call-ID)와 발신 태그(From tag)를 변환한다. The message conversion server 100 receiving the call request message converts the contact header of the call request message using the unique key (84e42559392a6ea6c666946144500e66) stored when the registration request message is processed. The message conversion server 100 changes the user area of the contact header of the call request message to a unique key and changes the host IP to an IP (192.168.2.1) of the message conversion server 100. In addition, the message conversion server 100 converts the call-ID (Call-ID) and the originating tag (From tag) of the call request message to control the call between each terminal (10, 20) in a B2BAU method.

메시지 변환 서버(100)는 변환된 통화요청 메시지를 호 세션 제어부(200)로 전송한다(P210). 메시지 변환 서버(100)가 전송하는 통화요청 메시지(INVITE)는 다음과 같다.The message conversion server 100 transmits the converted call request message to the call session controller 200 (P210). The call request message INVITE transmitted by the message conversion server 100 is as follows.

<변환된 통화요청 메시지(INVITE)>(메시지 변환 서버->호 세션 제어부)<Converted Call Request Message (INVITE)> (Message Conversion Server-> Call Session Control Unit)

INVITE sip:07010002006@sktims.net SIP/2.0INVITE sip: 07010002006@sktims.net SIP / 2.0

Call-ID: 1257394370-1554755174@211.115.7.252 Call-ID: 1257394370-1554755174@211.115.7.252

From: <sip:07010002005@sktims.net>;tag= 190f01c4b91af From: <sip: 07010002005@sktims.net>; tag = 190f01c4b91af

To: <sip:07010002006@skb.com>To: <sip: 07010002006@skb.com>

Contact:<sip:84e42559392a6ea6c666946144500e66@192.168.2.1:5060>; audio;videoContact: < sip: 84e42559392a6ea6c666946144500e66@192.168.2.1 : 5060>;audio; video

상기한 바와 같이, 메시지 변환 서버(100)가 전송하는 통화요청 메시지는 콘택트 헤더, 호-ID, 발신 태그가 변환된 상태로 호 세션 제어부(200)로 전송된다.As described above, the call request message transmitted by the message conversion server 100 is transmitted to the call session controller 200 in a state in which the contact header, the call-ID, and the outgoing tag are converted.

통화요청 메시지를 수신한 호 세션 제어부(200)는, 착신 단말인 제2단말(20)의 정보를 검색하여 메시지 변환 서버(100)에 착신 통화요청 메시지를 전송한다(P220). 호 세션 제어부(200)가 제2단말(20)에 통화요청 메시지를 전달하기 위해 메시지 변환 서버(100) 측으로 전송하는 착신 통화요청 메시지는 다음과 같다.The call session controller 200 receiving the call request message retrieves the information of the second terminal 20, which is the called terminal, and transmits the incoming call request message to the message conversion server 100 (P220). The incoming call request message transmitted by the call session controller 200 to the message conversion server 100 in order to deliver the call request message to the second terminal 20 is as follows.

<착신 통화요청 메시지(INVITE)>(호 세션 제어부->메시지 변환 서버)<Incoming call request message (INVITE)> (call session control-> message conversion server)

INVITE sip: 22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1:5060 SIP/2.0INVITE sip: 22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1: 5060 SIP / 2.0

Call-ID: 1257394370-1554755174@211.115.7.252Call-ID: 1257394370-1554755174@211.115.7.252

From: <sip:07010002005@sktims.net>;tag= 190f01c4b91afFrom: <sip: 07010002005@sktims.net>; tag = 190f01c4b91af

To: <sip:07010002006@skb.com>To: <sip: 07010002006@skb.com>

Contact:<sip:84e42559392a6ea6c666946144500e66@192.168.2.1:5060>;audio;video...Contact: <sip: 84e42559392a6ea6c666946144500e66@192.168.2.1: 5060 >;audio; video ...

상기한 바와 같이, 호 세션 제어부(200)가 메시지 변환 서버(100) 측으로 전송하는 착신 통화요청 메시지에서 요청-URI(Request-URI)는 제2단말(20)의 고유키 "22f82fa3ee84d01a7edb94eb9797b618"를 포함하고 콘택트 헤더는 제1단말(1)의 고유키 "84e42559392a6ea6c666946144500e66"를 포함한다. 이에, 메시지 변환 서버(100)는 데이터베이스(160)로부터 제2단말(20)의 고유키에 대응되는 바인딩 정보를 검색하여 요청-URI(Request-URI)를 콘택트 표준형식으로 변환한다. 또한, B2BAU 방식으로 호를 제어해야 하므로, 통화요청 메시지의 호-ID(Call-ID)와 발신 태그(From tag)를 변환한다. As described above, the request-URI (Request-URI) in the incoming call request message transmitted from the call session controller 200 to the message conversion server 100 includes the unique key "22f82fa3ee84d01a7edb94eb9797b618" of the second terminal 20. The contact header includes the unique key "84e42559392a6ea6c666946144500e66" of the first terminal 1. Accordingly, the message conversion server 100 retrieves the binding information corresponding to the unique key of the second terminal 20 from the database 160 and converts the Request-URI into a contact standard format. In addition, since the call must be controlled by the B2BAU method, the call-ID and the call-out tag of the call request message are converted.

메시지 변환 서버(100)는 변환된 착신 통화요청 메시지를 제2단말로 전송한다(P230). 메시지 변환 서버(100)가 제2단말로 전송하는 통화요청 메시지(INVITE)는 다음과 같다.The message conversion server 100 transmits the converted incoming call request message to the second terminal (P230). The call request message INVITE transmitted by the message conversion server 100 to the second terminal is as follows.

<제2단말로 전송된 통화요청 메시지(INVITE)>(메시지 변환 서버->제2단말)<Call Request Message Sent to Second Terminal (INVITE)> (Message Conversion Server-> Second Terminal)

INVITE sip:UA2@10.10.0.7:5080 SIP/2.0INVITE sip: UA2@10.10.0.7: 5080 SIP / 2.0

Call-ID: 1257394370-570562142@211.115.7.252Call-ID: 1257394370-570562142@211.115.7.252

From: <sip:07010002005@sktims.net>;tag= 7e1af183ca25aFrom: <sip: 07010002005@sktims.net>; tag = 7e1af183ca25a

To: <sip:07010002006@skb.com>To: <sip: 07010002006@skb.com>

Contact:<sip: sbc@222.106.2.1:5060>;audio;videoContact: <sip: sbc@222.106.2.1: 5060 >;audio; video

상기한 바와 같이, 제2단말(20)로 전송된 통화요청 메시지는 요청-URI(Request-URI)가 콘택트 표준형식(UA2@10.10.0.7:5080)으로 설정되고, 콘택트 헤더는 메시지 변환 서버(100)의 콘택트 표준형식(sbc@222.106.2.1:5060)으로 설정된다.As described above, the call request message sent to the second terminal 20 has a Request-URI set to a contact standard format (UA2@10.10.0.7: 5080), and the contact header is a message conversion server ( 100 is set to the contact standard format (sbc@222.106.2.1: 5060).

메시지 변환 서버(100)로부터 통화요청 메시지를 수신한 제2단말(20)은 메시지 변환 서버(100)로 호출 신호(180 Ring)를 전송하고(P240), 메시지 변환 서버(100)는 호 세션 제어부(200)로 호출 신호(180 Ring)를 전송한다(P250). 제2단말(20)의 호출 신호를 수신한 호 세션 제어부(200)는 메시지 변환 서버(100)에 호출 신호(180 Ring)를 전송하고(P260), 메시지 변환 서버(100)는 제1단말(10)로 호출 신호(180 Ring)를 전송한다(P270). The second terminal 20 receiving the call request message from the message conversion server 100 transmits a call signal 180 ring to the message conversion server 100 (P240), and the message conversion server 100 controls the call session controller. The call signal (180 Ring) is transmitted to the step 200 (P250). The call session controller 200 receiving the call signal of the second terminal 20 transmits the call signal 180 ring to the message conversion server 100 (P260), and the message conversion server 100 transmits the first terminal ( 10) transmits a call signal (180 Ring) (P270).

제2단말(20)은 메시지 변환 서버(100)에 호 설정 요청을 수락하는 "200 OK" 메시지를 전송한다(P280). 메시지 변환 서버(100)에 수신된 제2단말(20)의 "200 OK" 메시지는 다음과 같다.The second terminal 20 transmits a "200 OK" message to the message conversion server 100 to accept the call setup request (P280). The "200 OK" message of the second terminal 20 received by the message conversion server 100 is as follows.

<200 OK>(제2단말->메시지 변환 서버)<200 OK> (second terminal-> message conversion server)

SIP/2.0 200 OKSIP / 2.0 200 OK

Call-ID: 1257394370-570562142@211.115.7.252Call-ID: 1257394370-570562142@211.115.7.252

From: <sip:07010002005@sktims.net>;tag= 7e1af183ca25aFrom: <sip: 07010002005@sktims.net>; tag = 7e1af183ca25a

To: <sip:07010002006@skb.com>;tag=5017To: <sip: 07010002006@skb.com>; tag = 5017

Contact:<sip: UA2@10.10.0.7:5080>Contact: <sip: UA2@10.10.0.7: 5080 >

상기한 바와 같이, 제2단말(20)은 콘택트 헤더에 콘택트 표준형식(UA2@10.10.0.7:5080)의 바인딩 정보를 설정하여 메시지 변환 서버(100)로 전송한다. As described above, the second terminal 20 sets the binding information of the contact standard format UA2@10.10.0.7: 5080 in the contact header and transmits the binding information to the message conversion server 100.

메시지 변환 서버(100)는 제2단말(20)의 "200 OK" 메시지를 수신하여 호 세션 제어부(200) 측에 "200 OK" 메시지를 전송한다(P290). 메시지 변환 서버(100)가 전송하는 "200 OK" 메시지는 다음과 같다.The message conversion server 100 receives the "200 OK" message of the second terminal 20 and transmits a "200 OK" message to the call session controller 200 (P290). The message "200 OK" transmitted by the message conversion server 100 is as follows.

<200 OK>(메시지 변환 서버->호 세션 제어부)<200 OK> (Message Conversion Server-> Call Session Control Unit)

SIP/2.0 200 OKSIP / 2.0 200 OK

Call-ID: 1257394370-1554755174@211.115.7.252Call-ID: 1257394370-1554755174@211.115.7.252

From: <sip:07010002005@sktims.net>;tag=190f01c4b91afFrom: <sip: 07010002005@sktims.net>; tag = 190f01c4b91af

To: <sip:07010002006@skb.com>;tag=5017To: <sip: 07010002006@skb.com>; tag = 5017

Contact:<22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1:5060>Contact: < 22f82fa3ee84d01a7edb94eb9797b618@192.168.2.1: 5060 >

상기한 바와 같이, 메시지 변환 서버(100)는 콘택트 헤더의 사용자 영역을 제2단말(20)의 고유키(22f82fa3ee84d01a7edb94eb9797b618)로 설정하여 전송한다. As described above, the message conversion server 100 sets and transmits the user area of the contact header to the unique key 22f82fa3ee84d01a7edb94eb9797b618 of the second terminal 20.

호 세션 제어부(200)는 메시지 변환 서버(100)로부터 "200 OK" 메시지를 수신한 후, 동일한 내용의 "200 OK" 메시지를 메시지 변환 서버(100)로 회신한다(P300). After receiving the "200 OK" message from the message conversion server 100, the call session controller 200 returns a "200 OK" message having the same content to the message conversion server 100 (P300).

메시지 변환 서버(100)는 호 세션 제어부(200)가 전송하는 "200 OK" 메시지를 수신한 후, 제1단말 측에 "200 OK" 메시지를 전송한다(P310). 제1단말로 전송되는 "200 OK" 메시지는 다음과 같다.After receiving the "200 OK" message transmitted from the call session controller 200, the message conversion server 100 transmits a "200 OK" message to the first terminal (P310). A "200 OK" message transmitted to the first terminal is as follows.

<200 OK>(메시지 변환 서버->제1단말)<200 OK> (message conversion server-> first terminal)

SIP/2.0 200 OKSIP / 2.0 200 OK

Call-ID: 1257394370-1554755174@211.115.7.252Call-ID: 1257394370-1554755174@211.115.7.252

From: <sip:07010002005@sktims.net>;tag=190f01c4b91afFrom: <sip: 07010002005@sktims.net>; tag = 190f01c4b91af

To: <sip:07010002006@skb.com>;tag=5017To: <sip: 07010002006@skb.com>; tag = 5017

Contact:<sbc@222.106.2.1:5060>Contact: < sbc@222.106.2.1: 5060 >

상기한 바와 같이, 제1단말로 전송되는 "200 OK" 메시지의 콘택트 헤더는 메시지 변환 서버(100)의 콘택트 표준형식(sbc@222.106.2.1: 5060)으로 설정된다. As described above, the contact header of the "200 OK" message transmitted to the first terminal is set in the contact standard format (sbc@222.106.2.1: 5060) of the message conversion server 100.

이상의 과정을 통해 제1단말과 제2단말간에는 메시지 변환 서버(100) 및 호 세션 제어부(200)를 통해 세션이 수립되어 B2BAU 방식으로 메시지가 송수신된다(P320). ACK 메시지는 세션 수립 후 서브시퀀스(Subsequence)로 전송되는 메시지로서, 세션 정보에 따라 B2BAU 방식으로 전송된다.Through the above process, a session is established between the first terminal and the second terminal through the message conversion server 100 and the call session controller 200, and the message is transmitted and received in a B2BAU method (P320). The ACK message is a message transmitted in a subsequence after session establishment and is transmitted in a B2BAU method according to session information.

이상 설명한 바와 같이, 본 발명에 따른 SIP 서비스 시스템은 메시지 변환 서버(100)에서 각 단말(10, 20)이 전송한 등록요청 메시지를 수신하여 고유키를 생성하고, 등록요청 메시지의 콘택트 헤더를 고유키 및 메시지 변환 서버(100)의 바인딩 정보로 변환하여 호 세션 제어부(200)에 등록한다. 메시지 변환 서버(100)에는 단말(10, 20)의 고유키 및 등록요청 메시지의 내용이 저장된다. 호 세션 제어부(200)는 각 단말(10, 20)을 고유키로 구분하고, 호 세션 제어부(200)에서 단말(10, 20)로 제공하는 모든 메시지는 메시지 변환 서버(100)로 수신된다. 이에, 메시지 변환 서버(100)는 호 세션 제어부(200)에서 전송한 고유키와 기 저장된 등록요청 메시지의 정보에 기초하여 각 단말(10, 20)에 SIP 메시지를 전달한다. 따라서, 사설망(1, 5), 공중망(3) 등, 단말(10, 20)의 네트워크 환경에 관계없이 메시지 변환 서버(100)가 SIP 메시지의 송수신을 중계할 수 있다. As described above, the SIP service system according to the present invention receives the registration request message transmitted from each terminal 10, 20 in the message conversion server 100 to generate a unique key, and uniquely the contact header of the registration request message It is converted into binding information of the key and message conversion server 100 and registered in the call session controller 200. The message conversion server 100 stores the unique keys of the terminals 10 and 20 and the contents of the registration request message. The call session controller 200 distinguishes each terminal 10 and 20 by a unique key, and all messages provided by the call session controller 200 to the terminals 10 and 20 are received by the message conversion server 100. Accordingly, the message conversion server 100 delivers the SIP message to each terminal 10, 20 based on the unique key transmitted from the call session controller 200 and the information of the pre-stored registration request message. Therefore, the message conversion server 100 may relay transmission and reception of SIP messages regardless of the network environment of the terminals 10 and 20, such as the private networks 1 and 5, the public network 3, and the like.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

본 발명에 따른 SIP 서비스 시스템 및 그 제어방법은, IMS(IP Multimedia Subsystem) 네트워크에서 단말이 속하는 공중망(Public Network)과 사설망(Private Network)의 환경에 관계없이 SIP(Session Initiation Protocol)를 이용하여 단말을 등록하고 단말 간 호를 설정하는 데에 이용할 수 있다.The SIP service system and its control method according to the present invention are terminals using a SIP (Session Initiation Protocol) regardless of the environment of a public network and a private network to which a terminal belongs in an IP multimedia subsystem (IMS) network. It can be used to register and establish call between terminals.

1 : 제1사설망 3 : 공중망
2 : 제2사설망 10 : 제1단말
20 : 제2단말 50 : NAT(Network Address Translation)
100 : 메시지 변환 서버 110 : 제어부
120 : 송수신 인터페이스 130 : 메시지 분석부
140 : 고유키 생성부 150 : 메시지 변환부
160 : 데이터베이스 165 : 바인딩 정보 테이블
200 : 호 세션 제어부
1: First private network 3: Public network
2: second private network 10: first terminal
20: second terminal 50: NAT (Network Address Translation)
100: message conversion server 110: control unit
120: transmission and reception interface 130: message analysis unit
140: unique key generation unit 150: message conversion unit
160: database 165: binding information table
200: call session control unit

Claims (22)

착신 주소를 포함하는 단말 바인딩 정보가 설정된 등록요청 메시지를 송신하는 단말;
상기 등록요청 메시지를 수신하여 상기 단말의 고유키를 생성하고, 상기 단말 바인딩 정보를 상기 고유키와 자신의 바인딩 정보인 서버 바인딩 정보로 변경하여 변경된 등록요청 메시지를 송신하며, 상기 고유키를 포함하는 SIP 메시지가 수신된 경우 상기 고유키에 대응되는 상기 단말 바인딩 정보를 이용하여 상기 SIP 메시지를 상기 단말의 착신 주소로 전송하는 메시지 변환 서버;및
상기 메시지 변환 서버로부터 상기 변경된 등록요청 메시지를 수신하여 상기 고유키와 상기 서버 바인딩 정보를 등록하고, 상기 고유키에 기초하여 생성된 SIP 메시지를 상기 서버 바인딩 정보에 따라 상기 메시지 변환 서버로 전송하는 호 세션 제어부를 포함하는 SIP 서비스 시스템.
A terminal for transmitting a registration request message in which terminal binding information including a called address is set;
Receiving the registration request message, generating a unique key of the terminal, transmitting the changed registration request message by changing the terminal binding information to the server binding information which is the unique key and its binding information, and including the unique key; A message conversion server for transmitting the SIP message to a destination address of the terminal by using the terminal binding information corresponding to the unique key when a SIP message is received; and
A session for receiving the changed registration request message from the message conversion server, registering the unique key and the server binding information, and transmitting a SIP message generated based on the unique key to the message conversion server according to the server binding information. SIP service system including a control unit.
SIP 메시지를 송수신하는 송수신 인터페이스;
상기 SIP 메시지에 포함된 정보에 기초하여 고유키를 생성하는 고유키 생성부; 및
상기 송수신 인터페이스를 통해 소정 단말의 등록요청 메시지가 수신된 경우, 상기 고유키 생성부를 제어하여 상기 단말의 고유키를 생성하고, 상기 등록요청 메시지에 포함된 상기 단말의 바인딩 정보를 상기 고유키 및 자신의 바인딩 정보인 서버 바인딩 정보로 변경하여 상기 송수신 인터페이스를 통해 변경된 등록요청 메시지를 전송하는 제어부를 포함하는 메시지 변환 서버.
A transmission and reception interface for transmitting and receiving SIP messages;
Unique key generation unit for generating a unique key based on the information contained in the SIP message; And
When a registration request message of a predetermined terminal is received through the transmission / reception interface, the unique key generation unit is controlled to generate a unique key of the terminal, and the binding information of the terminal included in the registration request message is stored in the unique key and itself. And a control unit which transmits the changed registration request message through the transmission / reception interface by changing to server binding information which is binding information of.
제2항에 있어서,
상기 등록요청 메시지는 상기 단말 바인딩 정보 혹은, 상기 고유키와 상기 서버 바인딩 정보가 설정되는 콘택트 헤더를 포함하고,
상기 제어부는 상기 등록요청 메시지의 상기 콘택트 헤더에 저장된 상기 단말 바인딩 정보를 상기 고유키와 상기 서버 바인딩 정보로 변경하여 상기 등록요청 메시지를 변경하는 것을 특징으로 하는 메시지 변환 서버.
The method of claim 2,
The registration request message includes the terminal binding information or a contact header in which the unique key and the server binding information are set.
And the control unit changes the registration request message by changing the terminal binding information stored in the contact header of the registration request message to the unique key and the server binding information.
제2항에 있어서,
상기 고유키 생성부는,
상기 등록요청 메시지에 포함된 단말의 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)을 MD5(Message-Digest algorithm 5) 해시(hash) 함수에 대입하여 상기 고유키를 생성하는 것을 특징으로 하는 메시지 변환 서버.
The method of claim 2,
The unique key generation unit,
Characterized by generating a unique key by substituting the public ID and the contact canonical form of the terminal included in the registration request message to the Message-Digest algorithm 5 (MD5) hash function (MD) Message Conversion Server.
제2항에 있어서,
상기 단말의 고유키와, 상기 등록요청 메시지에 포함된 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)과, 수신 IP와, 수신 포트 정보가 저장되는 데이터베이스를 더 포함하는 것을 특징으로 하는 메시지 변환 서버.
The method of claim 2,
The terminal further comprises a unique key, a public ID included in the registration request message, a contact canonical form, a receiving IP, and a database storing receiving port information. Transformation server.
제5항에 있어서,
상기 제어부는,
상기 송수신 인터페이스를 통해 소정 단말의 재등록요청 메시지가 수신된 경우, 상기 재등록요청 메시지에 포함된 정보에 기초하여 상기 데이터베이스로부터 상기 단말의 고유키를 검색하고, 상기 재등록요청 메시지에 포함된 상기 단말의 바인딩 정보를 상기 검색된 고유키 및 상기 서버 바인딩 정보로 변경하여 상기 송수신 인터페이스를 통해 변경된 등록요청 메시지를 전송하는 것을 특징으로 하는 메시지 변환 서버.
The method of claim 5,
The control unit,
When a re-registration request message of a predetermined terminal is received through the transmission / reception interface, the unique key of the terminal is retrieved from the database based on information included in the re-registration request message, and the re-registration request message is included. And converting the binding information of the terminal into the searched unique key and the server binding information and transmitting the changed registration request message through the transmission / reception interface.
제5항에 있어서,
상기 제어부는,
상기 송수신 인터페이스를 통해 소정 단말의 통화요청 메시지가 수신된 경우, 상기 통화요청 메시지에 포함된 고유키에 기초하여 상기 데이터베이스로부터 상기 고유키에 대응되는 단말의 정보를 검색하고, 상기 검색된 정보에 따라 상기 통화요청 메시지를 변경하여 상기 단말의 수신 IP와, 수신 포트로 상기 변경된 통화요청 메시지를 전송하는 것을 특징으로 하는 메시지 변환 서버.
The method of claim 5,
The control unit,
When a call request message of a predetermined terminal is received through the transmission / reception interface, the terminal searches for information on the terminal corresponding to the unique key from the database based on the unique key included in the call request message, and the call request is performed according to the retrieved information. The message conversion server, characterized in that for changing the message to send the changed call request message to the receiving IP and the receiving port of the terminal.
단말에서 착신 주소를 포함하는 단말 바인딩 정보가 설정된 등록요청 메시지를 송신하는 단계;
메시지 변환 서버에서 상기 등록요청 메시지를 수신하여 상기 단말의 고유키를 생성하고, 상기 등록요청 메시지의 정보와 상기 단말의 고유키를 저장하는 단계;
상기 메시지 변환 서버에서 상기 등록요청 메시지의 상기 단말 바인딩 정보를 상기 고유키와 자신의 바인딩 정보인 서버 바인딩 정보로 변경하고, 변경된 상기 등록요청 메시지를 전송하여 상기 단말의 등록을 요청하는 단계;
호 세션 제어부에서 상기 변경된 등록요청 메시지를 수신하여 상기 고유키와 상기 서버 바인딩 정보를 등록하고, 상기 고유키에 기초하여 생성된 SIP 메시지를 상기 서버 바인딩 정보에 따라 상기 메시지 변환 서버로 전송하는 단계;
상기 메시지 변환 서버에서 상기 SIP 메시지를 수신하여, 상기 고유키에 대응되는 단말의 상기 등록요청 메시지의 정보에 따라 상기 SIP 메시지를 변환하는 단계; 및
상기 변환된 SIP 메시지를 상기 단말 바인딩 정보에 포함된 상기 착신 주소로 전송하는 단계를 포함하는 SIP 서비스 방법.
Transmitting, by the terminal, a registration request message in which terminal binding information including a called address is set;
Receiving the registration request message at a message conversion server to generate a unique key of the terminal, and storing information of the registration request message and a unique key of the terminal;
Changing, by the message conversion server, the terminal binding information of the registration request message to the server binding information which is the unique key and its own binding information, and transmitting the changed registration request message to request registration of the terminal;
Receiving the changed registration request message at a call session controller, registering the unique key and the server binding information, and transmitting a SIP message generated based on the unique key to the message conversion server according to the server binding information;
Receiving the SIP message at the message conversion server and converting the SIP message according to the information of the registration request message of the terminal corresponding to the unique key; And
And transmitting the converted SIP message to the destination address included in the terminal binding information.
제8항에 있어서,
상기 메시지 변환 서버에서 상기 단말의 고유키를 생성하는 단계는,
상기 등록요청 메시지에 포함된 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)을 MD5(Message-Digest algorithm 5) 해시(hash) 함수에 대입하여 상기 고유키를 생성하는 단계를 포함하는 것을 특징으로 하는 SIP 서비스 방법.
The method of claim 8,
Generating the unique key of the terminal in the message conversion server,
And generating the unique key by substituting a public ID and a contact canonical form included in the registration request message into a message-digest algorithm 5 (MD5) hash function. SIP service method.
제8항에 있어서,
상기 메시지 변환 서버에서 상기 등록요청 메시지의 상기 단말 바인딩 정보를 상기 고유키와 자신의 착신 주소를 포함하는 서버 바인딩 정보로 변경하는 단계는,
상기 등록요청 메시지의 콘택트 헤더에 저장된 상기 단말 바인딩 정보를 상기 고유키와 상기 서버 바인딩 정보로 변경하는 단계를 포함하는 것을 특징으로 하는 SIP 서비스 방법.
The method of claim 8,
In the message conversion server, changing the terminal binding information of the registration request message to server binding information including the unique key and its destination address,
Changing the terminal binding information stored in the contact header of the registration request message to the unique key and the server binding information.
제8항에 있어서,
NAT(Network Address Translation)에서, 상기 단말의 착신 주소로서 사설 IP주소를 부여하고 상기 단말이 송신한 상기 등록요청 메시지에 공인 IP주소를 부여하여 상기 메시지 변환 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 SIP 서비스 방법.
The method of claim 8,
In NAT (Network Address Translation), further comprising assigning a private IP address as a destination address of the terminal and assigning a public IP address to the registration request message sent by the terminal to transmit to the message translation server. SIP service method.
제8항에 있어서,
상기 변환된 SIP 메시지를 상기 단말 바인딩 정보에 포함된 상기 착신 주소로 전송하는 단계는,
사설 IP로 설정된 상기 단말의 착신주소로 상기 변환된 SIP 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는SIP 서비스 방법
The method of claim 8,
The transmitting of the converted SIP message to the destination address included in the terminal binding information may include:
And transmitting the converted SIP message to a destination address of the terminal set as a private IP.
단말의 착신 주소를 포함하는 단말 바인딩 정보가 설정된 등록요청 메시지를 수신하는 단계;
상기 등록요청 메시지에 포함된 정보에 기초하여 고유키를 생성하는 단계;
상기 등록요청 메시지의 정보와 상기 고유키를 저장하는 단계;
상기 등록요청 메시지에 포함된 상기 단말 바인딩 정보를, 상기 고유키와 서버 바인딩 정보로 변환하는 단계;
상기 변환된 등록요청 메시지를 전송하는 단계;및
상기 고유키를 포함하는 SIP 메시지가 수신된 경우, 상기 고유키에 대응되는 단말의 상기 등록요청 메시지의 정보를 검색하여 상기 SIP 메시지를 상기 단말의 착신 주소로 전송하는 단계를 포함하는 메시지 변환 서버의 제어방법.
Receiving a registration request message in which terminal binding information including a destination address of the terminal is set;
Generating a unique key based on information included in the registration request message;
Storing the information of the registration request message and the unique key;
Converting the terminal binding information included in the registration request message into the unique key and server binding information;
Transmitting the converted registration request message; and
And when the SIP message including the unique key is received, searching for information on the registration request message of the terminal corresponding to the unique key and transmitting the SIP message to a destination address of the terminal. Way.
제13항에 있어서,
상기 등록요청 메시지에 포함된 정보에 기초하여 상기 고유키를 생성하는 단계는,
상기 등록요청 메시지에 포함된 단말의 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)을 MD5(Message-Digest algorithm 5) 해시(hash) 함수에 대입하여 상기 고유키를 생성하는 단계를 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 13,
Generating the unique key based on the information included in the registration request message,
And generating the unique key by substituting a public ID and a contact canonical form of a terminal included in the registration request message into a message-digest algorithm 5 (MD5) hash function. Method of controlling a message conversion server, characterized in that.
제13항에 있어서,
상기 등록요청 메시지의 정보와 상기 고유키를 저장하는 단계는,
상기 고유키와, 상기 등록요청 메시지에 포함된 공인 ID(Public ID)와 콘택트 표준형(Contact Canonical Form)과, 수신 IP와, 수신 포트 정보를 저장하는 단계를 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 13,
Storing the information of the registration request message and the unique key,
And storing the unique key, a public ID included in the registration request message, a contact canonical form, a receiving IP, and receiving port information. Control method.
제13항에 있어서,
상기 등록요청 메시지에 포함된 상기 단말 바인딩 정보를, 상기 고유키와 서버 바인딩 정보로 변환하는 단계는,
상기 등록요청 메시지의 콘택트 헤더에 저장된 상기 단말 바인딩 정보를 상기 고유키와 상기 서버 바인딩 정보로 변경하는 단계를 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 13,
Converting the terminal binding information included in the registration request message into the unique key and server binding information,
And changing the terminal binding information stored in the contact header of the registration request message to the unique key and the server binding information.
제13항에 있어서,
상기 등록요청 메시지에 포함된 재등록요청 메시지가 수신된 경우, 상기 재등록요청 메시지에 포함된 단말 바인딩 정보를 추출하는 단계;
기 저장된 정보로부터 상기 단말 바인딩 정보에 대응되는 고유키를 검색하는 단계;
상기 재등록요청 메시지에 포함된 상기 단말 바인딩 정보를, 검색된 상기 고유키와 서버 바인딩 정보로 변환하는 단계;및
상기 변환된 등록요청 메시지를 전송하는 단계를 더 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 13,
Extracting terminal binding information included in the re-registration request message when a re-registration request message included in the registration request message is received;
Retrieving a unique key corresponding to the terminal binding information from previously stored information;
Converting the terminal binding information included in the re-registration request message into the retrieved unique key and server binding information; and
The control method of the message conversion server further comprising the step of transmitting the converted registration request message.
제13항에 있어서,
상기 등록요청 메시지에 포함된 통화요청 메시지가 수신된 경우, 상기 통화요청 메시지에 포함된 단말 바인딩 정보를 추출하는 단계;
기 저장된 정보로부터 상기 단말 바인딩 정보에 대응되는 고유키를 검색하는 단계;
상기 통화요청 메시지에 포함된 상기 단말 바인딩 정보를, 검색된 상기 고유키와 서버 바인딩 정보로 변환하는 단계;및
상기 변환된 통화요청 메시지를 전송하는 단계를 더 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 13,
Extracting terminal binding information included in the call request message when a call request message included in the registration request message is received;
Retrieving a unique key corresponding to the terminal binding information from previously stored information;
Converting the terminal binding information included in the call request message into the retrieved unique key and server binding information; and
And transmitting the converted call request message.
제18항에 있어서,
상기 통화요청 메시지에 포함된 호-ID와 발신 태그(From tag)를 B2BUA(Back-To-Back User Agent) 제어가 가능한 형태로 변환하는 단계를 더 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 18,
And converting the call-ID and the out tag included in the call request message into a form capable of controlling B2BUA (Back-To-Back User Agent). .
제13항에 있어서,
착신 통화요청 메시지가 수신된 경우, 상기 착신 통화요청 메시지에 포함된 착신 단말의 고유키를 추출하는 단계;
기 저장된 정보로부터 상기 고유키에 대응되는 착신 단말의 단말 바인딩 정보를 검색하는 단계;
상기 착신 통화요청 메시지에 포함된 착신 주소를 상기 착신 단말의 단말 바인딩 정보로 변환하는 단계와;
변환된 상기 착신 통화요청 메시지를 상기 착신 단말의 착신 주소로 전송하는 단계를 더 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 13,
If an incoming call request message is received, extracting a unique key of a called terminal included in the incoming call request message;
Retrieving terminal binding information of a called terminal corresponding to the unique key from previously stored information;
Converting a destination address included in the incoming call request message into terminal binding information of the called terminal;
And transmitting the converted call request message to a destination address of the called terminal.
제20항에 있어서,
상기 착신 통화요청 메시지에 포함된 호-ID와 발신 태그(From tag)를 B2BUA(Back-To-Back User Agent) 제어가 가능한 형태로 변환하는 단계를 더 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 20,
The control of the message conversion server, characterized in that further comprising the step of converting the call-ID and the outgoing tag (From tag) included in the incoming call request message to a form capable of B2BUA (Back-To-Back User Agent) control Way.
제13항에 있어서,
상기 SIP 메시지를 상기 단말의 착신 주소로 전송하는 단계는,
사설 IP로 설정된 상기 단말의 착신 주소로 상기 SIP 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 메시지 변환 서버의 제어방법.
The method of claim 13,
The step of transmitting the SIP message to the destination address of the terminal,
And transmitting the SIP message to a destination address of the terminal set as a private IP.
KR1020100069526A 2010-07-19 2010-07-19 System and method for providing sip service KR101666594B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100069526A KR101666594B1 (en) 2010-07-19 2010-07-19 System and method for providing sip service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100069526A KR101666594B1 (en) 2010-07-19 2010-07-19 System and method for providing sip service

Publications (2)

Publication Number Publication Date
KR20120009587A true KR20120009587A (en) 2012-02-02
KR101666594B1 KR101666594B1 (en) 2016-10-14

Family

ID=45834373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100069526A KR101666594B1 (en) 2010-07-19 2010-07-19 System and method for providing sip service

Country Status (1)

Country Link
KR (1) KR101666594B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013191381A1 (en) * 2012-06-18 2013-12-27 주식회사 네이블커뮤니케이션즈 Sbc for cloud environment and method for operating sbc

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11956222B2 (en) * 2021-09-03 2024-04-09 Verizon Patent And Licensing Inc. End-to-end encryption for multiple recipient devices
KR102437480B1 (en) 2021-11-26 2022-08-29 한국인터넷진흥원 System and method for detecting noncoding of SIP

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050009520A1 (en) * 2001-07-03 2005-01-13 Herrero Antonio Juan Sanchez Method and system for handling multiple registration
US20080070543A1 (en) * 2006-09-14 2008-03-20 Marcin Wieslaw Matuszewski Method for the routing of multimedia communication related signaling in a communication system
KR20100063361A (en) * 2008-12-03 2010-06-11 주식회사 케이티 Internet protocol multimedia subsystem and subscriber authentication method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050009520A1 (en) * 2001-07-03 2005-01-13 Herrero Antonio Juan Sanchez Method and system for handling multiple registration
US20080070543A1 (en) * 2006-09-14 2008-03-20 Marcin Wieslaw Matuszewski Method for the routing of multimedia communication related signaling in a communication system
KR20100063361A (en) * 2008-12-03 2010-06-11 주식회사 케이티 Internet protocol multimedia subsystem and subscriber authentication method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
France Telecom, SIPPING Working Group, draft-marjou-sipping-b2bua-01, "Best Current Practices for a Session Initiation Protocol (SIP) Transparent Back-To-Back User-Agent (B2BUA)", (2007.07.09. 공개) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013191381A1 (en) * 2012-06-18 2013-12-27 주식회사 네이블커뮤니케이션즈 Sbc for cloud environment and method for operating sbc
KR101344270B1 (en) * 2012-06-18 2014-01-28 주식회사 네이블커뮤니케이션즈 Communication device in cloud environment and operating method for communication device

Also Published As

Publication number Publication date
KR101666594B1 (en) 2016-10-14

Similar Documents

Publication Publication Date Title
US7684397B2 (en) Symmetric network address translation system using STUN technique and method for implementing the same
KR100886548B1 (en) Method and system of forwarding capability information of user equipment in internet protocol multimedia subsystem network
US8606921B2 (en) Load balancing based on deep packet inspection
EP1938554B1 (en) Ims call routing using tel-uris
JP4349766B2 (en) Address translation device
US20040246991A1 (en) IP address translator and packet transfer apparatus
CN101552848B (en) Session method and apparatus based on session initiation protocol
KR20050095625A (en) Message-based conveyance of load control information
US20070043876A1 (en) Stimulation traffic for binding refreshment
US8656001B2 (en) Communication system, application server and communication method for server cooperation
KR101666594B1 (en) System and method for providing sip service
US20050144326A1 (en) Compartment handling for signaling compression
JP2008258917A (en) Identical nat subordinate communication control system, nat device, identical nat subordinate communication control method, and program
JP3928664B2 (en) Address translation apparatus, message processing method and apparatus
JP5640764B2 (en) Signal processing apparatus and program
KR20100003869A (en) A device for routing sip message and routing method
JP4889617B2 (en) Gateway apparatus and communication control method
JP4889620B2 (en) IP packet relay method and gateway device in communication network
JP4793477B2 (en) Address translation apparatus, message processing method and apparatus
JP3928663B2 (en) Address translation apparatus, message processing method and apparatus
JP3928662B2 (en) Address translation apparatus, message processing method and apparatus
JP4350030B2 (en) Address translation method
JP4350029B2 (en) Address translation system
JP4555005B2 (en) Protocol conversion server
KR20080093725A (en) Terminal unit for providing ip multimedia service on the basis of session initiaion protocol, call session control function device, method of transmitting and receiving thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant