KR20130085556A - Method for authenticating of message and ip-pbx system for the same - Google Patents

Method for authenticating of message and ip-pbx system for the same Download PDF

Info

Publication number
KR20130085556A
KR20130085556A KR1020110139023A KR20110139023A KR20130085556A KR 20130085556 A KR20130085556 A KR 20130085556A KR 1020110139023 A KR1020110139023 A KR 1020110139023A KR 20110139023 A KR20110139023 A KR 20110139023A KR 20130085556 A KR20130085556 A KR 20130085556A
Authority
KR
South Korea
Prior art keywords
stun
server
message
call
protocol
Prior art date
Application number
KR1020110139023A
Other languages
Korean (ko)
Other versions
KR101613747B1 (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 KR1020110139023A priority Critical patent/KR101613747B1/en
Publication of KR20130085556A publication Critical patent/KR20130085556A/en
Application granted granted Critical
Publication of KR101613747B1 publication Critical patent/KR101613747B1/en

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A method for message authentication and an IP-PBX system for the same are provided to perform message authentication that is suitable for detecting packet interception and/or replay attack using a source IP address. CONSTITUTION: An IP-PBX system (200) comprises a call server (210) for call processing, a plurality of non-NAT (non-network address translation) routers (220,240), an NAT router (230), a simple traversal of user datagram protocol through NATs (STUN) client (250), an IP phone (260), and various gateways (270,280) including a station line or private branch gateways. The IP-PBX system has a client-to-server structure having the call server at the center. A call signaling for call processing is carried out between the call server and the IP phone, which is a client, or among the call server and gateways. A server integration of the call server and a STUN server and a channel integration of a message channel for call processing and a STUN message channel are required for bidirectional communications among the call server, the IP phone, and the gateways in the NAT environment.

Description

메시지 인증 방법 및 그를 위한 IP-PBX 시스템{METHOD FOR AUTHENTICATING OF MESSAGE AND IP-PBX SYSTEM FOR THE SAME} Message authentication method and IP-PB system for it {METHOD FOR AUTHENTICATING OF MESSAGE AND IP-PBX SYSTEM FOR THE SAME}

본 발명은 NAT(network address translation) 환경에서 VoIP(voice over internet protocol) 장치들간 송수신되는 패킷들의 무결성 검사, 특히 발신지 IP 주소를 사용하여 패킷 가로채기, 재전송 공격을 감지하기 위한 메시지 인증 방법 및 그를 위한 IP-PBX 시스템에 관한 것이다.The present invention provides a message authentication method for detecting integrity of packets transmitted and received between voice over internet protocol (VoIP) devices in a network address translation (NAT) environment, in particular, packet interception and retransmission attacks using a source IP address, and a method for the same. It relates to an IP-PBX system.

네트워크 주소 변환(Network Addressable Translation, 이하 NAT라함)은 OSI(open system interconnection) 모델의 3계층인 네트워크 계층에서 사설 IP 주소를 공인 IP 주소로 변환하는데 사용하는 통신망의 주소 변환기로서, 인터넷의 공인 IP 주소는 한정되어 있기 때문에 가급적 이를 공유할 수 있도록 하는 것이 필요한데 NAT를 이용하면 사설 IP 주소를 사용하면서 이를 공인 IP 주소와 상호 변환할 수 있도록 하여 공인 IP 주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약할 수 있는 것이다.Network Addressable Translation (NAT) is a network address translator used to translate private IP addresses into public IP addresses at the network layer, the third layer of the OSI (open system interconnection) model. Is limited, so it is necessary to be able to share it as much as possible. By using NAT, you can use private IP addresses and convert them with public IP addresses, which can be saved by allowing multiple public IP addresses to be used together. It is.

NAT 환경 하에서의 패킷 통신은 NAT 라우터에서의 주소 변환으로 인하여 특정한 구성에 있어서 네트워크 장치 간의 양방향 패킷 교환을 불가능하게 한다. 이를 부분적으로나마 해결하기 위한 방법으로서 STUN (Simple traversal of UDP Through NATs) 프로토콜이 제안되었다.Packet communication in a NAT environment disables bidirectional packet exchange between network devices in certain configurations due to address translation in the NAT router. As a method to partially solve this problem, a simple traversal of UDP through NATs (STUN) protocol has been proposed.

도 1 내지 도 4는 IP-PBX 시스템의 구성을 보이는 예시도이다. 1 to 4 are exemplary views showing the configuration of an IP-PBX system.

STUN 시스템은 공인 IP 주소를 갖는 STUN 서버(10)와 NAT 라우터(30) 뒤에 설치되어 사설 IP 주소를 갖는 STUN 클라이언트들(40)로 구성되어 있다. STUN 클라이언트들(40)이 외부로 전송하는 패킷은 NAT 라우터(30)를 거치면서 NAT 라우터(30)의 공인 IP 주소와 함께 동적으로 할당되는 Transport Layer (TCP 또는 UDP) 포트 번호에 매핑(Mapping) 된다. 일 실시예로서, STUN Client-1(40a)으로부터 전송된 패킷이 발신지 IP 주소 192.168.100.1과 발신지 UDP 포트 번호 1000을 가지고 있었다면, 이 패킷은 NAT Router-1(30a)을 지나면서 발신지 IP 주소가 110.110.110.1로 변경되고 발신지 UDP 포트 번호는 동적으로 할당되어 (예를 들면, 2000) 발신지 UDP 포트 번호가 동적으로 할당된 값으로 변경된다.The STUN system is composed of a STUN server 10 having a public IP address and a STUN client 40 having a private IP address installed behind the NAT router 30. Packets sent to the outside by the STUN clients 40 are mapped to a Transport Layer (TCP or UDP) port number that is dynamically allocated along with the public IP address of the NAT router 30 through the NAT router 30. do. As an example, if a packet sent from STUN Client-1 40a had source IP address 192.168.100.1 and source UDP port number 1000, then the packet would pass through NAT Router-1 30a and the source IP address would To 110.110.110.1 and the source UDP port number is dynamically assigned (eg 2000) so that the source UDP port number is changed to the dynamically assigned value.

이러한 주소 변환이 STUN 클라이언트(40)에서 전송되는 첫 패킷이 NAT 라우터(30)를 통과할 때 이루어져 매핑 테이블(Mapping Table) 항목이 생성되기 때문에, STUN Client-1(40a)과 STUN Client-2(40b)는 사전에 어떠한 IP 주소 및 포트 번호로 매핑이 이루어질 것인지 알 수 없고, 이러한 이유로 상대방에게 직접 패킷을 전송하는 것이 불가능해진다.Since this address translation is performed when the first packet transmitted from the STUN client 40 passes through the NAT router 30, a mapping table entry is generated. Thus, STUN Client-1 (40a) and STUN Client-2 ( 40b) does not know in advance which IP address and port number will be mapped, and for this reason it is impossible to send a packet directly to the other party.

NAT 라우터(30) 뒤에 설치되어 있는 STUN 클라이언트(40)가 자신의 NAT 매핑 정보를 얻기 위해서 바인딩 요청 메시지(Binding Request message)를 STUN 서버(10)에 보내고, STUN 서버(10)는 MAPPED-ADDRESS 필드에 NAT 라우터(30)에 의해 매핑 및 변경된 IP 주소/포트 번호를 입력하여 바인딩 응답(Binding Response) 메시지를 전송하여 STUN 클라이언트(40)에 주소 매핑(Address Mapping) 정보를 제공한다. 따라서, 이 과정을 거치게 되면 STUN 클라이언트(40)는 자신이 외부로 전송한 패킷이 어떠한 IP 주소 및 포트 번호에 매핑 되는지 알 수 있게 된다.The STUN client 40 installed behind the NAT router 30 sends a binding request message to the STUN server 10 to obtain its NAT mapping information. The STUN server 10 sends a MAPPED-ADDRESS field. The IP address / port number mapped and changed by the NAT router 30 is input to transmit a binding response message to the STUN client 40 to provide address mapping information. Therefore, the STUN client 40 can go through this process to know which IP address and port number the packet transmitted to the outside is mapped to.

NAT는 크게 Cone NAT와 Symmetric NAT 분류된다. Cone NAT에서는 STUN 클라이언트의 발신지 IP와 포트만 동일하다면 상대방의 IP 주소와 포트에 관계없이 패킷 교환을 수행할 수 있지만, Symmetric NAT에서는 특정 발신지 IP 주소 및 포트와 목적지 IP 주소 포트에 대해서 주소 매핑이 이루어지기 때문에 서로 다른 목적지 IP 주소 및 포트에 대해서 서로 다른 매핑이 이루어진다.NAT is largely classified into Cone NAT and Symmetric NAT. In Cone NAT, packet exchange can be performed regardless of the other party's IP address and port as long as the STUN client's source IP and port are the same. In Symmetric NAT, address mapping is performed for a specific source IP address and port and destination IP address port. Therefore, different mappings are made for different destination IP addresses and ports.

일 실시예로서, Cone NAT의 경우 상기한 바와 같이 STUN 클라이언트-1(40a)의 192.168.100.1:1000에서 STUN 서버(10)로 전송될 때 생성된 주소 매핑인 110.110.100.1:2000이 STUN 클라이언트-2(40b)로부터의 패킷에도 적용되어 STUN 클라이언트-2(40b)로부터 110.110.100.1:2000으로 전송된 패킷이 STUN 클라이언트-1(40a)에 전달될 수 있다.As an example, in the case of Cone NAT, 110.110.100.1:2000, which is an address mapping generated when the STUN client-1 (40a) is transmitted from the 192.168.100.1:1000 of the STUN server 10 as described above, to the STUN client- A packet transmitted from STUN client-2 40b to 110.110.100.1:2000 may also be delivered to STUN client-1 40a, as applied to packets from two 40b.

Symmetric NAT의 경우 기존의 주소 매핑인 110.110.110.1:2000은 STUN 클라이언트-1(40a)의 192.168.100.1:1000과 STUN 서버(10) 간의 패킷에 대한 것이기 때문에, STUN 클라이언트-2(40b)로부터 110.110.110.1.:2000으로 전송되는 패킷은 NAT 라우터-1(30a) 상에 주소 매핑 테이블 항목이 존재하지 않아 NAT 라우터-1(30a)에서 제거된다(Discard).In the case of Symmetric NAT, the existing address mapping 110.110.110.1:2000 is for the packet between 192.168.100.1:1000 of STUN client-1 (40a) and STUN server 10, so it is 110.110 from STUN client-2 (40b). A packet transmitted to .110.1.: 2000 is discarded from NAT router-1 30a because there is no address mapping table entry on NAT router-1 30a.

실제 네트워크 환경에서는 Cone NAT 보다 Symmetric NAT가 일반적으로 사용되고 있기 때문에, STUN 프로토콜의 적용 범위는 다소 제한적일 수 밖에 없고, VoIP 장치들의 설치 및 운용에 있어서 제한 요소로 작용하는 문제점이 있다.Since a symmetric NAT is generally used rather than a Cone NAT in a real network environment, the scope of application of the STUN protocol is limited to some extent, and there is a problem in that it is a limiting factor in the installation and operation of VoIP devices.

한국 공개 특허 제10-2004-0058641호 (2004.07.05. 공개)Korean Patent Publication No. 10-2004-0058641 (published Jul. 5, 2004)

본 발명은 패킷 보안과 관련된 것으로, NAT(network address translation) 환경에서 VoIP(voice over internet protocol) 장치들간 송수신되는 패킷들의 무결성 검사, 특히 발신지 IP 주소를 사용하여 패킷 가로채기, 재전송 공격을 감지하기 위한 메시지 인증 방법 및 그를 위한 IP-PBX 시스템을 제공한다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to packet security. The present invention relates to integrity checking of packets transmitted and received between voice over internet protocol (VoIP) devices in a network address translation (NAT) environment, particularly for detecting packet interception and retransmission attacks using source IP addresses. A message authentication method and an IP-PBX system therefor are provided.

본 발명의 IP-PBX 시스템은, STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하여 IP 주소 기반 메시지의 인증을 수행한다.The IP-PBX system of the present invention integrates a STUN server and a call server so that the STUN (Simple Traversal of UDP Through NATs) protocol and the communication protocol for call processing use the same communication channel to perform authentication of an IP address-based message. .

또한 본 발명의 메시지 인증 방법은, a) STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하는 단계; 및 b) 상기 통합된 STUN 서버 및 콜 서버를 이용하여 IP 주소 기반 메시지의 인증을 수행하는 단계를 포함한다.In addition, the message authentication method of the present invention comprises the steps of: a) integrating a STUN server and a call server such that a simple traversal of UDP Through NATs (STUN) protocol and a communication protocol for call processing use the same communication channel; And b) authenticating an IP address-based message using the integrated STUN server and call server.

