VoIP Overview VoIP 2006/12/05 ( 화 ) 14:01 1. VoIP 란 1.1 정의 1.2 이점 2. 다양한부가서비스 ( 어플리케이션 ) 2.1 콜센터솔루션 2.2 PC to Phone, Phone to PC, PC to PC, Phone to Phone 2.3 멀티미디어회의 2.4 IP 팩스 2.5 통합메시징솔루션 2.6 멀티미디어솔루션 2.7 음성, 데이터통합관리 3. VoIP 시스템 4. VoIP 시스템구현 4.1 H.323 4.1.1 시스템구성 4.1.2 주요구성요소 4.1.3 Call Model 4.1.4 Protocol & Call Setup 4.2 SIP(Session Initiation Protocol) 4.2.1 정의 4.2.2 구성요소 / 기능 4.2.3 동작 4.2.4 SIP 을이용한 VoIP 시스템구현 4.2.5 SIP 확장 4.3 H.323 과 SIP 5. 결론
6. 참고문헌 / 관련정보 6.1 참고문헌 6.2 관련정보 내용요약 : VoiP 란시간과공간의제약을받지않는전화통화방식기존의전화방식은항상고정된장소에서이미지정된전화번호를가지고상호통화를하는방식이었다. 그러나 VoIP 기술이도입되면서등장한 IP 텔레포니 (Telephony) 방식은사용자가시간이나공간에상관없이어디서나자신의번호를가지고통화가가능하다. 즉, IP 주소와사용자의정보가 DB 화되어이를통하여상호연결되므로가능하게된것이다. 다양한부가서비스 ( 어플리케이션 ) 개발음성망과데이터통신망을연결함으로써또한데이터통신망을통해음성을전달함으로써새로운많은서비스를개발할수있다. 각망에고유하게존재하는서비스들을이용하거나두망의특징을이용해새로운서비스를개발해낼수있다. 음성메일이나콜센타애플리케이션, 스크린팝, IVR(Interactive Voice Response; 대화식음성응답 ) 시스템이예라할수있다. VoIP 시스템 <VoIP System Architecture>
시스템을구축하기위해서는기본적으로다음과같은구성요소 ( 기능 ) 를갖추어야한다. Media Gateway 각네트워크 (PSTN, IP) 에서데이터가전달되기위해서는각네트워크에서전달될수있는데이터로우선변경한후에가능하다. Media Gateway 는멀티미디어데이터간의교환작업을수행하고, 변경한데이터를해당네트워크에전달하는기능을수행한다. 음성, 디지털데이터간의교환작업은여러가지음성압축방법 (G.711 PCM, G.726 ADPCM, G.728 LD-CELP 등 ) 을사용하여이를수행할수있고, IP 망에서의멀티미디어데이터전송은 RTP(Real-time Transport Protocol)/RTCP(RTP Control Protocol) 와같은프로토콜을통해서할수있다. Media Gateway 의제어는 MGCP(Media Gateway Control Protocol)/ MEGACO(Media Gateway Control) 을통해서할수있다. 아래그림은미디어게이트웨이의동작과정을보여준다. Signaling Gateway PSTN 에서콜시그널링은매우중요한기술이다. 기존 PSTN 에서사용되는콜시그널링은 CAS(Channel Associated Signaling) 와 CCS(Common Chnnel Signal) 로나뉘는데, CCS 에는 ISDN 이나 SS7(Signaling System 7) 등이, CAS 는 MFC-22(E1), 윈크스타트 (WinkStart : T1) 등이해당된다. 그리고 IP 네트워크에서는 H.323, SIP, MGCP, MEGACO 등과같은프로토콜을사용하여콜시그널링을수행한다. 시그널링게이트웨이는이러한 PSTN 와 IP 네트워크에서의시그널들을서로사용할수있도록변환하는기능을수행한다. SS7 은전화망에서효율적인트래픽처리와진보된서비스를제공하기위해교환기간또는교환기와부가서비스장비간의필요한정보를전달하기위한프로토콜이다. 현재의전화망은보다다양하고유용한서비스를고객에게제공하기위하여 SS7 을기초로한지능망 (Intelligent Network), 공통선망으로진화되고있다. VoIP 에있어서 IP 네트워크의일반사용자가 PSTN 의서비스를이용하기위해서는 SS7 을다시 IP 로변 환하여야하는데이는대단히중요한 VoIP 프로토콜기술중의하나이다. 아직까지표준이제시된상태
는아니고각업체마다독자적인방식으로프로토콜을적용하고있다. 아래는 SS7 의프로토콜구조와지능망서비스에대한것을보여준다. <Intelligence Network> <Intelligence Network> Addressing/Naming & Routing PSTN 에서는 E.164 주소체계를사용하고, 일반 IP 네트워크에서는 IPv4, IPv6 등의주소쳬계를사용한다. 네트워크요소를고유하게구별할수방법이요구된다. 콜설정을하기위해서시그널이해당목적지로도달하도록하는라우팅기술도필요하다. H.323 에서는 Gatekeeper 에서이를수행하고, IETF 에서는 ENUM, TRIP 과같은프로토콜을제시하고있다.
QoS(Quality of Service) 보장 IP Telephony 에서중요하게다루어야하는기술중의하나가 QoS 를보장하는방법이다. 아직까지인터넷텔레포니가기존전화를대체하지못하는중요한이유중의하나가통화품질이좋지않다는것이다. PSTN 의경우설정된콜연결이자원을할당받은후에이루어지지만, IP 기반의인터넷의경우는 Best Effort 데이터전송방식을제공하기때문에서비스의고품질을보장하지못하는것이다. QoS 보장은일반적으로다음두가지로구분될수있다. 첫째는응용의 QoS 요구에따라인터넷망에서양단간의경로에자원을예약하는방법이있다. 둘째는 IP 데이터그램의우선순위를이용하는것이다. 일반인터넷망에서이러한작업은힘들지만 ATM 과같은경우은대역폭관리정책에따라망트래픽을분류하고분배할수있다. RSVP(ReSource reservation Protocol) 는 IETF 시그널링프로토콜의하나로 Flow 는 End-to-End( 양단간 ) 까 지시그널링에의해정적대역폭을할당받는다. 기본적으로 Queue 공간을예약하는방법을사용한다. 아래그림은 RSVP 의동작과정을보여준다. <RSVP Operation> 다음은 IP datagram 의 TOS 필드를이용한우선순위방법이다. 아래그림은 IP 네트워크에서사용되는 Layer 2, Layer 3 의메시지형식이다.
<TOS field> 그림에서볼수있듯이 Layer 3 의데이터그램메시지는 TOS(Type Of Service) 라는필드를가지고있다. 서비스타입을정의하는역할을수행하는필드이지만실제인터넷망에서는이필드를사용하지않고, 만약특정관리네트워크 ( 예, ATM) 에서트래픽관리정책에이필드를사용한다면 QoS 를보장할수있다. 하지만트래픽이특정도메인이나 carrier boundary 안에서만존재해야하며, 방법또한복잡하고비용이비싸다는단점이있다. QoS 를보장하기위해한가지더고려해야할점이 Fragmentation 이다. IP 네트워크에서사용되는일반적인응용들의패킷은음성패킷보다상대적으로큰바이트수를가진다. (FTP 의경우 1000 바이트이상이지만, 음성의경우 20 바이트이다.) 즉, Burst 한 LAN 트래픽발생시음성패킷의지연을초래하게된다. Congestion 예상지역에 Fragmentation 을적용하여지연을줄여 QoS 를보장할수있다. VoIP 시스템구현 VoIP 관련표준화기구는 ITU, IETF, ETSI 가있다. ITU(Internet Telecommunication Union) 의 SG(Study Group) 16 에서는멀티미디어단말과보안에관하여 연구하고있으며, H.323 프로토콜을이용한 VoIP 시스템구현방법을제시하고있다. IETF(Internet Engineering Task Force) 에서는웹서비스와 PSTN/ISDN 의상호연동에관해서연구하고, VoIP 관련 WG(Working Group) 으로는 SIP(Session Initiation Protcol;SIP-시그널링프로토콜 ), MMUSIC, IPTEL(IPTelephony), PINT(PSTN-Internet service), IMPP(Instant Messaging and Presence Protocol), SIGTRAN(Telephony signaling transport), ENUM(Telephone Number Resolution) 등이있다. 그리고 IETF 는 SIP 을이용한 VoIP 시스템구현에힘쓰고있다.
ETSI(European Te lecomm. Standards Institute) 는 TIPHON(Telephony and IP Harmonization Over Networks) 과 SPS5(UNI/NNI signaling aspects) 를제시하고있다. H.323 H.323 은하나의단순한프로토콜이아니다. H.323 은 ITU 의여러프로토콜을이용하여 VoIP 시스템을구성하는방법에대해기술한것이다. 실제시그널링변환, 미디어전송, 콜설정등의작업은 ITU 의여러프로토콜에의해서이루어진다. 콜설정에대한작업을수행하기위해서는 H.225.0, capability/media 제어를위해서는 H.245, 음성, 화상미디어전송을위해서는 RTP/RTCP 을사용하고, 데이터전송에는 T.12X 를사용한다. 각각의미디어에대해서도세분화된프로토콜을사용하는데, Audio 의경우는 ITU 에서이미제시한 G.711, G.729 등과같은 G.7xx 프로토콜등과또다른표준 ( 예, GSM) 과기타코더를사용하며, 비디오스트림에대해서는 H.261, H.263 과같은 G.26x 프로토콜을사용한다. 그리고일반데이터의경우는 T.12x 프로토콜을사용하며, Fax 의경우는 T.38 프로토콜을사용한다. 아래그림은 H.323 시스템을간단히보여준다. <H.323 Network Architecture> 다음그램은 H.323 의프로토콜스택을나타낸것이다.
<H.323 Protocol Stack> H.323 시스템은크게 Terminal, Gatekeeper, Gateway, MCU 로구분해볼수있다. Terminal 실제사용자에의해서사용되는장치로서일반전화, 팩스, 멀티미디어장비 ( 마이크로폰, 스피커, 카메라 등 ) 를갖춘 PC 가이에해당한다. Gatekeeper Gatekeeper 는최소한 E.164 와 IP 주소간의주소변환, 리다이렉션작업과콜에대한인증작업을수행한다. 그리고추가적으로콜시그널링, Element 와 bandwidth 관리, 콜 Management/Reporting/Logging 작업을수행한다. H.323 의필수구성요소는아니지만일반사용자터미널은반드시 Gatekeeper 와상호동작하여콜설정을해야한다. Gateway Gateway 는서로다른네트워크 (IP network, PSTN, ISDN, ATM 등 ) 간의상호동작할수있도록해주는데, 논리적인두 endpoint 간의 Encoding, protocol, call control 을서로맵핑 (mapping) 시켜주는일을한다. MCU(Multipoint Control Unit) MCU 는멀티포인트 ( 즉, 멀티파티 ) 를제어하는개체이다. 한 Conference 에속한각터미널들의미디어전송방식 (unicast, multicast, hybrid), H.245 를이용한 conference 관리 (join, invite, conference mode 제어 ), 일반 conference 모드설정 ( 공통의미디어스트림설정, 오디오변환 ) 등의작업을수행한다. RAS(Terminal to Gatekeeper Signaling)
RAS 는 terminal 과 gatekeeper 사이에서다음과같은기능을수행한다. Discovery/Registration(gatekeeper 를찾고, physical, alias 주소간의맵핑을수행한다 ), Admission( 특정 call 이필요한 bandwidth 를할당받도록요청한다 ), Bandw idth Changes(bandwidth 가더필요할때이를더요청할수있도록한다 ), Status( 콜상태를 report 한다 ), Disengage( 연결종료 (disconnect) 를 report 하고 bandwidth 를 release 한다 ) 등의작업을수행한다. <H.323 Call Model>
<H.323 Protocol & Call Setup> SIP(Session Initiation Protocol) SIP 는종단간 (end-to-end) 의멀티미디어세션을생성, 수정, 해제하는응용계층의제어 ( 시그널링 ) 프로토콜로, 여기서멀티미디어세션은 multimedia conference, internet telephone call, multimedia application 등이될수있다. 한가지중요하게알아두어야할것은 SIP 은 H.323 과같이여러프로토콜들의조합으로 VoIP 서비스를한꺼번에수행하는프로토콜이아니라단순하게세션설정만을다루는프로토콜이라는점이다. 이는 SIP 이간단하면서도여러다른프로토콜들과함께사용될수있는확장성을가지고있다는것을말해준다. - 구성요소 / 기능 SIP 요소 SIP 을이루는구성요소는크게 user agent 와 network server 로나뉜다. User agent 는다시 user agent client(uac: calling user agent) 와 user agent server(uas: called user agent) 로나뉘는데, 전자는세션에참여시키고자하는상대방에게 request 를보내는역할을하고, 후자는 SIP request 에대한적절한 response 를반환하는역할을한다. Network server 는 proxy server 와 redirect server 로나뉘는데, 전자는 caller 와 callee 사이의 SIP Message 들을 forwarding 하고, 후자는 caller 의 INVITE request ( 세션설정 ( 참여 ) 를요청하는 SIP 메시지 ) 를받고 callee 에대한정보를다시 caller 에게전달하는역할을한다. 이외에도사용자의위치 (location) 정보를저장하고있는 location
server 가있다. 주소지정방식 / 라우팅 SIP 에서는각사용자마다고유한 SIP URI( 주소 ) 를부여한다. 형식은간단히 sip:user@host 으로표현할수있다. sip: 은이주소가 sip 프로토콜에서사용하는주소임을알려주고, user 는사용자의이름, host 는해당터미널의주소를표현할수있는데여기에는 PC, 네트워크서버등의 IP 주소나도메인명, 전화번호, 팩스번호등을사용할수있다. SIP 은 IP 프로토콜이기때문에 PSTN 의전화, 팩스와같은장치를구별하거나라우팅하는방법이필요한다. IETF 는이를위해 ENUM(Telephone Number Resolution) 과 TRIP(Telephony Routing over IP) 을제안하고있다. ENUM 은 IETF ENUM WG 에서연구가진행중이고, E.164 전화번호를인터넷 DNS 에서구별지을수있 도록변환하는역할을수행한다. 예를들어전화번호 1-212-691-8215 를 DNS entry 5.1.2.8.1.9.6.2.1.2.1.e164.foo 와같은방식으로변환할수있다. TRIP 은 IPTEL WG(IP Telephony Working Group) 에서연구가진행중이고, BGP(Border Gateway Protocol) 기반의전화번호를통한라우팅을가능하게하는역할을수행한다. 메시지 1 Request SIP 의메시지전달과정이나형식은 HTTP 의메시지형식을응용하였다. SIP 이확장되어오면서몇가지 request 메소드들이추가되었지만, 기본적인메소드는다음 6 가지이다. INVITE : call 설정요청을한다. ACK : INVITE 요청에대해서서버로부터 final response 를받았을때이에대한 Acknowledge(ACK) 를한다. BYE : call 을 Release 한다. CANCEL : pending request( 아래에서기술될 SIP 네트워크구성요소중 proxy server 는해당 INVITE 요청을가능한여러목적지로 request 를 fork 하여 forwarding 한다. 이때이러한 request 들을 pending request 라한다.) 를 Cancel 한다. BYE 와구별되어야하는점은 CANCEL 은단순히 request 를 cancel하는것이고 BYE 는세션자체를종료하는것이다. OPTIONS : capability 에대한정보를요구한다. REGISTER : SIP location server 에사용자자신의위치 (location) 정보를알려준다. 이외에도 INFO, COMET, PRACK, SUBSCRIBE, NOTIFY 등의메시지가있다. 메시지 2 Response Response 는 HTTP 에서와같이클래스에특정의미를지니고있는다음 6 가지 class 를가지고있다. 그리고각클래스는 Provisional 과 Final 의두가지상태로구분될수있는데, Provisional Response 는세션설정을하는동안필요한정보를전달하기위한 response 이고 Final Response 는세션설정의제일
마지막에성공 / 실패등을알려주기위한 response 이다. <SIP Response> 메시지전송프로토콜 SIP 자체가응용계층프로토콜이기때문에메시지를전송하기위해 TCP 와 UDP, 그리고 SCTP(Stream Control Transmission Protocol) 을사용할수있다. 그렇지만일반적으로 SIP 메시지들은대부분 UDP 를사용하여전달하고 SIP 의 REGISTER 메소드와같이전송할데이터의양이많은경우에는 TCP 를사용할수도있다. SDP(Session Description Protocol) 사용 SDP 는세션을기술하는프로토콜이다. SDP 는기본적으로세션이름과목적, 세션이 active 되어있는시간, 세션에사용될미디어정보, 미디어를전송하기위해필요한정보 ( 주소, 포트, 포맷등 ) 을포함하고, 추가적으로 conference 에의해사용될 bandwidth 에대한정보를포함한다. 앞서언급했듯이 SIP 은단순한세션설정프로토콜일뿐, 세션자체에대한어떠한동작도하지않는다. SIP 은세션설정후에양쪽 endpoint 에서실제데이터를주고받는방법을명시하기위해 SDP 를사용한다. 아래그림은 SDP 의예를보여준다.
위 SDP 예에서는 audio 와 video 에대한세션정보를기술하고있다. 예에서는음성, 비디오압축기술에 PCUM, G723, H.263 등의프로토콜을사용하고미디어데이터전송에는 RTP 를사용하고있음을볼수있다. 이외에도양단간의터미널의종류와기능에따라다른여러가지압축기술과미디어전송프로토콜들 (RTSP, RTP, RTCP) 을사용할수있다. - 동작 Registration Registration 은사용자가자신의위치 (location) 정보를 location server 에게알려주는작업이다. REGISTER 메소드에자신의정보를포함시켜 location 서버로보냄으로써이를수행할수있다. 아래그림은사무실에있는전화, PC 집에있는 PC 를 Location Server 에등록하는과정이다. 각장치들 은 Location server 의 DB 에저장되고 proxy, redirect 시에 DB 에저장된사용자의정보를이용함으로써 올바른세션설정을할수있다.
<Registration Operation> Proxy SIP 네트워크서버에서는 UAC 로부터 INVITE 메시지 ( 세션연결요청 ) 를받고 call processing 정책에따라이를 proxy 할것인지 redirect 할것인지를결정한다. Proxy server 로써의역할을수행할경우는해당 request 를가능한사용자의장치들 (UAS) 에게 forwarding 하고 UAS 로부터의응답을대신 UAC 로전달해주는, 즉대리자, 의역할을수행한다. 아래그림은 proxy 동작과정을보여준다. <Proxy Operation>
Redirect Redirect server 로써의역할을수행할경우, callee( 요청받은사용자 ) 에대한적절한정보 ( 예, 주소 ) 를 caller( 요청한사용자, UAC) 에게전달해주어 caller 가다시 INVITE 요청 ( 세션요청 ) 을수행하도록하게한다. <Proxy Operation> - SIP 을이용한 VoIP 시스템구현 SIP 은단지시그널링프로토콜이기때문에 VoIP 나타내보면아래그림과같이나타낼수있다.
세션설정을위해서는 SIP 프로토콜을사용하고세션설정이이루어진후에는 RTP/RTCP 등과같은미 디어전송프로토콜을사용하여통신을할수있다. - SIP 확장 SIP 은시그널링프로토콜이면서또한확장성을갖추고있어서기본적인세션설정서비스이외에도다른서비스들을위해확장되어사용되고있다. IETF 의 IMPP WG 에서는 Presence & Instant Messaging 시스템을구축하는데 SIP 을확장하여사용하고, IETF 의 PINT 에서도 SIP 을시그널링프로토콜로서사용하는방법을제시하고있다. 더욱이근래에는 Mobile 네트워크환경에서 terminal, service mobility 를지원하기위해 SIP 을사용하는방법들이제시되고있다. H.323 과 SIP 네가지관점에서 H.323 과 SIP 을비교해보자. 첫째, 복잡성 (Complexity) H.323 은여러프로토콜들간의상호동작을통해만들어졌기때문에많은헤더를가지고있으며디버깅과개발이어렵다. 반면 SIP 은단순한시그널링프로토콜로써단지몇가지헤더만을포함하는텍스트기반의메시지를주고받기때문에디버깅이쉽다. 둘째, 프로토콜확장성 (Extensibility) H.323 에서프로토콜을확장하기위해서는 nonstandardparam 에원하는정보를추가함으로써가능하다. 하지만기존에존재하는 parameter 에대해서는수정할수없고, 서로다른제조회사에서이러한확장이모두적용된다는보장을할수없다. 반면 SIP 은텍스트기반의메시지방식이기때문에쉽게그의미를파악할수있고, 또한새로운헤더, 메소드, parameter, 메시지 body 의추가, 변경할수있는방식을제공하기때문에 Extensibility 가뛰어나다.
셋째, 시스템확장성 (Scalability) H.323 은초기설계기반이 LAN 에국한되었으므로,zone 개념, 아직까지 zone 을통과하는데이터에대해서는명확한정의가이루어지지않고있다. 또한하나의 call 이설정되어있는동안서버가 call 의상태를계속유지시켜주어야하기때문에사용자가많아질수록서버의부담이증가한다. 그리고 multipart call control 을담당하는 MC(Multipoint Controller) 또한사용자가많아질수록처리부담이커지게된다. 반면, SIP 은기반자체가 IP 이며, stateless proxy( 콜의상태정보를유지하지않는 proxy 서버 ) 를사용할수있기때문에사용자가많아져도서버의부담이급격하게증가하지않고, multipart call control 을위해어떠한중앙제어가필요없다. 넷째, 서비스 H.323 은여러프로토콜의연동을통해서이루어지기때문에, 각프로토콜의기능을이용할수있다. 즉, 자체적으로여러가지많은서비스를가지고있다. 그러나 SIP 의경우는단순한시그널링프로토콜에불과하기때문에세션을제어할수있는능력이없고다른프토로콜들 ( 예, SDP) 을사용해야한다.