Nexpert SIP 1 - VoIP

From 탱이의 잡동사니
Revision as of 13:52, 26 February 2018 by Pchero (talk | contribs) (→‎Reference)
Jump to navigation Jump to search

Overview

Nexpert 다시쓰는 SIP 의 이해 내용 정리.

원문은 이곳<ref>http://www.nexpert.net/485</ref>에서 확인할 수 있다.

VoIP 의 의해

1876년 벨이 전기를 이용한 음성 통신을 처음 발명한 후 전화기의 전화망은 끊임없이 진화해왔다. 현재의 UC 및 Collaboration 에 이르기까지 사용되는 수많은 통신 용어와 아키텍쳐는 기존의 전화망을 기반으로 시작되었다. 여기서는 전화망의 구조와 전화번호 체계를 이해하고 VoIP 프로토콜의 종류에 대해 살펴본다.

전화망의 이해

PSTN(Public Switched Telephone Network)는 대형 회로 스위치형 네트워크로 각 가정의 전화기와 기업의 전화기를 연결한다. 가입자 선로까지 유지하는 우리나라의 전화 통신회사는 KT와 SKBB로 한 때는 전화망 가입자가 2,000 만이 넘었었다.

하이마트에서 전화기를 사서 집으로 연결된 전화선을 연결하고, KT 나 SKBB에 개통을 요청하면 통화가 가능하다. 집에서부터 전화국까지 그리고 전화국과 전화국이 어떻게 연결되었는지 살펴보자.

집이나 사무실의 전화기는 보통 RJ-11 케이블로 벽속의 커넥터에 연결하면 전화기가 정상적으로 동작한다는 의미로 "웅"하는 톤소리를 들을 수 있다. 전원을 연결하지 않아도 전화 통소리를 들을 수 있는 것은 정화국의 교환기가 전원을 공급하기 때문이다.

전화 케이블을 따라 가보면 일정한 지역이나 구획별로 IDF(Itermediate Distribution Frame) 단자함으로 연결된다.

IDF의 단자들은 모여서 전화국의 지하의 MDF(Main Distibution Frame, 주배선관)실과 연결된다. MDF는 전화국의 전화 교환기와 가입자 전화선로를 연결시켜 주는 역할을 하며, 사람들이 직접 일일이 연결할 수 밖에 없으며, 은어로는 "짬빠를 쏜다"라는 표현을 쓴다.

각 지역 전화국은 보통 가입자를 수용하기 용이하도록 지역의 중심에 자리잡고 있다. 도시의 한쪽에 치우쳐져 있다면 전화선의 물리적 거리가 멀어지게 되므로 초기 투자비용이 많이 발생하게 된다.

MDF를 지나면 교환기와 연결된다. 교환기는 전화 통화를 교환해주는 장비로 지역 교환기, 가입자 선 교환기, Co(Central Office)라고 한다. 교환기는 사용 용도에 따라 데스크탑 컴퓨터 크기에서 부터 방 전체를 채우는 것까지 천차만별이지만 구성품은 거의 비슷하다.

  • 내선카드
가입자 회선을 수용하는 역할을 하며, 각 가입자의 전화번호를 가지고 있다. 전화기나 팩스가 직접 PBX 와 연결되도록 한다.
  • 국선카드(트렁크 카드)
PBX 내의 가입자 사이의 연결은 PBX 자체에서 연결할 수 있지만, PBX 와 PBX를 연결시켜야 하는 경우에 이용된다. 흔히 T1 또는 E1 카드가 있다.

이제 전화기와 교환기 사이에 일어나는 일을 살펴보자. 전화국의 교환기의 가장 큰 역할은 전화기를 서로 연결해주는 역할을 한다. 전화기에서 전화번호를 누르면 PBX가 전화번호를 인식하는 방식에 따라 DTMF 와 Pulse 방식으로 나뉜다. 현재 사용하는 DTMF(Dialtone multifrequency) 전화기는 두 개의 주파수를 이용하여 시그널을 전송하므로 PBX가 정확하게 인식할 수 있다. 교환기는 인식한 전화 번호를 기반으로 차례로 스위치를 닫아서 전화를 걸고자 하는 상대방의 가입자 선에 접속하게 해준다.

