A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SIP Session Initiation Protocol

Apresentações semelhantes


Apresentação em tema: "SIP Session Initiation Protocol"— Transcrição da apresentação:

1 SIP Session Initiation Protocol
Pedro Silveira Pisa Redes de Computadores II – Professores: Luís Henrique Maciel Kosmalski Costa Otto Carlos Muniz Bandeira Duarte SIP (Session Initiation Protocol) Autor: Pedro Silveira Pisa Professores: Luís Henrique Maciel Kosmalski Costa e Otto Carlos Muniz Bandeira Duarte Trabalho desenvolvido para a disciplina Redes de Computadores II, da UFRJ, no período     Resumo: Este documento apresenta as características básicas do protocolo SIP (Protocolo de Iniciação de Sessão, sigla do inglês), tais como sua arquitetura, formato de mensagem e classes de respostas. O protocolo SIP fornece um arcabouço para transferência de áudio, vídeo, voz e dados utilizando uma mesma conexão, denominada sessão. Neste trabalho serão abordados os principais motivos que determinaram a vitória do SIP sobre o H.323, protocolo de transferência de arquivos multimídia.  Serão apresentados ainda algumas aplicações vitoriosas que utilizam o SIP. Outubro de 2008

2 Índice Introdução SIP H.323 Aplicações Conclusão Perguntas e Respostas
Histórico SIP no Mercado SIP O Protocolo Características Lógica de uma Sessão SIP Segurança H.323 O Protocolo Comparação Aplicações Mensagens Instantâneas Presença Conferências Ad Hoc Conclusão Perguntas e Respostas SIP (Session Initiation Protocol) - Pedro Silveira Pisa

3 Introdução Histórico 1ª Versão – 1999 – RFC 2543
Modelo Requisição-Resposta Arquitetura Cliente-Servidor Baseado em SMTP HTTP Independe do Tipo de Mídia Introdução A tecnologia VoIP permite a transmissão de voz por redes TCP/IP (Protocolo de Controle de Transmissão / Protocolo de Internet), após encapsular trechos de voz em pacotes. Para a transmissão de serviços multimídia, como o VoIP, torna-se necessário estabelecer uma conexão entre o emissor e o receptor. Essa conexão é denominada sessão e os dois principais protocolos que a estabelecem são o H.323 e o SIP. O SIP é o assunto deste trabalho, que abordará aspectos históricos e mercadológicos do SIP, bem como sua estrutura técnica. O trabalho contemplará uma comparação entre os dois protocolos mais utilizados para estabelecer uma sessão e uma apresentação das aplicações vitoriosas que utilizam o protocolo de iniciação de sessão (SIP). Neste trabalho, será utilizada a nomenclatura emissor para se referir ao usuário que inicia a sessão e receptor para o usuário que é chamado à sessão. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

4 Introdução SIP no Mercado
Concentração em Agentes de Usuário (Agentes Utilizadores) Smartphones Telefones IP Aplicativos de Computadores Windows Live Messenger Anúncio Microsoft NetMeeting Exchange Conferencing Server Introdução A tecnologia VoIP permite a transmissão de voz por redes TCP/IP (Protocolo de Controle de Transmissão / Protocolo de Internet), após encapsular trechos de voz em pacotes. Para a transmissão de serviços multimídia, como o VoIP, torna-se necessário estabelecer uma conexão entre o emissor e o receptor. Essa conexão é denominada sessão e os dois principais protocolos que a estabelecem são o H.323 e o SIP. O SIP é o assunto deste trabalho, que abordará aspectos históricos e mercadológicos do SIP, bem como sua estrutura técnica. O trabalho contemplará uma comparação entre os dois protocolos mais utilizados para estabelecer uma sessão e uma apresentação das aplicações vitoriosas que utilizam o protocolo de iniciação de sessão (SIP). Neste trabalho, será utilizada a nomenclatura emissor para se referir ao usuário que inicia a sessão e receptor para o usuário que é chamado à sessão. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

5 O Protocolo SIP Protocolo de Sinalização Sessões Início Modificação
Encerramento Sessões Cliente-Servidor Independente da Mídia O Protocolo O protocolo SIP (Session Initiation Protocol) foi projetado para funcionar sobre a camada de aplicação do modelo OSI. Sua principal função é estabelecer chamadas e conferência através de redes IP, sem considerar o tipo de mídia a ser transferida. Esse protocolo é um padrão do IETF (Internet Engineering Task Force) e sua última versão, a SIPv2 foi publicada em 2002 sob a RFC 3261. O protocolo SIP pertence ao grupo dos protocolos de sinalização fim-a-fim baseado em texto, o qual sinaliza o início, a modificação e o encerramento das sessões. As sessões se baseiam no modelo cliente-servidor e independem do tipo de dado trafegado dentro do canal estabelecido. Os protocolos de sinalização para VoIP, como o SIP, devem contemplar a codificação de voz, a configuração das chamadas, o transporte de dados, o modo de autenticação, os requisitos e as tecnologias de segurança, as primitivas de comunicação, o formato do cabeçalho e do endereçamento e a sintaxe das mensagens. As funções básicas do protocolo SIP são (1): possui mecanismos para permitir que dois interlocutores estabeleçam chamadas através de uma rede IP. Através do SIP, o emissor avisa ao receptor que deseja iniciar a sessão, ambos acordam a codificação de mídia e podem encerrar a sessão; permite que o emissor determine o IP corrente do receptor, pois este pode estar em uma rede com DHCP ou mesmo utilizar vários dispositivos SIP ao mesmo tempo; contêm mecanismos que gerenciam as chamadas sem que seja necessário reiniciá-la, como adição de novas mídias, mudanças de codificação, adição de outros participantes, transferência de chamadas e chamada em espera. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

