4. Exigences et recommandations (Requirements and Recommendations)
Le but de SDP est de transmettre des informations sur les flux de médias dans les sessions multimédias pour permettre aux destinataires d'une description de session de participer à la session. SDP est principalement destiné à être utilisé avec les protocoles Internet, bien qu'il soit suffisamment général pour pouvoir décrire des conférences multimédias dans d'autres environnements réseau. Les flux de médias peuvent être de plusieurs à plusieurs. Les sessions n'ont pas besoin d'être continuellement actives.
Jusqu'à présent, les sessions basées sur le multicast sur Internet diffèrent de nombreuses autres formes de conférence en ce sens que toute personne recevant le trafic peut rejoindre la session (à moins que le trafic de la session ne soit crypté). Dans un tel environnement, SDP remplit deux objectifs principaux. Il s'agit d'un moyen de communiquer l'existence d'une session et d'un moyen de transmettre suffisamment d'informations pour permettre de rejoindre et de participer à la session. Dans un environnement unicast, seul ce dernier objectif est susceptible d'être pertinent.
Une description SDP comprend les éléments suivants :
- Nom et objectif de la session
- Heure(s) à laquelle la session est active
- Les médias composant la session
- Informations nécessaires pour recevoir ces médias (adresses, ports, formats, etc.)
Comme les ressources nécessaires pour participer à une session peuvent être limitées, certaines informations supplémentaires peuvent également être souhaitables :
- Informations sur la bande passante qui sera utilisée par la session
- Coordonnées de la personne responsable de la session
En général, SDP doit transmettre suffisamment d'informations pour permettre aux applications de rejoindre une session (à l'exception possible des clés de chiffrement) et d'annoncer les ressources qui seront utilisées à tous les non-participants qui pourraient avoir besoin de savoir. (Cette dernière fonctionnalité est principalement utile lorsque SDP est utilisé avec un protocole d'annonce de session multicast.)
4.1. Informations sur les médias et le transport (Media and Transport Information)
Une description SDP comprend les informations sur les médias suivantes :
- Le type de média (vidéo, audio, etc.)
- Le protocole de transport de média (RTP/UDP/IP, H.320, etc.)
- Le format du média (vidéo H.261, vidéo MPEG, etc.)
En plus du format de média et du protocole de transport, SDP transmet les détails de l'adresse et du port. Pour une session multicast IP, ceux-ci comprennent :
- L'adresse du groupe multicast pour le média
- Le port de transport pour le média
Cette adresse et ce port sont l'adresse de destination et le port de destination du flux multicast, qu'il soit envoyé, reçu ou les deux.
Pour les sessions IP unicast, les éléments suivants sont transmis :
- L'adresse distante pour le média
- Le port de transport distant pour le média
La sémantique de l'adresse et du port dépend du contexte. Typiquement, cela devrait (SHOULD) être l'adresse distante et le port distant vers lesquels le média doit être envoyé ou reçu. Les détails peuvent différer en fonction du type de réseau, du type d'adresse, du protocole et du média spécifiés, et selon que le SDP est distribué en tant qu'annonce ou négocié dans un échange offre/réponse [RFC3264]. (Par exemple, certains types d'adresses ou protocoles peuvent ne pas avoir de notion de port.) S'écarter du comportement typique doit être fait avec prudence car cela complique les implémentations (y compris les intermédiaires qui doivent analyser les adresses pour ouvrir des trous de traduction d'adresse réseau (Network Address Translation, NAT) ou de pare-feu).
4.2. Informations temporelles (Timing Information)
Les sessions peuvent être limitées ou illimitées dans le temps. Qu'elles soient limitées ou non, elles peuvent n'être actives qu'à des moments spécifiques. SDP peut transmettre :
- Une liste arbitraire d'heures de début et de fin délimitant la session
- Pour chaque limite, des heures de répétition telles que "tous les mercredis à 10h pendant une heure"
Ces informations temporelles sont globalement cohérentes, indépendamment du fuseau horaire local ou de l'heure d'été (voir section 5.9).
4.3. Obtention d'informations supplémentaires sur une session (Obtaining Further Information about a Session)
Une description de session pourrait transmettre suffisamment d'informations pour décider de participer ou non à une session. SDP peut inclure des pointeurs supplémentaires sous forme d'identificateurs de ressources uniformes (Uniform Resource Identifiers, URIs) [RFC3986] pour plus d'informations sur la session. (Notez que l'utilisation d'URI pour indiquer des ressources distantes est soumise aux considérations de sécurité de [RFC3986].)
4.4. Internationalisation (Internationalization)
La spécification SDP recommande l'utilisation du jeu de caractères ISO 10646 dans l'encodage UTF-8 [RFC3629] pour permettre la représentation de nombreuses langues différentes. Cependant, pour faciliter les représentations compactes, SDP permet également l'utilisation d'autres jeux de caractères tels que [ISO.8859-1.1998] lorsque cela est souhaité. L'internationalisation ne s'applique qu'aux sous-champs de texte libre (nom de session et informations générales), et non à SDP dans son ensemble.