Mudanças entre as edições de "PJI4-2019-1"

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
Linha 249: Linha 249:
 
</font>
 
</font>
 
{{Collapse bottom | Aula 1}}
 
{{Collapse bottom | Aula 1}}
 +
 +
=13/02/2019: Conceitos gerais, preparação do servidor e instalação do Asterisk e banco de dados=
 +
 +
{{Collapse top | Aula 2}}
 +
<font size="3">
 +
<b>Telefonia IP ou VoIP: O que é?</b>
 +
----
 +
A Comunicação de Voz em Redes IP, chamada de VoIP, consiste no uso das redes de dados que utilizam o conjunto de protocolos das redes IP (TCP/UDP/IP) para a transmissão de sinais de Voz em tempo real na forma de pacotes de dados.
 +
 +
A sua evolução natural levou ao aparecimento da Telefonia IP, que consiste no fornecimento de serviços de telefonia utilizando a rede IP para o estabelecimento de chamadas e comunicação de Voz.
 +
 +
Nessas redes são implementados protocolos adicionais de sinalização de chamadas e transporte de Voz que permitem a comunicação com qualidade próxima àquela fornecida pelas redes convencionais dos sistemas públicos de telefonia comutada ou de telefonia móvel.<br/><br/>
 +
 +
<b>Digitalização de Sinais de Voz</b>
 +
----
 +
Nos sistemas tradicionais o sinal de Voz utiliza uma banda de 4 kHz, e é digitalizado com uma taxa de amostragem de 8 kHz para ser recuperado adequadamente (Princípio de Nyquist). Como cada amostra é representada por um byte (8 bits, com até 256 valores distintos), cada canal de Voz necessita de uma banda de 64 kbit/s (8.000 amostras x 8 bits).
 +
 +
Esta forma de digitalização do sinal de Voz atende a recomendação ITU-T G.711 - Pulse code modulation (PCM) of voice frequencies.
 +
 +
Nos sistema de transmissão de Voz sobre IP, onde a demanda por banda é crítica, torna-se necessário utilizar também algoritmos de compressão do sinal de Voz. Esses algoritmos têm papel relevante pela economia de banda que proporcionam.
 +
 +
O seu uso tem sido possível graças ao desenvolvimento dos processadores de sinais digitais (DSP’s), cuja capacidade de processamento tem crescido vertiginosamente.
 +
 +
Estas necessidades incentivaram o desenvolvimento de tecnologias mais complexas para a digitalização e compressão de Voz, e que foram registradas através de recomendações do ITU-T. Estas recomendações são apresentadas na tabela abaixo, com algumas características relevantes.
 +
 +
<div style="text-align: center;">[[Arquivo:codecs.jpg]]</div><br/><br/>
 +
 +
<b>Asterisk</b>
 +
----
 +
O Asterisk é a implementação de uma central telefônica PBX (Private Branch eXchange) em software, criado por Mark Spencer em 1999, e distribuído pela Digium livremente seguindo a licençaGPL (GNU General Public License – GPL), ou através de código proprietário.
 +
 +
O nome Asterisk vem do símbolo ‘*’, muito comum no mundo da telefonia.
 +
 +
O Asterisk foi originalmente desenvolvido para Linux, mas atualmente podeser instalado e executado em uma grande variedade de sistemas operacionais, incluindo NetBSD, OpenBSD, FreeBSD, Mac OS X, Solaris e até mesmo Microsoft Windows, onde é conhecido por Asterisk Win32.<br/><br/>
 +
 +
<b>Características do Asterisk</b>
 +
----
 +
O Asterisk é um software, baseado na licença GPL (GNU General Public License), que executa todas as funções de uma central telefônica convencional através das principais tecnologias de comunicação existentes no mercado, como por exemplo: linhas telefônicas analógicas, links de telefonia digital via placas de comunicação TDM (Time-Division Multplexing, ou Multiplexaçã ,o por divisão detempo), VoIP (Voice over IP, ou Voz sobre IP) através dos protocolos SIP, H.323, IAX2, MGCP, Skinny,GoogleTalk, Skype, entre outros.
 +
 +