6 O Protocolo SIP Especificação Codificação de Voz/Áudio/Vídeo
Configuração das Chamadas Transporte dos Dados Modo de Autenticação Requisitos e Tecnologias de Segurança Primitivas de Comunicação Formato do Cabeçalho das Mensagens Formato de Endereçamento Sintaxe das Mensagens O Protocolo O protocolo SIP (Session Initiation Protocol) foi projetado para funcionar sobre a camada de aplicação do modelo OSI. Sua principal função é estabelecer chamadas e conferência através de redes IP, sem considerar o tipo de mídia a ser transferida. Esse protocolo é um padrão do IETF (Internet Engineering Task Force) e sua última versão, a SIPv2 foi publicada em 2002 sob a RFC 3261. O protocolo SIP pertence ao grupo dos protocolos de sinalização fim-a-fim baseado em texto, o qual sinaliza o início, a modificação e o encerramento das sessões. As sessões se baseiam no modelo cliente-servidor e independem do tipo de dado trafegado dentro do canal estabelecido. Os protocolos de sinalização para VoIP, como o SIP, devem contemplar a codificação de voz, a configuração das chamadas, o transporte de dados, o modo de autenticação, os requisitos e as tecnologias de segurança, as primitivas de comunicação, o formato do cabeçalho e do endereçamento e a sintaxe das mensagens. As funções básicas do protocolo SIP são (1): possui mecanismos para permitir que dois interlocutores estabeleçam chamadas através de uma rede IP. Através do SIP, o emissor avisa ao receptor que deseja iniciar a sessão, ambos acordam a codificação de mídia e podem encerrar a sessão; permite que o emissor determine o IP corrente do receptor, pois este pode estar em uma rede com DHCP ou mesmo utilizar vários dispositivos SIP ao mesmo tempo; contêm mecanismos que gerenciam as chamadas sem que seja necessário reiniciá-la, como adição de novas mídias, mudanças de codificação, adição de outros participantes, transferência de chamadas e chamada em espera. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

7 O Protocolo SIP Funções Estabelecimento de Chamadas
Determinação do IP do Receptor Gerenciamento de Chamadas Adição/Remoção de Mídia Mudanças de Codificação Adição/Remoção de Participantes Transferência de Chamadas Chamada em Espera O Protocolo O protocolo SIP (Session Initiation Protocol) foi projetado para funcionar sobre a camada de aplicação do modelo OSI. Sua principal função é estabelecer chamadas e conferência através de redes IP, sem considerar o tipo de mídia a ser transferida. Esse protocolo é um padrão do IETF (Internet Engineering Task Force) e sua última versão, a SIPv2 foi publicada em 2002 sob a RFC 3261. O protocolo SIP pertence ao grupo dos protocolos de sinalização fim-a-fim baseado em texto, o qual sinaliza o início, a modificação e o encerramento das sessões. As sessões se baseiam no modelo cliente-servidor e independem do tipo de dado trafegado dentro do canal estabelecido. Os protocolos de sinalização para VoIP, como o SIP, devem contemplar a codificação de voz, a configuração das chamadas, o transporte de dados, o modo de autenticação, os requisitos e as tecnologias de segurança, as primitivas de comunicação, o formato do cabeçalho e do endereçamento e a sintaxe das mensagens. As funções básicas do protocolo SIP são (1): possui mecanismos para permitir que dois interlocutores estabeleçam chamadas através de uma rede IP. Através do SIP, o emissor avisa ao receptor que deseja iniciar a sessão, ambos acordam a codificação de mídia e podem encerrar a sessão; permite que o emissor determine o IP corrente do receptor, pois este pode estar em uma rede com DHCP ou mesmo utilizar vários dispositivos SIP ao mesmo tempo; contêm mecanismos que gerenciam as chamadas sem que seja necessário reiniciá-la, como adição de novas mídias, mudanças de codificação, adição de outros participantes, transferência de chamadas e chamada em espera. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

8 Características Arquitetura Estrutura da Mensagem Comunicação
Autenticação Endereços SIP Características O protocolo SIP foca na simplicidade e, uma vez que é apenas um mecanismo de controle da sessão, apenas inicia, modifica e termina uma sessão de comunicação, não intervindo nos dados trafegados, o que torna o protocolo facilmente adaptável às mais diversas arquiteturas. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

9 Características Arquitetura Agente de Usuário Proxy SIP
Servidor de Redirecionamento Servidor de Registro Arquitetura A arquitetura do SIP é composta de quatro elementos básicos, que juntos, formam uma rede SIP: Agente do Usuário, Proxy SIP, Servidor de Redirecionamento e Servidor de Registro. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

10 Características Arquitetura Agente de Usuário Proxy SIP
Função: Interagir com o usuário do sistema SIP. Características: Envia e recebe requisições SIP. Papel: Pode atuar como cliente (UAC – Agente Utilizador Cliente) ou servidor (UAS – Agente Utilizador Servidor) Proxy SIP Servidor de Redirecionamento Servidor de Registro SIP (Session Initiation Protocol) - Pedro Silveira Pisa