전화기에서 지역번호를 포함한 전화번호를 누르는 경우를 가정해보자. 즉, 시외 통화의 경우 다른 교환기와 연결되어야 한다. 교환기는 다이얼한 번호를 보고 시외인지 시내인지를 식별하게 되고, 다른 도시의 교환기로의 통화로를 연결한다.

가입자 전화선을 수용하지 않고 교환기와 교환기를 중계하는 기능을 가진 교환기를 Tandem Switch 또는 중계 교환기라고 한다. 전문적인 용어로 교환기의 역할과 계위에 따라 가입자 수용 교환기를 Class 5 교환기, 중계 교환기를 Class 4 교환기라고 한다. 이름에서 보듯이 상위 Class 도 존재한다. 예를 들면 Class 3 교환기는 Class 4 교환기들을 중계해주는 시외 중계 교환기 같은 것이 있지만, 굳이 따로 구분하지 않고 Class 5 와 Class 4 로 교환기를 구분한다.

PBX 와의 연동을 위한 트렁크 이해

가정을 위한 전화 서비스는 전화국의 PBX에 직접 연결되지만, 빌딩이나 일반 기업 내의 전화 서비스를 위해서는 PBX 가 건물이나 기업의 통신실에 위치한다. 전화기에서 시작한 전화선은 IDF와 MDF를 지나 PBX의 내선카드와 연결된다. PBX는 외부와의 통신을 위해 국선카드를 통해 전화국과 연결된다.

Nexpert sip C1 05 pbx in the building.png

기업과 건물에 직접 PBX를 설치하면 수천대의 전화기를 위해 수천개의 전화선을 전화국까지 연결할 필요가 없으므로 비용 효과적이고, 기업 내의 다양한 전화 부가서비스를 직접 구현할 수 있다. PBX가 기업이나 빌딩에 위치할 경우 전화국과 PBX를 연결해야 한다. 기본적으로는 PBX와 PBX 간의 연결을 트렁크 연동이라 하며, 가장 많이 사용하는 공통선을 E1 트렁크라고 한다.

우리나라는 E1 트렁크 연동을 가장 많이 사용하므로 UC 엔지니어는 E1 트렁크에 대해 기본적으로 알고 있어야 한다. UC 엔지니어가 IP Telephony 나 UC 구축 시에 Voice Gateway 와 PBX 연동을 항상 하기 때문이다.

Nexpert sip C1 06 E1 structure.png


E1 은 32개의 채널로 이루어져 있으며 세부 채널 정보는 다음과 같다.

  • Time slot 0 : Framing 정보 교환
프레이밍 정보로 프레임의 시작 및 동기 신호를 교환.
  • Time slot 16 : Signaling 정보 교환
시그널링 정보로 호를 연결하기 위한 전화번호나 상태정보등을 교환한다.
  • 나머지 slot : Media(음성) 교환
나머지 채널에는 실제 음성만을 전달한다.

E1 의 한 채널은 64Kbps의 PCM 음성이 전달될 수 있는 대역폭으로 64Kbps * 32 채널 = 2.048Mbps 의 대역폭이 된다.E1 카드의 한 포트는 동시에 30개 호를 송/수신 할 수 있다. 우리나라에서는 E1 트렁크에 대해서만 이해하면 되지만, 해외 연동을 할 경우에는 북미방식의 T1도 알아둘 필요가 있으므로, E1을 기준으로 간단하게 비교한 표는 다음과 같다.

  • T1(ITU-T G.733)
샘플링 주파수 : 8 kHz
채널 대역폭 : DS0 64Kpbs
프레임당 채널 슬릿 : 24
bits per Frame : 24 * 8 + 1 = 193
System Bit rate : 8000 * 193 = 1.544Mbps
시그널링 채널 : 23번 채널
사용 지역 : 북미 방식
  • E1(ITU-T G.723)
샘플링 주파수 : 8 kHz
채널 대역폭 : DS0 64Kpbs
프레임당 채널 슬릿 : 32
bits per Frame : 32 * 8 = 256
System Bit rate : 8000 * 256 = 2.048 Mbps
시그널링 채널 : 16번 채널
사용 지역 : 유럽 방식

T1/E1 은 모두 시분할 방식으로 전달함으로, 하나의 프레임을 지속적으로 초당 8000 개를 전송한다. T1 의 bits per Frame 에서 +1 은 프레이밍 비트이다.

