TIP-2013-1-Integrado Telefonia IP - Integrado

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Professor

Eraldo Silveira e Silva email: eraldo@ifsc.edu.br

Plano da da Disciplina

Cronograma

AULA DATA Descriçao
1 2/4/2013 Apresentação da ementa. Revisão histórica. A PSTN. A voz digitalizada. Sinalização e transporte da mídia. Telefonia clássica versus telefonia IP (comutação de circuitos versus comutação de pacotes). Problemas associados a telefonia IP: tabela comparativa com PSTN.
2 9/4/2013 O projeto da disciplina. Cenário de comunicação direta entre terminais. Cenário de comunicação intra-IP PABX. Cenário com múltiplos IP PABX. Cenário de interligação com PSTN. Serviços adicionais almejados.
3 16/4/2013 Protocolos de Sinalização. Sinalização SIP. Cenário de sinalização direta entre terminais. Softfones. Telefones IP.
4 23/4/2013 Cenário de sinalização intracentral. Instalação do Asterisk. Configuração. Análise da sinalização.
5 30/4/2013 Cenário de sinalização intercentral. Configuração do Asterisk. Análise da sinalização.
6 7/5/2013 A transmissão da mídia. Codecs. Negociação usando o SDP/SIP. Análise da negociação.
7 14/5/2013 A transmissão de mídia. Protocolos RTP and RTCP. Análise de jitter, latência, erros.
8 21/5/2013 Avaliação I
9 28/5/2013 A transmissão de mídia: problemas de rede, NAT, STUN, ICE
10 4/6/2013 Qualidade de serviço e telefonia IP.
11 11/6/2013 Internetworking com PSTNs. MGCP e MEGACO. Uso dos equipamentos da KOMP.
12 18/6/2013 Definição do projeto final de cada grupo. Serviços adicionais desejados.
13 25/6/2013 Desenvolvimento de Projeto
14 2/7/2013 Desenvolvimento de Projeto
15 9/7/2013 Desenvolvimento de Projeto
16 16/7/2013 Desenvolvimento de Projeto
17 23/7/2013 Apresentação de projetos
18 30/7/2013 Recuperação final

AULA DIA 02/04/2012

  • Apresentação da ementa.
  • Revisão histórica. A PSTN.
  • A voz digitalizada.
  • Sinalização e transporte da mídia.
  • Telefonia clássica versus telefonia IP (comutação de circuitos versus comutação de pacotes).
  • Problemas associados a telefonia IP: tabela comparativa com PSTN.

Revisão histórica. A PSTN

Até 10 anos atrás a base da comunicação de voz através de rede de telecomunicações era a Rede Pública de Telefonia (PSTN). Esta rede ainda é amplamente usada mas está perdendo força para a (Ii)nternet.

São característiscas desta rede:

  • fios ou circuitos dedicados para a comunicação da voz;
  • permite a comunicação duplex;
  • proporciona qualidade para transmissão da voz (até 3400Hz)
  • é baseada em comutação de circuitos
  • hoje é baseada quase que totalmente na transmissão digital mas até pouco tempo usava a transmissão analógica.
  • Existe desde o século XIX

Transformação da voz em sinal elétrico e a transmissão

Através de um transdutor é possível converter o sinal sonoro (onda mecânica) em um sinal elétrico que varia no tempo.

Exemplo1: microfone de carvão

Usando uma fonte dc com este microfone é possível conceber um sistem em que o sinal elétrico gerado pelo microfone é amplificado e transmitido por fios (2 fios). O receptor pod aplicar o sinal em um alto-falante, que faz o reverso do microfone.

Um sistema duplex necessitaria neste caso de 4 fios mas é possível usar um dispositivo para mesclar os dois sinais (híbrida).

Desta forma, é pssível transmitir e receber voz com dois fios simultaneamente.
Os fios devem partir de um telefone associado a um usuário até o outro telefone.
NOTE que estes fios são dedicados a comunicação entre estes dois usuários!

Chaveamento de circuito - o papel da operadora

No item acima observamos que é possível transmitir e receber voz entre dois usuários. Entretanto, logo após as invenções dests tecnologias, observou-se que, para fins de otimização, todos os telefones deveriam estar ligados a uma central.

 O uso da central evita uma conexão permanente de todos para todos, o que
 inviabilizaria o sistema.

Então, inventou-se as centrais telefônicas.

