SIP - Mobilidade
Personal mobilityé a capacidade de ter um identificador constante em vários dispositivos. O SIP oferece suporte à mobilidade pessoal básica usando o método REGISTER, que permite que um dispositivo móvel mude seu endereço IP e ponto de conexão com a Internet e ainda seja capaz de receber chamadas.
SIP também pode suportar service mobility - a capacidade de um usuário de manter os mesmos serviços quando móvel
Mobilidade SIP durante a transferência (pré-chamada)
Um dispositivo vincula seu URI de contato com o endereço de registro por um simples registro sip. De acordo com o endereço IP do dispositivo, o registro autoriza a atualização automática dessa informação na rede sip.
Durante a transferência, o Agente do Utilizador faz o percurso entre diferentes operadores, onde tem de se registar novamente com um Contacto como AOR de outro prestador de serviços.
Por exemplo, vamos dar o exemplo do seguinte fluxo de chamada. UA que recebeu temporariamente um novo URI SIP com um novo provedor de serviços. O UA então realiza um registro duplo -
O primeiro registro é com o novo operador de serviço, que vincula o URI de contato do dispositivo com o URI de AOR do novo provedor de serviço.
A segunda solicitação de REGISTRO é roteada de volta para o provedor de serviço original e fornece o AOR do novo provedor de serviço como o URI de contato.
Conforme mostrado posteriormente no fluxo da chamada, quando uma solicitação chega à rede do provedor de serviço original, o CONVITE é redirecionado para o novo provedor de serviço que então encaminha a chamada para o usuário.
Para o primeiro registro, a mensagem contendo o URI do dispositivo seria -
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
A segunda mensagem de registro com o URI de roaming seria -
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]>;tag = 45375
Call-ID:[email protected]
CSeq: 6421 REGISTER
Contact: <sip:[email protected]>
Content-Length: 0
O primeiro CONVITE que é representado na figura acima seria enviado para sip: registrar2.in; o segundo CONVIDADO seria enviado para sip: sip: [email protected], que seria encaminhado parasip:[email protected]. Alcança Tom e permite que a sessão seja estabelecida. Periodicamente, ambos os registros precisariam ser atualizados.
Mobilidade durante uma chamada (novo convite)
O Agente do Usuário pode alterar seu endereço IP durante a sessão conforme ele muda de uma rede para outra. O SIP básico oferece suporte a esse cenário, pois um novo CONVITE em um diálogo pode ser usado para atualizar o URI de contato e alterar as informações de mídia no SDP.
Dê uma olhada no fluxo de chamadas mencionado na figura abaixo.
Aqui, Tom detecta uma nova rede,
Usa DHCP para adquirir um novo endereço IP e
Executa um novo CONVITE para permitir a sinalização e o fluxo de mídia para o novo endereço IP.
Se o UA puder receber mídia de ambas as redes, a interrupção será insignificante. Se não for esse o caso, alguns pacotes de mídia podem ser perdidos, resultando em uma ligeira interrupção da chamada.
O re-CONVIDAR aparecerá da seguinte maneira -
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
O re-CONVITE contém o novo endereço IP do Bowditch nos campos de cabeçalho Via e Contato e informações de mídia SDP.
Mobilidade no meio da chamada (com substituir cabeçalho)
Na mobilidade no meio da chamada, o conjunto de rotas real (conjunto de proxies SIP que as mensagens SIP devem percorrer) deve ser alterado. Não podemos usar um re-CONVIDAR na mobilidade no meio da chamada
Por exemplo, se um proxy for necessário para o NAT traversal, o URI do contato deve ser alterado - um novo diálogo deve ser criado. Portanto, ele deve enviar um novo INVITE com um cabeçalho Replaces, que identifica a sessão existente.
Note - Suponha que A e B estejam em uma chamada e se A receber outro CONVITE (digamos de C) com um cabeçalho de substituição (deve corresponder ao diálogo existente), então A deve aceitar o CONVITE e encerrar a sessão com B e transferir todos os recursos para diálogo recém-formado.
O fluxo de chamadas é mostrado na figura a seguir. É semelhante ao fluxo de chamada anterior usando re-INVITE, exceto que um BYE é gerado automaticamente para encerrar o diálogo existente quando o INVITE com o Replaces é aceito.
A seguir estão os pontos a serem observados neste cenário -
A caixa de diálogo existente entre Tom e Jerry inclui o antigo servidor proxy visitado.
A nova caixa de diálogo usando a nova rede sem fio requer a inclusão do novo servidor proxy visitado.
Como resultado, um INVITE with Replaces é enviado por Tom, o que cria um novo diálogo que inclui o novo servidor proxy visitado, mas não o antigo servidor proxy visitado.
Quando Jerry aceita o INVITE, um BYE é enviado automaticamente para encerrar o antigo diálogo que roteia através do antigo servidor proxy visitado que agora não está mais envolvido na sessão.
A sessão de mídia resultante é estabelecida usando o novo endereço IP de Tom do SDP no INVITE.
Mobilidade de Serviço
Os serviços em SIP podem ser fornecidos em proxies ou em UAs. Fornecer mobilidade de serviço junto com mobilidade pessoal pode ser desafiador, a menos que os dispositivos do usuário sejam configurados de forma idêntica com os mesmos serviços.
O SIP pode facilmente oferecer suporte à mobilidade de serviço pela Internet. Quando conectado à Internet, um UA configurado para usar um conjunto de proxies na Índia ainda pode usar esses proxies em roaming na Europa. Isso não tem nenhum impacto na qualidade da sessão de mídia, pois a mídia sempre flui diretamente entre os dois UAs e não atravessa os servidores proxy SIP.
Os serviços residentes no terminal estão disponíveis apenas quando o terminal está conectado à Internet. Um serviço de encerramento, como um serviço de encaminhamento de chamadas implementado em um terminal, falhará se o terminal tiver perdido temporariamente sua conexão com a Internet. Portanto, alguns serviços são implementados na rede usando servidores proxy SIP.