Click here to load reader

SIP Session Initiation Protocol

  • Upload
    keith

  • View
    61

  • Download
    1

Embed Size (px)

DESCRIPTION

SIP Session Initiation Protocol. Pedro Silveira Pisa Redes de Computadores II – 2008.2 Professores: Luís Henrique Maciel Kosmalski Costa Otto Carlos Muniz Bandeira Duarte. Índice. Introdução Histórico SIP no Mercado SIP O Protocolo Características Lógica de uma Sessão SIP Segurança. - PowerPoint PPT Presentation

Citation preview

SIP (Session Initiation Protocol)

Pedro Silveira Pisa

Redes de Computadores II 2008.2

Professores:Lus Henrique Maciel Kosmalski CostaOtto Carlos Muniz Bandeira DuarteOutubro de 2008SIPSession Initiation ProtocolSIP (Session Initiation Protocol)

Autor: Pedro Silveira PisaProfessores: Lus Henrique Maciel Kosmalski Costa e Otto Carlos Muniz Bandeira DuarteTrabalho desenvolvido para a disciplina Redes de Computadores II, da UFRJ, no perodo 2008.2.Resumo:Este documento apresenta as caractersticas bsicas do protocolo SIP (Protocolo de Iniciao de Sesso, sigla do ingls), tais como sua arquitetura, formato de mensagem e classes de respostas. O protocolo SIP fornece um arcabouo para transferncia de udio, vdeo, voz e dados utilizando uma mesma conexo, denominada sesso. Neste trabalho sero abordados os principais motivos que determinaram a vitria do SIP sobre o H.323, protocolo de transferncia de arquivos multimdia. Sero apresentados ainda algumas aplicaes vitoriosas que utilizam o SIP.

1ndiceSIP (Session Initiation Protocol) - Pedro Silveira Pisa2IntroduoHistricoSIP no MercadoSIPO ProtocoloCaractersticasLgica de uma Sesso SIPSeguranaH.323O ProtocoloComparaoAplicaesMensagens InstantneasPresenaConferncias Ad HocConclusoPerguntas e Respostas2IntroduoSIP (Session Initiation Protocol) - Pedro Silveira Pisa3Histrico1 Verso 1999 RFC 2543Modelo Requisio-RespostaArquitetura Cliente-ServidorBaseado emSMTPHTTPIndepende do Tipo de MdiaIntroduo

A tecnologia VoIP permite a transmisso de voz por redes TCP/IP (Protocolo de Controle de Transmisso / Protocolo de Internet), aps encapsular trechos de voz em pacotes. Para a transmisso de servios multimdia, como o VoIP, torna-se necessrio estabelecer uma conexo entre o emissor e o receptor. Essa conexo denominada sesso e os dois principais protocolos que a estabelecem so o H.323 e o SIP. O SIP o assunto deste trabalho, que abordar aspectos histricos e mercadolgicos do SIP, bem como sua estrutura tcnica. O trabalho contemplar uma comparao entre os dois protocolos mais utilizados para estabelecer uma sesso e uma apresentao das aplicaes vitoriosas que utilizam o protocolo de iniciao de sesso (SIP).Neste trabalho, ser utilizada a nomenclatura emissor para se referir ao usurio que inicia a sesso e receptor para o usurio que chamado sesso.3IntroduoSIP (Session Initiation Protocol) - Pedro Silveira Pisa4SIP no MercadoConcentrao em Agentes de Usurio(Agentes Utilizadores)SmartphonesTelefones IPAplicativos de ComputadoresWindows Live MessengerAnncio MicrosoftWindows Live MessengerNetMeetingExchange Conferencing Server

Introduo

A tecnologia VoIP permite a transmisso de voz por redes TCP/IP (Protocolo de Controle de Transmisso / Protocolo de Internet), aps encapsular trechos de voz em pacotes. Para a transmisso de servios multimdia, como o VoIP, torna-se necessrio estabelecer uma conexo entre o emissor e o receptor. Essa conexo denominada sesso e os dois principais protocolos que a estabelecem so o H.323 e o SIP. O SIP o assunto deste trabalho, que abordar aspectos histricos e mercadolgicos do SIP, bem como sua estrutura tcnica. O trabalho contemplar uma comparao entre os dois protocolos mais utilizados para estabelecer uma sesso e uma apresentao das aplicaes vitoriosas que utilizam o protocolo de iniciao de sesso (SIP).Neste trabalho, ser utilizada a nomenclatura emissor para se referir ao usurio que inicia a sesso e receptor para o usurio que chamado sesso.4O Protocolo SIPSIP (Session Initiation Protocol) - Pedro Silveira Pisa5Protocolo de SinalizaoIncioModificaoEncerramentoSessesCliente-ServidorIndependente da MdiaO Protocolo

