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 응답코드 보기 ===
=== SIP 응답코드 닫기 ===
Informational
100: Trying
180: Ringing
181: Call is being forwarded
182: Queued (temporarily unavailable, server has decided to queue the call)
183: Session Progress
Success
200: OK
Redirection
300: Multiple Choices
301: Moved Permanently
302: Moved Temporarily
303: See Other
305: Use Proxy
380: Alternative Service
Client Error
400: Bad Request
401: Unauthorized
402: Payment Required
403: Forbidden
404: Not Found
405: Method Not Allowed
406: Not Acceptable
407: Proxy Authentication Required
408: Request Timeout
409: Conflict
410: Gone
413: Request Entity Too Large
414: Request-URI Too Large
415: Unsupported Media Type
416: Unsupported URI Scheme
420: Bad Extension
421: Extension Required
423: Interval Too Brief
480: Temporarily not available
481: Call Leg/Transaction does not exist
482: Loop Detected
483: Too Many Hops
484: Address Incomplete
485: Ambiguous
486: Busy Here
487: Request Terminated
488: Not Acceptable Here
491: Request Pending
493: Undecipherable
Server Error
500: Internal Server Error
501: Not Implemented
502: Bad Gateway
503: Service Unavailable
504: Server Time-out
505: Version not supported
513: Message To Large
Global-Failure
600: Busy Everywhere
603: Decline
604: Does not exist anywhere
606: Not Acceptable
=== SIP 응답코드 닫기 ===
VoIP 더 알아보기
VoIP의 개념과 구현, 그리고 Mobile VoIP까지 궁금하면 보세요~
안드로이드 음성처리를 위한 API도 관심 있을 듯 하네요
참고자료
SIP 파워포인트 자료 (순천향대학교 정보기술공학부)
SIP 위주 VoIP 동향 (EIC 전자정보센터)
SIP 표준화 및 기술 동향 (EIC 전자정보센터)
'IT Infra. > Network' 카테고리의 다른 글
[CCVP/CVOICE] H.323 구조 (0) | 2021.03.04 |
---|---|
SIP vs H.323 (0) | 2021.03.04 |
와이파이 6과 OFDMA의 결합, 새로운 무선 세계 열린다 (0) | 2020.09.23 |
비콘(Beacon)에 대한 이해 (0) | 2020.09.17 |
‘비콘’에게 궁금한 두 가지 (0) | 2020.09.17 |