(수근수근)

SIP이란 기초 본문

Network

SIP이란 기초

InformationFarm 2020. 7. 13. 15:37

SIP 란 ( Session Initiation Protocol)

에서 HTTP프로토콜을 이용하여 데이터 전송을 수행하듯이 통신에 있어서는 SIP프로토콜을 이용한다.

(SIP는 HTTP프로토콜을 모토로 만들어졌다..따라서 모양도 흡사하다..)

 

SIP는 OSI의7계층인 응용계층에 속하며, 통신의 양끝당으로서 통신 세션을 제어하기 위해 사용된다.

따라서 TCP와 UDP모두 사용가능하며 Request/Response구조이다.

 

이 세션에는 인터넷전화,멀티미디어 배포 회의가 포함이 되며 SIP는 이를 설정, 수정, 종료할 수 있는

시그널링 프로토콜이다!

 

즉 다시 말하면! SIP를 다들 음성 및 비디오 데이터 전송 프로토콜이라고 오해하는 경우가 많은데

양 끝간의 연결을 해주는 역할이지 실제 멀티미디어를 전공하고, 데이터 타입 정보를 교환하고 하는 것은

다른 여러 프로토콜들의 결합이다. (이 프로토콜들에 대해서는 차후에 설명을 하겠다.)

시그널링 프로토콜  
: 메시지 교환을 위한 주체들 간에 메시지 Session을 제어하기 위해서는 어떠한 정보들을 교환하는 역할을 한다.

* SIP는 세션을 연결해줄 뿐이지 실제 멀티미디어를 전달하는 것은 RTP 프로토콜!

 

 

통신의 흐름

위에서도 말했듯이 인터넷 통화를 한다고 가정하면 SIP만으로 통신이 되는 것이 아니라 여러 프로토콜들 결합으로 인해

통신의 연결되고, 데이터를 주고받고, 끊고 하는 것이다. 

통신의 OSI계층

각 프로토콜의 역할에 대해 간략하게만 설명해보겠다.

 

SDP(Session Description Protocol) :  SIP의 바디부분에 해당된다. 멀티타입에 대한 정보를 교환, 제안과 수락모델(offer & answer) / RTP프로토콜에 대한 세부적내용 협상, 사용할 수 있는 모든 미디어의 속성을 정의하는 과정

 

RTP( Real-Time Transport protocol ) : IP네트워크 상에서 오디오와 비디오를 전달하는 통신 프로토콜

RTP는 전화, 그리고 WebRTC, 텔레비전 서비스, 웹 기반 푸시 투 토크 기능을 포함한 화상 통화 분야 등의 스트리밍 미디어를 수반하는 통신, 엔터테인먼트 시스템에 사용된다.

 

 

 

[SIP 기본통신 과정]

1) SIP를 통해서 양 끝단의 세션을 만들어 상대방을 INVITE한다.(A가 B에게 전화를 건다)

2) SDP를 통해 멀티타입에 대한 정보를 교환한다

3) RTP를 이용하여 실시간 멀티미디어 서비스를 제공한다.(통화를 한다.)

4) 통화가 끝나고 세션이 종료된다.

 

SIP 구성요소

SIP 시스템 또한 HTTP처럼 Client / Server로 나눠진다

 

[SIP Client]

구분 설명
User Agent Client 세션 종단에서 Call을 생성하고 설정을 요청 /  콜을 만드는 클라이언트
User Agent Server UAC로부터 호를 수락하거나 거절 또는 Redirect함

[SIP Server : UA간 직접 호출이 가능하지만 SIP서버를 둠으로서 확장성을 제공한다.]

구분 설명
Proxy Server UAC로부터 SIP콜을 받아 자신이 콜을 대신 만들어 주는 역할을 함 
Register Server 사용자의 Agent로부터 레지스터 요청을 수신하여 사용자의 위치정보를 유지
Redirect Server 사용자가 직접 요청할 수 있는 상대방의 URL을 알려줌
Location Server Proxy Server나 Redirect server 로부터 SIP콜의 목적지 노드의 주소가 요청되면
이를 변환 해주는 역할을 함.

 

SIP Message

SIP Request Message

  • INVITE : SIP세션시작 Client to Server Message
  • ACK : UAC는 INVITE에 대한 Rresponse로 ACK를 회식 (Fail 이든 Success이든)
  • BYE : 클라이언트가 콜을 종료할 떄 
  • CANCEL : 앞서 요청되어 완료되지 않은 Request 를 취소할때 서버에서 이미 Response를 받으면 취소될 수 없음
  • OPTION : 서버에 대한 정보요구
  • REGISTER : SIP클라이언트는 반드시 REGISTER에 자신의 위치정보를 제공해야함. 

SIP RESPONSE Message

  • 1XX : information에 대한 메세지 클라이언트가 요청한 정보에 대한 응답(ex) ringing -> 190 / queued 182)
  • 2XX : Successful에 대한 메세지  connection 메세지
  • 3XX : Redirect메세지. SIP Redirect서버를 사용시 발생한다.
  • 4XX : 클라이언트의 메시지의 문제가 있음을 표시 (400 : 형식에 어긋난 클라이언트 메세지 / 404 : URL정보 없음)
  • 5XX : 서버의 문제를 나타냄 (505 : 서버가 응답하지 않음)
  • 6XX : 그 외의 일반적인 에러들

 

SIP URL 형식

전화에도 010-1234-4567/ 웹에도 IP주소 www.naver.com같은 체계가 있는 것처럼 SIP도 다양한 주소체계를 지원한다

 

  • FQDN : 브라우저에서 입력하는 도메인 주소체계 
    -  sip:soon.cicco.com ( 사용자명 / 단말기의 호스트명 )
  • URI : 이메일 주소체계 (가장 많이 사용한다.)
    -  sip:soon@cisco.com
  • E.164 주소를 포함한 URI주소 체계
    -  sip:1450331234@cisco.com;user=phone
  • IP주소를 포함한 URL주소 체계
    -  sip:102393893@10.1.1.1;user-phone 

 

'Network' 카테고리의 다른 글

HTTPS통신과 인증서 발급  (0) 2021.07.05
Websocket 공부  (0) 2020.03.25
[ Network ] Ethernet이란?  (0) 2020.01.16
Comments