O protocolo SIP (Session Initiation Protocol) foi projetado para funcionar sobre a camada de aplicao do modelo OSI. Sua principal funo estabelecer chamadas e conferncia atravs de redes IP, sem considerar o tipo de mdia a ser transferida. Esse protocolo um padro do IETF (Internet Engineering Task Force) e sua ltima verso, a SIPv2 foi publicada em 2002 sob a RFC 3261.O protocolo SIP pertence ao grupo dos protocolos de sinalizao fim-a-fim baseado em texto, o qual sinaliza o incio, a modificao e o encerramento das sesses. As sesses se baseiam no modelo cliente-servidor e independem do tipo de dado trafegado dentro do canal estabelecido. Os protocolos de sinalizao para VoIP, como o SIP, devem contemplar a codificao de voz, a configurao das chamadas, o transporte de dados, o modo de autenticao, os requisitos e as tecnologias de segurana, as primitivas de comunicao, o formato do cabealho e do endereamento e a sintaxe das mensagens.As funes bsicas do protocolo SIP so (1):possui mecanismos para permitir que dois interlocutores estabeleam chamadas atravs de uma rede IP. Atravs do SIP, o emissor avisa ao receptor que deseja iniciar a sesso, ambos acordam a codificao de mdia e podem encerrar a sesso;permite que o emissor determine o IP corrente do receptor, pois este pode estar em uma rede com DHCP ou mesmo utilizar vrios dispositivos SIP ao mesmo tempo;contm mecanismos que gerenciam as chamadas sem que seja necessrio reinici-la, como adio de novas mdias, mudanas de codificao, adio de outros participantes, transferncia de chamadas e chamada em espera.5O Protocolo SIPSIP (Session Initiation Protocol) - Pedro Silveira Pisa6EspecificaoCodificao de Voz/udio/VdeoConfigurao das ChamadasTransporte dos DadosModo de AutenticaoRequisitos e Tecnologias de SeguranaPrimitivas de ComunicaoFormato do Cabealho das MensagensFormato de EndereamentoSintaxe das MensagensO Protocolo

O protocolo SIP (Session Initiation Protocol) foi projetado para funcionar sobre a camada de aplicao do modelo OSI. Sua principal funo estabelecer chamadas e conferncia atravs de redes IP, sem considerar o tipo de mdia a ser transferida. Esse protocolo um padro do IETF (Internet Engineering Task Force) e sua ltima verso, a SIPv2 foi publicada em 2002 sob a RFC 3261.O protocolo SIP pertence ao grupo dos protocolos de sinalizao fim-a-fim baseado em texto, o qual sinaliza o incio, a modificao e o encerramento das sesses. As sesses se baseiam no modelo cliente-servidor e independem do tipo de dado trafegado dentro do canal estabelecido. Os protocolos de sinalizao para VoIP, como o SIP, devem contemplar a codificao de voz, a configurao das chamadas, o transporte de dados, o modo de autenticao, os requisitos e as tecnologias de segurana, as primitivas de comunicao, o formato do cabealho e do endereamento e a sintaxe das mensagens.As funes bsicas do protocolo SIP so (1):possui mecanismos para permitir que dois interlocutores estabeleam chamadas atravs de uma rede IP. Atravs do SIP, o emissor avisa ao receptor que deseja iniciar a sesso, ambos acordam a codificao de mdia e podem encerrar a sesso;permite que o emissor determine o IP corrente do receptor, pois este pode estar em uma rede com DHCP ou mesmo utilizar vrios dispositivos SIP ao mesmo tempo;contm mecanismos que gerenciam as chamadas sem que seja necessrio reinici-la, como adio de novas mdias, mudanas de codificao, adio de outros participantes, transferncia de chamadas e chamada em espera.6O Protocolo SIPSIP (Session Initiation Protocol) - Pedro Silveira Pisa7FunesEstabelecimento de ChamadasDeterminao do IP do ReceptorGerenciamento de ChamadasAdio/Remoo de MdiaMudanas de CodificaoAdio/Remoo de ParticipantesTransferncia de ChamadasChamada em Espera

O Protocolo

O protocolo SIP (Session Initiation Protocol) foi projetado para funcionar sobre a camada de aplicao do modelo OSI. Sua principal funo estabelecer chamadas e conferncia atravs de redes IP, sem considerar o tipo de mdia a ser transferida. Esse protocolo um padro do IETF (Internet Engineering Task Force) e sua ltima verso, a SIPv2 foi publicada em 2002 sob a RFC 3261.O protocolo SIP pertence ao grupo dos protocolos de sinalizao fim-a-fim baseado em texto, o qual sinaliza o incio, a modificao e o encerramento das sesses. As sesses se baseiam no modelo cliente-servidor e independem do tipo de dado trafegado dentro do canal estabelecido. Os protocolos de sinalizao para VoIP, como o SIP, devem contemplar a codificao de voz, a configurao das chamadas, o transporte de dados, o modo de autenticao, os requisitos e as tecnologias de segurana, as primitivas de comunicao, o formato do cabealho e do endereamento e a sintaxe das mensagens.As funes bsicas do protocolo SIP so (1):possui mecanismos para permitir que dois interlocutores estabeleam chamadas atravs de uma rede IP. Atravs do SIP, o emissor avisa ao receptor que deseja iniciar a sesso, ambos acordam a codificao de mdia e podem encerrar a sesso;permite que o emissor determine o IP corrente do receptor, pois este pode estar em uma rede com DHCP ou mesmo utilizar vrios dispositivos SIP ao mesmo tempo;contm mecanismos que gerenciam as chamadas sem que seja necessrio reinici-la, como adio de novas mdias, mudanas de codificao, adio de outros participantes, transferncia de chamadas e chamada em espera.7CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa8ArquiteturaEstrutura da MensagemComunicaoAutenticaoEndereos SIPCaractersticas