11 Características Arquitetura Agente de Usuário Proxy SIP
Função: Recebe as requisições e as encaminha para servidores mais próximos do destino. Papel: Servidor intermediário. Atua como cliente e servidor. Tipo: Stateful Proxy Server e Stateless Proxy Server. Servidor de Redirecionamento Servidor de Registro SIP (Session Initiation Protocol) - Pedro Silveira Pisa

12 Características Arquitetura Agente de Usuário Proxy SIP
Servidor de Redirecionamento Função: Responde uma requisição do Agente do Usuário com o nome e a localização do usuário. Características: Não reencaminha pedidos. Servidor de Registro SIP (Session Initiation Protocol) - Pedro Silveira Pisa

13 Características Arquitetura Agente de Usuário Proxy SIP
Servidor de Redirecionamento Servidor de Registro Função: Serviço de localização. Características: Armazena registro sobre usuários. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

14 Características Estrutura da Mensagem
Cabeçalho não rígido  header:field Campos Obrigatórios To From CSeq Call-Id Max-Forwards As mensagens do protocolo SIP se assemelham com as mensagens do protocolo HTTP. Possuem o formato header:field, onde header representa o campo do cabeçalho da mensagem e field representa a informação contida neste campo do cabeçalho. O SIP utiliza a regra de ignorar os campos de cabeçalhos que não puderam ser entendidos pelo servidor. Abaixo podemos ver uma estrutura básica do cabeçalho SIP. As informações foram retiradas da RFC 3261, que especifica o protocolo SIP. Uma requisição SIP válida deve conter ao menos os campos To, From, CSeq, Call-ID e Max-Forwards, os quais são todos obrigatórios em todas as mensagens SIP.  Outros campos podem se juntar a esses. O Campo To armazena o endereço SIP do usuário alvo da requisição. Este campo deve utilizar os endereços SIP ou SIPS, mas também podem conter endereços em outros formatos especificados na RFC O agente de usuário cliente (UAC) deve ser capaz de traduzir os valores inseridos pelo usuário em endereços SIP válidos. Exemplo: To: Carol O Campo From(f) armazena o endereço SIP do transmissor de determinada requisição. Esta campo permite que os UACs implementem mecanismos de identificação de chamadas através do nome do emissor a título de informação ou de recusa automática de chamadas. O campo From deve conter um novo parâmetro denominado “tag” escolhido pelo agente de usuário cliente, o qual é responsável por marcar a chamada correspondente a aquela marcação. Exemplos: From: "Bob" ;tag=a48s / From: ;tag=887s /   From: Anonymous O campo CSeq funciona como um contador para as requisições realizadas, excetos mensagens de Ack e Cancel. Os UACs utilizam este campo para descobrir de qual requisição é a resposta recebida e os agentes de usuário servidores (UAS) o utilizam para diferenciar uma nova requisição de uma retransmissão. A informação contida neste campo consiste em um número inteiro positivo de 32 bits e da primitiva da mensagem. Exemplo: 4711 INVITE O campo Call-Id(i) identifica a chamada em curso. Ele é um identificador e possui dois elementos separados pelo caractere O primeiro elemento é gerado localmente e de forma aleatória e o segundo é o IP do remetente. Este campo diferencia maiúsculas de minúsculas e é facilmente comparado byte a byte. Exemplo: Call-ID: f81d4fae-7dec-11d0-a765- O campo Max-Fowards determina o número de saltos que uma requisição deve percorrer até o seu destino. É um valor inteiro que é reduzido de uma unidade a cada salto. Se o valor deste campo chegar a zero antes que a requisição alcance seu destino, será produzida uma mensagem de erro de código 483, que representa excesso de saltos no percurso. A especificação sugere o número 70 como padrão para este campo, por considerar um número não muito pequeno para alcançar o destino na rede SIP, sem laços (loops), e ao mesmo tempo não muito grande para consumir recursos dos servidores quando houver laços. Exemplo: Max-Forwards: 70 Outros campos para o cabeçalho do protocolo SIP podem ser encontrados em (2). SIP (Session Initiation Protocol) - Pedro Silveira Pisa

15 Características Comunicação Primitivas Invite Ack Cancel Options
Register Bye O protocolo SIP utiliza o modelo cliente-servidor para comunicação entre as entidades envolvidas no protocolo. Na sua versão 2 (RFC 3261), possui seis primitivas de comunicação: Invite Esta primitiva solicita o início de uma sessão. Nessa mensagem, podem-se determinar, através do protocolo de descrição da sessão (SDP, do inglês), os parâmetros da sessão. Caso esta primitiva seja enviada depois da sessão iniciada, ela é utilizada para alterar os parâmetros da sessão e é conhecida como Re-Invite. Ack A primitiva Ack é a confirmação de uma mensagem de Invite. O Ack deve conter a configuração dos parâmetros da sessão, caso o Invite correspondente não possua. Cancel É usada para cancelar todas as primitivas já enviadas que carecem de resposta. Options A primitiva Options requisita ao receptor uma listagem com as suas capacidades, tais como primitivas, codecs e extensões suportadas, e a sua disponibilidade. Register Essa primitiva é utilizada por um cliente que deseja registrar um apelido (alaias) de seu endereço em um servidor SIP. Bye Primitiva utilizada para terminar a sessão. Existem ainda algumas primitivas descritas nas RFCs 2976, 3428, 3265, 3262, 3903, 3515 e 3311 (2). SIP (Session Initiation Protocol) - Pedro Silveira Pisa

