Tópicos Avançados em Telefonia (técnico) (diário 2009-2)

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Cronograma

Capítulo 6

26/08 (4): O que é VoIP?

  • Tópicos: Internet como meio de transmissão, redes convergentes e comunicações unificadas.

02/09 (2): Protocolos de VoIP

09/09 (2): Plataformas de VoIP

  • Tópicos: hardware e software. Asterisk como exemplo de soft PBX, instalação de Asterisk.
  • Material auxiliar: comandos *nix.

Intervalo de 1 semana

23/09 (2): Visão geral de um soft PBX

  • Tópicos: visão geral do soft PBX Asterisk, o protocolo SIP (arquitetura e primeiros canais), a primeira ligação entre dois canais.

Capítulo 7

30/09 (4): Sinalização de Mídia

  • Tópicos: o protocolo SIP (trocas de mensagens e cabeçalhos).
  • Exemplo de uma ligação sem sucesso entre origem e destino (as duas primeiras figuras) e uma ligação com sucesso (última figura).
SIP: falha no estabelecimento da chamada (origem)
SIP: falha no estabelecimento da chamada (destino)
SIP: sucesso no estabelecimento da chamada (origem)

Entroncamento entre dois soft PBXs

  • Cenário: dois soft PBXs contendo 3 canais SIP para uso local: telefone+ATA, telefone IP e softphone (Ekiga).
  • Ideia: interligar os dois PBXs para permitir as ligações diretas entre quaisquer UACs usando apenas SIP.

<graphviz> digraph DoisPBXs {

Norte [shape=record,label="Norte|IP=10.1.1.1",URL="http://wiki.sj.ifsc.edu.br/index.php/T%C3%B3picos_Avan%C3%A7ados_em_Telefonia_%28t%C3%A9cnico%29_%28di%C3%A1rio_2009-2%29#PBX_Norte"] ATA_N [shape=plaintext] Softphone_N [shape=plaintext] TelefoneIP_N [shape=plaintext]

Sul [shape=record,label="Sul|10.20.30.40",URL="http://wiki.sj.ifsc.edu.br/index.php/T%C3%B3picos_Avan%C3%A7ados_em_Telefonia_%28t%C3%A9cnico%29_%28di%C3%A1rio_2009-2%29#PBX_Sul"] ATA_S [shape=plaintext] Softphone_S [shape=plaintext] TelefoneIP_S [shape=plaintext]

ATA_N -> Norte:0 Softphone_N -> Norte:0 TelefoneIP_N -> Norte:0

ATA_S -> Sul:0 Softphone_S -> Sul:0 TelefoneIP_S -> Sul:0

Norte:0 -> Sul:0 } </graphviz>

PBX Norte
  • Arquivo sip.conf:
[general]
...
#
# Registrando o UAC Norte no UAS Sul
register => Norte@10.20.30.40
...
# Definição dos "Ramais" internos
[ATA_N]
type=friend
username=ATA_N
host=dynamic
insecure=port,invite
context=ligacoesLocais
allow=alaw
allow=ulaw
qualify=yes
#
[TelefoneIP_N]
type=friend
username=TelefoneIP_N
host=dynamic
insecure=port,invite
context=ligacoesLocais
allow=alaw
allow=ulaw
qualify=yes
#
[Softphone_N]
type=friend
username=softphone_N
host=dynamic
insecure=port,invite
context=ligacoesLocais
allow=alaw
allow=ulaw
qualify=yes
# Definição do UAC Norte
[Norte]
type=peer
username=Norte
host=10.20.30.40
insecure=port,invite
context=ligacoesLocais
allow=alaw
allow=ulaw
qualify=yes
  • Arquivo extensions.conf:
...
[ligacoesLocais]
#
# "Ramais" internos
exten => 100,1,Dial(SIP/ATA_N)
exten => 101,1,Dial(SIP/TelefoneIP_N)
exten => 102,1,Dial(SIP/Softphone_N)
# Ligando para a outra central e, na sequência, o "ramal" de destino
exten => _0.,1,Dial(SIP/Norte/${EXTEN:1})
PBX Sul
  • Arquivo sip.conf:
[general]
...

# Definição dos "Ramais" internos
[ATA_S]
type=friend
username=ATA_S
host=dynamic
insecure=port,invite
context=somenteLocal
allow=alaw
allow=ulaw
qualify=yes
#
[TelefoneIP_S]
type=friend
username=TelefoneIP_S
host=dynamic
insecure=port,invite
context=somenteLocal
allow=alaw
allow=ulaw
qualify=yes
#
[Softphone_S]
type=friend
username=softphone_S
host=dynamic
insecure=port,invite
context=somenteLocal
allow=alaw
allow=ulaw
qualify=yes
# Definição do UAC Norte
[Norte]
type=friend
username=Norte
host=dynamic
insecure=port,invite
context=somenteLocal
allow=alaw
allow=ulaw
qualify=yes
  • Arquivo extensions.conf:
...
[somenteLocal]
#
# "Ramais" internos
exten => 210,1,Dial(SIP/ATA_S)
exten => 211,1,Dial(SIP/TelefoneIP_S)
exten => 212,1,Dial(SIP/Softphone_S)
# Ligando para a outra central e, na sequência, o "ramal" de destino
exten => _0.,1,Dial(SIP/Norte/${EXTEN:1})

Intervalo de 1 semana

14/10 (2): Descrição de Mídia

21/10 (2): Exercícios com Codecs

  • Configure dois canais com os codecs gsm, alaw, e ulaw. Qual codec é escolhido na ligação? Por quê?
  • Configure dois canais com apenas um codec, o mesmo para ambos. As mensagens SDP mudaram? E as mensagens SIP?
  • Configure dois canais com apenas um codec, sendo G711a para um e G711u para outros. O que acontece? É possível realizar a transcodificação? Como e onde isso é feito?

Identifique as mensagens SDP associadas às mensagens SIP no controle remoto do Asterisk:

> sip set debug peer CANAL

ou

> sip set debug on

e os atributos das liagções correntes:

> core show channel CANAL/ID_DA_LIGAÇÃO

Dica: realize primeiro com os canais-ramais de um mesmo soft PBX. Em seguida, façam os testes utilizando entroncamentos SIP. O que muda? Atenção: que codecs estão ativados no entroncamento? É possível combinar os codecs dos canais-ramais com os canais-entroncamentos? Faça os testes de combinação com codecs iguais e diferentes...

28/10 (2): Transmissão de Mídia

  • Tópicos: os protocolos RTP e RTCP, qualidade de serviços e mecanismos de controle (protocolos, compensações, descartes, jitter, etc.), problemas do TCP/IP e alternativas.
  • Testes:
  • Referência externa: Wireshark.

04/10 (2): Plano de numeração

  • Tópicos: plano de numeração, URA/AA.

11/11 (4): Plano de numeração (cont.)

  • Tópicos: plano de numeração.
    • Numeração "clássica": E.123, E.164, lista dos países.
    • Numeração VoIP: ENUM
    • URI genérica: RFC 2396
      • URI para ligações telefônicas: RFC 2806
      • URI para SIP[S]: RFC 3261
  • Aplicações:

Capítulo 8

18/11 (4): Projeto final (apresentação e desenvolvimento)

  • Tópicos: definição das equipes e temas, leitura dos trabalhos do semestre anterior, desenvolvimento do projeto final.

