KR101606142B1 - 음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법 - Google Patents

음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR101606142B1
KR101606142B1 KR1020080119346A KR20080119346A KR101606142B1 KR 101606142 B1 KR101606142 B1 KR 101606142B1 KR 1020080119346 A KR1020080119346 A KR 1020080119346A KR 20080119346 A KR20080119346 A KR 20080119346A KR 101606142 B1 KR101606142 B1 KR 101606142B1
Authority
KR
South Korea
Prior art keywords
internet telephone
address
internet
udp port
telephone
Prior art date
Application number
KR1020080119346A
Other languages
English (en)
Other versions
KR20100060658A (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 KR1020080119346A priority Critical patent/KR101606142B1/ko
Priority to US12/627,388 priority patent/US8374178B2/en
Publication of KR20100060658A publication Critical patent/KR20100060658A/ko
Application granted granted Critical
Publication of KR101606142B1 publication Critical patent/KR101606142B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/54Arrangements for diverting calls for one subscriber to another predetermined subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/06Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2863Arrangements for combining access network resources elements, e.g. channel bonding
    • H04L12/2865Logical combinations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1053IP private branch exchange [PBX] functionality entities or arrangements

Abstract

본 발명은 음성패킷망에서 NAT 통과를 지원하기 위한 장치 및 방법에 관한 것으로, 음성패킷망에서 NAT traversal를 지원하기 위한 방법은, 발신 인터넷전화기로부터 셋업 요청시, 상기 발신 인터넷전화기의 주소 및 포트를 제 1 미디어 프록시 솔루션(embedded Media Proxy Solution: eMPS) 주소 및 포트로 매핑하는 과정과, 상기 제 1 eMPS 주소 및 포트 정보로 포함하여 상기 발신 인터넷전화기의 셋업 요청을 착신 인터넷전화기로 중계하는 과정과, 상기 착신 인터넷 전화기로부터 상기 착신 인터넷전화기의 주소 및 포트를 포함하여 셋업 요청에 대한 응답을 수신하는 과정과, 상기 착신 인터넷전화기의 주소 및 포트를 제 2 eMPS 주소 및 포트로 매핑하는 과정과, 상기 제 2 eMPS 주소 및 포트 정보로 포함하여 셋업 요청에 대한 응답을 중계하는 과정을 포함한다.
VoIP, NAT(Network Address Translation), NAT 통과(traversal), 미디어 프록시 솔루션(embedded Media Proxy Solution: eMPS).

Description

음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법{APPARATUS AND METHOD FOR SUPPORTING NAT TRAVERSAL IN VOICE OVER INTERNET PROTOCOL SYSTEM}
본 발명은 VoIP(Voice of Internet Protocol)에 관한 것으로, 특히 VoIP 시스템에서 NAT 통과를 지원하기 위한 장치 및 방법에 관한 것이다.
인터넷 환경의 발전 및 다양한 VoIP(Voice of Internet Protocol) 서비스 확대로 VoIP 시장은 크게 확대되고 있고 관련 기술 개발 및 다양한 연구가 진행되고 있다. 또한, VoIP 시장의 확대로 VoIP 전화기(인터넷 전화기 또는 IP 전화기로도 불림)도 널리 확산되고 있다.
한편, 인터넷에서 사용가능한 IP 주소는 한정되어 있기 때문에, 하나의 IP를 여러 사용자가 공유하여 사용한다. 예를 들면, 가정에서 주로 사용하는 인터넷 공유기는 하단(LAN 인터페이스)에 있는 다수의 호스트(예: 컴퓨터, 노트북 등)에 사설 IP 주소를 할당하고 이를 사용자가 서비스 사업자로부터 부여받은 하나의 공인 IP 주소에 대응시키는 NAT(Network Address Translation) 기능을 제공함으로써 다수의 호스트들이 인터넷을 이용할 수 있도록 한다.
인터넷 전화기가 다양한 네트워크 환경에 설치되어 사용될 때, 특히 NAT 환경인 경우, NAT가 갖는 제약 때문에 인터넷 전화기를 위한 NAT 통과(Traversal) 기능은 필수적인 요소이다. 상기 NAT 통과는 인터넷 환경에서 부여되는 공용 IP 주소(Public Internet Protocol Address)를 이용하여 NAT 환경에 위치한 단말과 통신을 가능하게 하는 방법으로 VoIP 환경에서 VoIP 신호와 미디어에 대한 NAT Traversal 솔루션을 제공한다. 기존의 보편적인 방법은 네트워크상에 시스템 구축 및 VoIP폰에 자체적인 기능제공을 통해 접근하고 있고 대표적인 방법들에는 STUN(Simple Traversal of UDP through NAT), SBC(Session Border Controller) 등이 있다.
상기 STUN은 Symmetric NAT, Cone NAT 등의 NAT 종류와 포트 매핑 정보를 검출할 수 있는 프로토콜이다. 사설망 내부의 클라이언트는 세션을 시작하기 전에 STUN서버에게 STUN 쿼리를 요청해 자신이 사용할 IP와 포트번호를 할당받은 후, 세션과 미디어 트래픽 전송시에 사용한다. 그러나 STUN은 Symmetric NAT에서는 동작하지 않으며, STUN을 통해 얻은 주소가 모든 상대(peer)에 유용하지는 않으며 네트워크 상태에 따라 동작하지 않을 수 있다. 즉, 상기 STUN은 종단 터미널(End-Terminal)이 NAT의 존재 및 유형을 검색하기 위한 기술로 클라이언트-서버 모델(Client-Server) 모델로 구성된 프로토콜이다.
패킷 네트워크에서 인터넷 멀티미디어 서비스를 제공하기 위한 상기 SBC는 시그널 또는 미디어 메시지를 관리 처리하는 네트워크 시스템이다. 또한, 상기 SBC는 서비스 제공자(Service Provider) 간에 VoIP 서비스를 제공하기 위한 대규모(Large-scale) 네트워크 환경에서 주로 사용된다.
하지만, STUN을 상기 VoIP 서비스 환경에 적용할 경우, 모든 인터넷전화기에 STUN 클라이언트 엔진이 설치되어 STUN 서버와 연동해야 하는 제약이 있다.
상기 SBC는 VoIP 서비스 환경에서 네트워크 제공자(Network Provider) 간 연동을 위한 대용량 시스템으로 비용적인 측면에서 중소형 사이트에 적용하는데 있어서 제약사항이 있다. 또한 상기 SBC에서 문제가 발생하는 경우 모든 호에 대해서 영향을 줄 수 있기 때문에 VoIP 서비스의 안정성을 보장하기가 어렵고, VoIP 시그널의 확장(Extension)에 대해서 VoIP PBX 및 SBC 모두 확장되어야 하기 때문에, SBC의 프로토콜 지원에 의존도를 가지게 되는 문제점이 있다. 즉, SBC의 경우 네트워크 사업자 간 또는 대용량 사이트에 널리 사용되고 있는 기술로 중소형 VoIP PBX를 사용하는 환경에는 부적합하다.
상술한 바와 같이, 종래의 NAT 통과 기법들은 인터넷전화기 기능 추가 및 고가의 장비를 네트워크 환경상에 구축해야 하는 어려움이 있다.
따라서, 중소형 VoIP PBX(Private Branch eXchange) 시스템에서 미디어 스트림에 대한 NAT 통과 기능을 제공하는 임베디드 미디어 프럭시 솔루션(Embedded Media Proxy Solution: eMPS)이 필요하다.
본 발명의 목적은 중소형 VoIP 환경에서 NAT 통과 기능 및 미디어 스트림을 처리하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 VoIP PBX 시스템상에서 NAT 통과 기능을 제공할 수 있는 임베디드 미디어 프럭시 솔루션(Embedded Media Proxy Solution: eMPS)을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 음성패킷망에서 NAT traversal를 지원하기 위한 방법에 있어서,
발신 인터넷전화기로부터 셋업 요청시, 상기 발신 인터넷전화기의 주소 및 포트를 제 1 미디어 프록시 솔루션(embedded Media Proxy Solution: eMPS) 주소 및 포트로 매핑하는 과정과,
상기 제 1 eMPS 주소 및 포트 정보로 포함하여 상기 발신 인터넷전화기의 셋업 요청을 착신 인터넷전화기로 중계하는 과정과,
상기 착신 인터넷 전화기로부터 상기 착신 인터넷전화기의 주소 및 포트를 포함하여 셋업 요청에 대한 응답을 수신하는 과정과,
상기 착신 인터넷전화기의 주소 및 포트를 제 2 eMPS 주소 및 포트로 매핑하는 과정과,
상기 제 2 eMPS 주소 및 포트 정보로 포함하여 셋업 요청에 대한 응답을 중계하는 과정을 포함하는 것을 특징으로 하는 방법.
상술한 바와 같이, 중소형 IP-PBX에 eMPS를 도입함으로써, NAT 통과 솔루션을 제공할 수 있다. 또한, 저렴한 비용으로 인터넷전화기의 위치에 상관없이 효율적인 VoIP 서비스를 제공할 수 있을 뿐만 아니라 QoS 및 트래픽 제어 기능을 제공할 수 있다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 본 발명은 VoIP(Voice of Internet Protocol) 서비스에서 NAT(Network Address Translation) 통과(Traversal) 기능을 지원하기 위한 장치 및 방법에 대해 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 VoIP 서비스를 위한 네트워크 구성도를 도시하고 있다.
상기 도 1을 참조하면, 공인망(Public Network)(150)에 VoIP PBX(Private Branch eXchange)(100) 및 인터넷전화기(110)가 위치하고 있고, 사설망(Private Network)에 인터넷전화기(125, 135)가 위치하고 있다.
상기 공인망(150)은 공인 IP(Internet Protocol) 주소를 사용하는 영역으로, 인터넷망에 하나밖에 없는 유일한 IP 주소들이 사용된다. 상기 VoIP PBX(100)는 공인 IP 주소 165.213.89.100을 사용하고, 상기 인터넷전화기(110)는 공인 IP 주소 165.213.89.200을 사용한다. 상기 공인망(150)은 라우터(102, 104, 106, 108)들로 구성되며, 상기 라우터(102, 104, 106, 108)는 근거리통신망(Local Area Network: 이하 "LAN"라 칭함)을 연결해주는 장치로서, 라우팅 테이블에 따라 경로를 지정한 후 패킷을 전송한다.
상기 사설망은 사설 IP 주소를 사용하는 영역으로, 인터넷망에서 상기 사설 IP 주소는 확인되지않으며, 내부 네트워크에서만 사용 가능하다. 한정된 IP 주소를 효율적으로 사용하기 위해, 가정이나 회사에서 사용하는 공유기를 사용하며, 이 경우 공유기를 통해 인터넷망과 연결되는 인터넷전화기(125, 135)는 사설 IP 주소를 사용하게 된다. 예를 들면, 상기 인터넷 전화기(135)는 192.168.1.150 사설 IP 주소를 사용하고, 상기 인터넷 전화기(125)는 192.168.0.100 사설 IP 주소를 사용한 다.
상기 사설망에 있는 상기 인터넷 전화기(125)와 상기 인터넷 전화기(135)가 미디어 패킷(예: 음성, 비디오)을 외부로 전송할 때, NAT(Network Address Translation)(120, 130)를 거쳐 공인 IP 주소로 변환되어 전송된다. 따라서 외부에 있는 다른 IP 주소들과 충돌을 일으키지 않기 때문에 규정보다 많은 내부 IP 주소를 사용할 수 있다.
예를 들면, 상기 인터넷 전화기(135)는 사설망 내부에서 192.168.1.150인 사설 IP 주소를 사용하지만, 외부로 미디어 패킷을 내보낼 때는 192.168.1.150인 사설 IP 주소가 165.213.89.151인 공인 IP 주소로 변환되어 나간다. 마찬가지로, 인터넷 전화기(125)는 사설망 내부에서 192.168.0.100인 사설 IP 주소를 사용하지만, 외부로 미디어 데이터를 내보낼 때는 192.168.0.100인 사설 IP 주소가 165.213.89.150인 공인 IP 주소로 변환되어 나간다.
상기 인터넷 전화기(110, 125, 135)는 일반적으로 음성을 데이터 신호로 변조하여 인터넷망을 통하여 전화통화를 수행한다. 인터넷전화라 함은 사설(Private) 혹은 공중(Public) 인터넷망의 구분없이 인터넷망을 이용하거나 혹은 패킷교환 방식으로 전송되는 음성전화를 통칭한다. 상기 인터넷 전화기(110, 125, 135)는 별도의 인터넷 전용 전화기이거나 컴퓨터에 연결된 인터넷 전화기일 수 있다.
상기 인터넷 전화기(110)는 공인 IP 주소를 사용하기 때문에 미디어 데이터를 외부로 전송할 때 자신의 공인 IP 주소 165.213.89.200을 사용하여 외부로 전송하면 된다. 하지만, 외부에서 상기 인터넷 전화기(125, 135)의 사설 IP 주소를 확 인할 수 없기 때문에, 이를 연결해주는 특별한 장치가 필요하다.
이를 위해 상기 VoIP PBX(100)는 중소형 VoIP 서비스 환경에서 NAT 통과 기능 및 미디어 스트림을 처리할 수 있는 임베디드 미디어 프럭시 솔루션(embedded Media Proxy Solution: 이하 "eMPS"라 칭함)를 제공한다. 즉, 상기 VoIP PBX(100)는 미디어 관리 테이블을 이용하여, 발신 인터넷 전화기의 미디어 패킷을 착신 인터넷 전화기로 중계하거나, 착신 인터넷 전화기의 미디어 패킷을 발신 인터넷 전화기로 중계한다.
그리고 본 발명에 따라 상기 VoIP PBX(100)는 미디어 스트림 처리 시 VoIP 시그널과 호환성을 보장할 수 있다. 또한 IP 포워딩 방식을 이용해서 하나의 이더넷(Ethernet) 인터페이스를 통해서 VoIP 신호 및 미디어 처리가 가능하며 미디어 전송시 QoS(Quality of Service) 지원이 가능하다. 트래픽 정보를 이용해서 비정상적인 호에 대한 처리가 가능하고 동적인 포트 할당 방법을 통해서 시스템에 들어오는 외부 공격(Attack)을 방지할 수 있다. 마지막으로 시그널 및 미디어 중계(relay) 방식을 통해 종단 사용자 숨김(End-User Hiding) 기능을 제공할 수 있다.
상기 VoIP PBX(100)는 사설 주소 도메인에 위치 가능하며 VoIP 서비스를 지원하기 위해서 신호 포트(Signal Port) 및 미디어 포트(Media Port)에 대해서 정적인 NAT(Static NAT)를 적용함으로써 공인망(150) 환경과 동일하게 적용 가능하다.
도 2는 본 발명의 실시 예에 따는 eMPS로 구성된 VoIP PBX(100)를 도시하고 있다.
상기 도 2를 참조하면, 상기 VoIP PBX(100)는 VoIP 시그널링 모듈(200)과 미디어 프로세싱 모듈(210)로 구분된다. 상기 VoIP 시그널링 모듈(200)은 VoIP 시그널 메시지를 처리하는 모듈로 VoIP 전화기의 등록 메시지 및 호 처리 메시지 등을 처리하고 발생된 호에 대해서 상기 미디어 프로세싱 모듈(210)에 미디어 메시지 즉 음성 및/또는 비디오 패킷 처리를 요청한다. 또한 NAT 환경에서 등록 메시지를 통해 인터넷전화기의 공인 IP 주소를 확인하는 기능을 수행한다. 상기 미디어 프로세싱 모듈(210)은 eMPS의 미디어 관리 테이블을 이용하여 미디어 메시지에 대한 중계 기능을 제공하고 또한 NAT 통과 기능을 제공한다.
상기 미디어 프로세싱 모듈(210)의 eMPS 구조는, 상기 eMPS는 미디어에 대한 처리 정보를 관리 유지하고 동적으로 UDP(User Datagram Protocol)를 할당하는 미디어 제어 모듈(215)과 VoIP 전화기간 미디어 데이터를 중계하는 기능 및 NAT 통과 기능을 제공하는 미디어 전송 모듈(220)로 구성된다. 또한 위 상기 모듈을 통해 QoS 적용 및 트래픽 상태를 관리 기능을 제공한다.
미디어 스트림에 대한 관리 및 처리를 위한 eMPS의 미디어 관리 테이블은 하기 <표 1>과 같다. eMPS의 미디어 관리 테이블의 발신자와 수신자의 미디어 매핑 정보를 이용해서 미디어 스트림에 대해서 처리를 한다.
Inbound Source Inbound Destination Outbound Source Outbound Destination Etc
Index IP Address UDP Port IP Address UDP Port IP Address UDP Port IP Address UDP Port QoS Traffic Statistics
1 165.213.89.200 9000 165.213.89.100 40000 165.213.89.150 9000 165.213.89.100 40002 000100 1000/1000
2 165.213.89.150 9000 165.213.89.100 40004 165.213.89.151 9000 165.213.89.100 40006 000100 5000/5000
. . . . . . . . . . .
상기 테이블은 Inbound 정보 와 Outbound 정보로 구분된다. Inbound 정보는 발신자의 정보이고 Outbound 정보는 수신자의 정보이다. Inbound/Outbound Destination는 eMPS에 동적으로 할당된 주소 정보이고, Inbound Source는 발신자 폰의 주소 정보이고 Outbound Source는 수신자의 주소 정보를 나타낸다. 이 정보를 참조해서 수신된 미디어 패킷의 수락제어(Admission Control)을 수행하게 된다. 또한 등록된 정보와 수신된 인터넷전화기의 포트가 다른 경우에는 인터넷전화기가 사설망에 있는 것으로 판단하고 포트 방향전환(Port Redirection)을 수행함으로써 원활한 NAT 통과(Traversal) 기능을 제공할 수 있다.
마지막으로 eMPS 관리 테이블은 트래픽 상태 및 QoS 정보를 포함하고 있고 각각의 미디어 스트림에 대한 QoS 및 트래픽 제어를 할 수 있다. 그리고 미디어 스트림은 RTP(Real-time Transport Protocol)와 RTCP(RTP Control Protocol)로 구성되는데 RTCP에 대한 처리는 RTP 처리 정보를 바탕으로 RTP와 동일한 과정을 통해서 처리되어 진다.
도 3은 본 발명에 따른 인터넷전화기와 VoIP PBX간 신호와 미디어 메시지 흐름에 대한 개념을 도시하고 있다.
상기 도 3을 참조하면, 인터넷전화기(300, 320)는 시그널링 프로세싱 모듈(302, 322)과 미디어 프로세싱 모듈(304, 324)로 구성되고, VoIP PBX(310)의 시그널링 프로세싱 모듈(312)과 미디어 프로세싱 모듈(314)을 통해, VoIP 신호 및 미디어가 중계되어 전달된다. 다시 말해, 상기 VoIP PBX(310)는 VoIP 시그널 처리를 위한 시그널 게이트웨이(Signal Gateway)의 역할을 수행하고 미디어 처리를 위한 미디어 프럭시(Media Proxy)로의 역할을 수행한다
도 4는 본 발명에 따른 VoIP PBX에서 미디어 프럭시 솔루션(Media Proxy Solution: MPS)를 설정하기 위한 메시지 흐름도를 도시하고 있다.
상기 도 4를 참조하면, 상기 VoIP PBX의 시그널링 프로세싱 모듈은 400 단계에서 미디어 프로세싱 모듈로 명령 메시지를 전송하고, 상기 미디어 프로세싱 모듈은 410 단계에서 eMPS 정보를 초기화하고 응답메시지를 상기 시그널링 프로세싱 모듈로 전송한다. 상기 명령 메시지에는 상기 eMPS 설정에 필요한 UDP 포트 정보 및 UDP 포트 개수 및 QoS 값을 포함하고 있으며, eMPS 설정은 확장 가능하다. 예를 들면, 상기 도 4에서는 UDP 포트가 40000, UDP 포트 개수는 16개로 설정된다.
도 5는 본 발명의 실시 예에 따른 등록을 위한 메시지 흐름도를 도시하고 있다.
상기 도 5를 참조하면, 사설망에 연결되어 있는 인터넷 전화기는 500 단계에서 사설 IP 주소를 포함해서 VoIP PBX의 시그널링 프로세싱 모듈로 주기적으로 등록(registration) 메시지를 송신한다. 상기 등록 메시지를 통해 인터넷전화기는 VoIP PBX에 사용 등록하고 VoIP 서비스를 이용할 수 있게 된다. 여기서, 정의된 등록 메시지는 VoIP 시그널 프로토콜에서 사용되는 표준화된 메시지로 매핑 가능하다.
이후, 상기 VoIP PBX(100)는 510 단계에서 수신된 등록 메시지를 바탕으로 상기 인터넷 전화기가 NAT 기능 사용 여부를 판단한다. 즉, 상기 인터넷 전화기가 공인망(public domain)에 있는지 사설망(private domain)에 있는지 판단한다. 이는 상기 등록 메시지에 포함된 패킷의 IP 주소(165.213.89.151)와 인터넷전화기의 주소(192.168.1.150)를 비교함으로써 알 수 있다.
이후, 상기 VoIP PBX(100)는 520 단계에서 상기 인터넷 전화기의 주소 및 상태를 갱신한다. 이러한 등록과정은 주기적으로 동작함으로써 일정 시간 이후에 인터넷전화기 정보를 갱신할 수 있다.
이후, 상기 VoIP PBX(100)는 530 단계에서 상기 인터넷 전화기의 IP 주소 및 상태를 갱신한 후, ACK 메시지를 상기 인터넷 전화기로 전송한다.
도 6은 본 발명의 실시 예에 따른 VoIP 호 처리 절차를 도시하고 있다.
상기 도 6을 참조하면, 상기 도 1에서 공인망에 있는 발신 인터넷 전화기(인터넷 전화기 A라 칭함)(110)와 사설망에 있는 착신 인터넷 전화기(이하, 인터넷 전화기 B라 칭함)(135) 사이에 호 처리를 가정한다. 상기 도 6에서, VoIP 신호는 호 연결 과정을 일반적으로 표현한 것으로 위 과정은 SIP(Session Initiation Protocol), H.323 또는 사용자 정의(User-defined) 프로토콜로 표현 가능하다.
본 발명에서 호를 연결 시도하는 셋업(Setup) 메시지와 상기 셋업 메시지를 수신한 인터넷 전화기가 응답하는 경우에 전송하는 SetupAck 메시지를 정의한다.
먼저, 상기 인터넷 전화기 A(110)는 600 단계에서 미디어 송수신을 위해서 인터넷 전화기의 주소/포트(165.213.89.200: 9000)를 포함해서 셋업 메시지를 VoIP PBX(100)의 시그널링프로세싱 모듈로 전송하면, 상기 VoIP PBX(100)의 시그널링프로세싱 모듈은 602 단계에서 착신번호를 확인한 후 착신 인터넷 전화기 B(135)로 셋업 메시지를 전송한다. 이때 상기 셋업 메시지는 eMPS의 주소/포트(165.213.89.100: 40002) 정보를 포함하고 있다. 상기 40002 포트는 동적으로 할당되며 이는 상기 인터넷 전화기 A(110)의 Outbound 주소를 위한 포트이다.
이후, 상기 인터넷 전화기 B(135)는 604 단계에서 통화 연결 시 자신의 주소 및 포트 정보(192.168.1.150: 9000)를 포함해서 통화 연결 상태를 알리는 SetupAck 메시지를 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈로 전송한다. 이때 상기 인터넷 전화기 B(135)는 NAT 환경에서 사설 IP 주소 및 포트(192.168.1.150)와 바인딩(Binding)되는 공인 IP 주소(165.213.89.151) 및 포트 정보를 알 수 없기 때문에 사설 IP 주소 및 포트를 포함해서 NAT(130)로 전송하게 된다. 그리고 상기 NAT에서는 상기 VoIP PBX(100)의 도 5의 과정을 통해서 상기 인터넷 전화기 B (135)의 공인 주소를 알고 있고 이 정보를 통해서 VoIP PBX(100)의 미디어 프로세싱 모듈에 사설 IP (192.168.0.150)이 아닌 공인 IP 주소(165.213.89.151)정보를 전달하게 된다.
이후, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 606 단계에서 통화 연결 상태를 다른 eMPS의 주소 및 포트 정보(165.213.89.100: 40000)를 포함해서 SetupAck를 상기 인터넷 전화기 A(110)에 전송한다. 상기 40000 포트는 동적으로 할당되며 이는 상기 인터넷 전화기 A(110)의 Inbound 주소를 위한 포트이다.
이러한 과정을 통해서 호 연결 과정이 이루어진다. Inbound/Outbound에 대한 미디어 세션 정보가 확인된 후에 eMPS Port 할당 과정이 이루어진다.
즉, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 608 단계에서 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로, eMPS의 UDP 포트 정보(40000), 미디어 스트림의 목적지 주소/포트 정보(165.213.89.200:9000) 및 QoS 정보를 포함하는 발신 SETUP 메시지를 전송한다.
그리고, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 610 단계에서 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로, eMPS의 UDP 포트 정보(40002), 미디어 스트림의 목적지 주소/포트 정보(165.213.89.151:9000) 및 QoS 정보를 포함하는 착신 SETUP 메시지를 전송한다. 상기의 미디어 스트림의 목적지 주소는 등록(Registration) 과정을 통해서 NAT 여부를 확인하고 NAT 환경에 있는 경우는 인터넷 전화기의 사설 주소(192.168.1.150)이 아닌 공인 주소(165.213.89.151)로 변경해서 착신 SETUP 메시지를 전송하게 된다.
상술한 바와 같이, eMPS의 UDP 포트 할당은 Inbound Address 와 Outbound Address 처리를 위한 각각의 SETUP 메시지를 통해서 이루어지고 SETUP 메시지에 포함된 정보를 바탕으로 동적으로 할당한다. 또한 SETUP 메시지에 QoS 처리를 위한 값을 포함함으로써 개별적인 QoS 기능을 추가할 수 있으며, 할당된 포트 이외의 패킷에 대해 드롭(Drop) 처리함으로써, 패킷 필터링(filtering) 기능을 수행할 수 있다. 그리고 인터넷전화기의 미디어 스트림을 중계함으로써 인터넷전화기의 패킷 송수신 상태를 확인할 수 있고, 이 상태 정보를 통해서 호 처리 기능을 수행할 수 있다.
상기 도 6의 호 처리 과정을 통한 eMPS의 미디어 관리 테이블은 하기 <표 2>와 같다.
Inbound Source Inbound Destination Outbound Source Outbound Destination Etc
Index IP Address UDP Port IP Address UDP Port IP Address UDP Port IP Address UDP Port QoS Traffic Statistics
1 165.213.89.200 9000 165.213.89.100 40000 165.213.89.151 9000 165.213.89.100 40002 000100 1000/1000
도 7은 본 발명의 실시 예에 따른 VoIP 호 해제 절차를 위한 메시지 흐름도를 도시하고 있다. 상기 도 6의 호 처리 절차를 통해 상기 인터넷 전화기 A(110)와 인터넷 전화기 B(135) 사이 호가 연결되어 있다고 가정한다.
상기 도 7을 참조하면, 상기 인터넷 전화기 A(110)는 700 단계에서 호 해제를 위해, VoIP PBX(100)의 시그널링 프로세싱 모듈로 호 절단(diconnect) 메시지를 전송하고, VoIP PBX(100)의 시그널링 프로세싱 모듈은 705 단계에서 인터넷 전화기 B(135)로 호 절단(diconnect) 메시지를 전송한다. 본 발명에서 disconnect 메시지는 호 종료를 알리기 위한 메시지로 VoIP 시그널 프로토콜로 매핑이 가능하다.
이후, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 710 단계에서 호 종료 후 UDP 포트 정보를 이용한 eMPS의 UDP 포트 해제를 위해, 발신 release 메시지를 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송하고, 그리고, 상기 VoIP PBX의 시그널링 프로세싱 모듈은 715 단계에서 착신 release 메시지를 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다.
도 8은 본 발명의 다른 실시 예에 따른 VoIP 호에 대한 미디어 처리 절차를 도시하고 있다.
상기 도 8을 참조하면, 상기 도 6의 호 처리 절차를 통해 상기 인터넷 전화기 A(110)와 인터넷 전화기 B(135) 사이 호가 연결되어 있다고 가정한다.
상기 도 6의 VoIP 호 연결 과정이 완료된 후에, 상기 인터넷 전화기 A(110)는 800 단계에서 미디어 스트림을 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다. 즉, 상기 인터넷 전화기 A(110)는 목적지 주소가 165.213.89.100이고 목적지 포트가 40000인 패킷을 전송한다. 이는 도 6의 VoIP 호 연결 과정시, 실제 인터넷 전화기 A(110)의 주소/포트가 165.213.89.200, 9000에서 eMPS의 주소/포트 165.213.89.100,40000으로 매핑되어 있기 때문이다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 810 단계에서 eMPS의 미디어 관리 테이블(상기 <표 2> 참조)을 이용하여, 상기 인터넷 전화기 A(110)의 미디어 스트림을 인터넷 전화기 B(135)로 중계한다. 상기 중계 패킷의 소스 주소는 상기 인터넷 전화기 B(135)에 할당된 eMPS의 포트를 소스 포트(40002)로 하고, 목적지 주소/포트를 상기 인터넷 전화기 B(135)의 주소/포트(165.213.89.151: 9000)로 변경하게 된다. 하지만, NAT 환경의 상기 인터넷 전화기 B(135)의 공인 포트가 1024라고 할 시, UDP 포트 9000에 대한 패킷을 처리할 수 없게 된다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 815 단계에서 소스주소 및 포트가 165.213.89.151, 1024이고, 목적지 주소 및 포트가 165.213.89.100, 40002인 미디어 스트림을 상기 인터넷 전화기 B(135)로부터 수신한다. 상기 소스 주소는 NAT를 통과 후에 변경된 정보(165.213.89.151:1024)를 도식화한 것으로 실제 NAT 내부 환경에서 인터넷 전화기 B(135)는 소스 주소를 로컬 주소(192.168.1.150:9000)로 미디어를 전송한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 816 단계에서 미디어 방향전환(media redirection)을 수행한다. 즉, 상기 인터넷 전화기 B(135)로부터의 미디어 스트림 수신을 통해, 상기 인터넷 전화기 B(135)의 포트를 9000에서 1024로 변경하여 MPS의 미디어 관리 테이블을 갱신한다.
다시 말해, 815 단계에서 포트에 대한 변경 사항 및 NAT 환경의 존재 유무는 상기 인터넷 전화기 B(135)의 미디어 스트림이 VoIP PBX(100)에 전달되는 경우에 등록 정보와 수신된 미디어의 포트 정보를 비교함으로써 판단하게 되고, 이때, 수신된 미디어 포트로 eMPS의 미디어 관리 테이블을 변경하게 된다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 820 단계에서 상기 인터넷 전화기 B(135)로부터 수신한 미디어 데이터를 상기 인터넷 전화기 A(110)로 중계한다.
이후, 상기 인터넷 전화기 A(110)는 825 단계에서 미디어 스트림을 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 830 단계에서 변경된 eMPS의 미디어 관리 테이블(상기 <표 2> 참조)을 이용하여, 상기 인터넷 전화기 A(110)의 미디어 스트림을 인터넷 전화기 B(135)로 중계한다.
도 9는 본 발명의 또 다른 실시 예에 따른 VoIP 호에 대한 처리 절차를 도시하고 있다.
상기 도 9를 참조하면, 상기 도 1에서 사설망에 있는 발신 인터넷 전화기(인터넷 전화기 A라 칭함)(125)와 공인망에 있는 착신 인터넷 전화기(이하, 인터넷 전화기 B라 칭함)(110) 사이에 호 처리를 가정한다.
먼저, 인터넷 전화기 A(125)는 900 단계에서 NAT(120)를 통해 주소가 192.168.0.100이고 포트가 9000인 셋업 메시지를 VoIP PBX(100)의 시그널링 프로세싱 모듈로 전송한다.
이후, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 905 단계에서 착신번호를 확인한 후 착신 인터넷 전화기 B(110)로 셋업 메시지를 전송한다. 이때 상기 셋업 메시지는 eMPS의 주소/포트(165.213.89.100: 40002) 정보를 포함하고 있다.
이후, 상기 인터넷 전화기 B(110)는 910 단계에서 통화 연결 시 자신의 주소 및 포트 정보(165.213.89.200: 9000)를 포함해서 통화 연결 상태를 알리는 SetupAck 메시지를 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈로 전송한다.
이후, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 915 단계에서 통화 연결 상태를 다른 eMPS의 주소 및 포트 정보(165.213.89.100: 40000)를 포함해서 SetupAck를 상기 인터넷 전화기 A(125)에 전송한다. 이러한 과정을 통해서 호 연결 과정이 이루어진다. Inbound/Outbound에 대한 미디어 세션 정보가 확인된 후에 eMPS Port 할당 과정이 이루어진다.
즉, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 920 단계에서 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로, eMPS의 UDP 포트 정보(40000), 미디어 스트림의 목적지 주소/포트 정보(165.213.89.150:9000) 및 QoS 정보를 포함하는 발신 SETUP 메시지를 전송한다.
그리고, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 925 단계에서 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로, eMPS의 UDP 포트 정보(40002), 미디어 스트림의 목적지 주소/포트 정보(165.213.89.200:9000) 및 QoS 정보를 포함하는 착신 SETUP 메시지를 전송한다.
상기 도 9의 호 처리 과정을 통한 eMPS의 미디어 관리 테이블은 하기 <표 3>와 같다.
Inbound Source Inbound Destination Outbound Source Outbound Destination Etc
Index IP ddress UDP Port IP Address UDP Port IP Address UDP Port IP Address UDP Port QoS Traffic Statistics
1 165.213.89.150 9000 165.213.89.100 40000 165.213.89.200 9000 165.213.89.100 40002 000100 1000/1000
호 연결 과정이 완료된 후에, 상기 인터넷 전화기 B(110)는 930 단계에서 미디어 스트림을 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다. 즉, 상기 인터넷 전화기 B(110)는 목적지 주소가 165.213.89.100이고 목적지 포트가 40002인 패킷을 전송한다. 실제 인터넷 전화기 B(110)의 주소/포트가 165.213.89.200,9000에서 eMPS의 주소/포트 165.213.89.100, 40002으로 매핑되어 있기 때문이다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 935 단계에서 eMPS의 미디어 관리 테이블(상기 <표 3> 참조)을 이용하여, 상기 인터넷 전화기 B(110)의 미디어 스트림을 인터넷 전화기 A(125)로 중계한다. 상기 중계 패킷의 소스 주소는 상기 인터넷 전화기 A(125)에 할당된 eMPS의 포트를 소스 포트(40000)로 하고, 목적지 주소/포트를 상기 인터넷 전화기 A(125)의 주소/포트(165.213.89.150: 9000)로 변경하게 된다. 하지만, NAT 환경의 상기 인터넷 전화기 A(125)의 공인 포트가 1025라고 할 시, UDP 포트 9000에 대한 패킷을 처리할 수 없게 된다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 940 단계에서 소스 주소 및 포트가 165.213.89.150, 1025이고, 목적지 주소 및 포트가 165.213.89.100, 40000인 미디어 스트림을 상기 인터넷 전화기 A(110)로부터 수신한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 945 단계에서 미디어 방향전환(media redirection)을 수행한다. 즉, 상기 인터넷 전화기 A(110)로부터의 미디어 스트림 수신을 통해, 상기 인터넷 전화기 A(110)의 포트를 9000에서 1025로 변경하여 eMPS의 미디어 관리 테이블을 갱신한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 950 단계에서 상기 인터넷 전화기 A(125)로부터 수신한 미디어 데이터를 상기 인터넷 전화기 B(110)로 중계한다.
이후, 상기 인터넷 전화기 B(110)는 955 단계에서 미디어 스트림을 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 960 단계에서 변경된 eMPS의 미디어 관리 테이블(상기 <표 3> 참조)을 이용하여, 상기 인터넷 전화기 B(110)의 미디어 스트림을 인터넷 전화기 A(125)로 중계한다.
상술한 바와 같이, 상기 인터넷 전화기 A(125)는 발신전화기인 경우로 상기 인터넷 전화기 B(110)의 미디어 데이터 중계되지 않는 문제가 발생하면 상기 인터넷 전화기 A(125)에서 수신된 미디어 데이터의 UDP 포트 정보를 통해서 상기 인터넷 전화기 A(125)의 공인 포트 정보를 확인하게 되고, 이 포트 정보를 이용해서 이후의 패킷에 대해서는 방향전환(Redirect)해서 전송하게 된다.
도 10은 본 발명의 또 다른 실시 예에 따른 VoIP 호에 대한 처리 절차를 도시하고 있다.
상기 도 10을 참조하면, 상기 도 1에서 사설망에 있는 발신 인터넷 전화기(인터넷 전화기 A라 칭함)(135)와 사설망에 있는 착신 인터넷 전화기(이하, 인터넷 전화기 B라 칭함)(125) 사이에 호 처리를 가정한다.
먼저, 인터넷 전화기 A(135)는 1000 단계에서 NAT(130)를 통해 주소가 192.168.1.150이고 포트가 9000인 셋업 메시지를 VoIP PBX(100)의 시그널링프로세싱 모듈로 전송한다.
이후, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1005 단계에서 착신번호를 확인한 후 착신 인터넷 전화기 B(125)로 셋업 메시지를 전송한다. 이때 상기 셋업 메시지는 eMPS의 주소/포트(165.213.89.100: 40002) 정보를 포함하고 있다.
이후, 상기 인터넷 전화기 B(125)는 1010 단계에서 통화 연결 시 자신의 주소 및 포트 정보(192.168.0.100: 9000)를 포함해서 통화 연결 상태를 알리는 SetupAck 메시지를 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈로 전송한다.
이후, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1015 단계에서 통화 연결 상태를 다른 eMPS의 주소 및 포트 정보(165.213.89.100: 40000)를 포함해서 SetupAck를 상기 인터넷 전화기 A(135)에 전송한다. 이러한 과정을 통해서 호 연결 과정이 이루어진다. Inbound/Outbound에 대한 미디어 세션 정보가 확인된 후에 eMPS Port 할당 과정이 이루어진다.
즉, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1020 단계에서 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로, eMPS의 UDP 포트 정보(40000), 미디어 스트림의 목적지 주소/포트 정보(165.213.89.151:9000) 및 QoS 정보를 포함하는 발신 SETUP 메시지를 전송한다.
그리고, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1025 단계에서 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로, eMPS의 UDP 포트 정보(40002), 미디어 스트림의 목적지 주소/포트 정보(165.213.89.150:9000) 및 QoS 정보를 포함하는 착신 SETUP 메시지를 전송한다.
상기 도 10의 호 처리 과정을 통한 eMPS의 미디어 관리 테이블은 하기 <표 4>와 같다.
Inbound Source Inbound Destination Outbound Source Outbound Destination Etc
Index IP Address UDP Port IP Address UDP Port IP Address UDP Port IP Address UDP Port QoS Traffic Statistics
1 165.213.89.151 9000 165.213.89.100 40000 165.213.89.150 9000 165.213.89.100 40002 000100 1000/1000
호 연결 과정이 완료된 후에, 상기 인터넷 전화기 B(125)는 1030 단계에서 미디어 스트림을 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다. 즉, 상기 인터넷 전화기 B(125)는 1026 포트를 통해 목적지 주소가 165.213.89.100이고 목적지 포트가 40002인 패킷을 전송한다. 실제 인터넷 전화기 B(125)의 주소/포트가 165.213.89.150, 1026에서 eMPS의 주소/포트 165.213.89.100, 40002로 매핑되어 있기 때문이다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1035 단계에서 상기 인터넷 전화기 B(125)의 9000 포트를 1026 포트로 갱신하고, eMPS의 미디어 관리 테이블(상기 <표 4> 참조)을 이용하여, 상기 인터넷 전화기 B(125)의 미디어 스트림을 인터넷 전화기 A(135)로 중계한다. 상기 중계 패킷의 소스 주소는 상기 인터넷 전화기 A(125)에 할당된 eMPS의 포트를 소스 포트(40000)로 하고, 목적지 주소/포트를 상기 인터넷 전화기 A(135)의 주소/포트(165.213.89.151: 9000)로 변경하게 된다. 하지만, NAT 환경의 상기 인터넷 전화기 A(135)의 공인 포트가 1030이라고 할 시, UDP 포트 9000에 대한 패킷을 처리할 수 없게 된다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1040 단계에서 소스 주소 및 포트가 165.213.89.151, 1030이고, 목적지 주소 및 포트가 165.213.89.100, 40000인 미디어 스트림을 상기 인터넷 전화기 A(135)로부터 수신한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1045 단계에서 상기 인터넷 전화기 A(135)의 9000 포트를 1030 포트로 갱신하고, 상기 인터넷 전화기 A(135)의 미디어 스티림을 상기 인터넷 전화기 B(125)로 중계한다. 여기서, 상기 인터넷 전화기 B(125)가 상기 인터넷 전화기 A(135)의 미디어 스트림을 수신하지 못했다고 가정한다.
이후, 상기 인터넷 전화기 B(125)는 1050 단계에서 미디어 스트림을 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다. 즉, 상기 인터넷 전화기 B(125)는 1026 포트를 통해 목적지 주소가 165.213.89.100이고 목적지 포트가 40002인 패킷을 전송한다.
이후, VoIP PBX(100)의 미디어 프로세싱 모듈은 1055 단계에서, 변경된 eMPS의 미디어 관리 테이블(상기 <표 4> 참조)을 이용하여, 목적지 주소가 165.213.89.151이고 포트가 1030인 인터넷 전화기 A(135)로 상기 인터넷 전화기 B(125)의 미디어 스트림을 중계한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1060 단계에서 소스 주소 및 포트가 165.213.89.151, 1030이고, 목적지 주소 및 포트가 165.213.89.100, 40000인 미디어 스트림을 상기 인터넷 전화기 A(135)로부터 수신한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1065 단계에서 상기 인터넷 전화기 A(135)의 미디어 스트림을 목적지 주소가 165.213.89.150이고 포트가 1026인 상기 인터넷 전화기 B(125)로 중계한다.
이후, 상기 인터넷 전화기 A(135)는 1070 단계에서 호 절단을 위해 disconnect 메시지를 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송하고, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1075 단계에서 disconnect 메시지를 상기 인터넷 전화기 B(125)로 전송한다.
상술한 바와 같이, 착/발신 인터넷전화기가 모두 사설망에 있는 경우, NAT 환경에 위치해 있기 때문에 미디어 전송에 실패하게 되고, 인터넷전화기에서 보낸 미디어 패킷의 UDP 정보를 바탕으로 패킷을 방향전환(Redirect) 함으로써 미디어 서비스를 성공적으로 수행할 수 있다.
도 11은 본 발명에 따른 SIP(Session Initiation Protocol) 프로토콜을 이용한 eMPS(embedded Media Proxy Solution) 등록 사용의 예를 도시하고 있다.
상기 도 11을 참조하면, VoIP PBX(100)의 미디어 프로세싱 모듈은 1100 단계에서 인터넷 전화기로부터 수신한 후, SIP Register 메시지의 URL(Uniform Resource Locator)를 통해서 인터넷 전화기의 주소를 확인하고 인터넷 전화기의 주소를 갱신한다. 이후, 1110 단계에서 VoIP PBX(100)의 미디어 프로세싱 모듈은 200 OK 메시지를 통해서 등록 확인 메시지를 송신한다.
도 12는 본 발명에 따른 공인망의 인터넷전화기 A와 사설망의 인터넷전화기 B의 eMPS를 지원하기 위한 SIP 시그널링 절차를 도시하고 있다.
상기 도 12를 참조하면, 상기 인터넷전화기 A는 1200 단계에서 INVITE 메시지를 VoIP PBX(100)의 시그널링 프로세싱 모듈로 전송하고, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1205 단계에서 상기 인터넷 전화기 B와 매핑할 eMPS 주소(165.213.89.100: 40002)를 포함한 INVITE 메시지를 인터넷전화기 B로 전송한다.
즉, 각각의 메시지의 SDP(Session Description Protocol)에 인터넷전화의 주소및 포트, eMPS 주소 및 포트를 포함함으로써, 미디어 세션을 연결할 수 있게 된다.
이후, 상기 인터넷 전화기 B는 2009 단계에서 100 Trying 메시지를 상기 시그널링 프로세싱 모듈로 전송하고, 상기 시그널링 프로세싱 모듈은 2110 단계에서 100 Trying 메시지를 상기 인터넷전화기 A으로 전송한다.
이후, 상기 인터넷전화기 B는 2115 단계에서 180 Ringing 메시지를 상기 미디어 프로세싱 모듈로 전송하고, 상기 시그널링 프로세싱 모듈은 2120 단계에서 180 Ringing 메시지를 상기 인터넷전화기 A으로 전송한다.
이후, 상기 인터넷전화기 B는 1225 단계에서 200 OK 메시지를 상기 미디어 프로세싱 모듈로 전송하고, 상기 시그널링 프로세싱 모듈은 2130 단계에서 200 OK 메시지를 상기 인터넷전화기 A으로 전송한다. 즉, 상기 인터넷전화기 B는 공인 IP 주소 및 포트 정보를 알 수가 없기 때문에, 사설 IP 주소 및 포트 정보를 포함하는 200 OK 메시지를 전송하게 된다.
이후, 상기 인터넷전화기 A는 1235 단계에서 ACK 메시지를 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송하고, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1240 단계에서 ACK 메시지를 인터넷전화기 B로 전송한다.
도 13은 본 발명에 따른 공인망의 인터넷전화기 A와 사설망의 인터넷전화기 B 사이 SIP 시그널링을 통한 미디어 데이터를 처리 절차를 도시하고 있다.
상기 도 13을 참조하면, 상기 인터넷전화기 A는 1300 단계에서 목적지 주소가 165.213.89.100이고 포트가 40000인 미디어 데이터를 VoIP PBX(100)의 미디어 프로세싱 모듈로 전송한다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1310 단계에서 상기 인터넷전화기 A로부터 수신한 미디어 데이터를 목적지 주소가 165.213.89.151이고, 포트가 9000인 상기 인터넷전화기 B로 중계한다. 하지만, 사설망에 있는 상기 인터넷전화기 B가 1024 포트를 사용할 시, 상기 인터넷전화기 B는 상기 VoIP PBX(100)의 미디어 프로세싱 모듈로부터의 중계 미디어 데이터를 수신할 수 없다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1315 단계에서 상기 인터넷전화기 B로부터 미디어 데이터를 수신하고, 1316 단계에서 이전 소스주소와 포트 정보와 현재 수신된 미디어 데이터의 주소 및 포트 정보를 비교하여 주소 및 포트 정보를 갱신한다. 예를 들면, 이전 9000 포트는 현재 1024 포트로 갱신된다.
이후, 상기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1320 단계에서 상기 인터넷전화기 B로부터 수신한 미디어 데이터를 갱신된 주소 및 포트 정보를 이용하여 중계한다.
이후, 상기 기 VoIP PBX(100)의 미디어 프로세싱 모듈은 1325 단계에서 상기 인터넷전화기 A로부터 수신한 미디어 데이터를 수신하고, 1330 단계에서 갱신된 주소 및 포트 정보를 이용하여 상기 인터넷전화기 A로부터 수신한 미디어 데이터를 상기 인터넷전화기 B로 중계한다.
도 14는 본 발명에 따른 공인망의 인터넷전화기 A와 사설망의 인터넷전화기 B 사이 SIP 시그널링의 호 종료 절차를 도시하고 있다.
상기 도 14를 참조하면, 상기 인터넷전화기 A는 1400 단계에서 BYE 메시지를 VoIP PBX(100)의 시그널링 프로세싱 모듈로 전송하고, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1405 단계에서 BYE 메시지를 인터넷전화기 B로 전송한다.
이후, 상기 인터넷전화기 B는 1410 단계에서 200 OK 메시지를 VoIP PBX(100)의 시그널링 프로세싱 모듈로 전송하고, 상기 VoIP PBX(100)의 시그널링 프로세싱 모듈은 1415 단계에서 200 OK 메시지를 인터넷전화기 A로 전송한다.
도 15는 본 발명에 실시 예에 따른 VoIP PBX 시스템에서 등록 메시지를 이용하여 인터넷전화기의 공인 IP 주소를 감지하기 위한 흐름도를 도시하고 있다.
일반적으로 인터넷전화기는 등록과정을 통해서 VoIP 서비스를 이용하게 된다. 이러한 등록 과정은 주기적으로 상기 인터넷전화기가 등록 메시지를 전송함으로써, 인터넷전화기의 등록 상태를 갱신하게 된다. 또한 VoIP PBX는 등록 메시지를 통해서 인터넷전화기에 대한 접속상태를 확인하게 된다.
상기 도 15를 참조하면, VoIP PBX(100)는 1500 단계에서 등록 메시지를 수신할 시, 등록 메시지에 포함되어 있는 인터넷전화기의 주소와 패킷의 IP 주소를 비교한다.
만약, 1502 단계에서 두 주소가 동일하면, VoIP PBX(100)는 1504 단계로 진행하여 상기 인터넷전화기를 공인망에 존재하는 것으로 판단하고 인터넷전화기의 주소로 갱신하고, 그렇지 않다면 1506 단계로 진행하여 상기 인터넷전화기를 사설망에 존재하는 것으로 판단하고 패킷 IP 주소로 갱신한다.
이후, 본 발명의 절차를 종료한다.
도 16은 본 발명에 실시 예에 따른 VoIP PBX 시스템에서 등록된 목적지 주소 및 포트와 소스 주소를 통해 수신된 패킷의 필터링(Filtering)을 통한 수락제어(Admission Control) 흐름도를 도시하고 있다.
상기 도 16을 참조하면, VoIP PBX(100)는 1600 단계에서 수신된 미디어 패킷이 UDP 인지를 판단하고, 1602 단계에서 eMPS 관리 테이블을 이용하여 목적지의 IP 주소와 포트가 매칭되는지 확인하고, 1604 단계에서 eMPS 관리 테이블을 이용하여 소스 IP 주소가 매칭되는지 확인한다.
따라서, UDP 패킷이 아니거나, eMPS 관리 테이블을 이용하여 목적지의 IP 주소와 포트가 매칭되지 않거나, eMPS 관리 테이블을 이용하여 소스 IP 주소가 매칭되지 않을 시, 해당 패킷을 드롭시킨다.
이후, 본 발명의 절차를 종료한다.
도 17은 본 발명에 따른 VoIP PBX 시스템에서 수신된 미디어 스트림의 포트 방향전환(Port Redirection)에 의한 NAT 통과 처리를 위한 흐름도를 도시하고 있다.
상기 도 17을 참조하면, 상기 VoIP PBX(100)는 1700 단계에서 수신되는 미디어 패킷에 대해 수락제어를 수행한다.
이후, 상기 VoIP PBX(100)는 1702 단계에서 수신한 패킷이 유효한 패킷인지를 확인하고, 1704 단계에서 수신된 미디어 패킷의 소스 포트(source port)가 미디어 관리 테이블에 등록된 정보와 매칭되는지 확인한다.
만약, 수신된 미디어 패킷의 소스 포트(source port)가 미디어 관리 테이블에 등록된 정보와 일치하지 않을 시, 1706 단계로 진행하여 인터넷전화기가 NAT 환경에 있다고 인지하고, 인터넷전화기에 등록된 포트 정보를 갱신한다.
이후, 상기 VoIP PBX(100)은 1708 단계에서 수신된 미디어 패킷이 Outbound 트래픽일 경우, 1712 단계로 진행하여 수신된 미디어 패킷을 상대 인터넷전화기로 중계하기 위해, Inbound 소스 및 목적지의 주소 및 포트로 변경한다.
반면, 상기 VoIP PBX(100)은 1708 단계에서 수신된 미디어 패킷이 Inbound 트래픽일 경우, 1718 단계로 진행하여 수신된 미디어 패킷을 상대 인터넷전화기로 중계하기 위해, Outbound 소스 및 목적지의 주소 및 포트로 변경한다.
이후, 상기 VoIP PBX(100)은 1714 단계에서 미디어 스트림에 대한 QoS 정보가 있는 경우에 ToS(Type of Service)나 DSCP(Differentiated Serivce Code Point)) 정보를 추가한다.
이후, 상기 VoIP PBX(100)은 IP 포워딩(forwarding) 기법을 통해서 패킷을 전송한다.
이후, 본 발명의 절차를 종료한다.
도 18은 본 발명에 따른 VoIP PBX 시스템에서 미디어 관리 테이블의 전송 상태 정보를 통한 호 제어를 위한 흐름도를 도시하고 있다.
상기 도 18을 참조하면, 상기 VoIP PBX(100)는 1800 단계에서 해당 포트가 사용되고 있는지 확인하고, 해당 포트가 사용될 시, 1802 단계로 진행하여 이전 트래픽과 현재 트래픽 정보를 비교한다.
만약, 트래픽이 변화가 있는 경우, 1808 단계로 진행하여 이전 트래픽 정보 정보를 갱신한다.
반면, 트래픽이 변화가 없는 경우, 1806 단계로 진행하여 비정상적인 상태로 마크하고, 1810 단계에서 상태가 임계치를 초과하는지 확인한다.
임계치를 초과할 시, 이를 시그널링 프로세싱 모듈에 지시(Indication) 메시지를 통해 알린다.
이후, 본 발명을 절차를 종료한다.
상술한 바와 같이, 주기적으로 미디어 전송 상태를 확인하여 미디어 전송 상태가 변화가 없고 한계치를 넘는 경우는 시그널링 프로세싱 모듈에 지시(Indication) 메시지를 통해서 알려줌으로써 호를 제어할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시 예에 따른 VoIP 서비스를 위한 네트워크 구성도,
도 2는 본 발명의 실시 예에 따는 eMPS로 구성된 VoIP PBX,
도 3은 본 발명에 따른 인터넷전화기와 VoIP PBX간 신호와 미디어 메시지 흐름에 대한 개념도,
도 4는 본 발명에 따른 VoIP PBX에서 미디어 프럭시 솔루션(Media Proxy Solution: MPS)를 설정하기 위한 메시지 흐름도,
도 5는 본 발명의 실시 예에 따른 등록을 위한 메시지 흐름도,
도 6은 본 발명의 실시 예에 따른 VoIP 호 처리 절차,
도 7은 본 발명의 실시 예에 따른 VoIP 호 해제 절차를 위한 메시지 흐름도,
도 8은 본 발명의 다른 실시 예에 따른 VoIP 호에 대한 처리 절차,
도 9는 본 발명의 또 다른 실시 예에 따른 VoIP 호에 대한 처리 절차,
도 10은 본 발명의 또 다른 실시 예에 따른 VoIP 호에 대한 처리 절차,
도 11은 본 발명에 따른 SIP(Session Initiation Protocol) 프로토콜을 이용한 eMPS(embedded Media Proxy Solution) 등록 예시도,
도 12는 본 발명에 따른 공인망의 인터넷전화기 A와 사설망의 인터넷전화기 B의 eMPS를 지원하기 위한 SIP 시그널링 절차,
도 13은 본 발명에 따른 공인망의 인터넷전화기 A와 사설망의 인터넷전화기 B 사이 미디어 데이터를 처리하기 위한 SIP 시그널링 절차,
도 14는 본 발명에 따른 공인망의 인터넷전화기 A와 사설망의 인터넷전화기 B 사이 호 종료 절차,
도 15는 본 발명에 실시 예에 따른 VoIP PBX 시스템에서 등록 메시지를 이용하여 인터넷전화기의 공인 IP 주소를 감지하기 위한 흐름도,
도 16은 본 발명에 실시 예에 따른 VoIP PBX 시스템에서 등록된 목적지 주소 및 포트와 소스 주소를 통해 수신된 패킷의 필터링(Filtering)을 통한 수락제어(Admission Control) 흐름도,
도 17은 본 발명에 따른 VoIP PBX 시스템에서 수신된 미디어 스트림의 포트 방향전환(Port Redirection)에 의한 NAT 통과 처리를 위한 흐름도 및,
도 18은 본 발명에 따른 VoIP PBX 시스템에서 미디어 관리 테이블의 전송 상태 정보를 통한 호 제어를 위한 흐름도.

