Nível aplicação e protocolos para streaming



Documentos relacionados
Cap. 2 O nível aplicação. (3ª parte)

Multimédia, Qualidade de Serviço (QoS): O que são?

2 Q Prof. Roberto Jacobe

Protocolos Multimídia. Alunos: Roberto Schemid Rafael Mansano

Instituto Superior Técnico. Projecto VoIP. Sistema IVVR

Redes de Computadores

3 Qualidade de serviço na Internet

Aplicações e redes multimédia

Redes de Computadores

Protocolo de Sinalização SIP

Contribuição acadêmica

Redes de Computadores. Trabalho de Laboratório Nº7

Fluxos Multimédia Armazenados

Redes Mul)mídia. Tópicos. Streaming de Áudio e Vídeo. Aplicações de Rede Mul:mídia Introdução Classes de Aplicações Mul:mídia

11. VOZ SOBRE IP. VoIP. 25 Capitulo 11

Redes de Computadores

Introdução ao protocolo SIP*

CAMADA DE TRANSPORTE

03.04 Streaming de Vídeo

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Arquitecturas Multimédia

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Transmissão de Voz em Redes de Dados (VoIP)

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

SIP. Fabrício Tamusiunas. Comitê Gestor Internet BR

REDES DE COMPUTADORES

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Prof. Samuel Henrique Bucke Brito

VoIP. Redes de Longa Distância Prof. Walter Cunha

Introdução. Funcionalidades Principais. Protótipo: Fluxo de execução do Programa Cliente

Redes de Computadores 1 o Exame

F n u d n a d ment n os o Vo V I o P Introdução

Redes de Computadores

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

Redes de Comunicações Capítulo 6.1

Sistemas Distribuídos

7. DIVULGAÇÃO DE VÍDEOS E SOM VIA REDE MÉTODO STREAMING

Prof. Daniel Hasse. Multimídia e Hipermídia

Redes de Computadores

Intelbras GKM 2210T. 1. Instalação

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

REDES CONVERGENTES PROFESSOR: MARCOS A. A. GONDIM

Subunidade 6: publicação

Comunicando através da rede

A Família de Protocolos RTP

Streaming vídeo com RTSP e RTP

A Camada de Transporte

Modelos de Camadas. Professor Leonardo Larback

Protocolos de Redes Revisão para AV I

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Camada de Transporte. Protocolos TCP e UDP

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Redes de Computadores. Revisões

SIP Session Initiation Protocol

Teia de alcance mundial (World Wide Web WWW) Web composta de

Redes de Computadores

Rede de Computadores

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Capítulo 7 Redes multimídia

Redes de Computadores Aula 3

Redes Multimídia. Professor: Renê Furtado Felix Redes II - UNIP 1

Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX

Teleprocessamento e Redes

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Redes de Computadores. Camada de Transporte

Vodafone ADSL Station Manual de Utilizador. Viva o momento

ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE. André Esteves nº3412 David Monteiro

Redes de Computadores e a Internet

Introdução ao VoIP Codecs

Redes e Telecomunicações

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

Redes de Computadores

Informática I. Aula Aula 22-03/07/06 1

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Transporte 03/06/2013

Redes de Computadores II

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos

Protocolos Sinalização

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Sistemas e Conteúdos Multimédia Áudio. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

UNIVERSIDADE. Sistemas Distribuídos


UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Cap 01 - Conceitos Básicos de Rede (Kurose)

Transcrição:

Nível aplicação e protocolos para streaming

Notas para leitura prévia Esta apresentação, enquadrada como uma parte complementar de protocolos de suporte para aplicações baseadas em streaming, corresponde a uma introdução à problemática de protocolos para multimedia networking, que é tratada nas secções 7.1 a 7.3 do capítulo 7 do livro base de suporte à disciplina Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 2

Organização do capítulo Protocolos para streaming Protocolos RTP e SIP Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 3

Multimedia vs. Qualidade de Serviço Aplicações multimedia: network audio and video ( continuous media ) QoS Assegurar nível de desempenho necessário para que as aplicações funcionem 7: Multimedia Networking 7-4

Aplicações Multimédia sobre a Internet Classes destas aplicações: 1) Streaming stored audio and video (video on-demand) 2) Streaming live audio and video (IP TV, IP Radio,...) 3) Real-time interactive audio and video (IP Phone, Video conference,...) Características fundamentais: Tipicamente sensíveis ao atraso (latência da comunicação) Atraso extremo a extremo jitter Mas toleram perca de pacotes: pequenas percas provocam defeitos toleráveis na percepção do som ou imagem Jitter : variação do tempo de trânsito (delay) dos pacotes do mesmo fluxo O contrário das aplicações elásticas que toleram variação da capacidade mas não toleram perca de dados Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 5

IP Phone, Video Conference,... Aplicações interactivas em tempo real Requisitos extremo a extremo: áudio: < 150 mili segundos bom, < 400 mili segundos ainda aceitável Mas inclui o tempo para digitalizar, empacotar, trânsito pela rede,... Início de sessão: Como é que se sabe os endereços. formatos ou codificações ou digitalização usados pelos interlocutores e como se encontram ou localizam esses interlocutores? Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 6

Exemplo de digitalização do som O sinal analógico é amostrado (sampled) a um ritmo constante Comnicação por telefone: 8,000 amostras / s Qualidade CD: 44.100 amostras / s Cada amostra é quantificada (aproximada por um valor) Por exemplo 2 8 =256 valores possíveis Cada valor é representado em bits 8 bits permitem representar 256 valores possíveis Exemplo: 8.000 amostras/s, com 256 valores possíveis cada, implica uma velocidade de transmissão de 64 Kbps O receptor volta a realizar a conversão para sinal analógico Implica necessariamente alguma perda de informação Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 7

Requisitos de capacidade Aplicações multimédia têm que transmitir informação multimédia. Um bom ponto de partida é analisar os requisitos de capacidade, necessários para transmitir este tipo de informação. Exemplos com som codificado PCM pulse code modulation : Voz telefónica codificada em 8 bits (2 8 = 256 valores distintos): com 8 KHz de frequência de amostragem, o som exige 8 x 8.000 = 64 Kbps por canal Som do CD codificado em 16 bits: 44.100 x 16 = 705,6 Kbps (mono) ou 1,411 Mbps (stereo) Exemplos com som codificado com compressão: Telefone e IP Radio: 8 Kbps (G.729), 13 Kbps (GSM) Internet telephony (VoIP): 5.3 6.4 Kbps (G.723.3) MPEG 1 Layer 3 (ou MP3): 96 Kbps, 128 Kbps ou 160 Kbps - som estéreo de qualidade quase comparável à de CD) MPEG 1 for CD-ROM video quality (1.5 Mbps), DVD-Video (3-6 Mbps) Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 8

CODECS (COder DECoders, COmpressor DECompressor) Um CODEC é um dispositivo hardware com software, ou um circuito VLSI, que realiza a transformação do sinal analógico para uma codificação digital ou vice-versa (code / decode). Há CODECS simples como os CODECS PCM dos telefones digitais ou das centrais telefónicas. Estes dispositivos apenas transformam o som codificado de forma analógica em digital e vice versa através de uma amostragem de 8 bits com uma frequência de amostragem de 8 KHz. Há CODECS mais complexos como os CODECS MPEG-2 existentes nos DVDs, em placas para PC ou em software. Estes CODECS codificam / separam e comprimem / descomprimem vários canais de vídeo e de voz Há CODECS públicos, isto é, normalizados, e CODECS proprietários (patenteados e de utilização sujeita a pagamento). Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 9

IP Phone: desafios e soluções possíveis Os protocolos de transporte TCP e UDP providenciam um serviço sem garantias no que toca a capacidade, jitter ou atraso Soluções : UDP em vez de TCP: usar UDP para evitar os atrasos suplementares introduzidos pelo TCP quando há perca de pacotes Aramazenar e atrasar a reprodução (c/ buffering): Colocar em filas de espera os dados antes de os começar a reproduzir para o utilizador, para acomodar, tanto quanto possível, as variações do ritmo de chegada (jitter) Compensar: tentar compensar ao nível aplicação a eventual perca de pacotes (ex., Repetição, Piggybacking, FEQ Forward Error Correction ou Interleaving) Adaptar aompressão e resolução: adaptar o tipo de compressão e de resolução, isto é, o CODEC, à capacidade disponível Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 10

Latência e variação da latência (jitter): Atrasar a reprodução (playout delay) Antes de reproduzir (playout) o som recebido, a aplicação pode manter os dados numa fila de espera (buffer); desta forma existe a possibilidade de compensar, até certo nível, a variação ou jitter do tempo de trânsito Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 11

Como funciona o atraso de reprodução Cumulative data constant bit rate transmission variable network delay (jitter) client reception buffered data constant bit rate playout at client client playout delay time Os pacotes são emitidos, por exemplo, de 20 em 20 mili segundos, mas a diferença de tempo entre cada dois pacotes recebidos pode ser maior ou menor que 20 mili segundos Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 12

Que valor para o playout delay? Playout Delay. Quanto maior for o playout delay maior é a capacidade de acomodar um maior jitter e maior é a probabilidade de não perder pacotes. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 13

Playout Delay Playout Delay. Quanto maior for o playout delay maior é a capacidade de acomodar um maior jitter e maior é a probabilidade de não perder pacotes. Com efeito, os pacotes que chegam depois de esgotado o playout delay são ignorados e é como se se tivessem perdido, mas os que chegarem antes ainda são aproveitados. O problema é que um playout delay junta-se ao atraso de extremo a extremo para tornar a situação cada vez pior para o ouvinte. Em resumo: se o atraso médio é Am e se se usa um playout delay de D, então o atraso de extremo a extremo passa a ser em média Am+D. Alternativa mais sofisticada: adoptar um playout delay variável e adaptável à situação da rede em função do tempo de trânsito médio. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 14

Como tratar a perca de pacotes: compensar em vez de recuperar A perca de pacotes numa aplicação de tempo real é tomada num sentido lato: pacotes que nunca chegam ou que chegam depois de um limite de tempo, o que os torna inúteis. As técnicas de retransmissão, como na transferência de dados, não se aplicam: introduzem aumento do tempo de transferência e da respectiva variância (jitter) e obrigariam a um playout delay demasiado grande Os diferentes parâmetros (perca de pacotes, tempo de trânsito e jitter) são críticos e numa rede de pacotes é bastante normal termos RTT significativos e variáveis, mesmo sem retransmissões. Assim, as técnicas que se usam para compensar a perca de pacotes baseiam-se, geralmente, não em retransmitir, mas em tentar compensar as percas através de algum tipo de informação redundante (FEC- Forward Error Correction) ou de interleaving (que é uma outra técnica usada para distribuir o impacto das percas). Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 15

Como compensar os pacotes perdidos É sempre possível tentar compensar os pacotes perdidos no receptor. Se o receptor detecta um pacote perdido pode repetir o último ou interpolar. Repetir é o mais fácil do ponto de vista computacional. Interpolar é mais pesado. Técnicas de repetição e/ou interpolação conseguem compensar as percas quando estas se mantêm dentro de limites aceitáveis (por exemplo inferiores a 1%). Em alternativa podem usar-se técnicas especiais na emissão: FEC, Piggybacking e Interleaving FEC (Forward Error Correction). A ideia é enviar após cada N pacotes, um pacote redundante calculado como sendo o XOR dos anteriores. Desta forma é possível compensar até 1 pacote perdido de N em N pacotes. Introduzir um stream redundante de qualidade inferior (piggybacking). Finalmente, é também possível distribuir as repercussões das percas através de uma técnica designada interleaving. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 16

Resumo: soluções a nível aplicacional para problemas do nível rede usar UDP evitando assim os atrasos impostos pelo TCP devido à sua fiabilidade Cliente: playout delay adaptativo para compensar o jitter Servidor: adaptar a capacidade exigida pelo stream à disponível entre o cliente e o servidor Compensar os erros (por cima do UDP, ao nível aplicacional) FEC, interleaving, ou compensar os erros através de um stream redundante (ver http://en.wikipedia.org/wiki/streaming_media) Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 17

Organização do capítulo Protocolos para streaming Protocolos RTP SIP Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 18

Real-Time Protocol (RTP) O RTP especifica a estrutura dos pacotes que contém áudio e vídeo RFC 1889. Providencia Identificação do tipo do conteúdo Diferentes payloads com diferentes codificações possíveis Números de sequência Etiquetas temporais (timestamps) O RTP é um protocolo aplicacional: só processado ao nível dos sistemas finais. Os pacotes (ou datagramas) RTP são transportados em UDP Interoperação: se duas aplicações de IP Phone distintas usam RTP, devem poder funcionar em conjunto Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 19

RTP funciona sobre o UDP As RTP libraries providenciam uma interface que estende o UDP com: payload type identification (CODEC) packet sequence numbering (números de sequência) time-stamping (etiquetas temporais) Payload Campos principais: Payload Type Seq. Number Timestamp SSID outros campos adicionais Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 20

Cabeçalho RTP Payload Type (7 bits): Indica o tipo de codificação (CODEC) usado. Se o emissor resolver alterá-lo, indica-o ao receptor mudando este campo. Payload type 0: PCM mu-law, 8KHz, 64 kbps Payload type 3, GSM, 8KHz, 13 kbps Payload type 7, LPC, 8KHz, 2.4 kbps Payload type 9, G.772 16KHz, 48-64 Kbps Payload type 15, G728 8KHz, 16Kbps Payload type 26, Motion JPEG Payload type 31. H.261 Payload type 33 MPEG2 video Sequence Number (16 bits): incrementado em cada pacote enviado o que permite detectar a perca ou troca dos pacotes. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 21

Continuação Timestamp field (32 bits). Reflecte o momento em que os dados contidos no pacote foram gerados em termos do relógio usado para realizar a amostragem para a digitalização: Com som, o timestamp clock é tipicamente incrementado de 1 por cada período de amostragem (em cada 125 micro segundos quando se faz amostragem a 8 KHz ou 8.000 vezes por segundo) Se cada pacote contiver 160 amostras, o valor deste campo é incrementado de 160 em cada pacote. O valor deste relógio continua a ser incrementado mesmo que a fonte esteja inactiva e não emita pacotes. SSRC field (32 bits). Identifica a fonte do stream. Uma sessão RTP pode ter vários streams e cada um deve ter um valor de SSRC diferente. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 22

Desenvolvimento de aplicações com RTP/UDP RTP libraries (C, JAVA, ) que providenciam uma interface que estende o UDP com: payload type identification (CODEC) packet sequence numbering (números de sequência) time-stamping (etiquetas temporais) Payload API, Sockets UDP Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 23

RTSP Real Time Streaming Protocol Protocolo do nível sessão (out-of-banda), para controlo de sessões de transmissão de streaming a partir de streaming media servers (setup, pause, resume, playback, fast-forward, rewind) Pode usar TCP ou UDP (porto 544) Simples implementação via WEB: Session Presentation Files: referências para múltiplos ficheiros de media streaming, com diferentes possíveis formatos /codificações (ex., rtsp://server.example.com/twister/audio /hifi) Utilização de RTP como protocolo para media stream delivery Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 24

RTSP Real Time Streaming Protocol: presentation files Protocolo do nível sessão (out-of-banda), para controlo de sessões de transmissão de streaming a partir de streaming media servers (setup, pause, resume, playback, fast-forward, rewind) Pode usar TCP ou UDP (porto 544) Simples implementação via WEB: Session Presentation Files: referências para múltiplos ficheiros de media streaming, com diferentes possíveis formatos /codificações (ex., rtsp://server.example.com/twister/audio /hifi) Utilização de RTP como protocolo para media stream delivery Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 25

Organização do capítulo Protocolos para streaming Protocolos RTP SIP Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 26

SIP Session Initiation Protocol Visão: (longo prazo?) Um dia todas as chamas telefónicas, os chats, os jogos e as vídeo conferências serão realizadas sobre a Internet Os interlocutores terão nomes internet ou endereços de correio electrónico (ao invés de números de telefone) É possível chegar à pessoa chamada mesmo que esta esteja fora da rede habitual, independentemente do dispositivo (terminal) que está a usar e do endereço IP do mesmo. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 27

SIP - Session Initiation Protocol Este protocolo providencia mecanismos para um utilizador estabelecer uma sessão interactiva com outro ou outros utilizadores, negociar CODECS, terminar a sessão, etc. Uma sessão interactiva pode ser uma chamada telefónica, uma videoconferência ou uma simples sessão de chat. Providencia mecanismos para determinar o endereço IP de cada participante. Este endereço pode mudar em função da localização e do dispositivo usado pelo participante. Os participantes são identificados por endereços SIP que são semelhantes a endereços de correio electrónico. Providencia mecanismos para a gestão da sessão, nomeadamente: mudança dos fluxos usados e respectiva codificação, entrada de novos participantes, transferência das chamadas, colocação da chamada em espera, etc. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 28

Exemplo simples A Alice envia a mensagem de estabelecimento da sessão (INVITE) e indica o seu endereço IP, porta e CODEC (PCM, VP0). A mensagem do Bob aceita a sessão (200 OK) e indica o seu endereço IP, a porta e o CODEC (GSM, VP3) O protocolo SIP pode usar TCP ou UDP. A porta por defeito é 5060. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 29

Outras hipóteses Negociação do CODEC: Supondo que o Bob não tem o CODEC PCM pode responder com: 606 Not Acceptable Reply and list of acceptable encoders. A Alice pode então repetir a mensagem INVITE com o CODEC adequado. Rejeição da chamada: Códigos possíveis: busy, gone, payment required, forbidden. O conteúdo multimédia pode ser enviado por RTP sobre UDP ou por qualquer outro protocolo. Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 30

Outro exemplo mais completo INVITE sip:bob@domain.com SIP/2.0 Via: SIP/2.0/UDP 167.180.112.24 From: sip:alice@hereway.com To: sip:bob@domain.com Call-ID: a2e3a@pigeon.hereway.com Content-Type: application/sdp Content-Length: 885 c=in IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 Notas: Sintaxe das mensagens SMTP sdp = session description protocol Call-ID é único para cada chamada tal como as mensagens SMTP Neste caso o endereço IP do Bob é desconhecido pelo que serão necessários servidores suplementares A Alice envia e recebe as mensagens a partir da porta SIP por defeito: 506 A Alice especifica no cabeçalho via a opção Via que está a usar SIP 2.0 sobre UDP e que o seu endereço é 167.180.112.24 Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 31

Localização dos utilizadores O utilizador que inicia a chamada só tem o nome ou o endereço e-mail do interlocutor. Necessita do endereço IP do terminal do interlocutor: Este pode mover-se Tem diferentes terminais com endereços diferentes (PC, PDA, telefone móvel pessoal, telefone do carro, telefone de casa, do escritório,...) O resultado pode depender de: hora de quem chama (não quer receber chamadas do trabalho em casa) do estado (disponibilidade para atender a chamada ou não) Os servidores SIP: SIP registrar server SIP proxy server Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 32

Servidor SIP Registrar Quando Bob liga o seu terminal, este envia a mensagem SIP REGISTER para o seu servidor SIP (trata-se de uma função semelhante à do servidor de Instant Messaging). O SIP Registrar é semelhante ao servidor de DNS do domínio do utilizador. Register Message: REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP 193.64.210.89 From: sip:bob@domain.com To: sip:bob@domain.com Expires: 3600 Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 33

SIP Proxy A Alice envia a mensagem INVITE para o seu servidor proxy Contendo o endereço sip:bob@domain.com O Proxy é responsável por encaminhar as mensagens SIP para o utilizador chamado Provavelmente através de diferentes proxies O chamado responde através da mesma cadeia de proxies O Proxy devolve a mensagem SIP de resposta à Alice Contendo o endereço IP de Bob Nota: o proxy é análogo ao servidor local de DNS Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 34

Cenário de funcionamento do SIP Material de suporte às aulas de Redes de Computadores de J. Legatheaux Martins Copyright DI - FCT/ UNL Aplicações Internet / 35

Exemplo: SIP em acção Caller jim@umass.edu with places a call to keith@upenn.edu (1) Jim envia INVITE para o SIP proxy de umass (2) Proxy redirige o pedido para o registrar de upenn (3) O servidor de upenn Retorna uma mensagem de redirect response, indicando que deve tentar keith@eurecom.fr (4) O proxy umass envia INVITE ao resgistrar eurecom. (5) o registrar eurecom redirige INVITE para 197.87.54.21, que é o cliente SIP de keith. (6-8) respostas SIP (9) media enviado directamente entre os clientes Nota: são enviadas mensagens SIP ack que não são mostradas 7: Multimedia Networking 36