SIP


Session Intiation Protocol 의 약자로 “세션 설정 프로토콜” 이다.

하나 또는 그 이상의 참가자와 멀티미디어 세션의 생성, 변경 종료 에 대한 application 계층의 프로토콜이다.

SIP에서 세션은,

  • 다자간 회의
  • 음성 전화
  • 영상 전화
  • 상태 정보 배포
  • 이벤트 신청 및 통지

를 말한다.

SIP는 시그널링 프로토콜이다.

하나의 호를 생성 및 종료하기 위해선 함께 해야하는 프로토콜이 있다.

  • RTP 와 RTCP- 실제 음성이나 영상을 전달하기 위해
  • SDP - 세션 설정을 위한 세부정보 전달을 위해

 

SIP 메시지

SIp 메시지는 헤더메시지 바디로 구성된다.

SIP가 사용하는 전송 프로토콜(transport layer)은 TCP 또는 UDP 이다. 보통 UDP를 주로 사용하지만 현재는 TCP를 더 많이 사용한다.

SIP 프로토콜이 호를 생성 및 종료하기 위해서는 5가지 기능이 필요하며**, SIP 컴포넌트**에서 구현된다.

  • 세션 설정
  • 세션 관리
  • 사용자 위치
  • 사용자 이용가능성
  • 사용자 능력

 

UA

UA는 UA client 와 UA server의 기능을 수행하는 단말이다.

UAC는 세션을 시작하는 역할로 통화를 시도하는 역할이고,

UAS는 세션을 종단하는 역할로 통화를 받는 역할을 한다.

UA는 다른 UA와 직접 연결하거나, Proxy server, Redirect server들을 통해 다른 UA와 연결할 수 있다.

통화 중인 호의 상태를 실시간으로 관리한다, UA는 SIP 전화기 이거나 소프트폰이다.

 

SIP Gateway

PSTN 과 IP 네트워크를 서로 연결해주는 역할을 한다.

SIP는 어떻게 통신하는가?

SIP를 지원하는 UA가 단 2대만 있다면, 상대방의 IP주소를 등록하여서 상호 간의 연결이 가능하다.

하지만, 전화가 수백대, 수천대 있다면? 어떻게 할것인가?

→ 모든 전화기와 전화번호가 매핑된 테이블을 가지고 있다면, 가능하겠지만 현실적으로 불가능하다.

→ 전화기가 컴퓨터의 성능을 발휘해야하고, 사용자가 전화기의 IP 주소가 바뀔 때 마다 업데이트 해야한다.

→ 별도의 서버가 전화번호와 IP주소 매핑 테이블을 가지고 있고, 모든 전화기들은 IP가 바뀔 때마다 해당 서버에 자동으로 업데이트 한다.

→ 전화기는 통화 하고자 할 때, 서버에게 IP주소를 물어본다.

 

Registar server (등록 서버)

SIP 전화기는 부팅을 할 때 자신의 IP 주소 또는 SIP URI 정보를 등록 서버에 업데이트한다.

SIP REGISTER 메시지를 등록서버에 보내서 정보를 업데이트한다.

등록 서버는 저장된 정보를 바탕으로 Proxy server로 부터 요청에 응답하지만, SIP 메시지를 직접 처리하지는 않는다.

 

Proxy server (프록시 서버)

프록시 서버는 전화기(UA)로 부터의 받은 접속 요청 메시지를 추가, 변경, 삭제 할 수 있따.

전화기가 7000번으로 전화 통화를 시도하는 SIP INVITE 메시지를 SIP 프록시 서버로 전송하면,

프록시 서버는 등록서버에 7000번의 IP주소를 문의한 후에 7000번 으로 메시지를 전달한다.

 

Redirect server (리다이렉트 서버)

프록시 서버는 통화 연결을 위한 INVITE 메시지를 목적지로 직접 전달해준다.

리다이렉트 서버는 메시지를 전송한 UAC로 목저지를 3xx redirect 메시지로 전송한다.

redirct 메시지를 받은 UAC는 수신한 목적지 주소를 가지고 새로운 세션을 열어서 통신을 시도한다.

통신 사업자들과 같은 대규모 voIP 망을 지원하는 스위치는 등록서버, 프록시 서버, 리다이렉트 서버 를 모두 따로 구현하지만,

기업용 IP PBX는 한 서버에 모두 구현한다.

 


+ Recent posts