본 발명에 따르면, NAT(network address translation) 환경 하에서 VoIP 장치들간에 송수신되는 패킷들의 무결성 검사, 특히 발신지 IP 주소를 사용하여 패킷 가로채기/재전송 공격을 감지하기에 적당한 메시지 인증(Message Authentication) 을 수행할 수 있다.According to the present invention, an appropriate message authentication is performed to detect packet interception / retransmission attacks using integrity check of packets transmitted and received between VoIP devices in a network address translation (NAT) environment, especially source IP address. can do.

도 1 내지 도 4는 IP-PBX 시스템의 구성을 보이는 예시도.
도 5 및 도 6은 본 발명의 실시예에 따른 메시지 인증 방법을 보이는 예시도.
도 7 내지 도 10은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도.
도 11은 본 발명의 실시예에 따른 패킷을 구분하여 호 처리 모듈과 STUN 처리 모듈로 분배하는 방식을 보이는 예시도.
도 12는 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도.
도 13 내지 도 16은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도.
도 17은 본 발명의 실시예에 따른 STUN 서버와 클라이언트가 송수신하는 메시지를 보이는 예시도.
도 18은 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도.
도 19는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도.
도 20은 본 발명의 실시예에 따른 STUN 서버와 클라이언트가 송수신하는 메시지를 보이는 예시도.
도 21은 본 발명의 실시예에 따른 클라이언트에서의 메시지 흐름을 보이는 예시도.
도 22는 본 발명의 실시예에 따른 서버에서의 메시지 흐름을 보이는 예시도.
1 to 4 are exemplary views showing the configuration of an IP-PBX system.
5 and 6 are exemplary views showing a message authentication method according to an embodiment of the present invention.
7 to 10 are exemplary views showing the configuration of an IP-PBX system according to an embodiment of the present invention.
11 is an exemplary view showing a method of classifying packets according to an embodiment of the present invention and distributing them to a call processing module and a STUN processing module.
12 is an exemplary view showing a configuration of a virtual protocol packet header according to an embodiment of the present invention.
13 to 16 are exemplary views showing the configuration of an IP-PBX system according to an embodiment of the present invention.
17 is an exemplary view showing a message transmitted and received between the STUN server and the client according to an embodiment of the present invention.
18 is an exemplary view showing a configuration of a virtual protocol packet header according to an embodiment of the present invention.
19 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.
20 is an exemplary view showing a message transmitted and received between the STUN server and the client according to an embodiment of the present invention.
21 is an exemplary view showing a message flow in a client according to an embodiment of the present invention.
22 is an exemplary view showing a message flow in a server according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명의 실시예들에 대해 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions will not be described in detail if they obscure the subject matter of the present invention.

메시지 인증(Message Authentication)은 메시지의 무결성 (Integrity)을 검사하기 위한 방법으로 메시지 자체를 암호화하기 보다는 메시지를 대상으로 해쉬 함수(Hash Function)를 이용하여 해당 메시지 특유의 코드(Code) 값을 계산한다. 이러한 코드값 계산을 위해서는 비밀키(Secret Key)를 필요로 하고, 동일한 비밀키를 공유하는 네트워크 장치들이 전송된 메시지에 대하여 동일한 계산을 통해 해당 메시지가 발신자에 의해서 전송된 그대로 수신자에게 도달하였는지 검사한다. 이러한 MAC(Message Authentication Code)의 계산에는 다양한 암호 작성 해쉬 함수(Cryptographic Hash Function)들이 사용될 수 있고, 비밀키의 교환에도 다양한 방법이 사용될 수 있다. 본 실시예는 특정 해쉬 함수나 비밀키 교환 방식에 관계 없이 적용 가능하다.Message Authentication is a method of checking the integrity of a message. Instead of encrypting the message itself, Message Authentication calculates the code value specific to the message using a hash function for the message. . To calculate the code value, a secret key is required, and network devices sharing the same secret key use the same calculation on the transmitted message to check whether the message reaches the receiver as sent by the sender. . Various cryptographic hash functions (Cryptographic Hash Function) can be used to calculate the message authentication code (MAC), and various methods can be used to exchange secret keys. This embodiment is applicable regardless of a specific hash function or secret key exchange method.

도 5는 본 발명의 실시예에 따른 메시지 인증 방법을 보이는 예시도이다.5 is an exemplary view showing a message authentication method according to an embodiment of the present invention.

