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

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

Cronograma

Capítulo 6: O que é VoIP

10/02: VoIP, tecnologias e mercado

  • Tópicos: VoIP, convergência, compartilhamento dos meios de transmissão.

17/02: NÃO HOUVE

03/03: protocolos de VoIP

  • Tópicos: arquiteturas de redes TCP/IP, protocolos SIP, H.323 e RTP/RTCP, URI e URL.

10/03: soft PBX e ambiente de servidor

Capítulo 7: Sinalização e Transmissão de Mídia

17/03: Asterisk e primeiros canais

  • Tópicos: canais, contextos.
  • Arquivos manipulados: sip.conf e extensions.conf - vide exemplos.

24/03: NÃO HOUVE

Capítulo 8: Soft PBX

31/03: Telefones IP

  • Tópicos: canais, contextos, telefones IP.
  • Arquivos manipulados: sip.conf e extensions.conf - vide exemplos.
  • Tarefa:
    • Criar dois canais SIP, e respectivo plano de numeração (numérico), para permitir ligações entre si em ambos os sentidos.
    • Configurar dois ATAs como UACs.
    • Verificar, junto ao Asterisk, o estado dos canais em uso e registros SIP.

07/04: Telefones IP e mensagens SIP

14/04: URI

  • Tópicos: URI como endereço dos usuários, caminhos alternativos (aliases) via plano de numeração.

21/04: NÃO HOUVE

28/04: integração entre PBXs

  • Tópicos: integração de PBXs utilizando entroncamento SIP.
  • Arquivos manipulados: sip.conf e extensions.conf - vide exemplos.
  • Tarefa:
    • Crias canais SIP para serem utilizados como troncos entre PBXs.
    • Configurar o software Asterisk como UAS e UAC.
    • Modificar o plano de numeração para atender ao novo cenário.

05/05: integração entre PBXs (cont.)

  • Tópicos: continuação da aula anterior.

Projeto Final

12/05: apresentação do projeto final

Como a disciplina está dividida em dois grandes temas, para a tema VoIP (encontros das 3as.-feiras) haverá uma única avaliação ao longo do semestre: um projeto final englobando todo o conteúdo trabalhado em sala.

Este projeto tem itens obrigatórios, os quais deverão ser preenchidos por todas as equipes e, além disso, subtemas escolhidos pelas próprias equipes. A seguir, a descrição de cada um deles.

Obrigatório a todas as equipes

  • URA/AA: atendimento automático para receber ligações externas (troncos) e permitir, em seguida, o redirecionamento das chamadas para ramais internos. Interessante: oferecer teste de eco e, quando for o caso, informar os números das salas de conferência.
  • Codecs: oferta de pelo menos 3 codecs para os canais SIP. Apresentar, no dia da apresentação do projeto final, dois cenários onde haverá a escolha dinâmica do codec mais apropriado para a ligação em questão.
  • Entroncamento SIP: interligação da central com outra, remota, via entroncamento SIP.

Escolhidos por cada Equipe

  • Equipe 1 (Gilmar, Maicon, Felipe e Fábio)
    • Callback: para ligações definidas por um certo padrão X, desligar e ligar de volta - retornando o pedido original. Interessante: informar um terceiro canal (diretor, gerente, etc.) de que houve essa ligação de retorno.
    • Filas de atendimento: criar pelo menos uma fila de atendimento para um certo ramal. Interessante: utilizar música de espera e aplicar tempos limitando tal espera.
    • Correio de voz: quando o endereço de destino estiver ocupado/fora, pode-se deixar uma mensagem de voz. Interessante: enviar a mensagem de voz por email.
  • Equipe 2 (Aládio, Lucas, Nádio e Odair)
    • Conversão de texto em voz: conversão de texto em voz, tendo obrigatoriamente duas funções: vocalização de todos os usuários online (integrando à URA) e previsão do tempo em tempo real (informando cidade e dia). Interessante: permitir o envio da previsão do tempo em formato MP3 por email.
  • Equipe 3 (Gustavo, Diony, Rafael e Volnei)
    • Problemas de rede: estudo sobre formas de implementar QoS (em ambas as direções), efeitos do uso de codecs e como o jitter auxilia na instabilidade da latência da rede.
    • Esquema URI: utilização de endereços URI para efetuar chamadas. Interessante: utilizar estrutura DNS e páginas Web para implementar esquemas URI.
    • Sala de conferência: implementação de 5 salas de conferência. Interessante: controle de acesso às salas (primeiro canal ligado à sala pode banir/expulsar outros canais)
    • Callback: para ligações definidas por um certo padrão X, desligar e ligar de volta - retornando o pedido original. Interessante: informar um terceiro canal (diretor, gerente, etc.) de que houve essa ligação de retorno.