16 Características Comunicação Classes de Respostas 1 – Informacional
2 – Sucesso 3 – Redirecionamento 4 – Erro do Cliente 5 – Erro do Servidor 6 – Erro Global O protocolo SIP possui seis classes de respostas às requisições de um Agente de Usuário Cliente. Essas respostas são dadas pelos Agentes de Usuário Servidores ou por Servidores SIP. As classes de respostas seguem o padrão do HTTP para cinco classes e foi criada uma classe adicional de resposta para requisições específicas do SIP: 1 - Classe Informacional As mensagens recebidas que pertencem a esta classe indicam o progresso das chamadas SIP.  A primeira mensagem recebida pelo agente de usuário cliente (UAC) confirma o recebimento do Invite e indica que o UAC deve parar de mandar Invites. 2 - Classe Sucesso As mensagens de resposta enviadas com estes códigos indicam aceitação a uma requisição. No caso da primitiva Invite, deve ser enviada uma mensagem Ack. 3 - Classe Redirecionamento Esta mensagem é enviada por um servidor de redirecionamento, quando o usuário não se encontra na localização procurada e necessita a indicação da nova localização. Nesse caso, dependendo da arquitetura utilizada na rede SIP, podem ocorrer dois processos que tornam a comunicação transparente para o usuário: O UAC envia uma mensagem de Invite automaticamente para a nova localidade ou o servidor de redirecionamento envia um Ack para o UAC e redireciona a sessão para a nova localidade do receptor. 4 - Classe Erro do Cliente As mensagens pertencentes a esta classe indicam algum erro na solicitação do cliente, que deve refazê-la, seguindo as informações obtidas do erro ocorrido. 5 - Classe Erro do Servidor Estas respostas avisam o cliente que a solicitação enviada não pôde ser processada naquele servidor, mas o cliente pode enviá-la para outros servidores da rede SIP. 6 - Classe Erro Global As mensagens de erro global indicam que a requisição enviada irá falhar em qualquer servidor SIP que for enviada, não devendo o cliente reenviá-la. Para enviar este tipo de resposta, o servidor deve ter total conhecimento do destinatário da mensagem. As mensagens de respostas são enviadas com um código de três dígitos, no qual o primeiro é o código da classe de resposta e os dois últimos são os números de ordem das respostas. Porém, se um Agente de Usuário Cliente não conhecer a mensagem pelo seu código de cliente, ele deve ser capaz de entender a resposta pela classe. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

17 Características Autenticação HTTP Digest
TLS Transport Layer Security S/MIME Secure / Multipurpose Internet Mail Extensions Criptografia e Troca de Certificados Podemos dividir a autenticação no SIP em dois grupos: Entre dois UA ou entre um UA e um servidor. Os agentes de usuários devem se autenticar no início da sessão a fim de garantir que o interlocutor é realmente quem diz ser. Os servidores podem exigir uma autenticação do emissor antes de redirecionar uma chamada para o agente de usuário receptor. A autenticação pode ser feita baseando-se no HTTP Digest ou utilizando criptografia e troca de certificados. Na Figura 1, podemos observar o processo de autenticação utilizando HTTP Digest em um servidor proxy (a) e um servidor de registro (b). Na autenticação do usuário no servidor de proxy, o agente de usuário envia a requisição de começo de sessão. O servidor proxy recusa o pedido, com uma resposta de erro 407, avisando que requer autenticação e faz um desafio para o usuário. Este apresenta as suas credenciais de acesso no campo Authorization do cabeçalho da mensagem SIP, a qual possui mesmo Call-Id da mensagem recusada e CSeq incrementado de uma unidade. Se o usuário enviar as credenciais corretamente, o servidor proxy aceita a requisição e continua com os procedimentos de início da sessão. Na Figura 1b, pode-se observar a transação de autenticação de um usuário que deseja acessar um servidor de registro. Inicialmente, o agente de usuário envia uma mensagem com a primitiva Register, sem informações do usuário. Como o servidor de registro exige que o usuário seja registrado, este retorna uma mensagem 401 (UNAUTHORIZED), afirmando que exige registro. O usuário envia então uma mensagem de registro com as informações do usuário habilitado a usar o servidor. A conexão é então estabelecida e o usuário pode registrar um novo apelido no servidor. Figura 1: Processo de Autorização. Na figura a, podemos observar a autenticação em um servidor proxy e na figura b, a autenticação em um servidor de registro. No HTTP Digest, utiliza-se nome de usuário e senha para credenciar o usuário ao serviço, contudo este método não garante a segurança, pois as credencias são transmitidas em claro. O HTTP Digest deve ser utilizado com TLS (Transport Layer Security) ou com S/MIME (Secure / Multipurpose Internet Mail Extensions) para prover segurança na autenticação SIP. Para autenticar duas entidades SIP, o TLS é eficiente, mas para a autenticação de mais de duas entidades, o S/MIME se torna mais indicado. Para mais informações sobre o processo de autenticação por criptográfica e troca de certificados, deve-se consultar o trabalho de PKI deste site (3). SIP (Session Initiation Protocol) - Pedro Silveira Pisa

