SIP Protocolo de sinalização que permite a configuração, estabelecimento e término de uma sessão fim-a-fim para comunicação multimídia.

Slides:



Advertisements
Apresentações semelhantes
Suporte para Serviços de Multimídia e Gerência de Sessões
Advertisements

Mestrado Profissional em Computação Uece-IFCE Disciplina: Protocolos
Bruno Rafael de Oliveira Rodrigues
Configuração de um servidor DHCP
CPU – based DoS Attacks Against SIP Servers
MODELO DE REFERÊNCIA OSI
Interação Cliente Servidor
Redes de Computadores 2 - Camada de Aplicação (HTTP) –
Criptografia e segurança de redes Chapter 14
Prof. Marco Aurelio N. Esteves
Sistemas Distribuídos
TCP/IP CAMADA DE APLICAÇÃO SERVIÇOS
Recomendação H.323 da ITU-T
Tópicos de Sistemas de Informação A
Funcionalidades e Protocolos da Camada de Aplicação
Modelo de referência OSI
SIP Session Initiation Protocol
Redes de Computadores II 2009/02 Aluna: Ana Luiza Dallora Moraes Professores: Luís Henrique Maciel Kosmalski Costa Otto Carlos Muniz Bandeira Duarte.
Tópicos de Sistemas de Informação A
Redes Aula 7 Professor: Marcelo Maia.
Funcionalidade e Protocolos da Camada de Aplicação
O Modelo OSI Guilherme Guimarães.
CCNA 1 – Modelos OSI e TCP/IP
HTTP Hypertext Transfer Protocol.
Redes de Computadores II 2009/02 Aluna: Ana Luiza Dallora Moraes Professores: Luís Henrique Maciel Kosmalski Costa Otto Carlos Muniz Bandeira Duarte.
Dynamic MANET On- Demand (DYMO) Universidade Federal do Rio de Janeiro Programa de Engenharia Elétrica Natalia Castro Fernandes Professor: Luís Henrique.
NetBIOS Acadêmicos: Rubens Hiroshi Suzuqui Valmir Ferreira Marques
CET-IMRSI ARST S I P S D P Luis Ribeiro Nº 61962
Comunicação de dados Protocolos básicos de enlace de dados.
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO 1 Pilha de Protocolos Multimídia.
Igor Vaz Priscilla Dinau. SIP: histórico Desenvolvido em meados da década de 90 pela IETF (Internet Engineering Task Force) MMUSIC Working Group; 1996:
Davidson Rodrigo Boccardo
IIS Web Server.
Border Gateway Protocol
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Módulo 3 Implantação do IPv6.
DHCP Dynamic Host Configuration Protocol
© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 1 SIP: Session Initiation Protocol [RFC 3261] Visão a longo prazo do SIP: r todas as ligações.
Falso, HTTP usa TCP. 1) HTTP usa arquitetura cliente servidor, aceitando conexões UDP na porta 80.
Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães.
7 © 2005 by Pearson Education SIP  Session Initiation Protocol  Desenvolvido pelo IETF Visão de longo prazo do SIP  Todas chamadas telefônicas.
VOIP asterisc. Planeamento Montagem e Manutenção de Redes e Equipamentos Informáticos 2 Real-Time Protocol (RTP) É a norma aberta para transferência de.
Transmissão de Dados O Modelo de Referência TCP/IP
Domain Name System - Sistema de Nomes de Domínios
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 RIP versão 1 Protocolos e Conceitos de Roteamento – Capítulo 5.
Arquitectura tcp. Camada tcp Ao contrário do protocolo UDP, o TCP representa um grande incremento de qualidade relativamente ao protocolo IP que lhe serve.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Administração e Projeto de Redes
Transmissão Multimídia: Internet2
INE5630 Segurança em Computação Distribuída 1 MIP x HIP Um Estudo Sobre Segurança Em Redes Móveis Gino Dornelles Calebe Augusto do Santos Florianópolis,
DHCP Dynamic Host Configutation Protocol Charles Felipe Oliveira Viegas Douglas Xavier T. de Oliveira.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
TCP/IP.
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Engenharia Elétrica – Telecomunicações - PUCPR
Linguagem de Programação Web Karine Alessandra Córdova.
Rede de Computadores MAT164 – Redes de Computadores I Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação.
Redes de Computadores 2 - Camada de Aplicação (Princípios Básicos) –
Protocolos de Comunicação e Passagem de Mensagens
Modelo de referência TCP/IP Redes de comunicação de dados Professor Cristiano José Cecanho.
Segurança Perimetral - Firewall
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
Escola de Ciência e Tecnologia Arquitetura TCP/IP Arquitetura TCP/IP Interface entre o Nível Lógico e Físico Protocolo IP Etienne César R. de Oliveira.
Centro Federal de Educação Tecnológica do RN Redes de Computadores Curso Superior em Redes de Computadores Camada de Rede Prof. Sales Filho.
Escola de Ciência e Tecnologia Arquitetura TCP/IP Arquitetura TCP/IP Protocolos TCP, UDP e ICMP Etienne César R. de Oliveira
Escola de Ciência e Tecnologia Arquitetura TCP/IP Arquitetura TCP/IP Interface entre o Nível Lógico e Físico Protocolo IP Etienne César R. de Oliveira.
Redes de Computadores e Aplicações – Camada de Rede Protocolos de Roteamento dinâmico RIP IGOR ALVES.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Servidor WEB IGOR ALVES. O protocolo HTTP 1990 surgimento da aplicação www Grande quantidade de informação que pode ser acessada por demanda Buscadores.
Transcrição da apresentação:

