SDP ( Engelska Session Description Protocol ) är ett nätverksprotokoll för applikationslager som är utformat för att beskriva en session för strömmande dataöverföring , inklusive telefoni ( PSTN och VoIP ), internetradio , multimediaapplikationer .
En SDP-session kan implementera flera dataströmmar . SDP definierar för närvarande ljud, video, data, kontroll och applikationer (strömning) som liknar MIME- e-posttyper i internetadresser.
Ett SDP-meddelande som skickas från en nod till en annan kan indikera:
Även om SDP ger möjligheten att beskriva multimediadata, saknar den mekanismerna för att förhandla fram sessionsparametrar som peers avser att använda. RFC 3264 tillhandahåller en erbjudande/svarsförhandlingsmodell där noder utbyter SDP-meddelanden för att nå en överenskommelse om dataformatet som ska utbytas.
SDP- meddelandefält ingår ofta i telefonisignaleringsprotokollmeddelanden som SIP och MGCP . Således kompletterar SDP samtalsstyrningsprocessen genom att utföra funktionerna att beskriva parametrarna för en mediasession.
Låt oss överväga vilka fält som kan användas i SDP-meddelanden. Valfria element är markerade med en "*" i listan.
Obs: För en detaljerad beskrivning av alla möjliga fält och värdekrav, se RFC 4566 .
Raden m= innehåller det exakta namnet på mediet (möjliga värden är ljud , video eller meddelande ), den exakta transportadressen ( port ) och en uppräkning av stödda datatyper efter siffror (nyttolasttyp).
i=* (mediatitel) c=* (anslutningsinformation - valfritt om det anges i sessionsparametrar) b=* (information om den upptagna bandbredden för kommunikationskanalen) k=* (krypteringsnyckel) a=* (noll eller fler strängar som beskriver mediaattribut, se nedan)Raden a= kan innehålla följande parametrar:
Exempel SDP-meddelandet ovan innehåller följande information. En användare utan bokstavsidentifierare begär en SDP-session med identifierare 1815849 och version 0. IN-parametern anger nätverksprotokollet för sessionsskaparen, i detta exempel är "IN" Internet, IP4 är IP-adresstypen för sessionsskaparen, i detta exempel IPv4 . Sessionsinitiatorns adress 194.167.15.181. Namnet på enheten som initierar sessionen är Cisco. Mediatrafik förväntas på enheten med IP-adress 194.167.15.181, på port 20062.
Sessionens start- och sluttider är inte strikt begränsade (t=0 0).
Den här enheten stöder en uppsättning RTP-mediaströmsparametrar och kodningsmetoder (RTP-profiler) som beskrivs av nyttolasttyperna 99, 18, 100 och 101. Detta indikeras på raden m=ljud. Nedan, på raderna a=rtpmap, finns en specifikation av datatypsparametrar - codec-attribut, eftersom vissa typer är dynamiska och inte kan bestämmas unikt, helt enkelt med m=ljudraden.
Så, med datatyp 99, betyder den här enheten G.729b röstcodec och en samplingsfrekvens på 8000Hz (G.729 Annex B, med stöd för brusreducering ). Dynamisk datatyp 101 i detta fall är möjligheten att ta emot DTMF-toner (telefonhändelse) enligt standarden som beskrivs i RFC 2833 . Enligt raden a=fmtp för typ 101 kan enheten arbeta med DTMF-händelser från 0 till 15. Alla SIP-enheter måste stödja DTMF-händelser från 0 till 15, vilket är nummer 0-9 (siffror), 10 är en asterisk » (*) , 11 är ett hashmärke (#) och 12-15 är AD-tecken.
X-NSE Type 100 är en NSE-specifik codec som används av Cisco som en intern version av IETF Standard Named Telephony Events (NTEs), som är speciellt märkta datapaket som används för digital överföring av toner och telefonihändelser.
Det finns ingen specifikation för nyttolast typ 18, och det kan betyda att enheten stöder G.729 röstcodec, tillsammans med en enklare variant av samma codec som beskrivs i bilaga A (eller G.729a codec), eftersom datatyp 18 är unikt fixat för dessa codecs.
Den givna ordningen för uppräkning av codecs indikerar också prioriteringarna för att välja en eller annan codec ur denna enhets synvinkel.
TCP / IP-protokoll efter lager av OSI-modellen | Grundläggande|
---|---|
Fysisk | |
kanaliserad | |
nätverk | |
Transport | |
session | |
Representation | |
Applicerad | |
Annat ansökt | |
Lista över TCP- och UDP-portar |
Programvara för IP- telefoni | |
---|---|
Protokoll | |
Klientprogramvara | |
Serverprogramvara | |
Webbservice | |
jämförelse |