1 / 22

SIP Protocol & RTP Protocol

SIP Protocol & RTP Protocol. Oct. 1, 2010 Hyun- ki , Jung. Contents ( 목차 ). SIP 프로토콜 SIP 프로토콜의 개요 SIP 의 구성요소 SIP 어드레스 SIP 메시지 SIP 프로토콜의 동작과 구현 RTP 프로토콜 RTP 프로토콜의 개요 RTP 프로토콜의 주요 동작 RTP 헤더의 또 다른 기능 RTP 헤더 압축하기. SIP 프로토콜의 개요. SIP (Session Initiation Protocol)

sian
Télécharger la présentation

SIP Protocol & RTP Protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIP Protocol& RTP Protocol Oct. 1, 2010 Hyun-ki, Jung

  2. Contents (목차) • SIP 프로토콜 • SIP 프로토콜의 개요 • SIP의 구성요소 • SIP 어드레스 • SIP 메시지 • SIP 프로토콜의 동작과 구현 • RTP 프로토콜 • RTP 프로토콜의 개요 • RTP 프로토콜의 주요 동작 • RTP 헤더의 또 다른 기능 • RTP 헤더 압축하기

  3. SIP 프로토콜의 개요 • SIP (Session Initiation Protocol) • IETF (Internet Engineering Task Force) 에서 발표한 표준 VoIP 프로토콜 • IP 네트워크에서 여러명의 이용자들끼리 멀티미디어 세션을 생성 및 종료하는 프로토콜 • H.323 프로토콜과 다른점 • H.323 : 관련된 다수의 프로토콜이 있고, RFC문서도 방대함 ISDN의 Q.931 프로토콜을 모토로 만들어짐 • SIP : RFC 2543 문서는 153쪽에 불과 디자인 목적 자체가 IP 네트워크용 HTTP 프로토콜을 모토로 만들어짐 ASCII 텍스트 기반 – 어플리케이션 구현이나 디버깅이 쉬움

  4. SIP의 구성요소 • UA • 클라이언트 파트 • UAC(User Agent Client) 와 UAS(User Agent Server)로 나눌 수 있음 • SIP 서버 • UIP Proxy 서버 : UAC로부터 SIP 콜을 받아서 자기가 대신 콜을 만들어 주는 역할 • Redirect 서버 : UAC로부터 SIP 콜을 받으면 실제 목적지(UAS)의 어드레스를 알려주는 역할

  5. SIP의 구성요소 기록 Registrar Location 서버 콜의 목적지 어드레스 요청 어드레스 및 위치 정보 제공 제공 Called PC Caller PC SIP Proxy 서버

  6. SIP 어드레스 • 인터넷의 전자메일 (E-mail) 어드레스 형식과 아주 비슷 • sip:errofree@gkn.com • Sip는 프로토콜을 표시, errorfree는 사용자 ID • gkn.com 은 유저가 소속된 도메인 • sip:hoony;password=cisco@4networkers.co.kr • 사용자 ID에 대해 비밀번호를 설정하여 인증할 때 사용할 수 있음 • 사용자 네임은 hoony, 패스워드는 cisco로 설정한 예

  7. SIP 메시지(1) • Request 메시지 • Invite : SIP세션을 시작할 때, 즉 콜을 만들 때 클라이언트(UAC)가 서버쪽으로 전송하는 메시지. • Ack : UAC는 Invite 메시지에 대한 최종 Response 메시지를 받고, 그 Response에 대해Ack를 회신, 자기의 Invite에 대한 최종 Response에 대한 회신 • BYE : 클라이언트가 콜을 종료할 때 서버에서 해당 콜이 종료되었다는 것을 알리기 위한 메시지

  8. SIP 메시지(2) • Cancel : 이미 요청했지만 아직 완료되지 않은 Request를 취소할 때 사용, 서버로부터 Response 메시지를 받았다면 해당 Request 메시지를 취소할 수 없음 • Option : 콜 셋업과 관계 없이 상대방에 대한 정보를 요구할 때 사용되는 메시지 • Register : 자신의 SIP 어드레스와 IP 어드레스 정보 등을 등록할때 사용되는 메시지

  9. SIP 메시지(3) • Response 메시지 • 1XX : Information 메시지 • 180 : Call Alert 메시지, SDP를 이용해 콜의 코덱과UDP 포트 정보 등 콜 파라미터 정보를 제공함 • 2XX : Successful 메시지 • 200 : OK 메시지 • 3XX : Redirect 메시지, SIP Redirect 서버를 사용할 때 발생 • 301, 302 : redirect

  10. SIP 메시지(4) • 4XX : 클라이언트의 Request 메시지에 문제가 있다고 표시 • 404 : Not Found, 클라이언트가 요구한 SIP 어드레스를 찾을 수 없음 • 400: Bad Request 클라이언트의 Requset가 형식에 어긋남 • 5XX : 서버의 문제를 나타냄, 서버가 동작하지 못할 때 또는 응답이 없을 때 사용됨 • 505 : Internal Server Error 서버가 응답하지 않습니다. • 6XX : 그외의나머지 일반적인 에러를 표현

  11. Peer-to-Peer 환경에서 SIP 동작하기 G1 SIP GW Invite w/ SDP G2 SIP GW G1 SIP GW G2 SIP GW 100 Trying G1 SIP GW G2 SIP GW 180/183 Ringing w/ SDP G1 SIP GW 200 OK G2 SIP GW ACK G1 SIP GW G2 SIP GW

  12. SIP 프로토콜의 동작 – Proxy 서버 환경 출처 : 고도리 님의 네이버블로그 http://blog.naver.com/godorimania

  13. SIP 프로토콜의 동작 – Proxy 서버 환경 DNS Lookup sip.cisco.com의 어드레스 hoony cisco.com INVITE hoony@cisco.com INVITE hoony@cisco.com 200 OK 200 OK Ack hoony@cisco.com Ack hoony@cisco.com Called PC hoony@cisco.com Caller PC errorfree@gkn.com SIP Proxy 서버 sip.cisco.com Location 서버 DNS

  14. SIP 프로토콜의 동작 – SIP Redirect 서버 환경 DNS Lookup sip.voice.com의 어드레스 hoony cisco.com INVITE hoony@voice.com 302 moved hoony@cisco.com Ack hoony@voice.com Caller PC errorfree@gkn.com INVITE hoony@cisco.com 200 OK Ack hoony@cisco.com SIP Redirect 서버 sip.voice.com DNS Location 서버 Called PC hoony@cisco.com

  15. RTP 프로토콜의 개요 • RTP(Real-time Transport Protocol) • IP 네트워크에서 음성이나 비디오 같은 실시간 속성을 갖는 트래픽을 최적화된 상태로 전송하기 위해 만들어진 프로토콜 • UDP 기반의 전송레이어 프로토콜로서 RFC 1889, 1890에 정의 • RTP는 UDP에서 동작 • RTP 프로토콜이 제공하는 정보 • 패킷의코덱 타입 • RTP 세그먼트의 생성 시간 • RTP 세그먼트의 순서 • RTP 세그먼트의 발생 소스 • RTCP(Real-time Transport Control Protocol) • 현재의 RTP 세션의 참여자, 즉 전화하고 있는 통화자에 대한 정보와 현재의 RTP 세션의 품질에 대한 정보를 전달하기 위한 프로토콜

  16. RTP 프로토콜의 주요 동작 • PT필드(7bit) • RTP헤더 다음에 오는 데이터가 어떻게 캡슐화 되었는지에 대한 코덱 정보를 제공. • 0 : G711 u-law • 2 : G726 32Kbps • 3 : GSM • 4 : G723 • 8 : G711 a-law • 15 : G728 • 18 : G729

  17. RTP 프로토콜의 주요 동작(2) • 패킷리오더링 • Sequence Number(16bit) • Reassemble : 패킷 헤더의 시퀀스 넘버를 보고 패킷을 모아서 원래의 파일로 복원하는 작업 • 지터(jitter) • IP네트워크에서 링크의 혼잡도에 따라 패킷의지연값이 유동적인데 이러한 보이스패킷의 지연시간의 편차 • Dejitter버퍼 (Play out Delay 버퍼) • 지터(jitter) 현상을제거하여 미디어 스트림을 끊김 없이 재생하기 위해 운영되는 버퍼 • 시스코 장비의 경우 Dejitter버퍼의 크기가 자동으로 변하는 가변모드로 운영됨

  18. RTP 프로토콜의 주요 동작(3) • Timestanp(4Byte) • Dejitter버퍼 크기를 가변적으로 운영하기 위해 사용 • SilenceSuppression • 통화중말을 하지 않고 있을 경우 아예 보이스패킷을 만들지 않는 기술 • 컴포트노이즈 • silence suppression 동안 통화의 안정감을 주기 위해 발생시키는 소음

  19. RTP 헤더의 또 다른 기능 • Ver : Version 필드, RTP 프로토콜의 버전을 표시 • P : Padding bit, 0이면 패딩이 없다는 의미, 1이면 패딩이 이루어졌다는 의미 • X : Extension bit, RTP 헤더에 옵션 필드가 있다는 것을 표시 • CC : CSRC Count 필드, CSRC 필드가 몇 개 붙었는지를 표시 • M : Marker bit, Silence Suppressio이 끝나고 말을 시작하는 첫번째 RTP 패킷에마킹 • SSRC : Synchronization Source Identifier 필드, RTP 패킷을 만든 소스를 표시하는데 사용, 세션에서 이 값은 고유한 값이어야 함 • CSRC : Contributing Source Identifier, 옵션헤더로 컨퍼런스를 할 경우에 사용,

  20. RTP 헤더 압축하기 • 이더넷 헤더+ 데이터링크 트레일러 : 18Byte • IP 헤더 : 20 Byte • UDP 헤더 : 8 Byte • RTP 헤더 : 12 Byte  오버헤드의 총합 : 58Byte • RTP 패킷이G.729 패킷이고, 20ms씩 패킷화 된 것이라면 보이스 페이로드의 크기는 20Byte

  21. RTP 헤더 압축하기 1ms  8 Byte, 10ms  80 Byte 240Byte  30ms의 양 즉 초당 33.333 회 정도 전송됨 PPP의 헤더 IP 헤더 (20Byte) + UDP 헤더 (8Byte) + RTP 헤더 (12Byte) + PPP 헤더 (6Byte) = 46Byte 헤더(46Byte) + 페이로드(240Byte) = 286Byte = 2,288bit 2,288 bit x 33.333 = 76.266.5bit

  22. Thank you for your attention!!!Any questions?

More Related