18 Características Endereços SIP Semelhante aos E-mails
Fácil Distribuição Localização dos Usuários Formato: Um endereço SIP tradicional é da forma como no exemplo Contudo, esta estrutura de endereçamento é de difícil memorização. Assim, foi criado um mecanismo de endereçamento que se assemelha aos endereços de , como em ou que seja simplesmente o nome próprio do usuário, desde que único. Utilizando este mecanismo de endereçamento, o servidor SIP pode encaminhar a chamada para o dispositivo que o usuário esteja usando no momento, desde um computador a um aparelho celular. Se o usuário possuir uma página pessoal e deseje divulgar seu endereço SIP para seus visitantes, basta que ele coloque o endereço na página, da mesma forma que é feito para (método não aconselhável, pois pode causar o recebimento de SPAMs). O usuário só precisa adicionar a URL e quando o visitante acessar a página e clicar nesta URL, o aplicativo SIP instalado na máquina é ativado e faz a chamada para o usuário que publicou seu endereço. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

19 Lógica de Uma Sessão no SIP
Nesta sessão examinaremos um exemplo concreto de comunicação utilizando o protocolo SIP. No exemplo, Alice deseja chamar Bob. Ambos estão utilizando computadores como aplicativos baseados no protocolo SIP instalados para fazer e receber chamadas telefônicas. Admitamos que Alice saiba o endereço IP de Bob. Figura 2: Fluxo Alice-Bob. A imagem retrata a comunicação entre Alice e Bob desde seu estabelecimento até usua interrupção. Na figura Figura 2, podemos observar que a sessão SIP é iniciada quando Alice envia uma mensagem INVITE para Bob, por UDP na porta A porta 5060 é a porta padrão do protocolo SIP e este também pode receber mensagens por TCP. Nesta mensagem, estão contidos um identificador para Bob, o endereço de Alice, o tipo de dado que Alice deseja receber: áudio em codificação AVP 0 (PCM codificado com lei µ), o protocolo de transporte RTP e a porta que ela receberá os pacotes: Ao receber esta mensagem de Alice, a campainha de Bob toca. Ao atender, Bob envia uma resposta com o código 200 OK para Alice na porta Nesta mensagem de Bob, constam o seu endereço IP, a porta em que deseja receber os pacotes de áudio utilizando o protocolo de transporte RTP: 43569, e a codificação de áudio que deseja receber os dados: AVP 3 (codificação GSM). Após receber a resposta de Bob, Alice envia uma mensagem com a primitiva ACK, confirmando que a comunicação foi estabelecida com sucesso. Observe que, neste exemplo, ambos os usuários utilizaram codificadores de voz diferentes, pois o SIP não determina o tipo da mídia que será transmitida durante a sessão. Alice deverá codificar seu áudio com GSM e Bob com a lei µ do PCM. Depois de estabelecida a sessão, utilizando a porta 5060, ambos irão transmitir os pacotes de dados para a porta especificada. Bob deve enviar os pacotes de áudio para a porta do IP Alice deve enviar os pacotes de áudio para a porta do IP Após o fim da transmissão, Bob aciona o seu aplicativo SIP para terminar a sessão. Então o agente de usuário de Bob envia uma mensagem com a primitiva BYE para Alice. Esta envia uma mensagem de resposta 200 OK, confirmando o término da sessão. A sessão é então encerrada em ambos os agentes de usuário. A partir deste pequeno exemplo, podemos aprender diversas características do protocolo SIP. A princípio, o protocolo SIP pode ser considerado como um protocolo “fora de banda” (1), ou seja, as mensagens SIP são enviadas e recebidas em portas diferentes daqueles utilizadas para o tráfego dos dados da mídia. Podemos ainda perceber que as mensagens SIP podem ser lidas utilizando o código ASCII e são parecidas com as mensagens do protocolo HTTP. Por último, podemos perceber que todas as mensagens do SIP necessitam de reconhecimento, podendo então, serem transmitidas por UDP e TCP. Ainda por este simples exemplo, podemos entender algumas características do protocolo SIP. Considerando que Bob não tenha o codificador PCM lei µ para codificar o áudio a ser enviado para Alice, ele não poderia enviar a reposta 200 OK. Bob enviaria uma mensagem de resposta com o código 600 NOT ACCEPTABLE, incluindo uma lista com todos os codificadores que ele pode utilizar. Alice deve escolher um dos codificadores da lista e re-enviar a mensagem com a primitiva INVITE para Bob, anunciando o codificador escolhido. Bob também pode recusar a chamada de Alice. Para isso, basta enviar um dos códigos de rejeição existentes no protocolo SIP, tais como: ocupado (busy), encerrado (gone), pagamento solicitado (payment required) e proibido (forbidden). SIP (Session Initiation Protocol) - Pedro Silveira Pisa

