KR20030021511A - Method and server for RTP channel - Google Patents

Method and server for RTP channel Download PDF

Info

Publication number
KR20030021511A
KR20030021511A KR1020010054799A KR20010054799A KR20030021511A KR 20030021511 A KR20030021511 A KR 20030021511A KR 1020010054799 A KR1020010054799 A KR 1020010054799A KR 20010054799 A KR20010054799 A KR 20010054799A KR 20030021511 A KR20030021511 A KR 20030021511A
Authority
KR
South Korea
Prior art keywords
client
channel
rtp
udp
counterpart
Prior art date
Application number
KR1020010054799A
Other languages
Korean (ko)
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 KR1020010054799A priority Critical patent/KR20030021511A/en
Publication of KR20030021511A publication Critical patent/KR20030021511A/en

Links

Classifications

    • 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/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Abstract

PURPOSE: A method for setting an RTP(Real-time Transport Protocol) channel is provided to set the RTP channel between clients who belong in various network environment. CONSTITUTION: An RTP channel setup module transmits an NPBP(NAT(Network Address Translation) Port Binding Packet) to an NAT server(20)(31). The NAT server(20) transmits the NPBP to an object client(32). The object client transmits an RTP packet to a source IP address recorded in the received NPBP and a port(33). The NAT server(20) transmits the received RTP packet to a client(3)(34). An RTP channel is set up between the client(3) and the object client.

Description

RTP 채널 설정방법{Method and server for RTP channel}How to set up RTP channel {Method and server for RTP channel}

본 발명은 RTP 채널 설정에 관한 것으로, 보다 상세하게는 NAT/firewall 환경에서 RTP 채널을 설정해주는 RTP 채널 설정방법에 관한 것이다.The present invention relates to RTP channel establishment, and more particularly, to an RTP channel establishment method for establishing an RTP channel in a NAT / firewall environment.

인터넷이 급속하게 확산되자 이에 따른 보안문제가 대두되고 있다. 이에, 외부인이 비공개 자원에 접근하는 것을 차단하는 한편 자사의 직원들이 접속할 외부의 자원들을 통제하기 위해 방화벽을 설치하는 기업이 늘어가고 있다.As the Internet spreads rapidly, security problems are on the rise. Increasingly, companies are setting up firewalls to block outsiders from accessing private resources and to control external resources for their employees to access.

한편, 많은 수의 학교, 기업 등에서는 NAT(Network Address Translation) 서버를 사용하여 내부적으로 사설 IP주소를 사용하고 있다. NAT를 채용하면 한정된 공인 IP주소를 가지고도 다수의 클라이언트가 인터넷에 접속할 수 있으며, 주소변환을 위해 입출력 패킷들이 반드시 NAT 서버를 경유해야 하므로 보안문제를 해결하는데 있어 매우 유리하다. 따라서 NAT 서버는 라우터 또는 방화벽의 일부로서 설치되기도 한다.On the other hand, many schools, businesses, etc., use NAT (Network Address Translation) servers internally to use private IP addresses. By adopting NAT, a large number of clients can access the Internet even with a limited public IP address, and it is very advantageous to solve the security problem because I / O packets must pass through a NAT server for address translation. Thus, a NAT server may be installed as part of a router or firewall.

그러나, 클라이언트의 네트워크 환경이 다양하게 변화됨에 따라, 즉 방화벽 등에 의해 특정 프로토콜에 따른 패킷의 전송 또는 수신이 불가능하게 됨에 따라 특정 프로토콜을 기반으로 하는 응용 서비스가 제대로 수행되기 어렵다. 예를 들어, 음성통신, 화상통신 등은 RTP(Real-time Transport Protocol) 채널을 통해 이루어지며, RTP 채널은 일반적으로 UDP(User Datagram Protocol) 프로토콜을 기반으로 수행된다. 그러나, NAT 서버 또는 방화벽에 연결된 클라이언트는 외부로부터 직접 UDP 패킷을 받을 수 없다. 따라서, 클라이언트의 컴퓨터에서 실행되는 응용프로그램은 직접 RTP 채널을 설정할 수 없게 된다. 다시 말해, 클라이언트의 네트워크 환경에 따라 서비스 제공자는 특정 클라이언트에게 서비스를 제공할 수 없게 되며 클라이언트는 그 서비스를 제공받을 수 없게 된다.However, as the network environment of the client is variously changed, that is, it is impossible to transmit or receive a packet according to a specific protocol by a firewall or the like, it is difficult to properly perform an application service based on a specific protocol. For example, voice communication, video communication, and the like are performed through a real-time transport protocol (RTP) channel, and the RTP channel is generally performed based on a user datagram protocol (UDP) protocol. However, clients connected to NAT servers or firewalls cannot receive UDP packets directly from outside. Therefore, an application program running on the client's computer cannot establish an RTP channel directly. In other words, according to the network environment of a client, a service provider cannot provide a service to a specific client, and the client cannot receive the service.

따라서, 본 발명의 목적은 NAT/firewall 환경 하에서 RTP 채널을 설정하는 방법을 제공하는 것이다.Accordingly, an object of the present invention is to provide a method for establishing an RTP channel in a NAT / firewall environment.

도 1은 클라이언트(3)는 NAT 환경에 속하고 상대방 클라이언트(6)는 공인 IP 환경에 속한 경우의 네트워크 구성도,1 is a network configuration diagram in which the client 3 belongs to a NAT environment and the counterpart client 6 belongs to a public IP environment.

도 2는 도 1의 클라이언트(3,6)의 상세 블록도,2 is a detailed block diagram of the client 3, 6 of FIG.

도 3은 제1 실시예에 따라 RTP 채널 설정방법을 설명하기 위한 참고도,3 is a reference diagram for explaining a RTP channel setting method according to a first embodiment;

도 4는 클라이언트(3)는 공인 IP 환경에 속하고 상대방 클라이언트(6)는 NAT/firewall 환경에 속한 경우 네트워크 구성도,4 is a network diagram when the client 3 belongs to a public IP environment and the other client 6 belongs to a NAT / firewall environment.

도 5는 도 4의 채널 설정 서버(1)의 블록도,5 is a block diagram of the channel setting server 1 of FIG.

도 6은 제2 실시예에 따라 상대방 클라이언트(6)가 NAT/firewall(40)에 연결되어 있는 경우의 RTP 채널 설정방법을 설명하기 위한 참고도,6 is a reference diagram for explaining a method of setting up an RTP channel when a counterpart client 6 is connected to a NAT / firewall 40 according to a second embodiment;

도 7은 제3 실시예에 따라 상대방 클라이언트(6)가 normal NAT 또는 symmetric NAT에 연결된 경우의 RTP 채널 설정방법을 설명하기 위한 참고도,7 is a reference diagram for explaining a method of setting up an RTP channel when the counterpart client 6 is connected to a normal NAT or a symmetric NAT according to the third embodiment;

도 8은 제4 실시예에 따라 상대방 클라이언트(6)가 firewall에 연결된 경우의 RTP 채널 설정방법을 설명하기 위한 참고도,8 is a reference diagram for explaining a method of setting up an RTP channel when a counterpart client 6 is connected to a firewall according to a fourth embodiment;

도 9는 제5 실시예에 따라 상대방 클라이언트(6)가 strict firewall에 연결된 경우의 RTP 채널 설정방법을 설명하기 위한 참고도,9 is a reference diagram for explaining a method of setting up an RTP channel when the counterpart client 6 is connected to a strict firewall according to the fifth embodiment;

도 10은 클라이언트(3)와 상대방 클라이언트(6)가 NAT/firewall 환경에 속한경우 네트워크 구성도,10 is a network diagram when the client 3 and the counterpart client 6 belong to a NAT / firewall environment.

도 11 내지 14는 본 발명의 제6 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도로서,11 to 14 are reference diagrams for explaining a method for establishing an RTP channel according to a sixth embodiment of the present invention.

도 11은 T-to-T 방식을 설명하기 위한 참고도,11 is a reference diagram for explaining a T-to-T scheme;

도 12는 T-to-U 방식을 설명하기 위한 참고도,12 is a reference diagram for explaining a T-to-U method;

도 13은 U-to-T 방식을 설명하기 위한 참고도,13 is a reference diagram for explaining a U-to-T scheme;

도 14는 U-to-U 방식을 설명하기 위한 참고도,14 is a reference diagram for explaining a U-to-U method;

도 15는 본 발명의 제7 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도,15 is a reference diagram for explaining a RTP channel setting method according to a seventh embodiment of the present invention;

도 16은 클라이언트(7)는 NAT/firewall 환경에 속하고 상대방 클라이언트(14)는 H.323 게이트웨이 환경에 속한 경우 네트워크 구성도,16 is a network diagram when the client 7 belongs to a NAT / firewall environment and the counterpart client 14 belongs to an H.323 gateway environment.

도 17은 본 발명의 제8 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도,17 is a reference diagram for explaining a method of establishing an RTP channel according to an eighth embodiment of the present invention;

도 18은 본 발명의 제9 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도,18 is a reference diagram for explaining a RTP channel setting method according to a ninth embodiment of the present invention;

도 19는 본 발명의 제10 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도,19 is a reference diagram for explaining a method of establishing an RTP channel according to a tenth embodiment of the present invention;

도 20은 본 발명의 제11 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도이다.20 is a reference diagram for explaining a method of establishing an RTP channel according to an eleventh embodiment of the present invention.

상기 목적은, 본 발명에 따라 클라이언트와 상대방 클라이언트 사이에 접속가능하도록 연결된 서버에 있어서, 상기 클라이언트 및 상대방 클라이언트가 속한 네트워크 환경을 기초로 상기 클라이언트와 상대방 클라이언트 사이에 UDP 채널이 설정가능하면 UDP 채널이 설정되도록 하고, UDP 채널이 설정불가하고 TCP 채널이 설정가능하면 TCP 채널이 설정되도록 하는 채널 설정 서버에 의해 달성된다.The object of the present invention is to provide a connection between a client and a counterpart client in accordance with the present invention, and if a UDP channel can be established between the client and the counterpart client based on a network environment to which the client and the counterpart client belong, This is accomplished by the channel setup server, which allows a TCP channel to be established if the UDP channel is not configurable and the TCP channel is configurable.

상기 채널 설정 서버는 상기 상대방 클라이언트의 주소정보가 저장된 클라이언트 데이터베이스; 및 상기 클라이언트로부터 포트 바인딩 패킷을 수신하여 상기 주소정보를 기초로 상기 상대방 클라이언트로 전달해줌으로써 포트 바인딩을 수행하는 RTP 채널 설정 모듈을 포함하는 것이 바람직하다.The channel setting server may include a client database storing address information of the counterpart client; And receiving a port binding packet from the client and delivering the port binding packet to the counterpart client based on the address information.

또한, 클라이언트와 접속가능하도록 연결된 서버에 있어서, 상기 클라이언트에서 실행되는 RTP 채널 설정모듈을 구성하는 프로그램 코드가 저장된 저장부를 구비하고, 상기 RTP 채널 설정모듈은 NAT 서버에 연결된 클라이언트에서 실행되어 상기 NAT 서버로 상대방 클라이언트에 대한 주소정보가 첨부된 포트 바인딩 패킷을전송하여 상기 NAT 서버가 상기 포트 바인딩 패킷을 상기 상대방 클라이언트로부터 전송하도록 하는 것을 특징으로 하는 서버에 의해서도 달성된다.In addition, the server connected to the client, the server, comprising a storage unit for storing the program code constituting the RTP channel setting module to be executed in the client, the RTP channel setting module is executed in the client connected to the NAT server to the NAT server It is also achieved by the server, characterized in that for transmitting the port binding packet with the address information for the other client attached to the NAT server to transmit the port binding packet from the other client.