SIP Protocolo de sinalização que permite a configuração, estabelecimento e término de uma sessão fim-a-fim para comunicação multimídia.

SIP – Funções Básicas Convite de usuários para participar de sessões multimídia; Localização do destino do usuário; Transporte de informações que permitam o estabelecimento da sessão; Modificações de sessões já existentes; Encerramento de Sessões; Indicação de presença e transporte de mensagens instantâneas.

SIP - Histórico Desenvolvido pelo grupo MMUSIC do IETF. Definição do protocolo: Versão 1.0 : 1997 - Draft; Versão 2.0 : março 1999 - RFC 2543; Correções : julho de 2000 – RFC 3261.

SIP - Características Incorpora elementos de protocolos usados na Internet: HTTP (Hyper Text Transport Protocol): utiliza estrutura cliente/servidor e url / uri; SMTP (Simple Mail Transport Protocol): utiliza forma de codificação em texto e campos de cabeçalho (to, from e subject, entre outros)

SIP - Características Trabalha em conjunto com outros protocolos; Mobilidade pessoal; Utiliza, preferencialmente, transporte sem conexão e não confiável para a sinalização (UDP): acelera o estabelecimento de chamadas.

SIP H.323 Aplicação Sinal de Áudio Sinal de Vídeo Dados SDP Sinal De G.711 G.728 T.127 G.722 G.729 H.261 SIP G.723.1 H.263 T.126 Apresentação Sessão Transporte RTCP RAS RTP RTCP RAS RTP T.124 Serviços Suplementa. T.125 / T.122 H.450.3 H.450.2 H.235 H.450.1 X.224.0 Controle H.245 H.225 UDP TCP UDP TCP Rede Enlace Física

SIP Conexão simplificada; Inspirou mudanças no H.323: H.323v2 : Fast Connect; H.323v5: Sinalização sobre UDP.

SIP – Exemplo de conexão Mensagens SIP são codificadas em formato texto; Mensagens são pedidos ou respostas (cliente/servidor) - transações;

SIP – Exemplo de conexão INVITE sip:marconi@radio.org SIP/2.0 Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b Max-Forwards: 70 To: G. Marconi <sip:Marconi@radio.org> From: Nikola Tesla <sip:n.tesla@high-voltage.org>;tag=76341 Call-ID: 123456789@lab.high-voltage.org CSeq: 1 INVITE Subject: About That Power Outage... Contact: <sip:n.tesla@lab.high-voltage.org> Content-Type: application/sdp Content-Length: 158 v=0 o=Tesla 2890844526 2890844526 IN IP4 lab.high-voltage.org s=Phone Call c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000

