KR20070094735A - 방화벽 통과를 위한 장치 및 그 방법 - Google Patents

방화벽 통과를 위한 장치 및 그 방법 Download PDF

Info

Publication number
KR20070094735A
KR20070094735A KR1020077011121A KR20077011121A KR20070094735A KR 20070094735 A KR20070094735 A KR 20070094735A KR 1020077011121 A KR1020077011121 A KR 1020077011121A KR 20077011121 A KR20077011121 A KR 20077011121A KR 20070094735 A KR20070094735 A KR 20070094735A
Authority
KR
South Korea
Prior art keywords
registration
firewall
message
timeout period
request
Prior art date
Application number
KR1020077011121A
Other languages
English (en)
Inventor
3세 마허 로버트 다니엘
애스윈쿠마르 비산지 라나
밀톤 안드레 라이
제임스 로버트 디어만
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 오디오코드즈 텍사스, 인코포레이티드
Publication of KR20070094735A publication Critical patent/KR20070094735A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

방화벽 장치에 의해 분리된 제 1 및 제 2 장치 간의 등록을 유지하는 네트워크 주소 변환/방화벽 장치를 통과하기 위한 장치 및 그 방법이 제공된다. 일 예에서, 방법은 제 1 장치로부터 제 2 장치로의 등록 메시지를 인터셉트하는 것을 포함한다. 제 1 장치의 등록을 갱신하여야할 때인지에 대한 결정은 제 2 장치에 의해 정해진 제 1 타임아웃 기간에 기초하여 만들어진다. 제 1 장치의 등록을 갱신하여야 하는 경우, 등록 메시지가 제 2 장치에 전송된다. 제 1 타임아웃 기간을 포함하는 응답 메시지는 인터셉트되고, 제 1 장치에 응답 메시지를 전송하기 전에 방화벽 장치의 바인딩 수명에 기초하여 제 2 타임아웃 기간으로 제 1 타임아웃 기간은 대체된다.

Description