Propostas a escolher

  • Segurança em VoIP: segurança na sinalização (SIP sobre TLS), segurança na transmissão de mídia (SRTP).
    • Proteger as mensagens SIP e/ou a mídia transmitida. Apresentar, ao final, ferramentas e soluções que implementam segurança sobre SIP, SDP e/ou RTP.
  • XMPP para sinalização e descrição de mídia, comunicações unificadas.
    • Utilizar mensagens XMPP como "BINA": informando na tela do usuário (2) quem está chamando (1).
    • Se o destinatário não atender à ligação (3), a ligação é passada ao correio de voz. Uma vez gravada a mensagem, o sistema deverá enviar um email (4) com o áudio, em formato MP3, e uma mensagem XMPP (5) informando o email enviado - incluindo o nome de quem ligou.
<graphviz>

digraph FluxoMsg { Asterisk [shape=Mrecord] subgraph clusterUsuario { label="Usuário" VoIP Email XMPP } Asterisk -> VoIP [label=1] Asterisk -> XMPP [label=2] VoIP -> Asterisk [label=3] Asterisk -> Email [label=4] Asterisk -> XMPP [label=5] }

</graphviz>
  • Telefonia analógica ou digital + VoIP via placas de conversão.
    • Implementar a sinalização R2D (R2 Digital) em duas placas E1 diretamente conectadas (fabricantes distintos).
    • Realizar pelo menos 3 ligações simultâneas entre terminais SIP via esse enlace E1.
<graphviz>

graph E1 { rankdir=LR Esquerdo [shape=Mrecord] Direito [shape=Mrecord] 1 -- Esquerdo [label=SIP] 2 -- Esquerdo [label=SIP] 3 -- Esquerdo [label=SIP] Esquerdo -- Direito [label=E1] Direito -- 4 [label=SIP] Direito -- 5 [label=SIP] Direito -- 6 [label=SIP] }

</graphviz>
  • Implementação de gateways de redes VoIP: Google Talk, Skype, Fone@RNP e outros.
    • Concentração de várias redes VoIP em um ponto: o soft PBX. O mesmo canal SIP escolherá o caminho de saída das ligações.
    • Pelo menos 10 salas de conferências entre as pessoas das várias redes.
<graphviz>

digraph gateway { rankdir=LR Asterisk [shape=Mrecord] subgraph clusterSdC { label="Salas de Conferência" 01 [shape=plaintext] 02 [shape=plaintext] 03 [shape=plaintext] 04 [shape=plaintext] 05 [shape=plaintext] 06 [shape=plaintext] 07 [shape=plaintext] 08 [shape=plaintext] 09 [shape=plaintext] 10 [shape=plaintext] } "Skype (opcional)" -> Asterisk Google_Talk -> Asterisk "fone@RNP" -> Asterisk "Ramais" -> Asterisk Asterisk -> "01" Asterisk -> "02" Asterisk -> "03" Asterisk -> "04" Asterisk -> "05" Asterisk -> "06" Asterisk -> "07" Asterisk -> "08" Asterisk -> "09" Asterisk -> "10" }

</graphviz>
  • URA/AA com filas de atendimento e ligação de retorno (callback).
    • Cliente liga para a central de atendimento, que conta com 3 atendentes. Se todos os atendentes estiverem ocupados, o cliente poderá esperar por até 1min (com música ao fundo). Passando desse limite, é agendada uma ligação de retorno assim que alguém ficar livre (invertendo o sentido da ligação original).
<graphviz>

digraph Fluxo { Asterisk [shape=Mrecord] subgraph clusterAtendentes { label=Atendentes 1 2 3 } Cliente -> Asterisk Asterisk -> Fila Fila -> 1 Fila -> 2 Fila -> 3 }

</graphviz>

Obrigatório a todos os projetos

  • As ligações funcionam apenas em horário comercial. Demais ligações devem ser encaminhadas diretamente ao correio de voz.
  • Todos os PBXs deverão estar interconectados, gerando uma malha fechada (cada um conecta-se a todos os outros), permitindo a comunicação entre quaisquer ramais.
  • Definição dos codecs utilizados para cada canal.
  • Os testes serão realizados pelos canais SIP das outras equipes (sorteadas no momento da apresentação).