또한, 클라이언트와 상대방 클라이언트 사이에 접속가능하도록 연결된 서버에 있어서, 상기 클라이언트 및 상기 상대방 클라이언트가 속한 네트워크 환경을 기초로 상기 클라이언트와 상대방 클라이언트 사이에 각각 UDP 채널이 설정가능하면 UDP 채널이 설정되도록 하고, UDP 채널이 설정불가하고 TCP 채널이 설정가능하면 TCP 채널이 설정되도록 하여, 상기 클라이언트로부터의 RTP 패킷을 대리수신하여 상기 상대방 클라이언트로 전달하는 것을 특징으로 하는 채널 설정 서버에 의해서도 달성된다.In addition, in the server connected to be connected between the client and the counterpart client, if the UDP channel can be set between the client and the counterpart client based on the network environment to which the client and the counterpart client belong, respectively, the UDP channel is established. If the UDP channel is not set and the TCP channel is settable, the TCP channel is set so that the RTP packet is received by the client and delivered to the counterpart client.

또한, 클라이언트들과 인터넷을 통해 통신가능하도록 연결된 채널 설정 서버에 있어서, TCP 채널을 통해 일 클라이언트로부터 수신된 RTP 패킷을 상대방 클라이언트와 맺어진 TCP 채널로 전달하거나, 일 클라이언트로부터 TCP 채널을 통해 수신된 RTP 패킷을 상대방 클라이언트로 UDP 채널을 통해 전달하거나, 일 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상대방 클라이언트와 맺어진 TCP 채널로 전달하거나, 일 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상대방 클라이언트로 UDP 채널을 통해 전달하는 것을 특징으로 하는 채널 설정 서버에 의해서도 달성된다.In addition, the channel setting server connected to communicate with the client via the Internet, the RTP packet received from one client through the TCP channel to the TCP channel associated with the other client, or RTP received through the TCP channel from one client Forward the packet to the other client through the UDP channel, forward the RTP packet received from the one client through the UDP channel, or forward the RTP packet received from the one client through the UDP channel to the other client. It is also achieved by a channel setting server, characterized in that the transmission through the channel.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은 클라이언트와 상대방 클라이언트 사이에 RTP 채널을 설정하는 방법에 있어서, (a) 상기 클라이언트로부터 일 포트 바인딩 패킷을 수신하여 상기 상대방 클라이언트로 전달해줌으로써 포트바인딩을 수행하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법에 의해서도 달성된다.According to another aspect of the present invention, the above object is a method for establishing an RTP channel between a client and a counterpart client, and (a) receiving a port binding packet from the client and delivering the port binding packet to the counterpart client. It is also achieved by the RTP channel establishment method comprising the step of performing.

여기서, (b) 상기 상대방 클라이언트로부터 다른 포트 바인딩 패킷을 수신하여 상기 클라이언트로 전달해줌으로써 포트 바인딩을 수행하는 단계를 더 포함하는 것이 바람직하다.Here, the method may further include performing port binding by receiving another port binding packet from the counterpart client and delivering the port binding packet to the client.

또한, 클라이언트와 상대방 클라이언트 사이에 RTP 채널을 설정하는 방법에 있어서, (a) 상기 클라이언트 및 상기 상대방 클라이언트가 속한 네트워크 환경을 기초로 상기 클라이언트 또는 상기 상대방 클라이언트와 UDP 채널이 설정가능하면 UDP 채널이 설정되도록 하는 단계; (b) 상기 클라이언트 또는 상기 상대방 클라이언트와 UDP 채널이 설정불가하고 TCP 채널이 설정가능하면 TCP 채널이 설정되도록 하는 단계; 및 (c) 상기 (a)단계 및 (b)단계를 통해 설정된 TCP 채널 또는 UDP 채널을 통해 상기 클라이언트로부터 전송된 RTP 패킷을 대리수신하여 상기 상대방 클라이언트로 전달하는 것을 특징으로 하는 RTP 채널 설정방법에 의해서도 달성된다.In addition, in a method for establishing an RTP channel between a client and a counterpart client, (a) a UDP channel is established if a UDP channel can be established with the client or the counterpart client based on a network environment to which the client and the counterpart client belong. Making it possible; (b) allowing a TCP channel to be established if a UDP channel cannot be established with the client or the counterpart client and a TCP channel can be established; And (c) receiving the RTP packet transmitted from the client through the TCP channel or the UDP channel set through the steps (a) and (b) and forwarding the received RTP packet to the counterpart client. Is also achieved.

상기 (c)단계는 상기 TCP 채널을 통해 전송되는 RTP 패킷에 상기 RTP 패킷의 길이와 조합순서를 알려주는 식별정보가 기록된 헤더를 추가하는 단계를 포함하는 것이 바람직하다.Step (c) preferably includes adding a header having identification information indicating the length and the combination order of the RTP packet to the RTP packet transmitted through the TCP channel.

또한, 상기 (b)단계는 상대방 클라이언트로부터 TCP 커넥션을 요청받아 TCP 채널을 설정하는 단계를 포함하고, 상기 (c)단계는 상기 클라이언트로부터 UDP 채널을 통해 RTP 패킷을 대리수신하여 상기 TCP 채널을 통해 상기 상대방 클라이언트로 전달해주는 단계를 포함하는 것이 효과적이다.In addition, the step (b) includes receiving a TCP connection request from the client of the other party and establishing a TCP channel, and the step (c) alternately receives an RTP packet from the client through the UDP channel to transmit a TCP channel. It is effective to include the step of delivering to the other client.

또한, 클라이언트와 상대방 클라이언트 사이에 RTP 채널을 설정하는 방법에 있어서, (a) 상기 클라이언트 및 상대방 클라이언트가 모두 UDP 채널을 통한 RTP 패킷의 송수신을 허용하지 않는 strict firewall의 내부에 위치하거나, 상기 클라이언트는 UDP 채널을 허용하지 않고 TCP 커넥션만을 허용하는 strict firewall의 내부에 위치하고 상기 상대방 클라이언트는 UDP 패킷의 수신을 허용하지 않는 normal firewall의 내부에 위치할 때, TCP 채널을 통해 상기 클라이언트로부터 수신된 RTP 패킷을 상기 상대방 클라이언트와 맺어진 TCP 채널로 전달하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법에 의해서도 달성된다.In addition, in a method of establishing an RTP channel between a client and a counterpart client, (a) both the client and the counterpart client are located inside a strict firewall that does not allow transmission and reception of RTP packets over a UDP channel, When the client is located inside a strict firewall that allows only TCP connections and does not allow UDP channels, the other client is located inside a normal firewall that does not allow the reception of UDP packets. It is also achieved by the RTP channel establishment method comprising the step of transmitting to the TCP channel with the counterpart client.

여기서, 상기 RTP 채널 설정방법은 (b) 상기 클라이언트가 UDP 채널을 허용하지 않고 외부로 TCP 커넥션만을 맺는 것을 허용하는 strict firewall의 내부에 위치하고 상기 상대방 클라이언트는 외부로부터의 UDP 패킷의 수신을 허용하는 normal NAT 또는 symmetric NAT의 내부에 위치할 때, 상기 클라이언트로부터 TCP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트로 UDP 채널을 통해 전달하는 단계를 포함하는 것이 바람직하다.Here, the RTP channel setting method is (b) is located inside a strict firewall that allows the client to make only a TCP connection to the outside without allowing a UDP channel, and the counterpart client allows normal reception of UDP packets from the outside. When located inside a NAT or symmetric NAT, it is preferable to include transmitting the RTP packet received from the client via the TCP channel to the counterpart client via the UDP channel.

또한, (c) 상기 클라이언트가 normal firewall의 내부에 위치하고 상기 상대방 클라이언트는 strict firewall 또는 normal firewall의 내부에 위치할 때, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트와 맺어진 TCP 채널로 전달하는 단계를 포함하는 것이 더욱 바람직하다.Also, (c) when the client is located inside a normal firewall and the counterpart client is located inside a strict firewall or a normal firewall, an RTP packet received from the client through a UDP channel is transferred to a TCP channel associated with the counterpart client. It is more preferred to include the step of delivering.

나아가, (d) 상기 클라이언트가 UDP 채널을 허용하는 normal NAT 또는 symmetric NAT의 내부에 위치하며 상기 상대방 클라이언트는 특정 UDP 채널을 통한RTP 패킷의 수신을 허용하는 symmetric NAT의 내부에 위치할 때, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트로 UDP 채널을 통해 전달하는 단계를 포함하는 것이 특히 바람직하다.Further, (d) when the client is located inside a normal NAT or a symmetric NAT that allows a UDP channel and the counterpart client is located inside a symmetric NAT that allows the reception of RTP packets over a specific UDP channel, the client It is particularly desirable to include the step of forwarding the RTP packet received from the UDP channel via the UDP channel to the counterpart client.

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

클라이언트가 속한 네트워크 환경은 크게 NAT 또는 방화벽(firewall) 환경 및 공인 IP 환경으로 나눌 수 있다. NAT 환경은 본 실시예에서 normal NAT와 symmetric NAT로 세분되며, 방화벽은 normal firewall, strict firewall로 세분된다. 이는 RTP 통신을 기반으로 한 응용 서비스를 염두에 두고 분류된 것이다. 다시 말해, 클라이언트가 UDP 패킷을 직접 내보내고 받을 수 있는지 여부에 따라 네트워크 환경을 분류한 것이다. 따라서, 네트워크 환경은 통신환경에 대한 응용 서비스의 요구특성에 따라 본 실시예와 다르게 분류될 수 있다.The network environment to which the client belongs can be largely divided into NAT or firewall environment and public IP environment. The NAT environment is subdivided into normal NAT and symmetric NAT in this embodiment, and the firewall is subdivided into a normal firewall and a strict firewall. This is classified with an application service based on RTP communication in mind. In other words, the network environment is classified according to whether the client can directly send and receive UDP packets. Therefore, the network environment may be classified differently from the present embodiment according to the request characteristics of the application service for the communication environment.

한편, 본 발명에 따른 채널 설정 서버는 클라이언트와 상대방 클라이언트가 NAT 또는 방화벽 환경에 속해 있어 RTP 패킷을 송수신할 수 있는 경로가 설정되면 UDP 채널을 통해 RTP 패킷을 주고받을 수 있는 경우에는 경로설정을 해준다. RTP 패킷을 직접 주고받을 수 없는 경우에는 RTP 패킷을 대리수신하여 중계해준다.On the other hand, the channel setting server according to the present invention, if the client and the counterpart client is in a NAT or firewall environment and the path for transmitting and receiving the RTP packet is set, if the RTP packet can be transmitted and received over the UDP channel, the routing is set. . If the RTP packet cannot be directly transmitted and received, the RTP packet is received and relayed.

도 1은 클라이언트(3)는 NAT 환경에 속하고 상대방 클라이언트(6)는 공인 IP 환경에 속한 경우의 네트워크 구성도이다.1 is a network configuration diagram in which the client 3 belongs to a NAT environment and the counterpart client 6 belongs to a public IP environment.

도 1을 참조하면, 클라이언트(3)는 NAT 서버(20)를 통해 인터넷에 연결되어 있다. 상대방 클라이언트(6)에는 공인 IP주소가 할당되어 있다. 클라이언트(3)는가정용 컴퓨터 사용자이거나 학교, 공공기관, 회사 등의 업무용 컴퓨터로서 사설 IP주소가 할당된다. NAT 서버(20)는 normal NAT 또는 symmetric NAT이다.Referring to FIG. 1, the client 3 is connected to the Internet via a NAT server 20. The counterpart client 6 is assigned a public IP address. The client 3 is a home computer user or a work computer of a school, a public institution, a company, or the like, assigned a private IP address. NAT server 20 is a normal NAT or a symmetric NAT.

< normal NAT ><normal NAT>

