4. Protocol Operation (Fonctionnement du protocole)
4. Protocol Operation (Fonctionnement du protocole)
L'échange d'offre et de réponse (offer/answer) suppose l'existence d'un protocole de couche supérieure (tel que SIP) capable d'échanger le SDP (Session Description Protocol, protocole de description de session) aux fins d'établissement de session entre agents.
Le fonctionnement du protocole commence lorsqu'un agent envoie une offre initiale (initial offer) à un autre agent. Une offre est initiale si elle est en dehors de tout contexte déjà établi par le protocole de couche supérieure. On suppose que ce protocole assure la maintenance d'un contexte permettant d'associer les différents échanges SDP.
L'agent qui reçoit l'offre PEUT générer une réponse (answer), ou PEUT rejeter l'offre. Les moyens de rejeter une offre dépendent du protocole de couche supérieure. L'échange offre/réponse est atomique ; si la réponse est rejetée, la session revient à l'état antérieur à l'offre (qui peut être l'absence de session).
À tout moment, chaque agent PEUT générer une nouvelle offre qui met à jour la session. Cependant, il NE DOIT PAS générer une nouvelle offre s'il a reçu une offre à laquelle il n'a pas encore répondu ou qu'il n'a pas rejetée. De plus, il NE DOIT PAS générer une nouvelle offre s'il a déjà généré une offre antérieure pour laquelle il n'a pas encore reçu de réponse ou de rejet. Si un agent reçoit une offre après en avoir envoyé une, mais avant d'en avoir reçu la réponse, il s'agit d'une condition de "glare" (collision).
Le terme glare était à l'origine employé dans les réseaux télécoms à commutation de circuits pour décrire le cas où deux commutateurs tentent simultanément de saisir le même circuit disponible sur la même liaison. Ici, cela signifie que les deux agents ont tenté d'envoyer une offre mise à jour en même temps.
Le protocole de couche supérieure doit fournir un moyen de résoudre de telles situations. Il doit également permettre d'ordonner les messages dans chaque direction. SIP satisfait à ces exigences [7].