Método de Avaliação

A avaliação será feita mediante apresentação do soft PBX em funcionamento, onde um ou mais alunos serão escolhidos para explicar os arquivos de configuração em cada um dos itens (obrigatórios e escolhidos).

Cada equipe terá, no máximo, meia hora para apresentar e defender a solução final. Tanto para os itens obrigatórios quanto para os escolhidos, o conceito mínimo será C - para compor o conceito final:

  • Trabalhos implementados com sucesso e devidamente explicados, para testes bidirecionais, serão considerados A.
  • Trabalhos implementados em parte com sucesso, onde funcionará apenas em um sentido (efetua chamada mas não recebe, por exemplo), serão B.
  • Trabalhos implementados com sucesso, porém mal explicados (o aluno não defendeu a proposta ou não soube como foi implementado), serão C.
  • Trabalhos implementados sem sucesso (qualquer sentido), e com deficiência na explicação, serão D.

19/05: NÃO HOUVE

26/05: definição do ambiente do projeto

  • Equipe 1 (_")
    • Servidor Asterisk: 192.168.2.107 (M7)
    • ATA: 192.168.2.115
    • Telefone IP: 192.168.2.114
    • Ramais: Fábio (101) e João (102)
  • Equipe 2 (.I)
    • Servidor Asterisk: 192.168.2.109 (M9)
    • ATA: 192.168.2.119
    • Telefone IP: 192.168.2.111
    • Ramais: Aládio (123) e Lucas (125)
  • Equipe 3 (.o')
    • Servidor Asterisk: 192.168.2.116 (M2)
    • ATA: 192.168.2.110
    • Telefone IP: 192.168.2.203
    • Ramais: Diony (171) e Gustavo (190)

02/06: dicas para os trabalhos

  • URI
    • Teste: ligando para Diony

09/06: andamento dos trabalhos

  • Tópico: projeto final.

16/06: andamento dos trabalhos

  • Tópico: projeto final.

23/06: dicas para os trabalhos

Callback

Ideia básica: o canal joao liga para maria. A central cancela essa chamada e cria uma nova, convidando ambas as partes para uma nova ligação - mas provavelmente com tarifação diferenciada, uma vez que muda o sentido da ligação (antes: joao->Asterisk->maria; depois Asterisk->joao + Asterisk->maria). Então, quando chega uma ligação com estes parâmetros (origem=joao e destino=maria), o que se faz é agendar uma nova ligação e na sequência cancelar a atual:

[default]
; O formato maria/joao (destino/origem) significa que maria recebeu um convite (INVITE) de joao.
exten => maria/joao,1,System(cp /etc/asterisk/de_joao_para_maria.call /var/spool/asterisk/outgoing)
exten => maria/joao,n,HangUp

[callback]
exten => s,1,Answer()
exten => s,n,Dial(SIP/joao)
exten => s,n,HangUp()

onde esta nova ligação partirá, inicialmente, de Asterisk para o canal SIP/maria para, na sequência, conectar este último ao canal SIP/joao - de certa forma invertendo o sentido da chamada. O arquivo /etc/asterisk/de_joao_para_maria.call deve informar, portanto, a primeira ponta a ser chamada:

Channel: SIP/maria
Context: callback
Extension: s
MaxRetries: 2
RetryTime: 1
CallerID: Asterisk

e o contexto callback se encarrega de definir a segunda ponta da ligação, SIP/joao.

Para mais informações, veja esta página de exemplo.

Conversão de texto em voz

A conversão de qualquer texto em voz pode ser feita de várias maneiras. Uma delas é compor a frase, externamente ao Asterisk, para, depois convertê-la em voz via Festival. Usando AGI, tem-se um vasto leque de comandos e linguagens de programação, como por exemplo script shell. No caso abaixo, é criada uma variável de nome FRASE para ser "lida" pelo Asterisk.

  • Arquivo /etc/asterisk/frase.sh:
#!/bin/sh
echo 'SET VARIABLE FRASE "Welcome to Asterisk!"'

Esta frase será, então, lida pelo Asterisk (assumindo o contexto default e canal 200):

[default]
exten => 200,n,AGI(/etc/asterisk/frase.sh)
exten => 200,n,Festival(${FRASE})

Obs.: lembre-se de manter o servidor Festival rodando em paralelo ao Asterisk:

festival --server &

Filas de atendimento

Codec

30/06: apresentação do projeto final

  • Teste de callback:
    • Para ramal: sip:diony
    • Para número externo via entroncamento SIP:
    • Previsão do tempo:
    • Sala de conferência:

Perguntas

  • Obrigatório: entroncamento SIP
    • mostrar configuração


Página principal da disciplina