O protocolo SIP foca na simplicidade e, uma vez que apenas um mecanismo de controle da sesso, apenas inicia, modifica e termina uma sesso de comunicao, no intervindo nos dados trafegados, o que torna o protocolo facilmente adaptvel s mais diversas arquiteturas.8CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa9ArquiteturaAgente de UsurioProxy SIPServidor de RedirecionamentoServidor de RegistroArquitetura

A arquitetura do SIP composta de quatro elementos bsicos, que juntos, formam uma rede SIP: Agente do Usurio, Proxy SIP, Servidor de Redirecionamento e Servidor de Registro.9CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa10ArquiteturaAgente de UsurioFuno: Interagir com o usurio do sistema SIP.Caractersticas: Envia e recebe requisies SIP.Papel: Pode atuar como cliente (UAC Agente Utilizador Cliente) ou servidor (UAS Agente Utilizador Servidor)Proxy SIPServidor de RedirecionamentoServidor de Registro10CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa11ArquiteturaAgente de UsurioProxy SIPFuno: Recebe as requisies e as encaminha para servidores mais prximos do destino.Papel: Servidor intermedirio. Atua como cliente e servidor.Tipo: Stateful Proxy Server e Stateless Proxy Server.Servidor de RedirecionamentoServidor de Registro11CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa12ArquiteturaAgente de UsurioProxy SIPServidor de RedirecionamentoFuno: Responde uma requisio do Agente do Usurio com o nome e a localizao do usurio.Caractersticas: No reencaminha pedidos.Servidor de Registro12CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa13ArquiteturaAgente de UsurioProxy SIPServidor de RedirecionamentoServidor de RegistroFuno: Servio de localizao.Caractersticas: Armazena registro sobre usurios.13CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa14Estrutura da MensagemCabealho no rgido header:fieldCampos ObrigatriosToFromCSeqCall-IdMax-ForwardsAs mensagens do protocolo SIP se assemelham com as mensagens do protocolo HTTP. Possuem o formato header:field, onde header representa o campo do cabealho da mensagem e field representa a informao contida neste campo do cabealho. O SIP utiliza a regra de ignorar os campos de cabealhos que no puderam ser entendidos pelo servidor. Abaixo podemos ver uma estrutura bsica do cabealho SIP. As informaes foram retiradas da RFC 3261, que especifica o protocolo SIP.Uma requisio SIP vlida deve conter ao menos os campos To, From, CSeq, Call-ID e Max-Forwards, os quais so todos obrigatrios em todas as mensagens SIP. Outros campos podem se juntar a esses.O Campo To armazena o endereo SIP do usurio alvo da requisio. Este campo deve utilizar os endereos SIP ou SIPS, mas tambm podem conter endereos em outros formatos especificados na RFC 2806. O agente de usurio cliente (UAC) deve ser capaz de traduzir os valores inseridos pelo usurio em endereos SIP vlidos. Exemplo: To: Carol O Campo From(f) armazena o endereo SIP do transmissor de determinada requisio. Esta campo permite que os UACs implementem mecanismos de identificao de chamadas atravs do nome do emissor a ttulo de informao ou de recusa automtica de chamadas. O campo From deve conter um novo parmetro denominado tag escolhido pelo agente de usurio cliente, o qual responsvel por marcar a chamada correspondente a aquela marcao. Exemplos: From: "Bob" sips:[email protected] ;tag=a48s / From: sip:[email protected] ;tag=887s / From: Anonymous ;tag=hyh8O campo CSeq funciona como um contador para as requisies realizadas, excetos mensagens de Ack e Cancel. Os UACs utilizam este campo para descobrir de qual requisio a resposta recebida e os agentes de usurio servidores (UAS) o utilizam para diferenciar uma nova requisio de uma retransmisso. A informao contida neste campo consiste em um nmero inteiro positivo de 32 bits e da primitiva da mensagem. Exemplo: 4711 INVITEO 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 aleatria e o segundo o IP do remetente. Este campo diferencia maisculas de minsculas e facilmente comparado byte a byte. Exemplo: Call-ID: f81d4fae-7dec-11d0-a765- [email protected] campo Max-Fowards determina o nmero de saltos que uma requisio 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 requisio alcance seu destino, ser produzida uma mensagem de erro de cdigo 483, que representa excesso de saltos no percurso. A especificao sugere o nmero 70 como padro para este campo, por considerar um nmero no muito pequeno para alcanar o destino na rede SIP, sem laos (loops), e ao mesmo tempo no muito grande para consumir recursos dos servidores quando houver laos. Exemplo: Max-Forwards: 70Outros campos para o cabealho do protocolo SIP podem ser encontrados em (2).14CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa15ComunicaoPrimitivasInviteAckCancelOptionsRegisterBye

O protocolo SIP utiliza o modelo cliente-servidor para comunicao entre as entidades envolvidas no protocolo. Na sua verso 2 (RFC 3261), possui seis primitivas de comunicao:

InviteEsta primitiva solicita o incio de uma sesso. Nessa mensagem, podem-se determinar, atravs do protocolo de descrio da sesso (SDP, do ingls), os parmetros da sesso. Caso esta primitiva seja enviada depois da sesso iniciada, ela utilizada para alterar os parmetros da sesso e conhecida como Re-Invite.AckA primitiva Ack a confirmao de uma mensagem de Invite. O Ack deve conter a configurao dos parmetros da sesso, caso o Invite correspondente no possua.Cancel usada para cancelar todas as primitivas j enviadas que carecem de resposta.OptionsA primitiva Options requisita ao receptor uma listagem com as suas capacidades, tais como primitivas, codecs e extenses suportadas, e a sua disponibilidade.RegisterEssa primitiva utilizada por um cliente que deseja registrar um apelido (alaias) de seu endereo em um servidor SIP.ByePrimitiva utilizada para terminar a sesso.

Existem ainda algumas primitivas descritas nas RFCs 2976, 3428, 3265, 3262, 3903, 3515 e 3311 (2).15CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa16ComunicaoClasses de Respostas1 Informacional2 Sucesso3 Redirecionamento4 Erro do Cliente5 Erro do Servidor6 Erro Global

O protocolo SIP possui seis classes de respostas s requisies de um Agente de Usurio Cliente. Essas respostas so dadas pelos Agentes de Usurio Servidores ou por Servidores SIP. As classes de respostas seguem o padro do HTTP para cinco classes e foi criada uma classe adicional de resposta para requisies especficas do SIP:

1 - Classe InformacionalAs mensagens recebidas que pertencem a esta classe indicam o progresso das chamadas SIP. A primeira mensagem recebida pelo agente de usurio cliente (UAC) confirma o recebimento do Invite e indica que o UAC deve parar de mandar Invites.2 - Classe SucessoAs mensagens de resposta enviadas com estes cdigos indicam aceitao a uma requisio. No caso da primitiva Invite, deve ser enviada uma mensagem Ack.3 - Classe RedirecionamentoEsta mensagem enviada por um servidor de redirecionamento, quando o usurio no se encontra na localizao procurada e necessita a indicao da nova localizao. Nesse caso, dependendo da arquitetura utilizada na rede SIP, podem ocorrer dois processos que tornam a comunicao transparente para o usurio: 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 sesso para a nova localidade do receptor.4 - Classe Erro do ClienteAs mensagens pertencentes a esta classe indicam algum erro na solicitao do cliente, que deve refaz-la, seguindo as informaes obtidas do erro ocorrido.5 - Classe Erro do ServidorEstas respostas avisam o cliente que a solicitao enviada no pde ser processada naquele servidor, mas o cliente pode envi-la para outros servidores da rede SIP.6 - Classe Erro GlobalAs mensagens de erro global indicam que a requisio enviada ir falhar em qualquer servidor SIP que for enviada, no devendo o cliente reenvi-la. Para enviar este tipo de resposta, o servidor deve ter total conhecimento do destinatrio da mensagem.

As mensagens de respostas so enviadas com um cdigo de trs dgitos, no qual o primeiro o cdigo da classe de resposta e os dois ltimos so os nmeros de ordem das respostas. Porm, se um Agente de Usurio Cliente no conhecer a mensagem pelo seu cdigo de cliente, ele deve ser capaz de entender a resposta pela classe.16CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa17AutenticaoHTTP DigestTLS Transport Layer SecurityS/MIMESecure / Multipurpose Internet Mail ExtensionsCriptografia e Troca de Certificados

Podemos dividir a autenticao no SIP em dois grupos: Entre dois UA ou entre um UA e um servidor. Os agentes de usurios devem se autenticar no incio da sesso a fim de garantir que o interlocutor realmente quem diz ser. Os servidores podem exigir uma autenticao do emissor antes de redirecionar uma chamada para o agente de usurio receptor.A autenticao pode ser feita baseando-se no HTTP Digest ou utilizando criptografia e troca de certificados.Na Figura 1, podemos observar o processo de autenticao utilizando HTTP Digest em um servidor proxy (a) e um servidor de registro (b). Na autenticao do usurio no servidor de proxy, o agente de usurio envia a requisio de comeo de sesso. O servidor proxy recusa o pedido, com uma resposta de erro 407, avisando que requer autenticao e faz um desafio para o usurio. Este apresenta as suas credenciais de acesso no campo Authorization do cabealho da mensagem SIP, a qual possui mesmo Call-Id da mensagem recusada e CSeq incrementado de uma unidade. Se o usurio enviar as credenciais corretamente, o servidor proxy aceita a requisio e continua com os procedimentos de incio da sesso.Na Figura 1b, pode-se observar a transao de autenticao de um usurio que deseja acessar um servidor de registro. Inicialmente, o agente de usurio envia uma mensagem com a primitiva Register, sem informaes do usurio. Como o servidor de registro exige que o usurio seja registrado, este retorna uma mensagem 401 (UNAUTHORIZED), afirmando que exige registro. O usurio envia ento uma mensagem de registro com as informaes do usurio habilitado a usar o servidor. A conexo ento estabelecida e o usurio pode registrar um novo apelido no servidor.

Figura 1: Processo de Autorizao. Na figura a, podemos observar a autenticao em um servidor proxy e na figura b, a autenticao em um servidor de registro.

