5.3.2. Numeri di apparizione e controllo delle chiamate
Quando viene generato un INVITE per tentare di collegare o prendere una chiamata (cioè, contiene Join o Replaces con un identificatore di dialogo di un altro dialogo nel gruppo di apparizioni condivise), l'UA DEVE prima inviare un PUBLISH all'agente di apparizione. Questo PUBLISH conterrà:
-
Il numero di apparizione della chiamata unita o sostituita nell'elemento
<appearance> -
Le informazioni del dialogo dal campo di intestazione Join nell'elemento
<joined-dialog>, se il dialogo viene unito -
Le informazioni del dialogo dal campo di intestazione Replaces nell'elemento
<replaced-dialog>, se il dialogo viene sostituito
Si noti che queste informazioni vengono fornite all'agente di apparizione in modo che possa fornire un comportamento di assegnazione dell'apparizione appropriato. Se l'INVITE Join o Replaces è stato inviato senza pubblicare prima, l'agente di apparizione potrebbe assegnare un nuovo numero di apparizione a questo INVITE, il che sarebbe un errore. Con Join, la pubblicazione ha l'elemento <joined-dialog> per impedire all'agente di apparizione di generare una risposta 400 (Bad Request) a causa del riutilizzo di un numero di apparizione. Per Replaces, lo scopo del <replaced-dialog> è impedire una condizione di gara in cui il BYE potrebbe causare il rilascio del numero di apparizione quando dovrebbe rimanere con il dialogo sostitutivo.