PBX 의 E1 카드도 시그널링 방식에 따라 E1 R2 와 ISDN E1 PRI 방식이 있지만, 이제는 E1 R2 방식을 거의 사용하지않고 ISDN PRI 방식을 이용한다.

E.164 주소 체계

전화망(PSTN)의 주요 구성요소는 PBX(교환기)이며, PBX는 전화번호를 인식하여 목적지를 연결하는 역할을 해 준다. 우리가 전세계 어디라도 전화를 걸 수 있는 것은 단지 물리적인 연결 구조 외에 논리적인 주소 체계가 있기 때문이다.

모든 전화국이 체계적으로 연결되기 위한 주소체계는 1996년 12월 31일을 기준으로 ITU-T E.164를 사용하도록 규정되었다. 이 번호 규정은 국제 통신에 사용하는 번호의 최대 자릿수를 12자리로 규정한 E.163 권고안에 추가적인 주소공간을 확보하기 위하여 국제 통신에 사용되는 번호를 최대 16 자리로 확장하였다.

E.164 전화번호 체계를 이용하는 우리나라의 전화번호는 다음과 같은 체계로 구성된다.

thum
  • CC (Country Code) : 국가 코드(두자리)
  • AN (Area Number) : 지역 번호(두자리 또는 세자리)
  • LN (Local Number) : 국 번호(세자리 또는 네자리)
  • SN (Subscriber Number) : 가입자 번호(네자리)

전화를 걸 때 사무실에서는 4자리의 SN 넘버로만 통화하고, 같은 지역에서는 LN+SN 으로 통화한다.시외로 전화를 걸때는 AN + LN + SN 번호를 사용하고, 국제전화의 경우에는 CC 번호를 이용한다. 통화 시도 시에 모든 번호를 누를 필요가 없는 이유는 PBX 가 계층(Hierarchy) 구조로 되어있기 때문이다.

VoIP 의 태동

인터넷이 발달하면서 기존 전화망에 변화가 왔다. 인터넷과 데이터망이 급격히 증가하면서 기존 전화망 외에 인터넷 망을 이용하여 음성 통화가 가능한 방법을 연구하기 시작했다.

이유는 과금방식의 차이로 인한 비용 절감효과 때문이다. 전화망은 사용 시간과 거리에 따라 과금하지만, 인터넷망은 거리에 상관없이 사용시간에 따라 과금한다. 인터넷 웹브라우저로 미국의 서버나 유럽의 서버에 접속하더라도 인터넷 요금은 상승하지 않으며, 대부분 인터넷 과금은 회선 용량과 월 단위의 사용 기간으로 비용을 책정하는 정액제이다. 인터넷을 이용한 통화가 가능해지면 전화요금을 획기적으로 절감할 수 있다.

1996년 11월 ITU에 의해 H.323 Version 1 "Visual telephone system and equipment for local area network which provide a non-guaranteed quality of service" 가 표준되면서 다이얼링한 전화번호를 이용하여 상대방과 연결하기 위한 시그널링 표준이 정해졌다. 같은 해에 실제 음성을 네트워크 상으로 전달하기 위한 IETF RFC 1889 "Real-Time Protocol"이 표준화되면서 활발한 연구가 진행되었다.

1998년 2월 H.323 Version 2 "Packet-based multimedia communications systems"가 발표되면서 모든 종류의 패킷 네트워크에서 음성을 송수신할 수 있는 방안과 관련 제품들이 출시되었으며, 전화비용 부담이 높았던 다국적 기업을 중심으로 H.323 프로토콜 기반의 시스템을 도입하기 시작했다. 초창기에는 VoATM, VoFR, VoIP 등의 방식으로 다양한 패킷 네트워크에 음성을 송수신했지만, 지금은 ATM과 Frame Relay 망이 사라지고 IP 네트워크로 통합되었기에 VoIP 만이 존재한다.

Nexpert sip C1 12 change to VoIP.png

VoIP 는 시외 및 국제 통화 요금을 절감하기 위해 기업의 본사와 지사간 통화를 인터넷 또는 전용 데이터망을 이용한다. 기업에 설치된 전화기와 PBX를 연결하는 아날로그 네트워크와 데이터를 전송하는 IP 네트워크를 상호 연동을 위해 필요한 장비는 Voice Gateway 이다.

