카테고리 없음

SIP 프로토콜

지금은4시11분 2025. 2. 25. 21:54

#SIP(Session Initiation Protocol)

sip 기본 동작

 

-말그대로 SIP message를 주고받는것

-OSI 애플리케이션 계층에서의 시그널링 처리 프로토콜.
-messageserverclient 사이에서 주고받는 텍스트를 말함.
-messages
requestresponse로 이루어진다.

 

#대표적인 SIP message 예시

 


#Request message 예시 : INVITE 

INVITE

UA간 콜 생성을 위해 UACUAS에게 보내는 method

적어도 한 개의 proxy 를 거치게 된다

Via

순서대로 가장 위에 최근의 것이 놓이며(역순), 하나씩 헤더가 삭제된다.

request 정보가 전송된 proxy 경로 그대로 response를 보내기 위해서, Via 헤더 필드를 이용하여 지나온 경로를 표시한다.

To

request가 도착하여야 할 최종 도착지. Proxy에 대해서는 설정 불가능

From

Request의 최초 발신자

Call-ID

여러 개의 requestresponse들을 하나의 dialog로 인식하기 위한 방법

 하나의 세션에 여러 개의 dialog가 생기면 안되기 때문

CSeq

정수와 메쏘드 이름으로 이루어짐. 새로운 요청을 생성할 때마다 1씩 증가한다. 이 요청에 대한 응답인 200OK도 같은 값을 가진다.

Contact

UAC가 자신의 주소 정보를 Contact 값으로 지정한다.

Max-Forwards

목적지까지 도달하는 데에 경유할 수 있는 최대 홉 개수

Content-Type

바디의 미디어 타입 : SDP

Content-Length

Message body의 크기 (byte)

 

# Response message example : 200 OK

start line

response code (200), reason phrase (OK)

Via, To, From, Call-ID, CSeq

INVITE request의 값을 복사해서 사용한다.

To

Dialog를 식별하기 위해 Tag를 추가

Contact

목적지에 직접 연결 가능한 주소로 설정하여 전송한다.

Content-Type, Content-Length

바디의 미디어 타입 ,메시지 크기

 

#SIP response messages : status code



1xx information에 대한 메세지 클라이언트가 요청한 정보에 대한 응답
2xx Successful에 대한 메시지, connection 메시지
3xx Redirect메세지. SIP Redirect서버를 사용시 발생
4xx 클라이언트의 메시지의 문제가 있음을 표시
5xx 서버의 문제를 나타냄
6xx 그 외의 일반적인 에러들