도 5를 참조하면, 메시지가 중간에 변경되었을 경우 발신자에 의해서 계산 및 삽입된 MAC 값과 수신자에 의해서 계산된 MAC 값이 달라지기 때문에 수신자는 이를 감지할 수 있다. 이러한 MAC 값은 발신자와 수신자 사이에서만 공유되는 비밀키 값으로 계산되기 때문에, 중간에 다른 네트워크 장치가 메시지를 가로채어 메시지 변경 후 올바른 MAC 값을 계산하여 재삽입할 수 없다. 이러한 메시지 인증은 메시지를 암호화하는 방법보다 네트워크 장치의 Load를 감소시키기 때문에 무결성 검사로 충분한 경우 단독으로 사용되고, 암호화 자체는 무결성을 보장해 주지 못하기 때문에 암호화와 병행하여 사용하기도 한다.Referring to FIG. 5, when a message is changed in the middle, the MAC value calculated and inserted by the sender and the MAC value calculated by the receiver are different, and thus the receiver may detect the message. Since this MAC value is calculated as a secret key value that is shared only between the sender and the receiver, other network devices can intercept the message and calculate and reinsert the correct MAC value after changing the message. Since message authentication reduces the load on the network device rather than encrypting the message, integrity checking is used alone when sufficient, and encryption is sometimes used in conjunction with encryption because it does not guarantee integrity.

도 6은 본 발명의 실시예에 따른 메시지 인증 방법을 보이는 예시도이다.6 is an exemplary view showing a message authentication method according to an embodiment of the present invention.

도 6을 참조하면, 발신자의 발신지 IP 주소를 사용하여 MAC을 계산하면 제3자가 패킷을 중간에 가로채어 변경한 후 다시 전송하고, 이후 자신의 IP 주소로 이어지는 패킷을 수신하는 형태의 공격을 감지할 수 있게 된다. 이를 위해서는 메시지 내부에 항상 발신지 IP 주소를 포함시키는 방법도 있지만 이러한 경우 불필요하게 발신지 IP 주소를 추가로 전송해야 하기 때문에, 비밀키와 발신지 IP 주소를 사용하여 새로운 키 값을 생성하는 방법을 사용할 수 있다. 수신측에서는 수신한 패킷의 IP 헤더로부터 발신지 IP 주소를 추출하여, 발신자와 동일하게 새로운 키값을 생성한 후 MAC을 계산 및 비교한다.Referring to FIG. 6, when the MAC is calculated using the sender's source IP address, a third party intercepts the packet in the middle, changes the packet, transmits the packet again, and then detects an attack of receiving a packet leading to its own IP address. You can do it. To do this, you can always include the source IP address in the message, but in this case you need to send additional source IP addresses unnecessarily, so you can use a secret key and source IP address to generate a new key value. . The receiving side extracts the source IP address from the IP header of the received packet, generates a new key value like the sender, and calculates and compares the MAC.

- NAT/STUN 환경에서의 발신지 주소 기반 메시지 인증-Source address based message authentication in NAT / STUN environment

도 7은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.7 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

NAT 환경에서는 발신자 장치에서 전송한 패킷의 발신지 IP 주소가 NAT 라우터에 의해서 변경되기 때문에, 만약 발신자 장치가 자신의 IP 주소 (일반적으로 사설 IP 주소)를 사용하여 MAC을 계산하는 경우, 수신측에서는 NAT 라우터(30)에 의해서 변경된 IP 헤더 내의 발신지 IP 주소 (일반적으로 공인 IP 주소)를 사용하여 MAC을 계산하기 때문에 메시지 인증이 실패하게 된다. 따라서 NAT 환경에서는 STUN을 사용하여 STUN 서버(10)로부터 바인딩 응답(Binding Response)를 통해 전달되는 매핑된 주소(MAPPED-ADDRESS)를 사용하여 MAC을 계산한 후 목적지인 피어(Peer) PC(60)로 패킷을 전달하게 되고, 매핑된 주소가 NAT 라우터(30)에 의해서 변경된 발신지 IP 주소와 동일하기 때문에 수신측인 피어 PC(60) 에서의 메시지 인증은 성공하게 된다.In a NAT environment, the source IP address of a packet sent by the sender device is changed by the NAT router, so if the sender device uses its own IP address (typically a private IP address) to compute the MAC, the receiver will use the NAT router. Message authentication fails because the MAC is calculated using the source IP address (generally the public IP address) in the IP header changed by (30). Therefore, in a NAT environment, a MAC is calculated using a mapped address (MAPPED-ADDRESS) transmitted through a binding response from a STUN server 10 using STUN, and then a peer PC 60 as a destination. Since the packet is forwarded to the packet, and the mapped address is the same as the source IP address changed by the NAT router 30, message authentication at the receiving peer PC 60 succeeds.

도 8은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.8 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

도 8에서 보이는 바와 같이 NAT 라우터(30a, 30b)가 직렬로 연결되어 있는 경우에는 메시지 인증이 정상적으로 이루어지지 않을 수 있다. STUN 클라이언트(40)가 STUN 서버(10)로부터 바인딩 응답를 받을 때 매핑된 주소에는 STUN 클라이언트(40)와 STUN 서버(10) 사이에 있는 최종 NAT 라우터인 NAT 라우터-1(30a)에서 변경한 발신지 IP 주소가 포함된다. 따라서 STUN 클라이언트(40)에서의 MAC 계산 시에는 매핑된 주소를 사용하게 되지만, 최종 NAT 라우터인 NAT 라우터-1(30a)의 안쪽에 위치한 피어 PC-1(60a)의 경우에는 NAT 라우터-2(30b)에서 변경한 발신지 IP 주소로 MAC을 계산하기 때문에 메시지 인증은 실패하게 된다.As shown in FIG. 8, when NAT routers 30a and 30b are connected in series, message authentication may not be normally performed. When the STUN client 40 receives the binding response from the STUN server 10, the mapped address has the source IP changed by NAT router-1 30a, the final NAT router between the STUN client 40 and the STUN server 10. The address is included. Therefore, the MAC address in STUN client 40 uses the mapped address, but in the case of peer PC-1 60a located inside NAT router-1 30a, the final NAT router, NAT router-2 ( Message authentication fails because the MAC is calculated from the source IP address changed in 30b).

도 9는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.9 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

도 9에서 보이는 바와 같이 IP-PBX 시스템(200)은 호 처리 (Call Processing)를 위한 콜 서버(Call Server)(210), 비 NAT 라우터(220, 240), NAT 라우터(230), STUN 클라이언트(250), IP 전화기(260) 및 국선 또는 내선 게이트웨이 등을 포함하는 다양한 종류의 게이트웨이(270, 280)를 포함한다. IP-PBX 시스템(200)은 콜 서버(210)를 중심으로 하는 클라이언트/서버 구조를 갖는다. 호 처리를 위한 호 시그널링(Call Signaling)가 콜 서버(210)와 클라이언트인 IP 전화기(260) 또는 게이트웨이(270, 280) 간에만 이루어진다.As shown in FIG. 9, the IP-PBX system 200 includes a call server 210, non-NAT routers 220 and 240, a NAT router 230, and a STUN client (Call Server) for call processing. Various types of gateways 270 and 280 including 250, IP telephone 260, trunk line or extension gateway, and the like. The IP-PBX system 200 has a client / server structure around the call server 210. Call signaling for call processing is performed only between the call server 210 and the client IP phone 260 or gateways 270 and 280.

NAT 환경 하에서 콜 서버(210)와 IP 전화기(260) 또는 게이트웨이(270, 280) 간의 양방향 통신을 위해서는 기존 기술의 제약에서 벗어나 콜 서버(210)로의 STUN 서버 통합과 호 처리 메시지 채널과 STUN 메시지 채널의 통합이 필요하다.For two-way communication between the call server 210 and the IP phone 260 or gateways 270 and 280 in a NAT environment, STUN server integration and call processing message channel and STUN message channel to the call server 210 without limitation of the existing technology. Need integration.

NAT의 종류 중 Cone NAT 환경에서의 제약은 기존의 STUN 프로토콜을 사용하여 해결 가능하지만, 일반적으로 많이 사용되는 Symmetric NAT의 경우에는 STUN 프로토콜을 사용할 수 없으며, 이를 해결하기 위해서는 STUN 서버의 IP 주소와 포트 번호가 실제 목적지 네트워크 장치의 IP 주소 및 포트 번호와 일치해야 한다.The limitation of Cone NAT environment among NAT types can be solved by using the existing STUN protocol. However, in case of commonly used Symmetric NAT, STUN protocol cannot be used. To solve this problem, IP address and port of STUN server are solved. The number must match the IP address and port number of the actual destination network device.

도 10은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.10 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