Equipes e Propostas Escolhidas

A seguir, uma descrição mais detalhada no cenário a ser montado como projeto final da disciplina.

Equipe 1

  • Integrantes: Caroline, Edgar, Fabio e Maykon.
  • Propostas escolhidas: XMPP e redes VoIP.
  • Funcionalidades do sistema:
    • Entroncamento SIP com as outras equipes.
    • Controle de horário para ligar aos "ramais" internos: apenas horário comercial. Fora desse horário, fica livre apenas o correio de voz.
    • Política de uso de codecs conforme o canal/enlace estabelecido e equipamento terminal (ATA, telefone IP, etc.). Consulte a documentação de cada terminal para habilitar apenas os codecs aceitos por ele.
    • Correio de voz para todos os "ramais" internos.
    • Pelo menos 10 salas de conferência com controle de acesso (através de senha) feito pelo primeiro canal que se conectar.
    • Qualquer canal, de qualquer origem, pode se conectar a qualquer sala de conferência.
    • Pode-se ligar, com um ramal interno, para qualquer usuário de qualquer rede. Será preciso definir, antes, o plano de numeração para identificar os "troncos" de saída.
    • Servidor interno de email e mensagem instantânea.
    • Envio de mensagens instantâneas para recebimento de chamadas e gravação de mensagens de voz.
    • Identificação dos usuário com um único endereço: o seu email.
    • Localização dos usuário por agenda Web:
Pessoa Email (SMTP) Mensagem (XMPP) VoIP (SIP)
João mailto:joao@tat.edu.br xmpp:joao@tat.edu.br sip:joao@tat.edu.br
Maria mailto:maria@tat.edu.br xmpp:maria@tat.edu.br sip:maria@tat.edu.br
José mailto:jose@tat.edu.br xmpp:jose@tat.edu.br sip:jose@tat.edu.br

Equipe 2

  • Integrantes: Claudir, Cleiton, Diego, Lucas e Gabriel.
  • Propostas escolhidas: telefonia digital com placa de conversão ou call parking e central de atendimento.
  • Funcionalidades do sistema:
    • Entroncamento SIP com as outras equipes.
    • Controle de horário para ligar aos "ramais" internos: apenas horário comercial. Fora desse horário, fica livre apenas o correio de voz.
    • Correio de voz para todos os "ramais" internos.
    • Fila de atendimento com música ao fundo e tempo limite de 1min.
    • Caso o tempo limite estoure, a ligação deve ser encerrada e agendada uma ligação de retorno (callback), com o sentido contrário da original.
    • Para liberar os canais de atendimento, não é possível realizar uma ligação entre ramais da fila de atendimento.
    • Política de uso de codecs conforme o canal/enlace estabelecido e equipamento terminal (ATA, telefone IP, etc.). Consulte a documentação de cada terminal para habilitar apenas os codecs aceitos por ele.
    • Se for Placa de conversão: (ABANDONADO)
      • Conexão entre soft PBXs usando apenas enlace E1 com sinalização R2 digital.
      • Definição de um plano de numeração suportada pela sinalização R2D.
    • Se for call parking: (ESCOLHIDO PELA EQUIPE)
      • Estabelecimento de call parking para os outros ramais fora da fila de atendimento.

25/11 (4): Projeto final (desenvolvimento)

  • Tópicos: canais e plano de numeração, desenvolvimento do projeto final.

02/12 (4): Projeto final (desenvolvimento)

  • Tópicos: serviços adicionais (correio de voz, sala de conferência, etc.), desenvolvimento do projeto final.

09/12 (4): Projeto final (desenvolvimento)

  • Tópicos: automatização (callback, etc.), desenvolvimento do projeto final.

16/12 (4): Projeto final (apresentação)

  • Tópicos: apresentação do projeto final e recuperação da avaliação escrita.



Voltar para página principal da disciplina