도 1을 참조하면, 클라이언트(3)는 NAT 서버(20)에 접속되어 있다. 따라서, 클라이언트(3)가 공인 IP주소를 갖는 상대방 클라이언트(6)로 패킷을 보내려면 NAT 서버(20)를 경유하여 패킷에 첨부될 소스 주소 및 소스 포트를 NAT 서버(20)의 공인 IP주소 및 NAT 서버(20)의 포트로 변경해야 한다. 변경될 포트는 NAT 서버(20)가 임의로 결정한다. 클라이언트(3)가 상대방 클라이언트(6)로 패킷을 내보내는 경우 NAT 서버(20)는 패킷의 소스 주소를 「클라이언트(3)의 사설 IP주소: 클라이언트(3)의 로컬 포트」에서 「NAT 서버(20)의 IP주소: NAT 서버(20)의 로컬 포트」로 교체한다. 따라서, 클라이언트(3) 및 NAT 서버(20)의 IP주소가 각각 192.168.10.2, 210.108.147.53이고 클라이언트(3)의 로컬 포트 10000에서 상대방 클라이언트(6)의 로컬 포트 20000으로 패킷을 보낸다면 첨부되는 소스주소는 192.168.10.2:10000에서 210.108.147.53: 60000으로 교체된다. 60000은 NAT 서버(20)의 로컬 포트를 가리킨다. 이 때, 192.168.10.2:10000과 210.108.147.53:60000은 「NAT 포트 바인딩」되었다고 한다. 또한 이를 위해 사용된 패킷을 「포트 바인딩 패킷 NAT Port Binding Packet, NPBP」 이라 하며, 210.108.147.53:60000를 「포트 바인딩 주소」라고 부른다. 이후에, 192.168.10.2:10000로부터 외부로 내보내지는 패킷은 모두 NAT 서버(20)의 로컬 포트 60000과 바인딩되므로 상대방 클라이언트(6)로부터 NAT 서버(20)의 로컬 포트60000으로 보내진 패킷은 클라이언트(3)의 로컬 포트 10000으로 보내진다.Referring to FIG. 1, the client 3 is connected to a NAT server 20. Accordingly, in order for the client 3 to send a packet to the counterpart client 6 having a public IP address, the public IP address of the NAT server 20 and the source address and source port to be attached to the packet are passed through the NAT server 20. It should be changed to the port of NAT server 20. The NAT server 20 arbitrarily determines the port to be changed. When the client 3 sends the packet to the counterpart client 6, the NAT server 20 sets the source address of the packet as "the private IP address of the client 3: the local port of the client 3" to the "NAT server 20". IP address: local port of NAT server 20 ”. Therefore, if the IP addresses of the client 3 and the NAT server 20 are 192.168.10.2 and 210.108.147.53, respectively, and a packet is sent from the local port 10000 of the client 3 to the local port 20000 of the other client 6, it is attached. The source address is replaced by 210.108.147.53: 60000 from 192.168.10.2:10000. 60000 indicates a local port of the NAT server 20. At this time, 192.168.10.2:10000 and 210.108.147.53:60000 are said to be "NAT port binding". The packet used for this purpose is called "Port Binding Packet NAT Port Binding Packet, NPBP", and 210.108.147.53:60000 is called "Port Binding Address". Subsequently, all packets sent out from 192.168.10.2:10000 are bound to local port 60000 of NAT server 20, so packets sent from other client 6 to local port 60000 of NAT server 20 are forwarded to client (3). Is sent to local port 10000).

< symmetric NAT ><symmetric NAT>

도 1을 참조하면, 클라이언트(3)가 상대방 클라이언트(6)로 포트 바인딩 패킷을 보낸 경우, normal NAT에서는 「NAT 포트 바인딩」에 있어서 클라이언트(3)와 NAT 서버(20)만이 바인딩됨에 비해, symmetric NAT에서는 상대방 클라이언트(6)까지 바인딩된다. 즉, 위의 예에서 상대방 클라이언트(6)의 IP주소가 208.185.147.100이고 로컬 포트 20000이 사용된다면 208.185.147.100:20000까지 바인딩된다. 이때 포트 바인딩 주소는 NAT 서버(20)의 210.108.147.53:60000와 상대방 클라이언트(6)의 208.185.147.100:20000까지 두 개가 된다.Referring to FIG. 1, when the client 3 sends a port binding packet to the counterpart client 6, in the normal NAT, only the client 3 and the NAT server 20 are bound in "NAT port binding". In NAT, the other client 6 is bound. That is, in the above example, if the IP address of the counterpart client 6 is 208.185.147.100 and the local port 20000 is used, up to 208.185.147.100:20000 is bound. At this time, there are two port binding addresses, 210.108.147.53:60000 of the NAT server 20 and 208.185.147.100:20000 of the counterpart client 6.

정리하면, normal NAT에서의 NAT 포트 바인딩은 도착지 주소가 상이하더라도 모두 NAT 서버(20)의 동일한 로컬 포트에 바인딩되며, symmetric NAT의 경우는 서로 다른 도착지에 대해서는 NAT 서버(20)의 서로 다른 포트가 바인딩된다.In summary, NAT port bindings in normal NAT are all bound to the same local port of NAT server 20, even if the destination addresses are different, and in the case of symmetric NAT, different ports of NAT server 20 are assigned to different destinations. Is bound.

도 2는 도 1의 클라이언트(3,6)의 상세 블록도이다.FIG. 2 is a detailed block diagram of the clients 3, 6 of FIG.

도 2를 참조하면, 클라이언트(3,6)는 펜티엄 등의 프로세서(31), 메모리(33), 하드 디스크, 플래시 메모리 등으로 구현된 저장부(34), 키보드, 마우스 등의 입력장치(35), 및 인터넷 접속을 위한 인터넷 접속부(32)를 구비한다.Referring to FIG. 2, the clients 3 and 6 may include a processor 31 such as a Pentium, a memory 33, a storage unit 34 implemented as a hard disk, a flash memory, an input device 35 such as a keyboard, a mouse, and the like. And an internet connection 32 for internet access.

메모리(33)에는 운영체제(30), 응용 프로그램, 및 RTP 채널 설정모듈(4)이 탑재된다. 특히, 운영체제(30)는 메모리(33)에 최초로 적재되어 실행됨으로써 RTP 채널 설정모듈(4) 또는 응용 프로그램을 관리한다. 본 실시예에서 응용 프로그램은 RTP 채널을 기반으로 수행되는 서비스를 위해 클라이언트(3)에서 실행되는 프로그램이다. 응용 프로그램의 예로는 유저가 인터넷 전화 서비스를 받기 위한 프로그램을 들 수 있다. RTP 채널 설정모듈(4) 또한 클라이언트(3)에 설치되어 실행됨으로써 본 발명에 따른 RTP 채널 설정방법을 수행하기 위한 응용 프로그램의 일종이다. 다만, RTP 채널 설정모듈(4)은 응용 프로그램 내에 존재하거나 응용 프로그램과 독립적으로 존재하면서 먼저 실행되어 RTP 채널을 설정한다. 다시 말해 RTP 채널 설정모듈(4)은 유저가 응용 프로그램의 실행을 요청하면 먼저 실행되어 RTP 채널을 설정한다. RTP 채널 설정모듈(4)은 CD 등 기록매체를 통해 배포되거나 인터넷을 통해 제공된다. 일 예로 RTP 채널을 기반으로 인터넷 전화 서비스를 제공하는 서비스 서버 시스템으로부터 클라이언트(3,6)로 다운로드될 수 있다.The memory 33 is equipped with an operating system 30, an application program, and an RTP channel setting module 4. In particular, the operating system 30 manages the RTP channel setting module 4 or an application program by being loaded and executed for the first time in the memory 33. In this embodiment, the application program is a program executed in the client 3 for a service performed based on the RTP channel. An example of an application is a program for a user to receive an Internet phone service. The RTP channel setting module 4 is also a kind of application program for performing the RTP channel setting method according to the present invention by being installed and executed in the client 3. However, the RTP channel setting module 4 is present in the application program or exists independently of the application program, and is executed first to set the RTP channel. In other words, when the user requests execution of an application program, the RTP channel setting module 4 is executed first to set the RTP channel. The RTP channel setting module 4 is distributed through a recording medium such as a CD or provided through the Internet. For example, it may be downloaded to the clients 3 and 6 from a service server system that provides Internet telephony service based on the RTP channel.

상기와 같은 구성에 의해 본 발명의 제1 실시예에 따른 RTP 채널 설정방법을 설명하면 다음과 같다.Referring to the RTP channel setting method according to the first embodiment of the present invention by the above configuration as follows.

도 3은 제1 실시예에 따라 RTP 채널 설정방법을 설명하기 위한 참고도이다.3 is a reference diagram for explaining a method of setting an RTP channel according to a first embodiment.

도 3을 참조하면, 점선은 UDP 통신을 의미한다. OSI 참조모델 또는 TCP/IP 모델에서 UDP는 TCP와 함께 전송계층(transport layer)을 담당한다. 다만, TCP는 클라이언트와 상대방 클라이언트 간에 가상 경로(virtual circuit)를 설정하고 이들 경로를 통해 패킷을 전송하는 연결지향 프로토콜이며 종단간 오류제어를 수행하므로 신뢰성이 높지만 전송속도 면에서 실시간 전송을 기반으로 한 응용 서비스에는 적절하지 않다. 반면, UDP는 비연결지향 프로토콜로서 각 패킷의 전송에 최선(best-try)을 다할 뿐 종단간 오류제어를 수행하지 않으므로 신뢰성이 낮은 대신 전송속도가 빨라서 상대적으로 실시간 전송을 기반으로 한 응용 서비스에 적합하다.Referring to FIG. 3, the dotted line means UDP communication. In the OSI reference model or TCP / IP model, UDP is responsible for the transport layer along with TCP. However, TCP is a connection-oriented protocol that establishes a virtual circuit between a client and a counterpart client and transmits packets through these paths. Since TCP performs end-to-end error control, it is reliable but based on real-time transmission in terms of transmission speed. It is not appropriate for application services. On the other hand, UDP is a connectionless-oriented protocol that does best end-to-end transmission of each packet but does not perform end-to-end error control. Suitable.

NAT 서버(20)가 normal NAT인지 symmetric NAT인지 여부에 상관없이 클라이언트(3)는 UDP 패킷을 내보낼 수 있으므로, RTP 채널 설정모듈(4)은 포트 바인딩 패킷 NPBP을 NAT 서버(20)로 내보낸다(단계 31). NAT 서버(20)는 이를 다시 상대방 클라이언트(6)에게 전송한다(단계 32). 이에 상대방 클라이언트(6)는 수신된 포트 바인딩 패킷 NPBP에 기록된 소스 IP주소와 포트로 RTP 패킷을 보낸다(단계 33). NAT 서버(20)는 수신된 RTP 패킷을 클라이언트(3)로 전송한다(단계 34). 이에 클라이언트(3)와 상대방 클라이언트(6) 사이에는 RTP 채널이 설정된다.Regardless of whether the NAT server 20 is a normal NAT or a symmetric NAT, the client 3 can export UDP packets, so the RTP channel establishment module 4 exports the port binding packet NPBP to the NAT server 20 ( Step 31). The NAT server 20 transmits this to the counterpart client 6 again (step 32). The counterpart client 6 then sends an RTP packet to the source IP address and port recorded in the received port binding packet NPBP (step 33). NAT server 20 sends the received RTP packet to client 3 (step 34). Accordingly, an RTP channel is established between the client 3 and the counterpart client 6.

도 4는 클라이언트(3)는 공인 IP 환경에 속하고 상대방 클라이언트(6)는 NAT/firewall 환경에 속한 경우 네트워크 구성도이다.4 is a diagram illustrating a network when the client 3 belongs to a public IP environment and the counterpart client 6 belongs to a NAT / firewall environment.

도 4를 참조하면, 클라이언트(3)는 공인 IP주소를 가지고 직접 인터넷에 연결되어 있으나 상대방 클라이언트(6)는 NAT/방화벽(firewall)(40)을 통해 인터넷에 연결되어 있다. 클라이언트(3,6)는 도 2를 참조하여 설명한 바와 마찬가지 구성을 가진다. 클라이언트(3,6)에는 RTP 채널 설정모듈(4)이 설치되어 있다. 채널 설정 서버(1)는 본 실시예에 따라 RTP 채널을 설정하기 위한 것으로 직접 인터넷에 연결되어 있다. 채널 설정 서버(1)에는 복수개의 포트가 구비되어 있으며 클라이언트들(3,6)의 요청을 수신하기 위한 특정 포트에는 소켓(socket)이 설치되어 있다. 소켓은 네트워크 상에서 RTP 채널 설정모듈(4)과 채널 설정 서버(2) 사이의 통신을 위한 인터페이스이다. 소켓은 소켓 API(Application Program Interface) 라고 불리는 함수 호출(function call)로 만들어지고 사용된다.Referring to FIG. 4, the client 3 is directly connected to the Internet with a public IP address, but the other client 6 is connected to the Internet through a NAT / firewall 40. Clients 3 and 6 have the same configuration as described with reference to FIG. The clients 3, 6 are provided with an RTP channel setting module 4. The channel setting server 1 is for establishing an RTP channel according to the present embodiment and is directly connected to the Internet. The channel setting server 1 is provided with a plurality of ports, and a socket is installed in a specific port for receiving requests from the clients 3 and 6. The socket is an interface for communication between the RTP channel setting module 4 and the channel setting server 2 on the network. Sockets are made and used by function calls called socket application program interfaces (APIs).

