Mobilidade na camada de Aplicação usando o Session Initiation Protocol (SIP) Referências: • RFC 3261, IETF SIP Working Group • http://www.radvision.com ttp // ad s o co • www.cs.columbia.edu/hgs/ • www.networkcomputing.com Introdução Originalmente projetado por H. Schulzrinne (Columbia U.) e M. Handleyy (UCLondon) ( ) em 1996 SIP é um protocolo de sinalização básico para iniciar, gerenciar e terminar sessões (de texto, voz, video ou combinação destes) na internet. Pode ser usado por qualquer aplicação que requeira a iniciação de uma seção. Uma sessão SIP pode envolver um ou mais participantes (e pode usar unicast ou multicast)) p É independente do protocolo de transporte (pode ser usado com UDP, TCP ou SCTP) Mensagens são em texto 1 Endereçamento SIP Elementos endereçados por SIP são usuários em hosts (e não as máquinas) SIP Uniform Resource Locator (URL) [user@host] user = um userName ou Número de telefone host = nome de domínio ou endereço IP Descoberta de domínios/hosts é feita com DNS Endereços SIP podem ser obtidos de várias formas: i f informação ã direta di t do d usuário á i (out-of-band), ( t f b d) aprendidos através de media gateways, gravados em uma “conversa” anterior, or “chutados” (são parecidos com enderços E-mail) Entidades SIP User Agent - executam no terminal do usuário User Agent Client – componente que interage com usuário ou aplicação li ã User Agent Server – componente que responde às mensagens SIP Proxy Server – é um servidor intermediário que faz chamadas em nome de um UA Redirect server – é um UA que direciona uma chamada para um terceiro elemento Registrar – servidor que aceita REGISTROS e passas as informações recebidas para um serviço de localização 2 Tratamento da Mobilidade pelo Redirect Server O RS encaminha chamadas para nova localização, fazendo papel de roteador; Para isso consulta servidor de localização Se UA trocar de endereço IP durante a seção, aplicação precisa solicitar um novo INVITE Cada request SIP é mapeado para 0 ou mais endereços, p ç ,q que são retornados para o cliente Ao contrário do Proxy, o RS não inicia uma nova requisição SIP Ao contrário de um UA, o RS não aceita chamadas User Agent Redirect Server User Agent Proxy Agent PSTN Tipos de Mensagem SIP Requisições: q ç de cliente p para o servidor INVITE ACK BYE CANCEL OPTIONS REGISTER INFO 3 Tipos de Mensagem SIP (Cont.) Respostas: do servidor para o cliente Success Redirection Forwarding Request failure Server failure Global failure Fonte: The RADVISION SIP Whitepaper 4 SIP Estabelecimento de uma Sessão Establishment Término da Chamada [email protected] [email protected] From the RADVISION whitepaper on SIP Redirecionamento de Chamadas From the RADVISION whitepaper on SIP 5 O Proxy Server Pode localizar o outro dispositivo e criar a sessão em nome do UA. From the RADVISION whitepaper on SIP Instant messaging baseado em SIP SIMPLE – Session Inition Protocol for Instant M Messaging i and dP Presence L Leveraging i E Extensions t i SIP promete a interoperabilidade entre vários sistemas de IM SIP tem forma de acompanhar a localização do usuário, mesmo quando ele se conecta de diferentes máquinas Endereçamento SIP: username@domainName, independente de protocolos de transporte e de aplicações 6 Exemplo de SIP para Instant Messaging SIP Redirect server columbia.edu SIP proxy 2 3 SIP Proxy SIP Client 6 4 1 1 dynamic.com 1 foo.com 12 13 Location service 5 1 7 0 8 9 SIP Client SIP proxy sales.foo.com Localizando um Servidor SIP Cliente indica um Universal Resource Identifier (Request-URI), ou indica um SIP proxy server previamente i configurado fi d Se for Request-URI, cliente precisa determinar (endereço IP, protocolo, & porta) do servidor destino Usa-se DNS para obter endereço IP Cliente deve tentar contactar servidor em porta especifica ou porta 5060 Se S nenhum h protocolo t l é definido, d fi id então tã assume-se UDP Se UDP não funciona, usa-se TCP 7 Outras Aplicações do SIP PINT (PSTN and Internetworking) protocol Internet call waiting Futuro do SIP? SIP ainda é um ‘proposed standard’ Já existem vários p produtos e open p source Asterisk, FreeSWITCH, SIP Express Router, sipX, CISCO, Microsoft Office Communications Server, etc. Existem protocolos competidores – H.323 e XMPP Os produtos de IM ainda não adotaram o SIP Google anunciou que vai integrar sua extensão de XMPP (Jingle) com SIP 8