도 10에서 보이는 바와 같이 동일한 통신 채널을 호 처리 메시지와 STUN 메시지가 공유할 수 있도록 하기 위해서는 STUN 서버를 콜 서버에 통합시켜야 함과 동시에 STUN 프로토콜 자체를 VoIP 호 시그널링 프로토콜과 같은 통신 채널 (Socket)을 사용하도록 통합해야 한다. 이러한 통합을 위한 방법에는, 호 처리를 위한 모듈과 STUN 처리를 위한 모듈을 별도로 운용하면서 이러한 두 모듈의 앞에서 패킷을 구분하여 분배하는 방식과, 호 처리를 위한 통신 프로토콜에 STUN 프로토콜 메시지 자체를 통합하여 구현하는 방식이 있을 수 있다.As shown in FIG. 10, in order to allow the same communication channel to be shared between the call processing message and the STUN message, the STUN server must be integrated with the call server, and the STUN protocol itself can be connected to a communication channel such as a VoIP call signaling protocol. Should be integrated for use. In this method of integration, a module for call processing and a STUN processing module are separately operated, and the packets are divided and distributed in front of these two modules, and the STUN protocol message itself is integrated into a communication protocol for call processing. There may be a way to implement it.

패킷을 구분하여 호 처리 모듈과 STUN 처리 모듈로 분배하는 방식은 SIP (Session Initiation Protocol) 등의 표준 VoIP 시그널링 프로토콜에 적당한 방식으로, STUN 프로토콜과 VoIP 시그널링 프로토콜의 패킷 형태의 차이점 등을 이용하여 패킷을 구분 및 분배한다. 이러한 방법을 사용하면 메시지의 구분과 분배에 시스템의 부하(Load)가 걸리기 때문에 비효율적이나, 기존의 표준 VoIP 프로토콜을 수정하지 않고 적용가능하며, 소스 코드(Source Code)가 제공되지 않아 VoIP 프로토콜 내부를 수정할 수 없는 경우에는 구현을 위한 유일한 방법이 될 수 있다. 도 11은 패킷을 구분하여 호 처리 모듈과 STUN 처리 모듈로 분배하는 방식을 나타낸다.The method of classifying packets and distributing them to the call processing module and the STUN processing module is suitable for standard VoIP signaling protocols such as Session Initiation Protocol (SIP). Classify and distribute. This method is inefficient because the system load is required to classify and distribute the message, but it can be applied without modifying the existing standard VoIP protocol. If it can't be modified, it can be the only way to implement it. 11 illustrates a method of dividing packets into a call processing module and a STUN processing module.

VoIP 장비 제조사별 비표준 (Non-Standard / Proprietary) 프로토콜을 사용하는 경우에는 STUN 프로토콜 전체 또는 필요한 부분만을 통합하여 이용하는 방법이 효율적이다.In case of using non-standard (proprietary) protocol by VoIP equipment manufacturer, it is efficient to integrate all or part of STUN protocol.

도 12는 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도이다.12 is an exemplary view showing a configuration of a virtual protocol packet header according to an embodiment of the present invention.

도 12에서 보이는 바와 같이 가상의 프로토콜 패킷 헤더는 프로토콜별로 호 처리 메시지의 의미와 데이터를 주고받기 위한 형식이 있는데, 이들 중 메시지의 타입과 종류를 나타내는 필드에 추가적으로 STUN 메시지를 위한 항목들을 정의하여 구현할 수 있다. 이러한 방법을 사용하면 기존의 VoIP 시그널링 프로토콜과 밀결합되어 오버로드(Overload)가 발생되지 않아 호 처리 메시지와 STUN 메시지를 통합 운용할 수 있다.As shown in FIG. 12, the virtual protocol packet header has a format for exchanging data and meaning of a call processing message for each protocol. Among these, a field for indicating a type and type of a message may be additionally defined to define items for a STUN message. Can be. Using this method, it is tightly coupled with the existing VoIP signaling protocol so that an overload does not occur so that call processing and STUN messages can be integrated.

메시지 인증에 있어서 비밀키와 발신지 IP 주소를 결합하여 새로운 해쉬 함수 키(Hash Function Key) 값을 생성하는 경우, 기존의 기술을 사용하면 인증 실패(Authentication Failure)가 발생하는 경우가 생기게 된다. 이러한 경우 중 일부는 콜 서버와 STUN 서버의 통합으로 해결된다.In the case of message authentication, when a new hash function key value is generated by combining a secret key and a source IP address, an authentication failure may occur when using an existing technique. Some of these cases are solved by integrating the call server with the STUN server.

도 13은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.13 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

도 13에서 보이는 바와 같이 콜 서버와 STUN 서버가 통합되어 있기 때문에 NAT 환경의 어느 위치에서 바인딩 요청(Binding Request)을 보내더라도 적절한 매핑된 주소를 포함한 바인딩 응답이 STUN 클라이언트에게 전달된다. IP-전화기-1(340a)과 IP-전화기-2(340b)의 경우에는 모두 NAT-라우터-2(330b)에서 매핑되어 변경된 IP 주소를 매핑된 주소로 전달받게 되고, IP-전화기-3(340c)의 경우에는 NAT-라우터-3(330c)에서 매핑되어 변경된 IP 주소를 전달받게 된다. 하지만, 여기서 추가적인 요소를 도입하고 구성을 변경하면 콜 서버와 STUN 서버의 통합으로도 해결하지 못하는 경우가 발생하게 된다.As shown in FIG. 13, since the call server and the STUN server are integrated, a binding response including an appropriate mapped address is transmitted to the STUN client regardless of a binding request sent from any location of the NAT environment. In the case of IP-telephone-1 340a and IP-telephone-2 340b, both are mapped in NAT-router-2 330b to receive the changed IP address as the mapped address. In the case of 340c), the changed IP address mapped to the NAT-router-3 330c is received. However, introducing additional elements and changing the configuration may not solve even the integration of the call server and STUN server.

도 14는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.14 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

도 14에서 보이는 바와 같이 VoIP 기반 IP-PBX 시스템의 경우 외부와의 패킷 통신을 위하여 퍼블릭 도메인(Public Domain) 상에 위치하고 공인 IP를 부여하기도 하지만, 외부로부터의 공격에 대비하기 위하여 NAT 기반의 방화벽(Firewall)(420a)을 콜 서버(410) 앞에 설치하는 경우가 있다. 이러한 경우에는 동적인 NAT 매핑 문제로 인하여 외부와의 패킷 통신을 수행할 수 없게 되는데, 패킷 통신을 가능하게 하기 위하여 NAT 라우터(방화벽)(420a)에 포트 전송(Port Forwarding) 설정을 한다. NAT 라우터 (방화벽) IP 주소인 110.100.100.50의 포트 1000번으로 들어온 패킷이 콜 서버(410) IP 주소인 192.168.100.50의 포트 1000번으로 목적지 주소만 변경되어 전달됨을 나타낸다. 따라서 이러한 경우에는 원격 네트워크(Remote Network)에 있는 장치들은 콜 서버(410)의 주소를 110.100.100.50:1000으로 알고 패킷을 전송하게 되고, 콜 서버 네트워크(Call Server Network)에 있는 IP-전화기-2(430b)의 경우에는 원래의 콜 서버(410) IP 주소인 192.168.100.50:1000으로 패킷을 전송하게 된다.As shown in FIG. 14, in the case of a VoIP-based IP-PBX system, although it is located on a public domain and gives a public IP for packet communication with the outside, a NAT-based firewall ( The firewall 420a may be installed in front of the call server 410. In this case, due to the dynamic NAT mapping problem, packet communication with the outside cannot be performed. Port forwarding is set in the NAT router (firewall) 420a to enable packet communication. This indicates that only the destination address is changed and transmitted to port 1000 of the NAT server (firewall) IP address 110.100.100.50 to port 1000 of the 192.168.100.50 IP address of the call server 410. Therefore, in this case, the devices in the remote network know the address of the call server 410 as 110.100.100.50:1000 and transmit the packet, and the IP-telephone-2 in the call server network-2 In the case of 430b, the packet is transmitted to the original call server 410 IP address 192.168.100.50:1000.

도 15는 본 발명의 실시예에 따른 IP-PBX 시스템에서 IP-전화기-1(530a)에서 NAT 라우터(방화벽)(520a)인 110.100.100.50:1000으로 전송한 패킷이 포트 전송되어 콜 서버(510)인 192.168.100.50:1000으로 IP 주소가 변환되어 전달되는 과정을 나타낸다.FIG. 15 is a view illustrating an IP-PBX system according to an embodiment of the present invention, wherein a packet transmitted from an IP-telephone-1 530a to a NAT router (firewall) 520a 110.100.100.50:1000 is port-transmitted to the call server 510. ) Is the process of translating and forwarding an IP address to 192.168.100.50:1000.

도 16은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.16 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

