Passa al contenuto principale

5.3.3. Numeri di apparizione e trasferimento

Durante un'operazione di trasferimento, è importante che il numero di apparizione non cambi durante l'operazione. Considera l'esempio di Alice, un membro di un gruppo di apparizioni condivise, che sta parlando con Carol, che è al di fuori del gruppo di apparizioni condivise. Carol trasferisce Alice a David, che è anche al di fuori del gruppo di apparizioni condivise. Ad esempio, se Alice sta utilizzando l'apparizione 3 per la sessione con Carol, la sessione risultante con David dovrebbe anche utilizzare il numero di apparizione 3. Altrimenti, un cambio di numero di apparizione può causare un "salto" sull'interfaccia utente e confusione per l'utente. Ci sono due possibili scenari utilizzando la terminologia della RFC 5589: Alice è il trasferito in qualsiasi tipo di trasferimento (riceve il REFER) o il target di trasferimento in un trasferimento assistito (riceve l'INVITE con Replaces).

Se Alice è il trasferito, l'INVITE innescato dal REFER viene trattato come una chiamata di consultazione. Alice DOVREBBE pubblicare richiedendo che l'agente di apparizione non assegni un numero di apparizione per questo INVITE. Quando il trasferimento è completato, Alice DOVREBBE pubblicare di nuovo per spostare il numero di apparizione dal dialogo con Carol al dialogo con David. Se viene inviato un PUBLISH per spostare il numero di apparizione, la pubblicazione DEVE essere inviata prima di inviare il BYE a Carol per evitare una condizione di gara in cui l'agente di apparizione riassegna il numero di apparizione dopo aver visto il BYE.

Se Alice è il target, l'INVITE in arrivo conterrà un campo di intestazione Replaces. Di conseguenza, l'agente di apparizione avrà riutilizzato il numero di apparizione del dialogo con Carol, e questo numero di apparizione continuerà ad essere utilizzato dopo che il dialogo con Carol è stato terminato.