Através do Asterisk é possível estabelecer uma chamada entre qualquer um desses protocolos. O Asterisk é o que chamamos de B2B User Agent, ou melhor, Back-to-Back User Agent, ele estabelece uma chamada telefônica, separando cada “perna” da chamada entre origem e destino, e monitora todo o tráfego de áudio entre esses pontos. Por isso, caso esses pontos estejam utilizando CODECs diferentes, o Asterisk consegue transcodificar o áudio sem qualquer problema. Pode-se dizer que o Asterisk possui todas as funcionalidades das chamadas centrais telefônicas convencionais, como URAs, correio de voz, conferência, distribuição automática de chamadas, entre outras, e caso seja necessário, é possível acrescentar novas funcionalidades ao sistema através do próprio plano de discagem do Asterisk, módulos customizados escritos em C, ou ainda através de scripts escritos em Asterisk Gateway Interface (AGI). *Fonte: Construindo um PBX IP na pratica (Alexandre Keller)<br/><br/>
 +
 +
<b>Codecs</b>
 +
----
 +
Um dos componentes necessários para transmissão de voz numa rede de dados é o Áudio CODEC (Codificador-Decodificador). Este componente é o responsável por transformar a voz humana (um sinal analógico) em uma seqüência de bits (um sinal digital) para transmissão numa rede de dados, fazendo amostragens periódicas no sinal de voz. Em equipamentos do tipo gateways VoIP, esses CODECs são implementados através de um componente chamado DSP (Digital Signal Processor).
 +
A introdução dos microprocessadores no final dos anos 70 e início dos anos 80 tornou possível usar técnicas de processamento digital de sinais (Digital Signal Processing) em um range muito maior de aplicações.
 +
Durante os anos 80 a importância crescente do processamento digital de sinais levou vários fabricantes importantes (como Texas Instruments, Analog Devices e Motorola) a desenvolverem os chips DSP, ou seja, microprocessadores especializados com arquiteturas projetadas especificamente para os tipos de operações requeridas ao processamento digital de sinais.
 +
Como um microprocessador de uso geral, um DSP é um dispositivo programável, com seu próprio conjunto de instruções nativas. O uso desses chips associados a algoritmos de compressão permitiu a implementação de diversas tecnologias de CODEC’s. Exemplos de chips DSP são o DSP542 e DSP549 fabricados pela Texas Instruments e usados pela CISCO Systems em seus gateways VoIP [CISCO-CODEC1].
 +
Cada CODEC provê certa qualidade de voz. A medida de qualidade da voz transmitida é uma resposta subjetiva de um ouvinte. Uma medida comum usada para determinar a qualidade do som produzido pelos CODECs específicos é o MOS (Mean Opinion Score). Com o uso do MOS, um amplo range de ouvintes julgam a qualidade de uma amostra de voz (correspondendo a um CODEC particular) numa escala de 1 a 5. A partir desses resultados, é calculada a média dos scores para atribuir o MOS para aquela amostra [CISCO-CODEC2].
 +
Na tabela 1 são apresentados alguns scores MOS para os CODECs mais usados. Na Tabela 2 são descritos os scores MOS.
 +
 +
<div style="text-align: center;">[[Arquivo:codecs2.jpg]]</div><br/>
 +
 +
<div style="text-align: center;">[[Arquivo:codecs3.jpg]]</div><br/>
 +
 +
 +
===Instalando Sistema Operacional===
 +
 +
 +
Sistemas operacionais baseados em Linux já foram complicados de usar, ao menos quando comparados ao Windows, mas avanços recentes têm deixado a plataforma mais amigável.
 +
No Linux, você vai encontrar alguns programas com os quais está acostumado, como Firefox, Chrome e outros. A maioria, entretanto, não está disponível porque o Linux possui uma comunidade de desenvolvedores que cria, gratuitamente, programas equivalentes para o OS.
 +
Não há Photoshop, por exemplo, mas há o GIMP. Não há Microsoft Office, mas há o LibreOffice. Não há Lightroom, mas há o Darktable. Alguns dos programas não são tão bons quanto os disponíveis para Windows, mas por outro lado alguns são até melhores. Cabe a você experimentar.
 +
Você não vai precisar digitar nenhum comando complexo ou adquirir conhecimento avançado prévio para fazer isso, mas o processo é longo e varia um pouquinho de computador para computador. É possível que você mexa com certas coisas que nunca viu. Este processo (e o sistema Ubuntu) é utilizado por milhões de pessoas no mundo.
 +
 +