방화벽 통과를 위한 장치 및 그 방법{APPARATUS AND METHOD FOR FIREWALL TRAVERSAL}
본 발명은 통신과 연관있고, 더욱 상세하게는, 방화벽 통과를 위한 장치 및 그 방법과 연관있다.
본 출원은 출원인에 의해 2003년 10월 8일에 출원된 미국 특허 출원(10/657,813)과 연관있으며 상기 출원을 전체적으로 참조하여 병합하였다.
기업 및 가정 네트워크에서 사용되는, 방화벽, 네트워크 주소 변환(NAT: Network Address Translation) 및 네트워크 주소 포트 변환(NAPT) 장치는 일반적으로 외부 발신지(Source)로부터의 요청을 인터셉트하는 데이터 보안 모델에 기초한다. 더욱 상세하게는, 상기 장치에 의해 보호된 네트워크로부터(예를 들면, 장치 전용부(private side)로부터) 수신한 데이터 요청은 일반적으로 서비스되지만, (예를 들면, 장치 공용부로부터) 보호된 네트워크 외부의 요청은 인터셉트된다. 유효 데이터 요청은 보호된 네트워크로부터 시작된다고 가정되고 쉽게 사용 할 수 있는 주소 정보를 포함하기 때문에, 문제될 것이 없다.
따라서, 이러한 장치는, 몇몇 피어-투-피어(peer-to-peer) 통신과 미디어 어플리케이션(예를 들면,VoIP: Voice over Internet Protocol)에 의해 사용되는 것과 같은, 주소 정보를 포함한 외부적으로 개시된 메시지와 요청을 포함하여, 일정한 종류의 요청과 메시지에 장벽을 생성한다. 방화벽과 NAT/NAPT 장치는 VoIP 연결 및 유사한 서비스를 인터셉트할 뿐만 아니라, 서비스 제공자에게 VoIP 종단-대-종단(end-to-end)을 분배하는 능력을 주지 않고 서비스 제공자가 이러한 장치의 전용부에 위치한 장비(예를 들면, IP전화기)를 감시, 업그레이딩, 또는 재설정하지 못하도록 한다.
따라서, 이러한 문제점을 해결하는 장치와 방법이 요구된다.
본 명세는 통신과 연관있고, 더욱 상세하게는, 방화벽 통과를 위한 장치 및 그 방법과 연관있다. 그러나, 다음의 개시되는 것은 많은 다른 실시 예 또는 예를 제공한다. 구성요소와 배열의 구체적인 예가 본 개시를 간단하게 하기 위해 아래 설명된다. 물론, 이것은 제한하려는 의도는 없으며 단지 예이다. 또한, 본 개시는 참조 번호 및/또는 문자를 여러 실시 예에서 반복하게 된다. 이 반복은 본 발명을 간단히 하고 명확히 하려는 목적이지 다양한 실시 예 및/또는 논의된 설정 사이의 관계를 설명하는 것이 아니다.
도 1은 방화벽 장치를 통과하는 방법의 일 실시 예의 흐름도이고,
도 2는 도 1의 방법이 실행될 수 있는 네트워크 아키텍처의 일 실시 예의 다이어그램이고,
도 3은 도 2의 네트워크 아키텍처에서 일어날 수 있는 데이터 흐름의 일 실 시 예의 순서도이고,
도 4는 도 2의 네트워크 아키텍처에서 일어날 수 있는 데이터 흐름의 다른 실시 예의 순서도이다.
도 1을 참조하면, 일 실시 예에서, 방법(100)은 방화벽 장치에 의해 분리된 두 장치(예를 들면, IP 전화기기와 등록기)사이에서 등록을 유지하기 위하여 방화벽 장치를 통과하는 데 사용된다. 편의상, 여기서 "방화벽 장치"라는 용어는 네트워크 주소 변환(NAT) 및/또는 네트워크 주소 포트 변환(NAPT) 기능을 구비한 장치뿐만 아니라 방화벽 기능을 제공하는 장치도 포함하여 사용한다. NAT 및 NAPT 기능의 더욱 상세한 기술은 앞서 언급한 미국 특허 출원(10/657,813)에 제공된다. 이후에 더욱 상세하게 기술된 본 발명의 실시 예에서, 상기 방법(100)은 방화벽 장치나 별도 장치내에 포함되거나 다수의 장치에 분포한 하드웨어 및/또는 소프트웨어에 의해 실행될 수 있다.
다음 설명은 세션 시작 프로토콜(SIP)에 기초한 메시징에 대한 것이지만, 다양한 실시예가 MEGACO, H.323, 그리고 MGCP와 같은 다른 프로토콜에 적용될 수 있다. 또한, 오디오, 비디오, 그리고 팩스를 비롯한 다양한 형태의 미디어가 사용될 수 있다.
본 예에서, IP 전화기는 등록기에 이전에 등록되었고 등록 메시지(예를 들면, 하나 이상의 패킷이나 데이터그램)는 초기 등록을 획득하기보다, 기존 등록을 갱신하거나 유지하기 위한 것이다. 등록 메시지가 등록기에 의해 정해진 타임아웃 기간(예를 들면, 3600초) 내에 송신되지 않는 경우, IP 전화기의 등록은 만료될 것이다. 그러나, 방화벽 장치는 상기 등록기와는 다른 타임아웃 기간을(예를들면, 30초) 사용할 수 있고, IP 전화기가 등록 요청의 빈도를 등록기의 타임아웃 기간에 기초하는 경우 상기 방화벽 장치는 IP 전화기와 등록기 사이의 연결을 종결시킬 수 있다. 이것은, 방화벽 장치를 통해 통화가 전달될 수 있는 개방 연결이 존재하지 않기 때문에, 외부 통화가 IP 전화기에 도달하지 못하도록 한다. 등록 메시지는 방화벽 장치의 타임아웃 기간에 기초하여 송신될 수 있지만, 증가된 등록 트래픽은 등록기에 부정적인 영향을 줄 수 있다. 따라서, 방법(100)은, 상기 등록기에 등록 요청 메시지가 쇄도하지 않도록 하면서, 방화벽 장치가 연결을 만료하지 못하도록 방지하고 등록기에 IP 전화기의 등록을 유지하는 데 사용될 수 있다.
단계 102에서, IP 전화기로부터 등록기에 송신된 등록 메시지는 등록기에 의해 수신되기 전에 인터셉트된다. 등록 메시지는 아직 활성 상태임을 다른 장치에 통지하기 위해 하나의 장치에 의해 사용되는 임의의 메시지일 수 있다. "인터셉트(intercept)"라는 용어는 단순히 등록기에 도착하기 전에 메시지가 중단된다는 것과, 임의의 수의 장치(인터셉트 장치를 포함)가 IP 전화기와 등록기 사이에 위치할 수 있다는 것을 지시하는 것으로 이해되어야 한다. 이와 같이, 인터셉트 장치는 IP 전화기와 등록기 사이의 경로의 부분으로써 메시지를 원칙에 맞게 수신한다.
단계 104에서, 등록기에 의해 설정된 타임아웃 기간에 기초하여 등록을 갱신할 때인지에 대해 결정한다. 등록을 갱신하여야할 때인 경우, 방법(100)은 단계 106으로 계속되고 등록기에 등록 메시지를 전송한다. (등록 메시지가 등록기에 IP 전화기의 초기 등록을 설정하려는 의도라면, 상기 방법은 단계 106으로 계속되지만 갱신할 때인지에 관해 어떠한 결정도 하지 않은 채 메시지를 전송한다는 것을 유념해야 한다.) 다음에 기술된 것과 같이, 메시지를 IP 전화기로부터 등록기에 전달하면서, 다양한 수정이 발신지 및/또는 목적지 주소에 또한 가해질 수 있다.
단계 108과 110에서, 등록 요청으로의 등록기의 응답 메시지는 인터셉트되고 응답 메시지내의 만료시간은(예를들면, 만료 필드) 등록기에 의해 정해진 타임아웃 기간에서 대체 타임아웃 기간(예를들면, 방화벽 장치의 타임아웃 기간보다 짧은 타임아웃 기간)으로 수정된다. 단계 112에서, 수정된 메시지는 IP 전화기에 전송된다.
단계 104를 다시 참조하면, 등록을 갱신할 때가 아닌 경우, 방법은 단계 114로 계속되어, 대체 타임아웃 기간을 포함하는 대체 응답 메시지가 IP 전화기에 송신된다. 이 경우에, 등록 메시지가 등록기에 전송되지 않지만, IP 전화기는 대체 응답 메시지가 등록기로부터의 유효한 메시지라고 가정한다. 따라서, 방법(100)을 사용하면, 네트워크가 다뤄야 하는 메시지의 수를 최소화면서 하나 이상의 피어-투-피어(peer-to-peer) 또는 멀티미디어 트래픽 채널이 개방된 상태로 유지될 수 있다. 또한, 도 2와 관련해 아래에 기술한 것처럼, 방법(100)은 고객의 네트워크 장비에 변경을 요청하지 않고 실시될 수 있다.
도 2를 참조하면, 네트워크 아키텍처(200)는 도 1의 방법(100)이 실시될 수 있는 환경의 일 실시 예를 도시한다. 방화벽 장치(202)는 가정 네트워크와 같은 전용 네트워크를 공중 네트워크(204)로부터 분리한다. 예를 들면, 방화벽 장치 (202)는 방화벽, NAT 및/또는 NAPT 기능을 구비한 케이블 또는 디지털 가입자 라인(DSL) 라우터와 같은 종단 장치일 수 있다. 이러한 라우터는 아날로그 전화 어댑터(TA)(208)를 통해 방화벽 장치(202)와 결합된 아날로그 전화(207), IP 전화기(206), 및 컴퓨터(209)와 같은 다양한 장치에 공중 네트워크(204)으로의 접속을 제공하기 위하여 가정 네트워크의 소유자에 의해 전용 및 공중 네트워크 사이에 설치될 수 있다. 도시된 바와 같이, 공중 네트워크(204)는 등록기(210) 및 IP 전화기(212)를 포함하는, 다양한 컴포넌트와 결합될 수 있다.
방화벽 장치(202)는 전용 네트워크로부터 생성된 요청/응답 트래픽에 적합하도록 일반적으로 설정되지만, VoIP와 같은 피어-투-피어 트래픽에서는 문제점이 나타난다. 예를 들면, 방화벽 장치(202)가 NAPT 기능을 포함하는 경우, IP 전화기(212)로부터의 VoIP 통화와 같은, 방화벽 장치의 공중부의 전화기로부터의 수신 음성 통화가 방화벽 장치의 전용부의 IP 전화기(206)에 요청될 때 하나의 문제는 NAPT 테이블 항목들(entries)에 관한 것이다. 일반적으로, 한 테이블 항목은 방화벽 장치(202)가 전용 네트워크로부터 생성된 요청을 수신한 후에 발신지 주소를추적하도록 생성되고, 상기 항목은 상기 요청에 대한 응답이 사용자에게 복귀하는 것을 허용한다. VoIP에서, 방화벽 장치(202)가 네트워크의 공중부로부터 메시지를 수신하고 요청 패킷이 상기 테이블에 의지하여 가야하는 목적지 주소와 비교할 때, 항목이 존재하지 않으면 상기 메시지는 탈락될 것이다. 내향 미디어 트래픽도 같은 문제점을 가질 것이다.
다른 문제점은, 세션 시작 프로토콜(SIP) 메시징에서 사용되는 것과 같은, 시그널링 패킷 내에 존재하는 전용 주소에서 발생한다. 전용 네트워크 내에서 발생한 시그널링 패킷은 전용 IP 주소를 포함한다. 공중 IP 네트워크상의 라우터는 전용 IP 네트워크의 전용 IP 주소로 향하는 패킷의 라우팅에 대해 책임이 없다. 또한, 실시간 전송 프로토콜(RTP) 미디어 스트림을 위한 주소는 시그널링 패킷의 페이로드(payload)에 숨겨져있다. 방화벽 장치(202)는 이러한 주소를 확인할 수 없고 자신에게 외부 전화(212)로부터의 트래픽을 허용할 수 없다. 그러므로, 음성 통화를 운반해야하는 RTP 스트림은 방화벽 장치(202)를 통하도록 허용되지 않는다.
이러한 문제점들의 해결책으로서, 세션 제어기(214)가 방화벽 장치(202)의 공중부에 위치되어 전용 네트워크로부터 외향 트래픽에 대한 프록시로서 기능한다. 세션 제어기(214)의 일 예는 앞서 언급한 미국 특허 출원(10/657,813)에 더욱 상세하게 기술되어 있다. 단일의, 별도 장치로 도시되어 있지만, 세션 제어기(214)에 의해 제공된 기능은 다수 컴포넌트 중에 분포될 수 있고, 상기 세션 제어기는 몇몇 실시 예에서는 완전하게 제거될 수 있다. 아래에 기술된 바와 같이, 세션 제어기(214)는 공중 네트워크(204)로부터 생성된 메시지가 전용 네트워크 내의 장치에 도달할 수 있도록 개방 채널을 유지한다. 예를 들면, 그렇지 않으면 방화벽 장치(202)에 의해 인터셉트 되었을 IP 전화기(212)에 의해 시작된 통화는 세션 제어기(214)에 의해 제공된 기능 덕분에 방화벽 장치를 통과하여 IP 전화기(206)에 도달한다.
IP 전화기(206) 및/또는 TA(208)을 포함하는 전화 통화는 설명하기 위하여 다음의 예로 대체로 사용되지만, 본 발명은 다른 형태의 통신과 미디어 세션에 동 일하게 적용되며 IP 전화기(206)와 TA(208)에 추가로 또는 대신하여 컴퓨터(209)를 포함할 수 있음을 알아야 한다. 또한, IP 전화기(206)와 TA(208)는 방화벽 장치(202), 세션 제어기(214), 및 등록기(210)와의 상호 작동과 관련된 유사한 기능을 포함할 수 있고, IP 전화기와 TA 중 하나를 사용하는 예는 다른 하나에도 동일하게 적용될 수 있다.
도 3을 추가로 참조하여, 순서도(300)는 도 2의 네트워크 아키텍처(200)의 다양한 컴포넌트 사이의 통화 흐름의 일 실시 예를 제공한다. 도시된 순서에 앞서, 어떤 동작이 일어날 수 있음을 알아야 한다. 예를 들면, IP 전화기(206)는 초기화 하는 동안 부트 순서를 수행할 수 있고 부트 순서는 IP 전화기에 IP 주소를 할당할 수 있고 외향 프록시로 사용하기 위해 세션 제어기(214)의 IP 주소와 같은 다른 정보를 IP 전화기에 통지할 수 있다.
통화 흐름에 포함된 컴포넌트는 방화벽 장치(202), IP 전화기(206), 등록기(210), 및 세션 제어기(214)를 포함한다. 예를 들면, 순서도(300)는 세션 설명을 위한 세션 기술 프로토콜(SDP: session description protocol)과 전송을 위한 RTP에 의존하는 SIP를 사용하여 도시되었다. 따라서, 시그널링 채널 및 미디어 전송 채널 모두는, 시그널링 채널에 할당된 한 포트와 미디어 채널에 할당된 다른 포트를 각각 포함하는 IP 전화기(206)와 세션 제어기(214)와 함께 사용된다. 예를 들면, IP 전화기(206)는 내부(예를 들면, 전용 네트워크 내) IP 주소 10.1.1.10, 미디어에 할당된 포트 8766, 및 시그널링에 할당된 포트 5060을 구비한다. 방화벽 장치(202)는 내부 IP 주소 10.1.1.1(및 관련된 포트)와 외부(예를 들면, 전용 네트 워크의 외부) IP 주소 65.119.52.2, 외부 포트 9101(본 예의 미디어 채널에 할당될 포트), 및 다른 외부 포트 9500(시그널링 채널을 위한 포트)를 구비한다. 포트 9500는 방화벽 장치(202)에 의해 시그널링 채널에 할당될 수 있는 임의의 포트를 나타낸다. 세션 제어기(214)는 미디어용 외부 포트 10002와 시그널링용 외부 포트 5000 뿐만 아니라 미디어용 내부 포트 10000와 시그널링용 내부 포트 5060를 갖는 IP주소(방화벽 장치(202)에 접속 가능) 216.206.79.2를 포함한다.
단계 302에서, IP 전화기(206)는 방화벽 장치(202)를 통해 세션 제어기(214)에 등록 메시지(예를 들면, SIP 등록 메시지)를 송신한다. 단계 302에서 IP 전화기(206)에 의해 송신될 때, 상기 메시지는 IP 전화기의 내부 주소를 발신지 주소로 및 세션 제어기(214)의 주소를 목적지 주소로 포함한다(Dst: 216.206.79.2:5060; Src: 10.1.1.10:5060). 단계 304에서, 방화벽 장치(202)는 IP 전화기기(206)로부터 메시지를 수신하고, 공중 IP 주소 및 포트를 할당하고, 세션 제어기(214)에 메시지를 전달하기 전에 상기 할당된 공중 IP 주소 및 포트의 발신지 정보를 수정한다(Dst: 216.206.79.2:5060; Src: 65.119.52.2:9500). 단계 306에서, 등록 메시지를 수신할 때, 세션 제어기(214)는 방화벽 장치(202)에 의해 할당된 공중 IP 주소 및 포트를 확인하고, 자신을 발신지 주소로 사용하여, 등록기(210)에 메시지를 송신한다. 단계 308에서, 인증(및 다른 동작) 후에, 등록기(210)는 세션 제어기(214)에 수락 메시지(예를 들면, 200 OK 메시지)를 송신하여 응답한다. 단계 310 및 312에서, 상기 수락 메시지는 방화벽 장치(202)를 통하여 IP 전화기(206)에 반환되는데, 상기 메시지는 세션 제어기(214) 및 방화벽 장치(202)를 통해 전달되면 서 목적지 주소는 수정된다. 더욱 상세하게는, 목적지 주소는 세션 제어기의 외부 시그널링 주소/포트(Dst: 216.206.79.2:5000)에서 방화벽 장치의 외부 시그널링 주소/포트(Dst: 65.119.52.2:9500)로 세션 제어기(214)에 의해 수정되고, 방화벽 장치의 외부 시그널링 주소/포트(Dst:65.119.52.2:9500)에서 IP 전화기의 시그널링 주소/포트(Dst: 10.1.1.10:5060)로 방화벽 장치(202)에 의해 다시 수정된다. 세션 제어기(214)는 또한 발신지 주소를 등록기(210)에서 세션 제어기로 변경한다(Src: 등록기 주소:포트에서 Src: 216.206.79.2:5060 로).
순서도(300)의 이 단계에서, 등록기(210)는 IP 전화기(206)(세션 제어기 상의 주소 및 포트로의 현재 등록을 구비함)를 설정된 시그널링 채널을 사용하여 인식하고 외부 전화(예를 들면, IP 전화기(212))로부터 전화 통화를 IP 전화기(206)에 유도할 수 있다. 본 예에서, 방화벽 장치(202) 및 등록기(210) 모두는 임의의 기간이 지난 후에 만료되도록 설정된다. 예로써, 방화벽 장치(202)가 동작 중인 것으로 30초내에 인지되지 않는 경우, 연결을 종료시킬 것이다. 그러나, 등록기는 등록 메시지나 다른 갱신 메시지를 3600초 내에 수신하지 못하면 IP 전화기의 등록을 만료하도록 설정된다. 따라서, 방화벽 장치(202)는 등록기(210)보다 먼저 만료될 것이나, 방화벽 장치의 30초 타임아웃 기간을 사용하는 것은, 특히 다수 장치가 30초 간격으로 반복 등록되는 경우, 등록기에 트래픽이 쇄도하게 할 수 있다.
도 3에 상세하게 도시되어 있지 않지만, 세션 제어기(214)는 도 1의 방법(100)과 같은 방법을 실행하여, 아래와 같이 IP 전화기(206)에 송신된 메시지에 사용된 타임아웃 기간을 조절한다. 이것은 예를 들면, 도 3의 302-312의 모든 단계 나 몇몇 단계를 반복하는 동안 발생할 수 있다.
도 1을 다시 참조하면, 단계 102에서, IP 전화기(206)로부터 등록기에 송신된 등록 메시지는 등록기에 의해 수신되기 전에 인터셉트된다. 단계 104에서, 등록기에 의해 설정된 3600초 타임아웃 기간을 기준으로 등록을 갱신할 때인지를 결정한다. 예를 들면, 세션 제어기(214)는 등록기(210)에 의해 설정된 3600초의 만료 이전에 IP 전화기(206)로부터 다른 등록 메시지를 수신할 것인지 판단할 수 있다. 등록을 갱신할 때인 경우, 방법(100)은 단계 106으로 진행되고 등록기에 등록 메시지를 전송한다. 단계 108 및 110에서, 등록 요청에 대한 등록기의 응답 메시지는 세션 제어기(214)에 의해 수신되고 응답 메시지내(예를 들면, 만료 필드)의 만료 시간은 등록기에 의해 정해진 3600초 타임아웃 기간에서 방화벽에 의해 정해진 30초 타임아웃 기간에 기초하여 타임아웃 기간으로 수정된다. 예를 들면, 상기 수정된 타임아웃 기간은 방화벽 장치의 타임아웃 기간과 동일하거나, 방화벽 장치의 타임아웃 기간보다 더 짧을 수 있다. 단계 112에서, 수정된 메시지는 방화벽 장치(202)를 통해 IP 전화기에 전송된다. IP 전화기(206)는 IP 전화기가 그 등록을 매 30초마다 갱신하기를 등록기(210)가 원한다고 가정하여 그에 따라 등록 요청을 발송한다.
단계 104로 돌아가서, 등록을 갱신할 때가 아닌 경우, 상기 방법은 대체 30초 타임아웃 기간을 포함하는 대체 응답 메시지가 IP 전화기에 송신되는 단계 114(도 3의 단계 306 및 308를 생략)로 계속된다. 이 경우에, 등록 메시지가 등록기에 전송되지 않지만, 상기 IP 전화기는 대체 응답 메시지가 등록기로부터의 유효한 메 시지라고 가정한다. 따라서, 세션 제어기(214)는 방화벽 장치(202)가 연결을 만료시키는 것을 방지하기 위해 IP 전화기(212)에 의해 사용된 타임아웃 기간을 제어할 수 있고, 또한 등록기(210)에 의해 수신한 등록 메시지의 수를 최소화할 수 있다. 이것은 IP 전화기(206)와 등록기(210) 사이의 바인딩이 무한히 유지될 수 있도록 한다.
도 3을 다시 참조하면, 단계 314에서 미디어 채널의 설정을 요청하는 수신 통화(예를 들면, 초청(INVITE) 메시지)는 IP 전화기(212)와 같은, 외부 발신지로부터 수신될 수 있다. 단계 316에서 세션 제어기는 방화벽 장치(202)에 상기 메시지를 전송하고(Dst: 65.119.52.2:9500; Src:216.206.79.2:5060), 단계 318에서, 상기 메시지는 시그널링 채널에 대해 등록하는 중에 설정된 주소 및 포트 조합을 통해 방화벽 장치(202)로부터 IP 전화기(206)에 도달한다(Dst: 10.1.1.10:5060; Src:216.206.79.2:5060). 단계 320, 322, 및 324에서, 200 OK 메시지와 같은, 응답 메시지가 IP 전화기(206)로부터 IP 전화기(212)에 반환될 수 있다. 이후에 방화벽 장치(202)는, 세션 제어기(214)에 의해 인식되고 설정된 세션을 유지하기 위해 사용된 미디어 채널을 위해 포트(예를 들면, 포트 9101)를, 할당한다. 이후에 IP 전화기(206)는 상기 설정된 미디어 채널을 사용하여 RTP를 통해 단계 326, 328, 및 330에 도시된 것처럼 음성 데이터를 송신하고, 단계 332, 334, 및 336에 도시된 것처럼 음성 데이터를 수신할 수 있다.
도시되지 않았지만, 통화 종료기의 종료(예를 들면, BYE 메시지)를 수신하면, 세션 제어기(214)는 미디어 채널을 폐쇄할 수 있다. 방화벽 장치(202)가 타임 아웃된 경우, 구멍(Pinhole)을 폐쇄한다. IP 전화기가 요청 메시지(예를 들면, 초청(INVITE))를 전송하거나 다른 요청 메시지가 세션 제어기(214)에 의해 수신된 경우, 새로운 미디어 채널이 설정될 수 있다. 앞서 설정된 시그널링 채널은 상기에 기술된 것처럼 개방된 상태로 남아 있을 수 있음을 알아야 한다.
본 예에서, IP 전화기 통화는 대칭 RTP를 사용하여 설정된다. 이것은 동적으로 할당된 사용자 데이터그램 프로토콜(UDP) 포트 및 주소가 외향 패킷을 송신하는데 사용되고, 상기 외향 패킷은 내향 패킷이 IP 전화기를 탐색하는데 필요한 주소 정보를 포함한다는 것을 의미한다. 따라서, 세션 제어기(214)는 우선 시그널링 채널 정보(예를 들면, 주소 및 포트)를 인식하고 이후에 통화가 성립되었을 때 미디어 채널 정보를 인식한다. 세션 제어기(214)가 방화벽 장치(202)에 의해 IP 전화기(206)에 할당된 공중 IP 주소와 시그널링 포트를 인지하므로, 세션 제어기는 적절한 IP 주소와 포트에 수신 신호 메시지를 전송할 수 있다. 또한, 세션 제어기(214)는 방화벽 장치(202)에 의해 IP 전화기(206)에 할당된 공중 IP 주소와 미디어 포트를 인지하므로, 세션 제어기는 적절한 IP 주소와 포트에 수신 미디어 메시지를 전송할 수 있다. 방화벽 장치(202)가 무기한으로 시그널링 채널을 개방할 수 있지만, 세션 제어기(214)는 (IP 전화기(212)에 세션 제어기의 주소/포트를 송신하는 대신에) 방화벽의 주소나 개방 포트를 알리지 않음으로써 보안층을 제공한다.
이제 도 4를 참조하면, 순서도(400)은 도 2의 네트워크 아키텍처(200)의 다양한 컴포넌트사이에서의 통화 흐름의 다른 실시 예를 제공한다. 도시된 순서 이전에, 어떤 동작이 발생할 수 있다. 예를 들면, IP 전화기(206)는 개시동안 부트 순서를 실행할 수 있고, 상기 부트 순서는 IP 전화기에 IP주소를 할당할 수 있고 세션 제어기(214)의 IP 주소와 같은 다른 정보를 IP 전화기에 제공할 수 있다. 본 예(예를 들면, 다른 송수신 포트를 사용하는)는 비대칭 RTP와 사용될 수 있다.
도 3에서 처럼, 컴포넌트는 방화벽 장치(202), IP 전화기(206), 등록기(210), 및 세션 제어기(214)를 포함한다. 상기에서 기술했듯이, 시그널링 채널 및 미디어 전송 채널 모두는 시그널링 채널에 할당된 하나의 포트 및 미디어 채널에 할당된 다른 포트를 각각 구비한 IP 전화기(206) 및 세션 제어기(214)와 함께 사용된다. 예를 들면, IP 전화기(206)는 내부(예를 들면, 전용 네트워크 내) IP 주소 10.1.1.10, 미디어에 할당된 포트 8766, 및 시그널링에 할당된 포트 5060을 구비한다. 방화벽 장치(202)는 내부 IP 주소 10.1.1.1 (및 관련된 포트)와 외부(예를 들면, 전용 네트워크의 외부) IP 주소 65.119.52.2, 외부 포트 9101(본 예에서 미디어 채널에 할당될 것임), 및 다른 외부 포트 9500(시그널링 채널에 대한)를 구비한다. 세션 제어기(214)는 미디어용 외부 포트 10002 및 시그널링용 외부 포트 5000뿐만 아니라 미디어용 내부 포트 10000 및 시그널링용 내부 포트 5060을 갖는 IP 주소(방화벽 장치(202)에 접속가능)(216.206.79.2)를 포함한다.
단계 402에서, IP 전화기(206)는 방화벽 장치(202)를 통해 세션 제어기(214)에 등록 메시지(예를 들면, SIP 등록(REGISTER) 메시지)를 송신한다. 단계 402에서, IP 전화기(206)에 의해 송신될 때, 메시지는 발신지 주소로서 IP 전화기의 내부 주소와 목적지 주소로서 세션 제어기(214)의 주소를 포함한다(Dst: 216.206.79.2:2060; Src: 10.1.1.10:5060). 단계 404에서, 방화벽 장치(202)는 IP 전화기(206)로부터 메시지를 수신하고, 공중 IP 주소 및 포트를 할당하고, 세션 제어기(214)에 메시지를 전달하기 전에 상기 할당된 공중 IP 주소 및 포트의 발신지 주소를 수정한다(Dst: 216.206.79.2:5060; Src:65.119.52.2:9500). 단계 406에서, 등록 메시지를 수신하면, 세션 제어기(206)는 방화벽 장치(202)에 의해 할당된 공중 IP 주소 및 포트를 인식하고, 자신을 발신지 주소로서 사용하여 등록기(210)에 메시지를 전송한다. 단계 408에서, 인증(및 임의의 다른 동작)후에, 등록기(210)는 수락 메시지(예를 들면, 200 OK 메시지)로 세션 제어기(214)에 응답한다. 단계 410 및 412에서, 수락 메시지는 방화벽 장치(202)를 통해 IP 전화기(206)에 반환되는데, 이때 메시지는 세션 제어기(214) 및 방화벽 장치(202)를 통과하면서 그 목적지 주소가 수정된다. 더욱 상세하게는, 목적지 주소는 세션 제어기의 외부 시그널링 주소/포트(Dst: 216.206.79.2:5000)에서 방화벽 장치의 외부 시그널링 주소/포트(Dst: 65.119.52.2:9500)로 세션 제어기(214)에 의해 수정되고, 방화벽 장치의 외부 시그널링 주소/포트(Dst: 65.119.52.2:9500)에서 IP 전화기의 시그널링 주소/포트(Dst: 10.1.1.10:5060)로 방화벽 장치(202)에 의해 다시 수정된다. 세션 제어기(214)는 또한 발신지 주소를 등록기(210) 주소에서 세션 제어기 주소로 변경한다(Src:등록기 주소:포트에서 Src:216.206.79.2:5060로)
순서도(400)의 이 단계에서, 등록기(210)는 IP 전화기(206)(최신 등록을 구비함)를 인지하고 IP 전화기(206)를 대신하여 외부 전화(예를 들면, IP 전화기(212))로부터의 전화 통화를 세션 제어기(214)에 안내할 수 있다. 도 3과 관련하여 기술된 것과 같이, 방화벽 장치(202) 및 등록기(210)는 임의의 시간이 경과한 후에(예를 들면, 각각 30 및 3600초) 타임아웃되도록 설정된다. 따라서, 도 1의 방법(100)과 같은 과정은 상기에서 기술된 것과 같이 사용되어 IP 전화기(206)와 등록기(210) 사이의 바인딩을 유지한다.
단계 414에서, 수신 통화(예를 들면, 초청(INVITE) 메시지)는 IP 전화기(212) 같은, 외부 발신지로부터 세션 제어기(214)에 의해 수신된다. 단계 416에서, 세션 제어기는 방화벽 장치(202)에 메시지를 전송하고, 단계 418에서, 상기 메시지는 IP 전화기(206)에 도달한다. 단계 420 및 422에서 200 OK 메시지와 같은 응답 메시지는 IP 전화기(206)로부터 세션 제어기(214)에 반환된다. 그러나, 단계 424 및 426에서, 200 OK 메시지를 IP 전화기(212)에 전송하는 것 대신에, 세션 제어기(214)는 IP 전화기에 앵커(anchor) 요청 메시지를 송신한다. 앞서 언급한 미국 특허 출원(10/657,813)에 더욱 상세하게 기술되어 있듯이, 앵커 요청은 시그널링 채널을 통해 송신되어 방화벽 장치(202)의 전용 네트워크부로부터 통신 채널을 개방하기 위한 캡슐화된 요청일 수 있다. 단계 428 및 430에서, 앵커 요청의 수취시, IP 전화기(206)는 요청을 탈캡슐화하고 앵커 응답으로써 요청을 반환한다. 상기 요청은 방화벽 장치(202)가 IP 전화기(206)와 세션 제어기(214) 사이에 미디어 채널을 개방하도록 요청한다.
방화벽의 관점에서, (세션 제어기(214)에 의해 개시되었음에도) 상기 요청은 방화벽 장치(202)의 전용부로부터 수신된다. 따라서, 상기 요청이 실제로 IP 전화기(206)에 의해 개시되었음에도 방화벽 장치는 미디어 채널에 대해 포트를 할당할 것이다. 몇몇 실시 예에서, IP 전화기(206)는 앵커 요청을 처리하기 위하여 추가 적인 명령(소프트웨어 클라이언트와 같은)이 필요할 수 있다.
단계 432에서, 일단 앵커가 IP 전화기(206)와 세션 제어기(214) 사이에 설정되면, 세션 제어기는 IP 전화기(212)에 200 OK 메시지(단계 422에서 수신된)를 전송한다. 앵커 때문에, RTP 패킷은 IP 전화기(206)에 제 1 RTP 패킷을 송신하도록 요구하지 않고 IP 전화기(206)에 비대칭으로 송신될 수 있다(단계 434, 436, 및 438). 단계 440, 442, 및 444 각각에서, IP 전화기(206)에 의해 송신된 RTP 패킷은 방화벽 장치(202), 세션 제어기(214), 및 IP 전화기(212)에 송신된다.
다른 실시 예에서, (도 3 및 4에 사용된 등록(REGISTER) 메시지 대신에) SIP 통보(NOTIFY) 요청이 채널을 활성상태로 유지하는데 사용될 수 있다. 예를 들어, 세션 제어기(214)(도 2)는 방화벽 장치(202)를 통해 IP 전화기(206)로부터 등록 요청을 수신할 수 있다. 앞서 기술했듯이, 세션 제어기(214)는 UDP를 통해 설정된 시그널링 채널에 대한 방화벽 장치의 바인딩을 인식할 것이다. 이후에 세션 제어기(214)는 등록 요청 중에 인식된 주소/포트를 통해 IP 전화기(206)에 통보 요청을 송신한다. 상기 통보 요청은 소정의 시간이 경과한 후(예를 들면, 방화벽 장치(202)의 타임아웃 기간보다 짧은 시간)에 송신될 것이고 IP 전화기(206)는 통보 요청에 "200 OK" 응답으로 응답할 것이다. 앞서 기술된 등록 메시지에 의존한 방법과는 반대로, 본 방법은 방화벽 장치(202)가 시그널링 채널을 타임 아웃시키는 것을 방지하기 위해 IP 전화기(206)에 반복하여 등록하는 것을 요구하지 않는다. 대신에, 세션 제어기(214)는 각각의 통보 요청을 생성하고 상기 통보 요청을 IP 전화기(206)에 송신함으로써 시그널링 채널을 활성 상태로 유지하면서 실제적인 역할을 한다.
다른 실시 예에서, 방화벽 장치(202)의 타임아웃 기간(예를 들면, 바인딩 수명) 발견은 다음과 같이 아날로그 전화(207)에 연결된 TA(208) 같은 장치를 사용함으로써 달성될 수 있다. TA는 세션 제어기(214)에 등록 요청을 보내고, 상기 세션 제어기는 상기 요청으로부터 방화벽 장치의 주소/포트를 인식하고, 이후에 소정의 시간(T초) 동안 대기한다. 기간이 만료된 후에, TA는 다른 소켓(예를 들면, 주소 및/또는 포트)으로부터 세션 제어기(214)에 바인딩 요청(예를 들면, SIP 옵션(OPTIONS) 메시지)을 송신한다. 세션 제어기(214)는 고유 등록 요청으로부터 인식된 주소로 바인딩 요청에 대한 응답을 반송하도록 설정한다. TA가 특정 포트(예를 들면, 포트 5060) 상에서 상기 응답을 수신하는 경우, 바인딩 수명은 T초와 동일하게 설정된다. 어떤 응답도 수신되지 않은 경우, 재시작하여 다른 등록 요청을 송신하기 전에 이미 타임아웃되고 T는 감소한다(예를 들면, T = T - 5). T가 미리 정해진 최소치(예를 들면, T= 10초)까지 감소하는 경우, 상기 과정은 중단될 수 있다.
또 다른 실시 예에서, 트래픽의 부족(예를 들면, 누군가가 전화 회의에서 말하진 않지만 듣는 경우)으로 인해 연결이 종료되는 것을 방지하기 위해 TA(208)와 같은 장치는 다음과 같이 음성 활성화 탐지(VAD: Voice Activation Detection) 및 침묵 억압(silence suppression)을 다룰 수 있다. 상기 TA는 통합 기간 패킷(예를 들면, RTP 또는 RTCP 패킷)을 앞서 기술된 방화벽 장치(202)의 바인딩 발견 수명에 기초하여 RTP/RTCP 채널을 통해 송신할 수 있다. 패킷 수신시, 세션 제어기(214) 는 예를 들면, 패킷 내의 고유 스트링에 기초하여 패킷을 걸러낼 것이다. 이것은 불필요한 패킷이 세션 제어기(214)를 통과하지 않도록 하면서 연결이 활성화되어 있도록 한다.
또 다른 실시 예에서, 서비스 제공자 또는 방화벽 장치(202)에 의해 기술된 전용 네트워크 외부의 다른 외부 사용자는 전용 네트워크 내에서 모니터링, 재설정, 업그레이드, 서비스의 품질 체크 및 유사한 기능들을 수행할 수 있다. 일반적으로 방화벽 장치가 전용 네트워크(204)로부터 생성된 패킷을 거부하지만, IP 전화기(206)와 세션 제어기(214) 사이에 설정된 현재의 통신 채널은 서비스 제공자가 외부에서 생성된 요청에 대해 세션 제어기를 사용할 수 있도록 한다.
예를 들면, 상태 및 알람 정보는 단순 네트워크 관리 프로토콜(SNMP)과 같은 지원 프로토콜을 사용하여 송신될 수 있다. SNMP 메시지는 SIP 메시지 몸체에 캡슐화될 수 있고 IP 전화기(206)/TA(208)와 세션 제어기(214) 사이에 존재하는 통화 채널을 사용하여 IP 전화기(206)나 TA(208)에 전송될 수 있다. 종단 점 식별자(예를 들면, TA 일련 번호 및/또는 미디어 접속 제어(MAC) 주소)는 조회된 장비가 올바른 장비인지를 검증하는데 사용될 수 있음을 주의해야 한다.
다른 실시 예에서, 본 발명은 서비스 제공자와 같은 외부 사용자에게 전용 네트워크의 장치에 대한 핑(ping) 능력을 제공할 수 있다. 본 실시 예에서, 세션 제어기(214)와 하나 이상의 장치(206, 208, 및 209) 사이에 존재하는 통신 채널은 핑 요청을 수신하고 전송하는데 사용될 수 있다. 상기 핑 요청은 예를 들면, SIP 메시지 내에 캡슐화될 수 있다.
또 다른 실시 예에서, 본 발명은 서비스의 품질(QoS) 기능을 제공할 수 있다. 예를 들면, 현재 연결에서 왕복 시간 지연을 측정하기 위해, 다음과 같이 RTCP 패킷이 설정된 RTCP 채널을 통해 송신될 수 있다. QoS 패킷은 시간이 지정되어 RTCP 채널을 통해 송신될 수 있다. 종단점(예를 들면, 장치(206, 208, 209)중 하나)은 패킷을 수신하여 그것을 다시 세션 제어기(214)에 반송할 수 있으며, 세션 제어기(214)는 패킷이 수신된 시간과 패킷 내에 포함된 시간 지정값 간의 차이에 기초하여 지연을 계산한다. 추가적인 QoS 기능은 순서번호를 사용하는 동기가 안 맞는 패킷의 탐지와 세션 상세 기록(SDR: Session Detail Record) 내에 포함을 위한 최소, 최대, 평균 도달 간격 시간의 기록을 포함한다. 이러한 QoS 기능은 연결에 선택적으로 적용될 수 있다.
전술한 다양한 기능은 미리 정해지거나 동적으로 계산된 임계값을 사용하여 비교되거나, 걸러지거나, 조정될 수 있다. 예를 들면, SNMP에 의해 제공된 알람은 다수의 사용자와 장치를 감시하는데 사용될 수 있으며 원하는 대로 알람이 걸러진다. 또한, 다양한 QoS 매개변수가 매개변수가 임계값과 비교될 수 있으며, 임의의 QoS 손실이 발생하고 있음을 나타내는 경우 알람이 발생한다.
상기 기술은 하나 이상의 실시 예를 나타내고 기술과 동시에, 형식 및 상세의 다양한 변경은 본 발명의 기술 사상을 벗어나지 않는 범위 내에서 이루어질 수 있음을 본 발명의 기술 분야에 속하는 당업자에 의해 인지될 것이다. 예를 들면, 기술된 방법의 다양한 단계는 다른 순서로 실행될 수 있거나 순차적으로 실행되거나, 결합되거나, 더 분할되거나, 다른 단계로 대체되거나, 전체가 제거될 수 있다. 또한, 방법에 도시되거나 명세서에 기술된 다양한 기능은 추가 및/또는 대체하는 기능을 제공하도록 결합될 수 있다. 따라서, 다음의 청구 범위는 본 발명에 대해 일관되게 광대한 범위로 설명되어야 한다.