Claims (24)

  1. 인터넷 프로토콜을 통한 음성(voice over internet protocol) 시스템에서 망 주소 변환(network address translation, NAT) 통과(traversal)를 지원하기 위한 교환기의 동작 방법에 있어서,
    적어도 하나의 인터넷 전화기로부터 등록 메시지를 착신하는 과정과,
    상기 등록 메시지에 포함된 패킷의 인터넷 프로토콜(internet protocol, IP) 주소와 상기 적어도 하나의 인터넷 전화기에 대응하는 적어도 하나의 인터넷 전화기의 IP 주소의 비교에 기초하여 상기 대응하는 적어도 하나의 인터넷 전화기가 공공 망 또는 사설망에 위치하는지 여부를 결정하는 과정과,
    상기 대응하는 적어도 하나의 인터넷 전화기가 상기 공공 망에 위치할 경우, 상기 대응하는 인터넷 전화기와 관련된 상기 적어도 하나의 인터넷 전화기의 IP 주소를 등록하는 과정과,
    상기 대응하는 적어도 하나의 인터넷 전화기가 상기 사설 망에 위치할 경우, 상기 패킷의 IP 주소와 상기 대응하는 적어도 하나의 인터넷 전화기의 IP 주소를 등록하는 과정을 포함하는 방법.
  2. 제 1항에 있어서,
    상기 IP 주소 등록하는 과정 이후, 발신 인터넷 전화기로부터 셋업 요청 신호를 착신할 경우, IP 주소 및 상기 적어도 하나의 발신 인터넷 전화기의 사용자 데이터그램 프로토콜(user datagram protocol, UDP) 포트를 제1 임베디드 미디어 프록시 솔루션(embedded media proxy solution, eMPS) IP 주소 및 UDP 포트로 제1 맵핑하는 과정과,
    상기 제1 eMPS IP 주소 및 UDP 포트 정보를 포함하는 상기 발신 인터넷 전화기의 셋업 요청 메시지를 착신 인터넷 전화기로 중계하는 과정과,
    상기 셋업 요청에 대한 응답으로 상기 착신 인터넷 전화기로부터 상기 착신 인터넷 전화기의 IP 주소 및 UDP 포트를 포함하는 응답 신호를 착신하는 과정과,
    상기 착신 인터넷 전화기의 상기 IP 주소 및 UDP 포트를 제2 eMPS IP 주소 및 UDP 포트로 제2 맵핑하는 과정과,
    상기 셋업 요청에 대한 응답으로 상기 제2 eMPS IP 주소 및 UDP 포트 정보를 포함하는 응답 신호를 상기 발신 인터넷 전화기로 중계하는 과정을 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 발신 인터넷 전화기로 중계하는 과정 이후, 상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기 중 적어도 하나로부터 미디어 데이터를 착신하는 과정과,
    상기 미디어 데이터의 착신 시, 상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기 중 대응하는 적어도 하나와 연계하여 저장된 상기 맵핑된 UDP 포트와 통신되는 상기 미디어 데이터로부터 상기 UDP 포트를 비교하는 과정과,
    상기 UDP 포트가 상기 맵핑된 UDP 포트와 다를 경우, 통신되는 상기 미디어 데이터로부터 상기 UDP 포트와 함께 상기 맵핑된 UDP 포트를 갱신하는 더 과정을 포함하는 방법.
  4. 제3항에 있어서,
    상기 발신 인터넷 전화기의 UDP 포트는, 상기 착신 인터넷 전화기의 UDP 포트와 동일하고,
    상기 제1 eMPS UDP 포트 및 상기 제2 eMPS UDP 포트는, 상기 발신 인터넷 전화기 또는 상기 착신 인터넷 전화기의 UDP 포트와 동일하지 않고,
    상기 제1 eMPS UDP 포트는, 상기 제2 eMPS UDP 포트와 동일하지 않고,
    상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기는, 각각 등록된 인터넷 전화기 중 적어도 하나에 대응하는 방법.
  5. 제 4항에 있어서,
    상기 맵핑된 UDP 포트를 갱신하는 과정 이후, 상기 제1 맵핑에 관한 정보 및 상기 제2 맵핑에 관한 정보에 기초하여 상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기 사이의 NAT 통과를 위한 맵핑 테이블을 생성하는 과정을 더 포함하는 방법.
  6. 제 5항에 있어서,
    상기 맵핑 테이블은,
    상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기 사이의 트래픽 상태 정보 및 서비스 품질(quality of service) 중 적어도 하나를 포함하는 방법.
  7. 제 4항에 있어서,
    상기 착신 인터넷 전화기의 IP 주소는, 상기 착신 인터넷 전화기의 사설 IP 주소를 포함하는 방법.
  8. 삭제
  9. 인터넷 프로토콜을 통한 음성(voice over internet protocol, VoIP) 시스템에서 망 주소 변환(network address translation, NAT) 통과(traversal)를 지원하기 위한 교환기의 동작 방법에 있어서,
    적어도 하나의 인터넷 전화기로부터 등록 메시지를 착신하는 과정과,
    상기 등록 메시지에 포함된 패킷의 인터넷 프로토콜(internet protocol, IP) 주소와 상기 적어도 하나의 인터넷 전화기와 대응하는 적어도 하나의 인터넷 전화기의 IP 주소의 비교에 기초하여 상기 대응하는 적어도 하나의 인터넷 전화기가 공공 망 또는 사설망에 위치하는지 여부를 결정하는 과정과,
    상기 대응하는 인터넷 전화기가 상기 공공 망에 위치할 경우, 상기 대응하는 인터넷 전화기와 관련된 상기 적어도 하나의 전화기의 IP 주소를 등록하는 과정과,
    제1 소스 주소 및 제1 사용자 데이터그램 프로토콜(user datagram protocol, UDP) 포트 정보 및 제1 목적지 주소 및 제2 UDP 포트 정보에 기초하여 발신 인터넷 전화기로부터 미디어 데이터를 착신하는 과정과,
    맵핑 테이블을 이용하여 상기 제1 목적지 주소 및 상기 제2 UDP 포트에 대응하는 제2 목적지 주소 및 제3 UDP 포트, 그리고, 상기 제1 소스 주소 및 상기 제1 UDP 포트에 대응하는 제2 소스 주소 및 제4 UDP 포트를 결정하는 과정과,
    상기 제2 목적지 주소 및 상기 제3 UDP 포트 및 상기 제2 소스 주소 및 상기 제4 UDP 포트에 기초하여 착신 인터넷 전화기로 상기 미디어 데이터를 중계하는 과정을 포함하고,
    상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기는,
    각각 등록된 인터넷 전화기 중 적어도 하나에 대응하는 방법.
  10. 제9항에 있어서,
    상기 제4 UDP 포트를 결정하는 과정 이후, 상기 제3 UDP 포트 및 상기 착신 인터넷 전화기의 공용 포트가 각각 다를 경우, 상기 착신 인터넷 전화기의 공용 포트로 스위칭하기 위한 상기 착신 인터넷 전화기로부터 미디어 데이터를 착신하는 과정과,
    상기 착신 인터넷 전화기의 공용 포트를 통해 상기 착신 인터넷 전화기로 상기 발신 인터넷 전화기의 미디어 데이터를 중계하는 과정을 더 포함하는 방법.
  11. 제9항에 있어서,
    상기 인터넷 전화기가 사설 망에 위치할 경우, 상기 패킷의 IP 주소를 등록하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  12. 인터넷 프로토콜을 통한 음성(voice over internet protocol, VoIP) 시스템에서 NAT(Network Address Translation) 통과(traversal)를 지원하기 위한 교환기의 동작 방법에 있어서,
    적어도 하나의 인터넷 전화기로부터 등록 메시지를 착신하는 과정과,
    상기 등록 메시지에 포함된 패킷의 인터넷 프로토콜(internet protocol, IP) 주소와 상기 적어도 하나의 인터넷 전화기와 대응하는 적어도 하나의 인터넷 전화기의 IP 주소의 비교에 기초하여 상기 대응하는 적어도 하나의 인터넷 전화기가 공공 망 또는 사설망에 위치하는지 여부를 결정하고, 상기 대응하는 인터넷 전화기가 상기 공공 망에 위치할 경우, 상기 대응하는 인터넷 전화기와 관련된 상기 적어도 하나의 전화기의 IP 주소를 등록하는 과정과,
    발신 인터넷 전화기로부터 패킷을 착신하는 과정과,
    IP 주소와 등록된 정보를 포함하는 상기 착신된 패킷의 사용자 데이터그램 프로토콜(user datagram protocol, UDP) 포트를 비교하는 과정과,
    상기 IP 주소 및 상기 착신된 패킷의 상기 UDP 포트를 상기 NAT 통과를 위한 IP 주소 및 UDP 포트로 컨버팅하는 과정과,
    상기 컨버팅된 IP 주소 및 UDP 포트를 이용하여 착신 인터넷 전화기로 상기 착신된 패킷을 중계하는 과정을 포함하고,
    상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기는,
    각각 등록된 인터넷 전화기 중 적어도 하나에 대응하는 방법.
  13. 제 12항에 있어서,
    상기 UDP 포트를 비교하는 과정 이후, 상기 IP 주소 및 상기 착신된 패킷의 UDP 포트에 기초하여 패킷 필터링을 통해 접근 제어를 수행하는 과정을 더 포함하는 방법.
  14. 제 12항에 있어서,
    상기 UDP 포트를 비교하는 과정 이후, 상기 착신된 패킷 각각에 대하여 서비스의 종류(type of service) 및 차별화된 서비스 코드 지점(differentiated service code point, DSCP) 중 하나를 추가함으로써 호(call) 제어를 수행하는 과정을 더 포함하는 방법.
  15. 제 12항에 있어서,
    상기 UDP 포트를 비교하는 과정 이후, 상기 패킷의 UDP 패킷을 통해 트래픽 상태 변환을 모니터링함으로써 호 제어를 수행하는 과정을 더 포함하는 방법.
  16. 제 12항에 있어서,
    상기 UDP 포트를 비교하는 과정 이후, IP 주소 및 상기 착신된 패킷의 UDP 포트가 상기 등록된 정보와 일치하지 않는 경우, 이전의 IP 주소 및 이전의 UDP 포트 중 하나를 갱신하는 과정을 더 포함하는 방법.
  17. 인터넷 프로토콜을 통한 음성(voice over internet protocol, VoIP) 시스템에서 망 주소 변환(network address translation, NAT) 통과(traversal)를 지원하기 위한 시스템에 있어서,
    적어도 하나의 인터넷 전화기로부터 등록 메시지를 착신하고, 상기 등록 메시지에 포함된 패킷의 인터넷 프로토콜(internet protocol, IP) 주소와 상기 적어도 하나의 인터넷 전화기와 대응하는 적어도 하나의 인터넷 전화기의 IP 주소의 비교에 기초하여 상기 대응하는 적어도 하나의 인터넷 전화기가 공공 망 또는 사설망에 위치하는지 여부를 결정하고, 상기 대응하는 적어도 하나의 인터넷 전화기가 상기 공공 망에 위치할 경우, 상기 대응하는 적어도 하나의 인터넷 전화기와 관련된 상기 적어도 하나의 전화기의 IP 주소를 등록하고, IP 주소 및 착신 인터넷 전화기의 NAT 통과를 위한 UDP 포트를 생성하고, 발신 인터넷 전화기로 상기 IP 주소 및 상기 UDP 포트를 중계하고, IP 주소 및 상기 착신 인터넷 전화기의 NAT 통과를 위한 UDP 포트를 생성하고, 상기 착신 인터넷 전화기로 상기 IP 주소 및 상기 UDP 포트를 중계하는 교환기를 포함하는 시스템.
  18. 제 17항에 있어서,
    착신 IP 주소로 교환하기 위한 셋업 요청 메시지와 상기 발신 인터넷 전화기의 NAT 통과를 위한 사용자 데이터그램 프로토콜(user datagram protocol, UDP) 정보를 송신하기 위한 상기 발신 인터넷 전화기와,
    상기 셋업 요청 신호에 대한 응답으로 상기 셋업 요청 신호를 착신 IP 주소로 상기 교환하기 위한 응답 신호 및 상기 발신 인터넷 전화기의 NAT 통과를 위한 UDP 포트 정보를 송신하기 위한 상기 착신 인터넷 전화를 더 포함하고,
    상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기는, 각각 등록된 인터넷 전화기 중 적어도 하나에 대응하는 시스템.
  19. 제17항에 있어서,
    상기 교환기는, IP 주소 및 상기 발신 인터넷 전화기의 UDP 포트를 IP 주소 및 상기 발신 인터넷 전화기의 NAT 통과를 위한 UDP 포트로 맵핑하는 제1 맵핑을 수행하고, IP 주소 및 상기 착신 인터넷 전화기의 UDP 포트를 IP 주소 및 상기 착신 인터넷 전화기의 NAT 통과를 위한 UDP 포트로 맵핑하는 제2 맵핑을 수행하는 시스템.
  20. 제17항에 있어서,
    상기 교환기는, 제1 맵핑 정보 및 제2 맵핑 정보에 기초하여 상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기 사이의 NAT 통과를 위한 맵핑 테이블을 생성하는 시스템.
  21. 제20항에 있어서,
    상기 맵핑 테이블은, 상기 발신 인터넷 전화기 및 상기 착신 인터넷 전화기 사이의 서비스 품질(quality of service) 및 트래픽 상태 정보 중 적어도 하나를 포함하는 시스템.
  22. 제18항에 있어서,
    상기 착신 인터넷 전화기에 의해 송신되는 상기 응답 신호는, 상기 착신 인터넷 전화기의 사설 IP 주소를 포함하는 시스템.
  23. 제17항에 있어서,
    상기 교환기는, 상기 대응하는 적어도 하나의 인터넷 전화기가 사설 망에 위치할 경우, 상기 대응하는 적어도 하나의 인터넷 전화기와 관련된 상기 등록 메시지에 포함되는 상기 패킷의 IP 주소를 등록하는 시스템.
  24. 제17항에 있어서,
    상기 교환기는, IP 주소 및 상기 착신된 패킷의 UDP 포트가 상기 등록된 정보와 일치하지 않는 경우, 이전의 IP 주소 및 이전의 UDP 포트 중 하나를 갱신하는 시스템.
