VoIP를 위한 SIP 프로토콜

|



VoIP에 대한 정리에서 SIP를 종종 언급했었는데요.
SIP는 현재 회사에서도 관련 프로젝트를 진행하고 있고, 앞으로도 유무선 통신 컨버전스나 이동컴퓨팅에서 중요한 역할을 할 걸로 예상됩니다. 조금은 기술적인 부분이기는 하지만 한번씩 읽어보세요~ 나중에 도움될 거예요..

SIP 개요
SIP는 Session Initiation Protocol의 약자로서 멀티미디어 통신에 있어 세션이나 호(Call)을 관리하는 프로토콜이라 할 수 있습니다. 멀티미디어 데이터 전송 자체보다는 Signaling을 통한 멀티미디어 통신 관리에 중점을 두고 있습니다. 

다시말해서 멀티미디어 데이터 전송은 실시간 전송을 기반으로 하는 RTP가 담당하고 SIP는 어플리케이션 레벨의 프로토콜이라 할 수 있죠..

실제 SIP의 프로토콜 스택을 살펴보면 다음과 같습니다.


TCP와 UDP 상위에 SIP, SDP, RTP등이 올라와 있는 것이 보입니다.
  • SIP (RFC 3261): SIP 기본 내용 정의
  • SDP (Session Description Protocol, RFC 4566/3264): 멀티미디어 세션 파라미터 설정
  • Audio Codec(G.711A, G.723.1, G.729A): 음성 코딩 담당, 다양한 시스템과 호환을 위해 여러 규격 존재
  • Video Codec(H.263, MPEG-4, H.264): 비디오 코딩, H.263이 공통으로 사용되며 H.264 최신 버전
  • RTP/RTCP(Realtime Transport (Control) Protocol, RFC 3550, RFC3551): 실시간 통신

SIP 특징
SIP는 다음과 같은 특징을 가지고 있다고 합니다. 
- SIP는 패킷교환망에서 회선교환망 방식의 호 제어가 가능하도록 세션을 제어한다.
- 패킷망의 인터넷 상에서 멀티미디어 어플리케이션이 가능하게 한다.
- URL 및 E-Mail 형식의 텍스트 기반 어드레싱 방법을 사용하므로 메시지 파싱이나 확장이 용이하다. 

일반적으로 SIP는 기존의 비슷한 기능을 제공했던 H.323과 많이 비교하고 있습니다. 
둘의 비교를 살펴보도록 하죠..

 구분 H.323  SIP 
 정의 1996년 ITU-T에서 제정한 음성, 데이터 비디오 통신 규약  1998년 IETF에서 제정한 멀티미디어 통신 규약 
제공 서비스  음성 위주  멀티미디어 위주 
 서버 게이트 키퍼  SIP 서버 
프로토콜 특징  복잡함  간단함 
시장 증가율  0%  연 20~30% 
 특징 서비스 추가 및 멀티미디어 서비스에 제한적 
 멀티미디어 서비스 우수
 서비스 추가시 간결성
 유연성과 확장성
 이동성 보장
 민간 도입 사례 본사-지사간, 기존 IP-PBX  현 VoIP 서비스 제공업체 (KT, LG 파워콤/데이콤 등), 신규 VoIP 서비스 구축시 

초기 H.323에서 현재는 SIP 기반의 단말이 많이 늘어나고 있는 추세임을 알 수 있네요..

SIP 구성요소
SIP 시스템의 구성요소는 SIP 클라이언트와 SIP 서버로 나누어 볼 수 있습니다. 

SIP 클라이언트
- UAC(User Agent Client): 세션 종단에 위치하며 호를 생성하고 설정을 요청한다.
- UAS(User Agent Server): UAC로부터 호를 수락하거나 거절 또는 Redirect 한다.

SIP 서버: UA간 직접 호출이 가능하지만 SIP 서버를 둠으로써 확장성을 제공한다.
- Proxy Server: UAC로부터 SIP 콜을 받아 자신이 콜을 대신 만들어 주는 역할을 한다.
- Register Server: 사용자의 에이전트로부터 레지스터 요청을 수신하여 사용자의 위치 정보를 유지한다. 
- Redirect Server: 사용자가 직접 요청을 할 수 있는 상대방의 URL을 알려준다.
- Location Server: Proxy Server나 Redirect Server로부터 SIP 콜의 목적지 노드의 주소가 요청되면 이를 Resolution 해주는 역할을 한다. 

이들 간의 상호 관계는 다음 그림과 같습니다.


SIP 메시지
실제 SIP의 요청 메시지를 보면 다음과 같은 형태로 되어 있습니다. 


INVITE 메시지가 전송되는 것을 알 수 있습니다. 
INVITE나 From에 보면 이메일 형태의 어드레스가 사용됨을 알 수 있죠..
또한 Content-type을 보면, application/sdp로 되어 있어 SIP의 body에는 SDP(Session Description Protocol)이 사용된다는 것을 알 수 있습니다. 

SDP가 적용된 body를 보면 RTP/AVP와 같은 미디어의 형태를 표현하고 있습니다. 

Proxy나 Redirect가 없는 가장 기본적인 형태의 흐름은 다음과 같습니다.
Proxy나 Redirect Server를 경유하는 세션 설정 흐름은 한번씩 찾아보시기 바랍니다.


이상으로 SIP와 관련된 내용을 정리해 봤습니다. 마지막으로 SIP의 응답코드에 대해서 정리할께요. 

=== SIP 응답코드 보기 ===



VoIP 더 알아보기

VoIP의 정의

VoIP의 개념과 구현, 그리고 Mobile VoIP까지 궁금하면 보세요~

안드로이드 음성처리 API

안드로이드 음성처리를 위한 API도 관심 있을 듯 하네요



참고자료
SIP 파워포인트 자료 (순천향대학교 정보기술공학부)
SIP 위주 VoIP 동향 (EIC 전자정보센터)
SIP 표준화 및 기술 동향 (EIC 전자정보센터)





Trackback 0 And Comment 0