Claims (25)

  1. 방화벽 장치에 의해 분리된 제 1 장치 및 제 2 장치 사이에서 등록을 유지하기 위하여 방화벽 장치를 통과하는 방법에 있어서,
    상기 제 1 장치로부터 상기 제 2 장치로의 등록 메시지를 인터셉트(intercept)하는 단계;
    상기 제 1 장치의 등록을 갱신할 때인지를 결정하는 단계;
    상기 제 1 장치의 등록을 갱신하는 때인 경우 상기 제 2 장치에 상기 등록 메시지를 전송하는 단계;
    상기 제 2 장치로부터 상기 제 1 장치로의 응답 메시지를 인터셉트하는 단계; 및
    상기 제 1 장치에 상기 응답 메시지를 전송하기 전에 상기 응답 메시지 내의 상기 제 1 타임아웃 기간을 상기 방화벽 장치의 바인딩 수명(binding lifetime)에 기초하여 제 2 타임아웃 기간으로 교체하는 단계;
    를 포함하고,
    상기 결정은 제 2 장치에 의해 정해진 제 1 타임아웃 기간에 기초하고,
    상기 응답 메시지는 제 1 타임아웃 기간을 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  2. 제 1 항에 있어서,
    상기 제 1 장치의 등록을 갱신하는 때가 아닌 경우 상기 제 2 장치에 상기 등록 메시지를 전송하지 않고 상기 제 1 장치에 대체 응답을 송신하는 단계를 추가로 포함하고,
    상기 대체 응답은 제 2 타임아웃 기간을 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  3. 제 1 항에 있어서,
    상기 제 2 장치에 상기 등록 메시지를 전송하기 전에 상기 등록 메시지의 발신지 주소(source address)를 수정하는 단계를 추가로 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  4. 제 3 항에 있어서,
    상기 제 1 장치에 상기 응답 메시지를 전송하기 전에 상기 응답 메시지의 목적지 주소를 수정하는 단계를 추가로 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  5. 제 1 항에 있어서,
    상기 방화벽 장치 및 상기 제 2 장치 사이에 위치한 제 3 장치와 상기 제 1 장치 사이에 앵커(Anchor)를 설치하는 단계를 추가로 포함하고, 상기 앵커는 상기 방화벽 장치를 통해 상기 제 1 및 3 장치에 통신 채널을 형성하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  6. 제 5 항에 있어서,
    상기에서 앵커를 설치하는 단계는,
    상기 제 3 장치로부터 상기 제 1 장치에 캡슐화된 요청 메시지를 송신하는 단계;
    상기 제 1 장치에 의해 상기 요청 메시지를 탈캡슐화(decapsulating)하는 단계; 및
    상기 방화벽 장치를 통해 상기 제 3 장치에 탈캡슐화된 요청 메시지를 송신하는 단계;
    를 포함하고,
    상기 방화벽 장치는 상기 제 1 장치로부터 상기 요청 메시지에 기초하여 채널을 개방하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  7. 제 1 항에 있어서,
    상기 제 2 타임아웃 기간을 발견하는 단계를 추가로 포함하고,
    상기 제 2 타임아웃 기간을 발견하는 단계는,
    상기 제 1 장치와 관련된 제 1 소켓으로부터의 등록 요청을 상기 방화벽 장치 및 상기 제 2 장치 사이에 위치한 제 3 장치에 송신하는 단계;
    소정 시간 동안 대기하는 단계;
    상기 소정 시간이 경과한 후에 상기 제 1 장치와 연관된 제 2 소켓으로부터 상기 제 3 장치에 바인딩 요청을 송신하는 단계; 및
    응답이 상기 제 1 소켓 상에 수신되는 경우, 상기 제 2 타임아웃 기간을 소정의 시간으로 설정하는 단계를 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  8. 제 7 항에 있어서,
    무응답인 경우 상기 소정의 시간을 줄이는 단계와
    상기 제 1 소켓으로부터 상기 제 3 장치에 새로운 등록 요청을 송신하는 단계를 추가로 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  9. 제 1 항에 있어서,
    상기 방화벽 장치 및 상기 제 2 장치 사이에 위치한 제 3 장치로부터 상기 제 1 장치에 핑(ping) 요청을 송신하는 단계를 추가로 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  10. 제 1 항에 있어서,
    상기 방화벽 장치 및 상기 제 2 장치 사이에 위치한 제 3 장치로부터 상기 제 1 장치에 시간 지정된 패킷(time stamped packet) 송신에 의해 패킷 지연을 결정하는 단계,
    상기 시간 지정(time stamp) 및 상기 패킷이 상기 제 1 장치로부터 상기 제 3 장치에 반환된 시간 사이 차이로 상기 패킷 지연을 계산하는 단계를 추가로 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  11. 제 1 항에 있어서,
    상기 방화벽 장치 및 상기 제 2 장치 사이에 위치한 제 3 장치로부터 상기 제 1 장치에 메시지를 송신함으로써, 상기 제 1 장치로부터 상태 및 알람 정보를 획득하는 단계를 추가로 포함하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  12. 제 1 항에 있어서,
    상기 제 1 장치로부터 상기 방화벽 장치와 상기 제 2 장치 사이에 위치한 제 3 장치에 합성 패킷(synthetic packet)을 주기적으로 송신하는 단계; 및
    상기 제 3 장치에 의해 상기 합성 패킷을 걸러내어 상기 패킷이 상기 제 2 장치로 도달하지 못하게 방지하는 단계를 포함하고,
    상기 합성 패킷은 활성 채널이 외향(outbound) 트래픽의 결핍으로 인해 종료되지 못하도록 방지하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  13. 방화벽 통과를 위하여 제공한 시스템에 있어서,
    전용 네트워크 내에 위치한 제 1 장치;
    상기 전용 네트워크와 공중 네트워크에 접속 가능한 방화벽 장치;
    상기 제 1 장치를 등록하도록 설정된 상기 공중 네트워크 내의 제 2 장치; 및
    상기 방화벽 장치와 상기 제 2 장치 사이의 상기 공중 네트워크에 위치한 세션 제어기를 포함하고,
    상기 세션 제어기는 상기 제 2 장치로부터 상기 제 1 장치에 제 1 타임아웃 기간을 포함하는 등록 응답 메시지를 인터셉트하는 명령과 상기 응답 메시지를 상기 제 1 장치에 전송하기 전에 상기 응답 메시지 내의 상기 제 1 타임아웃 기간을 제 2 타임아웃 기간으로 교체하는 명령을 포함하는 것을 특징으로 하는 방화벽 통과 시스템.
  14. 제 13 항에 있어서,
    제 1 장치로부터 제 2 장치로의 등록 메시지를 인터셉트하는 명령;
    상기 제 2 장치에 의해 정해진 제 1 타임아웃 기간에 기초하여 상기 제 1 장치의 등록을 갱신해야할 때인지를 결정하는 명령; 및
    상기 제 1 장치의 등록을 갱신해야할 경우 상기 제 2 장치에 상기 등록 메시지를 전송하는 명령을 포함하는 것을 특징으로 하는 세션 제어기.
  15. 제 14 항에 있어서,
    제 1 장치 및 상기 세션 제어기 간에 설정된 시그널링(signaling) 채널에 할당된 방화벽 장치의 제 1 포트를 인식하는 명령;
    상기 제 1 장치 및 상기 세션 제어기 간에 설정된 전송 채널에 할당된 상기 방화벽 장치의 제 2 포트를 인식하는 명령을 추가로 포함하고,
    상기 제 1 포트는 상기 제 1 장치로부터 상기 제 2 장치에 송신된 상기 등록 메시지로부터 인식되는 것을 특징으로 하는 세션 제어기.
  16. 제 13 항에 있어서,
    제 1 장치는 IP 전화기인 것을 특징으로 하는 방화벽 통과 시스템.
  17. 제 13 항에 있어서,
    제 1 장치는 아날로그 전화 어댑터인 것을 특징으로 하는 방화벽 통과 시스템.
  18. 제 13 항에 있어서,
    상기 등록 메시지는 세션 시작 프로토콜(SIP) 등록(REGISTER) 메시지인 것을 특징으로 하는 방화벽 통과 시스템.
  19. 종단 장치(edge device)에 의해 분리된 제 1 장치 및 제 2 장치 사이에서 등록을 유지하기 위하여 상기 네트워크 종단 장치를 사용 가능하게 하는 장치에 있어서,
    상기 종단 장치 및 제 2 장치에 접속 가능한 인터페이스;
    상기 제 1 장치로부터 상기 제 2 장치로의 등록 메시지를 인터셉트하는 수단;
    제 1 장치의 등록을 갱신할 때인지 결정하는 수단;
    상기 제 1 장치의 등록을 갱신해야하는 경우 상기 제 2 장치에 상기 등록 메시지를 전송하는 수단;
    상기 제 2 장치로부터 상기 제 1 장치로의 제 1 타임아웃 기간을 포함하는 응답 메시지를 인터셉트하는 수단; 및
    상기 제 1 장치에 상기 응답 메시지를 전송하기 전에 상기 응답 메시지 내의 상기 제 1 타임아웃 기간을 상기 종단 장치의 바인딩 수명에 기초하여 제 2 타임아웃 기간으로 대체하는 수단을 포함하고,
    상기 결정은 제 2 장치에 의해 정해진 제 1 타임아웃 기간에 기초하는 것을 특징으로 하는 장치.
  20. 제 19 항에 있어서,
    종단 장치 및 제 2 장치 사이에 위치한 제 3 장치와 제 1 장치 사이에 앵커를 설치하는 수단을 추가로 포함하고,
    상기 앵커는 상기 종단 장치를 통하여 상기 제 1 및 3 장치에 통신 채널을 형성하는 것을 특징으로 하는 장치.
  21. 방화벽 장치에 의해 분리된, 상기 방화벽 장치에 의해 보호되는 제 1 장치와 상기 방화벽 장치에 의해 보호받지 않는 제 2 장치 사이의 등록을 유지하는 방화벽 장치를 통과하는 방법에 있어서,
    상기 제 1 장치와 상기 제 2 장치 사이에 시그널링 채널을 설정하는 단계;
    상기 시그널링 채널을 통해 상기 제 2 장치로부터 상기 제 1 장치에 요청을 송신하는 단계; 및
    상기 시그널링 채널을 통해 상기 제 1 장치로부터 상기 제 2 장치의 응답을 수신하는 단계를 포함하고,
    상기 요청은 상기 방화벽 장치의 바인딩 수명보다 짧은 시간내에 송신되고,
    상기 응답은 상기 방화벽 장치에 상기 시그널링 채널이 활성 상태임을 알리는 것을 특징으로 하는 방화벽 장치를 통과하는 방법.
  22. 제 21 항에 있어서,
    상기 요청은 세션 시작 프로토콜 통지(NOTIFY) 요청인 것을 특징으로 하는 방화벽 장치 통과 방법.
  23. 제 21 항에 있어서,
    상기 응답은 "200 OK" 메시지인 것을 특징으로 하는 방화벽 장치 통과 방법.
  24. 제 21 항에 있어서,
    상기 제 2 장치는 상기 시그널링 채널을 설정하기 위하여 상기 시그널링 채 널에 할당된 상기 방화벽의 주소 및 포트를 인식하는 것을 특징으로 하는 방화벽 장치 통과 방법.
  25. 제 24 항에 있어서,
    상기 제 2 장치는 상기 제 1 장치에 의해 송신된 등록 메시지에 기초하여 상기 주소 및 상기 포트를 인식하는 것을 특징으로 하는 방화벽 장치 통과 방법.
