Qu’est ce que le SDP – Session Description Protocol ?

SDP est l’abréviation de Session Description Protocol. le Session Description Protocol définit un standard qui décrit les paramètres pour l’échange de média (souvent média en streaming) entre deux (normalement) points. Il a été publié par l’IETF en tant que RFC 4566. Le SDP est en général inclus dans un autre protocole, dont l’application la plus largement utilisée est le protocole SIP utilisé dans la plupart des application de téléphonie IP. En termes simples, le protocole SDP est une déclaration par un terminal habilité a transmettre des données média de ses capacités de réception. Une déclaration type devrait nous donner les informations suivantes :

  • quelle adresse IP est préparée pour recevoir le flux média entrant

  • quel numéro de port attend le flux média entrant
  • quel type de média le terminal s’attend à recevoir (typiquement audio)
  • quel protocole le terminal attend pour échanger l’information (typiquement RTP)

  • quel codage de compression le terminal est capable de décoder  (codec)

… et d’autres choses encore. dans un processus de démarrage de session typique, nous verrions deux terminaux participer à une session, où chaque terminal envoie un SDP à l’autre terminal l’informant de ses spécifications et possibilités. le SDP ne transmet pas lui-même de média, mais se limite à la négociation de paramètres d’échange de média compatibles. Le flux média lui même est géré par un autre canal et protocole. Voyons un exemple simple :

v=0
o=MyStreamer 2398026505 2307593197 IN IP4 10.20.30.40
s=MyStreamer Audio Session
c=IN IP4 10.11.12.13
t=0 0
m=audio 15010 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv

… nous voyons que le terminal déclare qu’il veut bien recevoir du média.

  • sur l’adresse IP 10.11.12.13 (le paramètre “c=”)

  • sur le port numéro 15010 (déclaré dans le paramètre “m=”)

  • de type audio (déclaré dans le paramètre “m=”)

  • via le protocole RTP, avec 2 codecs possibles numérotés 0 et 101 respectivement, où :

    • codec 0 est défini comme PCMU à 8000hz
    • codec 101 est défini comme “telephone-event” à 8000Hz (telephone-event en effet une tonalité DTMF)
    • en mode bi-directionnel (“a=sendrecv”)

Lectures complémentaires