한편, NAT에 관하여는 제1 실시예에서 상술한 바 있으므로 본 실시예에서는 NAT에 관한 상세한 설명은 생략하고 방화벽에 대해서만 상술한다.On the other hand, since NAT has been described above in the first embodiment, detailed description of NAT is omitted in this embodiment, and only the firewall will be described in detail.

< normal firewall ><normal firewall>

도 4를 참조하면, normal firewall(40)의 내부에 위치한 상대방 클라이언트(6)는 UDP 패킷을 내보낼 수 있으며, 직접 클라이언트(3)와 TCP 커넥션을 맺을 수 있다. 그러나, 클라이언트(3)로부터 들어오는 UDP 패킷은 받을 수 없고, 클라이언트(3)로부터의 TCP 커넥션은 맺을 수 없다.Referring to FIG. 4, the counterpart client 6 located inside the normal firewall 40 may send a UDP packet and directly establish a TCP connection with the client 3. However, UDP packets coming from the client 3 cannot be received, and TCP connections from the client 3 cannot be made.

< strict firewall ><strict firewall>

도 4를 참조하면, strict firewall(40)의 내부에 위치한 상대방 클라이언트(6)는 클라이언트(3)와 UDP 패킷을 주고받을 수 없으며, 클라이언트(3)로부터의 TCP 커넥션을 맺을 수 없다. 다만, 클라이언트(3)로부터 상대방 클라이언트(7)로 요청되는 TCP 커넥션은 설정가능하다.Referring to FIG. 4, the other client 6 located inside the strict firewall 40 may not exchange UDP packets with the client 3, and may not establish a TCP connection from the client 3. However, the TCP connection requested from the client 3 to the counterpart client 7 can be set.

도 5는 도 4의 채널 설정 서버(1)의 블록도이다.FIG. 5 is a block diagram of the channel setting server 1 of FIG. 4.

도 5를 참조하면, 채널 설정 서버(1)는 클라이언트 데이터베이스(50) 및 RTP 채널 설정 모듈(51)을 구비한다. 나아가, 응용 서비스 모듈(52)을 더 포함할 수 있다.Referring to FIG. 5, the channel setting server 1 includes a client database 50 and an RTP channel setting module 51. Furthermore, the application service module 52 may be further included.

클라이언트 데이터베이스(50)에는 클라이언트에 대한 정보가 저장된다. 클라이언트 정보는 TCP/UDP를 위해 클라이언트(3,6)에 할당된 IP주소(사설, 공인) 및 할당된 포트 정보를 포함한다. 여기서, IP주소는 응용 서비스 서버(52)에 의해 제공되는 응용 서비스를 받기 위한 회원으로 가입할 때 클라이언트(3,6)로부터 제공될 수 있다. RTP 채널 설정 모듈(51)은 본 실시예에 따라 클라이언트(3)와 상대방 클라이언트(6) 사이에 RTP 채널이 설정되도록 포트 바인딩 패킷 NPBP 및 RTP 패킷을 대리 수신한다. 응용 서비스 모듈(52)은 RTP 채널 설정 모듈(51)에 의해 설정된 RTP 채널을 기반으로 클라이언트(3,6)에게 응용 서비스를 제공하기 위한 것이다. 여기서, 응용 서비스 모듈(52)은 채널 설정 서버(1)와 별개의 시스템으로 구현되어 LAN/WAN을 통해 연결될 수 있다.The client database 50 stores information about the client. The client information includes the IP address (private, public) assigned to the clients 3 and 6 for TCP / UDP, and the assigned port information. Here, the IP address may be provided from the clients 3 and 6 when joining as a member for receiving the application service provided by the application service server 52. The RTP channel setting module 51 receives the port binding packet NPBP and the RTP packet on behalf of the client so that the RTP channel is established between the client 3 and the counterpart client 6 according to the present embodiment. The application service module 52 is for providing an application service to the clients 3 and 6 based on the RTP channel established by the RTP channel setting module 51. Here, the application service module 52 may be implemented as a separate system from the channel setting server 1 and connected through a LAN / WAN.

RTP 패킷은 UDP 채널을 전제로 정의되고 동작된다. 따라서, UDP 채널을 통해 전송된 RTP 패킷 각각은 독립적으로 목적지에 도착하게 된다. 그러나 RTP 패킷을 TCP 채널을 통해 전송할 경우 발송지 및 목적지에서 패킷의 분리 및 합체가 수행되므로 이를 위해 본 발명에서 TCP 채널을 통해 전송되는 RTP 패킷에는 「RTP over TCP」헤더가 추가된다.RTP packets are defined and operated on the assumption of a UDP channel. Therefore, each of the RTP packets transmitted through the UDP channel independently arrives at the destination. However, when the RTP packet is transmitted through the TCP channel, since the separation and coalescing of the packet is performed at the source and destination, the "RTP over TCP" header is added to the RTP packet transmitted through the TCP channel in the present invention.

RTP over TCP 헤더RTP over TCP header RTP 패킷RTP packet

RTP over TCP 헤더에는 각 패킷의 조합순서를 알려주는 식별정보가 기록된다. 「RTP over TCP 헤더」는 일 예로 다음과 같이 구현될 수 있다.In the RTP over TCP header, identification information indicating the combining order of each packet is recorded. The "RTP over TCP header" may be implemented as follows, for example.

MSB LSBMSB LSB

31 24 6 8 031 24 6 8 0

Length of the body(bytes)Length of the body (bytes) 0x530x53 0x540x54

여기서, Length of the body(bytes)는 RTP 패킷의 길이를 의미하며, 0x53 및 0x54는 「TCP 채널을 통해 전송되는 RTP 패킷」이라는 정보와 조합순서 정보를 알려주는 식별정보이다.Here, Length of the body (bytes) refers to the length of the RTP packet, and 0x53 and 0x54 are identification information indicating the information &quot; RTP packet transmitted through the TCP channel &quot; and combination order information.

상기와 같은 구성에 의해 본 발명에 따른 RTP 채널 설정방법을 설명하면 다음과 같다.Referring to the RTP channel setting method according to the present invention by the above configuration as follows.

도 6은 제2 실시예에 따라 상대방 클라이언트(6)가 NAT/firewall(40)에 연결되어 있는 경우의 RTP 채널 설정방법을 설명하기 위한 참고도이다. 다만, 본 실시예에서의 RTP 채널 설정방법은 인터넷 전화 서비스에 있어서 클라이언트(3)가 상대방 클라이언트(6)로 전화를 걸 때 도 6을 참조하여 설명한 과정을 통해 콜 신호가 상대방 클라이언트(6)로 도착되며 상대방 클라이언트(6)의 응답 콜 신호 또한 클라이언트(3)로 도착되도록 하기 위한 방법을 말한다.FIG. 6 is a reference diagram for explaining a method of establishing an RTP channel when the counterpart client 6 is connected to a NAT / firewall 40 according to the second embodiment. However, the RTP channel setting method according to the present embodiment is a call signal to the counterpart client 6 through the process described with reference to FIG. 6 when the client 3 makes a call to the counterpart client 6 in the Internet telephony service. A method for arriving and receiving a response call signal of the other client 6 also arrives at the client 3.

도 6을 참조하면, 실선은 TCP 통신을 의미한다. 상대방 클라이언트(6)의 RTP 채널 설정모듈(4)은 채널 설정 서버(1)로 TCP 커넥션을 요청한다(단계 61). 클라이언트(3)의 RTP 채널 설정모듈(4) 또한 채널 설정 서버(1)로 TCP 커넥션을 요청한다(단계 62). 단계 51 및 52는 순서에 상관없이 독립적으로 수행될 수 있다. 클라이언트(3)는 단계 62에서 맺어진 TCP 커넥션을 통해 채널 설정 서버(1)로 콜(Call) 신호를 전송한다(단계 63). 채널 설정 서버(1)는 수신된 콜 신호를 단계 61에서 맺어진 TCP 커넥션을 통해 상대방 클라이언트(6)로 전송한다(단계 64). 또한, 상대방 클라이언트(6)는 단계 61에서 맺어진 TCP 커넥션을 통해 채널 설정 서버(1)로 콜 신호를 전송하고(단계 65), 채널 설정 서버(1)는 수신된 콜 신호를 단계 62에서 맺어진 TCP 커넥션을 통해 클라이언트(3)로 전송한다(단계 66). 이에 클라이언트(3)와 상대방 클라이언트(6) 사이에는 RTP 채널이 설정된다.Referring to FIG. 6, a solid line means TCP communication. The RTP channel setting module 4 of the other client 6 requests a TCP connection to the channel setting server 1 (step 61). The RTP channel setting module 4 of the client 3 also requests a TCP connection to the channel setting server 1 (step 62). Steps 51 and 52 can be performed independently in any order. The client 3 transmits a call signal to the channel setting server 1 through the TCP connection made in step 62 (step 63). The channel setting server 1 transmits the received call signal to the counterpart client 6 through the TCP connection made in step 61 (step 64). In addition, the client 6 transmits the call signal to the channel setting server 1 through the TCP connection made in step 61 (step 65), and the channel setting server 1 transmits the received call signal to the TCP made in step 62. Transfer to client 3 via connection (step 66). Accordingly, an RTP channel is established between the client 3 and the counterpart client 6.

도 7은 제3 실시예에 따라 상대방 클라이언트(6)가 normal NAT 또는symmetric NAT에 연결된 경우의 RTP 채널 설정방법을 설명하기 위한 참고도이다.FIG. 7 is a reference diagram for explaining a method of establishing an RTP channel when the counterpart client 6 is connected to a normal NAT or a symmetric NAT according to the third embodiment.

도 7을 참조하면, 상대방 클라이언트(6)의 RTP 채널 설정모듈(4)은 먼저 포트 바인딩 패킷 NPBP을 클라이언트(3)로 전달한다(단계 71). 클라이언트(3)의 RTP 채널 설정모듈(4)은 단계 71에서 포트 바인딩된 경로에 따라 RTP 패킷을 상대방 클라이언트(6)로 전송하고(단계 72), 상대방 클라이언트(6) 또한 RTP 패킷을 클라이언트(3)로 전송한다(단계 73). 이에 클라이언트(3)와 상대방 클라이언트(6) 사이에는 RTP 채널이 설정된다.Referring to Fig. 7, the RTP channel setting module 4 of the counterpart client 6 first forwards the port binding packet NPBP to the client 3 (step 71). The RTP channel setting module 4 of the client 3 transmits the RTP packet to the other client 6 according to the port-bound path in step 71 (step 72), and the other client 6 also sends the RTP packet to the client 3. (Step 73). Accordingly, an RTP channel is established between the client 3 and the counterpart client 6.

도 8은 제4 실시예에 따라 상대방 클라이언트(6)가 normal firewall에 연결된 경우의 RTP 채널 설정방법을 설명하기 위한 참고도이다.8 is a reference diagram for explaining a method of establishing an RTP channel when the counterpart client 6 is connected to a normal firewall according to a fourth embodiment.

도 8을 참조하면, 상대방 클라이언트(6)의 RTP 채널 설정모듈(4)은 클라이언트(3)와 TCP 커넥션을 맺는다(단계 81). 클라이언트(3)는 단계 71에서 설정된 TCP 채널을 통해 상대방 클라이언트(6)로 RTP 패킷을 전송한다(단계 82). 상대방 클라이언트(6)는 클라이언트(3)로 RTP 패킷을 전송한다(단계 83). 이에 RTP 채널이 설정된다.8, the RTP channel setting module 4 of the other client 6 establishes a TCP connection with the client 3 (step 81). The client 3 transmits an RTP packet to the counterpart client 6 via the TCP channel set up in step 71 (step 82). The other client 6 sends an RTP packet to the client 3 (step 83). In this way, an RTP channel is established.