No HTTP Digest, utiliza-se nome de usurio e senha para credenciar o usurio ao servio, contudo este mtodo no garante a segurana, pois as credencias so 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 segurana na autenticao SIP. Para autenticar duas entidades SIP, o TLS eficiente, mas para a autenticao de mais de duas entidades, o S/MIME se torna mais indicado.Para mais informaes sobre o processo de autenticao por criptogrfica e troca de certificados, deve-se consultar o trabalho de PKI deste site (3).

17CaractersticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa18Endereos SIPSemelhante aos E-mailsFcil DistribuioLocalizao dos UsuriosFormato:sip:[email protected]:[email protected]

Um endereo SIP tradicional da forma sip:usuario@IP_servidor, como no exemplo sip:[email protected]. Contudo, esta estrutura de endereamento de difcil memorizao. Assim, foi criado um mecanismo de endereamento que se assemelha aos endereos de e-mail, como em sip:[email protected], ou que seja simplesmente o nome prprio do usurio, desde que nico.Utilizando este mecanismo de endereamento, o servidor SIP pode encaminhar a chamada para o dispositivo que o usurio esteja usando no momento, desde um computador a um aparelho celular.Se o usurio possuir uma pgina pessoal e deseje divulgar seu endereo SIP para seus visitantes, basta que ele coloque o endereo na pgina, da mesma forma que feito para e-mail (mtodo no aconselhvel, pois pode causar o recebimento de SPAMs). O usurio s precisa adicionar a URL 'sip:[email protected]' e quando o visitante acessar a pgina e clicar nesta URL, o aplicativo SIP instalado na mquina ativado e faz a chamada para o usurio que publicou seu endereo.18Lgica de Uma Sesso no SIPSIP (Session Initiation Protocol) - Pedro Silveira Pisa19

Lgica de Uma Sesso no SIP

Nesta sesso examinaremos um exemplo concreto de comunicao utilizando o protocolo SIP. No exemplo, Alice deseja chamar Bob. Ambos esto utilizando computadores como aplicativos baseados no protocolo SIP instalados para fazer e receber chamadas telefnicas. Admitamos que Alice saiba o endereo IP de Bob.

Figura 2: Fluxo Alice-Bob. A imagem retrata a comunicao entre Alice e Bob desde seu estabelecimento at usua interrupo.

Na figura Figura 2, podemos observar que a sesso SIP iniciada quando Alice envia uma mensagem INVITE para Bob, por UDP na porta 5060. A porta 5060 a porta padro do protocolo SIP e este tambm pode receber mensagens por TCP. Nesta mensagem, esto contidos um identificador para Bob, o endereo de Alice, o tipo de dado que Alice deseja receber: udio em codificao AVP 0 (PCM codificado com lei ), o protocolo de transporte RTP e a porta que ela receber os pacotes: 25012. Ao receber esta mensagem de Alice, a campainha de Bob toca. Ao atender, Bob envia uma resposta com o cdigo 200 OK para Alice na porta 5060. Nesta mensagem de Bob, constam o seu endereo IP, a porta em que deseja receber os pacotes de udio utilizando o protocolo de transporte RTP: 43569, e a codificao de udio que deseja receber os dados: AVP 3 (codificao GSM). Aps receber a resposta de Bob, Alice envia uma mensagem com a primitiva ACK, confirmando que a comunicao foi estabelecida com sucesso. Observe que, neste exemplo, ambos os usurios utilizaram codificadores de voz diferentes, pois o SIP no determina o tipo da mdia que ser transmitida durante a sesso. Alice dever codificar seu udio com GSM e Bob com a lei do PCM. Depois de estabelecida a sesso, utilizando a porta 5060, ambos iro transmitir os pacotes de dados para a porta especificada. Bob deve enviar os pacotes de udio para a porta 25012 do IP 146.164.69.183. Alice deve enviar os pacotes de udio para a porta 43569 do IP 146.164.69.190.Aps o fim da transmisso, Bob aciona o seu aplicativo SIP para terminar a sesso. Ento o agente de usurio de Bob envia uma mensagem com a primitiva BYE para Alice. Esta envia uma mensagem de resposta 200 OK, confirmando o trmino da sesso. A sesso ento encerrada em ambos os agentes de usurio.A partir deste pequeno exemplo, podemos aprender diversas caractersticas do protocolo SIP. A princpio, o protocolo SIP pode ser considerado como um protocolo fora de banda (1), ou seja, as mensagens SIP so enviadas e recebidas em portas diferentes daqueles utilizadas para o trfego dos dados da mdia. Podemos ainda perceber que as mensagens SIP podem ser lidas utilizando o cdigo ASCII e so parecidas com as mensagens do protocolo HTTP. Por ltimo, podemos perceber que todas as mensagens do SIP necessitam de reconhecimento, podendo ento, serem transmitidas por UDP e TCP.Ainda por este simples exemplo, podemos entender algumas caractersticas do protocolo SIP. Considerando que Bob no tenha o codificador PCM lei para codificar o udio a ser enviado para Alice, ele no poderia enviar a reposta 200 OK. Bob enviaria uma mensagem de resposta com o cdigo 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 tambm pode recusar a chamada de Alice. Para isso, basta enviar um dos cdigos de rejeio existentes no protocolo SIP, tais como: ocupado (busy), encerrado (gone), pagamento solicitado (payment required) e proibido (forbidden).19Segurana no SIPSIP (Session Initiation Protocol) - Pedro Silveira Pisa20Aspectos ObservadosControle das ChamadasTrfego dos DadosPrivacidade dos UsuriosIntegridade dos dadosGarantiaAutenticaoConfidencialidadeControle de AcessoDisponibilidadeIntegridadeNo-repdioSegurana no SIP