도 16에서 보이는 바와 같이 역방향인 콜 서버에서 IP-전화기로 전송하는 패킷의 MAC 계산에서, NAT 라우터(방화벽)(620a) 외부에 위치한 IP-전화기-1(630a)에 대해서는 MAC 계산을 위한 발신지 IP 주소를 NAT 라우터(방화벽)(620a)에서 변환된 IP 주소를 적용해야 하고, NAT 라우터(방화벽)(620a) 내부에 위치한 IP-전화기-2(630b)에 대해서는 원래의 콜 서버(610) IP 주소를 MAC 계산시 적용해야 한다. 기존의 STUN 프로토콜은 매핑된 주소를 통하여 STUN 클라이언트의 매핑된 IP 주소만을 전달하기 때문에 STUN 서버(610) 측에서의 NAT 매핑 정보는 교환되지 않고, 따라서 STUN 서버(610) 측에서는 자신에 대한 NAT 환경에 대한 판단을 할 수 없다. 이것은 STUN 프로토콜 자체의 제약사항으로, 이 문제를 해결하기 위해서는 추가적인 필드를 정의하여 STUN 클라이언트에서 STUN 서버(610)로 전달해야 한다. 즉, STUN 서버(610) 측의 NAT 매핑된 주소에 대한 정보를 STUN 클라이언트 측에서 STUN 서버(610)로 전달해 줄 수 있는 방법이 필요하다. In the MAC calculation of the packet transmitted from the reverse call server to the IP-phone as shown in FIG. 16, the source IP for the MAC calculation for IP-telephone-1 630a located outside the NAT router (firewall) 620a. The address must apply the IP address translated from NAT router (firewall) 620a, and the original call server 610 IP address for IP-telephone-2 (630b) located inside NAT router (firewall) 620a. Should be applied when calculating MAC. Since the existing STUN protocol transmits only the mapped IP address of the STUN client through the mapped address, NAT mapping information on the STUN server 610 side is not exchanged. Therefore, the STUN server 610 side determines the NAT environment for itself. Can not. This is a limitation of the STUN protocol itself. To solve this problem, additional fields must be defined and passed from the STUN client to the STUN server 610. In other words, there is a need for a method capable of delivering information on the NAT-mapped address of the STUN server 610 from the STUN client side to the STUN server 610.

NAT 매핑된 주소에 대한 정보 전달은 추가적인 STUN 메시지를 정의하는 방법과 STUN 메시지 교환 이후 VoIP 호 시그널링의 첫 메시지 (대부분의 경우 장치 등록 메시지)를 통하여 해당 정보를 전달하는 방법이 존재한다.Information delivery about NAT-mapped addresses includes a method of defining an additional STUN message and a method of delivering the information through the first message of VoIP call signaling (in most cases, a device registration message) after the STUN message exchange.

도 17은 본 발명의 실시예에 따른 STUN 서버와 클라이언트가 송수신하는 메시지를 보이는 예시도이다.17 is an exemplary view showing a message transmitted and received between the STUN server and the client according to an embodiment of the present invention.

도 17에서 보이는 바와 같이 NAT 매핑된 주소에 대한 정보 전달을 위해 추가적인 STUN 메시지 정의는 VoIP 시그널링 프로토콜을 수정하기가 용이치 않은 SIP와 같은 표준 VoIP 프로토콜에 적절하며, 바인딩 리포트(Binding Report)라는 신규 메시지를 정의하여 STUN 클라이언트(SC)가 STUN 서버(SS)로 전송하도록 한다. STUN 클라이언트(SC)는 바인딩 응답으로부터 전달받은 자신의 매핑된 주소와 함께 STUN 서버(SS)로부터 수신한 바인딩 응답 패킷의 IP 헤더로부터 추출한 소스 IP 정보를 SERVER-MAPPED-ADDRESS 라는 신규 필드에 포함시켜 STUN 서버(SS) 측에 전달한다. SERVER-MAPPED-ADDRESS에는 결과적으로 STUN 서버(SS)로부터 전송된 바인딩 응답 메시지가 NAT 라우터(방화벽)에서 주소 변환된 결과이며, 따라서 STUN 서버(SS)는 특정한 매핑된 주소에 대해서 자신의 NAT 변환된 IP 주소를 알 수 있게 된다.As shown in FIG. 17, additional STUN message definitions for the delivery of information about NAT-mapped addresses are appropriate for standard VoIP protocols such as SIP, which are not easy to modify the VoIP signaling protocol, and are called new messages called Binding Reports. To make the STUN client (SC) send to the STUN server (SS). The STUN client (SC) includes source IP information extracted from the IP header of the binding response packet received from the STUN server (SS) together with its mapped address received from the binding response in a new field called SERVER-MAPPED-ADDRESS. Deliver to server (SS) side. SERVER-MAPPED-ADDRESS contains the result of address translation from the NAT router (firewall) of the binding response message sent from the STUN server (SS), so that the STUN server (SS) is able to resolve its NAT to a specific mapped address. The IP address is known.

도 18은 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도이다.18 is an exemplary view showing the configuration of a virtual protocol packet header according to an embodiment of the present invention.

도 18에서 보이는 바와 같이 등록 VoIP 시그널링(Proprietary VoIP Signaling) 프로토콜의 경우에는, STUN 메시지 타입에 바인딩 리포트(Binding Report)라는 새로운 명령 또는 이벤트(Command/Event)를 정의하고, 바인딩 리포트 메시지 내에 매핑된 주소와 SERVER-MAPPED-ADDRESS 필드를 포함시켜 전송한다.As shown in FIG. 18, in the case of the registered VoIP signaling protocol, a new command or event called a binding report is defined in a STUN message type, and an address mapped in the binding report message is defined. Include and send the SERVER-MAPPED-ADDRESS field.

도 19는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.19 is an exemplary view showing the configuration of an IP-PBX system according to an embodiment of the present invention.

도 19에서 보이는 바와 같이 콜 서버(STUN 서버)(710)에서는 바인딩 리포트 메시지를 수신하면 특정 매핑된 주소에 대한 SERVER-MAPPED-ADDRESS 정보를 별도로 저장 및 관리하고, IP-전화기 및 게이트웨이 (STUN 클라이언트)로 패킷을 전송할 때 각각에 해당하는 SERVER-MAPPED-ADDRESS를 사용하여 MAC을 계산한다.As shown in FIG. 19, when the call server (STUN server) 710 receives the binding report message, the call server (STUN server) 710 stores and manages SERVER-MAPPED-ADDRESS information for a specific mapped address separately, and manages IP-telephone and gateway (STUN client). The MAC is calculated using the corresponding SERVER-MAPPED-ADDRESS when sending a packet to the network.

지금까지 기술한 바와 같이, Call 서버와 STUN 서버의 통합 및 패킷 통신 채널 공유, 그리고 바인딩 리포트 및 SERVER-MAPPED-ADDRESS의 추가적인 정의를 통하여 NAT 환경에서 VoIP 장치들의 발신지 IP 주소 기반 메시지 인증을 위해 필요한 요소들이 설명되었다.
As described so far, the integration of call and STUN servers, sharing of packet communication channels, binding reports and additional definitions of SERVER-MAPPED-ADDRESS are necessary elements for source IP address-based message authentication of VoIP devices in a NAT environment. Are explained.

STUN 메시지와 호 처리 메시지를 사용한 프로토콜의 운용 관련 사항은 다음과 같다. 종래의 STUN 메시지는 STUN 클라이언트 측에 NAT 매핑 정보를 전달하는데 목적이 있었으나, 본 발명에서 STUN 메시지는 클라이언트와 서버 각각에 NAT 매핑 정보를 전달함과 동시에, 이후 이루어지게 되는 호 처리 메시지 교환을 위한 패킷 통신 경로를 성립(Establish) 하는데 목적이 있다.The operation of protocol using STUN message and call processing message is as follows. The conventional STUN message was intended to deliver NAT mapping information to the STUN client side, but in the present invention, the STUN message transmits NAT mapping information to each of the client and the server, and at the same time, a packet for call processing message exchange that is made later. The purpose is to establish a communication path.

IP-전화기, 게이트웨이 등 클라이언트 장치에서 바인딩 요청(Binding Request)을 콜 서버(STUN 서버)로 전송하면서 클라이언트 측의 NAT 라우터에서 주소 매핑 테이블(Address Mapping Table) 항목이 생성되고, 이후의 STUN 메시지 교환은 생성된 동일한 패킷 통신 채널을 통하여 이루어지게 된다.An address mapping table entry is created at the NAT router on the client side while sending a binding request from the client device such as an IP-phone or a gateway to the call server (STUN server). The same packet communication channel is generated.

본 실시예에서는 STUN 메시지 교환을 통하여 생성된 NAT 통신 채널을 그대로 호 처리 메시지에도 이용하도록 하고 있으며 이와 관련된 메시지의 흐름은 다음과 같다.In this embodiment, the NAT communication channel generated through the STUN message exchange is used as it is for the call processing message, and the flow of messages related thereto is as follows.