도 9는 제5 실시예에 따라 상대방 클라이언트(6)가 strict firewall에 연결된 경우의 RTP 채널 설정방법을 설명하기 위한 참고도이다.9 is a reference diagram for explaining a method of setting up an RTP channel when the counterpart client 6 is connected to a strict firewall according to the fifth embodiment.

도 9를 참조하면, 상대방 클라이언트(6)의 RTP 채널 설정모듈(4)은 클라이언트(3)와 TCP 커넥션 1(수신용)을 맺는다(단계 91). 상대방 클라이언트(6)의 RTP 채널 설정모듈(4)은 또한 클라이언트(3)와 TCP 커넥션 2(송신용)를 맺는다(단계 92). 클라이언트(3)는 단계 91에서 설정된 TCP 채널을 통해 상대방 클라이언트(6)로 RTP 패킷을 전송한다(단계 93). 상대방 클라이언트(6)는 단계 92에서 설정된 TCP 채널을 통해 클라이언트(3)로 RTP 패킷을 전송한다(단계 94). 이에 클라이언트(3)와 상대방 클라이언트(6) 사이에는 RTP 채널이 설정된다.9, the RTP channel setting module 4 of the other client 6 establishes a TCP connection 1 (for reception) with the client 3 (step 91). The RTP channel setting module 4 of the other client 6 also establishes a TCP connection 2 (for transmission) with the client 3 (step 92). The client 3 transmits an RTP packet to the counterpart client 6 via the TCP channel set up in step 91 (step 93). The other client 6 transmits an RTP packet to the client 3 via the TCP channel set up in step 92 (step 94). Accordingly, an RTP channel is established between the client 3 and the counterpart client 6.

도 10은 클라이언트(3)와 상대방 클라이언트(6)가 NAT/firewall 환경에 속한 경우 네트워크 구성도이다.10 is a diagram illustrating a network when the client 3 and the counterpart client 6 belong to a NAT / firewall environment.

도 10을 참조하면, 클라이언트(3)와 상대방 클라이언트(6)는 각각 NAT/ firewall(20,40)을 통해 인터넷에 연결되어 있다. 클라이언트(3,6)는 도 2를 참조하여 설명한 바와 마찬가지 구성을 가진다. 클라이언트(3,6)에는 각각 본 실시예에 따른 RTP 채널 설정모듈(4)이 설치되어 있다.Referring to FIG. 10, the client 3 and the counterpart client 6 are connected to the Internet through NAT / firewall 20 and 40, respectively. Clients 3 and 6 have the same configuration as described with reference to FIG. The clients 3, 6 are each provided with an RTP channel setting module 4 according to the present embodiment.

채널 설정 서버(2)는 인터넷에 직접 연결되어 클라이언트들(3,6)이 NAT/firewall(20,40) 내에 위치됨으로써 RTP 패킷을 UDP 또는 TCP 채널을 통해 직접 주고받을 수 없는 경우 이를 중계해주는 역할을 담당한다. 이를 위해, 채널 설정 서버(2)에는 복수개의 포트가 구비되어 있으며 클라이언트들(3,6)의 요청을 수신하기 위한 특정 포트에는 소켓(socket)이 설치되어 있다. 소켓은 네트워크 상에서 RTP 채널 설정모듈(4)과 채널 설정 서버(2) 사이의 통신을 위한 인터페이스이다. 소켓은 소켓 API(Application Program Interface) 라고 불리는 함수 호출(function call)로 만들어지고 사용된다. 클라이언트들(3,6)에 설치된 RTP 채널 설정모듈(4)은 TCP 또는 UDP 채널을 통한 송수신이 가능한지 여부를 판단하고 판단결과에 따른 소정 중계방식을 채널 설정 서버(2)에게 요청한다. 채널 설정 서버(2)의 중계방식은 다음과 같이 4가지 방식으로 나눌 수 있다.Channel setting server (2) is connected directly to the Internet, the client (3,6) is located in the NAT / firewall (20, 40) to relay the RTP packet if it can not directly send and receive over UDP or TCP channel In charge of. To this end, the channel setting server 2 is provided with a plurality of ports, and a socket is installed at a specific port for receiving requests from the clients 3 and 6. The socket is an interface for communication between the RTP channel setting module 4 and the channel setting server 2 on the network. Sockets are made and used by function calls called socket application program interfaces (APIs). The RTP channel setting module 4 installed in the clients 3 and 6 determines whether transmission and reception through the TCP or UDP channel is possible and requests the channel setting server 2 for a predetermined relay method according to the determination result. The relaying method of the channel setting server 2 can be divided into four methods as follows.

1. T-to-T 방식: TCP 채널을 통해 수신된 RTP 패킷을 TCP 채널로 중계1. T-to-T method: relays RTP packets received through TCP channel to TCP channel

2. T-to-U 방식: TCP 채널을 통해 수신된 RTP 패킷을 UDP 채널로 중계2. T-to-U method: relays RTP packets received through TCP channel to UDP channel

3. U-to-T 방식: UDP 채널을 통해 수신된 RTP 패킷을 TCP 채널로 중계3. U-to-T method: relays RTP packets received through UDP channel to TCP channel

4. U-to-U 방식: UDP 채널을 통해 수신된 RTP 패킷을 UDP 채널로 중계4. U-to-U method: relays RTP packets received through UDP channel to UDP channel

다만, 클라이언트들(3,6)이 모두 normal NAT(20,40)의 내부에 위치하는 경우는 도 15를 참조하여 후술하는 방식에 따를 수 있다.However, when all of the clients 3 and 6 are located inside the normal NAT 20 and 40, the client 3 and 6 may follow the method described below with reference to FIG. 15.

도 11 내지 14는 본 발명의 제6 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도이다.11 to 14 are reference diagrams for explaining a method for establishing an RTP channel according to a sixth embodiment of the present invention.

도 11은 T-to-T 방식을 설명하기 위한 참고도이다.11 is a reference diagram for explaining a T-to-T method.

도 11을 참조하면, 클라이언트(3) 및 상대방 클라이언트(6)가 모두 UDP 채널을 통한 RTP 패킷의 송수신을 허용하지 않는 strict firewall(20,40)의 내부에 위치하거나 클라이언트(3)는 UDP 채널을 허용하지 않고 TCP 커넥션만을 허용하는 strict firewall(20)의 내부에 위치하고 상대방 클라이언트(6)는 UDP 패킷의 수신을 허용하지 않는 normal firewall(40)의 내부에 위치한다. 이처럼, T-to-T 방식은 클라이언트(3) 및 상대방 클라이언트(6) 모두 UDP 채널을 통해 RTP 패킷을 송수신할 수 없을 때 사용된다.Referring to FIG. 11, both the client 3 and the counterpart client 6 are located inside strict firewalls 20 and 40 which do not allow transmission and reception of RTP packets through the UDP channel, or the client 3 establishes a UDP channel. The other client 6 is located inside the normal firewall 40 which does not allow the reception of UDP packets. As such, the T-to-T method is used when neither the client 3 nor the counterpart client 6 can transmit or receive an RTP packet through the UDP channel.

클라이언트(3) 및 상대방 클라이언트(6)는 자신의 특정 포트에서 채널 설정 서버(2)로 TCP 커넥션을 맺는다(단계 111 및 112). RTP 패킷의 송수신을 위한 TCP 커넥션이 맺어지면 클라이언트(3)는 RTP 패킷을 TCP 커넥션을 통해 채널 설정 서버(2)로 전송하고(단계 113), 채널 설정 서버(2)는 수신된 RTP 패킷을 TCP 커넥션을 통해 상대방 클라이언트(6)로 중계해준다(단계 114). 이에 따라 클라이언트(3)와 상대방 클라이언트(6) 사이에는 RTP 채널이 설정된다.The client 3 and the counterpart client 6 make a TCP connection to the channel setting server 2 at their specific port (steps 111 and 112). When a TCP connection for transmitting and receiving an RTP packet is established, the client 3 transmits the RTP packet to the channel setting server 2 through the TCP connection (step 113), and the channel setting server 2 transmits the received RTP packet to the TCP connection. The connection is relayed to the counterpart client 6 through the connection (step 114). As a result, an RTP channel is established between the client 3 and the counterpart client 6.

도 12는 T-to-U 방식을 설명하기 위한 참고도이다.12 is a reference diagram for explaining a T-to-U method.

도 12를 참조하면, 클라이언트(3)는 UDP 채널(UDP 패킷의 송수신)을 허용하지 않고 외부로 TCP 커넥션만을 맺는 것을 허용하는 strict firewall(20)의 내부에 위치하고 상대방 클라이언트(6)는 외부로부터의 UDP 패킷의 수신을 허용하는 normal NAT 또는 symmetric NAT(40)의 내부에 위치한다. 따라서, 클라이언트(3)는 UDP 채널을 통한 RTP 패킷의 전송을 허용하지 않고 외부로의 TCP 커넥션을 통한 RTP 패킷의 전송만을 허용하고 상대방 클라이언트(6)는 UDP 채널을 통한 RTP 패킷을 수신할 수 있다. 이 경우 T-to-U 방식이 사용된다.Referring to FIG. 12, the client 3 is located inside the strict firewall 20 that allows only a TCP connection to the outside without allowing a UDP channel (transmission and reception of UDP packets) and the counterpart client 6 is externally located. It is located inside a normal NAT or symmetric NAT 40 that allows the reception of UDP packets. Accordingly, the client 3 may allow only the transmission of the RTP packet through the TCP connection to the outside without allowing the transmission of the RTP packet through the UDP channel and the counterpart client 6 may receive the RTP packet through the UDP channel. . In this case, the T-to-U method is used.

클라이언트(3)는 채널 설정 서버(2)로 TCP 커넥션을 맺고(단계 121), 채널 설정 서버(2)는 상대방 클라이언트(6)로 RTP 패킷을 전송하기 위한 특정 포트를 할당한다. 한편, 상대방 클라이언트(6)는 포트 바인딩 패킷 NPBP을 채널 설정 서버(2)로 전송함으로써 채널 설정 서버(2)와 UDP 채널을 설정한다(단계 122). 클라이언트(3)는 단계 121에서 설정한 TCP 채널을 통해 RTP 패킷을 채널 설정 서버(2)로 전송하고(단계 123), 채널 설정 서버(2)는 수신된 RTP 패킷을 단계 122에서 얻어진 소스 IP와 포트로 전송한다(단계 124).The client 3 establishes a TCP connection to the channel setting server 2 (step 121), and the channel setting server 2 allocates a specific port for transmitting the RTP packet to the counterpart client 6. On the other hand, the client 6 sets the UDP channel with the channel setting server 2 by transmitting the port binding packet NPBP to the channel setting server 2 (step 122). The client 3 transmits the RTP packet to the channel setting server 2 through the TCP channel set in step 121 (step 123), and the channel setting server 2 sends the received RTP packet to the source IP obtained in step 122. Send to the port (step 124).

도 13은 U-to-T 방식을 설명하기 위한 참고도이다.13 is a reference diagram for explaining a U-to-T method.

도 13을 참조하면, 클라이언트(3)는 normal firewall(20)의 내부에 위치하고 상대방 클라이언트(6)는 strict firewall 또는 normal firewall(40)의 내부에 위치한다. 따라서, 클라이언트(3)는 UDP 채널을 통한 RTP 패킷을 내보낼 수 있지만 상대방 클라이언트(6)는 UDP 채널을 통해 입력되는 RTP 패킷을 클라이언트(3)로부터 직접 받을 수 없기 때문에 외부로의 TCP 커넥션을 이용하여 RTP 패킷을 받을 수 있다. 이 경우 U-to-T 방식이 사용된다.Referring to FIG. 13, the client 3 is located inside the normal firewall 20 and the other client 6 is located inside the strict firewall or the normal firewall 40. Therefore, the client 3 can send out the RTP packet through the UDP channel, but the other client 6 can not directly receive the RTP packet input through the UDP channel from the client 3, so that the external TCP connection can be used. Receive RTP packets. In this case, U-to-T method is used.