A segurana em redes SIP visa evitar, basicamente, fraudes do servio ou tentativas de sobrecarregar a rede ou algum servio da mesma. Os principais aspectos que devem ser observados em redes SIP so: controle das chamadas e do trafego dos dados, privacidade dos usurios, integridade dos dados trafegados entre as entidades do protocolo SIP.O protocolo SIP deve garantir os seis princpios bsicos de segurana em redes, a saber: autenticao, confidencialidade, controle de acesso, disponibilidade, integridade e no repdio. Autenticao significa certificar que quem envia a mensagem quem realmente diz ser. Confidencialidade, tambm conhecido como privacidade, significa garantir que s quem tem autorizao para acessar ou visualizar o contedo o far. Controle de Acesso permite restringir o nvel de acesso aos diversos usurios autenticados. Disponibilidade significa que os recursos e servios da rede estaro funcionando quando o usurio precisar deles. Integridade significa que os dados no sero apagados ou alterados durante a transmisso ou armazenados. No- repdio representa que o usurio no poder negar a autoria de determinada transao.O SIP utiliza mecanismos de autenticao do receptor e do emissor, como visto na sesso 2.2.4, e de criptografia para proteger o contedo da mensagem. Os mecanismos utilizados para segurana em SIP so IPSec (IP Security), S/MIME e TLS. O IPSec possui dois mecanismos: Transport - proteo nas camadas superiores ao IP - ou TunnelMode - proteo completa. O S/MIME utilizado na encriptao do contedo das mensagens e o TLS prov segurana no nvel da camada de transporte utilizando o TCP (Transmission Control Protocol).20Segurana no SIPSIP (Session Initiation Protocol) - Pedro Silveira Pisa21MecanismosAutenticao (Receptor e Emissor)CriptografiaIPSec (Internet Protocol Security)TransportTunnelModeS/MIME (Secure / Multipurpose Internet Mail Extensions)Contedo das MensagensTLS (Transport Layer Security)Proteo na Camada de TransporteSegurana no SIP

A segurana em redes SIP visa evitar, basicamente, fraudes do servio ou tentativas de sobrecarregar a rede ou algum servio da mesma. Os principais aspectos que devem ser observados em redes SIP so: controle das chamadas e do trafego dos dados, privacidade dos usurios, integridade dos dados trafegados entre as entidades do protocolo SIP.O protocolo SIP deve garantir os seis princpios bsicos de segurana em redes, a saber: autenticao, confidencialidade, controle de acesso, disponibilidade, integridade e no repdio. Autenticao significa certificar que quem envia a mensagem quem realmente diz ser. Confidencialidade, tambm conhecido como privacidade, significa garantir que s quem tem autorizao para acessar ou visualizar o contedo o far. Controle de Acesso permite restringir o nvel de acesso aos diversos usurios autenticados. Disponibilidade significa que os recursos e servios da rede estaro funcionando quando o usurio precisar deles. Integridade significa que os dados no sero apagados ou alterados durante a transmisso ou armazenados. No- repdio representa que o usurio no poder negar a autoria de determinada transao.O SIP utiliza mecanismos de autenticao do receptor e do emissor, como visto na sesso 2.2.4, e de criptografia para proteger o contedo da mensagem. Os mecanismos utilizados para segurana em SIP so IPSec (IP Security), S/MIME e TLS. O IPSec possui dois mecanismos: Transport - proteo nas camadas superiores ao IP - ou TunnelMode - proteo completa. O S/MIME utilizado na encriptao do contedo das mensagens e o TLS prov segurana no nvel da camada de transporte utilizando o TCP (Transmission Control Protocol).21H.323SIP (Session Initiation Protocol) - Pedro Silveira Pisa22Agrupamento de ProtocolosSinalizao de ChamadasGerncia dos Equipamentos da RedeCriptografiaTransferncia de Voz/udio e VdeoServios de Transferncia e Identificao de Chamadas.Protocolos Mnimos ExigidosVoz/udio: G.711 (Codificao PCM)Vdeo: QCIF H.261 (176 x 144 pixels)H.323

Na telefonia IP, dois protocolos disputam pelas aplicaes 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 sesso os princpios bsicos do H.323 e apresentaremos um breve comparativo com entre esses dois protocolos.

O Protocolo