Voice Gateway 는 이 기종 망을 연동하는 장비로써 이더넷 인터페이스와 PSTN 인터페이스를 가지고 있다. 기존의 패킷을 라우팅하는 라우터와 비슷하지만, Voice Gateway 를 구분하는 요소는 음성 신호를 데이터(패킷) 신호로 데이터 신호를 음성 신호로 변환하는 DSP(Digital Signal Processor)의 장착 여부이다.

디지털 신호 처리 장치(DSP)는 디지털 연산에 의해 신호 처리를 하는 마이크로 프로세서로 음성 합성, 음성 인식, 음성 부호화, 압축, 반향음 제거 등 기능을 고속으로 수행하도록 맞춤 설계된 칩이다. DSP 는 음성 뿐만 아니라 영상 처리도 함께 처리하도록 진화되었다. 어떤 DSP 를 사용하느냐에 따라 G.711 또는 G.723 등의 음성 코덱을 지원하는 지가 결정된다. 보이스 게이트웨이, IP Phone, MCU(Multipoint Control Unit) 등에는 모두 DSP 가 사용된다.

보이스 게스트웨이에 사용되는 DSP 는 실제 음성을 패킷으로, 패킷을 실제 음성으로 변환하는 역할을 수행한다. DSP 는 메모리 카드와 비슷하게 생겼으며, E1 모듈에 함께 장착되거나 Voice Gateway 의 마더보드에 장착된다.

VoIP 를 이용한 서비스 - 저렴한 국제 전화

우리나라의 대표적인 국제 전화 식별번호는 KT 001, LG U+ 002, 온세 008 로 기존의 아날로그 PSTN 망을 이용하는 국제 통화 서비스이다. 기존의 국제 전화 서비스 시장에 저렴한 가격을 무기로 다수의 별정통신 사업자들이 장거리 통화와 국제 통화 사업에 뛰어들었다. 1998년 SK Telink 가 00700 국제전화 식별번호를 부여받아 서비스를 시작하였으며, 이후 007XX, 003XX 로 구분되는 국제 전화 식별 번호가 생겼다.

별정 사업자들은 Voice Gateway 를 한국과 주요 해외 국가에 설치한 후 Voice Gateway 를 전용회선으로 연결하거나 인터넷망을 이용하여 연결한 뒤 서비스를 한다. IP 네트워크를 이용하므로 2 개의 시내 통화 요금으로 국제 전화를 이용한다. 또한, 인터넷을 이용한 국제전화가 가능한 지역을 넓히기 위해 별정 통신 사업자간에 망 연동도 활발하게 이루어지게 된다.

2000년 초에 해외 유학생들이 많이 사용했던 국제 전화 선불카드 서비스가 있다. 매우 저렴하면서도 선불로 카드를 구매하고 통화하였다. 이제는 Skype 와 같은 어플리케이션으로 대체된 시장이지만, 비싼 국제전화가 매우 저렴하게 이용할 수 있는 것은 VoIP 기술 덕분이다.

사람들은 PSTN 기반의 국제전화는 고가이지만 안정적인 음성 품징리 보장되고, 인터넷 기반의 국제전화를 저렴하지만 음성 품질이 불안정하다라는 생각을 가지고 있다. 현재는 음성 품질명에서는 차이가 없고, G.722와 같은 HD Voice 를 사용할 경우에는 더욱 뛰어난 음질을 제공한다.

국제전화 식별번호를 이용하거나 선불카드를 이용한 국제통화는 Phone-to-Phone 형태의 대표적인 인터넷 전화 서비스이다.

다이얼패드

VoIP 가 기업에서 앞다투어 도입하면서 VoIP 기술을 이용하여 전화서비스를 제공하는 한국기업이 있었다. 1999년 새롬기술은 다이얼패드라는 세계 최초의 인터넷 전화 기술을 발명하여 한국과 미국을 중심으로 서비스를 하였다. 2000년 초에 다이얼패드는 무료로 전화통화가 가능하다는 광고로 단기간에 국내에서 천만명의 가입자를 유치하면서 글로벌 IT 기업으로의 성장 가능성을 가지고 있었지만, 몇 년내에 수익이 부재하면서 역사의 뒤안길로 사라졌다.