클라이언트(3)는 채널 설정 서버(2)의 특정 포트에서 클라이언트들(3,6)의 연결을 대기하고 있는 소켓에 TCP 커넥션을 맺는다(단계 131). 채널 설정 서버(2)는 클라이언트(3)로부터 RTP 패킷을 수신하기 위한 특정 포트를 할당하며 클라이언트(3)는 채널 설정 서버(2)의 할당된 포트로 UDP 채널을 통해 RTP 패킷을 전송한다(단계 132). 채널 설정 서버(2)는 클라이언트(3)로부터 수신된 RTP 패킷을 상대방 클라이언트(6)와 맺은 TCP 채널을 통해 상대방 클라이언트(6)로 전달한다(단계 133).The client 3 makes a TCP connection to a socket waiting for the connection of the clients 3 and 6 on a particular port of the channel establishment server 2 (step 131). The channel setting server 2 allocates a specific port for receiving the RTP packet from the client 3, and the client 3 transmits the RTP packet through the UDP channel to the assigned port of the channel setting server 2 (step 132). The channel setting server 2 transmits the RTP packet received from the client 3 to the counterpart client 6 through the TCP channel established with the counterpart client 6 (step 133).

도 14는 U-to-U 방식을 설명하기 위한 참고도이다.14 is a reference diagram for explaining a U-to-U method.

도 14를 참조하면, 클라이언트(3)는 UDP 채널을 허용하는 normal NAT 또는 symmetric NAT(20)의 내부에 위치하며 상대방 클라이언트(6)는 특정 UDP 채널을 통한 RTP 패킷의 수신을 허용하는 symmetric NAT(40)의 내부에 위치한다. 따라서, 클라이언트(3), 상대방 클라이언트(6) 모두 UDP 채널을 통한 RTP 패킷의 송수신이 가능하지만 직접 전달할 수 없는 제약을 가진다.Referring to FIG. 14, the client 3 is located inside a normal NAT or symmetric NAT 20 that allows a UDP channel, and the other client 6 has a symmetric NAT that allows reception of RTP packets through a specific UDP channel. 40) is located inside. Therefore, both the client 3 and the counterpart client 6 can transmit and receive RTP packets through the UDP channel, but have limitations that cannot be directly transmitted.

채널 설정 서버(2)는 클라이언트(3)와 상대방 클라이언트(6)로부터 RTP 패킷을 수신하기 위한 특정 포트를 할당한다. 상대방 클라이언트(6)는 할당된 특정 포트로 포트 바인딩을 위한 포트 바인딩 패킷 NPBP을 내보낸다(단계 141). 단계 141에서 클라이언트(3)와 상대방 클라이언트(6) 간에 RTP 패킷을 송수신할 수 있는 UDP 채널이 설정되면 클라이언트(3)는 설정된 UDP 채널을 통해 채널 설정 서버(2)의 할당된 특정 포트로 RTP 패킷을 전송한다(단계 142). 채널 설정 서버(2)는 수신된 RTP 패킷을 단계 141에서 수신한 포트 바인딩 패킷 NPBP으로부터 얻은 IP주소 및 포트로 전송한다(단계 143).The channel setting server 2 allocates a specific port for receiving the RTP packet from the client 3 and the counterpart client 6. The other client 6 sends a port binding packet NPBP for port binding to the assigned specific port (step 141). In step 141, if a UDP channel capable of transmitting and receiving an RTP packet between the client 3 and the counterpart client 6 is established, the client 3 transmits the RTP packet to a specific port assigned by the channel setting server 2 through the established UDP channel. (Step 142). The channel setting server 2 transmits the received RTP packet to the IP address and port obtained from the port binding packet NPBP received in step 141 (step 143).

도 15는 본 발명의 제7 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도이다.15 is a reference diagram for explaining a method of setting an RTP channel according to a seventh embodiment of the present invention.

도 15를 참조하면, 채널 설정 서버(2)에는 공인 IP주소가 할당된다. 클라이언트들(3,6)은 normal NAT 또는 symmetric NAT(20,40)에 연결되어 있다. 따라서, 클라이언트(3)와 상대방 클라이언트(6)는 서로 직접 포트 바인딩 패킷 NPBP을 주고받을 수 없다.Referring to Figure 15, the channel setting server 2 is assigned a public IP address. Clients 3 and 6 are connected to normal NAT or symmetric NAT 20 and 40. Therefore, the client 3 and the counterpart client 6 cannot directly exchange port binding packet NPBP with each other.

클라이언트(3)가 채널 설정 서버(2)로 포트 바인딩 패킷 NPBP을 내보내면(단계 151 및 152), 클라이언트(3)와 NAT(20)(normal NAT의 경우) 또는 클라이언트(3)와 NAT(20) 및 채널 설정 서버(2)(symmetric NAT의 경우)는 「NAT 포트 바인딩」된다. 상대방 클라이언트(6)는 채널 설정 서버(2)와 TCP 커넥션을 맺어 클라이언트(3)의 주소정보를 받아온다(단계 153). 클라이언트(3)의 주소정보는 NAT(20)에 할당된 IP주소 및 바인딩 포트를 말한다. 바인딩 포트는 단계 151에서 할당된 NAT(20)의 로컬 포트를 가리킨다.When client 3 sends out port binding packet NPBP to channel establishment server 2 (steps 151 and 152), client 3 and NAT 20 (for normal NAT) or client 3 and NAT 20 ) And the channel setting server 2 (in the case of symmetric NAT) are "NAT port binding". The other client 6 establishes a TCP connection with the channel setting server 2 and receives address information of the client 3 (step 153). The address information of the client 3 refers to the IP address and binding port assigned to the NAT 20. The binding port points to the local port of NAT 20 assigned in step 151.

마찬가지로, 상대방 클라이언트(6)가 채널 설정 서버(2)로 포트 바인딩 패킷 NPBP을 내보내면(단계 154 및 155), 클라이언트(6)와 NAT(40)(normal NAT의 경우)또는 클라이언트(6)와 NAT(40) 및 채널 설정 서버(2)(symmetric NAT의 경우)는 「NAT 포트 바인딩」된다. 클라이언트(3) 또한 채널 설정 서버(2)와 TCP 커넥션을 맺어 상대방 클라이언트(6)의 주소정보를 받아온다(단계 156). 상대방 클라이언트(6)의 주소정보 또한 NAT(40)에 할당된 IP주소 및 바인딩 포트를 말한다. 바인딩 포트는 단계 144에서 할당된 NAT(40)의 로컬 포트를 가리킨다.Similarly, if the other client 6 sends out the port binding packet NPBP to the channel establishment server 2 (steps 154 and 155), the client 6 and the NAT 40 (in the case of normal NAT) or the client 6 The NAT 40 and the channel setting server 2 (in the case of symmetric NAT) are "NAT port bound". The client 3 also establishes a TCP connection with the channel setting server 2 and receives address information of the other client 6 (step 156). The address information of the counterpart client 6 also refers to the IP address and binding port assigned to the NAT 40. The binding port points to the local port of NAT 40 assigned in step 144.

클라이언트(3)는 단계 146에서 얻어진 주소정보를 바탕으로 상대방 클라이언트(6)에게 포트 바인딩 패킷 NPBP을 보낸다(단계 157). 왜냐하면 상대방 클라이언트(6)가 연결된 NAT(40)가 symmetric NAT일 경우에는 상대방 클라이언트(6)로 포트 바인딩 패킷 NPBP을 보내야만 상대방 클라이언트(6)가 RTP 패킷을 받아들이기 때문이다. 마찬가지로, 상대방 클라이언트(6) 또한 단계 142에서 얻어진 주소정보를 바탕으로 포트 바인딩 패킷 NPBP을 클라이언트(3)로 보낸다(단계 158). 이에 클라이언트(3)와 상대방 클라이언트(6) 사이에는 UDP 채널이 설정된다. 이에 따라 클라이언트(3)는 상대방 클라이언트(6)로 RTP 패킷을 전송하며(단계 159), 상대방 클라이언트(6) 또한 클라이언트(3)로 RTP 패킷을 전송할 수 있다(단계 160).The client 3 sends a port binding packet NPBP to the counterpart client 6 based on the address information obtained in step 146 (step 157). This is because when the counterpart client 6 connected to the counterpart client 6 is a symmetric NAT, the counterpart client 6 accepts the RTP packet only by sending a port binding packet NPBP to the counterpart client 6. Similarly, the other client 6 also sends the port binding packet NPBP to the client 3 based on the address information obtained in step 142 (step 158). Accordingly, a UDP channel is established between the client 3 and the counterpart client 6. Accordingly, the client 3 may transmit the RTP packet to the counterpart client 6 (step 159), and the counterpart client 6 may also transmit the RTP packet to the client 3 (step 160).

도 16은 클라이언트(7)는 NAT/firewall 환경에 속하고 상대방 클라이언트(14)는 H.323 게이트웨이 환경에 속한 경우 네트워크 구성도이다.FIG. 16 is a network diagram when the client 7 belongs to a NAT / firewall environment and the counterpart client 14 belongs to an H.323 gateway environment.

도 16을 참조하면, 클라이언트(7)는 NAT/firewall(30)의 내부에 위치하고 상대방 클라이언트(14)는 H.323 게이트웨이(60)의 내부에 위치한다. H.323 게이트웨이(60)는 UDP 채널을 통해서만 RTP 패킷을 송수신할 수 있다. H.323은 멀티미디어 화상회의 데이터를 TCP/IP와 같은 패킷 교환 방식의 네트워크를 통해 전송하기 위한 ITU-T(International Telecommunications Union - Telecommunication Standardization Sector)의 표준이다. 여기에는 고품질 비디오를 위한 LAN 표준, 그리고 28.8 Kbps 정도의 느린 회선을 통해 저주파수 대역의 비디오를 전송하기 위한 인터넷 표준 등이 포함되어 있다.Referring to FIG. 16, the client 7 is located inside the NAT / firewall 30 and the counterpart client 14 is located inside the H.323 gateway 60. The H.323 gateway 60 may transmit and receive RTP packets only through the UDP channel. H.323 is an ITU-T (International Telecommunications Union-Telecommunication Standardization Sector) standard for transmitting multimedia video conferencing data over a packet-switched network such as TCP / IP. This includes the LAN standard for high quality video and the Internet standard for transmitting video in the low frequency band over slow lines as high as 28.8 Kbps.

채널 설정 서버(9)에는 복수개의 포트가 구비되어 있으며 클라이언트들(3,6)의 요청을 수신하기 위한 특정 포트에는 소켓(socket)이 설치되어 있다. 채널 설정 서버(9)는 직접 인터넷에 접속되어 게이트웨이(60)와 클라이언트(7) 사이의 RTP 패킷을 중계해준다. 클라이언트(7)에는 도 2를 참조하여 전술한 바와 같은 RTP 채널 설정모듈이 설치되어 있다. 나아가, 상대방 클라이언트(14)에도 RTP 채널 설정모듈이 설치될 수 있다.The channel setting server 9 is provided with a plurality of ports, and a socket is provided at a specific port for receiving requests from the clients 3 and 6. The channel setting server 9 is directly connected to the Internet to relay the RTP packets between the gateway 60 and the client 7. The client 7 is provided with the RTP channel setting module as described above with reference to FIG. Furthermore, the other client 14 may also be installed with the RTP channel setting module.

도 17은 본 발명의 제8 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도이다.17 is a reference diagram for explaining a method of establishing an RTP channel according to an eighth embodiment of the present invention.

도 17을 참조하면, 클라이언트(7)는 normal firewall(30)의 내부에 위치하므로 채널 설정 서버(9)로 TCP 커넥션을 요청한다(단계 171). 한편, 게이트웨이(60)는 채널 설정 서버(9)로 UDP 채널을 통해 RTP 패킷을 전송한다(단계 172). 채널 설정 서버(9)는 수신된 RTP 패킷을 단계 171에서 설정된 TCP 커넥션을 통해 클라이언트(7)로 전송한다(단계 173). 클라이언트(7)는 UDP 채널을 통해 게이트웨이(60)로 RTP 패킷을 전송한다(단계 174).Referring to FIG. 17, since the client 7 is located inside the normal firewall 30, the client 7 requests a TCP connection to the channel setting server 9 (step 171). Meanwhile, the gateway 60 transmits the RTP packet to the channel setting server 9 through the UDP channel (step 172). The channel setting server 9 transmits the received RTP packet to the client 7 through the TCP connection set up in step 171 (step 173). Client 7 sends an RTP packet to gateway 60 via a UDP channel (step 174).