20 Segurança no SIP Aspectos Observados Garantia Controle das Chamadas
Tráfego dos Dados Privacidade dos Usuários Integridade dos dados Garantia Autenticação Confidencialidade Controle de Acesso Disponibilidade Integridade Não-repúdio Segurança no SIP A segurança em redes SIP visa evitar, basicamente, fraudes do serviço ou tentativas de sobrecarregar a rede ou algum serviço da mesma. Os principais aspectos que devem ser observados em redes SIP são: controle das chamadas e do trafego dos dados, privacidade dos usuários, integridade dos dados trafegados entre as entidades do protocolo SIP. O protocolo SIP deve garantir os seis princípios básicos de segurança em redes, a saber: autenticação, confidencialidade, controle de acesso, disponibilidade, integridade e não repúdio. Autenticação significa certificar que quem envia a mensagem é quem realmente diz ser. Confidencialidade, também conhecido como privacidade, significa garantir que só quem tem autorização para acessar ou visualizar o conteúdo o fará. Controle de Acesso permite restringir o nível de acesso aos diversos usuários autenticados. Disponibilidade significa que os recursos e serviços da rede estarão funcionando quando o usuário precisar deles. Integridade significa que os dados não serão apagados ou alterados durante a transmissão ou armazenados. Não- repúdio representa que o usuário não poderá negar a autoria de determinada transação. O SIP utiliza mecanismos de autenticação do receptor e do emissor, como visto na sessão ‎2.2.4, e de criptografia para proteger o conteúdo da mensagem. Os mecanismos utilizados para segurança em SIP são IPSec (IP Security), S/MIME e TLS. O IPSec possui dois mecanismos: Transport - proteção nas camadas superiores ao IP - ou TunnelMode - proteção completa. O S/MIME é utilizado na encriptação do conteúdo das mensagens e o TLS provê segurança no nível da camada de transporte utilizando o TCP (Transmission Control Protocol). SIP (Session Initiation Protocol) - Pedro Silveira Pisa

21 Segurança no SIP Mecanismos Autenticação (Receptor e Emissor)
Criptografia IPSec (Internet Protocol Security) Transport TunnelMode S/MIME (Secure / Multipurpose Internet Mail Extensions) Conteúdo das Mensagens TLS (Transport Layer Security) Proteção na Camada de Transporte Segurança no SIP A segurança em redes SIP visa evitar, basicamente, fraudes do serviço ou tentativas de sobrecarregar a rede ou algum serviço da mesma. Os principais aspectos que devem ser observados em redes SIP são: controle das chamadas e do trafego dos dados, privacidade dos usuários, integridade dos dados trafegados entre as entidades do protocolo SIP. O protocolo SIP deve garantir os seis princípios básicos de segurança em redes, a saber: autenticação, confidencialidade, controle de acesso, disponibilidade, integridade e não repúdio. Autenticação significa certificar que quem envia a mensagem é quem realmente diz ser. Confidencialidade, também conhecido como privacidade, significa garantir que só quem tem autorização para acessar ou visualizar o conteúdo o fará. Controle de Acesso permite restringir o nível de acesso aos diversos usuários autenticados. Disponibilidade significa que os recursos e serviços da rede estarão funcionando quando o usuário precisar deles. Integridade significa que os dados não serão apagados ou alterados durante a transmissão ou armazenados. Não- repúdio representa que o usuário não poderá negar a autoria de determinada transação. O SIP utiliza mecanismos de autenticação do receptor e do emissor, como visto na sessão ‎2.2.4, e de criptografia para proteger o conteúdo da mensagem. Os mecanismos utilizados para segurança em SIP são IPSec (IP Security), S/MIME e TLS. O IPSec possui dois mecanismos: Transport - proteção nas camadas superiores ao IP - ou TunnelMode - proteção completa. O S/MIME é utilizado na encriptação do conteúdo das mensagens e o TLS provê segurança no nível da camada de transporte utilizando o TCP (Transmission Control Protocol). SIP (Session Initiation Protocol) - Pedro Silveira Pisa

22 H.323 Agrupamento de Protocolos Protocolos Mínimos Exigidos
Sinalização de Chamadas Gerência dos Equipamentos da Rede Criptografia Transferência de Voz/Áudio e Vídeo Serviços de Transferência e Identificação de Chamadas. Protocolos Mínimos Exigidos Voz/Áudio: G.711 (Codificação PCM) Vídeo: QCIF H.261 (176 x 144 pixels) H.323 Na telefonia IP, dois protocolos disputam pelas aplicações utilizadas: o SIP e o H.323. O SIP, mais novo e mais moderno, vem ocupando o terreno que antes era do H.323. Iremos abordar nesta sessão os princípios básicos do H.323 e apresentaremos um breve comparativo com entre esses dois protocolos. O Protocolo O H.323 tem por objetivo o estabelecimento de sessões áudio visual em redes de pacotes. É constituído por uma miríade de protocolos que permitem a sinalização de chamadas, gerência dos equipamentos da rede, criptografia e transferência de voz e vídeo, bem como serviços de transferência e identificação de chamadas. A especificação do protocolo H.323 inclui uma série de especificações, a saber: O modo como os terminais escolhem o codificador comum a ser usado na comunicação de áudio ou vídeo. O protocolo H.323 aceita diversos codificadores de áudio ou vídeo e os usuários precisam utilizar o mesmo codificador comum. O modo como os pacotes de áudio e vídeo serão encapsulados e passados pela rede. O H.323 impõe o uso do protocolo RTP. O modo como os terminais interagem com os gatekeepers. Gatekeepers são entidades semelhantes aos servidores de registro do SIP. O modo como os telefones IP interagem com os telefones comuns, conectados através da rede telefônica de comutação de circuitos, através de gateways. Gateways são entidades que convertem os sinais entre diferentes meios. Os terminais H.323 devem ser capazes de suportar, no mínimo, chamadas de voz utilizando o protocolo G.711, que utiliza codificação PCM. A compatibilidade com vídeo é opcional e, por isso, os fabricantes podem oferecer dispositivos apenas com voz e com áudio e vídeo. Apesar de ser opcional, se um terminal suportar vídeo, ele deve ser, no mínimo, suportar o padrão QCIF H.261 (176 x 144 pixels). O H.323 ainda determina um protocolo de controle, o H.245, um protocolo de sinalização, o Q.931, e um protocolo RAS (Registration, Admission and Status) para registro no gatekeeper. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