전세계 최초로 VoIP 기술을 이용하여 새로운 시장을 개척하던 다이얼패드가 Skype 와 같은 기업이 되지 못하고 몰락한 이유보다는 VoIP 의 역사적 관점에서 보겠다. 다이얼패드는 일반 사람들에게 인터넷을 통해 전화를 할 수 있다라는 사실을 알린 첫 신호탄으로써 긍정적인 면이 있지만, 통화 실패나 낮은 통화 품질은 경험한 사람들에게 VoIP나 인터넷 전화는 통화 품질이 좋지 않다라는 것을 각인시켰다. 새롬 기술은 이후에 통화 품질을 향상시켰지만 초창기 서비스의 낮은 통화품질에 대한 선입견으로 좋은 결과를 만들지 못했다. 2003년 인터넷 망이 훨씬 좋아진 상황에서 출시된 Skype 는 빠른 기술 개발로 현재는 전세계를 주름잡는 기업이 되었다.

다이얼패드와 Skype 는 대표적인 PC-to-Phone 또는 PC-to-PC 형태의 대표적인 인터넷 전화서비스이다.

이제는 우물안 개구리로 성장하다 사라지는 대표적인 기업 사례로서 싸이월드와 페이스북과 함께 다이얼패드와 Skype 로 비교할 때 가끔 등장하는 사례가 되었다.

시그널링(Signaling)의 이해

1998년 ITU가 H.323 Version 2 를 표준화하면서 VoIP 가 활발하게 진행되었고, 1999년 IETF 의 RFC 2543 SIP 가 표준화 되었다. VoIP 시장에서 H.323 과 SIP 가 경쟁하는 상황에 놓이게 되면서 2000년 초에 많은 전문가들이 H.323 은 곧 사라지고 SIP로 전환될 것이다라고 전망했다.

시그널링(Signaling)-신호교환 은 전화망에서 호의 접속과 해제 또는 호의 제어 및 관리에 관련된 정보의 교환으로 정의된다. 예를 들면, 011-1234-5678 라는 전화번호를 다이얼을 하면 발신자는 링백톤을 듣게되고, 수신자는 링이 울리는 전화기의 수화기를 들면 서로 연결된 후, "여보세요"라는 말을 하면서 통화가 시작된다. 수신자가 수화기를 드는 바로 전까지의 과정과 수화기를 내려놓는 이후의 과정이 시그널링이다.

IP 네트워크 상에서 시그널링으로 수행되는 역할은 세가지이다.

  • 주소번역(Address Translation)
IP 네트워크에서 IP 주소(32 bit)를 이용하여 상대방을 찾지만, 사람들은 E.164 주소 체계(전화번호)를 이용하여 상대방을 찾는다. 서로 다른 주소 체계인 전화번호와 IP 주소간의 번역을 위한 매칭 테이블이 필요하다. 즉, 시그널링 과정에서 발신 전화기가 수신 전화기의 IP 주소를 획득하게 된다.
  • 코덱협상(Capability Negotiation)
시그널링 과정에서 실제 전달할 음성을 어떤 방식으로 압축해서 보낼지를 결정한다. G.711, G.729, G.723, G.722 등의 코덱 가운데 적당한 코덱을 선택하는 작업이다. 기존의 PSTN 전화망은 회선 교환 이므로, 한 채널은 64 Kbps가 확보되어 G.711 코덱만을 사용하지만, IP 네트워크는 패킷 교환이므로 네트워크의 대역폭의 상황에 따라 다양한 코덱을 사용한다.
  • 정책 결정(Call admission Control)
전화번호를 누른다고 무조건 전화를 연결하는 것이 아니라 허가받은 사용자인지 또는 상대방은 전화를 받을 수 있는 권한이 있는 지 등에 대한 정책을 결정한다. 예를 들면, 일반 방문객들이 사용하는 전화기는 사내의 사무실로만 전화할 수 있도록 하거나 해외업무 파트가 아닌 직원들의 전화기는 국제통화를 하지 못하게 설정할 수 있다.

IP 네트워크에서 시그널링이 완료된 후에 실제 음성을 전달하기 위한 프로토콜은 RTP(Real time Protocol)이다. RTP 는 실시간으로 음성을 송수신하기 위한 전송 계층 통신 규약으로 IETF의 RFC 1899로 정의되었으나 2003년 RFC 3550 으로 변경되었다. RTCP는 송신측은 타임 스탬프를 근거로 재생간에 동기를 취해 지연이 생기지 않도록하며 수신측에서는 전송지연이나 대역폭을 등을 점검, RTCP를 사용하여 송신측의 어플리케이션에 통지할 수 있다.

