KR20100090338A - Udp hole punching method using sip, terminal management system and management method using the udp hole punching method - Google Patents

Udp hole punching method using sip, terminal management system and management method using the udp hole punching method Download PDF

Info

Publication number
KR20100090338A
KR20100090338A KR1020090009540A KR20090009540A KR20100090338A KR 20100090338 A KR20100090338 A KR 20100090338A KR 1020090009540 A KR1020090009540 A KR 1020090009540A KR 20090009540 A KR20090009540 A KR 20090009540A KR 20100090338 A KR20100090338 A KR 20100090338A
Authority
KR
South Korea
Prior art keywords
terminal
message
management server
port
terminal management
Prior art date
Application number
KR1020090009540A
Other languages
Korean (ko)
Other versions
KR101049549B1 (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 KR1020090009540A priority Critical patent/KR101049549B1/en
Publication of KR20100090338A publication Critical patent/KR20100090338A/en
Application granted granted Critical
Publication of KR101049549B1 publication Critical patent/KR101049549B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5087Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to voice services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

PURPOSE: A UDP hole punching method using SIP and a system and a method for managing terminal using the same are provided to simply form a UDP hole by using a specific SIP message for generating an internet call and controlling a session, thereby performing interactive remote terminal management in real time. CONSTITUTION: A call generator(310) generates an SIP(Session Initiation Protocol) message. The call generator transmits a call generation message to an internet phone terminal(410). If a SIP INVITE message of the call generator is received, a SBC(Session Border Controller) device(500) changes a private IP in a SDP(Session Description Protocol) to a public IP. A terminal management server(110) generates various management information through SNMP(Simple Network Management Protocol) or HTTP message exchange with the internet phone terminal.

Description

SIP를 이용한 UDP 홀 펀칭 방법 및 이를 이용한 단말 관리 시스템 및 단말 관리 방법{UDP HOLE PUNCHING METHOD USING SIP, TERMINAL MANAGEMENT SYSTEM AND MANAGEMENT METHOD USING THE UDP HOLE PUNCHING METHOD }GPD hole punching method using SIP, terminal management system and terminal management method using same {UDP HOLE PUNCHING METHOD USING SIP, TERMINAL MANAGEMENT SYSTEM AND MANAGEMENT METHOD USING THE UDP HOLE PUNCHING METHOD}

본 발명은SIP(Session Initiation Protocol)을 이용하여 NAT 환경에서 단말을 원격으로 관리할 수 있는 UDP 홀 펀칭 방법 및 이를 이용한 단말 관리 방법 및 단말 관리 시스템에 관한 것이다. The present invention relates to a UDP hole punching method capable of remotely managing a terminal in a NAT environment using Session Initiation Protocol (SIP), a terminal management method using the same, and a terminal management system.

NAT은 IP 주소 부족 문제를 해결하기 위한 방안으로 사용되는 기술이다. 그런데 NAT을 기준으로 사용자 환경을 내부와 외부로 분리함으로써, 외부로부터의 세션을 차단하는 방화벽 역할을 부수적으로 하게 되었다. NAT 기능이 내장된 IP 공유기를 이용할 경우 NAT 하부의 단말이 IP 공유기가 부여한 자체 사설 IP를 할당 받게 되어, 인터넷전화 서비스 사업자가 사용자 단말기를 직접 제어할 수 없는 문제점이 있다. 이러한 문제점으로 인하여 인터넷전화 서비스 제공 사업자는 고객에게 제공되는 서비스 단말의 서비스 장애에 대한 모니터링이 필요하고, 서비스 단말에 문제가 발생했을 경우, 원격제어를 통한 A/S 제공에 한계가 있다. 서비스 장애는 소프트웨어 또는 하드웨어적인 장애를 포함한다. 이를 극복하기 위한 종래 다양한 방법이 존재하나, 이런 방법들을 이용하려면, 인터넷전화 서비스 제공 사업자는 직접 원격 제어를 할 수 없는 사용자 소유의 NAT 장치를 업그레이드 시키거나, 특정 규격의 기능을 제공 해야 한다. 또한 기존에 NAT 환경에서 서비스 단말 관리를 위해 제시된 방법들은 특정 방식으로 동작하고 있는 NAT을 제대로 관리를 할 수 없고, 불필요한 네트워크 트래픽(traffic)을 발생시키는 문제가 있다.NAT is a technique used to solve the IP address shortage problem. However, by separating the user environment from the inside and the outside based on NAT, the role of a firewall that blocks sessions from the outside becomes incidental. When using an IP router with a built-in NAT function, a terminal under the NAT is assigned with its own private IP assigned by the IP router, and there is a problem that an Internet phone service provider cannot directly control a user terminal. Due to this problem, the Internet phone service provider needs to monitor the service failure of the service terminal provided to the customer, and when a problem occurs in the service terminal, there is a limit in providing A / S through remote control. Service failures include software or hardware failures. There are various conventional methods to overcome this problem, but in order to use these methods, an Internet phone service provider must upgrade a user-owned NAT device that cannot directly control remotely or provide a function of a specific standard. In addition, the existing methods for managing a service terminal in a NAT environment may not properly manage a NAT operating in a specific manner and may cause unnecessary network traffic.

NAT 장치와 단말장비를 업그레이드 하거나, 특정 규격을 한정적으로 사용하지 않고, 또한 불필요한 트래픽의 발생을 유도하지 않고도 인터넷전화 단말의 양방향 원격 관리를 실현하는 방법을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a method for realizing two-way remote management of an Internet telephone terminal without upgrading NAT apparatus and terminal equipment, using a specific standard, or inducing unnecessary traffic generation.

본 발명의 과제는 SIP의 특정 메시지 정보를 이용하여 단말 관리를 수행할 수 있는 SIP를 이용한 UDP 홀 펀칭 방법 및 이를 이용한 단말 관리 방법 및 단말 관리 시스템을 제공하는 것이다. An object of the present invention is to provide a UDP hole punching method using a SIP capable of performing terminal management using specific message information of SIP, a terminal management method using the same, and a terminal management system.

본 발명의 한 특지에 따른 NAT 환경에서 단말과 단말 관리 서버 사이의 SIP를 이용한 UDP(user datagram protocol) 홀 펀칭 방법은, 호 생성을 위한 호 생성 메시지가 생성되어 상기 단말로 전달하는 단계 상기 단말로부터 상기 호 생성 메시지에 대응하는 트랩(trap) 메시지가 상기 단말관리 서버로 전달되는 단계 및 상기 트랩 메시지에 대응하여 상기 단말관리 서버로부터 상기 단말에 요청 메시지가 전달되어 UDP 홀이 생성되는 단계를 포함한다. 상기 트랩 메시지가 전달되는 단계는, 상기 단말의 소스 포트 및 단말의 목적지 포트 각각을 고정하여 트랩 메시지를 송출하는 단계 및 상기 고정된 단말의 소스 포트가 상기 NAT 환경에 할당된 포트로 변환되어 상기 단말관리 서버로 전달되는 단계를 포함한다. 상기 UDP 홀이 생성되는 단계는, 상기 고정된 단말의 목적지 포트를 상기 단말관리 서버의 소스 포트로 고정하고, 상기 NAT 환경에서 할당된 포트를 목적지 포트로 설정하여 요청 메시지가 전달되는 단계 및 상기 요청 메시지의 목적지 포트가 상기 고정된 단말의 소스 포트로 변환되어, 상기 단말에 상기 요청 메시지가 전달되는 단계를 포함한다.In a NAT (user datagram protocol) hole punching method using a SIP between a terminal and a terminal management server in a NAT environment according to an aspect of the present invention, a call generation message for generating a call is generated and transmitted to the terminal from the terminal. A trap message corresponding to the call generation message is delivered to the terminal management server, and a request message is transmitted from the terminal management server to the terminal in response to the trap message to generate a UDP hole. . The transmitting of the trap message may include: transmitting a trap message by fixing each of a source port of the terminal and a destination port of the terminal, and converting the source port of the fixed terminal into a port assigned to the NAT environment so that the terminal And forwarded to the management server. The generating of the UDP hole may include: fixing a destination port of the fixed terminal as a source port of the terminal management server, setting a port assigned in the NAT environment as a destination port, and transmitting a request message; Converting a destination port of the message into a source port of the fixed terminal, and transmitting the request message to the terminal.

본 발명의 다른 특징에 따른 NAT 환경에서 단말을 관리 하는 단말 관리 시스템은 SIP 메시지를 생성하여 관리 대상이 되는 단말로 호 생성 메시지를 전달하는 통화 호 발생기, 및 상기 단말과 소정 형식의 메시지를 교환하여 상기 단말에 발생한 이벤트 정보를 수집하고, 상기 단말에 필요한 설정 및 제어를 실행하는 단말관리서버를 포함하고, 상기 호 생성 메시지에 대응하여 상기 단말관리서버로 트랩 메시지가 전달되면, 상기 단말관리 서버는 상기 단말에 요청 메시지를 전송하여 상기 단말과 상기 단말관리 서버에 UDP(user datagram protocol) 홀이 형성된다. 상기 트랩 메시지는 상기 단말의 소스 포트 및 단말의 목적지 포트 각각을 고정하여 상기 단말 관리 서버로 전송되고, 상기 고정된 단말의 소스 포트가 상기 NAT 환경에 할당된 포트로 변환되어 상기 단말관리 서버로 전달된다. 상기 단말 관리 서버는, 상기 고정된 단말의 목적지 포트를 상기 단말 관리 서버의 소스 포트로 고정하고, 상기 NAT 환경에서 할당된 포트를 목적지 포트로 설정하여 상기 요청 메시지를 송출한다. 상기 요청 메시지의 목적지 포트가 상기 고정된 단말의 소스 포트로 변환 되어, 상기 단말에 상기 요청 메시지가 전달된다.A terminal management system for managing a terminal in a NAT environment according to another aspect of the present invention generates a SIP message and a call call generator for transmitting a call generation message to a terminal to be managed, and by exchanging a message of the predetermined type with the terminal And a terminal management server which collects event information generated in the terminal and executes setting and control necessary for the terminal. When the trap message is transmitted to the terminal management server in response to the call generation message, the terminal management server includes: By transmitting a request message to the terminal, a user datagram protocol (UDP) hole is formed in the terminal and the terminal management server. The trap message is transmitted to the terminal management server by fixing each of the source port of the terminal and the destination port of the terminal, the source port of the fixed terminal is converted into a port assigned to the NAT environment and transmitted to the terminal management server. do. The terminal management server fixes the destination port of the fixed terminal as the source port of the terminal management server, and sets the port assigned in the NAT environment as the destination port to send the request message. The destination port of the request message is converted to the source port of the fixed terminal, and the request message is delivered to the terminal.

본 발명의 또 다른 특징에 따른 NAT 환경에서 단말을 관리하는 관리 방법은 호 생성을 위한 호 생성 메시지가 생성되어 상기 단말로 전달하는 단계 상기 단말로부터 상기 호 생성 메시지에 대응하는 트랩(trap) 메시지가 상기 단말관리 서버로 전달되는 단계 상기 트랩 메시지에 대응하여 상기 단말관리 서버로부터 상기 단말에 요청 메시지가 전달되어 UDP 홀이 생성되는 단계 및 상기 형성된 UDP 홀을 이용하여 상기 단말에 발생한 이벤트 정보를 수집하고, 상기 단말에 필요한 설정 및 제어를 실행하는 단계를 포함한다. 상기 트랩 메시지가 전달되는 단계는, 상기 단말의 소스 포트 및 단말의 목적지 포트 각각을 고정하여 트랩 메시지를 송출하는 단계 및 상기 고정된 단말의 소스 포트가 상기 NAT 환경에 할당된 포트로 변환되어 상기 단말관리 서버로 전달되는 단계를 포함한다. 상기 UDP 홀이 생성되는 단계는,상기 고정된 단말의 목적지 포트를 상기 단말관리 서버의 소스 포트로 고정하고, 상기 NAT 환경에서 할당된 포트를 목적지 포트로 설정하여 요청 메시지가 전달되는 단계 및 상기 요청 메시지의 목적지 포트가 상기 고정된 단말의 소스 포트로 변환되어, 상기 단말에 상기 요청 메시지가 전달되는 단계를 포함한다.According to another aspect of the present invention, there is provided a management method for managing a terminal in a NAT environment, wherein a call generation message for generating a call is generated and delivered to the terminal. A trap message corresponding to the call generation message is received from the terminal. In the step of being delivered to the terminal management server, a request message is transmitted from the terminal management server to the terminal in response to the trap message to generate a UDP hole and to collect event information generated in the terminal using the formed UDP hole And performing setting and control necessary for the terminal. The transmitting of the trap message may include: transmitting a trap message by fixing each of a source port of the terminal and a destination port of the terminal, and converting the source port of the fixed terminal into a port assigned to the NAT environment so that the terminal And forwarded to the management server. The generating of the UDP hole may include: fixing a destination port of the fixed terminal as a source port of the terminal management server, setting a port assigned in the NAT environment as a destination port, and transmitting a request message; Converting a destination port of the message into a source port of the fixed terminal, and transmitting the request message to the terminal.

본 발명에 따른 인터넷전화 단말관리 방법에 따르면, 인터넷전화 호 생성 및 세션제어를 위해 사용하는 특정 SIP 메시지를 이용하여 간단히 UDP(User Datagram Protocol) hole을 형성하여 실시간으로 양방향 단말 원격 관리를 할 수 있다.According to the Internet phone terminal management method according to the present invention, by using a specific SIP message used for Internet phone call generation and session control, a simple UDP (User Datagram Protocol) hole can be formed to perform bidirectional terminal remote management in real time. .

또한, 단말로부터 수집한 관리정보를 통하여 단말의 소프트웨어 또는 하드웨 어적인 장애를 포함하여 서비스 장애에 대한 상시 모니터링과 문제 발생 시 원격제어를 통한 A/S 등의 업무를 효율적으로 처리할 수 있다.In addition, through management information collected from the terminal, it is possible to efficiently handle tasks such as after-sales monitoring for service failures and remote control in case of problems, including software or hardware failures of the terminal.

또한, 단말의 원격 업그레이드 및 인터넷전화 사업자의 서비스 정책 및 가입자 요구사항을 실시간으로 반영하여 고객 서비스 품질 향상을 도모할 수 있다.In addition, it is possible to improve the quality of customer service by reflecting the remote upgrade of the terminal and the service policy and subscriber requirements of the Internet phone service provider in real time.

본 발명에 따르면, 인터넷전화 단말에만 국한되지 않고, SIP를 이용하는 모든 단말을 관리할 수 있는 UDP 홀 펀칭 방법, 이를 이용한 단말 관리 방법 및 관리 시스템을 제공한다. According to the present invention, there is provided a UDP hole punching method, a terminal management method, and a management system using the same.

일반적인 인터넷 서비스 이외에 사용자가 자체적으로 인터넷 공유기를 이용하여 NAT를 구성한 환경에서도 인터넷 공유기 하부에 위치한 단말들을 관리할 수 있는 SIP를 이용한 UDP 홀 펀칭 방법, 이를 이용한 단말 관리 방법 및 관리 시스템을 제공한다. In addition to the general Internet service, the present invention provides a UDP hole punching method using SIP, a terminal management method using the same, and a management system that can manage terminals located under the Internet router even in an environment where a user configures NAT using the Internet router.

또한, 단말을 SNMP(Simple Network Management Protocol)와 같은 기술을 이용하여 인터넷전화 서비스 제공 사업자가 관리하는 UDP 홀 펀칭 방법, 이를 이용한 단말 관리 방법 및 관리 시스템을 제공한다. The present invention also provides a UDP hole punching method, which is managed by an internet telephony service provider using a technology such as Simple Network Management Protocol (SNMP), a terminal management method and a management system using the same.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention. Like reference numerals designate like parts throughout the specification.

이하, 첨부한 도면을 참조하여 본 발명에 따른 NAT 환경에서의 SIP메시지를 이용한 인터넷전화 단말관리 방법 및 단말 관리 시스템에 대하여 상세하게 기술한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the Internet phone terminal management method and terminal management system using a SIP message in a NAT environment according to the present invention.

일반적으로 단말 관리 시스템은 SNMP(Simple Network Management Protocol)나 HTTP(Hyper Text Transfer Protocol)와 같은 방법을 사용하여, 원격으로 단말 장치에 대한 상태정보를 획득하거나 필요한 관리 정보들을 직접 단말에 반영한다. SNMP의 경우 Trap메시지를 이용하거나 SET과 GET 같은 방법(method)을 이용하여 단말관리를 하며, HTTP의 경우 SOAP(Simple Object Access Protocol)과 XML-RPC(XML-Remote Procedure Call) 같은 방법을 이용하여 단말관리를 수행한다.In general, the terminal management system uses a method such as Simple Network Management Protocol (SNMP) or Hyper Text Transfer Protocol (HTTP) to remotely acquire status information about the terminal device or directly reflect necessary management information to the terminal. In case of SNMP, terminal management is performed by using Trap message or using methods such as SET and GET.In case of HTTP, using methods such as SOAP (Simple Object Access Protocol) and XML-RPC (XML-RPC) Perform terminal management.

예를 들어, 단말관리를 위해 SNMP를 이용하는 단말 관리시스템은 SNMP Trap을 통해 단말 장치에서 발생한 이벤트 정보를 수집하고, SNMP Get과 Set 같은 방법을 이용하여 해당 단말 장치에 필요한 설정 및 제어를 실행한다. For example, a terminal management system using SNMP for terminal management collects event information generated in a terminal device through SNMP traps, and executes settings and control necessary for the terminal device using methods such as SNMP Get and Set.

NAT 환경에서는, 단말관리시스템이 단말관리를 위하여 SNMP Get과 Set 같은 명령으로 NAT를 통과할 수 없게 됨으로써, 정상적인 관리서비스 제공이 불가능하게 한다. 특히, 단말이 주기적으로 단말관리서버로 올려주는 SNMP trap과 같은 형식으로 자신의 정보를 단말관리시스템으로 올려주는 방법을 통한 것 이외에는 실시간으로 단말의 상태 정보를 얻어낼 수 없다. 또한, 단말에 인터넷전화사업자의 서비스 정책을 반영하거나, 단말 장애 시 즉각적인 대처를 위하여 구성을 변경할 수 있도록 하는 중요한 기능들이 수행될 수 없다. 단말에서 발생하는 이벤트 정보는 SNMP Trap 메시지를 통해 단말관리시스템으로 정상 수집이 가능하나, 단말관리시스템에서 단말로의 실질적인 제어 및 설정을 위한 SNMP Get과 Set 같은 명령은 NAT를 통과하지 못하게 되어 관리가 불가능하다. 즉, NAT 환경에서의 단말 관리 시스템은 일방적으로 단말이 올려주는 정보에만 의존한 단방향 관리를 할 수 밖에 없다.In a NAT environment, the terminal management system cannot pass NAT through commands such as SNMP Get and Set for terminal management, thereby making it impossible to provide a normal management service. In particular, it is impossible to obtain the status information of the terminal in real time except through a method of periodically uploading its information to the terminal management system in the form of an SNMP trap that the terminal periodically uploads to the terminal management server. In addition, important functions for reflecting the service policy of the Internet telephone service provider in the terminal or for changing the configuration for immediate response in case of terminal failure cannot be performed. Event information generated from the terminal can be collected normally through the SNMP trap message to the terminal management system.However, commands such as SNMP Get and Set for the actual control and configuration from the terminal management system to the terminal cannot pass through NAT. impossible. That is, a terminal management system in a NAT environment can only unidirectionally manage depending on information provided by a terminal.

본 발명의 실시 예에서는 UDP(user datagram protocol) 홀(hole)을 이용하여 단말과 단말관리서버 사이에 필요한 정보, 설정 및 제어를 제공할 수 있는 SIP를 이용한 UDP 홀 펀칭 방법, 이를 이용한 단말 관리 시스템 및 관리 방법을 제공한다. UDP 홀은 서로 다른 NAT로 막혀 있는 두 피어(peer)들 사이에 p2p(peer-to-peer) 통신을 하기 위해 형성되며, UDP 홀을 형성하는 것을 UDP 홀 펀칭(punching)이라 한다. UDP 홀 펀칭은 UDP 세션을 유지하기 위해 사설 망 내부의 클라이언트가 주기적으로 "keep alive message"를 보내어 NAT에서 유지되는 hole 유지 타이머(timer)를 초기화하는 방법을 사용한다. 이때, UDP hole 유지시간은 공유기의 종류에 따라 다르므로, 적절한 간격으로 "keep alive message"를 전송하여야 한다. In an embodiment of the present invention, a UDP hole punching method using SIP that can provide necessary information, setting, and control between a terminal and a terminal management server using a user datagram protocol (UDP) hole, and a terminal management system using the same. And a management method. UDP holes are formed for peer-to-peer communication between two peers blocked by different NATs, and forming a UDP hole is called UDP hole punching. UDP hole punching uses a method of initializing a hole keeping timer maintained by NAT by periodically sending a "keep alive message" from a client inside the private network to maintain a UDP session. At this time, UDP hole holding time varies according to the type of router, so "keep alive message" should be transmitted at appropriate intervals.

이하, 도 1 내지 도 6을 참조하여 본 발명을 구체적으로 설명한다.Hereinafter, the present invention will be described in detail with reference to FIGS. 1 to 6.

도 1은 SIP를 이용한 인터넷전화 서비스 시스템의 구성을 나타낸 도면이다. 1 is a diagram showing the configuration of an Internet telephony service system using SIP.

도 1에 도시된 바와 같이, 인터넷전화 서비스 시스템(1)은 SIP 프록시(proxy) 서버(100), 로케이션 서버(200) 및 SBC(session border controller) 장치(500_1, 500_2)를 포함한다. SIP 프록시 서버(100)는 UAC 발신자(300) 또는 UAS 수신자(400)로부터 발생된 SIP 메시지를 라우팅(routing) 처리한다. 로케이션 서버(200)는 레지스터(register) 메시지를 통하여 사용자 등록을 하고, 등록된 사용 자의 접속 주소를 저장한다. 인터넷전화 호 생성을 하고 호를 요청하는 UAC(User Agent Client)(300) 및 요청된 호를 받아 응답하는 UAS(User Agent Server)(400) 각각은 SBC 장치(500_1, 500_2)에 연결되어 있다. SBC 장치(500_1)는 UAC(300)와 주기적으로 레지스터 메시지를 교환함으로써 등록된 NAT 하부의 UAC(300)에도 호가 전달될 수 있도록 한다. SBC 장치(500_2)는 UAS(400)와 주기적으로 레지스터 메시지를 교환함으로써 등록된 NAT 하부의 UAS(400)에도 호가 전달될 수 있도록 한다. As shown in FIG. 1, the Internet telephony service system 1 includes a SIP proxy server 100, a location server 200, and a session border controller (SBC) device 500_1 and 500_2. The SIP proxy server 100 processes the SIP message generated from the UAC sender 300 or the UAS receiver 400. The location server 200 registers a user through a register message and stores a registered user's access address. Each of the UAC (User Agent Client) 300 generating an Internet telephone call and requesting a call and the UAS (User Agent Server) 400 receiving and responding to the requested call are connected to the SBC devices 500_1 and 500_2. The SBC apparatus 500_1 periodically exchanges a register message with the UAC 300 so that the call can be transferred to the UAC 300 under the registered NAT. The SBC apparatus 500_2 periodically exchanges a register message with the UAS 400 so that the call can be transferred to the UAS 400 under the registered NAT.

도 2는 본 발명의 실시 예에 따른 NAT 환경에서 인터넷 전화 단말 관리를 설명하기 위한 기본 구성을 나타낸 도면이다. 본 발명에 따른 단말 관리 시스템(2)은 SIP를 이용한 인터넷전화 호를 발생시킬 수 있는 통화 호 발생기(Call Generator)(310), 인터넷전화 호의 NAT 장치(600) 통과(traversal) 기능을 제공하는 SBC(Session Border Controller)(500), SNMP나 HTTP 같은 원격 관리 기술을 이용한 단말정보 수집 서버(이하, 단말관리서버)(110), 인터넷전화 단말(410)을 포함한다. 여기서, 인터넷전화 단말(410)은 유선으로 사용되는 인터넷전화 모듈을 포함하는 전화기 혹은 MTA(Media Termination Adapter), PC에 소프트웨어 형태로 이용되는 소프트폰과 무선으로 사용되는 무선 랜 망 환경에서 사용되는 Wi-Fi 무선 전화기, 디지털무선 전화기 등 인터넷전화형태로 이용되는 모든 형태의 단말기를 포함한다.2 is a view showing a basic configuration for explaining the Internet phone terminal management in a NAT environment according to an embodiment of the present invention. The terminal management system (2) according to the present invention is an SBC that provides a traversal function of a call generator (310) capable of generating an Internet telephone call using SIP and a NAT device 600 of an internet telephone call. (Session Border Controller) 500, a terminal information collection server (hereinafter, terminal management server) using a remote management technology such as SNMP or HTTP (110), and the Internet phone terminal 410. Here, the Internet phone terminal 410 is a telephone or an MTA (Media Termination Adapter) including an Internet phone module to be used as a wire, a soft phone used as a software in a PC and a Wi-Fi used in a wireless LAN network environment used wirelessly. -Includes all types of terminals used in the form of Internet telephony, such as Fi cordless telephones and digital cordless telephones.

통화 호 발생기(310)는 SIP 메시지를 생성하여 관리의 대상이 되는 인터넷 전화 단말로 호 생성 메시지를 전달하는 역할을 수행한다. The call call generator 310 generates a SIP message and delivers a call generation message to an Internet phone terminal to be managed.

SBC 장치(500)는 통화 호 발생기의 SIP INVITE 메시지를 받으면, SDP 내부의 사설 IP를 자신의 공인 IP로 바꾸어 인터넷전화 단말(410)로 전달한다. When the SBC device 500 receives the SIP INVITE message of the call call generator, the SBC device 500 converts the private IP inside the SDP into its own public IP and delivers it to the Internet phone terminal 410.

단말관리서버(110)는 인터넷전화 단말(410)과 SNMP나 HTTP 메시지를 교환하여 다양한 관리정보를 생성하는 역할을 수행한다. 단말관리서버(110)가 SNMP 메시지를 이용하는 경우, 단말관리서버(110)는 SNMP trap 메시지를 이용하여 인터넷전화 단말(410)에서 발생한 이벤트 정보를 수집하고, SNMP Get과 Set 명령을 통하여 인터넷전화 단말(410)에 필요한 설정 및 제어를 실행한다. 이와 달리, 단말관리서버(110)가 HTTP 메시지를 이용할 경우, 단말관리서버(110)는 SOAP이나 XML-RPC를 이용하여 특정 함수 정의를 통해 인터넷전화 단말(410) 정보를 수집하고, 인터넷전화 단말(410)에 필요한 설정 및 제어를 수행한다.The terminal management server 110 serves to generate various management information by exchanging SNMP or HTTP messages with the Internet phone terminal 410. When the terminal management server 110 uses the SNMP message, the terminal management server 110 collects event information generated in the Internet telephone terminal 410 using the SNMP trap message, and the Internet telephone terminal through the SNMP Get and Set commands. Perform settings and control necessary for 410. On the other hand, when the terminal management server 110 uses an HTTP message, the terminal management server 110 collects the Internet phone terminal 410 information through a specific function definition using SOAP or XML-RPC, and the Internet phone terminal Perform settings and control necessary for 410.

이하, SNMP를 이용하여 단말관리를 하는 본 발명의 실시 예에 대해서 설명한다. 먼저, 도 3을 참조하여 SNMP의 패킷 형식을 설명한다.Hereinafter, an embodiment of the present invention for terminal management using SNMP will be described. First, the packet format of SNMP will be described with reference to FIG. 3.

도 3은 NAT을 통과하기 위한 SNMP(Simple Network Management Protocol) 패킷(packet)의 형식을 나타내고 있다. SNMP 패킷은 IP헤더, UDP 헤더 및 SNMP 메시지를 포함한다. IP 헤더는 소스 IP 주소 및 목적지 IP 주소를 포함하고, UDP 헤더는 소스 포트 및 목적지 포트를 포함한다. SNMP 메시지는 Agent IP 주소 및 데이터를 포함한다. SNMP 패킷 형식은 SNMP trap 메시지의 IP 헤더 상의 소스 IP 주소 외에 SNMP 메시지 내에도 실제 인터넷전화 단말의 IP인 Agent IP 주소를 포함한다. 이때, Agent IP주소와 소스 IP주소는 공인 IP를 사용하는 환경에서는 동일하지만, NAT을 통하여 사설 IP를 이용할 경우 SNMP Agent IP 주소는 사설 IP주소가 할당되고, 소스 IP주소는 NAT 장치가 받는 공인 IP주소가 할당된다.3 illustrates the format of a Simple Network Management Protocol (SNMP) packet for traversing NAT. SNMP packets include IP headers, UDP headers, and SNMP messages. The IP header includes a source IP address and a destination IP address, and the UDP header includes a source port and a destination port. SNMP messages include Agent IP addresses and data. In addition to the source IP address on the IP header of the SNMP trap message, the SNMP packet format includes an Agent IP address, which is the IP of an actual Internet telephone terminal, in the SNMP message. In this case, the Agent IP address and the source IP address are the same in the environment using the public IP, but when using the private IP through NAT, the SNMP Agent IP address is assigned a private IP address, and the source IP address is the public IP received by the NAT device. The address is assigned.

도 4는 NAT 장치의 네트워크 주소 변환 동작을 나타낸 도면이다. SNMP 패킷(111)은 인터넷전화 단말(110)에서부터 전달되는 SNMP 패킷이고, SNMP 패킷(112)은 SNMP 패킷(111)이 NAT 장치(600)를 통과하여 변환된 패킷을 나타낸 것이다. 4 is a diagram illustrating a network address translation operation of a NAT device. The SNMP packet 111 is an SNMP packet transmitted from the Internet telephone terminal 110, and the SNMP packet 112 shows a packet converted by the SNMP packet 111 through the NAT device 600.

NAT 장치(600)는 외부 DHCP(Dynamic Host Configuration Protocol) 서버(동적 IP할당) 혹은 라우터(고정 IP할당)로부터 외부 공인 IP주소(211. x. x. x)를 할당 받고, NAT 하부 장비들에 내부 사설 IP(192. x. x. x)를 할당해 주며, 외부 공인 IP주소/UDP(User Datagram Protocol)포트와 내부 사설 IP주소/UDP 포트의 매핑(mapping) 테이블(601)을 가지고 있으며, 외부 서버로부터의 응답 및 수신을 위해 내부적으로 매핑 테이블(601)을 일정시간 유지하게 된다. The NAT device 600 is assigned an external public IP address (211.xx x) from an external Dynamic Host Configuration Protocol (DHCP) server (Dynamic IP Assignment) or a router (Static IP Assignment), and internal private IP to NAT subordinate devices. (192.xx x), and has mapping table 601 of external public IP address / UDP (User Datagram Protocol) port and internal private IP address / UDP port. The mapping table 601 is internally maintained for a certain time for reception.

이하, 도 5를 참조하여 본 발명의 실시 예에 따른 UDP 홀 생성에 대해서 설명한다. 도 5는 UDP 홀 생성을 나타낸 도면이다. Hereinafter, a UDP hole generation according to an embodiment of the present invention will be described with reference to FIG. 5. 5 is a diagram illustrating UDP hole generation.

도 5에서 나타낸 바와 같이, UAC(300)에 해당하는 통화 호 발생기(310)가 통화 호 생성 절차에 따라 SIP INVITE 메시지를 생성하여 SBC(500)에 전달하며, SBC(500)는 등록된 NAT 장치(600) 하부의 인터넷전화 단말(410)로 INVITE 메시지를 그대로 전송한다. 여기서, SIP의 호 생성을 위한 INVITE 메시지 대신 "MESSAGE"라는 SMS 송신을 위한 메시지를 이용하여도 동일한 절차를 따를 수 있다. As shown in FIG. 5, the call call generator 310 corresponding to the UAC 300 generates and sends a SIP INVITE message to the SBC 500 according to the call call generation procedure, and the SBC 500 registers the registered NAT device. In step 600, the INVITE message is directly transmitted to the Internet telephone terminal 410. Here, the same procedure may be followed by using a message for SMS transmission called "MESSAGE" instead of an INVITE message for call generation of SIP.

일반적으로 SIP 메시지는 세부내용을 나타내는 SDP(Session Description Protocol)를 포함하는데, 이때, INVITE 메시지 내에 SDP 정보에는 인터넷전화 단말(410)이 단말관리서버(110)로 SNMP Trap을 송출할 수 있는 정보를 포함한다.In general, the SIP message includes a Session Description Protocol (SDP) indicating details, and in this case, the SDP information in the INVITE message includes information for transmitting an SNMP trap to the terminal management server 110 by the Internet telephone terminal 410. Include.

SIP 메시지 바디에 포함되어 있는 SDP 정보는 다음과 같다. 아래의 구체적인 SDP 정보는 일 예이다. The SDP information included in the SIP message body is as follows. The following detailed SDP information is an example.

[SDP 정보][SDP Information]

m=audio 41352 RTP/AVP 0 8m = audio 41352 RTP / AVP 0 8

a=snmp-trap : tpye1 단말관리서버 IP주소a = snmp-trap: tpye1 Terminal Management Server IP Address

여기서, m은 미디어형식, 포트번호, 전송 프로토콜, Payload type(코덱)에 대한 정보를 포함하고 있으며, a는 미디어의 특성을 나타내는 정보로 인터넷전화 단말(410)이 해당 정보를 읽어 SNMP trap을 주어진 단말관리 서버 IP주소로 올려서 UDP 홀을 형성할 것을 제안하는 내용을 포함하고 있다. a에서 type1은 SNMP trap을 주기적으로 올릴 것인지, 아니면, 1 회성으로 올릴 것인지를 나타내기 위한 부가적인 필드이다. Here, m includes information on the media type, port number, transmission protocol, and payload type (codec), and a is information indicating the characteristics of the media, and the Internet telephone terminal 410 reads the information and gives an SNMP trap. It contains a proposal to form a UDP hole by uploading to the terminal management server IP address. In a, type1 is an additional field to indicate whether to raise the SNMP trap periodically or once.

관리대상 단말인 인터넷전화 단말(410)은 통화 호 발생기로부터 위와 같은 SDP정보를 수신한 후 통화 호 발생기(310)로 다음과 같은 SDP정보를 채워서 응답코드 "406(Not Acceptable)"이라는 메시지를 이용하여 응답하고, 호를 종료 한다. 통화 호 발생기(310)로부터 발생된 호는 실제 인터넷전화 호가 아니므로, 응답코드 "406(Not Acceptable)"로 응답한다. Internet phone terminal 410, which is a management target terminal, receives the above SDP information from the call call generator and fills the following SDP information with the call call generator 310, using a response code "406 (Not Acceptable)". Responds and ends the call. Since the call generated from the call call generator 310 is not an actual Internet phone call, the call is answered with the response code "406 (Not Acceptable)".

[SDP 정보][SDP Information]

m=audio 4000 RTP/AVP 0m = audio 4000 RTP / AVP 0

a=snmp-trap : type1a = snmp-trap: type1

만약 INVITE 메시지를 이용하지 않고 "MESSAGE"를 이용할 경우 관리대상 단말인 인터넷전화 단말(410)은 통화 호 발생기(310)에 별도의 응답코드를 이용하여 응답할 필요가 없다.If "MESSAGE" is used without using the INVITE message, the Internet phone terminal 410, which is a management target terminal, does not need to respond to the call call generator 310 by using a separate response code.

인터넷전화 단말(410)은 INVITE 유입 시 SDP 속성 a 값이 snmp-trap으로 시작하는 호에 대해서는 송화음 생성(Ring Generation), 호 수신 지연 메시지(Call Wait Tone), 발신번호표시(CID) 등의 행위를 수행치 말아야 한다. 또한, "MESSAGE" 유입 시는 별도의 조치사항이 필요 없다.When the INVITE is introduced, the Internet phone terminal 410 may receive a call, for example, a ring generation, a call wait tone, a call number indication (CID), and the like, for a call whose SDP attribute a starts with snmp-trap. Do not perform the act. In addition, no special measures are required when introducing "MESSAGE".

또한 인터넷전화 단말(410)은 INVITE 메시지 접수 후, 응답코드 406으로 응답하고, 호를 즉시 종료하고, SNMP trap 정보를 가공하여 SNMP trap 메시지를 단말관리서버(110)로 송출한다. 마찬가지로 MESSAGE를 접수할 경우 별도의 응답코드를 생성할 필요가 없다. 단말관리서버(110)는 SNMP 요청 메시지를 인터넷전화 단말(410)로 송출한다. 그러면 인터넷전화 단말(410)과 단말관리서버(110) 사이에UDP 홀이 형성된다. 그러면 인터넷전화 단말(110)은 UDP 홀을 이용하여 NAT 장치(600)의 매핑 테이블(601)이 유지되는 기간 이하의 간격으로 주기적으로 특정 trap을 단말관리서버(110)로 보내어 UDP 홀을 지속적으로 유지할 수도 있고, 필요에 따라 위와 같은 SIP를 이용한 UDP 홀 생성과정을 필요에 따라 반복적으로 수행할 수 있다. 그러면, 단말관리서버(110)는 해당 매핑 테이블 정보(601)를 이용하여 인터넷전화 단말(110)에 도달할 수 있다. 이렇게 NAT 장치(600)가 매핑 테이블(601)을 생성하고 유지하는 특성을 이용하여 본 발명에서는 UDP 홀을 생성하여, NAT 통과(traversal) 문제를 해결할 수 있다.In addition, after receiving the INVITE message, the Internet phone terminal 410 responds with a response code 406, terminates the call immediately, processes the SNMP trap information, and sends an SNMP trap message to the terminal management server 110. Likewise, when receiving a message, there is no need to generate a separate response code. The terminal management server 110 transmits an SNMP request message to the Internet telephone terminal 410. Then, a UDP hole is formed between the Internet phone terminal 410 and the terminal management server 110. Then, the Internet phone terminal 110 periodically sends a specific trap to the terminal management server 110 at intervals below the period during which the mapping table 601 of the NAT device 600 is maintained using the UDP hole. If necessary, the above-described UDP hole generation process using SIP may be repeatedly performed as necessary. Then, the terminal management server 110 may reach the Internet phone terminal 110 using the mapping table information 601. As described above, the NAT device 600 may generate a UDP hole by using the characteristic of generating and maintaining the mapping table 601, thereby solving a NAT traversal problem.

이때, 인터넷전화 단말(410)의 일반 인터넷전화 통화 중에 착신되는SNMP trap 호에 대해서는 응답코드 406을 전송하고 기존 호를 정상적으로 유지한다. 그 리고 SNMP trap호 종료 후 다음에서 기술하는 내용과 같은 SNMP trap 메시지를 정상적으로 송출하여, UDP 홀을 생성한다. At this time, for the SNMP trap call received during the general Internet phone call of the Internet phone terminal 410, the response code 406 is transmitted and the existing call is maintained normally. In addition, after the SNMP trap call is terminated, the SNMP trap message as described below is normally sent to create a UDP hole.

도 6은 SNMP trap호 종료 후 SNMP trap 메시지를 송출하여 UDP 홀을 생성하는 방법을 나타낸 도면이다. 6 is a diagram illustrating a method of generating a UDP hole by transmitting an SNMP trap message after an SNMP trap call ends.

도 6에 도시한 바와 같이, 인터넷전화 단말(410)이 단말관리서버(110)로 전송하는 SNMP trap 메시지는 RFC 1157에 명시된 바와 같이 소스 IP주소(실제, 단말 사설 IP주소)와 포트 번호는 UDP 161번으로 설정된다. 소스 IP 주소 및 포트 번호는 단말관리서버와의 매핑 정보로 NAT 장치(600)에 확보된다. 또한, 인터넷전화 단말(410)은 SNMP trap 메시지의 SDP 정보 중 a 속성 값에 명시된 단말관리서버(110)의 IP주소를 목적지(Destination) IP주소로, 목적지 포트 번호를 UDP 162번으로 명시하여 전송한다. 인터넷전화 단말(410)은 단말관리서버(110)로부터 SNMP Get/Set을 허용하기 위하여 소스 포트 및 목적지 포트를 고정하여 SNMP trap 메시지를 단말관리 서버(110)로 송출한다. 본 발명의 실시 예에서는 161 및 162 각각이 소스 포트 및 목적지 포트로 고정된다. 소스 포트 및 목적지 포트는 SIP SDP의 attribute정보에 포함되어 있다. 즉 인터넷번화 단말(410)과 같은 단말은 소스 및 목적지 고정 포트를 SDP의 attribute 정보에서 얻어, SNMP trap 메시지를 단말관리 서버(110)에 전송한다. 단말관리서버(110)는 SNMP trap 메시지에서 목적지 고정 포트로 SNMP Get/Set을 보내어 NAT 장치(600)를 통과한다.As shown in FIG. 6, the SNMP trap message transmitted from the Internet telephone terminal 410 to the terminal management server 110 is a source IP address (actually, a terminal private IP address) and a port number as UDP described in RFC 1157. It is set to 161. The source IP address and the port number are secured to the NAT device 600 as mapping information with the terminal management server. In addition, the Internet phone terminal 410 transmits the IP address of the terminal management server 110 specified in the a attribute value of the SDP information of the SNMP trap message as the destination IP address and the destination port number as UDP 162. do. The Internet phone terminal 410 transmits an SNMP trap message to the terminal management server 110 by fixing a source port and a destination port to allow SNMP Get / Set from the terminal management server 110. In an embodiment of the present invention, 161 and 162 are respectively fixed as a source port and a destination port. Source port and destination port are included in attribute information of SIP SDP. That is, a terminal such as the Internet phone terminal 410 obtains source and destination fixed ports from attribute information of the SDP, and transmits an SNMP trap message to the terminal management server 110. The terminal management server 110 sends the SNMP Get / Set to the destination fixed port in the SNMP trap message and passes through the NAT device 600.

또한, 단말 관리 편의를 위해 인터넷전화 단말마다 유일한 속성 값이 부여되고, 인터넷전화 단말은 자신의 유일한 속성 값을 SNMP trap 메시지 상의 데이터 필 드에 포함을 시켜 전송을 한다. 이 때, 유일한 속성 값은 인터넷전화 단말의 하드웨어 MAC(Media Access Control) 주소나 인터넷전화 단말의 전화번호 등의 정보일 수 있다. 그 밖에, SNMP trap 메시지에는 단말관리서버의 필요에 의해 주기적으로 올리는 정보인지, 실시간으로 필요에 의해 요구된 정보인지를 구분하는type 필드가 추가될 수 있다. In addition, a unique attribute value is given to each Internet telephony terminal for convenience of terminal management, and the Internet telephony terminal includes its unique attribute value in the data field on the SNMP trap message and transmits it. In this case, the unique attribute value may be information such as a hardware MAC (Media Access Control) address of the Internet telephone terminal or a telephone number of the Internet telephone terminal. In addition, a type field may be added to the SNMP trap message to identify whether the information is periodically uploaded by the terminal management server or required information in real time.

NAT 장치(600)은 SNMP trap 패킷에서 IP 헤더의 소스 IP(192.x.x.x)를 공유 IP(228.x.x.x)로 변환하고, UDP 해더 헤더의 소스 포트(161)를 NAT 장치(600)에서 할당한 13345포트로 변경하여 단말 관리 서버(110)로 SNMP trap을 전송한다. 그러면 NAT 장치(600)에서는 (228.x.x.x:13345, 192.x.x.x:161)의 UDP 홀이 형성된다.The NAT device 600 converts the source IP (192.xxx) of the IP header to the shared IP (228.xxx) in the SNMP trap packet, and assigns the source port 161 of the UDP header header to the NAT device 600. Change to port 13345 to transmit the SNMP trap to the terminal management server (110). In the NAT device 600, UDP holes of (228.x.x.x: 13345 and 192.x.x.x: 161) are formed.

단말관리서버(110)는 SNMP trap 메시지를 통해 인터넷전화 단말(410)의 사설 IP, UDP 홀 펀칭에 이용될 NAT 장치(600), 즉 공유기의 IP 및 포트를 알 수 있다. 단말관리서버(110)는 이와 같은 정보를 이용하여 인터넷전화 단말(410)에 필요한 설정 및 제어를 실행하기 위해 NAT 장치의 공인 IP주소로 SNMP Get/Set을 요청한다. 이때, 특정 NAT의 경우 장치 내부에서 외부로 나가는 내부의 IP주소와 포트정보가 동일하더라도 목적지의 주소나 포트가 달라지면 NAT에서 매핑 되는 포트번호도 달라진다. 이 때문에, 단말관리서버(110)는 인터넷전화 단말(410)이 SNMP trap 메시지를 올리면서 명시한 UDP 162번 포트를 이용하여 NAT 장치(600)로 SNMP Get과 Set을 요청해야 한다. The terminal management server 110 can know the IP and port of the NAT device 600, that is, the router, to be used for the private IP and UDP hole punching of the Internet telephone terminal 410 through the SNMP trap message. The terminal management server 110 requests the SNMP Get / Set to the public IP address of the NAT device to execute the necessary settings and control for the Internet phone terminal 410 using such information. In this case, even in the case of a specific NAT, even if the internal IP address and port information going out from the inside of the device are the same, if the destination address or port is different, the port number mapped from the NAT is also different. For this reason, the terminal management server 110 should request SNMP Get and Set to the NAT device 600 using the UDP port 162 specified by the Internet phone terminal 410 uploading an SNMP trap message.

NAT 장치(600)은 SNMP Get/Set 요청을 수신하면, 인터넷전화 단말(410)의 사설 IP로 변환하여 SNMP Get/Set 요청을 인터넷전화 단말(410)로 전송한다.When the NAT device 600 receives the SNMP Get / Set request, the NAT device 600 converts the private IP of the Internet phone terminal 410 and transmits the SNMP Get / Set request to the Internet phone terminal 410.

인터넷전화 단말(410)는 수신한 SNMP Get/Set 요청에 대한 SNMP 응답을 단말관리서버(110)로 UDP 홀을 이용하여 전송한다.The internet phone terminal 410 transmits an SNMP response to the received SNMP Get / Set request to the terminal management server 110 using a UDP hole.

위에서 전술한 SNMP를 이용한 단말관리 이외에 HTTP의 SOAP이나 SML-RPC를 이용하여 단말 관리를 수행할 경우 모든 과정과 방법은 동일하다. 특히 SNMP에서 RFC 1157에 명시된 UDP 161번과 162번 포트를 지정하여 관련 명령들이 수행되었듯이, SOAP이나 XML-RPC를 이용할 경우에도 특별히 프로토콜상에 지정되어 있는 번호가 아니라도 특정 포트를 정의하여 고정된 포트를 이용한 명령 수행이 이루어져야 한다.When the terminal management is performed using HTTP SOAP or SML-RPC in addition to the terminal management using SNMP described above, all processes and methods are the same. In particular, as related commands were executed by specifying UDP port 161 and 162 specified in RFC 1157 in SNMP, even when using SOAP or XML-RPC, a specific port is defined by fixing the port even though it is not a number specified in the protocol. Command execution should be done using the specified port.

상기 도면과 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. The drawings and detailed description of the invention are merely exemplary of the invention, which are used for the purpose of illustrating the invention only and are not intended to limit the scope of the invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1은 SIP를 이용한 인터넷전화 서비스 시스템의 구성을 나타낸 도면이다. 1 is a diagram showing the configuration of an Internet telephony service system using SIP.

도 2는 본 발명의 실시 예에 따른 NAT 환경에서 인터넷 전화 단말 관리를 설명하기 위한 기본 구성을 나타낸 도면이다. 2 is a view showing a basic configuration for explaining the Internet phone terminal management in a NAT environment according to an embodiment of the present invention.

도 3은 NAT을 통과하기 위한 SNMP(Simple Network Management Protocol) 패킷(packet)의 형식을 나타내고 있다. 3 illustrates the format of a Simple Network Management Protocol (SNMP) packet for traversing NAT.

도 4는 NAT 장치의 네트워크 주소 변환 동작을 나타낸 도면이다. 4 is a diagram illustrating a network address translation operation of a NAT device.

도 5는 UDP 홀 생성을 나타낸 도면이다.5 is a diagram illustrating UDP hole generation.

도 6은 SNMP trap호 종료 후 SNMP trap 메시지를 송출하여 UDP 홀이 형서되는 방법을 나타낸 도면이다. 6 is a diagram illustrating a method of sending an UDP trap message after an SNMP trap call is terminated to format a UDP hole.

Claims (10)

NAT 환경에서 단말과 단말 관리 서버 사이의 SIP를 이용한 UDP(user datagram protocol) 홀 펀칭 방법에 있어서,In a NAT (user datagram protocol) hole punching method using a SIP between a terminal and a terminal management server in a NAT environment, 호 생성을 위한 호 생성 메시지가 생성되어 상기 단말로 전달하는 단계;Generating and transmitting a call generation message for call generation to the terminal; 상기 단말로부터 상기 호 생성 메시지에 대응하는 트랩(trap) 메시지가 상기 단말관리 서버로 전달되는 단계; 및Transmitting a trap message corresponding to the call generation message from the terminal to the terminal management server; And 상기 트랩 메시지에 대응하여 상기 단말관리 서버로부터 상기 단말에 요청 메시지가 전달되어 UDP 홀이 생성되는 단계를 포함하는 홀 펀칭 방법.And a UDP hole is generated by transmitting a request message from the terminal management server to the terminal in response to the trap message. 제1항에 있어서,The method of claim 1, 상기 트랩 메시지가 전달되는 단계는,The step of transmitting the trap message, 상기 단말의 소스 포트 및 단말의 목적지 포트 각각을 고정하여 트랩 메시지를 송출하는 단계; 및Transmitting a trap message by fixing a source port of the terminal and a destination port of the terminal; And 상기 고정된 단말의 소스 포트가 상기 NAT 환경에 할당된 포트로 변환되어 상기 단말관리 서버로 전달되는 단계를 포함하는 홀 펀칭 방법.And a source port of the fixed terminal is converted into a port assigned to the NAT environment and transferred to the terminal management server. 제2항에 있어서,The method of claim 2, 상기 UDP 홀이 생성되는 단계는,The step of generating the UDP hole, 상기 고정된 단말의 목적지 포트를 상기 단말관리 서버의 소스 포트로 고정 하고, 상기 NAT 환경에서 할당된 포트를 목적지 포트로 설정하여 요청 메시지가 전달되는 단계; 및Fixing a destination port of the fixed terminal as a source port of the terminal management server, and setting a port assigned as the destination port in the NAT environment to transmit a request message; And 상기 요청 메시지의 목적지 포트가 상기 고정된 단말의 소스 포트로 변환되어, 상기 단말에 상기 요청 메시지가 전달되는 단계를 포함하는 홀 펀칭 방법.And converting a destination port of the request message into a source port of the fixed terminal, and transmitting the request message to the terminal. NAT 환경에서 단말을 관리 하는 단말 관리 시스템에 있어서,In a terminal management system for managing a terminal in a NAT environment, SIP 메시지를 생성하여 관리 대상이 되는 단말로 호 생성 메시지를 전달하는 통화 호 발생기, 및A call call generator for generating a SIP message and delivering a call generation message to a terminal to be managed; and 상기 단말과 소정 형식의 메시지를 교환하여 상기 단말에 발생한 이벤트 정보를 수집하고, 상기 단말에 필요한 설정 및 제어를 실행하는 단말관리서버를 포함하고,And a terminal management server which exchanges a message of a predetermined format with the terminal, collects event information generated in the terminal, and executes setting and control necessary for the terminal. 상기 호 생성 메시지에 대응하여 상기 단말관리서버로 트랩 메시지가 전달되면, 상기 단말관리 서버는 상기 단말에 요청 메시지를 전송하여 상기 단말과 상기 단말관리 서버에 UDP(user datagram protocol) 홀이 형성되는 단말 관리 시스템.When a trap message is transmitted to the terminal management server in response to the call generation message, the terminal management server transmits a request message to the terminal to form a user datagram protocol (UDP) hole in the terminal and the terminal management server. Management system. 제4항에 있어서,The method of claim 4, wherein 상기 트랩 메시지는 상기 단말의 소스 포트 및 단말의 목적지 포트 각각을 고정하여 상기 단말 관리 서버로 전송되고, 상기 고정된 단말의 소스 포트가 상기 NAT 환경에 할당된 포트로 변환되어 상기 단말관리 서버로 전달되는 단말 관리 시스템.The trap message is transmitted to the terminal management server by fixing each of the source port of the terminal and the destination port of the terminal, the source port of the fixed terminal is converted into a port assigned to the NAT environment and transmitted to the terminal management server. Terminal management system. 제5항에 있어서,The method of claim 5, 상기 단말 관리 서버는,The terminal management server, 상기 고정된 단말의 목적지 포트를 상기 단말 관리 서버의 소스 포트로 고정하고, 상기 NAT 환경에서 할당된 포트를 목적지 포트로 설정하여 상기 요청 메시지를 송출하는 단말 관리 시스템.A terminal management system for transmitting the request message by fixing the destination port of the fixed terminal to the source port of the terminal management server, the port assigned in the NAT environment as a destination port. 제6항에 있어서,The method of claim 6, 상기 요청 메시지의 목적지 포트가 상기 고정된 단말의 소스 포트로 변환되어, 상기 단말에 상기 요청 메시지가 전달되는 단말 관리 시스템.And a destination port of the request message is converted into a source port of the fixed terminal, so that the request message is delivered to the terminal. NAT 환경에서 단말을 관리하는 관리 방법에 있어서,In a management method for managing a terminal in a NAT environment, 호 생성을 위한 호 생성 메시지가 생성되어 상기 단말로 전달하는 단계Generating a call generation message for call generation and transmitting the call generation message to the mobile station; 상기 단말로부터 상기 호 생성 메시지에 대응하는 트랩(trap) 메시지가 상기 단말관리 서버로 전달되는 단계 Transmitting a trap message corresponding to the call generation message from the terminal to the terminal management server; 상기 트랩 메시지에 대응하여 상기 단말관리 서버로부터 상기 단말에 요청 메시지가 전달되어 UDP 홀이 생성되는 단계 및Generating a UDP hole by transmitting a request message from the terminal management server to the terminal in response to the trap message; and 상기 형성된 UDP 홀을 이용하여 상기 단말에 발생한 이벤트 정보를 수집하고, 상기 단말에 필요한 설정 및 제어를 실행하는 단계를 포함하는 단말 관리 방법.And collecting event information generated in the terminal by using the formed UDP hole, and executing setting and control necessary for the terminal. 제8항에 있어서,The method of claim 8, 상기 트랩 메시지가 전달되는 단계는,The step of transmitting the trap message, 상기 단말의 소스 포트 및 단말의 목적지 포트 각각을 고정하여 트랩 메시지를 송출하는 단계 및Transmitting a trap message by fixing each of the source port and the destination port of the terminal; 상기 고정된 단말의 소스 포트가 상기 NAT 환경에 할당된 포트로 변환되어 상기 단말관리 서버로 전달되는 단계를 포함하는 단말 관리 방법.And converting the source port of the fixed terminal into a port assigned to the NAT environment and transmitting the converted port to the terminal management server. 제9항에 있어서,10. The method of claim 9, 상기 UDP 홀이 생성되는 단계는,The step of generating the UDP hole, 상기 고정된 단말의 목적지 포트를 상기 단말관리 서버의 소스 포트로 고정하고, 상기 NAT 환경에서 할당된 포트를 목적지 포트로 설정하여 요청 메시지가 전달되는 단계 및Fixing a destination port of the fixed terminal as a source port of the terminal management server, setting a port assigned in the NAT environment as a destination port, and transmitting a request message; 상기 요청 메시지의 목적지 포트가 상기 고정된 단말의 소스 포트로 변환되어, 상기 단말에 상기 요청 메시지가 전달되는 단계를 포함하는 단말 관리 방법.And converting a destination port of the request message into a source port of the fixed terminal and transmitting the request message to the terminal.
KR1020090009540A 2009-02-06 2009-02-06 GPD hole punching method using SIP, terminal management system and terminal management method using same KR101049549B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090009540A KR101049549B1 (en) 2009-02-06 2009-02-06 GPD hole punching method using SIP, terminal management system and terminal management method using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090009540A KR101049549B1 (en) 2009-02-06 2009-02-06 GPD hole punching method using SIP, terminal management system and terminal management method using same

Publications (2)

Publication Number Publication Date
KR20100090338A true KR20100090338A (en) 2010-08-16
KR101049549B1 KR101049549B1 (en) 2011-07-14

Family

ID=42755919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090009540A KR101049549B1 (en) 2009-02-06 2009-02-06 GPD hole punching method using SIP, terminal management system and terminal management method using same

Country Status (1)

Country Link
KR (1) KR101049549B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101253025B1 (en) * 2011-04-12 2013-04-16 주식회사 엘지유플러스 System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof
KR20170040649A (en) 2015-10-05 2017-04-13 주식회사 케이티 Method for remotely controlling of internet phone terminal and system therefor
CN110636039A (en) * 2019-07-31 2019-12-31 浙江工业大学 Intelligent household encryption control management method based on intranet penetration technology

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101393017B1 (en) 2013-07-01 2014-05-09 주식회사 엘지유플러스 Hole punching distribution system for controlling significant terminals and method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7492764B2 (en) * 2004-10-12 2009-02-17 Innomedia Pte Ltd System for management of equipment deployed behind firewalls
KR100844380B1 (en) * 2006-11-07 2008-07-07 주식회사 케이티 Appratus for managing subscriber terminal and method thereof, recording medium for realizing the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101253025B1 (en) * 2011-04-12 2013-04-16 주식회사 엘지유플러스 System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof
KR20170040649A (en) 2015-10-05 2017-04-13 주식회사 케이티 Method for remotely controlling of internet phone terminal and system therefor
CN110636039A (en) * 2019-07-31 2019-12-31 浙江工业大学 Intelligent household encryption control management method based on intranet penetration technology

Also Published As

Publication number Publication date
KR101049549B1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
EP2012502B1 (en) Method for managing user side device through nat gateway
US7430664B2 (en) System and method for securely providing a configuration file over and open network
TWI408936B (en) Network traversal method and network communication system
EP2220852B1 (en) Communicating a selection of a potential configuration
JP2007096827A (en) Information processing system, tunnel communication apparatus, tunnel communication method, proxy response apparatus, and proxy response method
CA2645331A1 (en) A method for configuring remote ip phones
CN101702718A (en) Method and device for managing user terminal equipment
CN102780675B (en) Transmission method, device and system for streaming media service
JP4712481B2 (en) Communication method and apparatus
KR101231672B1 (en) Method and system for generic ip multimedia residential gateways
KR101049549B1 (en) GPD hole punching method using SIP, terminal management system and terminal management method using same
CN112073244A (en) TR069 protocol-based message processing method and system
JP2004208101A (en) Gateway and communication method therefor
US20070058617A1 (en) Method for establishing and maintaining a connection
JP2005269348A (en) Communication system, and gateway unit
JP2008258917A (en) Identical nat subordinate communication control system, nat device, identical nat subordinate communication control method, and program
JP2004194313A5 (en)
JP2008507156A (en) Method and system for controlling indoor equipment from outside
KR100660123B1 (en) Vpn server system and vpn terminal for a nat traversal
JPWO2017164132A1 (en) Management device, L3CPE, and control method thereof
JP2013115639A (en) Telephone device and telephone system
JP2005252809A (en) Premise system for ip phone and speech transfer method
JP2010278858A (en) Communication network system, terminal setting method and ip telephone set
JP4648436B2 (en) Packet distribution device, communication system, packet processing method, and program
JP4728933B2 (en) IP telephone communication system, IP telephone communication method, and program 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
FPAY Annual fee payment

Payment date: 20140414

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150513

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160407

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170510

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190521

Year of fee payment: 9