SDP는 멀티미디어를 전달하는 RTP 프로토콜에 대한 세부적인 내용을 협상합니다.
SDP의 Capability Exchange를 주도하는 라인은 m= 와 a= 로 RTP가 사용할 코덱, IP 주소, 포트넘버가 자세히 명기됩니다. SDP 메세지를 생성하는 UA는 자신이 지원가능한 모든 코덱과 능력을 아래와 같이 명기합니다.
m=audio 16444 RTP/AVP 0 8 18 101
a=rtpmap:0 PCMU/8000
a=ptime:20
a=rtpmap:8 PCMA/8000
a=ptime:20
a=rtpmap:18 G729/8000
a=ptime:20
a=sendrecv
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
- m= (미디어 설명)
Media Description으로 Media, Port, Protocol, Format을 정의합니다.
- Media : audio, video, text, application, message로 표시
- Port : 미디어가 전송될 전송포트(Transport port) 표시
- Protocol : UDP, RTP/AVP, RTP/SAVP로 표시하며 AVP는 Audio VIdeo Profile의 약자
- Format : 미디어의 포맷을 서브필드 (a=)로 표시함을 의미
Payload Type 0 8 18의 순서는 코덱협상의 우선순위를 나타내며, Payload Type 101은 DTMF 이벤트를 정의합니다. 각 포맷에 대한 상세 설명은 a=에 표시됩니다.
- a= (미디어 속성)
미디어 속성(attribute)을 정의합니다.
- a=rtpmap : payload type, encoding name/clock rate를 표시
- a=ptime : paket time으로 미디어 패킷 한 개가 포함한 시간 정보로 ms로 표시 (보통 20ms)
- a=fmtp : 미디어 포맷에 대한 파미미터를 정의 - a= (미디어의 방향)
미디어 속성 뿐만 아니라 미디어 방향도 표시합니다. 미디어의 방향은 아래와 같이 4가지로 나타냅니다.
- a=sendrecv : 단말은 미디어를 송신 및 수신할 수 있음
- a=recvonly : 단말은 수신만을 할 수 있으며 송신하지 않음
- a=sendonly : 단말은 송신만을 할 수 있으며 수신하지 않음
- a=inactive : 단말은 송신 및 수신을 할 수 없음 (Hold 버튼을 누를 경우)
별도의 업급이 없을 경우에는 a=sendrecv로 설정되었다고 가정합니다. 미디어의 방향은 다양한 부가서비스 구현 시 유용합니다.
- a= (DTMF 협상)
DTMF 전달에 관한 협상도 진행합니다.
- a=rtpmap:101 telephone-event.8000 (RFC 2833에 의한 In-band DTMF를 의미)
- a=fmtp 101 0-15 (DTMF Tone은 0,1,2,3,4,5,6,7,8,9,0,*,#,A,B,C,D 총 15가지를 송수신함)
출처: https://www.nexpert.net/497 [NExpert]
'webrtc' 카테고리의 다른 글
About WebRTC_basic (0) | 2019.04.11 |
---|---|
[해석] WebRTC SFU Load Testing (Alex Gouaillard) (0) | 2018.12.13 |