VoIP 프로토콜의 역사

IP 네트워크에서 시그널링을 위해 사용하는 프로토콜은 H.323, SIP, MGCP, Megaco/H.248, Sigtran, SCCP(Skinny Call Control Protocol) 등이지만, 일반 기업에서 사용하는 프로토콜을 중심으로 정리해보자.

1990년대 초에 음성과 데이터 네트워크 통합을 위한 VoIP는 인터넷 또는 기업 내부의 인트라넷에서 IP 를 이용해 음성과 비디오를 전송하기 위한 필요성이 대두대기 시작했다. VoIP 초창기에 가장 많이 사용한 시그널링 프로토콜은 H.323으로 Qos(품질 보장, Quality of Service)가 지원되지 않는 LAN 환경에서 멀티미디어 통신을 지원하기 위해 개발되었다. H.323 은 급하게 표준화되면서 몇가지 문제점을 드러냈다.

- 대규모의 사용자 지원의 어려움.
- 대형 VoIP 네트워크 구성의 한계점.
- 기존의 아날로그 PBX가 지원하던 번화 부가 기능의 미흡.
- 프로토콜 자체의 복잡성으로 인한 부가 서비스 개발의 어려움.

H.323 표준을 제정한 ITU(국제 전기 통신 연합, International Telecommunication Union)는 주로 물리 및 데이터링크 계층에 관련된 표준을 주로 제정하는 기구이다. H.323 프로토콜의 단점을 보다보면, ITU가 IP 계층에 대한 이해가 부족한 기관이기에 기존 PSTN 네트워크의 아키텍쳐를 그대로 수용한 느낌이다. H.323 의 시그널링 과정과 메시지는 ISDN Q.931 과 거의 유사하다.

ITU는 H.323 프로토콜의 초기 버전에 문제점들을 보완하기 위해 1998년 H.323 Version 2를 표준화면서 복잡한 시그널링 과정을 단순화한 Fast Connection (Fast start) 프로시져와 부가서비스를 추가하였다.

ITU와 달리 IETF(인터넷 국제 표준화 기구, Internet Engineering Task Force)는 IP 네트워크를 다루는 기구로 H.323의 문제점을 극복하기 위해 SIP를 1999년 급하게 표준화한다. SIP 클라이언트/서버 기반 프로토콜로 뛰어난 확장성과 유연성, 그리고 단순한 시그널링을 내세웠다. H.323 version 1 이 문제가 많았던 것처럼 SIP 도 마찬가지였으며, 2002년 RFC 3261 가 발표되면서 정리가 되었다. 이때 많은 사람들이 SIP 가 금방 H.323 을 갈아치우고 인터넷 전화 시장을 잠식할 것으로 기대했지만, 기장의 움직임은 더디기만 했다.

SIP 의 뛰어난 확장성과 유연성을 장점이지만 단점이기도 하다. 서로 다른 제조사의 장비 연동은 언제나 프로토콜 초창기에는 문제가 있기 마련이지만, SIP 는 부가 서비스 연동은 고사하고 기본 서비스 연동에도 다양한 문제를 일으켰다. H.323은 엄격히 규격화된 표준 덕분에 개발은 복잡하여도 이기종 장비간 항호 연동이 비교적 쉽게 되었다. SIP는 표준으로 명확히 규정되지 않은 부분이 많아 구멍이 많은 프로토콜로 제조사마다 개별적으로 처리하는 부분이 많았다. 결국 이기종 장비간에 주로 연동하는 트렁크는 SIP 발표 이후에도 오랫동안 H.323이 차지하게 된다.

H.323 과 SIP 간의 경쟁은 2000년 대 후반까지 계속 되었으나, 각 프로토콜의 장단점을 활용하는 방안으로 귀결되었다. H.323은 엄격한 규정 덕에 이기종 장비간 상호연동이 필요한 부분에 주로 사용되었다. SIP 는 부가 서비스가 많이 필요한 전화기와 IP PBX 간 연동에 주로 사용하였다.