도 18은 본 발명의 제9 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도이다.18 is a reference diagram for explaining a method of setting an RTP channel according to a ninth embodiment of the present invention.

도 18을 참조하면, 클라이언트(7)는 strict firewall(30)의 내부에 위치한다. 따라서 채널 설정 서버(9)와 송신용 TCP 커넥션을 맺는다(단계 181). 또한 클라이언트(7)는 채널 설정 서버(9)와 수신용 TCP 커넥션을 맺는다(단계 182). 한편 게이트웨이(60)는 UDP 채널을 통해 채널 설정 서버(9)로 RTP 패킷을 전송한다(단계 183). 채널 설정 서버(9)는 수신된 RTP 패킷을 단계 182에서 설정된 TCP 채널을 통한 RTP 패킷으로 변환하여 클라이언트(7)로 전송한다(단계 184). 클라이언트(7)는 단계 181에서 설정된 TCP 채널을 통해 RTP 패킷을 채널 설정 서버(9)로 전송하고(단계 185), 채널 설정 서버(9)는 수신된 RTP 패킷을 UDP 채널을 통해 게이트웨이(60)로 전달한다(단계 186).Referring to FIG. 18, the client 7 is located inside the strict firewall 30. Therefore, a TCP connection for transmission is established with the channel setting server 9 (step 181). The client 7 also establishes a receiving TCP connection with the channel setting server 9 (step 182). Meanwhile, the gateway 60 transmits an RTP packet to the channel setting server 9 through the UDP channel (step 183). The channel setting server 9 converts the received RTP packet into an RTP packet through the TCP channel set up in step 182 and transmits it to the client 7 (step 184). The client 7 transmits the RTP packet to the channel setting server 9 through the TCP channel set in step 181 (step 185), and the channel setting server 9 sends the received RTP packet to the gateway 60 through the UDP channel. (Step 186).

도 19는 본 발명의 제10 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도이다.19 is a reference diagram for explaining a method of setting an RTP channel according to a tenth embodiment of the present invention.

도 19를 참조하면, 클라이언트(7)는 normal NAT(30)의 내부에 위치한다. 따라서, 클라이언트(7)는 채널 설정 서버(9)로 포트 바인딩 패킷 NPBP을 전송한다(단계 191). 채널 설정 서버(9)는 TCP 커넥션을 맺어 단계 191에서 얻어진 주소정보를 게이트웨이(60)로 제공한다(단계 192). 또한, 클라이언트(7)는 게이트웨이(60)로 포트 바인딩 패킷 NPBP을 전송한다(단계 193). 이에 게이트웨이(60)는 UDP 채널을 통해 클라이언트(7)로 RTP 패킷을 전송하고(단계 194), 클라이언트(7)는 UDP 채널을 통해 게이트웨이(60)로 RTP 패킷을 전송한다(단계 195).Referring to FIG. 19, the client 7 is located inside the normal NAT 30. Accordingly, the client 7 sends the port binding packet NPBP to the channel setting server 9 (step 191). The channel setting server 9 establishes a TCP connection and provides the gateway 60 with the address information obtained in step 191 (step 192). The client 7 also sends the port binding packet NPBP to the gateway 60 (step 193). In response, the gateway 60 transmits the RTP packet to the client 7 through the UDP channel (step 194), and the client 7 transmits the RTP packet to the gateway 60 through the UDP channel (step 195).

도 20은 본 발명의 제11 실시예에 따른 RTP 채널 설정방법을 설명하기 위한 참고도이다.20 is a reference diagram for explaining a method of establishing an RTP channel according to an eleventh embodiment of the present invention.

도 20을 참조하면, 클라이언트(7)는 symmetric NAT(30)의 내부에 위치한다. 따라서, 클라이언트(7)는 채널 설정 서버(9)로 포트 바인딩 패킷 NPBP을 전송한다(단계 201). 한편, 게이트웨이(60)는 상대방 클라이언트(14)로부터 수신된 RTP 패킷을 UDP 채널을 통해 채널 설정 서버(9)로 전송하고(단계 202), 채널 설정 서버(9)는 수신된 RTP 패킷을 UDP 채널을 통해 클라이언트(7)에게 전송한다(단계 203).Referring to FIG. 20, the client 7 is located inside the symmetric NAT 30. Accordingly, the client 7 sends the port binding packet NPBP to the channel setting server 9 (step 201). Meanwhile, the gateway 60 transmits the RTP packet received from the counterpart client 14 to the channel setting server 9 through the UDP channel (step 202), and the channel setting server 9 transmits the received RTP packet to the UDP channel. Is sent to the client 7 via step 203.

전술한 바와 같이 본 발명에 따르면 다양한 네트워크 환경에 속해 있는 클라이언트들 간에 RTP 채널을 설정할 수 있게 된다. 이에 따라, 응용 서비스 제공자는 다양한 네트워크 환경에 속한 클라이언트들에게도 RTP 채널을 기반으로 한 다양한 응용 서비스를 제공할 수 있으며 다양한 네트워크 환경에 속한 클라이언트들 또한 RTP 채널을 기반으로 한 응용 서비스를 제공받을 수 있게 된다.As described above, according to the present invention, an RTP channel can be established between clients belonging to various network environments. Accordingly, the application service provider can provide various application services based on the RTP channel to clients belonging to various network environments, and the clients in the various network environments can also receive application services based on the RTP channel. do.

Claims (22)

