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

 
        최근수정     요약목록     참고문헌