Inicialmente que operava a central era um ser humano. Logo a seguir, estes dispositivos foram automatizados.

Necessidade de um protocolo de sinalização

De alguma forma, o chamador do sistema de telefonia, deveria indicar com quem ele deseja se comunicar. O usuário chamado deve receber um sinal audível e proceder o atendimento. É um protocolo conhecido por todos nós. Mas uma série de eventos acontece na prática:

  1. o usuário retira o telefone do gancho e a central detecta este evento e põe-se a escutar a linha do chamador;
  2. o chamador disca o número desejado (interrupções de um sinal dc da linha);
  3. a central observa o número de interrupções e o associa a um circuito a ser chamado.
  4. a central coloca um sinal audível de chamada na linha do usuário chamado (e também uma pequeno sinal para o chamador);
  5. o usuário chamado atende e a central detecta o atendimento;
  6. a central interconecta o circuito do chamador com o circuito chamado.
Pronto, a comunicação pode se dar entre os dois usuários.


Fica evidente a necessidade de duas componentes do sistema: a sinalização e o transporte da informação propriamente dita.

Exercício: Fazer um diagrama de troca de mensagens no tempo, composto pelos três elementos básicos de uma comunicação telefônica: chamador, chamado e a central telefônica.

Digitalização do sinal de voz e da sinalização

Você já deve saber que a tendência é a representação digital binária de qualquer 
informação. Isto facilita o seu processamento, transmissão e armazenamento 
(se necessário).

O sistema telefônico foi quase que completamente digitalizado. No caso particular do sinal da voz, procede-se um processo de amostragem e de quantização para a geração de uma sequência de bits associada ao sinal de voz. Trata-se da técnica chamada PCM.

Nesta técnica amostra-se o sinal analógica a uma frequência específica (sampling rate). No caso da telefonia esta frequência é de 8000 vezes por segundo (8khz). Cada amostra é transformada em um agrupamento de 8 bits (um byte). Por que 8000 khz. É uma limitação teórica descoberta por Nyquist que diz que a a frequência de amostragem deve ser duas vezes maior que a maior frequência que compõe o sinal. Para a transmissão da voz, a frequência limite é 4khz.

  LEMBRE que um sinal no tempo pode ser descrito pela soma de senóides. Desta forma, um sinal pode
  também ser descrito no domínio da frequência, ou seja pelas frequências e fases das senóides que
  o compõem.

Ver a representação no domínio da frequência aqui.

 NOTE que amostragem de 8Khz com 8 bits por amostragem leva a uma taxa de transmissão de 64kbps