23 SIP vs H.323 Padrão ITU-T Não Impõe Protocolos Especifica: Padrão IETF
Inicialização Gerenciamento Padrão IETF Impõe Protocolos Mínimos Especifica: Sinalização Registro Controle de Admissão Transporte Codificadores O H.323 é um padrão da ITU-T, união responsável por padrões de telefonia, enquanto o SIP é um padrão da IETF, grupo ligado aos padrões da Internet. Assim, o protocolo SIP se apropria de muitos conceitos da Web, do DNS, do e da Internet como um todo. O H.323 é um protocolo completo, integrado verticalmente, indicado para conferência multimídia. O protocolo especifica a sinalização, o registro, o controle de admissão, o transporte e os codificadores utilizados. O SIP apenas especifica a inicialização e o gerenciamento da sessão. O SIP funciona com RTP, G.711 e QCIF H.261, mas não os impõe, ele pode trabalhar com outros protocolos e serviços. Assim, podemos dizer que o H.323 é um protocolo grande e complexo, enquanto o SIP utiliza o princípio do KISS: mantenha a simplicidade, seu ignorante (keep it simple, stupid)! SIP (Session Initiation Protocol) - Pedro Silveira Pisa

24 Aplicações Práticas Telefonia IP - VoIP Videoconferência
Mensagens Instantâneas e Presença Conferências Ad Hoc Aplicações Práticas Nesta sessão, serão abordadas aplicações envolvendo o protocolo SIP. Existem diversas aplicações utilizando este protocolo. Muitas envolvem transferência de voz ou vídeo, utilizando sistemas de VoIP ou videoconferência. Atualmente, milhares de serviços de telefonia via IP são oferecidos para empresas e usuários domésticos. Porém, o protocolo SIP pode ser usado para outros propósitos, como mensagens instantâneas, presença e conferências ad hoc. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

25 Aplicações Práticas Mensagens Instantâneas e Presença
SIMPLE SIP for Instant Messaging and Presence Leverading Extension Windows Live Messenger Mensagens Instantâneas Envio de Mensagens de Texto, Áudio ou Vídeo Transferência de Arquivos Presença Status (Disponível, Ocupado, Ausente ou Outros) Localização do Usuário (Escritório, Casa ou Geográfico) Capacidades (Microfone, Câmera ou outros) O aplicativo Windows Live Messenger, da Microsoft, utiliza uma variação do protocolo SIP, denomidado SIMPLE (SIP for Instant messaging and Presence Leveraging Extension). Este aplicativo consiste em uma lista de usuários e ações relativas aos usuários desta lista, tais como enviar uma mensagem de texto, conversar por áudio ou por vídeo, além de transferência de arquivos e jogos. Exceto para opções de vídeo, é possível se comunicar com diversas pessoas na mesma tela de conversa, gerando assim uma conferência, por texto ou por voz. Por presença, entendem-se as informações exibidas sobre a pessoa, tais como seu status, sua localização ou mesmo suas capacidades de comunicação. Por status, temos disponível, ocupado, ausente e outros. Por localização, pode-se considerar o local do usuário, mais usado em aplicações móveis com GPS ou expressões como casa ou escritório. Por capacidades de comunicação, entende-se a existência de periféricos como microfones e câmeras. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

26 Aplicações Práticas Conferências Ad Hoc Adição/Remoção
Participantes Mídias Deficiências do SIP Entrega das Notificações de Entrada e Saída dos Participantes Identificação de Todos os Usuários Contorno das Limitações RTP (Real-time Transport Protocol) RTCP (RTP Control Protocol) Conferências Ad Hoc são conferências nas quais as mídias e os participantes podem ser adicionados e removidos a qualquer momento. O protocolo SIP permite esse tipo de conferência, utilizando voz, vídeo e texto, porém não garante a entrega das notificações de entrada e saída de participantes no grupo, assim como não permite a identificação de todos os usuários da conferência. Pra contornar estas limitações, o protocolo SIP utiliza os protocolos RTP (Real-time Transport Protocol) e o RTCP (RTP Control Protocol). SIP (Session Initiation Protocol) - Pedro Silveira Pisa