SIP – Exemplo de conexão Corpo SDP da mensagem INVITE Parâmetro SDP v=0 Versão o=Tesla 2890844526 2890844526 IN IP4 lab.high-voltage.org Origem s=Phone Call Assunto c=IN IP4 100.101.102.103 Conexão t=0 0 Tempo m=audio 49170 RTP/AVP 0 Mídia a=rtpmap:0 PCMU/8000 Atributos

SIP – Exemplo de conexão SIP/2.0 180 Ringing Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b ;received=100.101.102.103 To: G. Marconi <sip:marconi@radio.org>;tag=a53e42 From: Nikola Tesla <sip:n.tesla@high-voltage.org>>;tag=76341 Call-ID: 123456789@lab.high-voltage.org CSeq: 1 INVITE Contact: <sip:marconi@tower.radio.org> Content-Length: 0

SIP – Exemplo de conexão SIP/2.0 200 OK Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b ;received=100.101.102.103 To: G. Marconi <sip:marconi@radio.org>;tag=a53e42 From: Nikola Tesla <sip:n.tesla@high-voltage.org>;tag=76341 Call-ID: 123456789@lab.high-voltage.org CSeq: 1 INVITE Contact: <sip:marconi@tower.radio.org> Content-Type: application/sdp Content-Length: 155 v=0 o=Marconi 2890844528 2890844528 IN IP4 tower.radio.org s=Phone Call c=IN IP4 200.201.202.203 t=0 0 m=audio 60000 RTP/AVP 0 a=rtpmap:0 PCMU/8000

SIP – Exemplo de conexão ACK sip:marconi@tower.radio.org SIP/2.0 Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bK321g Max-Forwards: 70 To: G. Marconi <sip:marconi@radio.org>;tag=a53e42 From: Nikola Tesla <sip:n.tesla@high-voltage.org>;tag=76341 Call-ID: 123456789@lab.high-voltage.org CSeq: 1 ACK Content-Length: 0

Elementos da Arquitetura SIP

Elementos da Arquitetura SIP User Agents SIP Presence Agents Back-to-Back User Agents (B2BUA) SIP Gateways Servidores SIP Servidores Proxy: Statefull, Stateless, Fork Servidores de Redirecionamento Servidores de registro

Elementos da Arquitetura SIP User Agents User Agent Client (UAC) São os terminais finais da Comunicação; Enviam requisições SIP; User Agent Server (UAS) Escutam as requisições de chamada; Geram as respostas SIP; USER AGENT: UAC + UAS Suporte obrigatório ao SDP.

Elementos da Arquitetura SIP Presence Agents RFC 3265 - Session Initiation Protocol (SIP) - Specific Event Notification São dispositivos capazes de receber pedidos de subscrição e gerar notificações; Podem agir como servidores de informação de presença ou como proxy, encaminhando pedidos de subscrição para outros agentes de presença.

Elementos da Arquitetura Back-to-Back User Agents (B2BUA) Dispositivos que recebem uma requisição, reformulam e enviam como uma nova requisição; Exemplo: Gateway de aplicação (ALG) de alguns firewalls.

Elementos da Arquitetura SIP Gateways Aplicação que faz interface entre uma rede SIP e outra usando outro protocolo de sinalização; O gateway pode necessitar terminar tanto a sinalização quanto o tráfego multimídia (RTP)

Elementos da Arquitetura SIP User Agents SIP Presence Agents Back-to-Back User Agents (B2BUA) SIP Gateways Servidores SIP Servidores Proxy: Statefull, Stateless, Fork Servidores de Redirecionamento Servidores de registro

Elementos da Arquitetura Servidores Proxy Encaminham as requisições para outros servidores; Geralmente utiliza uma banco de dados ou um serviço de localização para determinar o encaminhamento (determina the next hop); Não geram requisições, apenas respondem (A requisição CANCEL é uma exceção); Não têm capacidade multimídia; Não altera o corpo da mensagem, apenas o cabeçalho: cada proxy no caminho acrescenta um campo VIA na mensagem para estabelecer a rota; Podem ser Statefull ou StateLess; Pode duplicar o pedido para múltiplos destinos (forking).