Ou seja, se você digitalizar a voz e transmitir por um par de fios, a taxa de transmissão deverá ser de no mínimo 64kbps. Uma linha telefônica (fixa) que chega a sua casa via fios, possivelmente ainda é analógica (loop local, mas assim que ela chegar em uma central será digitalizada a esta frequência.

As centrais como chaveadoras de circuitos

Entre centrais telefônicas e entre centrais e PABXs normalmente os enlaces são realizados por troncos E1 (ou hierarquias destes troncos). Nestes sistemas os canais digitais são multiplexados no tempo (ver aqui).

Em uma ligação telefônica que passa por várias sinais, toda a sinalização é repassada de forma digitalizada por canais adicionais no E1 (ou uma variante disto). O chaveamento de circuito é espacial e temporal, ou seja um determinado slot de tempo de uma linha física é mapeado em outro slot de tempo em outra linha física. Com todo mapeamento realizado, a conexão entredois telefones interligados por várias centrais é se passa como se fossem dois fios.

Redes com chaveamento por pacotes versus chaveadas por circuitos

Um ponto chave da rede PSTN é que, sendo baseada em chaveamento de circuitos proporciona uma ligação permanente entre dois terminais telefônicos. Mesmo que um usuário não fale nada, os recursos estão alocados para a comunicação. Esta abordagem tem vantagem e desvantagem. A vantagem é a qualidade da comunicação: os recursos estão lá e não são disputados por ninguém. A desvantagem é o desperdício de recursos. Se o usuário não fala desperdiça um recurso valioso.

As redes de pacotes seguem uma abordagem diferente. A informação a ser transportada (qualquer que seja), é organizada na forma de pacotes de bits. Estes pacotes, pelo menos naquelas sem conexão, possuem endereço de destino e de fonte. Todas os enlaces de conexão entre "centrais" são multiplexados em termos de pacotes. Em uma mesma linha, podem seguir pacotes de diferentes origens/destinos. As centrais na realidade são chamadas de roteadores, que chaveiam pacotes para outros enlaces conforme o destino do pacote e a informação de uma tabela de roteamento.

Exemplo 1

Exemplo 2

Uso de redes de pacotes (Internet) para a transmissão de mídias diversas

Originalmente a Internet foi concebida para a transmissão de dados que não tinham requisitos fortes de tempo. Por exemplo, o envio de um email pode demorar alguns minutos até chegar no seu destino. Entretanto, com os avanços em todos os campos das telecomunicações e da computação, conseguiu-se meios de transmissão com altíssima capacidade de transmissão bem como roteadores com grande velocidade de chaveamento. Tudo isto possibilitou que se começasse a usar a Internet para o transporte para outras mídias, tal como a voz e vídeo em tempo real.

Surge uma nova área que é a telefonia IP. Todos os serviços até então construídos sobre as PSTNs começam a ser construídos sobre a Internet.

Um sério problema ainda não resolvido na transmissão de vozo edital para o pes em tempo real (e vídeo també) é a questão da qualidade de serviço. Pacotes podem sofrer atrasos, corrompidos, duplicados ou perdidos. Não é possível ainda garantir qualidade na transmissão. O que se faz é colocar recursos de sobra para não se ter problemas...

Aula Dia 9/04/2013

Objetivos

Ao final da aula o aluno deverá:

  • reconhecer a necessidade de um protocolo para sinalização para uso em aplicações de telefonia na Internet;
  • se familiarizar com protocolo SIP como protocolo de sinalização na Internet;
  • identificar as principais troca de mensagens do protocolo SIP utilizado entre dois terminais (softfones);
  • ter uma visão geral do projeto a ser desenvolvido e estendido.

O que é preciso para voz sobre IP

Pelo menos um ou mais protocolos de sinalização e um ou mais protocolos para transportar a mídia. Em adição, é conveniente comprimir a voz para que ela use menos banda e e, se necessário, forneça algum sigilo na comunicação.

Para sinalização tem-se várias opções. A principal hoje é o protocolo SIP. Para o transporte da voz utiliza-se normalmente o RTP/UDP.

Além disto, é conveniente interconectar a PSTN com o sistema de voz sobre IP.

A sinalização na Internet

A sinalização na telefonia sobre IP é necessária para:

  • chamar um usuário com quem se deseja comunicar;
  • negociar parâmetros de comunicação (para a sessão a ser estabelecida;
  • renegociar parâmetros de comunicação durante uma sessão em andamento;
  • finalizar uma sessão.

Outras funções avançadas são realizadas pelo protocolo de sinalização, mas por enquanto nos concentraremos nas funções acima.

Existem vários protocolos de sinalização, mas o SIP é um dos mais utilizados, sendo inclusive adotado nos sistemas celulares 3G e 4G.

O protocolo SIP

O SIP é um protocolo de sinalização para comunicação multimedia, que se utiliza de mensagens textos (similar ao http) e de endereços similares ao de um email. Como no http ele se utiliza de um modelo de transações do tipo requisição/resposta. Um cliente gera uma requisição a um servidor. O servidor recebe a requisição, invoca um determinado método, e responde ao cliente. A lista de métodos possíveis pode ser encontrada aqui.

Um cliente tipicamente gera uma requisição INVITE para solicitar uma sessão para um servidor. Se aceito, o servidor responde com 200 OK.

No vocabulário SIP, uma requisição é gerada por User Agent Client (UAC) e a resposta é dada por um User Agent Server (UAS).

 NOTE que um telefone IP ou um softfone SIP funciona tanto como UAS como UAC pois ora 
 gera requisições ora aceita requisições.

O endereço SIP ou SIP URI é utilizado como identificador único de um usuário, funcionando da mesma forma que um número telefônico. Como agora estamos falando de sinalização na Internet, este endereço se utiliza de conceitos associados a esta rede. Note também que a sinalização SIP pode seguir caminhos diferentes do transporte da mídia.

A forma mais simples de usar um SIP URI é simplesmente:

 usuario@<endereço_ip>

ou

 usuario@<nome_dns_maquina>

Por exemplo, na figura abaixo joao chama maria que se encontra em PC de endereço IP 200.200.200.1 na rede 200.200.200.0/24. A URI usada é simplesmente maria@200.200.200.1. A mensagem de sinalização é enviada para o IP indicado usando o sistema de roteamento da Internet. Por default, as mensagens são transportadas pelo protocolo UDP e a porta de destino default é 5060.

joao       INVITE maria@200.200.200.1       maria
     |---------------------------------->|
     |          TRYING                   |
     |<----------------------------------|
     |          RINGING                  |
     |<----------------------------------|  
     |          200 OK                   |
     |<----------------------------------|
     |           ACK                     |
     |---------------------------------->|
     |                                   |
     |<----- conversação --------------->|
     |                                   |
     |          BYE                      |
     |<----------------------------------|
     |          200 OK                   |
     |---------------------------------->|

Experimento 1: Comunicação direta entre dois terminais (softphones)

Neste experimento faremos dois terminais (softphones) estabelecerem uma sessão de comunicação através de uma sinalização direta (sem servidores SIP intermediários). Isto nos permitirá analisar as mensagens báscias de estabelecimento de chamada (INVITE) e de finalização da sessão (BYE).

Recursos utilizados

  • softfone Twinkle instalado no Ubuntu. Ver aqui o manual do twinkle.
  • wireshark/tcpdump. Ver aqui o manual do Wireshark;

Softfone Twinkle

Neste experimento usaremos o softfone Twinkle como terminal de comunicação. O Twinkle é um softfone para VOIP e comunicações de messagens instantâneas usando o SIP. Ele permite a conexão direta fone-fone ou através do uso de uma rede de servidores SIP.

Roteiro PARTE 1 - Comunicação entre usando um hospedeiro e uma máquina virtual

Terminal chamador no hospedeiro

  1. Coloque o twinkle em execução. Abra um terminal e chame: twinkle &</syntaxhighlight>
  2. Quando executado pela primeira vez, o twinkle solicita a criação de um perfilde usuário. Ele suporta múltiplos perfis. Neste experimento vamos criar algo simples. Selecione a criação do perfil através do Wizard</syntaxhighlight>
  3. Entre com o nome do perfil (identificação do perfil)

equipe1p1</syntaxhighlight> OBS: ajuste o nome para sua equipe. O p1 é para identificar o perfil 1. Vários poderão ser criados.

  1. O twinkle abre o wizard que deve ser preenchido conforme o exemplo abaixo:
  • TelaPerfilTwinkle.jpg
  • em Sip server provider coloque NONE, pois faremos comunicação direta
  • em nome do usuário, coloque o nome completo
  • em user name coloque um identificador de usuário (sem espaço);
  • em domain coloque o endereço IP do seu computador (verifique com o comando ifconfig).

Terminal chamado na máquina virtual

  1. abra uma máquina virtual (Aplicativos/Sistema/Oracle VM VirtualBox) e execute a máquina XXXX
  2. verifique o IP da MV com ifconfig;
  3. coloque o twinkle em execução e crie um perfil diferente, por exemplo, equipe1p2

Capturando pacotes com wireshark no HOSPEDEIRO

No hospedeiro faça:

  1. execute o wireshark em background wireshark &</syntaxhighlight>
  2. entre na tela de opções de captura: *
    TelaConfiguracaoOpcoesCaptura.jpg
  3. configure a captura de pacotes pela eth0 com filtro centrado no IP da máquina virtual e no protocolo UDP porta 5060:
  • TelaConfiguracaoInterfaceWireshark.jpg

Terminal Chamado

  1. confira o seu endereçamento IP e informe ao grupo chamador:
ifconfig
  1. execute o wireshark em backgroud
wireshark &

Terminal Chamador

  1. execute o wireshark em backgroud
wireshark &

Referências

[1]

[2]

[3]

http://docwiki.cisco.com/wiki/Voice/Data_Integration_Technologies#Voice_Networking

Visualland

Aulas Telefonia IP - Ederson

Aulas Sobral/Emerson RMU

Guia básico de VoIP com Asterisk - Ederson

http://www.voip-info.org/wiki/view/SIP

http://www.cisco.com/en/US/docs/voice_ip_comm/sip/proxies/2.1/administration/guide/fflows.html

http://ftp.iptel.org/pub/ser/0.8.14/doc/html/sip_introduction.html

http://tools.ietf.org/html/rfc3665

http://www.radvision.com/NR/rdonlyres/0AFA30DF-DAD6-461D-943C-ED33F3E7ABD8/0/SIPServerTechnicalOverviewWhitepaper.pdf