SDP   Session Description Protocol   세션 묘사 프로토콜, 세션 기술 프로토콜

(2019-03-06)

1. SDP (Session Description Protocol)인터넷 상에서 멀티미디어 세션(VoIP 등) 정보를 알려주기 위해 (Advertising),
     - `멀티미디어 세션 또는 호(呼)에 대한 정보`를 기술하는 포멧 관련 프로토콜
     * 표준 : RFC 4566 `SDP: Session Description Protocol` 

  ㅇ SDP를 사용하는 VoIP 프로토콜들 : SIP, MGCP, Megaco/H.248


2. SDP의 동작 모델

  ㅇ Offer/Answer 모델로 동작
     - SIP 요청 메세지/SIP 응답 메세지 본문에 포함되어 전달
        . 例) SIP INVITE 요청 메세지에 SDP Offer가 포함되고,
              SIP 200 OK 응답 메세지에 SDP Answer가 포함됨
     * 표준 : RFC 3264 `An Offer/Answer Model with the Session Description Protocol (SDP)`
       
  ㅇ 특히, 멀티미디어 세션 파라미터를 협상할 때 중요한 역할을 함
     - 코덱 협상과 같은 Capability Exchange를 수행


3. SDP의 세션 정보 표현세션의 이름(제목)과 사용 목적 (세션 주제 등)
  ㅇ 세션생성자세션이 활성화되는 시간 (시작과 종료 시간)
  ㅇ 세션에 포함되는 미디어 종류 및 특성 (비디오, 오디오, 비디오/오디오 포멧, 코덱 정보)
  ㅇ 세션에 속한 IP 주소, L4 프로토콜포트 주소4. SDP의 포멧/필드 구분

  ㅇ 포멧 형태
     - 필드 = 파라미터1 파라미터2 파라미터3 ... 파라미터n
        . 파라미터 간에는 빈칸을 두고, 
        . 필드 간에는 CR+LF(줄바꿈)를 둠

  ㅇ 세션 일반 정보 관련 필드   : v,a,b,c,e,i,k,o,p,s,z
     - `v=` 필드 : `v=0`
        . SDP 버젼 정보 (현재 버젼은 0)
     - `o=` 필드 : `o=username session-id version network-type address-type address`
        . 세션 설정 관련 기본 정보
        . 例) o=root 1821 1821 IN IP4 10.10.1.99
           .. username : root (사용자이름)
           .. 세션 id 및 version : `랜덤 값` 또는 `NTP(Network Time Protocol) 값`을 2번 반복
           .. network-type : IN (인터넷을 말함)
           .. address-type : IP4 (IPv4을 말함)
           .. address : 10.10.1.99 (IPv4 주소를 말함)
     - `s=` 필드 : `s=session-name`
        . 세션 명칭
     - `i=` 필드
     - `u=`,`e=`,`p=` 필드
        . 세션 정보에 대한 URI(이메일 주소전화번호)

  ㅇ 세션 시간 정보 관련 필드   : r,t
     - `i=` 필드 : `t=start-time stop-time`
        . 세션 시작과 끝을 나타내는 NTP(Network Time Protocol) 값

  ㅇ 미디어 관련 정보 관련 필드 : a,b,c,i,m,k
     - `m=` 필드 : `m=media port transport format-list`  
        . 미디어(media) 파라미터 : audio,video,application,data,telephone-event,control등
        . 포트(port) 파라미터    : UDP 포트번호들
        . 수송(transport) 파라미터 : 
           .. RTP(Realtime Transport Protocol)/AVP(Audio Video Profile)
        . format-list 파리미터   : 여러 코덱 종류들을 열거함 (a 필드에 구체화)
     - `a=` 필드 
        . a=ptime < value >
        . a=maxptime < value >
        . a=framerate < value >
        . a=rtpmap < payload type > < encoding name >/< clock rate >
                      [/< encoding parameters >]
        . a=readonly
        . a=sendonly
        . a=sendrecv
        . a=inactive
        . a=tmtp < parameters >

SIP
   1. SIP   2. SDP   3. SIP 구성요소   4. SIP 메세지   5. SIP 메소드   6. SIP 호처리   7. SBC   8. SIP URI  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"