SIP가 초창기 이기종 장비간 연동에 관한 문제는 느슨한 규정때문이다. 그러나 느슨한 규정은 기업이 요구하는 부가서비스의 개발을 용이하게 하였다. 제조사마다 방식은 틀리지만 원하는 부가서비스를 빠르게 구현할 수 있었으므로 초기 SIP 개발의 목적은 사라지면서 IP PBX 와 IP Phone 이 제조사에 귀속되는 현상이 발생하였다. 기업용 IP Telephony 시장은 IP PBX 와 IP Phone 을 같은 제조사 제품을 사용해 충분한 부가서비스를 사용할 수 있도록 하였고, 일반 가정용 IP Telephony 시장은 많은 부가서비스가 필요없으므로 IP Phone 과 IP Telephony 제조사가 달라도 상관없게 진화하였다.

결국 RFC 3261에서 시작한 SIP 이지만, 부가 서비스 영역으로 들어가면 각 제조사별로 상이한 SIP 가 된다. 제조사만의 특별한 필드를 사용하는 경우도 있다.

현재는 SIP 가 시장에서 광범위하게 사용되다보니 자연스럽게 트렁크 영역에서도 엔지니어의 관성에 따라 H.323 을 선택하지 않는 이상, SIP 를 사용한다. SIP는 이미 VoIP 시장을 지배하는 프로토콜이다. 그러나 SIP 프로토콜은 만능이 아니므로 IP Telephony 나 UC 구축시에는 전화기, IP PBX, Voice Gateway 는 동일 제조사의 제품을 사용해야 한다. SIP가 표준이므로 다 되어야 한다고 아무리 주장을 하여도 느슨한 부분과 부가 서비스는 제조사 별로 구현 방식이 모두 다르다.

지금까지 H.323 과 SIP 의 경쟁에 대해 다루었다. 이번에는 MGCP 의 역사에 대해서도 간략하게 살펴보자. 기본적으로는 H.323 이나 SIP 는 Peer to Peer 방식이며, MGCP 는 Master/Slave 방식이다.

  • Master/Slave
MGCP, Megaco/H.248 등의 프로토콜로 게이트웨이 및 단말은 지능적인 기능을 수행하지 않고 MGC(Media Gateway Controller) 혹은 CA(Call Agent)라는 호제어 장비가 수행한다. Gateway 는 단순히 음성을 패킷으로, 패킷을 음성으로 변환하는 DSP(Digital Signal Processor) 칩과 PSTN 과 IP 망의 연동 인터페이스만을 가지는 더미(dummy)가 된다. 게이트웨이나 단말은 단독으로 호 제어를 수행할 수 없는 중앙 집중식 구조이다.
  • Peer to peer
SIP 및 H.323 등의 프로토콜로 게이트웨이 및 단말이 지능적인 기능을 수행한다. 게이트웨이 및 단말이 단독으로 호 라우팅 및 다양한 부가 서비스를 수행한다. SIP 의 Proxy Server 나 H.323의 Gatekeeper 는 옵션 장비이다.

Master/Slave 방식의 MGCP 는 1999년 10월 RFC 2705 MGCP(Media Gateway Control Protocol version 1.0)으로 발표되었으며, 2003년 RFC 3545 가 나오면서 본격적으로 사용되지 시작했다. 이름에서 보듯이 PSTN 연동을 위한 Voice Gateway 를중앙 집중식으로 효과적으로 관리하기 위해 개발된 프로토콜로 H.323 과 SIP 은 망이 거대해질수록 관리가 복잡해지고 과금이나 호 정책의 설정 등의 어려움을 극복하기 위해서이다.

MGCP도 SIP 와 마찬가지로 IETF에 제정하였으므로 프로토콜 구조가 SIP 와 매우 흡사하다. Voice Gateway 가 많은 대기업 및 다국적 기업이나 통신사업자에서 선호하는 프로토콜이다. MGCP 아키텍쳐의 장점은 MEGACO(MEdia GAteway COntrol Protocol, RFC 3015)로 이어지면서 ITU 와 IETF가 함께 표준화한다. IETF는 MEGACO라 명명하였고, ITU 는 H.248 로 명명한다. MGCP가 음성 중심으로 설계되었지만, MEGACO/H.248 는 음성, 영상 및 데이터까지 포함하여 설계되었다.

H.323은 왜 복잡한가?

