[Network] SIP 프로토콜이란?
“세션 개시 프로토콜(Session Initiation Protocol, SIP)”이란 무엇인가요?
IETF에서 정의한 시그널링 프로토콜로 음성과 화상 통화 같은 멀티미디어 세션을 제어하기 위해서 많이 사용되었으며, 인터넷 상에서 통신하고자 하는 지능형 단말(전화, 인터넷 콘퍼런스, 인스턴트 메신져 등)들이 서로 식별하여 그 위치를 찾고, 그들 상호 간에 멀티미디어 통신 세션을 생성하거나 삭제 또는 수정하기 위한 절차이며 명시한 응용 계층의 시그널링 프로토콜입니다.
수정은 포트의 주소 변경과 더 많은 참여자의 초대, 멀티미디어 스트림의 추가 또는 삭제를 의미하고 있습니다. 화상 회의, 스트리밍 동영상 유통, 메신저, 가입 상태 정보, 파일 전송과 더불어서 온라인 게임에 응용할 수 있습니다.
SIP는 원래 Henning Schulzrinne과 Mark Handley가 1996년에 처음 고안 했습니다. 이 규격의 최근 버전은 IETF 네트워크 워킹 그룹의 RFC 3261 입니다.
2000년 11월 SIP는 셀룰러 시스템에서 IP 기반 스트리밍 멀티미디어 서비스를 위한 3GPP 시그널링 프로토콜과 IP 멀티미디어 서브시스템(IMS) 구조로 채택 되었습니다.
인터넷 기반의 회의, 전화, 음성 메일, 이벤트 통지, 인스턴트 메시징 등 멀티미디어 서비스 세션의 생성, 수정, 종료를 제어하는 요구/응답 구조로서 TCP, UDP에 모두 사용할 수 있으며, 각 사용자들을 구분하기 위해서 이메일 구조와 비슷한 SIP URL를 사용하고 있습니다. 그러므로 IP 주소에 종속되지 않고 종속 되지 않고 서비스를 제공 받습니다.
HTTP와 SMTP의 많은 부분을 그대로 사용하여 개발된 텍스트 기반이므로 구현이 용이하며, 인터넷에서 사용되는 다른 많은 프로토콜과 결합하여 다양한 서비스들을 만들 수 있는 유연성과 확장성이 있습니다.
SIP 주요 컴포넌트
SIP 프로토콜이 멀티미디어 통신을 위한 호를 생성 및 종료하기 위해서는 아래와 같은 5가지 긴능이 필요합니다.
- 사용자 위치(User Location): 통신에 참가할 단말을 결정합니다.
- 사용자 이용 가능성(User Availability ): 통신에 참여할 착신 측의 통화 가능 여부를 결정합니다.
- 사용자 능력(User Capabilities): 통신간에 사용될 미디어 및 미디어 파라미터를 결정합니다.
- 새션 설정(Session Setup): 착신 촉 및 송신 측에 세션 파라미터 생성합니다.
- 세션 관리(Session Management): 세션의 종료 및 전환, 세션 파라미터 변경, 부가 서비스 연동합니다
위의 기능들을 SIP 컴포넌트에서 직접 구현됩니다.
RFC 3261에서 정의된 SIP 주요 컴포넌트
- UA(User Agent)
- SIP Gateway
- Registrar Server(등록 서버)
- Proxy Server
- Redirect Server