클라이언트와 상대방 클라이언트 사이에 접속가능하도록 연결된 서버에 있어서,In a server connected to connect between a client and a counterpart client, 상기 클라이언트 및 상대방 클라이언트가 속한 네트워크 환경을 기초로 상기 클라이언트와 상대방 클라이언트 사이에 UDP 채널이 설정가능하면 UDP 채널이 설정되도록 하고, UDP 채널이 설정불가하고 TCP 채널이 설정가능하면 TCP 채널이 설정되도록 하는 채널 설정 서버.Based on the network environment to which the client and the counterpart client belong, a UDP channel may be set between the client and the counterpart client, and a TCP channel may be set if the UDP channel is not available and the TCP channel is settable. Channel setup server. 제1항에 있어서,The method of claim 1, 상기 상대방 클라이언트의 주소정보가 저장된 클라이언트 데이터베이스; 및A client database storing address information of the counterpart client; And 상기 클라이언트로부터 포트 바인딩 패킷을 수신하여 상기 주소정보를 기초로 상기 상대방 클라이언트로 전달해줌으로써 포트 바인딩을 수행하는 RTP 채널 설정 모듈을 포함하는 것을 특징으로 하는 채널 설정 서버.And a RTP channel setting module configured to receive a port binding packet from the client and deliver the port binding packet to the counterpart client based on the address information. 클라이언트와 접속가능하도록 연결된 서버에 있어서,A server connected to connect to a client, 상기 클라이언트에서 실행되는 RTP 채널 설정모듈을 구성하는 프로그램 코드가 저장된 저장부를 구비하고,A storage unit for storing a program code constituting an RTP channel setting module executed in the client; 상기 RTP 채널 설정모듈은 NAT 서버에 연결된 클라이언트에서 실행되어 상기 NAT 서버로 상대방 클라이언트에 대한 주소정보가 첨부된 포트 바인딩 패킷을 전송하여 상기 NAT 서버가 상기 포트 바인딩 패킷을 상기 상대방 클라이언트로부터 전송하도록 하는 것을 특징으로 하는 서버.The RTP channel setting module is executed in a client connected to a NAT server to transmit a port binding packet including address information of a counterpart client to the NAT server so that the NAT server transmits the port binding packet from the counterpart client. Server features. 클라이언트와 상대방 클라이언트 사이에 접속가능하도록 연결된 서버에 있어서,In a server connected to connect between a client and a counterpart client, 상기 클라이언트 및 상기 상대방 클라이언트가 속한 네트워크 환경을 기초로 상기 클라이언트와 상대방 클라이언트 사이에 각각 UDP 채널이 설정가능하면 UDP 채널이 설정되도록 하고, UDP 채널이 설정불가하고 TCP 채널이 설정가능하면 TCP채널이 설정되도록 하여, 상기 클라이언트로부터의 RTP 패킷을 대리수신하여 상기 상대방 클라이언트로 전달하는 것을 특징으로 하는 채널 설정 서버.Based on the network environment to which the client and the counterpart client belong, a UDP channel may be set between the client and the counterpart client, and a TCP channel is set if the UDP channel is not available and the TCP channel is settable. And proxyly receiving the RTP packet from the client and transmitting the received RTP packet to the counterpart client. 제4항에 있어서,The method of claim 4, wherein 상기 TCP 채널을 통해 전송되는 RTP 패킷에 상기 RTP 패킷의 길이와 조합순서를 알려주는 식별정보가 기록된 헤더를 추가하는 것을 특징으로 하는 채널 설정 서버.And a header in which identification information indicating a length and a combination order of the RTP packets are recorded, is added to the RTP packet transmitted through the TCP channel. 제4항에 있어서,The method of claim 4, wherein 상기 상대방 클라이언트로부터 TCP 커넥션을 요청받아 TCP 채널을 설정하며, 상기 클라이언트로부터 UDP 채널을 통해 RTP 패킷을 대리수신하여 상기 TCP 채널을 통해 상기 상대방 클라이언트로 전달해주는 것을 특징으로 하는 채널 설정 서버.Receiving a TCP connection from the counterpart client, establishing a TCP channel, and receiving an RTP packet from the client via a UDP channel, and transmitting the received TCP connection to the counterpart client through the TCP channel. 클라이언트들과 인터넷을 통해 통신가능하도록 연결된 채널 설정 서버에 있어서,A channel setting server connected to communicate with clients via the Internet, TCP 채널을 통해 일 클라이언트로부터 수신된 RTP 패킷을 상대방 클라이언트와 맺어진 TCP 채널로 전달하거나, 일 클라이언트로부터 TCP 채널을 통해 수신된 RTP 패킷을 상대방 클라이언트로 UDP 채널을 통해 전달하거나, 일 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상대방 클라이언트와 맺어진 TCP 채널로 전달하거나, 일 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상대방 클라이언트로 UDP 채널을 통해 전달하는 것을 특징으로 하는 채널 설정 서버.Forward RTP packet received from one client through TCP channel to TCP channel with other client, or RTP packet received from one client through TCP channel to UDP client, or UDP channel from one client. And transmitting the RTP packet received through the TCP channel established with the counterpart client or the RTP packet received from the one client through the UDP channel to the counterpart client through the UDP channel. 제7항에 있어서,The method of claim 7, wherein 상기 클라이언트 및 상대방 클라이언트가 모두 UDP 채널을 통한 RTP 패킷의 송수신을 허용하지 않는 strict firewall의 내부에 위치하거나, 상기 클라이언트는 UDP 채널을 허용하지 않고 TCP 커넥션만을 허용하는 strict firewall의 내부에 위치하고 상기 상대방 클라이언트는 UDP 패킷의 수신을 허용하지 않는 normal firewall의 내부에 위치할 때, TCP 채널을 통해 상기 클라이언트로부터 수신된 RTP 패킷을 상기 상대방 클라이언트와 맺어진 TCP 채널로 전달하는 것을 특징으로 하는 채널 설정 서버.Both the client and the counterpart client are located inside a strict firewall that does not allow transmission and reception of RTP packets through a UDP channel, or the client is located inside a strict firewall that allows only TCP connections without allowing a UDP channel. Is located inside a normal firewall that does not allow the reception of UDP packets, and transmits the RTP packets received from the client to the TCP channel associated with the counterpart client through a TCP channel. 제8항에 있어서,The method of claim 8, 상기 채널 설정 서버는 상기 클라이언트가 UDP 채널을 허용하지 않고 외부로 TCP 커넥션만을 맺는 것을 허용하는 strict firewall의 내부에 위치하고 상기 상대방 클라이언트는 외부로부터의 UDP 패킷의 수신을 허용하는 normal NAT 또는 symmetric NAT의 내부에 위치할 때, 상기 클라이언트로부터 TCP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트로 UDP 채널을 통해 전달하는 것을 특징으로 하는 채널 설정 서버.The channel setting server is located inside a strict firewall that allows the client to make only a TCP connection to the outside without allowing a UDP channel. When located in the channel setting server, characterized in that for transmitting the RTP packet received from the client via the TCP channel to the counterpart client via a UDP channel. 제9항에 있어서,The method of claim 9, 상기 채널 설정 서버는 상기 클라이언트가 normal firewall의 내부에 위치하고 상기 상대방 클라이언트는 strict firewall 또는 normal firewall의 내부에 위치할 때, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트와 맺어진 TCP 채널로 전달하는 것을 특징으로 하는 채널 설정 서버.When the client is located inside the normal firewall and the counterpart client is located inside the strict firewall or the normal firewall, the channel establishment server sends an RTP packet received from the client through a UDP channel to a TCP channel connected to the counterpart client. Channel setting server, characterized in that for transmitting. 제7항에 있어서,The method of claim 7, wherein 상기 채널 설정 서버는 상기 클라이언트가 UDP 채널을 허용하는 normal NAT 또는 symmetric NAT의 내부에 위치하며 상기 상대방 클라이언트는 특정 UDP 채널을 통한 RTP 패킷의 수신을 허용하는 symmetric NAT의 내부에 위치할 때, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트로 UDP 채널을 통해 전달하는 것을 특징으로 하는 채널 설정 서버.The channel setting server is located inside a normal NAT or a symmetric NAT that allows the client to allow a UDP channel, and the counterpart client is located inside a symmetric NAT that allows the reception of RTP packets over a specific UDP channel. And transmitting the RTP packet received from the UDP channel through the UDP channel to the counterpart client. 클라이언트 및 게이트웨이와 인터넷을 통해 통신가능하도록 연결된 채널 설정 서버에 있어서,A channel setting server connected to communicate with a client and a gateway through the Internet, TCP 채널을 통해 상기 클라이언트로부터 수신된 RTP 패킷을 상기 게이트웨이와 맺어진 TCP 채널로 전달하거나, 상기 클라이언트로부터 TCP 채널을 통해 수신된 RTP 패킷을 상기 게이트웨이로 UDP 채널을 통해 전달하거나, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 게이트웨이와 맺어진 TCP 채널로 전달하거나, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 게이트웨이로 UDP 채널을 통해 전달하는 것을 특징으로 하는 채널 설정 서버.Deliver RTP packets received from the client through a TCP channel to a TCP channel associated with the gateway, transfer RTP packets received from the client through a TCP channel to the gateway through a UDP channel, or transmit a UDP channel from the client. And transmitting the RTP packet received through the TCP channel associated with the gateway or the RTP packet received from the client through the UDP channel to the gateway through the UDP channel. 제12항에 있어서,The method of claim 12, 상기 게이트웨이는 H.323 프로토콜에 따른 게이트웨이임을 특징으로 하는 채널 설정 서버.The gateway is a channel setting server, characterized in that the gateway according to the H.323 protocol. 클라이언트와 상대방 클라이언트 사이에 RTP 채널을 설정하는 방법에 있어서,In the method for establishing an RTP channel between the client and the other client, (a) 상기 클라이언트로부터 일 포트 바인딩 패킷을 수신하여 상기 상대방 클라이언트로 전달해줌으로써 포트 바인딩을 수행하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법.(a) receiving a port binding packet from the client and delivering the port binding packet to the counterpart client to perform port binding. 제14항에 있어서,The method of claim 14, (b) 상기 상대방 클라이언트로부터 다른 포트 바인딩 패킷을 수신하여 상기 클라이언트로 전달해줌으로써 포트 바인딩을 수행하는 단계를 더 포함하는 것을 특징으로 하는 RTP 채널 설정방법.and (b) performing port binding by receiving another port binding packet from the counterpart client and delivering the port binding packet to the client. 클라이언트와 상대방 클라이언트 사이에 RTP 채널을 설정하는 방법에 있어서,In the method for establishing an RTP channel between the client and the other client, (a) 상기 클라이언트 및 상기 상대방 클라이언트가 속한 네트워크 환경을 기초로 상기 클라이언트 또는 상기 상대방 클라이언트와 UDP 채널이 설정가능하면UDP 채널이 설정되도록 하는 단계;(a) allowing a UDP channel to be established if a UDP channel can be established with the client or the counterpart client based on a network environment to which the client and the counterpart client belong; (b) 상기 클라이언트 또는 상기 상대방 클라이언트와 UDP 채널이 설정불가하고 TCP 채널이 설정가능하면 TCP 채널이 설정되도록 하는 단계; 및(b) allowing a TCP channel to be established if a UDP channel cannot be established with the client or the counterpart client and a TCP channel can be established; And (c) 상기 (a)단계 및 (b)단계를 통해 설정된 TCP 채널 또는 UDP 채널을 통해 상기 클라이언트로부터 전송된 RTP 패킷을 대리수신하여 상기 상대방 클라이언트로 전달하는 것을 특징으로 하는 RTP 채널 설정방법.(c) RTP channel setting method characterized in that for receiving the RTP packet transmitted from the client via the TCP channel or UDP channel set through the steps (a) and (b) and forwarded to the counterpart client. 제16항에 있어서,The method of claim 16, 상기 (c)단계는 상기 TCP 채널을 통해 전송되는 RTP 패킷에 상기 RTP 패킷의 길이와 조합순서를 알려주는 식별정보가 기록된 헤더를 추가하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법.The step (c) comprises the step of adding a header with identification information indicating the length and combination order of the RTP packet to the RTP packet transmitted through the TCP channel. 제17항에 있어서,The method of claim 17, 상기 (b)단계는 상대방 클라이언트로부터 TCP 커넥션을 요청받아 TCP 채널을 설정하는 단계를 포함하고,Step (b) includes receiving a TCP connection request from a counterpart client and establishing a TCP channel, 상기 (c)단계는 상기 클라이언트로부터 UDP 채널을 통해 RTP 패킷을 대리수신하여 상기 TCP 채널을 통해 상기 상대방 클라이언트로 전달해주는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법.The step (c) comprises the step of receiving the RTP packet on behalf of the client via the UDP channel and transmitting to the counterpart client through the TCP channel. 클라이언트와 상대방 클라이언트 사이에 RTP 채널을 설정하는 방법에 있어서,In the method for establishing an RTP channel between the client and the other client, (a) 상기 클라이언트 및 상대방 클라이언트가 모두 UDP 채널을 통한 RTP 패킷의 송수신을 허용하지 않는 strict firewall의 내부에 위치하거나, 상기 클라이언트는 UDP 채널을 허용하지 않고 TCP 커넥션만을 허용하는 strict firewall의 내부에 위치하고 상기 상대방 클라이언트는 UDP 패킷의 수신을 허용하지 않는 normal firewall의 내부에 위치할 때, TCP 채널을 통해 상기 클라이언트로부터 수신된 RTP 패킷을 상기 상대방 클라이언트와 맺어진 TCP 채널로 전달하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법.(a) Both the client and the counterpart client are located inside a strict firewall that does not allow the transmission and reception of RTP packets over a UDP channel, or the client is located inside a strict firewall that allows only TCP connections without allowing a UDP channel. When the counterpart client is located inside a normal firewall that does not allow the reception of a UDP packet, transmitting the RTP packet received from the client through a TCP channel to a TCP channel established with the counterpart client. RTP channel setup method. 제19항에 있어서,The method of claim 19, (b) 상기 클라이언트가 UDP 채널을 허용하지 않고 외부로 TCP 커넥션만을 맺는 것을 허용하는 strict firewall의 내부에 위치하고 상기 상대방 클라이언트는 외부로부터의 UDP 패킷의 수신을 허용하는 normal NAT 또는 symmetric NAT의 내부에 위치할 때, 상기 클라이언트로부터 TCP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트로 UDP 채널을 통해 전달하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법.(b) It is located inside a strict firewall that allows the client to make only TCP connections to the outside without allowing UDP channels and the other client is inside a normal NAT or symmetric NAT that allows the reception of UDP packets from outside. And transmitting the RTP packet received from the client through the TCP channel to the counterpart client through the UDP channel. 제20항에 있어서,The method of claim 20, (c) 상기 클라이언트가 normal firewall의 내부에 위치하고 상기 상대방 클라이언트는 strict firewall 또는 normal firewall의 내부에 위치할 때, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트와 맺어진 TCP 채널로 전달하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법.(c) When the client is located inside the normal firewall and the counterpart client is located inside the strict firewall or the normal firewall, the RTP packet received from the client through the UDP channel is transmitted to the TCP channel established with the counterpart client. RTP channel setting method comprising the step of. 제21항에 있어서,The method of claim 21, (d) 상기 클라이언트가 UDP 채널을 허용하는 normal NAT 또는 symmetric NAT의 내부에 위치하며 상기 상대방 클라이언트는 특정 UDP 채널을 통한 RTP 패킷의 수신을 허용하는 symmetric NAT의 내부에 위치할 때, 상기 클라이언트로부터 UDP 채널을 통해 수신된 RTP 패킷을 상기 상대방 클라이언트로 UDP 채널을 통해 전달하는 단계를 포함하는 것을 특징으로 하는 RTP 채널 설정방법.(d) UDP from the client when the client is located inside a normal NAT or symmetric NAT that allows a UDP channel and the other client is inside a symmetric NAT that allows the reception of RTP packets over a particular UDP channel. And transmitting the RTP packet received through the channel to the counterpart client through a UDP channel.
KR1020010054799A 2001-09-06 2001-09-06 Method and server for RTP channel KR20030021511A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010054799A KR20030021511A (en) 2001-09-06 2001-09-06 Method and server for RTP channel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010054799A KR20030021511A (en) 2001-09-06 2001-09-06 Method and server for RTP channel

Publications (1)

Publication Number Publication Date
KR20030021511A true KR20030021511A (en) 2003-03-15

Family

ID=27722826

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010054799A KR20030021511A (en) 2001-09-06 2001-09-06 Method and server for RTP channel

Country Status (1)

Country Link
KR (1) KR20030021511A (en)

Similar Documents

Publication Publication Date Title
US8468259B2 (en) Middlebox control
US7257837B2 (en) Firewall penetration system and method for real time media communications
JP3872477B2 (en) Multiple call system and method through local IP network
US7773580B2 (en) Apparatus and method for voice processing of voice over internet protocol (VoIP)
US7072341B2 (en) Real time streaming media communication system
US20030033418A1 (en) Method of implementing and configuring an MGCP application layer gateway
US7684397B2 (en) Symmetric network address translation system using STUN technique and method for implementing the same
US20020085561A1 (en) Method and system for supporting global IP telephony system
US20070217408A1 (en) Address Resolution Device, Address Resolution Method, And Communication System Including The Same
US20020042832A1 (en) System and method for interoperability of H.323 video conferences with network address translation
US20070019631A1 (en) Apparatus and method for managing data transfer in VoIP gateway
US20070115997A1 (en) Virtual Gateway
US7443842B2 (en) Communication control apparatus
US7542475B2 (en) Communication between users located behind a NAT device
US8184622B2 (en) Integrated internet telephony system and signaling method thereof
US7643412B1 (en) Media proxy able to detect blocking
US7408926B1 (en) Method and apparatus for accessing voice over internet protocol connection
KR100726185B1 (en) System, gateway server and stun server for internetwork communication between networks using various internet protocol address, and method thereof
JP2002009846A (en) Communication system employing multimedia proxy server
KR20030021511A (en) Method and server for RTP channel
US6975625B1 (en) Distributed call control processing
JP2003046530A (en) Communication method among ip networks with different address spaces, and device with global ip address
KR20090010878A (en) All-in-one voice of ip system including multi-function and method of processing signalling therefor
US20020105944A1 (en) Method for control of telephony devices

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid