Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo ao SIP
Giuseppe M. Stephan
A sesso pode ser: Simples ligao de voz entre duas pessoas Ligao envolvendo voz, dados e vdeo Conferncia multimdia, ...
Giuseppe M. Stephan
Vdeo-conferncia
Processamento de Chamadas Localizao de usurios Instant Messaging Presena.
Giuseppe M. Stephan
2000:
2001:
Criao de 3 grupos com focos de pesquisa diferentes: SIP: Responsvel pelas especificaes do protocolo/extenses SIPPING:Session Initiation Protocol Investigation Investigar aplicaes, desenvolver requisitos e BCP. SIMPLE: SIP for Instant Messaging and Presence Leveraging Extensions Padronizao de Presena e Instant Messenger utilizando o SIP. 2002: A verso SIPv2 proposta como padro e publicado como RFC 3261,
Giuseppe M. Stephan
Giuseppe M. Stephan
Premissas
Giuseppe M. Stephan
O chamador inicia a troca de mensagens enviando um comando INVITE para o ponto final chamado. O INVITE contm detalhes do tipo de sesso ou chamada requisitada. Pode ser: uma sesso simples de voz (udio), uma sesso multimdia como vdeoconferncia, ou ainda uma sesso de jogo.
INVITE
Giuseppe M. Stephan
INVITE
- Mtodo usado para envio da mensagem - Request-URI: Recurso para o qual a requisio est sendo enviada (requisio destino) - Verso do SIP.
Via: SIP/2.0/UDP lab.uniminas.br:5060;branch=z9hG4bkfw19b
INVITE
- Verso do SIP - /Mdia de transporte - Endereo ou nome do servidor - : Nmero da Porta utilizada - Identificador de transao para correlao de resposta s requisies.
Max-Forwards: 70
- Nmero inteiro inicial que decrementado por cada servidor SIP que receber e encaminhar a requisio.
Giuseppe M. Stephan
INVITE
Call-ID: 123456789@lab.uniminas.br
- Sequncia de comando: O nro seguido pelo mtodo e incrementado a cada nova requisio enviada.
Subject: Aula sobre Protocolos
- No usado pelo protocolo mas pode ser mostrado durante o alerting ao ponto final chamado.
Contact: <sip:luiz@lab.uniminas.br>
INVITE
05
26
- Tempo
07
25
22
- Atributos 158
==================== Total:
Giuseppe M. Stephan
INVITE
05
14 26 07
- Tempo
25
22
- Atributos 158
==================== Total:
Giuseppe M. Stephan
INVITE
180 Ringing
To: Joao Paulo <sip:johann@uniminas.br>;tag=a53e42 From: Luiz Claudio <sip:luiz@uniminas.br>;tag=76341 Call-ID: 123456789@lab.uniminas.br Cseq: 1 INVITE Contact: <sip:luiz@uniminas.br> Content-Length: 0
INVITE
180 Ringing
So copiados vrios campos da mensagem INVITE: Via, To, From, Call-ID e Cseq.
Giuseppe M. Stephan
- Adiciona o endereo IP, mesmo que o DNS lab.uniminas.br pertencente linha Via.
INVITE
180 Ringing
- To e From no so invertidos, ou seja, mantm a direo da requisio e no da resposta. - To contm a Tag gerada pelo destinatrio.
Call-ID: 123456789@lab.uniminas.br Cseq: 1 INVITE Contact: <sip:joao@uniminas.br>
To: Joao Paulo <sip:johann@uniminas.br>;tag=a53e42 From: Luiz Claudio <sip:luiz@uniminas.br>;tag=76341 Call-ID: 123456789@lab.uniminas.br Cseq: 1 INVITE Contact: <sip:joao@uniminas.br> Content-Type: application/sdp Content-Length: 155
INVITE
180 Ringing 200 OK
v=0 o=luiz 2890844528 2890844528 IN IP4 lab.uniminas.br s=Chamada Telefonica c= IN IP4 200.201.202.203 t= 0 0 m=audio 60000 RTP/AVP 0 a=rtpmap:0 PCMU/8000
INVITE
180 Ringing 200 OK
RTP
PCM -Law 8000
Giuseppe M. Stephan
Max-Forwards: 70 To: Joao Paulo <sip:johann@uniminas.br>;tag=a53e42 From: Luiz Claudio <sip:luiz@uniminas.br>;tag=76341 Call-ID: 123456789@lab.uniminas.br Cseq: 1 ACK Content-Length: 0
INVITE
180 Ringing 200 OK ACK
Neste ltimo passo, a confirmao que Luiz recebeu de joao, a resposta com sucesso. - A sequncia de comando tem o mesmo nmero que o INVITE mas o mtodo agora ACK - O parmetro branch contm um novo identificador de transao
Sesso de Mdia
Giuseppe M. Stephan
- A partir deste ponto, iniciada a sesso de mdia, normalmente com o protocolo RTP.
Sesso de Mdia
Giuseppe M. Stephan
Max-Forwards: 70 To : Luiz Claudio <sip:luiz@uniminas.br>;tag=76341 From : Joao Paulo <sip:johann@uniminas.br>;tag=a53e42 Call-ID: 123456789@lab.uniminas.br Cseq: 1 BYE Content-Length: 0
INVITE
180 Ringing 200 OK
- O campo Via populado com o endereo do servidor de Joo e contm um novo identificador de transao - Os campos To e From refletem que a requisio originada por Joo
ACK
Giuseppe M. Stephan
To : Luiz Claudio <sip:luiz@uniminas.br>;tag=76341 From : Joao Paulo <sip:johann@uniminas.br>;tag=a53e42 Call-ID: 123456789@lab.uniminas.br Cseq: 1 BYE Content-Length: 0
INVITE
180 Ringing 200 OK
- A resposta de confirmao para o BYE um 200 OK - Essa resposta ecoa o Cseq da requisio original: 1 BYE.
ACK
Giuseppe M. Stephan
Giuseppe M. Stephan
Giuseppe M. Stephan
To : Joao Paulo <sip:joao@unicamp.br>; From : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 Call-ID: 10@100.101.102.103 Cseq: 1 INVITE Subject: Chamada com SIP Proxy Contact: <sip:luiz@lab1.uniminas.br> Content-Type: application/sdp Content-Length: 159
INVITE
v=0 o=luiz 2890844526 2890844526 IN IP4 100.101.102.103 s=Chamada Telefonica t=0 0 c= IN IP4 100.101.102.103 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
To : Joao Paulo <sip:joao@unicamp.br>; From : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 Call-ID: 10@100.101.102.103 Cseq: 1 INVITE Contact: <sip:luiz@lab1.uniminas.br> Content-Type: application/sdp Content-Length: 159
INVITE
INVITE
v=0 o=luiz 2890844526 2890844526 IN IP4 100.101.102.103 s=Chamada Telefonica c= IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
O INVIT ento encaminhado para o IP do destinatrio encontrado adicionando o segundo campo Via.
Giuseppe M. Stephan
To : Joao Paulo <sip:joao@unicamp.br>;tag=314159 From : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 Call-ID: 10@100.101.102.103 Cseq: 1 INVITE Contact: <sip:joao@200.201.202.203> Content-Length: 0
INVITE
INVITE 180 Ringing
Com a presena de dois campos Via, Joao, sabe que o INVITE foi roteado atravs de um servidor proxy. Recebido o INVITE, ele envia uma resposta para o proxy por meio do 180 Ringing. Apenas o 1o. Campo Via contm o parmetro received.
Giuseppe M. Stephan
To : Joao Paulo <sip:joao@unicamp.br>;tag=314159 From : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 Call-ID: 10@100.101.102.103 Cseq: 1 INVITE Contact: <sip:joao@200.201.202.203> Content-Length: 0
INVITE
INVITE 180 Ringing 180 Ringing
O proxy recebe a resposta, checa que o 1o. Campo Via contm seu prprio endereo, usa o identificador de transao, remove o campo Via e encaminha a resposta para o endereo designado, neste caso, 100.101.102.103 na porta
5060.
Giuseppe M. Stephan
To : Joao Paulo <sip:joao@unicamp.br>;tag=314159 From : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 Call-ID: 10@100.101.102.103 Cseq: 1 INVITE Contact: <sip:joao@200.201.202.203> Content-Length: 159
INVITE
INVITE 180 Ringing 180 Ringing 200 OK
v=0 o=joao 2890844526 2890844526 IN IP4 200.201.202.203 s=Chamada Telefonica c= IN IP4 200.201.202.203 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
A resposta deve ser roteada pelo mesmo conjunto de proxies que efetuou a requisio. A chamada aceita e Joao envia uma resposta 200 OK.
Giuseppe M. Stephan
To : Joao Paulo <sip:joao@unicamp.br>;tag=314159 From : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 Call-ID: 10@100.101.102.103 Cseq: 1 INVITE Contact: <sip:joao@200.201.202.203> Content_Type: application/sdp Content-Length: 159
INVITE
INVITE 180 Ringing 200 OK 180 Ringing 200 OK
v=0 o=joao 2890844526 2890844526 IN IP4 200.201.202.203 c= IN IP4 200.201.202.203 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
A resposta deve ser roteada pelo mesmo conjunto de proxies que efetuou a requisio. A chamada aceita e Joao envia 200 OK.
Giuseppe M. Stephan
To : Joao Paulo <sip:joao@unicamp.br>;tag=314159 From : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 Call-ID: 10@100.101.102.103 Cseq: 1 ACK Content-Length: 0
INVITE
INVITE 180 Ringing 200 OK ACK 180 Ringing 200 OK
A presena do campo Contact com o endereo de Joao no 200 OK permite que Luiz envie um ACK diretamente para o destinatrio, bypassando o proxy.
Giuseppe M. Stephan
Giuseppe M. Stephan
To : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 From : Joao Paulo <sip:joao@unicamp.br>;tag= 314159 Call-ID: 10@100.101.102.103 Cseq: 2000 BYE Content-Length: 0
INVITE
INVITE 180 Ringing 200 OK ACK Sesso de mdia BYE 180 Ringing 200 OK
A sesso de mdia finalizada quando Joao envia uma mensagem BYE. Nota-se que Cseq foi inicializado com 2000. Isto porque cada dispositivo SIP controle sua sequncia de numerao de forma independente.
Giuseppe M. Stephan
To : Luiz Claudio <sip:luiz@uniminas.br>;tag=42 From : Joao Paulo <sip:joao@unicamp.br>;tag= 314159 Call-ID: 10@100.101.102.103 Cseq: 2000 BYE Content-Length: 0
INVITE
INVITE 180 Ringing 180 Ringing 200 OK
200 OK ACK
Giuseppe M. Stephan
Registro no SIP
Giuseppe M. Stephan
Dessa forma, as mensagens de entrada no sistema que sejam destinadas ao usurio podero ser encaminhadas corretamente para a localizao corrente do usurio. O processo de registro pode ser feito de modo direto como no exemplo a seguir ou, como feito geralmente, atravs de um servidor proxy. No exemplo, Ana Claudia envia uma requisio SIP REGISTER para um servidor conhecido como Servidor de Registro.
Giuseppe M. Stephan
Expire: Indica o tempo (segundos) solicitado para se manter o registro ativo no servidor de registro. HLR x Servidor de Registro O registro similar ao processo executado no telefone mvel quando ele ligado. Da mesma forma que este envia sua identidade para uma BS que encaminha a localizao e o nmero do telefone para o HLR, o servidor de registro pode armazenar as informaes do usurio SIP. Este banco, tal qual o HLR, consultado para se saber informaes dos envolvidos na comunicao.
Giuseppe M. Stephan
A resposta ecoa a informao Contact que foi armazenada no banco de dados. O Tag para o campo To includo.
200 OK SIP/2.0 200 OK Via: SIP/2.0/UDP 200.201.202.203:5060;branch=z9hG4bkus19 To: Ana Claudia<sip:ana.claudia@uniminas.r>;tag=8771 From: Ana Claudia<sip:ana.claudia@uniminas.br>;tag=3431 Call-ID: 23@200.201.202.203 Cseq: 1 REGISTER Contact: sip:ana.claudia@200.201.202.203;expires=3600 Content-Length: 0
Giuseppe M. Stephan
REGISTER
Giuseppe M. Stephan
Maria
REGISTER
100 Trying
Giuseppe M. Stephan
Maria
REGISTER
Giuseppe M. Stephan
Maria
REGISTER
Giuseppe M. Stephan
Maria
REGISTER
para o usurio
- Esse passo notifica que o usurio est registrado no sistema.
200 OK 200 OK
Giuseppe M. Stephan
Redirecionamento no SIP
Giuseppe M. Stephan
Redirecionamento no SIP Durante o estabelecimento de comunicao entre os participantes de uma chamada SIP, normalmente necessrio determinar a localizao desses participantes. Esse processo feito como o apoio do Servidor de Redirecionamento. A solicitao do servio de redirecionamento deve ser feita com o envio da requisio INVITE para o servidor de redirecionamento. No cabealho da mensagem, o campo From indica o endereo do usurio que solicita o mapeamento. O campo To indica o endereo do usurio a ser localizado
Giuseppe M. Stephan
INVITE sip:pedro@redirect.uniminas.br SIP/2.0 Via: SIP/2.0/UDP lab.uniminas.br From: Luiz Claudio <luiz@uniminas.br> To: Pedro Henrique <pedro@uniminas.br> Call-ID: 12345678@lab.uniminas.br Cseq: 1 INVITE Subject: Redirecionamento no SIP Content-Length: 256 Content-Type: application/sdp (corpo da mensagem)
Redirecionamento no SIP Operao de localizao requer um servio que mantm mapeamentos entre uma nica URI e um conjunto de uma ou mais localizaes alternativas que permitem encontrar o elemento referenciado pela URI. Contact: Mostra a lista de uma ou mais localizaes alternativas. Resposta: Classe 3xx Quando o originador de uma requisio recebe a informao de redirecionamento, a mensagem de requisio ACK enviada para o servidor de redirecionamento.
SIP/2.0 302 Moved Temporarily Via: SIP/2.0/UDP lab.uniminas.br From: Luiz Claudio <luiz@uniminas.br> To: Pedro Henrique <pedro@uniminas.br> Call-ID: 12345678@lab.uniminas.br Cseq: 1 INVITE Contact: <sip:pedro@ufu.br> Expire: 3600 Content-Length: 0
Giuseppe M. Stephan
Redirecionamento no SIP Em seguida, uma nova requisio enviada com base na URI ou URIs recebidas, podendo ser URIs no SIP. O usurio Luiz manda uma nova mensagem INVITE para o usurio Pedro. A URI SIP fornecida pelo servidor de redirecionamento utilizada na linha de incio da mensagem.
INVITE sip:pedro@ufu.br SIP/2.0 Via: SIP/2.0/UDP lab.uniminas.br From: Luiz Claudio <luiz@uniminas.br> To: Pedro Henrique <pedro@uniminas.br> Call-ID: 12345678@lab.uniminas.br Cseq: 2 INVITE Subject: Redirecionamento no SIP Content-Length: 256 Content-Type: application/sdp (corpo da mensagem)
Giuseppe M. Stephan
Giuseppe M. Stephan
Giuseppe M. Stephan
A REGISTER
1 - O agente A envia uma requisio INVITE para o servidor proxy encaminhar para o usurio B.
Giuseppe M. Stephan
2 - O servidor proxy de A recebe o INVITE, e notifica o usurio A enviando a resposta 100 Trying.
Giuseppe M. Stephan
mensagens com o
agente para autenticao. Ele simplesmente encaminha o INVITE para o servidor de redirecionamento.
Giuseppe M. Stephan
obtido a partir do
servio de localizao.
Giuseppe M. Stephan
fim de completar o 3-
handshake.
Giuseppe M. Stephan
INVITE
Giuseppe M. Stephan
INVITE
100 Trying
100 Trying.
Giuseppe M. Stephan
INVITE
100 Trying INVITE
Giuseppe M. Stephan
INVITE
100 Triyng INVITE 302 Moved Temp
obtido a partir do
servio de localizao.
Giuseppe M. Stephan
INVITE
100 Triyng INVITE 302 Moved Temp ACK
fim de completar o 3-
handshake.
Giuseppe M. Stephan
INVITE
100 Triyng INVITE 302 Moved Temp ACK INVITE
Giuseppe M. Stephan
12 - O agente B recebe o INVITE e notifica o servidor proxy de B enviando a resposta 100 Trying.
INVITE
100 Triyng INVITE 302 Moved Temp ACK INVITE 100 Triyng
Giuseppe M. Stephan
Forking
Giuseppe M. Stephan
Giuseppe M. Stephan
fluxo apresentado anteriormente. 11 - O SPb utiliza a informao de mapeamento da resposta recebida para gerar um novo INVITE a ser enviado para o usurio B. 12 - O SPb utiliza a informao de mapeamento da resposta recebida para gerar um novo INVITE a ser enviado ao agente C.
INVITE e notifica o SPb enviando a resposta 100 Trying. A resposta de um agente pode chegar antes da resposta de outro, no forking paralelo. 14 - O agente B recebe o INVITE e notifica o SPb enviando a resposta 100 Trying.
descrio da sesso e envia a resposta 180 Ringing indicando que o agente est sendo notificado da existncia de uma chamada. Essa mensagem ser roteada atravs do sistema at o agente A com base nos campos Header Via. 16 - O SPb encaminha a mensagem 180 Ringing do agente C para ao SPa.
mensagem 180 Ringing do agente C para o agente A. 18 - O agente B aceita a descrio da sesso e envia a resposta 180 Ringing indicando que o usurio est sendo notificado da existncia de uma chamada. Essa mensagem ser roteada atravs do sistema at o agente A, com base nos campos header Via.
mensagem 180 Ringing do usurio B para o SPa. 20 - O SPa encaminha a mensagem 180 Ringing do usurio B para o usurio 21 - Quando o usurio C atende chamada, a resposta 200 OK enviada para o SPb.
resposta 200 OK do agente C, o SPb envia um CANCEL para o agente B. 23 - O SPb encaminha o 200 OK do agente C para o usurio A. 24 - O SPa encaminha o 200 OK do agente C para o agente A.
CANCEL, o agente B envia a resposta 200 OK para o SPb. 26 - O agente A, tendo recebido as respostas 180 Ringing e 200 OK, envia um ACK para o SPa. 27 - O SPa encaminha o ACK do agente A para o SPb. 28 - O SPb encaminha o ACK do agente A para o agente C.
nica esatabelecidos entre os agentes, um de A para C e outro de C para A, atravs de RTP, so utilizados pelos usurios para conversao.
comunicao, o agente C envia um BYE para o SPb. 31 - O SPb encaminha o BYE do agente C para o SPa. 32 - O Spa encaminha o BYE do agente C para o agente A.
BYE
BYE
requisio BYE e envia a resposta 200 OK para o SPa, finalizando a chamada e fechando o canal de voz. 34 - O SPa encaminha o 200 OK do agente A para o SPb. 35 - O SPb encaminha o 200 OK do agente A para o agente C.
BYE 200 OK
BYE 200 OK
N o modo sequencial, o servidor proxy deve encaminhar o INVITE para cada localizao, uma por vez. O encaminhamento feito para a prxima localizao apenas se a localizao corrente no atender chamada. A busca encerrada se alguma das localizaes atender chamada ou se delas nenhuma atender chamada.
Giuseppe M. Stephan
Presena e Instant
Message
Giuseppe M. Stephan
NOTIFY:
Giuseppe M. Stephan
Max-Forwards: 70
To: Paulo Maia <sip:paulo@ietf.org> From: Carlos Lara <sip:carlos@academia.br>;tag=21171 Cseq: 3412 SUBSCRIBE Allow_events: presence Allow: ACK, INVITE, CANCEL, BYE, NOTIFY, SUBSCRIBE, MESSAGE Contact: <sip:cl@lab.academia.br;transport=tcp> Event: presence Content-Length: 0
Giuseppe M. Stephan
Giuseppe M. Stephan
Expires=3600
Content-Length: 0
Giuseppe M. Stephan
Event: presence
Content_Type: application/cpim-pidf+xml Content-Length: 244
Giuseppe M. Stephan
<basic>closed</basic>
</status> </tuple> </presence>
O NOTIFY enviado dentro de um dilogo estabelecido com o SUBSCRIBE. Ele usa o mesmo identificador de dilogo (Call-ID, local e tags remotas). A requisio enviada para o Contact fornecido por Carlos na chamada da subscrio.
Giuseppe M. Stephan
Giuseppe M. Stephan
Content-Length: 0
Giuseppe M. Stephan
Giuseppe M. Stephan
<basic>open</basic>
</status> <contact>sip:pm@sipping.ietf.org;transport=tcp </contact> </tuple> </presence>
O tempo de expirao indicado no campo Subscription-State indica que 30 minutos se passaram desde que a subscrio foi estabelecida.
Content-Length: 0
Giuseppe M. Stephan
Giuseppe M. Stephan
Content-Length: 0
200 Ok
Giuseppe M. Stephan
200 Ok
MESSAGE
Giuseppe M. Stephan
SIP/2.0 200 OK Via SIP/2.0/TCP sipping.ietf.org:5060; branch=z9hG4bk4526245;received=24.32.1.3 To: Carlos Lara <sip:carlos@academia.br>;tag=mc3bg5q77wms From: Paulo Maia <sip:paulo@sipping.ietf.org>;tag=14083 Call-ID: 1k34452k592520 Cseq: 2321 MESSAGE
Carlos SUBSCRIBE 202 Accepted NOTIFY 200 Ok Mais tarde NOTIFY 200 OK MESSAGE
Paulo
Content-Length: 0
200 Ok
MESSAGE 200 Ok
Giuseppe M. Stephan
Caractersticas do SIP
Giuseppe M. Stephan
Descrio do protocolo 6 tipos de servios Localizao do Usurio: Localizar o terminal para estabelecer a conexo
Disponibilidade do Usurio: Estabelecer uma sesso de comunicao Recursos do Usurio: Determinar os meios a serem utilizados.
Caractersticas de Negociao: Negociar e acordar funcionalidades entre as partes Gesto da Sesso : Iniciar, terminar ou colocar em espera as sesses Modificar Sesso : Modificar uma sesso em andamento.
Giuseppe M. Stephan
Caractersticas
Protocolo tipo Cliente/Servidor (porta 5060) Escalabilidade e simplicidade (Princpio KISS Keep It Simple Stupid) Cada funcionalidade como proxying, redirection, location, ou registration pode residir em servidores fsicos distintos Mobilidade: terminais diferentes, mesma identificao Localizao do usurio atravs de um endereamento tipo e-mail
Giuseppe M. Stephan
Caractersticas
Giuseppe M. Stephan
Caractersticas O SIP utiliza um modelo cliente-servidor: UAC: user-agent client (Cliente) => Aplicao chamadora UAS: user-agent server (Servidor) => Aceita, redireciona e recusa chamadas E ainda: redirect server: Solicitaes de redirecionamento
proxy server:
registrar:
Servidor + Cliente
Ao iniciar, o Cliente se registra de forma autenticada em um Servidor (via multicast) de modo a informar o local proxy de sua localizao. Este registro expira conforme configurao do servidor.
Giuseppe M. Stephan
Pode ser executado sobre camadas confiveis (TCP, SCTP) ou no-confiveis (UDP)
Requisio de roteamento: direto (performance) ou por proxy (controle) Separao em sinalizao e descrio da mdia Extensibilidade: indica e requer capacidades dos proxies e UAs Requisies subsequentes e retransmisses podem tomar rotas diferentes
Giuseppe M. Stephan
Mtodos SIP
Giuseppe M. Stephan
Transaes SIP Compostas por dois tipos de mtodos: requisies iniciadas pelo CLIENTE e
Define poucos mtodos, de modo a reduzir a complexidade e novos mtodos podem ser introduzidos sem necessidade de mudana no protocolo. Requisies e respostas podem conter qualquer tipo de objeto (binrio/texto). Requisies contm a descrio da sesso (mdia), enquanto as respostas contm a descrio da sesso em caso de sucesso, HTML ou texto puro em caso de falha.
Giuseppe M. Stephan
INVITE :
ACK:
BYE:
CANCEL:
Giuseppe M. Stephan
PRACK:
Confirma o provisionamento.
SUBSCRIBE: Registra-se para uma Notificao de Evento do Notifier NOTIFY: Notifica o assinante de um novo evento.
INFO:
MESSAGE: UPDATE:
REFER: Solicita ao destinatrio que envie uma requisio SIP (transferncia de chamada).
Giuseppe M. Stephan
Cdigos de Resposta Mensagem gerada por um UAS ou um servidor SIP, para responder a uma solicitao. Existem 6 tipos de classes de Cdigos de Resposta:
1xx: Informao. Recebe informao sobre o progresso do pedido. A 1a. mensagem dessa classe recebida pelo usurio, confirma o recebimento do INVITE pelo servidor e indica que o usurio deve parar de enviar solicitaes INVITE. [Searching, Ringing, Trying...] 2xx: Sucesso. Informa que o pedido foi aceito e atendido. No caso de ser uma solicitao INVITE, deve ser enviado um ACK confirmando. [Sucess] 3xx: Redirecionamento. Em geral, enviado por um servidor SIP de redirecionamento, serve para indicar que o destinatrio no est nessa localizao e informar sua nova a localizao. [Forwarding]
Giuseppe M. Stephan
Cdigos de Resposta 4xx: Erro por parte do Cliente. Informa que houve um erro na solicitao por parte do cliente, que dever refazer a solicitao de acordo com o erro indicado. [Client
Mistakes]
5xx: Erro por parte do Servidor. Informa que a mensagem no pode ser enviada com sucesso em decorrncia de um erro com o servidor. [Server Failures] 6xx: Classe Erro Global. Informa que houve um erro e que essa mensagem ir falhar em qualquer servidor, portanto no dever ser reenviada. [Busy, Refuse, not available anywhere]
Caso uma mensagem em particular no possa ser entendida por um UAC, ele dever
entend-la pela descrio da classe, por exemplo, um UAC recebe uma mensagem 599 (servidor desconectado) e no compreende a mensagem, ele dever interpret-la como a classe 5xx, erro do servidor.
Giuseppe M. Stephan
1xx Informativo 100 180 181 182 2xx Sucesso 200 3xx - Redirecionamento 300
Pedido recebido, continuando a processar o pedido Tentando Chamando Chamada sendo retransmitida Colocado na fila A ao foi recebida, entendida e aceita com sucesso OK Uma ao adicional deve ser tomada para completar o pedido Mltiplas escolhas
Giuseppe M. Stephan
Cdigos de Resposta
Giuseppe M. Stephan
Mensagem SIP
Giuseppe M. Stephan
Transao
Sequncia de mensagens SIP iniciada com um pedido Pode conter uma ou mais respostas temporrias (1xx) Contm uma ou mais respostas finais (no 1xx) Dilogo Sequncia de mensagens entre dois agentes usurios Iniciado em geral com um pedido INVITE e finalizado com BYE Constitudo por uma ou mais transaes sucessivas Chamada Sequncia de mensagens originadas por um INVITE de um agente usurio
Giuseppe M. Stephan
Mensagens SIP
Giuseppe M. Stephan
Cseq:
Contact:
Estrutura da mensagem SIP Cabealho Via: Campo obrigatrio e grava as rotas SIP tomadas por uma requisio e usado para rotear as resposta de volta ao originador. Por meio dele pode-se enxergar todos os proxies percorridos pelo caminho. Cada proxy adiciona um branch contendo um tag criptografado.
From(f): Cabealho necessrio em toda comunicao SIP, ele identifica o transmissor de determinada requisio. Exemplo de uso: From:<sip:luiz@uniminas.br.
Giuseppe M. Stephan
Estrutura da mensagem SIP Cabealho To: Exigido em todo cabealho para indicar o destinatrio da requisio. resposta gerada pelo user agent adicionar ao cabealho um campo tag. Qualquer
Contact: Usado para manter uma URI que identifica o recursos requisitado ou o originador da requisio, dependendo se est presente na requisio ou na resposta. Uma vez recebido, o Contact pode ser cacheado e usado para roteamento de futuras requisies dentro do dilogo que permitiro bypassar o proxy. Esta ao inibida pelo Recording-Route
Giuseppe M. Stephan
Estrutura da mensagem SIP Cabealho Call-ID: cabealho indispensvel numa comunicao SIP, ele serve como identificador nico para uma mensagem, ele gerado localmente de maneira randmica, contem um @ e um endereo de IP do transmissor. Exemplo de uso: i:34d54321a6cc5676@146.164.98.78 Cseq: Cabealho obrigatrio que funciona como um contador para cada requisio feita, com exceo de ACK e CANCEL. O Cseq utilizado pelos UAS para diferenciar uma requisio nova de uma retransmisso e utilizado pelos UAC para identificar a qual requisio uma determinada resposta pertence.
Exemplo de Uso:
CSeq: 3 OPTIONS
Giuseppe M. Stephan
Arquitetura SIP
Giuseppe M. Stephan
Arquitetura SIP
Servidor de Locatizao
Servidor Redirect
Servidor Registrar
RTPC
Agente de Usurio Proxy Server Proxy Server Gateway
Giuseppe M. Stephan
=> Entidade que recebe uma chamada, enviando respostas e recebendo requisies.
Giuseppe M. Stephan
Existem dois tipos de servidores : Stateful Proxy Server e Stateless Proxy Server Giuseppe M. Stephan
Permite dividir a chamada (Fork) para mltiplos servidores na tentativa de localizar o usurio, dessa maneira, cria uma rvore de busca
Possuem maior confiabilidade
Giuseppe M. Stephan
e as respostas Possuem maior velocidade Menos confiabilidade Incapacidade de computar gastos do cliente.
Giuseppe M. Stephan
Recebe um pedido de sesso e responde com as localizaes do destinatrio O originrio recebe a informao e envia o pedido para o destinatrio No reencaminha os pedidos Alta capacidade de processamento devido ao menor nmero de msgs para
processar
Servios so dependentes do dispositivo client
Giuseppe M. Stephan
Realiza o registro dos agentes de usurios Servidor que armazena a localizao dos usurios: usuario@endereoIP:porta Associa identificadores humanos (luiz@uniminas.br) com endereos IPs dinmicos Fornece um servio de localizao.
Giuseppe M. Stephan
Questes
Giuseppe M. Stephan
Respostas 1) As trs primitivas do protocolo SIP so: inicializao, modificao e a finalizao das sesses. 2) Encriptao, autenticao e esteganografia. 3) A sua simplicidade, eficincia, flexibilidade e facilidade de comunicao com os protocolos da Internet HTTP e SMTP. 4) Ao enviar uma solicitao de INVITE, o receptor pode demorar muito tempo pra responder, e ao responder pode ser que o emissor no esteja mais conectado, uma maneira de contornar foi o three way handshake, primeiro o emissor solicita um INVITE, o receptor ao confirmar envia uma mensagem 200 OK e caso o emissor ainda esteja conectado, enviado automaticamente um ACK. 5) Proxy, redirect e registrar 6) SIP + SDP, SIP, SDP+ SMIL, proxy
Giuseppe M. Stephan
Fim
Giuseppe M. Stephan
Responsvel: ==========
- IAD:
- ATA: - Proxy:
Caractersticas
FXO/FXS/Caractersticas Caractersticas
- RTP:
RTCP/UDP
Giuseppe M. Stephan