4.1.10. SessionDescriptionType
4.1.10. SessionDescriptionType
Les objets de description de session (RTCSessionDescription) peuvent être de type "offer", "pranswer", "answer" ou "rollback". Ces types fournissent des informations sur la façon dont le paramètre de description doit être analysé et comment l'état multimédia doit être modifié.
"offer" indique qu'une description DOIT être analysée comme une offre; ladite description peut inclure de nombreuses configurations multimédias possibles. Une description utilisée comme "offre" peut être appliquée à tout moment lorsque la PeerConnection est dans un état "stable" ou appliquée en tant que mise à jour d'une "offre" précédemment fournie mais sans réponse.
"pranswer" indique qu'une description DOIT être analysée comme une réponse, mais pas une réponse finale, et ne DOIT donc PAS entraîner la libération des ressources allouées. Elle peut entraîner le démarrage de la transmission multimédia, si la réponse ne spécifie pas une direction multimédia inactive. Une description utilisée comme "pranswer" peut être appliquée en réponse à une "offre" ou en tant que mise à jour d'une "pranswer" précédemment envoyée.
"answer" indique qu'une description DOIT être analysée comme une réponse, l'échange offre/réponse DOIT être considéré comme complet, et toutes les ressources (décodeurs, candidats) qui ne sont plus nécessaires DEVRAIENT être libérées. Une description utilisée comme "réponse" peut être appliquée en réponse à une "offre" ou en tant que mise à jour d'une "pranswer" précédemment envoyée.
La seule différence entre une réponse provisoire et une réponse finale est que la réponse finale entraîne la libération de toutes les ressources inutilisées qui ont été allouées suite à l'offre. En tant que tel, l'application peut utiliser une certaine discrétion quant à savoir si une réponse doit être appliquée comme provisoire ou finale et peut changer le type de la description de session selon les besoins. Par exemple, dans un scénario de bifurcation en série, une application peut recevoir plusieurs réponses "finales", une de chaque point de terminaison distant. L'application pourrait choisir d'accepter les réponses initiales comme réponses provisoires et n'appliquer une réponse comme finale que lorsqu'elle en reçoit une qui répond à ses critères (par exemple, un utilisateur en direct au lieu d'une messagerie vocale).
"rollback" est un type de description de session spécial indiquant que la machine d'état DOIT être ramenée à l'état "stable" précédent, comme décrit dans la Section 4.1.10.2. Le contenu DOIT être vide.