도 20은 본 발명의 실시예에 따른 STUN 서버(SS)와 클라이언트(SC)가 송수신하는 메시지를 보이는 예시도이다.20 is an exemplary view showing a message transmitted and received between the STUN server (SS) and the client (SC) according to an embodiment of the present invention.

도 20에서 보이는 바와 같이 IP-전화기/게이트웨이(SC)에서 콜 서버(SS)로 바인딩 요청 메시지를 전송하면(S110), 이 패킷이 클라이언트 측 NAT 라우터를 거치면서 발신시 IP 주소가 변경되고, 클라이언트 측 NAT 라우터에 주소 매핑 테이블이 생성되어 IP-전화기/게이트웨이(SC)와 콜 서버(SS) 간의 NAT 패킷 통신 채널이 생성된다. 콜 서버(SS)의 STUN 처리 모듈은 이렇게 변경된 IP 주소를 MAPPED-ADDRESS 필드에 넣어 IP-전화기/게이트웨이(SC)로 바인딩 응답 메시지를 전송한다(S120). IP-전화기/게이트웨이(SC)는 바인딩 응답 메시지 패킷의 IP 헤더에서 발신지 IP 주소를 추출하여 이를 SERVER-MAPPED-ADDRESS 필드에 넣어 바인딩 리포트 메시지를 콜 서버(SS)에 전송한다(S130).As shown in FIG. 20, when the binding request message is transmitted from the IP phone / gateway SC to the call server SS (S110), the IP address is changed when the packet is sent while passing through the client-side NAT router. An address mapping table is generated at the NAT router to create a NAT packet communication channel between the IP phone / gateway (SC) and the call server (SS). The STUN processing module of the call server SS inserts the changed IP address into the MAPPED-ADDRESS field and transmits a binding response message to the IP phone / gateway SC (S120). The IP-telephone / gateway (SC) extracts the source IP address from the IP header of the binding response message packet and inserts it in the SERVER-MAPPED-ADDRESS field and transmits the binding report message to the call server SS (S130).

IP-전화기/게이트웨이(SC)와 콜 서버(SS) 간에 NAT 패킷 통신 채널이 성립됨과 동시에 양쪽이 모두 자신에 대한 NAT 주소 매핑 정보를 수신 및 저장하게 된다. 일반적으로 NAT 라우터들은 생성된 NAT 매핑된 채널로 마지막 패킷이 통과한 후 제품마다 다소 차이는 있지만 약 3분~5분 후에는 해당 매핑 테이블 항목을 삭제한다. 즉, 3분~5분 동안 해당 채널로의 트래픽(Traffic)이 없으면 NAT 매칭 채널을 해제시키기 때문에, 주기적으로 패킷을 전송하여 NAT 라우터 내부의 NAT 매핑 테이블을 계속 유지시켜줄 필요가 있다.At the same time a NAT packet communication channel is established between the IP phone / gateway (SC) and the call server (SS), both sides receive and store NAT address mapping information for themselves. In general, NAT routers delete the mapping table entries after about 3 to 5 minutes, although they vary slightly from product to product since the last packet has passed through the created NAT-mapped channel. That is, if there is no traffic to the channel for 3 to 5 minutes, the NAT matching channel is released. Therefore, it is necessary to periodically transmit packets to maintain the NAT mapping table inside the NAT router.

따라서, STUN 메시지의 교환이 끝나고 호 처리 메시지의 교환이 시작되기까지의 시간은 이러한 제한 시간 이내에 이루어져야 하고, 이후에도 계속 장치 폴링(Device Polling) 메시지 등을 이용하여 NAT 매핑을 유지시켜 주어야 한다.Therefore, the time between the exchange of STUN messages and the exchange of call processing messages must be within this time limit, and the NAT mapping must be maintained using device polling messages afterwards.

STUN 메시지 교환 이후에 대부분의 경우 즉시 호 처리 메시지의 교환이 이루어지겠지만, 호 처리 메시지의 교환이 여의치 않을 경우에라도 본 발명에서는 1분 이내에 호 처리 메시지 교환을 시작하도록 권고한다. 만약 이 시간 내에 호 처리 메시지를 전송하지 못했을 경우에는 STUN 메시지 교환 과정부터 다시 시작한다.In most cases immediately after the STUN message exchange, the call processing message will be exchanged, but even if the exchange of the call processing message is not feasible, the present invention recommends that the call processing message exchange be started within 1 minute. If the call processing message could not be sent within this time, the STUN message exchange process starts again.

VoIP 기반 IP-PBX 시스템의 경우, 호가 발생하거나 LCD/LED 등의 제어 정보 업데이트(Update)가 필요한 경우에만 메시지 교환이 이루어지기 때문에, NAT 매핑이 해제되는 5분 이상 패킷 교환이 없을 수 있다. 이러한 경우를 대비하여 장치 폴링 메시지 등을 1분 이내의 주기로 전송하여 NAT 매핑을 유지시키도록 하고, 해당 IP-PBX 시스템에 이미 장치 폴링 메시지 계획(Scheme)이 있는 경우에는 그 간격이 1분 이내가 될 수 있도록 설정한다.In the case of a VoIP-based IP-PBX system, message exchange is performed only when a call is generated or when control information such as LCD / LED is required. Therefore, there may be no packet exchange for more than 5 minutes when NAT mapping is released. In such a case, the device polling message is transmitted in a period of 1 minute or less to maintain NAT mapping. If the IP-PBX system already has a device polling message scheme (Scheme), the interval is less than 1 minute. Set it to be.

IP-전화기/게이트웨이 등 클라이언트 장치와 콜 서버 등 서버 장치 각각에 대한 전체적인 흐름도는 도 21 및 도 22에서 보이는 바와 같다.The overall flowchart for each of the client device such as an IP-telephone / gateway and the server device such as a call server is shown in FIGS. 21 and 22.

각각의 흐름도에는 STUN 메시지 교환과 호 처리 메시지 교환으로 이어지는 과정의 흐름이 나타나 있다. 단, 장치 등록 이후의 과정은 각 제품별로 다를 수 있고, 본 발명에서 기술하는 범위를 벗어나기 때문에 간략히 표시하였다.Each flowchart shows the flow of the process leading to STUN message exchange and call processing message exchange. However, the process after device registration may be different for each product and is briefly indicated because it is outside the scope described in the present invention.

도 21은 본 발명의 실시예에 따른 클라이언트에서의 메시지 흐름을 보이는 예시도이다.21 is an exemplary view illustrating a message flow in a client according to an embodiment of the present invention.

도 21에서 보이는 바와 같이 IP-전화기/게이트웨이 등 클라이언트 장치는 초기화 이후 STUN 메시지 교환을 시작한다. 우선 콜 서버로 바인딩 요청 메시지를 전송하고 바인딩 응답 메시지가 수신되기를 기다린다. 1분 내에 오지 않으면 패킷이 유실되었거나 콜 서버에 일시적인 문제가 있는 것으로 판단하고 바인딩 요청 메시지를 재전송하고, 바인딩 응답 메시지가 수신되면 메시지 내부의 매핑된 주소를 찾아 저장하여 차후 호 처리 메시지의 MAC 계산에 사용한다. 또한 바인딩 응답 패킷의 발신지 IP 주소를 추출하여 SERVER-MAPPED-ADDRESS 필드에 넣어 자신의 매핑된 주소와 함께 콜 서버로 전송한다.As shown in FIG. 21, the client device such as an IP-telephone / gateway starts to exchange STUN messages after initialization. First, it sends a binding request message to the call server and waits for a binding response message to be received. If it does not come within one minute, it is determined that the packet is missing or there is a temporary problem with the call server, and resends the binding request message, and when a binding response message is received, it locates and stores the mapped address inside the message for future MAC processing of the call processing message. use. In addition, the source IP address of the binding response packet is extracted and put in the SERVER-MAPPED-ADDRESS field and transmitted to the call server with its mapped address.

이후 전송하는 장치 등록 요청(Device Registration Request) 호 처리 메시지에 대해서는, 바인딩 응답에서 수신 및 저장한 매핑된 주소와 비밀키를 결합하여 새로운 키값을 생성한 후 MAC을 계산한 후 콜 서버에 전송한다. 콜 서버에서 장치 등록 요청 메시지가 수신되면 MAC을 검사하고, 생성된 키값이 잘못되었으면 바인딩 요청 메시지 전송 단계부터 다시 시작한다. 생성된 키값으로 메시지 인증이 성공하면 이후 호 처리 과정을 시작하고, 주기적인 장치 폴링 메시지에 장치 폴링 확인(Device Polling Acknowledgement) 메시지로 응신 및 모든 수신된 메시지에 대해서 MAC을 사용한 메시지 인증을 수행한다.Subsequently, for the device registration request call processing message to be transmitted, a new key value is generated by combining the mapped address and the secret key received and stored in the binding response, and the MAC is calculated and transmitted to the call server. When the device registration request message is received from the call server, the MAC is checked. If the generated key value is incorrect, the call server starts again from the binding request message transmission step. If the message authentication succeeds with the generated key value, the call processing process is started, and the device polling acknowledgment message is responded to the periodic device polling message, and the message authentication using the MAC is performed for all received messages.