27 Conclusão Proliferação da Telefonia IP Mesmo Número
Diversos Dispositivos Simultâneos SIP Protocolo de Propósito Geral Independe do Tipo de Mídia Conclusão Pessoas de todo mundo têm trocado seus aparelhos de telefone comum pela telefonia IP. A onipresença cada vez mais real da Internet possibilita que os usuários tenham o seu número fixo em qualquer lugar, com um serviço de qualidade às vezes superior ao do telefone convencional e a um custo cada vez menor. Pessoas desejam utilizar seu aparelho celular, seu computador pessoal e sua máquina de trabalho com o mesmo endereço de contato, muitas vezes ao mesmo tempo. É nesse ambiente que se insere o protocolo SIP, permitindo a comunicação por voz ou vídeo em dispositivos conectados a Internet ou mesmo em uma rede TCP/IP interna de uma empresa ou residência. O SIP é um protocolo de inicialização e gerenciamento de sessão para propósito geral. Com o SIP, pode-se trafegar qualquer tipo de dado no interior da sessão. Pode ainda utilizar qualquer tipo de codificação, desde que os agentes de usuário sejam capazes de decodificar os dados recebidos. Devido a sua semelhança com o protocolo HTTP, o SIP apresenta simplicidade, sendo facilmente utilizado por aplicações multimídia. Diversas aplicações utilizam o protocolo SIP, atualmente, o que reflete um padrão adotado pelo mercado. A Microsoft, ao afirmar que descontinuaria os seus aplicativos baseados em H.323 e que só iria utilizar o SIP no aplicativo de mensagens instantâneas Live Messenger, forneceu enorme subsídio para o triunfo do protocolo SIP. Este trabalho apresentou as principais características do protocolo SIP, como sua arquitetura, seu formato de mensagem, seu processo de endereçamento e seus códigos de mensagens e respostas. Um exemplo simples ilustrou a lógica de uma transação utilizando o protocolo SIP para conversa por áudio. Mostrou-se ainda o protocolo H.323, um concorrente do SIP que vem perdendo terreno entre as aplicações comerciais mais utilizadas. Por fim, conhecemos um pouco das principais aplicações que utilizam o protocolo SIP para realizar suas funções. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

28 SIP Session Initiation Protocol
Pedro Silveira Pisa Redes de Computadores II – Professores: Luís Henrique Maciel Kosmalski Costa Otto Carlos Muniz Bandeira Duarte SIP (Session Initiation Protocol) Autor: Pedro Silveira Pisa Professores: Luís Henrique Maciel Kosmalski Costa e Otto Carlos Muniz Bandeira Duarte Trabalho desenvolvido para a disciplina Redes de Computadores II, da UFRJ, no período     Resumo: Este documento apresenta as características básicas do protocolo SIP (Protocolo de Iniciação de Sessão, sigla do inglês), tais como sua arquitetura, formato de mensagem e classes de respostas. O protocolo SIP fornece um arcabouço para transferência de áudio, vídeo, voz e dados utilizando uma mesma conexão, denominada sessão. Neste trabalho serão abordados os principais motivos que determinaram a vitória do SIP sobre o H.323, protocolo de transferência de arquivos multimídia.  Serão apresentados ainda algumas aplicações vitoriosas que utilizam o SIP. Outubro de 2008

29 Perguntas e Respostas Pergunta 1: Em qual aplicativo a Microsoft utiliza o protocolo SIP? E o H.323? SIP Windows Live Messenger H.323 NetMeeting Exchange Conferencing Server SIP (Session Initiation Protocol) - Pedro Silveira Pisa

30 Perguntas e Respostas Pergunta 2: Quais são as principais primitivas do protocolo SIP? Invite Ack Cancel Options Register Bye SIP (Session Initiation Protocol) - Pedro Silveira Pisa

31 Perguntas e Respostas Pergunta 3: Qual a classe de resposta utilizada quando o usuário não esta autorizado a acessar um servidor de registro? E um servidor proxy? Servidor de Registro 401 Unauthorized. Servidor Proxy 407 Proxy Authentication Required. SIP (Session Initiation Protocol) - Pedro Silveira Pisa

32 Perguntas e Respostas Pergunta 4: Quais entidades padronizaram o H.323 e o SIP? Quais as suas características principais? SIP ITU-T Telefonia Convencional Comutação de Circuitos H.323 IETF Internet (Web, DNS, ...) Comutação de Pacotes Pilha TCP/IP SIP (Session Initiation Protocol) - Pedro Silveira Pisa

33 Perguntas e Respostas Pergunta 5: Quais as principais aplicações do protocolo SIP? Telefonia IP – VoIP Videoconferência Mensagens Instantâneas Presença Conferências Ad Hoc SIP (Session Initiation Protocol) - Pedro Silveira Pisa

34 SIP Session Initiation Protocol
Pedro Silveira Pisa Redes de Computadores II – Professores: Luís Henrique Maciel Kosmalski Costa Otto Carlos Muniz Bandeira Duarte SIP (Session Initiation Protocol) Autor: Pedro Silveira Pisa Professores: Luís Henrique Maciel Kosmalski Costa e Otto Carlos Muniz Bandeira Duarte Trabalho desenvolvido para a disciplina Redes de Computadores II, da UFRJ, no período     Resumo: Este documento apresenta as características básicas do protocolo SIP (Protocolo de Iniciação de Sessão, sigla do inglês), tais como sua arquitetura, formato de mensagem e classes de respostas. O protocolo SIP fornece um arcabouço para transferência de áudio, vídeo, voz e dados utilizando uma mesma conexão, denominada sessão. Neste trabalho serão abordados os principais motivos que determinaram a vitória do SIP sobre o H.323, protocolo de transferência de arquivos multimídia.  Serão apresentados ainda algumas aplicações vitoriosas que utilizam o SIP. Outubro de 2008


Carregar ppt "SIP Session Initiation Protocol"

Apresentações semelhantes


Anúncios Google