Elementos da Arquitetura Topologia comum: o trapézio SIP

Elementos da Arquitetura Servidores Proxy Stateless Processa cada requisição apenas baseado no conteúdo da mensagem; Quando a resposta voltar, usa o cabeçalho Via para saber qual o próximo hop; Não retransmite mensagens; Podem ocorrer loops: verificação através do campo Max-Forwards (RFC 3261)

Elementos da Arquitetura Servidores Proxy Statefull O servidor guarda informações sobre a transação até ocorrer uma resposta “200 OK” ou resposta de erro; Retransmite a requisição se não receber resposta, liberando o user agent desta função; Necessário para requisições multicast.

Elementos da Arquitetura Servidores Proxy de Bifurcação (Forking Proxies) São servidores Proxy Statefull (guardam informações das transações) pois podem duplicar e enviar cópias dos pedidos para várias máquinas, permitindo que elas possam ser usadas para tentar contatar vários pontos finais pertencentes à mesma pessoa.

Elementos da Arquitetura Servidores de Redirecionamento São servidores que respondem mas não encaminham requisições. Utilizam banco de dados ou serviço de localização para procurar o usuário e responde com uma mensagem de redirecionamento (3xx).

Elementos da Arquitetura Servidores de Registro (Registrar) Recebem registro sobre a atual localização do usuário, acionados por servidores de redirecionamento ou proxy quando se quer procurar o usuário; Endereço de configuração all SIP servers: sip.mcat.net:224.0.1.75; Cada registro possui um tempo de vida; Se o terminal se mover e desejar modificar os parâmetros, pode enviar um pedido de cancelamento.

Mensagens SIP

Mensagens SIP Mensagens SIP são codificadas em formato texto ISSO 10646 com codificação UTF-8; Mensagens são pedidos (requests) ou respostas (responses) Linha de início: pedido ou resposta Cabeçalhos Linha em branco Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME... Formato genérico da mensagem SIP. Fonte Telefonia IP - HERSENT, Oliver, GUIDE,David, PETIT, Jean-Pierre.

Mensagens SIP CABEÇALHO Possui diversos campos, sendo alguns presentes tanto em pedidos como respostas; Na maioria dos casos, segue as regras do cabeçalho HTTP: Nome do Campo: campo/valor <CRLF> Muitos cabeçalhos possuem forma compacta (uma única letra para indicar o nome campo);

Mensagens SIP Forma compacta de cabeçalhos SIP Campo Compactado Accept-Contact a Allow-Event u Call-ID i Contact m Content-Encoding e Content-Length l Content-Type c Event o From f Refer-To r Referred-By b Reject-Contact j Subject s To t Via v

Mensagens SIP CABEÇALHO - CAMPOS MAIS COMUNS: CALL-ID : obrigatório em pedidos e respostas, é um identificador único para identificar uma chamada. É composto de um identificador aleatório único localmente seguido do nome de um domínio ou endereço IP. Ex: Call-ID: 34a5d553192cc35@15.34.3.1 i: 35866383092031257@port34.carrier.com

Mensagens SIP CABEÇALHO - CAMPOS MAIS COMUNS: CSeq: obrigatório nas requisições, o campo de seqüência de comando é usado para determinar pedidos fora de seqüência ou diferencia entre uma nova requisição e uma retransmissão. Composto de um número decimal (incrementado a cada novo pedido, exceto no ACK ou CANCEL) seguido do método. Ex: Cseq: 12 INVITE

Mensagens SIP CABEÇALHO - CAMPOS MAIS COMUNS: From: obrigatório em pedidos e respostas, indica a origem da requisição. Contém uma URI (Universal Resource Identifier); Os endereços SIP são URLs (Uniform Request Location) Esquema: sip/http/ftp/email, Nome do Usuário, Senha(Opcionalmente), Nome do Host (Porta Opcional), Parâmetros, Cabeçalhos e Corpo Permite o uso de outros prefixos, além do sip, facilitando a integração com a internet e permitindo o redirecionamento. Ex: sip:aluno@ufrn.br; tag=123456