도 22는 본 발명의 실시예에 따른 서버에서의 메시지 흐름을 보이는 예시도이다.22 is an exemplary view illustrating a message flow in a server according to an embodiment of the present invention.

도 22에서 보이는 바와 같이 콜 서버는 바인딩 요청 메시지가 수신되면 해당 패킷의 IP 헤더에서 발신지 IP 주소를 추출하여 MAPPED-ADDRESS 필드를 구성하고 이를 바인딩 응답 메시지를 통하여 클라이언트 측에 전송한다. 1분간 바인딩 리포트 메시지가 수신되기를 기다리고, 바인딩 리포트 메시지가 수신되면 매핑된 주소와 SERVER-MAPPED-ADDRESS 필드를 검사하여 해당 주소 매핑 정보를 저장 및 관리한다. As shown in FIG. 22, when the call request message is received, the call server extracts the source IP address from the IP header of the packet, constructs a MAPPED-ADDRESS field, and transmits it to the client through the binding response message. Wait for 1 minute to receive the binding report message. When the binding report message is received, the mapped address and the SERVER-MAPPED-ADDRESS field are checked to store and manage the corresponding address mapping information.

이후 장치 등록 요청 메시지가 수신되면 MAC을 검사하여 메시지 인증을 수행하고, 인증에 실패하면 모든 과정을 무효화하고 바인딩 요청 메시지 수신을 기다리는 단계로 돌아간다. 메시지가 정상적으로 인증된 경우에는 장치 등록 응답(Device Registration Response) 메시지를 전송하여 등록을 허용하고, 이후 호 처리 과정을 수행하며 주기적인 장치 폴링 및 모든 호 처리 메시지에 대해서 MAC을 사용한 메시지 인증을 수행한다.After the device registration request message is received, the MAC is examined and message authentication is performed. If the authentication fails, all processes are invalidated and the process returns to the step of waiting for the reception of the binding request message. If the message is normally authenticated, the device is allowed to register by sending a Device Registration Response message, then the call processing process is performed, and periodic device polling and message authentication using MAC for all call processing messages are performed. .

본 발명은 VoIP 기반 IP-PBX 시스템을 대상으로 고안되었지만, NAT 환경에서 발신지 주소 기반 메시지 인증을 필요로 하는 여타 클라이언트/서버 시스템에도 변형 및 적용 가능하다.Although the present invention is designed for a VoIP-based IP-PBX system, it can be modified and applied to other client / server systems that require source address-based message authentication in a NAT environment.

상기 방법들은 특정 실시예들을 통하여 설명되었지만, 상기 방법들은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.While the above methods have been described through specific embodiments, the methods may also be implemented as computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the above embodiments can be easily deduced by programmers of the present invention.

본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 당업자가 이해할 수 있는 본 발명의 정신 및 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present invention has been described in connection with some embodiments thereof, it should be understood that various changes and modifications may be made therein without departing from the spirit and scope of the invention as understood by those skilled in the art. something to do. It is also contemplated that such variations and modifications are within the scope of the claims appended hereto.

10, 210, 310, 410, 510, 610, 710: STUN 서버
20, 50, 220, 240, 320: 비 NAT 라우터
30, 230, 330, 420, 520, 620, 720: NAT 라우터
40,250: STUN 클라이언트 60: 피어 PC
260,340,430,530,630,730: IP 전화기 270,280: 게이트웨이
SC: IP 전화기/게이트웨이 SS: 콜 서버
10, 210, 310, 410, 510, 610, 710: STUN server
20, 50, 220, 240, 320: non-NAT router
30, 230, 330, 420, 520, 620, 720: NAT router
40,250: STUN Client 60: Peer PC
260,340,430,530,630,730: IP Phone 270,280: Gateway
SC: IP Phone / Gateway SS: Call Server

Claims (20)

