본문 바로가기

컴퓨터 사이언스/네트워크

[모바일 컴퓨팅] SIP (Session Initiation Protocol)

Overview

- Application layer의 프로토콜이다.

- 멀티미디어 세션을 수립하고, 수정하고, 종료하는데에 쓰인다.

- UDP, TCP, TLS, SCTP 등등 사용 가능

- HTTP에 기반하며, 텍스트 기반 구조이다. (SIP header + message)

- IP address가 아닌 URI를 사용한다.

 

SIP request and reply

- SIP Request

method라고 불린다.

INVITE, ACK, OPTIONS, CANCLE, BYE, REGISTER

- SIP Response

숫자와 reason-phrase

1xx Information, 2xx Final, 3xx Redirection, 4xx Client Error, 5xx Server Error, 6xx Global Failure

 

SIP Request URI

- Request-URI는 request의 목적지를 가리킨다.

- 프록시와 여타 서버들은 Request-URI에 기반해 route하게 된다.

- Call을 중개하는 프록시에 의해 해당 Request-URI는 수정될 수 있다.

 

SIP Header

- Content-lenght : message body의 크기

- via : 경유

- Cseq : 각 call마다 1씩 증가하는 call sequence

- Call-ID : call의 아이덴티티, 한 묶음이 끝날 때 마다 달라진다. 즉, 수립과 종료의 call-ID는 서로 다르다.

- Contact : call을 보낸 사용자에 대한 직접적인 경로

- Record-Route : 레코드가 어떤 라우트를 거쳤는지 저장하는 용도

- Expire : 정보 유지 기간 (register 할 때)

 

SDP (Session Description Protocol)

- SIP의 message body에 실리게 된다.

- 코덱과 미디어 종료 시점등을 특정하게 해준다.

- 세션 이름 및 목적
- 시간(세션 활성화)
- 세션을 구성하는 매체
- 미디어 수신 방법(예: 주소, 포트, 형식 등)
- 통신에 사용할 대역폭