Mensagens SIP URIs mais comuns em mensagens SIP Prefixo Significado sips Secure SIP URI tel Telephone URI pres Presence URI im Instant Message URI mailto E-mail URL http Web URL

Mensagens SIP CABEÇALHO - CAMPOS MAIS COMUNS: To : indica o destino pretendido da requisição. Contém uma URI (Universal Resource Identifier) e um tag para auxiliar na identificação da chamada (obrigatório na RFC 3261). Ex: sip:aluno2@ufrn.br; tag=654321 To e From são copiados dos pedidos nas respostas, não são alterados os campos. Indicam sentido de origem do pedido.

Via : SIP/2.0/UDP proxysip.ufrn.br Mensagens SIP CABEÇALHO - CAMPOS MAIS COMUNS: VIA: usado pra gravar a rota de um pedido, para que as respostas usem o mesmo caminho. O user agent gera a requisição colocando seu próprio endereço no campo Via. Cada proxy acrescenta um campo Via no topo da lista. O campo Via contém o nome e versão do protocolo, transporte e endereço, além de parâmetros adicionais como received, maddr (endereço multicast) e ttl. Ex: Via : SIP/2.0/UDP proxysip.ufrn.br

Encaminhamento VIA Resposta Recebida pelo servidor Descarte a mensagem O primeiro campo Via é o endereço do servidor? Descarte a mensagem Não Encaminhamento VIA Sim Remova a primeira linha VIA Há um segundo campo VIA? A mensagem é para este servidor. Encaminhe a resposta para o endereço VIA. Não Sim Não Existe o parâmetro maddr? Existe o parâmetro received? Encaminhe para o end. multicast maddr Encaminhe para o end. received Sim Sim Não

Mensagens SIP CABEÇALHO - CAMPOS MAIS COMUNS: Campos que se relacionam com o corpo da mensagem: Content-Type: descreve o tipo de conteúdo do corpo da mensagem. Ex: Content-Type: application/sdp Content-Type: multipart/mixed Content-Lenght: o tamanho do corpo da mensagem em octetos

Mensagens SIP CABEÇALHO - CAMPOS MAIS COMUNS: Max-Forwards: campo utilizado para indicar o máximo de hops que o pedido pode fazer. O valor é decrementado por cada proxy que encaminhar o pedido. Um proxy que receba o campo com valor 0 descarta a mensagem e retorna uma mensagem de erro 483 (Too Many Hops). Obrigatório na RFC 3261 para controle de loop (feito pelo campo Via na RFC 2543).

Mensagens SIP CABEÇALHO Muitos outros campos foram definidos e tem uso de acordo com a requisição ou resposta: Accept, Accept-Encoding, Accept-Language, Alert-Info, Allow, Allow-events, Authentication-Info, Authorization, Call-Info, Contact, Content-Disposition, Content-Encoding, Content-Language, Content-Length, Content-Type, Date, Error-Info, Expires, In-Reply-To, Max-Forwards, Min-Expires, MIME-Version, Organization, Priority, Proxy-Authenticate, Proxy-Authorization, Proxy-Require, Record-Route, Reply-To, Require, Retry-After, Route, Server, Subject, Supported, Timestamp, Unsupported, User-Agent, Warning, WWW-Authenticate;

LISTA DE CAMPOS QUE PODEM INSERIDOS OU MODIFICADOS POR PROXIES Mensagens SIP LISTA DE CAMPOS QUE PODEM INSERIDOS OU MODIFICADOS POR PROXIES Alert-Info Call-Info Content-Length Date Error-Info Max-Forwards Organization Priority Proxy-Authenticate Proxy-Authorization Proxy-Require Record-Route Reason Require Route Via WWW-Authenticate CABEÇALHO Proxies não necessitam entender novos métodos e campos de cabeçalho: extensões podem ser feitas ao protocolo sem necessitar mudança da estrutura de rede.

