Edição das 17h28min de 13 de fevereiro de 2019 (ver código-fonte)
=13/02/2019: Conceitos gerais, preparação do servidor e instalação do Asterisk e banco de dados=
<b>Telefonia IP ou VoIP: O que é?</b>
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>
<div style="text-align: center;">[[Arquivo:codecs.jpg]]</div><br/><br/>
<b>Asterisk</b>
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>
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.
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).
* 1500 MB de Ram;
* 30 GB de espaço em disco;
* 32 MB de memória de vídeo;
* Habilitar aceleração 3D;
<div style="text-align: center;">[[Arquivo:ubuntumateinstanlado.jpg]]</div><br/>
* sudo apt-get install build-essential module-assistant dkms
* sudo m-a prepare
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:
[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/>
[https://docs.google.com/document/d/135vf4dUJhMmG0fVqzFXEYPQ095iBzpBU0O7fZz04hZs/edit?usp=sharing Arquivo banco de dados]