O H.323 tem por objetivo o estabelecimento de sesses udio visual em redes de pacotes. constitudo por uma mirade de protocolos que permitem a sinalizao de chamadas, gerncia dos equipamentos da rede, criptografia e transferncia de voz e vdeo, bem como servios de transferncia e identificao de chamadas.A especificao do protocolo H.323 inclui uma srie de especificaes, a saber:O modo como os terminais escolhem o codificador comum a ser usado na comunicao de udio ou vdeo. O protocolo H.323 aceita diversos codificadores de udio ou vdeo e os usurios precisam utilizar o mesmo codificador comum.O modo como os pacotes de udio e vdeo sero encapsulados e passados pela rede. O H.323 impe o uso do protocolo RTP.O modo como os terminais interagem com os gatekeepers. Gatekeepers so entidades semelhantes aos servidores de registro do SIP.O modo como os telefones IP interagem com os telefones comuns, conectados atravs da rede telefnica de comutao de circuitos, atravs de gateways. Gateways so entidades que convertem os sinais entre diferentes meios.Os terminais H.323 devem ser capazes de suportar, no mnimo, chamadas de voz utilizando o protocolo G.711, que utiliza codificao PCM. A compatibilidade com vdeo opcional e, por isso, os fabricantes podem oferecer dispositivos apenas com voz e com udio e vdeo. Apesar de ser opcional, se um terminal suportar vdeo, ele deve ser, no mnimo, suportar o padro QCIF H.261 (176 x 144 pixels).O H.323 ainda determina um protocolo de controle, o H.245, um protocolo de sinalizao, o Q.931, e um protocolo RAS (Registration, Admission and Status) para registro no gatekeeper.

22SIP vs H.323SIPH.323SIP (Session Initiation Protocol) - Pedro Silveira Pisa23Padro ITU-TImpe Protocolos MnimosEspecifica:SinalizaoRegistroControle de AdmissoTransporteCodificadoresPadro IETFNo Impe Protocolos

Especifica:InicializaoGerenciamento

O H.323 um padro da ITU-T, unio responsvel por padres de telefonia, enquanto o SIP um padro da IETF, grupo ligado aos padres da Internet. Assim, o protocolo SIP se apropria de muitos conceitos da Web, do DNS, do e-mail e da Internet como um todo.O H.323 um protocolo completo, integrado verticalmente, indicado para conferncia multimdia. O protocolo especifica a sinalizao, o registro, o controle de admisso, o transporte e os codificadores utilizados. O SIP apenas especifica a inicializao e o gerenciamento da sesso. O SIP funciona com RTP, G.711 e QCIF H.261, mas no os impe, ele pode trabalhar com outros protocolos e servios.Assim, podemos dizer que o H.323 um protocolo grande e complexo, enquanto o SIP utiliza o princpio do KISS: mantenha a simplicidade, seu ignorante (keep it simple, stupid)!23Aplicaes PrticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa24Telefonia IP - VoIPVideoconfernciaMensagens Instantneas e PresenaConferncias Ad HocAplicaes Prticas

Nesta sesso, sero abordadas aplicaes envolvendo o protocolo SIP. Existem diversas aplicaes utilizando este protocolo. Muitas envolvem transferncia de voz ou vdeo, utilizando sistemas de VoIP ou videoconferncia. Atualmente, milhares de servios de telefonia via IP so oferecidos para empresas e usurios domsticos. Porm, o protocolo SIP pode ser usado para outros propsitos, como mensagens instantneas, presena e conferncias ad hoc.24Aplicaes PrticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa25Mensagens Instantneas e PresenaSIMPLESIP for Instant Messaging and Presence Leverading ExtensionWindows Live MessengerMensagens InstantneasEnvio de Mensagens de Texto, udio ou VdeoTransferncia de ArquivosPresenaStatus (Disponvel, Ocupado, Ausente ou Outros)Localizao do Usurio (Escritrio, Casa ou Geogrfico)Capacidades (Microfone, Cmera ou outros)O aplicativo Windows Live Messenger, da Microsoft, utiliza uma variao do protocolo SIP, denomidado SIMPLE (SIP for Instant messaging and Presence Leveraging Extension). Este aplicativo consiste em uma lista de usurios e aes relativas aos usurios desta lista, tais como enviar uma mensagem de texto, conversar por udio ou por vdeo, alm de transferncia de arquivos e jogos. Exceto para opes de vdeo, possvel se comunicar com diversas pessoas na mesma tela de conversa, gerando assim uma conferncia, por texto ou por voz.Por presena, entendem-se as informaes exibidas sobre a pessoa, tais como seu status, sua localizao ou mesmo suas capacidades de comunicao. Por status, temos disponvel, ocupado, ausente e outros. Por localizao, pode-se considerar o local do usurio, mais usado em aplicaes mveis com GPS ou expresses como casa ou escritrio. Por capacidades de comunicao, entende-se a existncia de perifricos como microfones e cmeras.25Aplicaes PrticasSIP (Session Initiation Protocol) - Pedro Silveira Pisa26Conferncias Ad HocAdio/RemooParticipantesMdiasDeficincias do SIPEntrega das Notificaes de Entrada e Sada dos ParticipantesIdentificao de Todos os UsuriosContorno das LimitaesRTP (Real-time Transport Protocol)RTCP (RTP Control Protocol)Conferncias Ad Hoc so conferncias nas quais as mdias e os participantes podem ser adicionados e removidos a qualquer momento. O protocolo SIP permite esse tipo de conferncia, utilizando voz, vdeo e texto, porm no garante a entrega das notificaes de entrada e sada de participantes no grupo, assim como no permite a identificao de todos os usurios da conferncia. Pra contornar estas limitaes, o protocolo SIP utiliza os protocolos RTP (Real-time Transport Protocol) e o RTCP (RTP Control Protocol).26ConclusoSIP (Session Initiation Protocol) - Pedro Silveira Pisa27Proliferao da Telefonia IPMesmo NmeroDiversos Dispositivos SimultneosSIPProtocolo de Propsito GeralIndepende do Tipo de Mdia

Concluso