Mensagens SIP Linha de início: pedido ou resposta Cabeçalhos Linha em branco Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME... Linha de início: determina se a mensagem é um pedido ou uma resposta. Composta de método, uri e versão do SIP. Ex: INVITE sip:aluno@ufrn.br SIP/2.0

Mensagens SIP Requisições e respostas Pedidos, requisições ou métodos especificam a ação a ser tomada por outro user agent ou servidor. A RFC 3261 define 6 métodos: INVITE, REGISTER, BYE, ACK, CANCEL E OPTIONS. Outros 7 métodos são definidos em outras RFCs: REFER, SUBSCRIBE, NOTIFY, MESSAGE, UPDATE, INFO e PRACK; Respostas contém um código de status e uma frase de justificativa inteligível por pessoas. Podem ser informativas (1xx), de Sucesso (2xx), de redirecionamento (3xx), de erro de cliente (4xx).

Mensagens SIP Requisições - INVITE É o método utilizado para estabelecer sessões entre user agents; Sempre é confirmado com ACK; Geralmente possui um corpo que descreve as informações de mídias da origem; O User agent cria um Call-ID para ser usado enquanto durar a chamada.

Mensagens SIP Requisições - INVITE CSeq é utilizado para controle de retransmissões; No caso de ser necessário mudar as características da mídia, um re-INVITE pode ser usado com o CSeq incrementado; Os clientes transmitem INVITE com backoff exponencial: 500ms, 1s, 2s, 4s. Retransmissões cessam quando chegam respostas provisórias (100 trying).

Mensagens SIP Requisições - ACK Método usado para confirmação final para requisições INVITE; O CSeq não é incrementado para o ACK, mas alterado para a próxima requisição; Opcionalmente, pode conter uma mensagem SDP; Para respostas 2xx (sucesso), o ACK é fim-a-fim, mas todas as outras são hop-by-hop quando statefull proxies estão envolvidos.

Mensagens SIP Requisições – BYE Método usado para encerrar uma sessão já estabelecida; Enviado apenas pelos users agents envolvidos, nunca por proxies; É um método fim-a-fim;

Mensagens SIP Requisições – CANCEL Método utilizado para terminar buscas pendentes ou tentativas de chamadas. O pedido pode ser gerado pelos user agents ou proxies que receberam uma mensagem informativa provisória (1xx) mas não receberam a mensagem final.

Mensagens SIP Requisições – OPTION Método utilizado para um cliente saber sobre as capacidades do servidor. A resposta contém uma lista dos métodos permitidos.

Mensagens SIP Requisições – REGISTER Método utilizado pelo user agent para notificar a rede SIP da sua localização atual (Contact URI – IP Address – um ou mais endereço).

Mensagens SIP Requisições de outras RFCs Requisições RFC 3261 REFER SUBSCRIBE NOTIFY MESSAGE UPDATE INFO PRACK. Requisições RFC 3261 INVITE REGISTER BYE ACK CANCEL OPTIONS.

Mensagens SIP Requisições REFER: método usado por um user agent para requisitar que outro user agent acesse uma URI ou URL. Pode ser utilizado, por exemplo, para implementar uma transferência de chamada; SUBSCRIBE: método usado por um user agent para estabelecer uma inscrição com o propósito de receber notificações (Ex: informações de presença - online/offline) NOTIFY: método usado para transportar informações sobre eventos particulares, definidos na subscrição; MESSAGE: usado para transporte de mensagens instantâneas usando SIP. Pode conter anexos MIME

Mensagens SIP Requisições UPDATE: usado para modificar o estado da sessão sem mudança de estado do diálogo. Usado no lugar de re-INVITE enquanto o INVITE não foi confirmado. INFO: usado para que o user agent envie informações de sinalização da chamada para outro agente com o qual estabeleceu uma conexão multimídia. Diferente do re-INVITE pois não muda as características da sessão. Proposto para transportar algumas informações de sinalização PSTN; PRACK: ACK provisório, utilizado para reconhecimento de mensagens provisórias (1xx).