KR1020077011121A 2004-10-18 2005-10-17 방화벽 통과를 위한 장치 및 그 방법 KR20070094735A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/967,470 US8090845B2 (en) 2004-10-18 2004-10-18 Apparatus and method for firewall traversal
US10/967,470 2004-10-18

Publications (1)

Publication Number Publication Date
KR20070094735A true KR20070094735A (ko) 2007-09-21

Family

ID=35744781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077011121A KR20070094735A (ko) 2004-10-18 2005-10-17 방화벽 통과를 위한 장치 및 그 방법

Country Status (6)

Country Link
US (1) US8090845B2 (ko)
EP (1) EP1803278A2 (ko)
JP (1) JP2008517556A (ko)
KR (1) KR20070094735A (ko)
CN (1) CN101103607A (ko)
WO (1) WO2006044685A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932570B1 (ko) * 2008-01-28 2009-12-17 울산대학교 산학협력단 서버 및 서버 측 네트워크의 부담없이 nat장비에서응용서버와 클라이언트 사이의 대규모 세션정보를 유지하기위한 방법
KR101139675B1 (ko) * 2008-03-05 2012-05-21 소니 컴퓨터 엔터테인먼트 인코포레이티드 동시 다중 연결을 위한 대칭형 네트워크 주소 변환기 통과 방법
US9277016B2 (en) 2012-03-02 2016-03-01 Canon Kabushiki Kaisha Communication system, client apparatus, server apparatus, communication method, and program

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594259B1 (en) * 2004-09-15 2009-09-22 Nortel Networks Limited Method and system for enabling firewall traversal
US7826602B1 (en) * 2004-10-22 2010-11-02 Juniper Networks, Inc. Enabling incoming VoIP calls behind a network firewall
KR20060059292A (ko) * 2004-11-26 2006-06-01 한국전자통신연구원 양방향 위성 통신 시스템에서의 네트워크 운용 방법
US20060123103A1 (en) * 2004-12-08 2006-06-08 Cisco Technology, Inc. Communicating network management information using session initiation protocol architecture
SE528220C2 (sv) * 2004-12-22 2006-09-26 B2 Bredband Ab Anordning och förfarande för sömlös övergång från telefoni via det allmänna telefonnätet till telefoni via Internet
US20070043876A1 (en) * 2005-08-19 2007-02-22 Nokia Corporation Stimulation traffic for binding refreshment
US7903672B1 (en) * 2005-08-30 2011-03-08 Juniper Networks, Inc. Signaling protocol registration load reduction
US7532581B1 (en) * 2005-10-28 2009-05-12 Mindspeed Technologies, Inc. Voice quality monitoring and reporting
KR100656481B1 (ko) * 2006-02-03 2006-12-11 삼성전자주식회사 동적 네트워크 보안 시스템 및 그 제어방법
US7752658B2 (en) * 2006-06-30 2010-07-06 Microsoft Corporation Multi-session connection across a trust boundary
US8213295B2 (en) * 2006-09-12 2012-07-03 Qualcomm Incorporated Transaction timeout handling in communication session management
WO2008074369A1 (en) * 2006-12-21 2008-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Network apparatus and method for translating media access control addresses
US7693084B2 (en) * 2007-02-28 2010-04-06 Microsoft Corporation Concurrent connection testing for computation of NAT timeout period
US7881318B2 (en) * 2007-02-28 2011-02-01 Microsoft Corporation Out-of-band keep-alive mechanism for clients associated with network address translation systems
WO2008140783A1 (en) * 2007-05-09 2008-11-20 Eyal Shlomot Ip telephony communication system with audio enhancement
US8370919B2 (en) * 2007-06-26 2013-02-05 Microsoft Corporation Host firewall integration with edge traversal technology
US7707294B2 (en) * 2007-06-26 2010-04-27 Microsoft Corporation Edge traversal service dormancy
WO2009030869A2 (fr) * 2007-09-07 2009-03-12 France Telecom Procede et dispositif pour gerer le desenregistrement d'un terminal aupres d'une entite dans un reseau de telecommunications
US7945680B2 (en) * 2007-10-30 2011-05-17 Motorola Solutions, Inc. Method and apparatus for peer to peer link establishment over a network
CN101884207B (zh) * 2007-11-30 2013-11-06 法国电信公司 用于维护地址转换表的方法和装置
JP4569649B2 (ja) * 2008-03-19 2010-10-27 ソニー株式会社 情報処理装置、情報再生装置、情報処理方法、情報再生方法、情報処理システムおよびプログラム
US9160794B2 (en) * 2008-12-04 2015-10-13 Microsoft Technology Licensing, Llc Network address translators (NAT) type detection techniques
WO2010068949A2 (en) * 2008-12-12 2010-06-17 Tekelec Methods, systems, and computer readable media for regulating network address translator (nat) and firewall pinhole preservation traffic in a session initiation protocol (sip) network
US8363836B2 (en) * 2009-01-16 2013-01-29 Cisco Technology, Inc. Using authentication tokens to authorize a firewall to open a pinhole
JP5655009B2 (ja) * 2009-02-06 2015-01-14 サゲムコム カナダ インコーポレイテッドSagemcom Canada Inc. 拡縮可能なnat通過
US8713664B2 (en) * 2009-02-23 2014-04-29 Xcast Labs, Inc. Detecting the type of NAT firewall using messages
US9515990B1 (en) * 2011-01-03 2016-12-06 Sprint Communications Company L.P. Communicating reregistration information based on the lifetime of a communication session
JP5602689B2 (ja) * 2011-07-04 2014-10-08 日本電信電話株式会社 Sip端末管理システム、sipサーバ及びsip端末管理方法
EP2903209B1 (de) * 2014-01-30 2018-11-14 Siemens Aktiengesellschaft Verfahren zur Aktualisierung von Nachrichtenfilterregeln einer Netzzugangskontrolleinheit eines industriellen Kommunikationsnetzes, Adressverwaltungseinheit und Konvertereinheit
CN105553678A (zh) * 2014-11-04 2016-05-04 阿尔卡特朗讯 一种用于会议路由的方法、设备与系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7436848B1 (en) * 2002-07-17 2008-10-14 Sprint Spectrum L.P. Method for mobile node registration management
US7162740B2 (en) * 2002-07-22 2007-01-09 General Instrument Corporation Denial of service defense by proxy
US8166533B2 (en) * 2002-08-17 2012-04-24 Rockstar Bidco Lp Method for providing media communication across firewalls
US7487199B2 (en) * 2002-09-24 2009-02-03 Motorola, Inc. Method and apparatus for maintaining SIP contact addresses
US7814228B2 (en) * 2003-02-13 2010-10-12 Oracle America, Inc. System and method for using data encapsulation in a virtual network
US7979694B2 (en) * 2003-03-03 2011-07-12 Cisco Technology, Inc. Using TCP to authenticate IP source addresses
US20040205212A1 (en) * 2003-03-31 2004-10-14 Nokia Corporation Method and system for forwarding a service-related information to a network user
US7440442B2 (en) * 2003-10-21 2008-10-21 3Com Corporation IP-based enhanced emergency services using intelligent client devices
US7483437B1 (en) * 2003-11-20 2009-01-27 Juniper Networks, Inc. Method of communicating packet multimedia to restricted endpoints
US7694127B2 (en) * 2003-12-11 2010-04-06 Tandberg Telecom As Communication systems for traversing firewalls and network address translation (NAT) installations
US7493394B2 (en) * 2003-12-31 2009-02-17 Cisco Technology, Inc. Dynamic timeout in a client-server system
US8090858B2 (en) * 2004-07-23 2012-01-03 Nokia Siemens Networks Oy Systems and methods for encapsulation based session initiation protocol through network address translation
US7333492B2 (en) * 2004-08-31 2008-02-19 Innomedia Pte Ltd Firewall proxy system and method
GB2418037B (en) * 2004-09-09 2007-02-28 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932570B1 (ko) * 2008-01-28 2009-12-17 울산대학교 산학협력단 서버 및 서버 측 네트워크의 부담없이 nat장비에서응용서버와 클라이언트 사이의 대규모 세션정보를 유지하기위한 방법
KR101139675B1 (ko) * 2008-03-05 2012-05-21 소니 컴퓨터 엔터테인먼트 인코포레이티드 동시 다중 연결을 위한 대칭형 네트워크 주소 변환기 통과 방법
US9277016B2 (en) 2012-03-02 2016-03-01 Canon Kabushiki Kaisha Communication system, client apparatus, server apparatus, communication method, and program