Pessoas de todo mundo tm trocado seus aparelhos de telefone comum pela telefonia IP. A onipresena cada vez mais real da Internet possibilita que os usurios tenham o seu nmero fixo em qualquer lugar, com um servio 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 mquina de trabalho com o mesmo endereo de contato, muitas vezes ao mesmo tempo. nesse ambiente que se insere o protocolo SIP, permitindo a comunicao por voz ou vdeo em dispositivos conectados a Internet ou mesmo em uma rede TCP/IP interna de uma empresa ou residncia.O SIP um protocolo de inicializao e gerenciamento de sesso para propsito geral. Com o SIP, pode-se trafegar qualquer tipo de dado no interior da sesso. Pode ainda utilizar qualquer tipo de codificao, desde que os agentes de usurio sejam capazes de decodificar os dados recebidos. Devido a sua semelhana com o protocolo HTTP, o SIP apresenta simplicidade, sendo facilmente utilizado por aplicaes multimdia.Diversas aplicaes utilizam o protocolo SIP, atualmente, o que reflete um padro 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 instantneas Live Messenger, forneceu enorme subsdio para o triunfo do protocolo SIP.Este trabalho apresentou as principais caractersticas do protocolo SIP, como sua arquitetura, seu formato de mensagem, seu processo de endereamento e seus cdigos de mensagens e respostas. Um exemplo simples ilustrou a lgica de uma transao 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 aplicaes comerciais mais utilizadas. Por fim, conhecemos um pouco das principais aplicaes que utilizam o protocolo SIP para realizar suas funes.27Pedro Silveira Pisa

Redes de Computadores II 2008.2

Professores:Lus Henrique Maciel Kosmalski CostaOtto Carlos Muniz Bandeira DuarteOutubro de 2008SIPSession Initiation ProtocolSIP (Session Initiation Protocol)

Autor: Pedro Silveira PisaProfessores: Lus Henrique Maciel Kosmalski Costa e Otto Carlos Muniz Bandeira DuarteTrabalho desenvolvido para a disciplina Redes de Computadores II, da UFRJ, no perodo 2008.2.Resumo:Este documento apresenta as caractersticas bsicas do protocolo SIP (Protocolo de Iniciao de Sesso, sigla do ingls), tais como sua arquitetura, formato de mensagem e classes de respostas. O protocolo SIP fornece um arcabouo para transferncia de udio, vdeo, voz e dados utilizando uma mesma conexo, denominada sesso. Neste trabalho sero abordados os principais motivos que determinaram a vitria do SIP sobre o H.323, protocolo de transferncia de arquivos multimdia. Sero apresentados ainda algumas aplicaes vitoriosas que utilizam o SIP.

28Perguntas e RespostasSIP (Session Initiation Protocol) - Pedro Silveira Pisa29Pergunta 1: Em qual aplicativo a Microsoft utiliza o protocolo SIP? E o H.323?SIPWindows Live MessengerH.323NetMeetingExchange Conferencing Server

Perguntas e RespostasSIP (Session Initiation Protocol) - Pedro Silveira Pisa30Pergunta 2: Quais so as principais primitivas do protocolo SIP?InviteAckCancelOptionsRegisterBye

Perguntas e RespostasSIP (Session Initiation Protocol) - Pedro Silveira Pisa31Pergunta 3: Qual a classe de resposta utilizada quando o usurio no esta autorizado a acessar um servidor de registro? E um servidor proxy?Servidor de Registro401 Unauthorized.Servidor Proxy407 Proxy Authentication Required.Perguntas e RespostasSIP (Session Initiation Protocol) - Pedro Silveira Pisa32Pergunta 4: Quais entidades padronizaram o H.323 e o SIP? Quais as suas caractersticas principais?H.323ITU-TTelefonia ConvencionalComutao de CircuitosSIPIETFInternet (Web, DNS, E-mail ...)Comutao de PacotesPilha TCP/IP

Perguntas e RespostasSIP (Session Initiation Protocol) - Pedro Silveira Pisa33Pergunta 5: Quais as principais aplicaes do protocolo SIP?Telefonia IP VoIPVideoconfernciaMensagens InstantneasPresenaConferncias Ad HocPedro Silveira Pisa

Redes de Computadores II 2008.2

Professores:Lus Henrique Maciel Kosmalski CostaOtto Carlos Muniz Bandeira DuarteOutubro de 2008SIPSession Initiation ProtocolSIP (Session Initiation Protocol)

Autor: Pedro Silveira PisaProfessores: Lus Henrique Maciel Kosmalski Costa e Otto Carlos Muniz Bandeira DuarteTrabalho desenvolvido para a disciplina Redes de Computadores II, da UFRJ, no perodo 2008.2.Resumo:Este documento apresenta as caractersticas bsicas do protocolo SIP (Protocolo de Iniciao de Sesso, sigla do ingls), tais como sua arquitetura, formato de mensagem e classes de respostas. O protocolo SIP fornece um arcabouo para transferncia de udio, vdeo, voz e dados utilizando uma mesma conexo, denominada sesso. Neste trabalho sero abordados os principais motivos que determinaram a vitria do SIP sobre o H.323, protocolo de transferncia de arquivos multimdia. Sero apresentados ainda algumas aplicaes vitoriosas que utilizam o SIP.

34