RESPOSTAS Mensagens SIP Respostas contém um código de status e uma frase de justificativa inteligível por pessoas. Classes de Status Code: 100-199 (1XX) :Informação Provisória 200-299 (2XX) :Sucesso 300-399 (3XX) :Redirecionamento 400-499 (4XX) :Erro no Cliente 500-599 (5XX) :Erro no Servidor 600-699 (6XX) :Falha Global

RESPOSTAS Mensagens SIP Status Code Cabeçalho da Resposta 100-199 : são consideradas respostas provisórias e sem confiabilidade; 200-699 :são as respostas finais, definitivas, terminam uma transação no ambiente SIP. Cabeçalho da Resposta Os campos Call-ID, To, From,CSeq são espelhadas em respostas para suportar o match (verificação) de campos entre requisição e resposta.

Mensagens SIP Categorias de códigos de status 1xx Informativo (Pedido recebido, continuando a processar o pedido) 100 Tentando 180 Chamando 181 A chamada está sendo retransmitida Colocado na fila 2xx Sucesso (a ação foi recebida, entendida e aceito com sucesso) OK 3xx Redirecionamento (uma ação adicional deve ser tomada para completar o pedido) 300 Múltiplas escolhas 301 Movido permanentemente 302 Movido temporariamente 380 Serviço alternativo

Mensagens SIP Categorias de códigos de status 4xx Erro de cliente (O pedido contém sintaxe inválida ou não pode ser efetuado neste servidor) 400 Pedido inválido 401 Não autorizado 402 Necessário pagamento 403 Proibido 404 Não encontrado 405 Método não permitido 406 Não aceitável 407 Necessária autenticação do proxy Tempo para o pedido esgotado Conflito 410 Não mais presente 411 Necessário fornecer comprimento 413 Corpo da mensagem de pedido muito grande 414 URI do pedido muito grande 415 Tipo de mídia não suportado 420 Extensão inválida 480 Temporariamente não disponível 481 Transação ou leg de chamado não existe 482 Laço (loop) detectado 483 Excesso de segmentos (hops) 484 Endereço incompleto 485 Ambíguo

Mensagens SIP Categorias de códigos de status 5xx Erro de servidor 500 Erro interno ao servidor 501 Não implementado 502 Gateway inválido 503 Serviço não disponível 504 Tempo esgotado no gateway Versão SIP não suportada 6xx Falha global 600 Ocupado em todos os lugares 603 Declínio 604 Não existe em lugar nenhum 606 Não aceitável

Mensagens SIP Linha de início: pedido ou resposta Cabeçalhos Linha em branco Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME... Corpo da mensagem: obrigatoriamente deve suportar SDP. Pode utilizar formato MIME (Multipurpose Internet Mail Extensions) e S/MIME para aumentar a segurança (criptografia do corpo da mensagem).

Session Description Protocol SDP Session Description Protocol

SDP : Session Description Protocol O Protocolo de descrição de Sessão – SDP - foi desenvolvido para descrever sessões de multimídia. Esta descrição pode ser usada para negociar uma aceitação de um conjunto de tipos de mídias compatíveis.

SDP : Session Description Protocol O SDP contém informações sobre a sessão, tais como: Endereço IP ou host name; Número da Porta (usada pelo UDP ou pelo TCP); Tipo de mídia (áudio, vídeo, whiteboard interativo); Assunto da sessão; Tempo de inicio; Informações de contato. Assim como o SIP, SDP usa codificação textual. Uma mensagem SDP é composta de uma série de linhas, chamadas campos, cujos nomes são abreviados por uma única letra.

SDP : Session Description Protocol Lista dos principais campos SDP, em sua ordem requerida. Campo Nome obrigatório/opcional v= Número da versão do protocolo obrigatório o= Identificador do proprietário da sessão s= Nome da Sessão i= Informação da sessão opcional u= Uniform Resource Identifer e= Endereço de e-mail p= Número de telefone c= Informações de conexão b= Informação sobre largura de banda t= Tempo – início e fim da sessão r= Número de repetições z= Correções de zonas de horário k= Chave de criptografia m= Informações de mídia a= Atributos da mídia