KR1020080119346A 2008-11-28 2008-11-28 음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법 KR101606142B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080119346A KR101606142B1 (ko) 2008-11-28 2008-11-28 음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법
US12/627,388 US8374178B2 (en) 2008-11-28 2009-11-30 Apparatus and method for supporting NAT traversal in voice over internet protocol system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080119346A KR101606142B1 (ko) 2008-11-28 2008-11-28 음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100060658A KR20100060658A (ko) 2010-06-07
KR101606142B1 true KR101606142B1 (ko) 2016-03-25

Family

ID=42222761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080119346A KR101606142B1 (ko) 2008-11-28 2008-11-28 음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US8374178B2 (ko)
KR (1) KR101606142B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262505B (zh) * 2010-10-22 2016-06-01 瑞典爱立信有限公司 使用网络地址转换的网络业务的区分处理
US9319439B2 (en) 2012-05-10 2016-04-19 Tangome, Inc. Secured wireless session initiate framework
KR101344270B1 (ko) * 2012-06-18 2014-01-28 주식회사 네이블커뮤니케이션즈 클라우드 환경을 위한 통신 장치 및 통신 장치 운영 방법
US9794218B2 (en) 2014-04-29 2017-10-17 Trustiosity, Llc Persistent network addressing system and method
US11824827B1 (en) 2016-04-13 2023-11-21 8X8, Inc. Region-based network address translation
CN106101087B (zh) * 2016-06-02 2019-06-21 福建星网智慧科技股份有限公司 一种基于linux内核实现media proxy的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100345769B1 (ko) 1999-11-25 2002-07-24 삼성전자 주식회사 인터넷 음성 통신 기능을 가진 인터넷 키폰시스템간 통신방법
KR100438236B1 (ko) * 2000-12-28 2004-07-02 엘지전자 주식회사 브이오아이피 게이트웨이에서 네트워크 주소 변환 서버를통한 음성 패킷 전달 방법
US20070217407A1 (en) * 2003-12-24 2007-09-20 Huawei Technologies Co., Ltd. Method and System for Implementing Traversal Through Network Address Translation
JP2008515246A (ja) 2004-08-13 2008-05-08 キワン・イー・ベ パケット化音声伝送を支援するドメイン間の横断を提供するための方法、及びシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4349766B2 (ja) * 2001-12-07 2009-10-21 株式会社日立製作所 アドレス変換装置
US7480305B1 (en) * 2002-02-19 2009-01-20 Cisco Technology, Inc. Apparatus and methods for maintaining the registration state of an IP device in a network address port translation (NAPT) environment
US8224985B2 (en) * 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US7333500B2 (en) * 2002-09-24 2008-02-19 Nortel Networks Limited Methods for discovering network address and port translators
US7411917B1 (en) * 2003-03-26 2008-08-12 Network Equipment Technologies, Inc. Method and system for providing registration-based SIP NAT traversal
US7624195B1 (en) * 2003-05-08 2009-11-24 Cisco Technology, Inc. Method and apparatus for distributed network address translation processing
US7515549B2 (en) * 2005-06-07 2009-04-07 Cisco Technology, Inc. Managing devices across NAT boundaries
KR100765325B1 (ko) * 2006-02-13 2007-10-09 삼성전자주식회사 Stun을 이용한 대칭형 네트워크 주소 변환 시스템 및그 방법
US7710978B2 (en) * 2006-04-13 2010-05-04 Directpacket Research, Inc. System and method for traversing a firewall with multimedia communication
WO2007125530A2 (en) * 2006-04-27 2007-11-08 D.S.P. Group Ltd. Routing path optimization between si p endpoints according to nat topology
US8059641B1 (en) * 2006-07-20 2011-11-15 Avaya Inc. Encapsulation method discovery protocol for network address translation gateway traversal
TW200812316A (en) * 2006-08-17 2008-03-01 Color City Entpr Co Ltd SWINT (SIP with interactive NAT traversal)
US20080080532A1 (en) * 2006-09-29 2008-04-03 O'sullivan Mark Methods and apparatus for managing internet communications using a dynamic STUN infrastructure configuration
KR101258988B1 (ko) * 2006-12-22 2013-04-26 삼성전자주식회사 VoIP 서비스 시스템 및 그 시스템의 패킷처리방법
US7933273B2 (en) * 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US20100040057A1 (en) * 2008-08-14 2010-02-18 Mediatek Inc. Communication method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100345769B1 (ko) 1999-11-25 2002-07-24 삼성전자 주식회사 인터넷 음성 통신 기능을 가진 인터넷 키폰시스템간 통신방법
KR100438236B1 (ko) * 2000-12-28 2004-07-02 엘지전자 주식회사 브이오아이피 게이트웨이에서 네트워크 주소 변환 서버를통한 음성 패킷 전달 방법
US20070217407A1 (en) * 2003-12-24 2007-09-20 Huawei Technologies Co., Ltd. Method and System for Implementing Traversal Through Network Address Translation
JP2008515246A (ja) 2004-08-13 2008-05-08 キワン・イー・ベ パケット化音声伝送を支援するドメイン間の横断を提供するための方法、及びシステム

