개요

SIPCall.png

Session Initiation Protocol

  • IP 네트워크 상으로 콜을 설정하는 방법을 제공한다. 어떤 미디어 인코딩을 사용할 것인지에 대해서 정할 수도 있고, 콜을 종료할 수도 있다.
  • 콜 요청자가 콜 응답자의 현재 IP 주소를 알 수 있도록 하는 방법을 제공한다.
  • 콜 진행중에 새로운 미디어 스트림을 추가하고, 인코딩 방식을 바꾸는등 콜 관리 방법을 제공한다.

콜 설정하기

  1. 송신자는 수신자의 식별자와 주소, 자신의 원하는 인코딩 방식 자신의 아이피 주, 패킷 수신 포트가 포함된 SIP INVITE 헤더에서 원하는 정보를 수신자로 보낸다.
  2. 수신자는 200OK 메시지와 함께 수신자의 IP 주소, 수신을 원하는 인코딩 방식 및 패킷 방식, 오디오 패킷이 전송될 패킷 번호가 포함된 응답을 전송한다.
  3. 수신자와 송신자는 서로 다른 인코딩 방식을 사용할 수 있다.
  4. 수신자는 송신을 거부할 수 있는데, 코덱 지원하지 않음, 바쁨, 자리비움, 요금 지불 바람과 같은 거부 응답 코드들을 보낼 수 있다.

특징

  1. SIP 은 Out-of-band 프로토콜이다. SIP 메시지는 5060번 포트를 통해 전송되며, 인코딩된 메시지는 정해진 포트를 사용하지 않는다.
  2. SIP 메시지는 ASCII로 이루어져 있으며, HTTP 패킷과 비슷하다.
  3. SIP 주소는 단순히 IP 주소로 이루어져 있지 않을 수도 있으며, SIP 프록시와 연관되는 주소를 등록 할 수도 있다.

SIP 헤더

  • INVITE: 초대할 사람의 주소와 SIP 버전 정보
  • Via: SIP 메시지가 거쳐간 SIP 장치
  • From/To: 보낸이와 받는이
  • Call-ID: 콜을 유일하게 식별하는 식별자
  • Content-Type: SIP 메시지에 포함되어 있는 내용을 기술하는 데 사용한 포맷
  • Content-Length: SIP 메시지의 길이

이름 변환과 사용자 위치 찾기

SIP 메시지를 프록시를 통해서 등록해 놓은 뒤 송신자는 그 프록시에 접속하여 주소를 획득한다.