SIP - Mobilità
Personal mobilityè la capacità di avere un identificatore costante su un numero di dispositivi. SIP supporta la mobilità personale di base utilizzando il metodo REGISTER, che consente a un dispositivo mobile di modificare il proprio indirizzo IP e il punto di connessione a Internet ed essere ancora in grado di ricevere le chiamate in arrivo.
SIP può anche supportare service mobility - la capacità di un utente di mantenere gli stessi servizi quando è mobile
Mobilità SIP durante la consegna (pre-chiamata)
Un dispositivo associa il proprio URI di contatto con l'indirizzo del record mediante una semplice registrazione SIP. In base all'indirizzo IP del dispositivo, la registrazione autorizza l'aggiornamento automatico di queste informazioni nella rete SIP.
Durante la consegna, lo User-agent si instrada tra diversi operatori, dove deve registrarsi nuovamente con un contatto come AOR con un altro fornitore di servizi.
Ad esempio, prendiamo l'esempio del seguente flusso di chiamate. UA che ha temporaneamente ricevuto un nuovo URI SIP con un nuovo fornitore di servizi. L'UA esegue quindi una doppia registrazione:
La prima registrazione è con il nuovo operatore di servizi, che lega l'URI di contatto del dispositivo con l'URI AOR del nuovo provider di servizi.
La seconda richiesta REGISTER viene reindirizzata al fornitore di servizi originale e fornisce l'AOR del nuovo fornitore di servizi come URI di contatto.
Come mostrato più avanti nel flusso delle chiamate, quando arriva una richiesta alla rete del fornitore di servizi originale, INVITE viene reindirizzato al nuovo fornitore di servizi che quindi instrada la chiamata all'utente.
Per la prima registrazione, il messaggio contenente l'URI del dispositivo sarebbe:
REGISTER sip:visited.registrar1.com SIP/2.0
Via: SIP/2.0/UDP 172.22.1.102:5060;branch = z9hG4bK97a7ea349ce0fca
Max-Forwards: 70
To: Tom <sip:[email protected]>
From: Tom <sip:[email protected]>;tag = 72d65a24
Call-ID: [email protected]
CSeq: 1 REGISTER
Contact: <sip:[email protected]:5060>
Expires: 600000
Content-Length: 0
Il secondo messaggio di registrazione con l'URI di roaming sarebbe:
REGISTER sip:home.registrar2.in SIP/2.0
Via: SIP/2.0/UDP 172.22.1.102:5060;branch = z9hG4bKah4vn2u
Max-Forwards: 70
To: Tom <sip:[email protected]>
From: Tom <sip:[email protected]n>;tag = 45375
Call-ID:[email protected]
CSeq: 6421 REGISTER
Contact: <sip:[email protected]>
Content-Length: 0
Il primo INVITE rappresentato nella figura sopra verrebbe inviato a sip: registrar2.in; il secondo INVITE verrebbe inviato a sip: sip: [email protected], che verrebbe inoltrato asip:[email protected]. Raggiunge Tom e consente di stabilire la sessione. Periodicamente è necessario aggiornare entrambe le registrazioni.
Mobilità durante una chiamata (re-invito)
L'agente utente può cambiare il suo indirizzo IP durante la sessione mentre passa da una rete all'altra. Il SIP di base supporta questo scenario, poiché è possibile utilizzare un re-INVITO in una finestra di dialogo per aggiornare l'URI del contatto e modificare le informazioni sui media nell'SDP.
Dai un'occhiata al flusso delle chiamate menzionato nella figura sottostante.
Qui, Tom rileva una nuova rete,
Utilizza DHCP per acquisire un nuovo indirizzo IP e
Esegue un re-INVITE per consentire la segnalazione e il flusso multimediale al nuovo indirizzo IP.
Se l'UA può ricevere i media da entrambe le reti, l'interruzione è trascurabile. In caso contrario, alcuni pacchetti multimediali potrebbero andare persi, provocando una leggera interruzione della chiamata.
Il re-INVITE apparirà come segue:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 172.22.1.102:5060;branch = z9hG4bK918f5a84fe6bf7a
Max-Forwards: 70
To: <sip:[email protected]>
From: sip:[email protected];tag = 70133df4
Call-ID: 76d4861c19c
CSeq: 1 INVITE
Accept: application/sdp
Accept-Language: en
Allow: INVITE,ACK,CANCEL,BYE,INFO,OPTIONS,REFER,NOTIFY,SUBSCRIBE
Contact: <sip:172.22.1.102:5060>;
Content-Type: application/sdp
Content-Length: 168
v = 0
o = PPT 40467 40468 IN IP4 192.168.2.1
s = -
c = IN IP4 192.168.2.1
b = AS:49
t = 0 0
b = RR:0
b = RS:0
a = rtpmap:97 AMR/8000/1
m = audio 6000 RTP/AVP 96
a = fmtp:102 0-15
a = ptime:20
a = maxptime:240
Il re-INVITE contiene il nuovo indirizzo IP di Bowditch nei campi dell'intestazione Via e Contatto e le informazioni sui media SDP.
Mobilità in Midcall (con sostituzione intestazione)
Nella mobilità midcall, il set di route effettivo (set di proxy SIP che i messaggi SIP devono attraversare) deve cambiare. Non possiamo usare un re-INVITE nella mobilità a metà chiamata
Ad esempio, se è necessario un proxy per l'attraversamento NAT, è necessario modificare l'URI del contatto: è necessario creare una nuova finestra di dialogo. Quindi, deve inviare un nuovo INVITO con un'intestazione Sostituisce, che identifica la sessione esistente.
Note - Supponiamo che A e B siano entrambi in una chiamata e se A ottiene un altro INVITO (diciamo da C) con un'intestazione di sostituzione (dovrebbe corrispondere alla finestra di dialogo esistente), allora A deve accettare l'invito e terminare la sessione con B e trasferire tutte le risorse a dialogo appena formato.
Il flusso delle chiamate è mostrato nella figura seguente. È simile al flusso di chiamate precedente utilizzando re-INVITE tranne per il fatto che viene generato automaticamente un BYE per terminare la finestra di dialogo esistente quando viene accettato l'invito con i sostituti.
Di seguito sono riportati i punti da notare in questo scenario:
La finestra di dialogo esistente tra Tom e Jerry include il vecchio server proxy visitato.
La nuova finestra di dialogo che utilizza la nuova rete wireless richiede l'inclusione del nuovo server proxy visitato.
Di conseguenza, Tom invia un INVITO con sostituzioni, che crea una nuova finestra di dialogo che include il nuovo server proxy visitato ma non il vecchio server proxy visitato.
Quando Jerry accetta l'invito, viene automaticamente inviato un BYE per terminare la vecchia finestra di dialogo che passa attraverso il vecchio server proxy visitato che ora non è più coinvolto nella sessione.
La sessione multimediale risultante viene stabilita utilizzando il nuovo indirizzo IP di Tom dall'SDP in INVITE.
Mobilità dei servizi
I servizi in SIP possono essere forniti in proxy o in UA. Fornire mobilità ai servizi insieme alla mobilità personale può essere difficile a meno che i dispositivi dell'utente non siano configurati in modo identico con gli stessi servizi.
SIP può supportare facilmente la mobilità dei servizi su Internet. Quando è connesso a Internet, un UA configurato per utilizzare un set di proxy in India può ancora utilizzare tali proxy durante il roaming in Europa. Non ha alcun impatto sulla qualità della sessione multimediale poiché il supporto scorre sempre direttamente tra i due UA e non attraversa i server proxy SIP.
I servizi residenti nell'endpoint sono disponibili solo quando l'endpoint è connesso a Internet. Un servizio di terminazione come un servizio di inoltro di chiamata implementato in un endpoint avrà esito negativo se l'endpoint ha temporaneamente perso la connessione Internet. Quindi alcuni servizi vengono implementati nella rete utilizzando server proxy SIP.