현재 업계에서 가장 많이 사용하는 VoIP 프로토콜은 SIP 이다. SIP 가 선택된 이유는 지속적으로 설명하겠지만, H.323 이 복잡하고 개발이 어렵기 때문이다. 그 이유를 간단히 살펴보자.

H.323 이 급하게 표준화되었다는 이유 중에 하나는 ISDN Q.931 의 호 프로세스를 그대로 차용한 것에 있다.

Nexpert sip C1 18 ISDN Signaling.png

H.323은 Protocol Suites 라고 불리듯이 여러 프로토콜의 조합으로 이루어져 있다. 호 제어 및 시그널링을 위한 H.225 Call Control, 단말 등록 및 호 정책을 위한 H.225 RAS(Registration, Admission, Status), 그리고 부가 서비스 및 Capability Negotiation (코덱협상)을 위한 H.245, 보안 통신을 위한 H.235 로 구성되어 있다. H.323 통신을 위해서는 H.225 채널과 H.245 채널을 각각 협상하는 복잡한 프로토콜이다.

Nexpert sip C1 19 H.323 protocol stack.png

H.323 은 ASN 코드를 이용하므로 설계나 디버깅도 어렵다. 아래는 H.323 Setup 메시지의 예이다. SIP 이나 MGCP 메시지에 비해 H.225 Setup 메시지가 더 복잡하고 한눈에 들어오기 쉽지 않을 것이다.

Router# debug h225 asn1
H.225 ASN1 Messages debugging is on
Router#
value H323-UserInformation ::= 
{
h323-uu-pdu 
  {
    h323-message-body setup : 
      {
        protocolIdentifier { 0 0 8 2250 0 1 },
        sourceAddress 
        {
          h323-ID : "ptel213"
        },
        sourceInfo 
        {
          terminal 
          {
          },
          mc FALSE,
          undefinedNode FALSE
        },
        destinationAddress 
        {
          h323-ID : "ptel23@zone2.com"
        },
        activeMC FALSE,
        conferenceID '5FC8490FB4B9D111BFAF0060B000E945'H,
        conferenceGoal create : NULL,
        callType pointToPoint : NULL,
        sourceCallSignalAddress ipAddress : 
          {
            ip '3200000C'H,
            port 1720
          }
      }
  }
}

VoIP 프로토콜 초간단 비교

지금까지 살펴본 H.323, SIP, MGCP 를 아래표로 간단하게 비교해 보자.

  • H.323
표준기관 : ITU-T
Architecture : 분산
최신버전 : H.323 v5
전송 프로토콜 : TCP
Encodig : ASN.1
확장성 : 뛰어남
코덱협상 : H.245
방화벽 투과 : 다수 프로토콜로 복잡
보안 프로토콜 : TLS
호 제어 장비 : GateKeeper
단말 : Gateway, Terminal
  • SIP
표준기관 : IETF
Architecture : 분산
최신버전 : SIP 2.0(RFC 3261)
전송 프로토콜 : TCP or UDP
Encodig : 텍스트
확장성 : 매우 뛰어남
코덱협상 : SDP
방화벽 투과 : 단순
보안 프로토콜 : H.235 IPSEC, TLS
호 제어 장비 : Proxy Server
단말 : Gateway, IP Phone
  • MGCP
표준기관 : IETF
Architecture : 중앙집중식
최신버전 : MGCP 1.0(RFC 3015)
전송 프로토콜 : UDP
Encodig : 텍스트
확장성 : 뛰어남
코덱협상 : SDP
방화벽 투과 : 단순
보안 프로토콜 :
호 제어 장비 : Call Agent
단말 : Gateway

현재 기업용 IP PBX 중에 MGCP 를 지원하는 장비는 시스코의 CUCM 이 유일할 것이다. 통신사에서 주로 사용하는 소프트스위치나 IMS 는 기본으로 제공하는 프로토콜이다.

VoIP 프로토콜을 무엇으로 선택하냐에 따라 망 구조가 많이 달라진다. 기업에서 사용하는 IP PBX는 Line Side 는 SIP으로 구성하며, Trunk Side 는 H.323 이나 SIP 을 사용한다. 특히 Secure IP Telephony 를 사용하는 경우에는 SIP Trunk 가 편리하므로 많이 사용한다.

See also

Reference

<references />