IP-PBX 시스템으로서,
STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하여 IP 주소 기반 메시지의 인증을 수행하는, IP-PBX 시스템.
As an IP-PBX system,
An IP-PBX system that performs authentication of IP address-based messages by integrating a STUN server and a call server such that the Simple Traversal of UDP Through NATs (STUN) protocol and the communication protocol for call processing use the same communication channel.
제1항에 있어서,
상기 STUN 서버와 상기 콜 서버의 통합은,
호 처리를 위한 모듈과 STUN 처리를 위한 모듈을 별도로 운용하고 상기 호 처리를 위한 모듈과 상기 STUN 처리를 위한 모듈의 앞에서 패킷을 구분 및 분배하여 수행하는, IP-PBX 시스템.
The method of claim 1,
Integration of the STUN server and the call server,
And separately operating and distributing packets in front of the module for call processing and the module for STUN processing and the module for call processing and the module for STUN processing.
제2항에 있어서,
상기 패킷의 구분 및 분배는,
상기 STUN 프로토콜과 상기 호 처리를 위한 통신 프로토콜의 패킷 형태의 차이점을 이용하여 수행하는, IP-PBX 시스템.
The method of claim 2,
Classification and distribution of the packet,
IP-PBX system using the difference in the packet form of the STUN protocol and the communication protocol for the call processing.
제3항에 있어서,
상기 호 처리를 위한 통신 프로토콜로서 VoIP 장비 제조사별 비표준 (Non-Standard / Proprietary) 프로토콜을 사용하는 경우 상기 STUN 프로토콜 전체 또는 필요한 부분만을 통합하는, IP-PBX 시스템.
The method of claim 3,
IP-PBX system integrating all or necessary portions of the STUN protocol when using a non-Standard / Proprietary protocol by VoIP equipment manufacturers as the communication protocol for the call processing.
제1항에 있어서,
상기 STUN 서버와 상기 콜 서버의 통합은,
상기 STUN 서버와 상기 콜 서버를 통합하기 위하여 상기 호 처리를 위한 통신 프로토콜에 상기 STUN 프로토콜 메시지를 통합하여 수행하는, IP-PBX 시스템.
The method of claim 1,
Integration of the STUN server and the call server,
Integrating and performing the STUN protocol message with the communication protocol for call processing to integrate the STUN server and the call server.
제5항에 있어서,
상기 호 처리를 위한 통신 프로토콜에 상기 STUN 프로토콜 메시지를 통합하는 방법은,
상기 호 처리를 위한 통신 프로토콜 패킷 헤더(packet header)의 메시지 타입과 종류를 나타내는 필드에 상기 STUN 프로토콜 메시지를 위한 필드를 추가 정의하여 수행하는, IP-PBX 시스템.
The method of claim 5,
The method of integrating the STUN protocol message into a communication protocol for the call processing,
And further defining a field for the STUN protocol message in a field indicating a message type and a type of a communication protocol packet header for call processing.
제1항에 있어서,
NAT(network address translation) 기반의 방화벽을 콜 서버 앞에 설치하는 경우, STUN 서버 측의 NAT 매핑된 주소에 대한 정보를 STUN 클라이언트에서 상기 STUN 서버로 전달하는, IP-PBX 시스템.
The method of claim 1,
When installing a network address translation (NAT) -based firewall in front of a call server, IP-PBX system for transmitting information about the NAT-mapped address on the STUN server side from the STUN client to the STUN server.
제7항에 있어서,
상기 NAT 매핑된 주소에 대한 정보는,
STUN 메시지를 추가로 정의하여 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는, IP-PBX 시스템.
The method of claim 7, wherein
Information about the NAT mapped address,
An IP-PBX system, further defining a STUN message and forwarding from the STUN client to the STUN server.
제8항에 있어서,
상기 추가로 정의된 STUN 메시지는,
상기 STUN 클라이언트가 전달받은 자신의 매핑된 주소 및 상기 STUN 서버로부터 수신한 패킷의 IP 헤더로부터 추출한 소스 IP 정보를 신규 필드에 포함하는, IP-PBX 시스템.
9. The method of claim 8,
The additionally defined STUN message is
And a source IP information extracted from its mapped address received by the STUN client and an IP header of a packet received from the STUN server, in the new field.
제7항에 있어서,
상기 NAT 매핑된 주소에 대한 정보는,
STUN 메시지 교환 이후 호 처리를 위한 시그널링의 처음 메시지를 이용하여 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는, IP-PBX 시스템.
The method of claim 7, wherein
Information about the NAT mapped address,
IP-PBX system for transferring from the STUN client to the STUN server using the first message of signaling for call processing after the STUN message exchange.
메시지 인증 방법으로서,
a) STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하는 단계; 및
b) 상기 통합된 STUN 서버 및 콜 서버를 이용하여 IP 주소 기반 메시지의 인증을 수행하는 단계를 포함하는, 메시지 인증 방법.
As a message authentication method,
a) integrating the STUN server and the call server such that the Simple Traversal of UDP Through NATs (STUN) protocol and the communication protocol for call processing use the same communication channel; And
b) performing authentication of an IP address based message using the integrated STUN server and call server.
제11항에 있어서,
상기 단계 a)는,
호 처리를 위한 모듈과 STUN 처리를 위한 모듈을 별도로 운용하고 상기 호 처리를 위한 모듈과 상기 STUN 처리를 위한 모듈의 앞에서 패킷을 구분 및 분배하는 단계를 포함하는, 메시지 인증 방법.
12. The method of claim 11,
The step a)
And separately operating a module for call processing and a module for STUN processing and separating and distributing packets in front of the module for call processing and the module for STUN processing.
제12항에 있어서,
상기 단계 a)는,
상기 STUN 프로토콜과 상기 호 처리를 위한 통신 프로토콜의 패킷 형태의 차이점을 이용하여 상기 패킷의 구분 및 분배를 수행하는 단계를 포함하는, 메시지 인증 방법.
The method of claim 12,
The step a)
And classifying and distributing the packets using a difference between packet types of the STUN protocol and a communication protocol for call processing.
제13항에 있어서,
상기 단계 a)는,
상기 호 처리를 위한 통신 프로토콜로서 VoIP 장비 제조사별 비표준 (Non-Standard / Proprietary) 프로토콜을 사용하는 경우 상기 STUN 프로토콜 전체 또는 필요한 부분만을 통합하는 단계를 포함하는, 메시지 인증 방법.
The method of claim 13,
The step a)
Integrating all or necessary portions of the STUN protocol when using a non-Standard / Proprietary protocol by VoIP equipment manufacturers as the communication protocol for the call processing, Message authentication method.
제11항에 있어서,
상기 단계 a)는,
상기 STUN 서버와 상기 콜 서버를 통합하기 위하여 상기 호 처리를 위한 통신 프로토콜에 상기 STUN 프로토콜 메시지를 통합하는 단계를 포함하는, 메시지 인증 방법.
12. The method of claim 11,
The step a)
Incorporating the STUN protocol message into a communication protocol for call processing to integrate the STUN server and the call server.
제15항에 있어서,
상기 단계 a)는,
상기 호 처리를 위한 통신 프로토콜 패킷 헤더(packet header)의 메시지 타입과 종류를 나타내는 필드에 상기 STUN 프로토콜 메시지를 위한 필드를 추가 정의하는 단계를 포함하는, 메시지 인증 방법.
16. The method of claim 15,
The step a)
And defining a field for the STUN protocol message in a field indicating a message type and a type of a communication protocol packet header for the call processing.
제11항에 있어서,
상기 단계 a)는,
NAT(network address translation) 기반의 방화벽을 콜 서버 앞에 설치하는 경우, STUN 서버 측의 NAT 매핑된 주소에 대한 정보를 STUN 클라이언트에서 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
12. The method of claim 11,
The step a)
If a network address translation (NAT) -based firewall is installed in front of the call server, transmitting the information about the NAT mapped address on the STUN server side from the STUN client to the STUN server.
제17항에 있어서,
상기 단계 a)는,
STUN 메시지를 추가로 정의하여 상기 NAT 매핑된 주소에 대한 정보를 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
18. The method of claim 17,
The step a)
And further defining a STUN message to convey information about the NAT mapped address from the STUN client to the STUN server.
제18항에 있어서,
상기 단계 a)는,
상기 STUN 클라이언트가 전달받은 자신의 매핑된 주소 및 상기 STUN 서버로부터 수신한 패킷의 IP 헤더로부터 추출한 소스 IP 정보를 상기 추가로 정의된 STUN 메시지의 신규 필드에 포함시켜 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
19. The method of claim 18,
The step a)
And transmitting the source IP information extracted from the mapped address received from the STUN client and the IP header of the packet received from the STUN server to the STUN server by including it in a new field of the additionally defined STUN message. Message authentication method.
제17항에 있어서,
상기 단계 a)는,
STUN 메시지 교환 이후 호 처리를 위한 시그널링의 처음 메시지를 이용하여 상기 NAT 매핑된 주소에 대한 정보를 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
18. The method of claim 17,
The step a)
And transmitting information on the NAT mapped address from the STUN client to the STUN server using the first message of signaling for call processing after the STUN message exchange.
KR1020110139023A 2011-12-21 2011-12-21 Method for authenticating of message and ip-pbx system for the same KR101613747B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110139023A KR101613747B1 (en) 2011-12-21 2011-12-21 Method for authenticating of message and ip-pbx system for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110139023A KR101613747B1 (en) 2011-12-21 2011-12-21 Method for authenticating of message and ip-pbx system for the same

Publications (2)

Publication Number Publication Date
KR20130085556A true KR20130085556A (en) 2013-07-30
KR101613747B1 KR101613747B1 (en) 2016-04-20

Family

ID=48995699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110139023A KR101613747B1 (en) 2011-12-21 2011-12-21 Method for authenticating of message and ip-pbx system for the same

Country Status (1)

Country Link
KR (1) KR101613747B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530252A (en) * 2015-12-16 2016-04-27 瑞斯康达科技发展股份有限公司 Call processing method and device
CN108063921A (en) * 2017-12-26 2018-05-22 天津天地人和企业管理咨询有限公司 A kind of optimization application process of embedded network monitoring equipment in P2P

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7656870B2 (en) 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
KR100758971B1 (en) 2006-05-09 2007-09-14 주식회사 케이티프리텔 System for internetwork communication using stun binding message of extended stun binding protocol, gateway device, server and method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530252A (en) * 2015-12-16 2016-04-27 瑞斯康达科技发展股份有限公司 Call processing method and device
CN105530252B (en) * 2015-12-16 2019-06-28 瑞斯康达科技发展股份有限公司 A kind of call processing method and device
CN108063921A (en) * 2017-12-26 2018-05-22 天津天地人和企业管理咨询有限公司 A kind of optimization application process of embedded network monitoring equipment in P2P

Also Published As

Publication number Publication date
KR101613747B1 (en) 2016-04-20

Similar Documents

Publication Publication Date Title
US10659573B2 (en) Correlating packets in communications networks
CA2476722C (en) Method and apparatus to permit data transmission to traverse firewalls
EP2449749B1 (en) Method and apparatus for relaying packets
US20170034174A1 (en) Method for providing access to a web server
US20060072569A1 (en) Network address translation protocol for transmission control protocol connections
US20040139228A1 (en) Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
US20130308628A1 (en) Nat traversal for voip
US20060187912A1 (en) Method and apparatus for server-side NAT detection
US20050286538A1 (en) Method and call server for establishing a bi-directional peer-to-peer communication link
US20120113977A1 (en) Vpn device and vpn networking method
US8635440B2 (en) Proxy with layer 3 security
CN105391813A (en) Protocol for sessions traversal across firewall securely (SOKS) transparent proxy method and SOKS transparent proxy device
CN110971701B (en) Internet of things communication method and device
KR101613747B1 (en) Method for authenticating of message and ip-pbx system for the same
Phelan et al. DCCP-UDP: A Datagram Congestion Control Protocol UDP Encapsulation for NAT Traversal
US8576854B2 (en) System for communication between private and public IP networks
JP4648436B2 (en) Packet distribution device, communication system, packet processing method, and program
Paxton et al. Identifying network packets across translational boundaries
Tulimiero An All-Round Secure IoT Network Architecture
Jiang et al. SIP end-to-end security between Ipv4 domain and Ipv6 domain
KR20090042110A (en) Channel structuring method in tcp
Rahman et al. CoRE Working Group A. Castellani Internet-Draft University of Padova Intended status: Informational S. Loreto Expires: January 12, 2012 Ericsson
Perkins DCCP Working Group T. Phelan Internet-Draft Sonus Intended status: Standards Track G. Fairhurst Expires: December 27, 2012 University of Aberdeen
Phelan et al. RFC 6773: DCCP-UDP: A Datagram Congestion Control Protocol UDP Encapsulation for NAT Traversal
Phelan et al. DCCP-UDP: Datagram Congestion Control Protocol Encapsulation for NAT Traversal: DCCP-UDP

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20190320

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200304

Year of fee payment: 5