Iremos utilizar um software de virtualização chamado Virtualbox. o Virtualbox é fornecido pela Oracle, de forma gratuita. Caso você queira instalar o Virtualbox no seu computador, pode baixar deste [https://www.virtualbox.org/wiki/Downloads site]. Lembre-se de baixar a versão adequada para o seu sistema operacional, juntamente com o Extension Pack (software adicional para suporte a diversos dispositivos do seu computador).
 +
 +
Para a criação da máquina virtual, deixaremos com a seguinte configuração:
 +
 +
* 1500 MB de Ram;
 +
* 30 GB de espaço em disco;
 +
* 2 processadores;
 +
* 32 MB de memória de vídeo;
 +
* Habilitar aceleração 3D;
 +
* Placa de rede em modo bridge.
 +
 +
<div style="text-align: center;">[[Arquivo:virtualbox.jpg]]</div><br/>
 +
 +
A versão do sistema operacional que utilizaremos é o Ubuntu Mate 14.
 +
 +
Ao iniciar a instalação, a primeira etapa é a escolha do idioma e se queremos somente experimentar o Ubuntu ou instalar.
 +
 +
a próxima etapa nos dá algumas orientações e também permite escolhermos se queremos baixar atualizações e instalar programas de terceiros.
 +
 +
Logo após, teremos que escolher entre a opção de apagar o disco inteiro de forma automatizada pelo instalador ou marcar a opção avançada. Neste momento iremos utilizar a opção de apagar o disco inteiro, pois estaremos entrando nos detalhes de particionamento, sistema de arquivos e tipos de partição em outra aula.
 +
 +
Também escolhemos o local onde estamos.
 +
 +
Devemos definir o layout do teclado.
 +
 +
E por fim, escolhemos o nome, nome do computador, nome de usuário e senha.
 +
 +
Agora é só aguardar...
 +
 +
<div style="text-align: center;">[[Arquivo:ubuntumateinstanlado.jpg]]</div><br/>
 +
 +
Terminada a instalação do sistema operacional, devemos instalar alguns pacotes necessários para que a nossa máquina virtual possa ser utilizada em modo de tela cheia. Para tanto iremos utilizar o terminal do mate e digitar os comandos a seguir:
 +
 +
* sudo apt-get update
 +
* sudo apt-get install build-essential module-assistant dkms
 +
* sudo m-a prepare
 +
 +
Após esta instalação, podemos clicar em <b>Dispositivos</b>, e ir na opção <b>Inserir imagem de CD dos adicionais para convidado</b> e executar a aplicação que irá abrir.
 +
 +
 +
===<b>Instalação do Asterisk</b>===
 +
----
 +
Neste semestre iremos trabalhar com o Asterisk versão 13.22.0, o LibPRI 1.6.0, que é uma biblioteca Libpri será instalada para que tenhamos suporte aos canais PRI( ISDN, E1, T1 ), e o DAHDI, que é um pacote (Digium Asterisk Hardware Device Interface) nos permite carregar os drivers e configurar diversos tipos de placas de telefonia (para conectar telefones analógicos, linhas telefônicas, linhas digitais e outros).
 +
Antes de qualquer coisa, devemos atualizar o sistema via console de comando:
 +
 +
#apt-get update
 +
#apt-get upgrade
 +
 +
Também devemos instalar algumas dependências:
 +
 +
# apt-get install -y make wget libssl-dev ncurses-dev libnewt-dev libxml2-dev linux-headers-generic g++ libsqlite3-dev uuid-dev libjansson-dev
 +
# apt-get install -y mysql-server libmysqld-dev
 +
 +
Para baixar os arquivos do Asterisk, DAHDI e LibPRI, seguem os links abaixo (os comandos para a instalação completa do Asterisk, Libpri, Dahdi e banco de dados serão repassados em aula):
 +
 +
[http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-13.22.0.tar.gz Asterisk 13.22.0]<br/>
 +
[http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz LibPRI 1.6.0]<br/>
 +
[http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz DAHDI]<br/>
 +
 +
Campos para o banco de dados:
 +
 +
[https://docs.google.com/document/d/135vf4dUJhMmG0fVqzFXEYPQ095iBzpBU0O7fZz04hZs/edit?usp=sharing Arquivo banco de dados]
 +
 +
<br/><br/>
 +
</font>
 +
{{Collapse bottom | Aula 2}}

Edição das 17h28min de 13 de fevereiro de 2019

Projeto Integrador IV

Professores: Ederson Luiz de Souza Santos (ederson.luiz@ifsc.edu.br) e Mayara de Sousa (mayara.sousa@ifsc.edu.br)
Encontros: 2a feira/19:00, 4a feira/19:00
Atendimento paralelo: 2a, 3a, 4a feira 17:30 h
Coordenadoria pedagógica (Graciane): graciane@ifsc.edu.br (3381-2890, 3381-2842)

Endereço encurtado: http://bit.ly/pji4-2019-1

PPC Curso Técnico Subsequente de Telecomunicações


Objetivo Geral

  1. Implantar um PABX IP integrado com serviços de telefonia fixa e móvel convencionais.
  2. Prover a infraestrutura de rede necessária para o adequado funcionamento deste PABX IP.
  3. Integrar os serviços de telefonia com outros serviços de rede.

Links interessantes

Provedores VoIP no Brasil

Resumo de comandos da CLI para o Asterisk

  1. O Asterisk pode ser carregado de duas formas:
    • foreground: utilizado para depurar problemas na inicialização do Asterisk, quando ele não puder ser inicializado.
    • background: modo padrão de inicialização

  2. Conectar à CLI do Asterisk carregado
    asterisk -r
    rasterisk
    
  3. Comandos na CLI
    1. Saindo da CLI sem interromper o processo
      exit
      
    2. Carrega canais SIP previamente registrados
      sip reload
      
    3. Mostra canais SIP registrados
      sip show peers
      
    4. Carrega plano de discagem
      dialplan reload
      
    5. Mostra a extensão criada no plano de discagem
      dialplan show default
      
    6. Finalizando processo no Asterisk
      sudo core stop now
      
    7. Ver aplicações disponíveis no Asterisk
      core show applications
      
  4. Iniciando Asterisk em modo Background
    sudo service asterisk start
    
  5. Carregar o Asterisk em modo ForeGround
    sudo asterisk -gc
    

11/02/2019: Apresentação da disciplina

Aula 1

Arquivo apresentação da disciplina

Apresentação da disciplina 2019-1

Projeto Integrador IV

O foco do Projeto Integrador IV está na oferta de serviços ao usuário final e na convergência de serviços de telecomunicações, incluindo a integração dos serviços de telefonia fixa, móvel e VoIP. Além disso, também tem como objetivo a integração destes serviços de telecomunicações com outros serviços de rede como servidores Web, Email, Telefonia IP, administração de sistemas e usuários, compartilhamento de recursos, DNS, etc.


Na figura abaixo é apresentado um esboço do cenário que foi desenvolvido durante o Projeto Integrador III. A proposta inicial é integrar a este cenário serviços de telefonia IP e convencional. Além disso, outros serviços podem ser integrados a ambos, como e-mail, DNS, acesso à câmeras IP, etc.

Diagrama-PJI3.png


Uma vez integrados os serviços de rede e de telefonia e tendo em mente que a qualidade de serviço é um ponto sensível à aplicações de telefonia IP, espera-se desenvolver métodos de medição de rede para assegurar seu correto funcionamento.

PBX IP

Um PBX IP funciona como uma central telefônica, porém intermediando chamadas VoIP. Com isso, as chamadas são feitas de um telefone IP em direção ao PBX IP, que a encaminha ao telefone IP de destino de acordo com suas regras de discagem. A figura abaixo ilustra como funciona uma chamada VoIP típica através de um PBX IP.

Voip-call.png


Nas nossas aulas faremos uso de um PBX IP Asterisk, que é um software desenvolvido pela Digium. O Asterisk roda em computadores do tipo PC que possuem sistema operacional baseado em Linux. Sua licença é livre, o que significa que não há custo de licenciamento para utilizá-lo.

PBX IP Asterisk


Asterisk: uma solução completa de PABX baseado em software, permitindo ligar o mundo IP ao mundo da rede pública de telefonia comutada.

Características Básicas: faz tudo que um PABX pequeno e simples faz e pouco mais

  • ˆ Transferência, música de espera, siga-me, etc.
  • Conferência, correio de voz, URA, fila de chamadas, monitoramento de chamadas, integração com o Jabber (Google talk)


Asterisk-ex1.png
Exemplo de cenário de uso do Asterisk



O Asterisk é um software complexo e com muitos recursos. Porém sua função mais elementar, que é intermediar chamadas, pode ser entendida com base em dois elementos importantes desse tipo de PBX. Esses elementos são o plano de discagem e configurações de canais. Na terminologia do Asterisk, um canal pode ser entendido como um ramal ou tronco. Para ter o Asterisk funcionando como uma central simplificada, é suficiente configurar esses dois elementos.


Configurando a conta Google

Para a criação do relatório, que será utilizado no decorrer do semestre e deve ser entregue ao término da primeira etapa da disciplina, iremos utilizar ferramentas online. Para tanto, faremos uso de uma conta do Google e das ferramentas Google Drive e Google Documents.

Caso não tenha uma conta Google, deve criar a mesma. Pode usar este link.

Depois de criada a conta, acesse o Google Drive:

Googledrive.jpg

Vamos garantir que sua conta fique com o idioma em português. Para isso, clique no botão Configurações e vá na opção Configurações:

Googledriveconf.jpg

Vá em Idioma e Alterar configurações de idioma.

Clique no lápis ao lado do Idioma, mesmo que esteja em Português, escolha novamente o idioma e clique em selecionar. Caso apareça uma mensagem abaixo avisando que nem todas as ferramentas estão no idioma escolhido, clique para atualizar em todas.

Googledriveconf2.jpg

Dentro do Google Drive, crie uma pasta com o nome PJI 4.

Entre na pasta, clique com o botão direito e escolha a opção Documentos Google.

Googledrive2.jpg

No topo da página que irá se abrir, coloque o nome do documento. Deverá se chamar Relatório PJI4 - Nome completo do aluno.

Googledrive3.jpg

Procure no Google um logo do IFSC, para ser colocada no cabeçalho do documento.

Clique duas vezes no cabeçalho, marque a opção Cabeçalho/Rodapé diferente na primeira página e cole a imagem escolhida logo em seguida.

Clique fora do cabeçalho, troque a fonte para Arial, tamanho 24, negrito, centralizado e espaçamento entre linhas de 1,5.

Aperte 4 vezes o enter e digite Projeto Integrador IV.

Aperte 3 vezes o enter e digite Curso Técnico Subsequente de Telecomunicações.

Aperte uma vez o enter e altere a fonte para Arial, tamanho 12.

Aperte 4 vezes o enter e digite Professores: Ederson Luiz de Souza Santos e Mayara de Sousa

Aperte o enter e digite Aluno: Nome completo

Aperte o enter é chegar a última linha da página e digite São José, 2018

A página deve ficar como na imagem:

Googledrive4.jpg


Agora iremos criar uma quebra de página. Ela serve para não desconfigurar as páginas seguintes caso mudemos algum espaçamento nas páginas anteriores. Para isso aperte as teclas Ctrl + enter.

Esta página ficará disponível para o sumário, que será gerado automaticamente.

Aperte Novamente Ctrl + enter.

Altere a fonte para Arial, tamanho 12, negrito e alinhado a esquerda.

Digite INTRODUÇÃO, com todas as letras maiúsculas. Este será nosso título 1. Neste ponto, iremos utilizar uma função chamada de Estilos. Clique na caixa Estilos, vá em Título 1, clique na seta ao lado dela e clique na opção Atualizar título para corresponder. Esta opção irá definir o Título 1 com as configurações de texto que acabamos de definir. Os próximos títulos que estiverem no mesmo nivel hierárquico utilizaremos esta função.

Googledrive5.jpg

Aperte duas vezes o enter.

Digite algum texto, só para ter como referência. Altere a fonte para Arial, tamanho 12, sem negrito, alinhamento justificado e recuo da primeira linha em 1,25 cm.

Selecione o texto e vá em Estilos, texto normal, clique na seta ao lado e escolha a opção Atualizar texto normal para corresponder. Irá definir como o texto deverá ficar.

Googledrive6.jpg

Aperte Ctrl + enter.

Digite DESENVOLVIMENTO e posteriormente aplique o estilo Título 1. Veja que ficou igual a INTRODUÇÃO.

Aperte duas vezes o enter e digite algum texto para referência. Aplique o estilo Texto Normal.

Aperte duas vezes o enter e digite SUBTÍTULO 1 em maiúsculo. A fonte deve ser Arial, tamanho 12, sem negrito, sem recuo de primeira linha e alinhamento justificado.

Selecione o SUBTÍTULO 1 e vá em Estilos, Título 2 e Atualizar título 2 para corresponder.

Googledrive7.jpg

Aperte duas vezes o enter e digite algum texto de referência. Aplique o estilo Texto normal.

Aperte duas vezes o enter e digite Subtítulo 1.1. A fonte deve ser Arial, tamanho 12, sem negrito, sem recuo de primeira linha e alinhamento justificado.

Selecione o Subtítulo 1.1 e vá em Estilos, Título 3 e Atualizar título 3 para corresponder.

Googledrive8.jpg

Aperte duas vezes o enter e digite algum texto de referência. Aplique o estilo Texto normal.

Aperte duas vezes o enter e digite Subtítulo 1.1.1 A fonte deve ser Arial, tamanho 12, sem negrito, sem recuo de primeira linha e alinhamento justificado.

Selecione o Subtítulo 1.1.1 e vá em Estilos, Título 4 e Atualizar título 4 para corresponder.

Googledrive9.jpg

Aperte Ctrl + enter.

Digite CONCLUSÃO e posteriormente aplique o estilo Título 1. Veja que ficou igual a INTRODUÇÃO.

Clique duas vezes no cabeçalho, vá em Inserir, Cabeçalho e número da página, Número da página e clique no segundo botão da primeira fileira. Alinhe o número da página a direita e aperte uma vez o enter para o número descer um pouco.

Googledrive10.jpg

Agora retorne a segunda página, onde iria ficar o nosso sumário. Deixe o cursor na primeira linha. Clique em Inserir, Sumário, Com número de página.

Googledrive11.jpg

Pronto!!! Agora você possui um modelo de como o Relatório deverá ficar, com as configurações ajustadas.

13/02/2019: Conceitos gerais, preparação do servidor e instalação do Asterisk e banco de dados

Aula 2

Telefonia IP ou VoIP: O que é?


A Comunicação de Voz em Redes IP, chamada de VoIP, consiste no uso das redes de dados que utilizam o conjunto de protocolos das redes IP (TCP/UDP/IP) para a transmissão de sinais de Voz em tempo real na forma de pacotes de dados.

A sua evolução natural levou ao aparecimento da Telefonia IP, que consiste no fornecimento de serviços de telefonia utilizando a rede IP para o estabelecimento de chamadas e comunicação de Voz.

Nessas redes são implementados protocolos adicionais de sinalização de chamadas e transporte de Voz que permitem a comunicação com qualidade próxima àquela fornecida pelas redes convencionais dos sistemas públicos de telefonia comutada ou de telefonia móvel.

Digitalização de Sinais de Voz


Nos sistemas tradicionais o sinal de Voz utiliza uma banda de 4 kHz, e é digitalizado com uma taxa de amostragem de 8 kHz para ser recuperado adequadamente (Princípio de Nyquist). Como cada amostra é representada por um byte (8 bits, com até 256 valores distintos), cada canal de Voz necessita de uma banda de 64 kbit/s (8.000 amostras x 8 bits).

Esta forma de digitalização do sinal de Voz atende a recomendação ITU-T G.711 - Pulse code modulation (PCM) of voice frequencies.

Nos sistema de transmissão de Voz sobre IP, onde a demanda por banda é crítica, torna-se necessário utilizar também algoritmos de compressão do sinal de Voz. Esses algoritmos têm papel relevante pela economia de banda que proporcionam.

O seu uso tem sido possível graças ao desenvolvimento dos processadores de sinais digitais (DSP’s), cuja capacidade de processamento tem crescido vertiginosamente.

Estas necessidades incentivaram o desenvolvimento de tecnologias mais complexas para a digitalização e compressão de Voz, e que foram registradas através de recomendações do ITU-T. Estas recomendações são apresentadas na tabela abaixo, com algumas características relevantes.

Codecs.jpg


Asterisk


O Asterisk é a implementação de uma central telefônica PBX (Private Branch eXchange) em software, criado por Mark Spencer em 1999, e distribuído pela Digium livremente seguindo a licençaGPL (GNU General Public License – GPL), ou através de código proprietário.

O nome Asterisk vem do símbolo ‘*’, muito comum no mundo da telefonia.

O Asterisk foi originalmente desenvolvido para Linux, mas atualmente podeser instalado e executado em uma grande variedade de sistemas operacionais, incluindo NetBSD, OpenBSD, FreeBSD, Mac OS X, Solaris e até mesmo Microsoft Windows, onde é conhecido por Asterisk Win32.

Características do Asterisk


O Asterisk é um software, baseado na licença GPL (GNU General Public License), que executa todas as funções de uma central telefônica convencional através das principais tecnologias de comunicação existentes no mercado, como por exemplo: linhas telefônicas analógicas, links de telefonia digital via placas de comunicação TDM (Time-Division Multplexing, ou Multiplexaçã ,o por divisão detempo), VoIP (Voice over IP, ou Voz sobre IP) através dos protocolos SIP, H.323, IAX2, MGCP, Skinny,GoogleTalk, Skype, entre outros.

Através do Asterisk é possível estabelecer uma chamada entre qualquer um desses protocolos. O Asterisk é o que chamamos de B2B User Agent, ou melhor, Back-to-Back User Agent, ele estabelece uma chamada telefônica, separando cada “perna” da chamada entre origem e destino, e monitora todo o tráfego de áudio entre esses pontos. Por isso, caso esses pontos estejam utilizando CODECs diferentes, o Asterisk consegue transcodificar o áudio sem qualquer problema. Pode-se dizer que o Asterisk possui todas as funcionalidades das chamadas centrais telefônicas convencionais, como URAs, correio de voz, conferência, distribuição automática de chamadas, entre outras, e caso seja necessário, é possível acrescentar novas funcionalidades ao sistema através do próprio plano de discagem do Asterisk, módulos customizados escritos em C, ou ainda através de scripts escritos em Asterisk Gateway Interface (AGI). *Fonte: Construindo um PBX IP na pratica (Alexandre Keller)

Codecs


Um dos componentes necessários para transmissão de voz numa rede de dados é o Áudio CODEC (Codificador-Decodificador). Este componente é o responsável por transformar a voz humana (um sinal analógico) em uma seqüência de bits (um sinal digital) para transmissão numa rede de dados, fazendo amostragens periódicas no sinal de voz. Em equipamentos do tipo gateways VoIP, esses CODECs são implementados através de um componente chamado DSP (Digital Signal Processor). A introdução dos microprocessadores no final dos anos 70 e início dos anos 80 tornou possível usar técnicas de processamento digital de sinais (Digital Signal Processing) em um range muito maior de aplicações. Durante os anos 80 a importância crescente do processamento digital de sinais levou vários fabricantes importantes (como Texas Instruments, Analog Devices e Motorola) a desenvolverem os chips DSP, ou seja, microprocessadores especializados com arquiteturas projetadas especificamente para os tipos de operações requeridas ao processamento digital de sinais. Como um microprocessador de uso geral, um DSP é um dispositivo programável, com seu próprio conjunto de instruções nativas. O uso desses chips associados a algoritmos de compressão permitiu a implementação de diversas tecnologias de CODEC’s. Exemplos de chips DSP são o DSP542 e DSP549 fabricados pela Texas Instruments e usados pela CISCO Systems em seus gateways VoIP [CISCO-CODEC1]. Cada CODEC provê certa qualidade de voz. A medida de qualidade da voz transmitida é uma resposta subjetiva de um ouvinte. Uma medida comum usada para determinar a qualidade do som produzido pelos CODECs específicos é o MOS (Mean Opinion Score). Com o uso do MOS, um amplo range de ouvintes julgam a qualidade de uma amostra de voz (correspondendo a um CODEC particular) numa escala de 1 a 5. A partir desses resultados, é calculada a média dos scores para atribuir o MOS para aquela amostra [CISCO-CODEC2]. Na tabela 1 são apresentados alguns scores MOS para os CODECs mais usados. Na Tabela 2 são descritos os scores MOS.

Codecs2.jpg

Codecs3.jpg


Instalando Sistema Operacional

Sistemas operacionais baseados em Linux já foram complicados de usar, ao menos quando comparados ao Windows, mas avanços recentes têm deixado a plataforma mais amigável. No Linux, você vai encontrar alguns programas com os quais está acostumado, como Firefox, Chrome e outros. A maioria, entretanto, não está disponível porque o Linux possui uma comunidade de desenvolvedores que cria, gratuitamente, programas equivalentes para o OS. Não há Photoshop, por exemplo, mas há o GIMP. Não há Microsoft Office, mas há o LibreOffice. Não há Lightroom, mas há o Darktable. Alguns dos programas não são tão bons quanto os disponíveis para Windows, mas por outro lado alguns são até melhores. Cabe a você experimentar. Você não vai precisar digitar nenhum comando complexo ou adquirir conhecimento avançado prévio para fazer isso, mas o processo é longo e varia um pouquinho de computador para computador. É possível que você mexa com certas coisas que nunca viu. Este processo (e o sistema Ubuntu) é utilizado por milhões de pessoas no mundo.

Iremos utilizar um software de virtualização chamado Virtualbox. o Virtualbox é fornecido pela Oracle, de forma gratuita. Caso você queira instalar o Virtualbox no seu computador, pode baixar deste site. Lembre-se de baixar a versão adequada para o seu sistema operacional, juntamente com o Extension Pack (software adicional para suporte a diversos dispositivos do seu computador).

Para a criação da máquina virtual, deixaremos com a seguinte configuração:

  • 1500 MB de Ram;
  • 30 GB de espaço em disco;
  • 2 processadores;
  • 32 MB de memória de vídeo;
  • Habilitar aceleração 3D;
  • Placa de rede em modo bridge.
Virtualbox.jpg

A versão do sistema operacional que utilizaremos é o Ubuntu Mate 14.

Ao iniciar a instalação, a primeira etapa é a escolha do idioma e se queremos somente experimentar o Ubuntu ou instalar.

a próxima etapa nos dá algumas orientações e também permite escolhermos se queremos baixar atualizações e instalar programas de terceiros.

Logo após, teremos que escolher entre a opção de apagar o disco inteiro de forma automatizada pelo instalador ou marcar a opção avançada. Neste momento iremos utilizar a opção de apagar o disco inteiro, pois estaremos entrando nos detalhes de particionamento, sistema de arquivos e tipos de partição em outra aula.

Também escolhemos o local onde estamos.

Devemos definir o layout do teclado.

E por fim, escolhemos o nome, nome do computador, nome de usuário e senha.

Agora é só aguardar...

Ubuntumateinstanlado.jpg

Terminada a instalação do sistema operacional, devemos instalar alguns pacotes necessários para que a nossa máquina virtual possa ser utilizada em modo de tela cheia. Para tanto iremos utilizar o terminal do mate e digitar os comandos a seguir:

  • sudo apt-get update
  • sudo apt-get install build-essential module-assistant dkms
  • sudo m-a prepare

Após esta instalação, podemos clicar em Dispositivos, e ir na opção Inserir imagem de CD dos adicionais para convidado e executar a aplicação que irá abrir.


Instalação do Asterisk


Neste semestre iremos trabalhar com o Asterisk versão 13.22.0, o LibPRI 1.6.0, que é uma biblioteca Libpri será instalada para que tenhamos suporte aos canais PRI( ISDN, E1, T1 ), e o DAHDI, que é um pacote (Digium Asterisk Hardware Device Interface) nos permite carregar os drivers e configurar diversos tipos de placas de telefonia (para conectar telefones analógicos, linhas telefônicas, linhas digitais e outros). Antes de qualquer coisa, devemos atualizar o sistema via console de comando:

#apt-get update
#apt-get upgrade

Também devemos instalar algumas dependências:

# apt-get install -y make wget libssl-dev ncurses-dev libnewt-dev libxml2-dev linux-headers-generic g++ libsqlite3-dev uuid-dev libjansson-dev
# apt-get install -y mysql-server libmysqld-dev

Para baixar os arquivos do Asterisk, DAHDI e LibPRI, seguem os links abaixo (os comandos para a instalação completa do Asterisk, Libpri, Dahdi e banco de dados serão repassados em aula):

Asterisk 13.22.0
LibPRI 1.6.0
DAHDI

Campos para o banco de dados:

Arquivo banco de dados