VoIP 전화기용 표준, ‘이제는 SIP’
상태바
VoIP 전화기용 표준, ‘이제는 SIP’
  • Network Computing
  • 승인 2003.06.16 00:00
  • 댓글 0
이 기사를 공유합니다

아직 IP 네트워크에 음성을 추가하지 않았다 하더라도 SIP(Session Initiation Protocol), 즉 세션 초기화 프로토콜을 만나기까지 그리 오래 걸리진 않을 것이다. SIP는 하나의 IP 네트워크에서 세션을 수립하고 해체하는 신호 프로토콜로, 엔드유저를 다집단 음성 및 화상회의로 로케이팅 및 연결해주는 VoIP 전화기용 표준으로 가장 잘 알려져 있다.

SIP가 아직 현실적이지 않다는 생각은 잘못이다. SIP는 현재 존재하고 있으며 잘 사용되고 있다. 이 글을 쓰는 동안, 필자는 본에이지(Vonage)의 소비자 SIP 서비스와 어댑터를 테스트해 보았으며, 이것은 고품질의 지역, 국내 및 국제 전화 서비스를 저렴한 가격에 제공해주었다. 그리고 하이엔드 쪽에서는 브로드소프트(BroadSoft)가 표준 기반 VoIP, 참석, 음성 메일 및 통합 메시징(SIP가 의도하는 모든 것)을 제공할 수 있도록 서비스 사업자들에게 서버와 애플리케이션 패키지를 판매하고 있다.

SIP는 다재다능

HTTP와 마찬가지로, SIP는 다재다능하며 사용이 간편하다. 이것은 협업 멀티미디어 회의 및 음성 지원 전자상거래를 수립할 수 있다. 지금은 비록 거의 모든 기업용 VoIP 업체들이 자신들의 전용 시그널링 솔루션에 포함시키는 수준이지만 SIP는 2년 안에 VoIP 이행에서 일반화될 것이다. IETF는 1999년 SIP의 첫 버전인 RFC 2543을 발표했으며, 가장 최근에는 지난 6월 RFC 3261을 내놓았다.

SIP는 레거시 네트워크에 있던 전통적인 음성용 종단간 회선을 인터넷 상의 세션이 대체하게 되는 VoIP용으로 이상적이다. ITU의 H.323 멀티미디어 표준뿐만 아니라 일부 업체 전용 VoIP 전화기들도 이런 기능이 있다. SIP가 등장하기 이전에 제품을 만들었던 VoIP 업체들은 H.323을 채택했다. 하지만 SIP는 H.323보다 이행이 간단하며, 오버헤드가 더 작고 가벼운 프로토콜이다.

하지만 SIP는 기존의 전화기 접속을 보다 표준에 가깝게 대체해 주기 때문에, 참석(presence)과 같은 진보된 멀티미디어 서비스를 이행하기가 더 쉽다. 이것은 사용자가 특정 전화기뿐만 아니라 비디오나 인스턴트 메시징(IM) 세션에서 호출을 받을 수 있는지, 그리고 받기를 원하는지 여부를 즉시 파악할 수 있게 해준다. 또한 VoIP 호출에서 여러 개의 목적지로 호출을 보낼 수 있다.

그리고 SIP는 상용화의 길을 개척하고 있다. XO OS에 함께 포함된 마이크로소프트의 윈메신저(WinMessenger) IM 프로그램은 SIP를 기반으로 하고 있다. 윈메신저는 또한 SIP를 이용해 인터넷 전화 호출을 하고 있다. 향후 3G 무선랜 또한 호출의 설정 및 해제용으로 SIP를 사용할 것이다.

하지만 SIP가 실제로 할 수 있는 일에 대해서는 여러 가지 오해가 많다. 예를 들어 SIP는 디지털 음성을 전송하지 않으며, 이 일은 RTP(Real-Time Transport Protocol)의 몫이다. RTP는 SIP가 호출을 수립한 다음 음성을 전송해준다. 그리고 SIP가 다양한 코덱과 기술을 이용해 음성, 텍스트 메시징, 혹은 비디오 세션을 수립할 수 있으려면 그 전에 세션에 있는 장비가 어떤 기능을 지원하는지를 파악해 두어야 한다. 여기서 바로 세션 디스크립션 프로토콜(Session Description Protocol: SDP)이 개입되는데, SIP는 이 SDP를 이용해서 잠재적 대화의 두 종단지점들 사이의 능력을 협상한다.

‘초대받으셨습니다’

SIP는 전송 수단으로 UDP(User Datagram Protocol)나 TCP를 사용할 수 있지만, 포트 5060에 있는 UDP를 기본값으로 사용한다. UDP와 같이 믿을 수 없는 프로토콜에 의해 SIP 패킷이 유실되면, SIP는 일단 응답을 충분히 기다렸는지 결정한 후 명령어를 재전송한다.

SIP가 다른 종단지점으로 보내는 가장 일반적인 명령어는 ‘인바이트(invite)’다. SIP 전화기는 UA(User Agent)가 다른 SIP 전화기나 UA로 접속하고 싶을 때 이 초대 명령어를 보낸다. 초대가 성공하면 보냈던 곳(originator)으로 ‘200’이란 응답이 오는데, 이것은 모든 것이 OK며 세션이 수립됐음을 의미한다.

HTTP나 SMTP와 마찬가지로, SIP는 평문이기 때문에 명령어를 파싱(parsing)하기가 더 쉽다. 그리고 어떠한 프로토콜 분석기든 간단한 ASICC 번역으로 실제 명령어와 응답을 보여줄 수 있다.

SIP 헤더에는 인바이트와 함께, e메일 메시지와 유사하게 ‘투(to)’와 ‘프롬(from)’ 주소가 포함돼 있다. 이런 주소들은 URI(Uniform Resource Identifier)로 불리며, 다음 예처럼 e메일 주소와 비슷한 모습이다:

sip:peter@nwc.com

URI에서 ‘투(to)’필드에는 표준 전화번호가 들어갈 수 있다. SIP 헤더에는 또한 ‘콜 ID(call ID)’가 포함되는데 이는 SIP 트랜잭션을 구분해주는 고유의 숫자며, ‘비아(via)’ 필드는 UA에게 초기 접속을 협상할 때 응답을 보내기 위해 어떤 IP 주소를 사용할지를 말해준다.

일단 세션이 수립되면, ‘컨택트(contact)’ 필드가 사용되는데 이것은 수신 UA가 송신 UA와 대화할 때 사용하는 목적지를 뜻한다. NAT(Network Address Translation)가 배치되면 종단지점에서는 SIP 계층에 삽입된 라우팅이 불가능한 NAT 주소를 회신 주소로 사용한다. 하지만 SIP 업체들은 다양한 것들을 이용할 수 있다. 즉 예를 들어 SIP 장비는 SIP 헤더에 있는 IP 주소를 바꾸기 위해 IP 패킷의 목적지 주소를 사용할 수 있다. SIP 지각 방화벽은 NAT를 이용해 SIP 헤더에 있는 IP 주소를 바꿀 수 있다.

인바이트 요청은 SDP 신택스를 이용해 UA에게 호출자의 매체 능력(media capabilities)을 알려준다. 호출된 집단이 대답을 하면 이것은 OK 메시지로 응수하며, 여기에는 또한 지원되는 매체 능력이 포함돼 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.