Also Published As

Publication number Publication date
WO2006044685A2 (en) 2006-04-27
CN101103607A (zh) 2008-01-09
JP2008517556A (ja) 2008-05-22
US20060085548A1 (en) 2006-04-20
US8090845B2 (en) 2012-01-03
WO2006044685A3 (en) 2006-06-08
EP1803278A2 (en) 2007-07-04

Similar Documents

Publication Publication Date Title
US8090845B2 (en) Apparatus and method for firewall traversal
US9860215B2 (en) Firewall interface configuration to enable bi-directional VoIP traversal communications
US9392437B2 (en) Method and system for IP multimedia bearer path optimization through a succession of border gateways
EP1693998B1 (en) Method and system for a proxy-based network translation
JP4777999B2 (ja) セッションコントローラ及びその動作方法
US8825822B2 (en) Scalable NAT traversal
KR100804291B1 (ko) Ip 어드레스 바인딩들에 기초한 멀티미디어 트래픽의필터링 방법 및 시스템
US20100031339A1 (en) Streaming Media Service For Mobile Telephones
US8374178B2 (en) Apparatus and method for supporting NAT traversal in voice over internet protocol system
AU2004282932A1 (en) Method and apparatus for enhanced internet telephony
Paulsamy et al. Network convergence and the NAT/Firewall problems
WO2008095430A1 (fr) Procédé et système pour protéger un organisme médiatique contre une attaque de pirates informatiques
KR100606895B1 (ko) NAPT 환경에서 VoIP 시스템의 음성 통신방법
Talwar Transition of VoIP system from IPv4 to IPv6
Evers et al. Handover-aware SIP-based VoIP provided by a Roaming-Enabled Architecture (REACH)
Παπουτσή VOIP (Voice Over IP)-transportation and signalling of voice communications over ip networks-implementation using Asterisk

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