Passa al contenuto principale

5.5. Processing a Local Description (Elaborazione di una descrizione locale)

5.5. Processing a Local Description (Elaborazione di una descrizione locale)

Quando viene fornito un SessionDescription a setLocalDescription, DEVONO essere eseguiti i passaggi seguenti:

  • Se la descrizione è di tipo "rollback", seguire l'elaborazione definita nella sezione 5.7 e saltare l'elaborazione descritta nel resto di questa sezione.

  • Altrimenti, il tipo del SessionDescription viene verificato rispetto allo stato corrente del PeerConnection:

    • Se il tipo è "offer", lo stato del PeerConnection DEVE essere "stable" oppure "have-local-offer".

    • Se il tipo è "pranswer" o "answer", lo stato del PeerConnection DEVE essere "have-remote-offer" oppure "have-local-pranswer".

  • Se il tipo non è corretto per lo stato corrente, l'elaborazione DEVE arrestarsi e DEVE essere restituito un errore.

  • Il SessionDescription viene quindi verificato per assicurarsi che il suo contenuto sia identico a quello generato nell'ultima chiamata a createOffer/createAnswer e quindi non sia stato alterato, come discusso nella sezione 5.4; in caso contrario, l'elaborazione DEVE arrestarsi e DEVE essere restituito un errore.

  • Quindi, il SessionDescription viene analizzato in una struttura dati, come descritto nella sezione 5.8 di seguito.

  • Infine, il SessionDescription analizzato viene applicato come descritto nella sezione 5.9 di seguito.