SDP : Session Description Protocol Informações de capacidade de Mídia (m=) O campo opcional m= contém informações sobre os tipos de mídias: m=mídia porta transporte lista-de-formatos Sendo: mídia: audio, video, application, data, telephone ou control; porta: número da porta; transporte: protocolo de transporte – RTP/AVP ou UDP; lista-de-formatos: contém os tipos de payload definido nos perfis RTP de aúdio e vídeo; Exemplo: m=audio 49170 RTP/AVP 0

SDP : Session Description Protocol Informações de capacidade de Mídia (m=) Payloads RTP de 0 a 95 são estáticos, designados pela IANA (Internet Assigned Numbers Authority). Ex: m=audio 49170 RTP/AVP 0 Payloads de 96 a 127 são dinâmicos, negociados pelo protocolo de controle de conferência. Ex: m=audio 49170 RTP/AVP 98 a=rtmap:98 L16/16000/2 Tipo de payload Codec Áudio PCM, µ law 8 PCM, a law 9 G.722 4 G.723 15 G.728 18 G.729 34 Vídeo H.263 31 H.261 (Áudio estéreo com codificação de linear de 16 bits amostrado a 16 kHz)

SDP : Session Description Protocol Exemplo SDP v=0 o=johnston 2890844526 2890844526 IN IP4 43.32.1.5 s=SIP Tutorial i=This broadcast will cover this new IETF protocol u=http://www.digitalari.com/sip e=Alan Johnston alan@mci.com p=+1-314-555-3333 (Daytime Only) c=IN IP4 225.45.3.56/236 b=CT:144 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 m=video 23422 RTP/AVP 31 a=rtpmap:31 H261/90000

Mensagens SIP Linha de início: pedido ou resposta Cabeçalhos Linha em branco Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME...

SIP Operação do Protocolo

Operação do Protocolo Negociação da sessão Destino recebe INVITE com SDP especificando o formato de mídia / codec desejado; Pedido pode ser aceito ou rejeitado; Resposta lista os tipos de mídia disponíveis. Se aceito, possui o mesmo tipo (payload RTP);

Operação do Protocolo Localização de usuário Requisições podem passar por vários servidores proxy; Cada servidor chega se é responsável pelo domínio requisitado, caso contrario repassa para o servidor SIP do domínio correspondente; Servidores SIP são registrados no DNS através de registros SRV (DNS location of services ) ou NAPTR (Naming Authority Pointer).

Localização de Usuários Operação do Protocolo Localização de Usuários

sip:aluno2@ufrn.br Invite 200 OK ACK SIP Stateless Proxy SIP Statefull Proxy 2 Invite 200 OK Caminho da Sinalização Invite 200 OK ACK SIP Statefull Proxy 1 Invite Moved Temporarily ACK SIP Redirect Server Invite 200 OK ACK sip:aluno@ufrn.br Mídia (RTP)

Operação do Protocolo

SIP x H.323 SIP H.323 Codificação em modo texto, fácil de depurar; Uso de url como identificador de protocolo / possibilidade de redirecionamento; Priorização de chamadas; Protocolo SDP descreve os tipos de mídia; Multicast possível na sinalização; Servidores com diferentes comportamentos: registro, proxy, redirecionamento; Protocolo de sinalização presença e mensagens instantâneas H.323 Codificação binária ASN.1, tamanho da PDU menor Uso de e-mail, mas presumindo que o protocolo é H.323; Não faz priorização de chamada; Sub-Protocolos: H.245, H225 (Q.931, RAS, RTP/RTCP), H.450.x. Recursos poderosos para controle de conferência; Servidor único Gatekeeper H.323

SIP x H.323 Ambos usam RTP/RTCP sobre UDP/IP; Velocidade de Conexão SIP inspirou mudanças na Conexão H.323 (uso de Fast Connect) e possibilidade de sinalização sobre UDP; SIP tem suporte para DNS e url desde o início, enquanto H.323 começou sem nenhum suporte; Enquanto o H.323 tem o conceito de MCU desde o início, SIP inicialmente não tinha definido mecanismos de conferência; Utilização de gateways SIP-H.323.