Also Published As

Publication number Publication date
US20100135292A1 (en) 2010-06-03
US8374178B2 (en) 2013-02-12
KR20100060658A (ko) 2010-06-07

Similar Documents

Publication Publication Date Title
EP1137238B1 (en) System and method for integrated communications over a local IP network
JP4208540B2 (ja) インターネットプロトコルネットワークで負荷割当てボイスオーバーインターネットプロトコルトラフィックに対して分割されたファイアーウォールを使用するソフトスイッチ
US8340089B2 (en) Apparatus and method for managing data transfer in VoIP gateway
US8607323B2 (en) Method for providing media communication across firewalls
EP1650916B1 (en) The system and method for realize multimedia call crossover the private network
US8204066B2 (en) Method for predicting a port number of a NAT equipment based on results of inquiring the STUN server twice
CA2674098C (en) Method and system for network address translation (nat) traversal of real time protocol (rtp) media
US20070147263A1 (en) Method for transmitting real-time streaming data and apparatus using the same
EP1949649B1 (en) Using pstn to communicate ip addresses for point-to-point text, voice, video, or data communication
US7756120B2 (en) Method for tagging SIP contact headers while preserving the contact header format towards softswitches
WO2003077522A1 (en) Apparatus and method for computer telephone integration in packet switched telephone networks
KR101606142B1 (ko) 음성패킷망에서 네트워크 주소 번역 통과를 지원하기 위한 장치 및 방법
US20040133772A1 (en) Firewall apparatus and method for voice over internet protocol
US20070041357A1 (en) Interworking of hybrid protocol multimedia networks
US20070058617A1 (en) Method for establishing and maintaining a connection
WO2005104450A1 (fr) Procede de regulation du flux separe de signalisation et de media dans un reseau telephonique ip
US20060168266A1 (en) Apparatus and method for providing signaling mediation for voice over internet protocol telephony
Cisco Enhancements to the Session Initiation Protocol for VoIP on Cisco Access Platforms
Cisco Session Initiation Protocol (SIP) for VoIP
Cisco Cisco Analog Telephone Adapter Overview
KR100639358B1 (ko) 표준인터넷전화기의 메인 측 지역 네트웍을 통한아이피공유기나 방화벽 통과방법
KR100741379B1 (ko) 둘 이상의 가입자 회선을 이용한 sip 통신을 제어하는어플리케이션 스위치 및 그의 동작 방법
KR101015538B1 (ko) VoIP 억세스 게이트웨이 및 그 로컬 가입자간 호 처리방법
Baharlooei et al. A low cost VoIP architecture for private networks
Gatch IP PBX/Service Provider Interoperability

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
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: 20190227

Year of fee payment: 4