CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES
LUIS FERNANDO D’OLIVEIRA MONTALVÃO
PAULO CESAR SAMPAIO
IMPLEMENTAÇÃO DE SERVIDOR VOIP ASTERISK ATRAVÉS DO TRIXBOX
LINS/SP 1º SEMESTRE/2013
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES
LUIS FERNANDO D’OLIVEIRA MONTALVÃO
PAULO CESAR SAMPAIO
IMPLEMENTAÇÃO DE SERVIDOR VOIP ASTERISK ATRAVÉS DO TRIXBOX
Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins para obtenção do Título de Tecnólogo em Redes de Computadores. Orientador: Prof. Dr. Renato Correia de Barros.
LINS/SP 1º SEMESTRE/2013
DEDICATÓRIA
Dedico este trabalho a Jaqueline, que me fez acreditar
desde o começo que eu seria capaz de concluir esta
faculdade. E também ao professor Ygor Gonzaga, in
memorian, que se dedicou muito em me ajudar diversas
vezes em meu TCC quando ainda cursava Banco de
Dados, mesmo fora do seu horário de trabalho, pois
tenho certeza que teria me ajudado mais uma vez.
Luis Fernando
Dedico esta faculdade aos meus pais Sampaio e Beth, a
minha esposa Dayse e aos meus filhos, Lucas in
memorian, Nathalia e em especial ao Leonardo, por ele
que tive garra, vontade e forças para enfrentar todas as
dificuldades da vida.
Paulo César
AGRADECIMENTOS
Agradeço aos amigos e familiares por todo o apoio durante o período da
faculdade, em especial ao Luis Felipe Montalvão, que me ajudou bastante na
resolução de alguns problemas, e participou inclusive gravando os sons deste
trabalho. Aos professores e funcionários da FATEC de Lins, dentre os quais gostaria
de ressaltar especialmente a professora Adriana de Bortoli, Naylor Garcia e nosso
orientador Renato Barros.
Luis Fernando
Agradeço ao meu parceiro de TCC, Luis Fernando e também ao nosso
orientador Renato, que além de professor e orientador, é um grande amigo.
Paulo César
RESUMO
A tecnologia proporciona novos meios de comunicação a cada dia, uma das maiores inovações no meio da telefonia nos últimos anos foi o uso de voz sobre redes IPs. Através disso, pessoas no mundo inteiro podem se comunicar através de voz, vídeo ou simples mensagens instantâneas, e o melhor, sem pagar nada por isso. No início da tecnologia VoIP, os grandes obstáculos foram as limitações de hardware e de banda larga. Com o passar dos anos, tal tecnologia alcançou qualidade igual (ou superior em alguns casos) a da telefonia convencional. Algumas empresas possuem o receio de migrar de uma tecnologia para outra, por vários motivos, principalmente pelo medo de se adaptar ao que é novo. Isso é de certa forma terrível, pois em alguns casos a economia realizada poderia ser de grande valor para seu crescimento. Através do TrixBox, uma distribuição simplificada que instala um servidor VoIP Asterisk sobre o sistema operacional CentOS, é feita a implementação e seu estudo, além de uma análise sobre o funcionamento de alguns softphones. Os softphones utilizados neste estudo são: X-Lite (testado sobre os sistemas operacionais Windows XP e Windows 7), Ekiga (testado sobre o sistema operacional Windows 7), 3CX Phone (testado sobre o sistema operacional Android) e Linphone (testado no ambiente Linux: o sistema operacional XUbuntu).
Palavras-chave: VoIP, Asterisk, TrixBox, Softphones.
ABSTRACT
Technology provides new ways of communication as time goes by, and one of the biggest innovations in telephony field in the last years was the use of voice over IPs. With that, people in the whole world can communicate using voice, video or simple instantly messages, and the best, without paying for anything. In the beginning of VoIP technology, the great challenges were the hardware and broadband limitation. As time passed by, such technology achieved equal (or higher in some cases) quality to the conventional telephony. Some companies have the fear of migrating from a technology to another, due to many reasons, mainly because of their fear of adapting to what is new. This is terrible in certain form, because in some cases the savings could be of great value to the company's growth. Through TrixBox, a simplified distribution that installs an Asterisk VoIP server over the CentOS operating system, is performed this study, and an analysis over the performance of some softphones. The softphones used are: X-Lite (tested over Windows 7 operating system), Ekiga (tested over Windows 7 operating system), 3CX Phone (tested over Android operating system) and Linphone (tested over Linux environment: XUbuntu operating system).
Keywords: VoIP, Asterisk, TrixBox, Softphones.
LISTA DE ILUSTRAÇÕES
Figura 1.1 - VoIP de computadores para telefones convencionais ........................... 19
Figura 1.2 - VoIP de telefone IP para telefones convencionais ................................. 20
Figura 1.3 - VoIP de adaptador ATA para telefones convencionais .......................... 20
Figura 1.4 - Composição do endereço MAC ............................................................. 24
Figura 1.5 - Time To Live de um pacote IP ............................................................... 25
Figura 1.6 - Arquitetura de protocolos utilizados pelo VoIP ....................................... 28
Figura 1.7 - Atraso de pacotes .................................................................................. 35
Figura 2.1 - Representação de um sistema Asterisk ................................................. 38
Figura 2.2 - Arquitetura do Asterisk ........................................................................... 41
Figura 3.1 - Interface Linphone para desktop ............................................................ 45
Figura 3.2 - Interface Skype para desktop ................................................................ 46
Figura 3.3 - Interface Google Talk para desktop ....................................................... 46
Figura 3.4 - Interface Google Talk para desktop ....................................................... 47
Figura 3.5 - Cisco IP Communicator ......................................................................... 48
Figura 3.6 - Tela de configuração e interface do softphone 3CX no Android ........... 49
Figura 4.1 - Ambiente de implementação .................................................................. 52
Figura 4.2 - Criando máquina virtual TrixBox ............................................................ 53
Figura 4.3 - Configuração de rede TrixBox ............................................................... 55
Figura 4.4 - Tela de Login TrixBox ............................................................................ 55
Figura 4.5 - Tela de configuração de contas do Ekiga no Windows 7 ....................... 58
Figura 4.6 - Tela de configuração de contas do Linphone no XUbuntu ..................... 59
Figura 4.7 - Tela de configuração de contas do X-Lite no Windows XP .................... 59
Figura 4.8 - Tela de configuração de grupos de chamadas "Vendas" no Asterisk .... 61
Figura 4.9 - Parâmetros de configuração da URA ..................................................... 65
LISTA DE QUADROS
Quadro 1.1 - Uso de banda de alguns codecs .......................................................... 31
Quadro 1.2 - A rigidez dos requisitos de QoS ........................................................... 34
Quadro 2.1 - Requisitos de sistema .......................................................................... 39
Quadro 3.1 - Análise de aplicações para softphones ................................................ 43
Quadro 3.2 - Análise de softwares para servidores ................................................... 50
LISTA DE ABREVIATURAS E SIGLAS
API – Application Programming Interface
ATA – Analog Telephone Adaptor
Codec – Coder/ Decoder
CPU – Central Processing Unit
DHCP – Dynamic Host Configuration Protocol
DSP – Digital Signal Processor
FPU – Floating Point Unit
GB – Giga Byte
GPL – General Public License
HD – Hard Disk
HTTP – Hyper Text Transfer Protocol
IP – Internet Protocol
ISO – International Standards Organization
IVR – Interactive Voice Response System
MB – Mega Byte
MGCP – Media Gateway Control Protocol
OSI – Open Systems Interconnection
PC – Personal computer
PSTN – Public Switched Telephone Network
QoS – Quality of Service
RAM – Random Access Memory
RTCP – Real Time Control Protocol
RTP – Real Time Protocol
SDP – Session Description Protocol
SIP – Session Initiation Protocol
SMTP – Simple Mail Transfer Protocol
TCP – Transport Control Protocol
TTL – Time to Live
UDP – User Datagram Protocol
URA – Unidade de Resposta Audível
SUMÁRIO
INTRODUÇÃO .......................................................................................................... 14
1 LEVANTAMENTO BIBLIOGRÁFICO ..................................................................... 17
1.1 VOIP .................................................................................................................... 17
1.1.1 SURGIMENTO E EVOLUÇÃO ......................................................................... 17
1.1.2 TIPOS DE TECNOLOGIA VOIP ....................................................................... 18
1.1.3 AS TECNOLOGIAS ENVOLVIDAS .................................................................. 21
1.2 CAMADAS ........................................................................................................... 21
1.2.1 Modelo OSI ...................................................................................................... 21
1.2.1.1 Camada Física .............................................................................................. 21
1.2.1.2 Camada de Enlace ........................................................................................ 21
1.2.1.3 Camada de Rede .......................................................................................... 21
1.2.1.4 Camada de Transporte .................................................................................. 21
1.2.1.5 Camada de Sessão ....................................................................................... 21
1.2.1.6 Camada de Apresentação ............................................................................ 21
1.2.1.7 Camada de Aplicação ................................................................................... 21
1.3 PROTOCOLOS ................................................................................................... 27
1.3.1 Padrão H.323 ................................................................................................... 21
1.3.2 Protocolo SIP ................................................................................................... 28
1.3.3 Protocolo SDP .................................................................................................. 21
1.3.4 Protocolo RTP .................................................................................................. 21
1.3.5 Protocolo RTCP ............................................................................................... 30
1.3.6 Protocolo MGCP .............................................................................................. 30
1.3.7 Protocolo MEGACO H.248 ............................................................................... 30
1.3.8 Codecs ............................................................................................................. 31
1.3.8.1 G.711 ............................................................................................................. 32
1.3.8.2 G.729 ............................................................................................................. 32
1.3.8.3 G.723.1 .......................................................................................................... 32
1.4 EVOLUÇÕES DA UTILIZAÇÃO DA TECNOLOGIA VOIP .................................. 33
1.5 QOS .................................................................................................................... 33
1.5.1 Confiabilidade ................................................................................................... 34
1.5.2 Retardo (atraso) ............................................................................................... 34
1.5.3 Flutuação .......................................................................................................... 35
1.5.4 Largura de banda (throughtput) ........................................................................ 36
1.5.5 Retardamento ................................................................................................... 36
1.5.6 Probabilidade de falhas na conexão ................................................................ 36
1.5.7 Taxa de erro residual........................................................................................ 36
1.5.8 Proteção ........................................................................................................... 36
1.5.9 Prioridade de serviço ........................................................................................ 37
2 MATERIAIS E MÉTODOS...................................................................................... 38
2.1 ASTERISK ........................................................................................................... 38
2.2 DEFINIÇÃO DE HARDWARE ............................................................................. 39
2.3 TERMINAIS UTILIZADORES .............................................................................. 42
3 ANÁLISE DE SOFTWARES ................................................................................... 43
3.1 APLICAÇÕES DE SOFTPHONES ...................................................................... 43
3.1.1 Linphone ........................................................................................................... 44
3.1.2 Skype ............................................................................................................... 45
3.1.3 Google Talk ...................................................................................................... 46
3.1.4 Cisco IP Communicator .................................................................................... 48
3.1.5 X-Lite ................................................................................................................ 49
3.1.6 Ekiga ................................................................................................................ 49
3.1.7 3CX .................................................................................................................. 50
3.2 SOFTWARE PARA SERVIDORES ..................................................................... 50
4 IMPLEMENTAÇÃO ................................................................................................ 52
4.1 CONFIGURAÇÃO DO AMBIENTE ..................................................................... 52
4.2 INSTALAÇÃO DO TRIXBOX ............................................................................... 53
4.3 INICIALIZAÇÃO DO TRIXBOX ........................................................................... 54
4.4 CRIAÇÃO DE RAMAIS ....................................................................................... 56
4.5 INSTALAÇÃO E CONFIGURAÇÃO DOS SOFTPHONES .................................. 57
4.5.1 Instalação do Ekiga no Windows 7 ................................................................... 57
4.5.2 Instalação do Linphone no XUbuntu ................................................................ 58
4.5.3 Instalação do X-Lite no Windows XP ............................................................... 58
4.5.4 Instalação do 3CX no Android .......................................................................... 60
4.6 CRIAÇÃO DE GRUPOS DE CHAMADAS .......................................................... 60
4.6.1 Gravação e upload de sons usados nos grupos de chamadas ........................ 60
4.6.2 Criação dos grupos de chamadas .................................................................... 61
4.6.3 Simulação de algumas situações com grupos de chamadas ........................... 63
4.7 CONFERÊNCIAS ................................................................................................ 64
4.8 CRIAÇÃO DE URA ............................................................................................. 64
CONCLUSÃO ............................................................................................................ 67
REFERÊNCIAS ......................................................................................................... 69
14
INTRODUÇÃO
Desde os primórdios, sempre houve a necessidade de se comunicar, e
através dessa necessidade, os seres humanos, como é possível notar no decorrer
da história, sempre buscaram formas inovadoras de se fazer isso. No século XVIII,
por exemplo, foi criado o telégrafo, um sistema que podia transmitir mensagens a
longas distâncias, de maneira rápida e confiável, que utilizava principalmente o
código Morse em suas transmissões (PESQUISA.COM, 2012). Samuel Morse, no
ano de 1844, enviou a primeira mensagem da qual fazia uso de seu sistema de
telegrafia, entre Washington e Baltimore. (COLCHER, 2005)
Alguns anos mais tarde, entre as décadas de 1850 e 1860, o italiano que vivia
nos Estados Unidos, Antonio Meucci, durante uma de suas pesquisas, descobriu
que era possível transmitir sons através de cabos telegráficos, o que ele chamou de
“telégrafo falante”. Aprimorando suas pesquisas, ele criou o que chamava de
“teletrofono”, um sistema que possibilitava a comunicação com sua esposa em sua
casa, que na época estava enferma, com ele em seu laboratório em um prédio
vizinho, de forma que não fosse necessário que ela nem mesmo levantasse de sua
cama. (TECMUNDO, 2012)
“Se eu pudesse fazer com que uma corrente elétrica variasse de intensidade
da mesma forma que o ar varia ao se emitir um som, eu poderia transmitir a palavra
telegraficamente.” Essa foi a frase que motivou o trabalho de Alexander Graham Bell
(INFOESCOLA, 2012). Em 1975, Bell e seu jovem estudante Thomas A. Watson,
trabalhavam em um projeto relacionado ao sistema de telegrafia, sem nenhuma
relação com o telefone, quando foi emitido um som diferente do que o que eles
esperavam em um de seus experimentos. De acordo com análise do ocorrido, Bell
pôde perceber que pela forma que foi montada parte do equipamento de recepção
naquele momento, foi possível produzir uma corrente elétrica onde sua variação
ocorria com a mesma intensidade que o ar variava de intensidade junto ao
transmissor. (COLCHER et. al., 2005)
Bell, em 1976, registrou a invenção de um aparelho eletromagnético que
possibilitava a comunicação simultânea de dois locais através de longas distâncias.
É interessante o fato de que o Congresso dos EUA reconheceu em 2002 Meucci
15 como o verdadeiro inventor do telefone, porém no Canadá, dez dias depois, o
parlamento do país aprovou de forma unânime uma moção a Bell, reafirmando-o
como inventor do telefone e protegendo a honra deste escocês que viveu muito
tempo no Canadá. (TECMUNDO, 2012)
O telefone evoluiu rapidamente, bem como novas tecnologias que
possibilitaram a utilização da informação em larga escala. Hoje é muito comum a
utilização dos serviços de transmissão para o tráfego de dados.
Hoje, a internet está praticamente em todo o mundo, inclusive nos países
menos desenvolvidos. Possuindo um método de acessá-la, é possível se comunicar
com outras pessoas, independentemente de onde se esteja e de onde essas outras
pessoas se encontrem.
Embora hoje seja extremamente comum, o e-mail teve seu momento de brilho
na história da informática e da internet. Com seu surgimento, foram possíveis trocas
de mensagens de longas distâncias, sem que a pessoa precisasse estar conectada,
ou seja, ela poderia receber a mensagem a qualquer hora e a mensagem estaria
guardada em sua caixa de e-mail, podendo ser visualizada assim que a pessoa
desejasse. Atualmente, é bastante notável também o espaço gratuito que algumas
empresas fornecem para seus usuários que possuem contas de e-mail. Fornecem
espaços cada vez maiores, o que facilita de maneira incrível a vida das pessoas,
seja para armazenamento de documentos importantes, fotos, enfim, qualquer coisa.
Hoje, pessoas se comunicam através da tecnologia Voice over Internet
Protocol (VoIP) sem custo nenhum, através de determinados softwares, por
exemplo, o Skype.
Em 2005, eram aproximadamente dezesseis milhões de usuários da
tecnologia VoIP. Em 2006, cerca de cinquenta milhões de usuários, um aumento de
mais de 200% em relação a 2005. (TELECO, 2012)
A história da tecnologia VoIP é recente, foi desenvolvida e apresentada em
1995 por uma empresa chamada Vocaltec, com o propósito de ser utilizada como o
primeiro telefone pela internet. Era um software chamado Internet Phone Software,
basicamente sua transmissão era entre apenas dois computadores e sua qualidade
muito baixa, com cortes e atrasos, tendo seu sucesso completo em 1996. (INFO,
2006)
Tendo em vista os vários benefícios oferecidos pelas novas tecnologias, o
16 objetivo deste trabalho foi fazer um estudo sobre a tecnologia VoIP em uma
pequena rede local. Neste estudo, portanto, são analisados alguns softwares, dentre
eles alguns gratuitos, e também uma análise para detectar se realmente os
softphones gratuitos atendem as necessidades.
O presente trabalho foi organizado da seguinte forma: No primeiro capítulo foi
realizado um levantamento bibliográfico com os principais equipamentos (hardware),
aplicativos (software) e protocolos necessários para o entendimento desta
tecnologia.
O segundo capítulo descreve os materiais e métodos utilizados para a
execução do trabalho.
Já no terceiro capítulo é feita uma análise de alguns dos principais softphones
disponíveis, além de uma descrição sobre o Asterisk.
No quarto capítulo são apresentados detalhes da implementação do estudo.
17
1 LEVANTAMENTO BIBLIOGRÁFICO
Neste capítulo é apresentado uma visão geral sobre VoIP e as tecnologias
envolvidas para realização de chamadas sobre IP. Para tal, é estudado o modelo
Open Systems Interconnection (OSI) e seus protocolos envolvidos.
1.1 VOIP
A tecnologia VoIP permite a transmissão de voz através da internet, sem fazer
uso de redes de telefonia tradicionais (INFO, 2006). Este capítulo é composto por
tópicos que explicam a tecnologia VoIP e seu surgimento.
Comumente, o termo VoIP e Telefonia IP são usados de maneiras diferentes
(COLCHER et al., 2005; ALECRIM, 2005). O termo VoIP é geralmente utilizado
referindo-se a “técnica de empacotamento e transmissão de amostras de voz sobre
redes IP e aos mecanismos de sinalização necessários ao estabelecimento de
chamadas telefônicas nessas redes” (COLCHER et al., 2005, p.9), enquanto o termo
Telefonia IP é geralmente utilizado para a aplicação de tecnologias VoIP na
“transmissão e na sinalização, com o oferecimento de um serviço de qualidade
similar ao da telefonia convencional” (COLCHER et al., 2005, p.9). De forma
resumida, pode-se assumir que telefonia IP é uma versão evoluída de VoIP, com
qualidade e funcionalidades que se comparam com a telefonia convencional
(ALECRIM, 2005). Colcher et al. (2005) também afirma que o termo telefonia IP
pode se referir a uma plataforma de integração de serviços VoIP com outros
serviços comuns da internet.
Ainda assim, alguns autores definem ambos os termos com o mesmo
significado. Segundo Melo et al. (2010), os termos Telefonia IP, Telefonia Internet e
VoIP se referem ao uso de redes que se baseiam no protocolo IP pela camada de
rede para transporte de voz, pela internet.
1.1.1 SURGIMENTO E EVOLUÇÃO
Ao se falar de VoIP, o nome Skype vem na cabeça de muitas pessoas.
Porém, é uma tecnologia muito ampla. A empresa Skype, criada pelo sueco Niklas
18 Zennström e pelo dinamarquês Janus Friisapenas, que também são os pais do
Kazaa (INFO, 2006; CRISTOFOLI, PLANTULLO, CAVALCANTI, 2006), popularizou
a tecnologia VoIP entre usuários domésticos. (INFO, 2006)
É em Israel que encontramos as raízes da tecnologia VoIP. Foi lá que Alon Cohen e Lior Haramaty, engenheiros saídos do exército nacional, fundaram a Vocaltec, em 1994. O foco da empresa era produzir software, hardware e tecnologias para a transmissão de áudio. (INFO, 2006, p.7)
Como mostra a revista Info, a empresa Vocaltec, nascida em 1994, lança em
fevereiro de 1995 o Internet Phone, o primeiro aplicativo comercial de comunicação
VoIP do mercado (INFO, 2006; COLCHER et al., 2005). Seu funcionamento era
bastante parecido com o funcionamento dos aparelhos de hoje, porém, a qualidade
da chamada era bastante inferior, devido ao fato de que a tecnologia estava em seu
estado inicial, e também a falta de banda (INFO, 2006), o que fez com que essa
tecnologia não fosse eficiente na maioria das redes e fosse, dessa forma,
considerada um fracasso (ALECRIM, 2005). E também era inferior à qualidade
padrão dos sistemas telefônicos convencionais. (COLCHER et al., 2005)
A Vocaltec cresceu e se destacou no mercado em muito pouco tempo. No
ano de 1996, a renomada Netscape tentou comprá-la, mas sua oferta foi recusada
(INFO, 2006). No fim da década de 90, surgiu uma melhoria bastante considerável
na qualidade de comunicação utilizando a tecnologia VoIP, devido, principalmente, a
dois motivos (COLCHER et al., 2005):
A internet possibilitou taxas de transmissões mais altas;
Iniciou-se a produção de aparelhos específicos para VoIP (Gateways,
aparelhos telefônicos IP, adaptadores) por fabricantes de grande porte.
1.1.2 TIPOS DE TECNOLOGIA VOIP
A tecnologia VoIP pode ser utilizada desde simples programas gratuitos no
computador até complexos telefones IPs. Os princípios são os mesmos, “(...)
converter a voz das ligações em pacotes de dados, para que ela possa viajar pela
internet junto com outros tipos de arquivos” (INFO, 2006, p.16).
A figura 1.1 ilustra a tecnologia VoIP de computadores para telefones
convencionais. Neste caso, primeiramente, é necessário o headset (acessório que
reúne fone de ouvido e microfone), um computador (que deve se conectar à internet
19 com banda larga) com softphone (software que atua como um telefone no
computador, assim como o Skype) habilitado em um provedor de serviço IP. Existe a
vantagem de que os softphones são os recursos mais comuns e que pedem menos
investimentos. E também, quando a ligação for para outro computador (a ligação
tiver que trafegar apenas pela internet), seu custo será zero. Já sua desvantagem é
de não haver garantia de qualidade de chamada, uma vez que ela circula por uma
rede aberta. A qualidade desse serviço geralmente é semelhante a da telefonia
convencional. (INFO, 2006)
Figura 1.1 – VoIP de computadores para telefones convencionais Fonte: Info, 2006, p.18
A figura 1.2 ilustra o funcionamento de VoIP de telefone IP para telefones
convencionais e a figura 1.3, de VoIP de adaptadores Analog Telephone Adaptor
(ATA) para telefones convencionais. Ambos se acoplam em aparelhos
convencionais.
A principal vantagem desses dois tipos em relação ao softphone é a
independência dos computadores, ou seja, para que esses sistemas possam
funcionar, o computador nem mesmo precisa estar ligado, o telefone IP ou o
adaptador ATA precisam somente estar conectados no modem de banda larga ou
20 em um roteador de rede. (INFO, 2006)
Figura 1.2 – VoIP de telefone IP para telefones convencionais Fonte: Info, 2006, p.17
Figura 1.3 – VoIP de adaptador ATA para telefones convencionais Fonte: Info, 2006, p.19
21
1.1.3 AS TECNOLOGIAS ENVOLVIDAS
A exigência básica para o estabelecimento de uma comunicação telefônica,
desde a invenção do telefone, é a existência de um circuito entre os dois pontos, e
continua assim ainda hoje na maioria das ligações telefônicas que são feitas. Ainda
que o circuito seja digitalizado e multiplexado, ele é indispensável na comunicação
telefônica, tratada por convencional e que representa a telefonia pública hoje
utilizada, conhecida como Public Switched Telephone Network (PSTN) ou Rede
Telefônica Pública Comutada (RTCP). (MELO et al. 2010)
A diferença mais importante da tecnologia VoIP para a telefonia convencional
é que a primeira, faz uso de comutação por pacotes, enquanto a segunda, é
baseada em comutação por circuitos. (MELO et al. 2010)
1.2 CAMADAS
As camadas possuem a função de oferecer serviços específicos para as
camadas superiores, livrando-as assim de detalhes de implementação de
determinados recursos. A ideia principal disso é esconder os detalhes de estado
interno e de algoritmos, algo conhecido em outras áreas da informática como
ocultação de informação ou encapsulamento de dados (TANENBAUM, 2003). O que
se busca através disso é padronização para obter organização e agilidade nos
processos, ou seja, os problemas são quebrados em partes gerenciáveis menores.
(VENTURA, 2002; SEVERANCE, 2012)
As camadas, segundo Tanenbaum (2003), podem trabalhar com serviços
orientados a conexões e serviços sem conexões, onde os serviços orientados a
conexões podem ser comparados com ligações telefônicas, ou seja, o usuário
precisaria tirar o telefone do gancho, discar o número, esperar a outra pessoa
atender e somente assim começar a comunicação. Já no segundo caso, nos
serviços sem conexões, os serviços podem ser comparados ao sistema postal, onde
a mensagem é enviada com o endereço definido, e então é encaminhada através do
sistema.
Os serviços podem ser ou não confiáveis. Para tal, as camadas fazem uso de
22 uma confirmação, ou seja, o receptor confirma o recebimento das mensagens,
porém, isso faz com que sejam gerados delays (atrasos) na rede, podendo
compensar às vezes, mas, por outro lado, existem situações onde podem atrapalhar
bastante no desempenho, de forma que não compense.
1.2.1 Modelo OSI
A International Standards Organization ISO propôs a criação de um modelo
para a padronização internacional de protocolos que trabalham nas várias camadas,
no ano de 1977. O modelo OSI é uma abreviação comumente usada para Modelo
de Referência ISO OSI, onde sua tradução pode ser justificada por se tratar da
conexão de sistemas que estão abertos para se comunicarem com outros sistemas.
Possui sete camadas, que são vistas a seguir. (TANENBAUM, 2003)
1.2.1.1 Camada Física
Também conhecida como a camada número um, ou primeira camada. Nela,
acontece a transmissão dos bits de forma bruta (TANENBAUM, 2003), seja por
ondas de rádio, microondas, sinal de luz (várias maneiras podem ser usadas para
realizar transmissão).
Essa camada também específica as voltagens que serão utilizadas para
representação, respectivamente, de um bit 0 e um bit 1, sua duração, se a
transmissão poderá ou não acontecer pelas duas partes simultaneamente, como
será estabelecida a conexão inicial e como será encerrada quando as duas partes
estiverem encerrado, quantos pinos os conectores de rede terão e qual será a
função de cada um deles. Resumidamente, trata de questões mecânicas, elétricas e
de sincronização, e também lida com o meio físico de transmissão que fica logo
abaixo da camada física. (TANENBAUM, 2003)
Ao fazer uso de fibra ótica em uma rede, a camada física será responsável
pela conversão entre sinais óticos e elétricos. A fibra irá transmitir pulsos de luz até
essa camada, mas a partir dela, as informações serão passadas para as camadas
superiores através de pulsos elétricos. O mesmo acontece fazendo uso de
microondas ou ondas de rádio, essas ondas chegam até a camada física e então a
23 camada física realiza a conversão para bits. (TANENBAUM, 2003) (VENTURA,
2002)
1.2.1.2 Camada de Enlace
A segunda camada do modelo OSI obtém os dados recém formatados pela
camada física, de forma que a camada de enlace entenda. É então feita a
conferência se são mesmo para ela (VENTURA, 2002). Da segunda camada até a
última do modelo OSI todas são software.
Sua primeira ação é fazer com que o transmissor divida os dados de entrada
em quadros de dados, e depois a camada de enlace os envia sequencialmente.
Quando o serviço possui confiabilidade, o receptor envia um quadro de confirmação
de volta. (TANENBAUM, 2003)
Outra questão que trata a camada de enlace de dados é a de impedir que um
transmissor mais rápido envie dados em um fluxo excessivo para um receptor mais
lento. “Com freqüência, é necessário algum mecanismo que regule o tráfego para
informar ao transmissor quanto espaço o buffer do receptor tem no momento. Muitas
vezes, esse controle de fluxo e o tratamento de erros estão integrados.” Tanenbaum,
2003, p. 46.
Ainda nesta camada, existe o endereço MAC, um endereço hexadecimal de
48 bits registrado no momento da fabricação da placa de rede.
Conforme aponta a figura 1.4, o endereço MAC possui seus vinte e quatro
primeiros bits correspondendo ao fabricante da placa, enquanto seus vinte e quatro
últimos bits correspondem ao dispositivo em si. (VENTURA, 2002)
1.2.1.3 Camada de Rede
Essa camada recebe os dados da camada de enlace no formato de quadros,
e então os transforma em pacotes. Um dispositivo, por exemplo, que atua nessa
camada é o roteador. Ele faz o roteamento de pacotes, ou seja, ele estuda e define
os melhores caminhos de acordo com seus critérios, endereça os dados pela rede e
faz o gerenciamento de tabelas de roteamento. (VENTURA, 2002)
24
Figura 1.4 – Composição endereço MAC Fonte: Ventura, 2002
Ao trabalhar em um pacote, ela define o valor Time To Live (TTL) para o
mesmo, que como seu próprio nome diz, é um tempo de vida para o pacote, ou seja,
é um procedimento utilizado para que o pacote não se perca na internet em um loop
infinito. (SEVERANCE, 2012)
Como mostra a figura 1.5, a mensagem sai do computador origem com um
valor TTL estabelecido. A internet nada mais é do que um conjunto de várias redes
interligadas, e ao passar pelos roteadores dessas redes, o valor definido para TTL
vai se decrementando. Para que a mensagem possa atingir o computador destino
com sucesso, é necessário que esse valor não se esgote. Se ele se esgotar, será
enviada uma mensagem avisando que o pacote IP se perdeu, que não atingiu a
máquina destino com sucesso.
1.2.1.4 Camada de Transporte
Resumidamente, essa camada é responsável pela qualidade que existe no
momento da entrega ou recebimento dos dados.
25
Figura 1.5 – Time To Live de um pacote IP Fonte: Elaborada pelos autores, 2013
Ventura (2002) faz uma analogia bastante interessante, onde compara a
camada 3 (camada de rede) como uma agência de correios, por estarem com
remetente e destinatário já definidos nos dados, e a camada 4 (camada de
transporte) como um carteiro, que seria o agente responsável pelo transporte.
Os principais protocolos dessa camada são:
Transmission Control Protocol (TCP): este protocolo apresenta uma
característica que muito o difere do UDP, ele possui confiabilidade, ou
seja, no momento de envio de determinado pacote, é feita a verificação se
o destinatário realmente o recebeu, caso algum pacote da informação
esteja faltando, o remetente a envia novamente (TANENBAUM, 2003), e
este mecanismo de confirmação/ retransmissão pode levar a um atraso
excessivo ao se tratar de seu uso para VoIP. (MELO et al. 2010)
User Datagram Protocol (UDP): este protocolo prioriza o envio em
tempo real, ou seja, as informações que chegam já serão exibidas, não
existe um determinado tempo para verificar se todos os pacotes
chegaram e assim colocá-los em ordem. (TANENBAUM, 2003) (MELO et
al. 2010)
26
No momento final de utilização da camada de transporte pela camada
receptora, ela atua organizando a ordem dos pacotes (no caso de TCP) e controla a
entrega deles. (TANENBAUM, 2003)
1.2.1.5 Camada de Sessão
A quinta camada do modelo OSI é responsável por começar, gerenciar e
finalizar a conexão entre hosts (VENTURA, 2002). Essa camada permite, assim, que
duas máquinas estabeleçam uma conexão organizada, com cada máquina tendo
definido o momento em que deve transmitir, impede que duas máquinas tentem
executar uma mesma operação crítica em um mesmo momento e também é
responsável pela sincronia da transmissão (caso ocorra alguma falha, a transmissão
retorna de onde parou). (TANENBAUM, 2003)
Também é responsável por criptografia e compressão de dados.
1.2.1.6 Camada de Apresentação
A sexta camada do modelo OSI atua formatando os dados para posterior
representação deles (VENTURA, 2002), ou seja, possibilita a comunicação entre
dispositivos que possuem diferentes representações de dados (TANENBAUM,
2003). Por exemplo, um determinado site é exibido de certa maneira em
determinado navegador Web em um computador de mesa. Já em um dispositivo
móvel, como um celular, por exemplo, o mesmo site ou a mesma aplicação online
serão exibidos de forma adaptada para tal aparelho. E tal conversão é trabalho
desta camada.
1.2.1.7 Camada de Aplicação
Esta camada se comunica diretamente com o usuário. Um dos protocolos
mais famosos desta camada, talvez seja o HTTP, que fornece hoje a base para a
Web. Quando um navegador faz uma requisição de alguma página da internet, ele
envia o pedido para o servidor, fazendo uso do HTTP, e então o servidor envia a
resposta. (TANENBAUM, 2003)
27
1.3 PROTOCOLOS
Os protocolos são os principais responsáveis para que qualquer atividade na
informática possa ser realizada, embora muitos desconheçam sua existência.
Segundo Melo et al. (2010), protocolos são as regras que governam a sintaxe,
semântica e sincronização da comunicação entre dois sistemas de computação.
Tanenbaum (2003) define um protocolo como um acordo entre as partes que se
comunicam, definindo como será feita determinada comunicação.
Melo et al. (2010) definem os protocolos essenciais para comunicação VoIP
como: os protocolos para controle de sinalização de chamadas, protocolos para
controle de gateway e os protocolos para transporte de mídia.
Um conjunto de camadas e protocolos de rede recebe o nome de arquitetura
de rede. Ao especificar uma arquitetura é necessário que se definam informações
suficientes para possibilitar a algum implementador desenvolver um software ou
construir algum hardware para alguma camada, de forma que ela trabalhe
obedecendo corretamente ao protocolo adequado. (TANENBAUM, 2003)
A figura 1.6 mostra como os protocolos de comunicação VoIP estão
classificados. O termo sinalização, o qual é apresentado na mesma figura, refere-se
à troca de informações entre dispositivos, para controle de começo e término de
chamada, e também para identificação e autenticação de usuários. Esses requisitos
são cumpridos por alguns protocolos, como o padrão H.323 e o SIP. (MELO, et al,
2012)
1.3.1 Padrão H.323
É uma padronização antiga e bastante complexa, que atualmente está caindo
em desuso pelos sistemas de telefonia IP (MELO et al., 2010) . Seu funcionamento é
parecido com o do protocolo SIP (JUNIOR, 2005), descrito em 1.3.2.
28
Figura 1.6 – Arquitetura de protocolos utilizados pelo VoIP Fonte: Melo, et al., 2010, p.17
1.3.2 Protocolo SIP
Seu é adotado atualmente com maior frequência pelos sistemas VoIP. O
protocolo Session Initiation Protocol (SIP) é um protocolo de sinalização e controle
de chamadas em redes IP (JUNIOR, 2005) (ASTERISK, 2013) que trabalha na
camada de aplicação. (SOUSA, 2008)
Ele permite criar e gerenciar sessões de comunicação interativa (voz, vídeo e
mensagens de texto sobre redes IP) usando UDP e TCP. (SOUSA, 2008)
Ele se diferencia da especificação H.323 por ser um pouco mais moderno e
por possuir um grau de complexidade menor (MELO et al., 2010), além de ser mais
veloz, simples e de fácil integração com aplicações já existentes na internet, por
causa de semelhanças com os protocolos Hyper Text Transfer Protocol (HTTP) e
Simple Mail Transfer Protocol (SMTP). (JUNIOR, 2005; SOUSA, 2008)
1.3.3 PROTOCOLO SDP
O protocolo Session Description Protocol (SDP) é utilizado pelo protocolo SIP
29 para descrever sessões:
Este protocolo define para um utilizador informações como tipos de áudio e vídeo que ele suporta, porta onde deverá receber os dados, nome da sessão e propósito, duração da sessão, informação de contato, largura de banda e etc., estas informações são transportadas juntamente com a mensagem SIP. (JUNIOR, 2005, p. 46)
O protocolo SDP atua como um negociador, que faz com que as partes
entrem em acordo sobre a compatibilidade dos tipos de dados que serão utilizados
(SOUSA, 2008), e então carrega com ele próprio as informações referentes a este
acordo. (JUNIOR, 2005)
1.3.4 Protocolo RTP
O protocolo Real Time Protocol (RTP) é o mais utilizado pela maioria das
empresas de VoIP. E como seu próprio nome diz, ele permite a transmissão de
dados em tempo real. (ALECRIM, 2005) (MELO et al., 2010) (SOUSA, 2008)
Ele faz, ou procura fazer, com que os pacotes enviados sejam recebidos de
acordo com a ordem em que saíram. Quando um pacote chega atrasado, o RTP
causa uma interpolação e não mais o entrega (ALECRIM, 2005). É geralmente
utilizado para transmitir fluxo de voz para VoIP (SOUSA, 2008), opera normalmente
sobre o protocolo de transporte UDP. (TANENBAUM, 2003)
A função básica do RTP é multiplexar diversos fluxos de dados de tempo real sobre um único fluxo de pacotes UDP. O fluxo UDP pode ser enviado a um único destino (unidifusão) ou a vários destinos (multidifusão). Como o RTP utiliza simplesmente o UDP normal, seus pacotes não são tratados de maneira especial pelos roteadores, a menos que alguns recursos de qualidade de serviço normais do IP estejam ativos. Em particular, não há nenhuma garantia especial sobre entrega, flutuação etc. Cada pacote enviado em um fluxo RTP recebe um número uma unidade maior que seu predecessor. Essa numeração permite ao destino descobrir se algum pacote está faltando. Se um pacote for omitido, a melhor ação que o destino deve executar é fazer a aproximação do valor que falta por interpolação. A retransmissão não é uma opção prática, pois o pacote retransmitido provavelmente chegaria tarde demais para ser útil. Como conseqüência, o RTP não tem nenhum controle de fluxo, nenhum controle de erros, nenhuma confirmação e nenhum mecanismo para solicitar retransmissões. (TANENBAUM, 2003, p.403)
Alecrim (2005) cita o exemplo de uma transmissão onde um computador
enviou a palavra Infowester. Nesta transmissão, foi perdida a letra “w”. O que
30 acontece, então, é que é melhor para o usuário receber a palavra Infoester do que
Infoesterw. O atraso de pacotes acontece porque eles seguem caminhos diferentes
até chegarem a determinado destino, o que não é problema em uma transmissão de
arquivos, já que seus pacotes serão organizados no momento da recepção, mas que
por outro lado é problema com voz e vídeo em tempo real.
Segundo Sousa (2008), é um protocolo que trabalha na camada de aplicação.
Porém, é um pouco difícil dizer em que camada o RTP está, porque ele trabalha na
parte do usuário e se vincula ao aplicativo, parecendo dessa forma um protocolo de
aplicação, mas por outro lado, ele é um protocolo genérico e não depende só de
aplicações que oferecem recursos de transporte. “Talvez a melhor descrição do RTP
seja como um protocolo de transporte implementado na camada de aplicação”.
(TANENBAUM, 2003, p.403)
1.3.5 Protocolo RTCP
O protocolo Real Time Control Protocol – RTCP (Protocolo de Controle de
Tempo Real) atua de forma conjunta com o RTP. Faz compressão de pacotes de
dados e monitoramento deles (ALECRIM, 2005), controla o transporte de voz de
RTP em sistemas VoIP. (MELO et al., 2010)
1.3.6 Protocolo MGCP
O protocolo Media Gateway Control Protocol (MGCP) é usado por
controladores de gateways para iniciar, gerenciar e encerrar chamadas. (MELO et al,
2010)
Foi desenvolvido para diminuir a complexidade entre gateways de mídia.
(ASTERISK, 2013)
1.3.7 Protocolo MEGACO H.248
O protocolo MEGACO (também conhecido por H.248) tem a mesma função
que o MGCP, com a diferença de que trabalha sendo uma alternativa a este
protocolo e a protocolos similares (JUNIOR, 2005; MELO et al., 2010), adaptando-se
31 a controladores distribuídos de gateways também. (MELO et al., 2010)
1.3.8 CODECS
Alecrim (2005) explica que existem ainda outros protocolos adicionais, os
codecs:
Existem ainda os codecs, protocolos extras que adicionam funcionalidades e maior qualidade à comunicação. Entre eles, tem-se o G.711, o G.722, o G.723, o G.727, entre outros. O que os diferencia são os algoritmos usados, a média de atraso e principalmente a qualidade da voz. Neste último aspecto, o G.711 é considerado excelente. Todos esses codecs são recomendados pela entidade International Telecommunications Union - Telecommunications standardization sector (ITU-T) e geralmente trabalham em conjunto com mais outro protocolo: O Compressed Real-Time Protocol (CRTP), responsável por melhorar a compressão de pacotes e assim dar mais qualidade ao VoIP. (ALECRIM, 2005)
Segundo Sousa (2008), codec é a abreviatura para coder/decoder e pode ser
definido como um algoritmo usado para codificar e decodificar fluxos de voz. Nós
ouvimos o som em seu formato analógico e para poder ser transmitido em uma rede
de pacotes IP, é necessário que seja convertida para o formato digital.
O trabalho do codec é então codificar e decodificar o fluxo de voz no menor
tempo (de digital para analógico e vice-versa), mantendo a qualidade nos fluxos
(SOUSA, 2008) (ASTERISK, 2013). O objetivo dos vários algoritmos de codificação
é alcançar o melhor equilíbrio entre qualidade/eficiência. (SOUSA, 2008)
Quadro 1.1 Uso de banda de alguns codecs
Codec Taxa de dados Largura de banda efetiva
G.711 64 Kbps 87.2 Kbps
G.729a 8 Kbps 31.2 Kbps
G.723.1 6.4 Kbps 21.9 Kbps
Fonte: MELO et. al. (2010), (DEVEL, 2012)
Em ambientes onde a internet é usada para realização de chamadas, é
necessário atingir o equilíbrio entre banda utilizada e qualidade (DEVEL, 2012). O
32 quadro 1.1 realiza uma comparação em relação ao uso de banda de alguns codecs.
1.3.8.1 G.711
Codec sem compressão de áudio (ASTERISK, 2013), faz uso de bastante
banda, ou seja, é utilizado em ambientes onde se procura mais a qualidade do que o
controle da banda.
Músicas e tons podem ser usados através desse codec. (PIMENTA, 2010)
1.3.8.2 G.729
O G.729 é um dos protocolos que mais bem equilibram a utilização de banda
e a qualidade de chamada. (DEVEL, 2012)
O G.729 codifica o sinal em trechos de 10ms perdendo ainda cerca de 5ms para execução do algoritmo, resultando em um delay esperado de 15ms por frame. Música e tons (DTMF e fax, por exemplo) não podem ser transportados por esse codec [...] O padrão opera a uma taxa de 8 kbit/s (8 bytes por quadro), no entanto existem extensões que podem diminuir ou aumentar esta taxa. Utiliza como algoritmo de codificação e decodificação o CS-ACELP (Conjugate-Structure Algebraic Code Excited Linear Prediction), uma extensão do ACELP. Além disso, o presente codec dá suporte a áudio e vídeo conferência. (PIMENTA, 2010, p.4)
Uma ligação comum consome cerca de 64Kbps de banda. O G.729 faz com
que esse números seja reduzido para 8Kbps. (ASTERISK, 2013)
1.3.8.3 G.723.1
Possui como sua principal característica precisar de pouca banda para fazer o
transporte de pacotes RTP, aproximadamente 20kbps:
O G.723.1 codifica o sinal em trechos de 30ms, perdendo ainda cerca de 7.5ms para execução do algoritmo, resultando em um delay esperado de 37.5ms por frame. Música e tons (DTMF e fax, por exemplo) não podem ser transportados por esse codec. [...] Este codec foi regulamentado pela ITU-T em 1995, sua principal característica é a necessidade de uma banda pequena para transportar os pacotes RTP (cerca de 20kbps), o esforço computacional para executá-lo fica em torno de 16MIPS ou 2.2 kbytes de RAM para codificar. (PIMENTA, 2010, p.4)
Quando o objetivo é qualidade, esse codec não é recomendado. (DEVEL,
33 2012)
1.4 EVOLUÇÕES DA UTILIZAÇÃO DA TECNOLOGIA VOIP
Existem hardwares, como ATAs e telefones IP, que permitem o uso da
tecnologia VoIP longe dos computadores confortavelmente (INFO, 2006), facilidade
tal que ajudou, ainda mais, para a difusão de tal tecnologia.
(...) Pesquisa INFO “As 100 empresas mais ligadas do Brasil”, realizada em março de 2006, revelou que 86% das corporações que mais utilizam
tecnologia no país já aderiram ao VoIP. Nas pequenas e médias empresas,
no entanto, a realidade é outra. Um levantamento do Yankee Group, feito em julho do ano passado, mostrou que a penetração dessa tecnologia ainda é baixa em companhias desse porte. Segundo a pesquisa, apenas 14% das pequenas empresas e 17% das de médio porte utilizam alguma solução de
VoIP. E para que? A maioria para substituir as ligações convencionais de
longa distância, nacionais e internacionais. (INFO, 2006, p.12)
1.5 QOS
Quality of Service (QoS) é uma característica definida pela ISO como “o efeito
coletivo do desempenho de um serviço, o qual determina o grau de satisfação de um
usuário do serviço.” (CRISTOFOLI; JUNIOR; FEITEIRA, 2006, p.10)
A QoS é uma propriedade que varia em relação ao serviço. Existem serviços
onde que requerem uma alta qualidade de serviço. Para melhor compreensão dessa
afirmação, ao se imaginar um banco, onde uma pessoa liga para solicitar
determinado valor de crédito, faz-se necessário que se tenha uma excelente
qualidade na comunicação, já que com ruídos ou falhas na ligação, o crédito poderia
virar débito, o valor poderia ser alterado, enfim, poderia acontecer qualquer situação
desagradável. (COLCHER et al., 2005)
Tanenbaum (2003) define como os principais parâmetros para QoS os
seguintes: confiabilidade, retardo, flutuação e largura de banda. E ainda relaciona
esses parâmetros com alguns serviços, exibe as exigências que cada tipo de serviço
exige em relação à qualidade de serviço de uma determinada rede, conforme é visto
no quadro 1.1. Os tópicos de 1.5.1 à 1.5.4 fazem uma análise deste quadro.
34 Quadro 1.2 A rigidez dos requisitos de QoS
Aplicação Confiabili-
dade Retardo Flutuação
Largura de
banda
Correio eletrônico Alta Baixa Baixa Baixa
Transferência de
arquivos Alta Baixa Baixa Média
Acesso à Web Alta Média Baixa Média
Login remoto Alta Média Média Baixa
Áudio por demanda Baixa Baixa Alta Média
Vídeo por demanda Baixa Baixa Alta Alta
Telefonia Baixa Alta Alta Baixa
Videoconferência Baixa Alta Alta Alta
Fonte: Tanenbaum, 2003
1.5.1 Confiabilidade
As quatro primeiras linhas do quadro 1.1 correspondem a serviços que
precisam que cada bit seja entregue de forma correta, ou seja, em uma transferência
de arquivos, por exemplo, caso exista a inversão de algum bit, o arquivo que
chegará à máquina destino não será o mesmo que saiu da máquina de origem. As
quatro últimas linhas correspondem a serviços que podem tolerar esse tipo de falha
(áudio/ vídeo), porque caso alguma palavra se perca em uma videoconferência, por
exemplo, não haverá tanto problema, a prioridade para esse tipo de serviço é que
ele continue sendo executado em tempo real, ou seja, ele não pode parar e ficar
conferindo a chegada individual dos pacotes. Isso iria gerar uma grande delay na
execução do serviço, o que não compensaria. (TANENBAUM, 2003)
1.5.2 Retardo (atraso)
Tempo transcorrido do envio de uma mensagem por uma máquina de origem
para uma máquina destino. Os serviços que mais sofrem com o retardo de uma rede
35 são os serviços de telefonia e de videoconferência, pois trabalham em tempo real,
possuem requisitos estritos de retardo (TANENBAUM, 2003). Junior (2005) define o
atraso (sobre voz) como o tempo em que a voz é pronunciada até o momento em
que é produzida, o que pode ser verificado na figura 1.7.
Figura 1.7 – Atraso de pacotes Fonte: Junior, 2005, p.72. Modificada pelo autor.
1.5.3 Flutuação
Termo também conhecido como oscilação. Os serviços mais afetados por
esse tipo de problema na rede são os de áudio e vídeo por demanda, telefonia e
videoconferência. Os de áudio e vídeo, por exemplo, se a pessoa estiver assistindo
a algum filme através da rede, se os pacotes possuírem um delay de forma
uniforme, ou seja, se cada pacote chegar com um atraso de 2 segundos, a pessoa
não irá nem mesmo notar a presença de tal atraso. Mas já com a oscilação da
transmissão, alguns pacotes chegando na frente de outros e a execução ocorrendo
em tempo de chegada, isso ficaria terrível. Problema semelhante se dá aos serviços
de telefonia e de videoconferência. (TANENBAUM ,2003)
36
1.5.4 Largura de banda (Throughput)
É um parâmetro de cálculo de bytes transmitidos por segundo, dentro de certo
intervalo de tempo. Ao envolver serviços que trabalham com vídeo, a largura de
banda deve ser verificada, enquanto que para acessar um serviço de correio
eletrônico ou para fazer uso de um serviço de telefonia, não é necessária tanta
banda disponível. (TANENBAUM, 2003)
1.5.5 Retardamento
Retardamento no estabelecimento de conexão: é o tempo que existe entre a
solicitação de uma conexão de transporte e o recebimento de sua confirmação pelo
usuário do serviço de transporte, de forma que, quanto menor o retardo, melhor o
serviço oferecido.
1.5.6 Probabilidade de falhas na conexão
É a chance que existe de ocorrer falha no momento do estabelecimento da
conexão, e assim, a conexão não acontecer dentro de um período máximo definido.
Pode acontecer por causa de um congestionamento na rede, por exemplo.
1.5.7 Taxa de erro residual
Valor calculado com base no número de mensagens perdidas ou corrompidas
em uma porcentagem do total de mensagens enviadas. Teoricamente, esse valor
deveria ser zero, na prática, pode assumir um valor baixo. Esse valor pode ser
atenuado por causa de chuva, algum outro roteador trabalhando na mesma
frequência, etc.
1.5.8 Proteção
Possibilita especificar o interesse na proteção da informação, como por
37 exemplo, atribuir permissão de somente leitura, leitura e escrita, etc.
1.5.9 Prioridade de serviço
Oferece ao usuário maneiras para especificar quais conexões e serviços são
mais importantes do que outros, e em caso de congestionamento, que o serviço de
maior importância obtenha prioridade.
38
2 MATERIAIS E MÉTODOS
A figura 2.1 representa um sistema Asterisk em funcionamento (I). O servidor
Asterisk faz a conexão entre o serviço de telefonia convencional (II) ou /e a internet
(III) e o roteador (IV), que por sua vez faz a conexão entre os clientes IPs (V), que
podem ser hardware (telefones IPs) ou software (softphone, como o Skype).
Figura 2.1 – Representação de um sistema Asterisk Fonte: Elaborada pelos autores, 2012.
2.1 ASTERISK
O Asterisk foi o software escolhido para implementação deste trabalho. No
capítulo 3 é feita uma análise com o Asterisk e outros softwares.
O ambiente é tudo aquilo que não faz parte necessariamente do servidor
Asterisk, mas que de uma forma ou de outra contribui para o seu perfeito
comportamento. Algumas questões precisam ser verificadas no momento da escolha
do hardware: (MEGGELEN; SMITH; MADSEN, 2005)
Qual o número máximo de conexões que o sistema está preparado para
receber?
39
Serão permitidas conferências? Se sim, qual o nível de qualidade que
será esperado?
2.2 DEFINIÇÃO DE HARDWARE
Como neste estudo de caso será elaborado um sistema Asterisk visando
apenas o uso de ligações telefônicas através de tecnologia VoIP, com o propósito de
redução de custos, logicamente buscando a melhor qualidade possível, não se faz
necessário um servidor com bastante poder de processamento.
O quadro 2.2 possibilita uma base para escolha de hardware no momento de
implementação de um servidor Asterisk.
Na escolha de processador, é interessante saber que um dos componentes
que constituem a Central Processing Unit (CPU) é a Floating-Point Unit (FPU) que
determina a eficiência com que uma quantidade de complexas computações
matemáticas será processada. Como o Asterisk geralmente envolve uma grande
quantidade de cálculos matemáticos, a FPU é um parâmetro que deve ser
considerado na aquisição de um processador. (MEGGELEN; SMITH; MADSEN,
2005)
Quadro 2.1 Requisitos de sistema
Finalidade Número de canais Mínimo recomendado
Sistema de teste RAM Não mais que 5 400 MHz x86, 256 MB
Escritório pequeno 5 até 10 1 GHz x86, 512 MB RAM
Pequeno sistema
empresarial Até 15 3 GHz x86, 1 GB RAM
Médio a grande
sistema Mais de 15
Dupla CPU, possivelmente múltiplos
servidores em arquitetura distribuída
Fonte: MEGGELEN; SMITH; MADSEN, 2005, p.7.
Para escolher placa-mãe, é bom evitar utilizar placas que incorporem
componentes de áudio e vídeo, pois sua qualidade pode ser comprometida. Para
escolher componentes de fonte de alimentação, é bastante importante ter em mente
que eles representam sim um fator importante na qualidade do sistema. O Asterisk
40 não faz com que o sistema consuma muita energia, porém ele é um aplicativo
bastante sensível à qualidade de energia que recebe. Em uma escolha errada na
aquisição desse componente pode fazer com que um sistema de alta qualidade
trabalhe com baixo desempenho, enquanto que um personnal computer (PC) barato
pode ter bons resultados se trabalhar com uma excelente fonte de alimentação, uma
vez que a alimentação de determinado sistema não pode somente fornecer a
energia necessária para execução de suas tarefas, mas sim linhas de sinal limpas e
estáveis para as tensões que o sistema possa precisar. (MEGGELEN; SMITH;
MADSEN, 2005)
A Random Access Memory (memória RAM) armazena temporariamente os
dados que estão no disco rígido, assim o processador pode ter acesso a eles de
forma mais rápida. Quanto menor for a RAM, mais dados o processador irá buscar
no disco rígido, o que é um processo que toma muito mais tempo do que quando
esses dados estão na memória. (UOL, 2013b)
O Asterisk utiliza o processador do servidor para processar os canais de voz,
ao invés de ter um Digital Signal Processor (DSP) que se dedicaria a cada canal.
Enquanto isto possibilita que o custo seja menor de alguma forma, torna o sistema
dependente da performance do processador. Portanto, usar o processador do
servidor para processar o áudio é algo condenável, segundo Gonçalves (2008).
O computador recebe o “zero” e o “um” binário por diferenças de tensão
mínimas, por isso, condições ruins de energia, como falhas de aterramento e ruídos
elétricos, podem causar grandes problemas ao sistema. Existem estimativas que
apontam que mais de 80% dos problemas não explicados de computadores, possam
vir da qualidade de alimentação. É também interessante atentar para algumas
características do local em que o sistema irá trabalhar, entre elas: (MEGGELEN;
SMITH; MADSEN, 2005)
Calor: mudanças de temperatura podem ocasionar condensações e
outras alterações danosas. Quanto mais frio o ambiente, melhor.
Limpeza: poeira em excesso em alguns locais do servidor podem tampar
a entrada de ar, aumentando os problemas causados pelo primeiro item.
Um segundo problema é que na poeira podem existir níveis de metal que,
em quantidades significativas, podem atrapalhar no recebimento de sinal
ou mesmo levar a um curto circuito do dispositivo.
41
Umidade: a primeira regra para a instalação de componentes eletrônicos,
principalmente quando forem da mesma importância de um servidor, é
não instalar em locais com alta umidade. A água, presente no ar, é muito
danosa para a eletrônica, em primeiro lugar, por ser um catalisador para a
corrosão. Em segundo lugar, ela é condutora, ela pode causar curtos
circuitos também.
Conforme mostra a figura 2.2, a arquitetura básica do Asterisk é formada por
quatro Application Programming Interfaces (APIs), sendo a API de canais, a API de
tradução de codecs, a API de aplicações Asterisk e a API de formato de arquivo
Asterisk. (NOBRE, 2013)
O canal é equivalente a uma linha telefônica na forma de circuito de voz
digital, segundo Nobre (2013) e Gonçalves (2008). A API de canal manipula o tipo
de conexões que o emissor de uma chamada realiza, podendo ser uma conexão
VoIP ou de outra tecnologia. (SOUSA, 2008)
Figura 2.2 – Arquitetura do Asterisk Fonte: Gonçalves, 2008.
A API de tradução de codecs carrega os módulos de codecs, possibilitando a
tradução do sinal de voz para outro formato desejado. Existem vários formatos de
42 codificação de áudio como o GSM, G.711, G.722, mp3, dentre outros. (SOUSA,
2008)
API de aplicações Asterisk possibilita que várias aplicações como chamadas
em conferência, transmissão de dados, chamada em espera, dentre outras, sejam
carregadas a partir de módulos que correspondem à aplicação. (SOUSA, 2008)
A API de formato de arquivos possibilita a manipulação de arquivos de
diversos formatos para leitura e escrita, e também para armazenamento de dados
fisicamente no sistema. Arquivos de áudio podem ser utilizados como toques de
chamada, para música em espera ou para utilizar no voice mail. Ainda permite ler e
reproduzir sons em diferentes formatos, dentre os quais: WAV, AU, e MP3. (SOUSA,
2008)
2.3 TERMINAIS UTILIZADORES
Existem vários tipos de terminais utilizadores: (SOUSA, 2008)
Softphone: são programas instalados em um computador que o
permitem fazer uso dos serviços VoIP. Além do programa, alto
falantes, microfone e placa de som se fazer necessários, atuando
como a parte física do telefone. Seu funcionamento é ilustrado na
figura 1.1 desse trabalho.
Telefone IP: Ao invés de possuírem um conector RJ-11, possuem um
RJ-45 Ethernet ou USB. Podem ser conectados de forma direta ao
roteador e possuem toda a parte de hardware e software necessária
para realizar uma chamada de voz sobre IP. Seu funcionamento é
ilustrado na figura 1.2 desse trabalho.
ATA: Para telefones comuns, é possível usar um ATA, que é um
adaptador que converte sinais analógicos para digitais. Seu
funcionamento é ilustrado na figura 1.3 desse trabalho.
Então existe a possibilidade de que a organização escolha a estrutura que
possa melhor se adequar a ela.
43
3 ANÁLISE DE SOFTWARES
A seguir são apresentadas algumas características dos principais softwares
para softphones e também para servidores. Alguns conceitos que devem ser
tratados para compreensão do quadro 3.1:
Open Source (código aberto): Também conhecidos como softwares livres.
São aqueles que são distribuídos sob licença onde é permitido que o código do
programa seja compartilhado, visto e modificado por outros usuários e organizações
(COREDNA, 2009), além de serem completamente gratuitos. (UOL, 2012a)
Closed Source (código fechado): Softwares proprietários distribuídos sob
licença para usuários autorizados com restrições de modificações, cópias e
republicações. (COREDNA, 2009)
Freeware: Qualquer software que seja gratuito. Não possui restrições quanto
ao tempo de uso que o usuário pode ter (alguns softwares permitem sua utilização
por alguns dias ou meses) ou em relação às suas funcionalidades (alguns softwares
possuem versões gratuitas que não acompanham todas as suas funcionalidades)
(UOL, 2012a). Um programa licenciado como freeware não é necessariamente um
software livre, ou seja, pode possuir código fechado e licenças restritivas.
GNU GPL: GNU General Public License (GPL) é um tipo de licença para
softwares. Sua intenção é garantir a liberdade do usuário em compartilhar e mudar
todas as versões de um programa. (GNU, 2007)
3.1 APLICAÇÕES DE SOFTPHONES
Quadro 3.1 Análise de aplicações para softphones
Software Compatibilidade de
S.O Licença
Compatibilidade de
protocolos
Linphone
Linux, Windows, Mac
OS, Android, iPhone,
BlackBerry
GPL/ Software livre SIP
44
Skype
Linux, Mac OS X,
Windows 2000/ XP/
Vista/ 7/ Mobile,
BREW, Android,
iPhone, PSP
Freeware; Closed
source; Software
proprietário
Protocolo proprietário
P2P
Google Talk Linux, Windows
Freeware; Closed
Source; Software
proprietário
XMPP
Cisco IP
Communicator Windows
Closed Source;
Software proprietário
SCCP (Skinny), SIP,
TFTP
X Lite Mac OS, Windows,
(Linux)
Freeware, Closed
Source SIP, STUN, ICE
Ekiga Linux, Windows,
Open Solaris GPL
SIP, H.323, H.263,
H.264/MPEG-4 AVC,
STUN, Theora,
Zeroconf
3CX Android, iOS,
Windows
Freeware, Closed
Source SIP
Fonte: Elaborada pelos autores, 2013.
3.1.1 Linphone
É um software gratuito que possibilita a comunicação através de voz, vídeo e
mensagem instantânea através da internet.
A figura 3.1 exibe a interface bastante amigável do Linphone para desktop.
Com ele é possível se comunicar livremente com as pessoas pela internet, através
de voz, vídeo e mensagens instantâneas. É um software que faz uso do protocolo
que é um padrão aberto de telefonia, o SIP. (LINPHONE, 2010)
É possível utilizá-lo com qualquer operador VoIP SIP. É um software gratuito
(open source) que pode ser baixado e redistribuído livremente. (LINPHONE, 2010)
45
Figura 3.1 – Interface Linphone para desktop Fonte: Linphone, 2010.
3.1.2 Skype
No dia 10 de maio de 2011 a gigante do mundo da informática, Microsoft,
comprou a empresa Skype, pelo valor de 8,5 bilhões de dólares. Depois dessa
aquisição, muitos chegaram a acreditar que a Microsoft iria fazer grandes mudanças
no software (que vem oferecendo recursos gratuitos desde 2003), como fazer com
que ele não fosse mais gratuito ou tornar ele exclusivo para plataformas Windows.
(TERRA, 2011)
Utiliza um modelo peer-to-peer (ponto a ponto) de comunicação (BARBOSA
et al. 2007). Quando se possui Skype em dois computadores, a ligação é feita
gratuitamente. Já para poder ligar para números fixos ou celulares, ou mesmo para
o Skype possuir um número que possa receber ligações deles, é necessário pagar
(TERRA, 2011). A figura 3.2 apresenta a interface do Skype para desktop.
O número de usuários em 2011 era de aproximadamente 170 milhões, e esse
mesmo número de usuários gastou cerca de 207 bilhões de minutos em conversas
através do Skype no ano de 2010. (TERRA, 2011)
46
Figura 3.2 – Interface Skype para desktop Fonte: Skype, 2013 – elaborada pelos autores
3.1.3 Google Talk
Figura 3.3 – Interface Google Talk para desktop Fonte: TechTudo, 2013.
47
A figura 3.3 e a 3.4 são telas do Google Talk. A primeira mostra a tela
principal, onde o usuário pode ver os contatos online, dentre outras coisas. A
segunda é a tela inicial do programa, onde à direita o usuário se identifica com login
e senha, e à esquerda é uma janela de configuração do programa que está aberta,
para ilustrar a simplicidade de configuração que o aplicativo oferece.
Usa o protocolo de comunicação XMPP, que antes era conhecido como
Jabber. Da mesma forma que o Skype, o Google Talk disponibiliza chamadas
gratuitas para seus usuários, inclusive de vídeo. (TECHTUDO, 2013) Trabalha na
forma de cliente-servidor. (BARBOSA et al. 2007)
Figura 3.4 – Interface Google Talk para desktop Fonte: TechTudo, 2013.
Ele não possui recursos mais sofisticados, como conferência com várias
pessoas ou compartilhamento do que está sendo visto no monitor, porém, oferece
serviços de transferência de arquivos e secretária eletrônica. Se o contato com o
qual o usuário quer se conectar não estiver online, é possível gravar uma mensagem
que então será entregue por e-mail para ele. (TECHTUDO, 2013)
48 3.1.4 CISCO IP Communicator
O CISCO IP Communicator é uma aplicação para desktop que transforma o
computador em um “CISCO Unified IP Phone”, permitindo ao usuário realizar,
receber e até mesmo manusear ligações de qualquer local aonde possa se conectar
na rede corporativa. Por exemplo, se você está em uma viagem de negócios, o
usuário pode usar o comunicador IP para receber ligações e checar mensagens de
voz enquanto estiver online. Ou, se estiver trabalhando de casa, companheiros de
trabalho podem te achar ligando para seu número do trabalho. (CISCO, 2013)
O CISCO IP Communicator trabalha como um telefone tradicional, permitindo
ao usuário fazer e receber chamadas telefônicas, colocar chamadas em espera,
números de discagem rápida, transferências de chamadas, dentre outras coisas. Ele
também trabalha com “CISCO Unified Video Advantage” para melhorar a sua
comunicação com vídeo. Logicamente, sua operação pode variar dependendo do
agente processador de chamadas e da configuração do sistema de telefonia.
(CISCO, 2013)
Figura 3.5 CISCO IP Communicator Fonte: Cisco, 2013.
49
Alguns recursos (CISCO, 2013): gravação de chamadas, múltiplas listas
telefônicas; desvio de chamadas; três vias para chamadas (conferência); mobilidade
de extensão; indicador de mensagem em espera.
3.1.5 X-Lite
É um software desenvolvido pela CounterPath Corporation. Oferece suporte a
correio de voz. Compatibilidade com Windows XP, 7 e 8 (apenas modo desktop), e
também com Mac OS, da versão 10.6 para cima, ainda assim com desempenho
reduzido. (COUNTERPATH, 2013)
Sua interface e mais detalhes são apresentados no capítulo 4, onde ele é
utilizado na implementação deste estudo.
Figura 3.6 – Tela de configuração e interface do softphone 3CX no Android Fonte: 3CX, 2013.
3.1.6 Ekiga
Também conhecido como GnomeMeeting, permite vídeo conferência e envio
de mensagens instantâneas. Suporta áudio HD e vídeo conferência de qualidade.
50 (Ekiga, 2013)
Sua interface e mais detalhes são apresentados no capítulo 4, onde ele é
utilizado na implementação deste estudo.
3.1.7 3CX
Uma ótima opção para softphones gratuitos que trabalham com o protocolo
SIP. Este software foi utilizado na implementação deste trabalho, sua interface é
exibida na figura 3.6. (3CX, 2013)
3.2 SOFTWARE PARA SERVIDORES
O software mais conhecido no mercado talvez seja o Asterisk PBX. Porém, o
quadro 3.2 apresenta uma breve comparação de algumas características entre eles
para que se conheça melhor as vantagens e desvantagens, compatibilidade e
algumas outras características dos principais softwares para servidores existentes
no mercado, e não apenas do Asterisk.
Quadro 3.2 - Análise de softwares para servidores
Compatibilidade de
S.O.
Licença
Compatibilidade de
protocolos
Asterisk PBX Linux/BSD, Mac OS
X, Solaris GPL/ Software livre SIP, IAX, H323
Elastix Linux GPL/ software livre SIP, IAX, H323,
XMPP
51
FreeSwitch Linux/BSD, Mac OS
X, Solaris, Windows
Mozilla Public
License/ Software
livre
SIP, NAT-PMP,
STUN, SIMPLE,
XMPP, Google Talk
(Jingle), IAX, H.323,
MRCP, RSS, Skype
SIP
Communicator
Linux, Mac, Windows
(necessário suporte a
Java)
LGPL/ Software livre
SIP/SIMPLE, MSNP,
AIM, ICQ, MobileMe,
XMPP/Jingle
Fonte: Elaborada pelos autores, 2013.
O Asterisk é um software de código aberto (ASTERISK, 2013) (MEGGELEN;
SMITH; MADSEN, 2005) que implementa recursos encontrados em um PABX
comum, fazendo uso de VoIP. Utiliza os protocolos SIP, MGCP e IAX para
sinalização de chamadas telefônicas sobre IP. (MEGGELEN; SMITH; MADSEN,
2005)
Possui como funcionalidades sala de conferências, gravação de chamadas,
transferência de ligações, estacionamento de chamadas, filas de atendimento,
correio de voz, música em espera, monitoramento de chamadas (onde é mesmo
possível criar essas interfaces através de Java ou PHP), uso de banco de dados,
geração de bilhetagem. (NOBRE, 2013)
52
4 IMPLEMENTAÇÃO
Pela compatibilidade com o Asterisk, o sistema operacional escolhido foi um
ambiente Linux. O Asterisk possui uma distribuição chamada TrixBox, apresentada
na seção 4.2. A porta padrão do servidor Asterisk é a 5060.
4.1 CONFIGURAÇÃO DO AMBIENTE
O ambiente é descrito na figura 4.1 e conta com uma máquina física de
processador Core i3 2.27GHz, 3 GB de memória RAM DDR3 533MHz com o
sistema operacional Windows 7 Ultimate de 64 bits.
Figura 4.1 – Ambiente de implementação Fonte: Elaborada pelos autores, 2013.
O software de virtualização utilizado é o Oracle Virtual Box, disponível para
download em Virtual Box (2013). É um software Open Source sobre licença GNU.
(VIRTUAL BOX, 2013)
A versão do Virtual Box utilizada nesse estudo é a 4.1.4r74291. Foi verificada
a existência de novas versões, porém a escolha por essa versão antiga se manteve
53 para evitar possíveis incompatibilidades ou bugs. As três máquinas virtuais foram
configuradas inicialmente com 512 MB de memória RAM, e receberam os nomes
TCC TrixBox 2.8 (servidor do Asterisk), TCC Maq 1 (XUbuntu) e TCC Maq 2
(Windows XP).
A análise de softwares para softphones feita no item 3.1 mostra que existem
muitas opções gratuitas que apresentam recursos suficientes para projetos mais
básicos. Para este trabalho foram escolhidos os softwares X-lite, Linphone, Ekiga e
3CX.
4.2 INSTALAÇÃO DO TRIXBOX
O TrixBox é uma distribuição do Asterisk que pode ser obtida em Baixaki
(2013), a versão utilizada foi a 2.8. A imagem ISO que o site oferece faz uma rápida
instalação de uma distribuição Linux (Cent OS 5.5), do Asterisk e ainda fornece uma
interface web bastante amigável. (BAIXAKI, 2013)
Figura 4.2 – Criação de máquina virtual TrixBox Fonte: VirtualBox, 2010.
Na instalação do TrixBox no VirtualBox, é selecionada a opção Linux como
54
Sistema Operacional, e versão “Other Linux”, como indica a Figura 4.2. Após
isso, configuração de HD padrão da VirtualBox (8 GB, mas com alocação dinâmica)
e memória 1024 MB.
Na tela inicial da instalação, algumas opções são oferecidas, mas como a
intenção é apenas a instalação, sem nenhuma modificação, aperta-se “enter” e dá-
se início ao processo, mas é necessário cuidado, pois ao pressionar essa tecla os
arquivos serão todos removidos do HD.
Depois, algumas perguntas são feitas, como o tipo de teclado que será
utilizado. Em nosso estudo foi selecionado o “abnt 2”, e logo após, a região, que foi
selecionada “America/Sao_Paulo”.
Na próxima tela, o sistema pede uma senha para ser cadastrada. A senha
“admin1” foi utilizada nesta etapa.
4.3 INICIALIZAÇÃO DO TRIXBOX
Na tela inicial, é feito o login com as credenciais de root. É então acessado o
seu respectivo arquivo de configuração, que neste trabalho é:
/etc/sysconfig/network-scripts/ifcfg-eth0. Alguns campos foram alterados, como
mostra a figura 4.3.
É importante verificar se a respectiva interface de rede utilizada é a eth0
realmente (campo DEVICE), ou se deve receber um IP através do Dynamic Host
Configuration Protocol (DHCP) (campo BOOTPROTO), se o endereço MAC da placa
de rede é o que está preenchido (HWADDR), ou se a interface de rede deve ser
inicializada no momento do boot (ONBOOT).
Nesse estudo, os campos BOOTPROTO e DHCPCLASS foram comentados,
e logo após, inserido um novo BOOTPROTO que recebe o valor “static”, pois o IP
do servidor Asterisk para este estudo é estático. IPADDR logo em seguida recebe o
IP pelo qual o servidor deve atender. NETMASK é o campo que deve receber a
respectiva máscara do endereço IP. Após o procedimento de instalação do TrixBox
na máquina virtual TCC TrixBox 2.8, através da máquina real, foram feitos testes
para simplesmente verificar se a rede se comunica adequadamente, através do
prompt de comando com o ping.
55
Figura 4.3 – Configuração de rede TrixBox Fonte: Elaborada pelos autores, 2013.
Figura 4.4 – Tela de login TrixBox Fonte: Elaborada pelos autores, 2013.
Para dar início ao processo de configuração do TrixBox através de um
navegador web, é digitado o IP definido através da máquina física. O login e
56 password padrões do TrixBox são, respectivamente, “maint” e “password”, que serão
solicitados assim que se clicar em switch, localizado no canto superior direito, para
alternar do modo de usuário para administrador, conforme ilustra a figura 4.4.
Logicamente, essa senha não pode permanecer padrão em um ambiente real.
Para alterar a senha padrão do TrixBox, basta executar o comando passwd-maint.
Logo em seguida, será solicitada a senha e depois sua confirmação, que nesse
estudo foi “admin1”, da mesma forma que a senha do usuário root.
No momento da definição da senha neste estudo foi exibida a mensagem
“BAD PASSWORD: it is based on a dictionary word”, ou seja, ela é baseada em uma
palavra que existe no dicionário das principais senhas estabelecidas por usuários,
tais dicionários de palavras são utilizados por hackers no momento de fazer força
bruta para quebra de senha. O sistema aceita a senha, porém avisa sua
vulnerabilidade.
4.4 CRIAÇÃO DE RAMAIS
De volta para as configurações através do navegador Web, o processo de
criação de ramais se inicia com a criação de usuários SIP. Para dar início a tal
criação, clica-se em PBX, e depois PBX settings, na aba vertical que é aberta.
No lado esquerdo da tela, existem algumas opções dispostas em um menu
vertical. Na guia Basic, existe a opção Extensions. Após acessar essa opção, é
exibido um campo com o nome de Device. A opção padrão que se encontra nele foi
então mantida (Generic SIP Device).
A nova tela a ser exibida será Add SIP Extension. Em User Extension é
definido o número do ramal. Em Display Name, é definido o nome do usuário. Um
pouco mais abaixo, em Secret, é definida a senha.
Em voicemail & directory, no campo status, o valor é definido para Enabled,
e logo após, o campo voicemail password recebe a senha para habilitar caixa postal
e e-mail address recebe o e-mail do usuário, onde serão encaminhadas essas
mensagens. Email Attachment precisa ser definido para yes, para que as
mensagens de voz cheguem ao e-mail.
No ramal 2000 o usuário Fernando foi criado, com senha 123456, em
seguida é adicionado um e-mail e a senha da caixa postal também foi definida como
57
123456. Em seguida, e-mail attachment foi definido como yes. No final da criação
de usuário, aparece a mensagem “Apply configuration changes”, caso não se clique
nela após cada modificação feita no sistema, as alterações serão perdidas.
De volta na tela PBX settings, é exibido em notice, que fica em System
Status, a mensagem “1 extension/trunk has weak secret”. Isso quer dizer que a
senha estabelecida (123456) é fraca.
No ramal 2001 o usuário Paulo foi criado, com senha 654321, é adicionado
um e-mail novamente, a senha da caixa postal foi mantida a mesma do usuário,
654321. E e-mail attachment foi definido também como yes.
Para que seja possível testar algumas funcionalidades adicionais, como
conferências e divisão por grupos de atendimento, alguns outros ramais foram
criados. São os seguintes: 2010 – Ricardo; 2012 – Jaque; 2013 – Felipe.
4.5 INSTALAÇÃO E CONFIGURAÇÃO DOS SOFTPHONES
Nesta seção são apresentados os parâmetros para configuração dos
softphones que foram utilizados neste trabalho.
4.5.1 Instalação do Ekiga no Windows 7 CONTINUAR COURIER DAQUI
A versão para Windows do Ekiga foi utilizada durantes os testes, pois é um
sistema bastante utilizado por vários usuários. Na máquina física, foi instalado o
softphone Ekiga. Logo após sua instalação, é exibido um assistente que guia o
usuário através dos passos para configuração. Caso o usuário desejar, é possível
pular essa etapa e depois configurar através do menu “Edit” e em seguida
“Accounts”.
É então exibida uma tela, conforme mostra a figura 4.5:
Em Name, foi definido o nome do usuário “Fernando”. Em Registrar, foi
definido o IP do servidor Asterisk “192.168.1.101”. User e Authentication user
foram definidos os números do ramal (“2000”). Password definido na criação do
usuário SIP, “123456”.
58
Figura 4.5 – Tela de configuração de contas do Ekiga no Windows 7 Fonte: Elaborada pelos autores, 2013.
4.5.2 Instalação do Linphone no XUbuntu
Na máquina 1 (XUbuntu), foi instalado o Linphone. Ao acessar o menu
“Options” e em seguida “Preferências”, na aba “Manage SIP Accounts” algumas
configurações precisam ser feitas, o campo “Your display name” recebeu “Paulo” e
“User name” 2001, conforme mostra a figura 4.6:
4.5.3 Instalação do X-Lite no Windows XP
Na máquina 2 (Windows XP), foi instalado o softphone X-Lite, que ficou então
registrado como Ricardo.
A figura 4.7, que é exibida através do menu de “SIP Account Settings” e
depois “Properties”, mostra como ficou a configuração.
“Display name” recebeu o nome de usuário SIP (Ricardo), “User name”
recebeu o ramal (2010), “Password” recebeu a senha definida anteriormente na
criação do ramal 2010, senha 123456. “Domain” recebe o IP do servidor Asterisk
(192.168.1.101).
59
Figura 4.6 – Tela de configuração de contas do Linphone no XUbuntu Fonte: Elaborada pelos autores, 2013.
Figura 4.7 – Tela de configuração de contas do X-Lite no Windows XP Fonte: Elaborada pelos autores, 2013.
60 4.5.4 Instalação do 3CX Phone no Android
Após a instalação, os campos User e ID receberam “2012” (usuário
Jaqueline), password “123456”, Local PBX IP “192.168.1.101”. Display Name
recebeu “Jaqueline”.
4.6 CRIAÇÃO DE GRUPOS DE CHAMADAS
Este tópico trata da gravação dos sons utilizados nos grupos de chamadas,
da inserção dos ramais que pertencem a um determinado grupo e também da ação
que deve ocorrer caso a ligação não seja atendida.
4.6.1 Gravação e upload de sons usados nos grupos de chamadas
Primeiramente, os sons que são ouvidos pelo usuário antes de uma ligação
para determinado grupo foram elaborados. Para tal, clica-se na opção System
Recordings, a penúltima opção do menu vertical que fica ao lado esquerdo da tela
de PBX settings.
É então possível adicionar um som através de uma lista de sons que o
Asterisk já carrega consigo, ou então fazer upload. Um detalhe bastante importante
nesse processo, é que o arquivo de som não pode conter as tags ID3, que são
aquelas descrições de Álbum, Faixa, Ano, que constantemente aparecem na
descrição das músicas. Para remover tais IDs, existem softwares gratuitos.
Neste estudo, a gravação do som foi feita através do próprio Asterisk. O ramal
*99 faz gravação de áudio. Após ser atendido nesse ramal, deve-se apertar * para
começar a gravar, e em seguida apertar #. E logo em seguida, no menu System
Recordings existe um campo: If you wish to make and verify recordings from your
phone, please enter your extension number here, coloca-se o número do ramal
utilizado para fazer a gravação e clica-se em go, Na nova tela, é escolhido o nome
do arquivo e então é possível armazená-lo.
Um som para o grupo de chamada “Vendas” foi gravado. É algo bastante
interessante para ser usado em uma empresa, pois enquanto o cliente aguarda, ele
pode ficar por dentro dos novos serviços, produtos e promoções que a empresa
61 oferece.
Para o grupo de chamada “Recursos Humanos”, foi adicionada uma música
(sem tags ID3), Dust in the Wind, no formato MP3. Isso é feito também em System
Recordings no campo upload, e logo após fazer o upload, um campo em step 2 é
carregado e pede para definir um nome para o arquivo, de forma que não pode
conter espaço e outros caracteres especiais.
Para definir qual música é tocada quando estiver em espera, deve-se acessar
a opção On Hold Music.
4.6.2 Criação dos grupos de chamadas
Ainda em PBX settings, no menu ao lado esquerdo existe a divisão Inbound
Call Control, e dentro dessa divisão existe Ring Groups. Ao acessar tal opção, uma
nova tela de configuração é exibida, onde então são criados os grupos: 600 –
Vendas, 601 - Recursos Humanos, 602 – Gerência, 603 - Secretaria.
Figura 4.8 – Tela de configuração de grupos de chamadas ”Vendas” no Asterisk Fonte: Elaborada pelos autores, 2013.
A figura 4.8 mostra como ficou a configuração do grupo de chamada
62 “Vendas”.
Group Description é um campo que recebe o nome do grupo. Ring Strategy é
um campo bastante importante, onde é definido se todos os ramais tocarão, ou se
tocará o primeiro que estiver disponível. Neste estudo, foi definido que todos os
ramais tocarão simultaneamente (ringall). Ring Time é o tempo máximo que irá
tocar até que alguém atenda ou então seja transferida para outra ação, em
segundos.
Extension List recebe os ramais que participarão desse grupo, no caso os
ramais 2000 e 2001 foram adicionados (Fernando e Paulo), tal separação deve ser
feita dando a tecla Enter. O campo Extension Quick Pick é uma maneira de facilitar
para o administrador do servidor Asterisk, uma vez que se existissem muitos ramais,
seria difícil memorizar qual é o ramal de quem. Através desse campo é possível
preencher os ramais que preencherão o campo Extension List através de simples
cliques, pois eles serão exibidos.
Announcement é o campo que recebe o som que irá ser reproduzido para a
pessoa que faz a ligação, antes mesmo de começar a chamar. “Vendas” é o nome
que foi dado ao som do grupo, então “Vendas” foi selecionado aqui.
CID Name Prefix é um campo importante também. Como exemplo, o ramal
2000 (Fernando). Ele faz parte do grupo Vendas (600) e do grupo Recursos
Humanos (601). Quando alguém ligar para esse usuário através do grupo de
chamada 600, a CID name prefix irá aparecer juntamente com o nome deste usuário
que fez a ligação, ou seja, é uma abreviação para que o Fernando possa identificar
se a ligação tinha o destino Vendas ou Recursos Humanos.
Destination if no answer é aonde define-se o que acontece com a chamada se
ninguém do grupo chamado atender, onde então é possível transferir para outro
ramal, para outro grupo de chamadas, ou simplesmente encerrar a ligação através
da emissão de sinal de ocupado. Para o grupo “Vendas”, a ação que ocorrerá se
ninguém atender será transferir a ligação para o ramal previamente criado:
Secretaria (603 – sua configuração é explicada logo a seguir).
Então se clica em submit changes e logo após em apply configuration
changes novamente.
O grupo de chamadas Secretaria (603) ficou com a seguinte configuração:
Ring-Group Number recebeu “603”. Group Description recebeu “Secretaria”. Ring
63
Strategy recebeu “ringall”. Ring Time recebeu “60”. Extension List: 2013
(Felipe). Announcement permaneceu None. CID name prefix foi definido como
SEC. E Destination if no answer (destino se não houver resposta) ficou definido em
terminate call (terminar ligação) como busy (ocupado).
O grupo de chamadas “Recursos Humanos” (601) foi criado da mesma forma
que o “Vendas” (600), porém com os usuários “Ricardo” (2010) e “Fernando” (2000).
O CID usado foi “RH”. Announcement recebeu “Dust_in_the_Wind” (upload da
música feito no item 4.6.1 deste trabalho). A ação quando não houver resposta será
também transferir para o ramal “Secretaria”.
O grupo de chamadas “Gerencia” (602) foi criado com o usuário “Jaqueline”.
CID recebeu “GRC”.
4.6.3 Simulação de algumas situações com grupos de chamadas
Em um teste, uma ligação é feita através do X-Lite (TCC Maq 2, ramal 2010 -
Ricardo) para o grupo 600 (Vendas). Os dois ramais estabelecidos para o grupo
tocam com sucesso. No Ekiga (Máquina real, ramal 2000) foi cancelada a ligação, e
ainda assim ela continua para o ramal do Linphone (TCC Maq 1, ramal 2001).
Logo após este primeiro teste, os dois usuários do grupo de chamadas
“Vendas” foram desligados e o ramal 2010 mais uma vez faz a ligação para o ramal
600. A ligação chegou a reproduzir o som do grupo “Vendas” e logo em seguida faz
o encaminhamento diretamente para o ramal “Secretaria”, não espera, assim, os 30
segundos definidos anteriormente para tocar aguardando resposta.
Apesar do usuário 2010 ter ligado para “Vendas”, a ligação chegou ao ramal
“Secretaria” com o CID “SEC”, a abreviação correspondente ao próprio ramal, e não
ao ramal “Vendas” que foi originalmente ligado. Para realizar tal teste, o usuário
2013 (Felipe) foi configurado provisoriamente no Android.
Em um terceiro momento de teste, o usuário 2010 (Fernando) faz uma ligação
para o ramal 602 (Gerencia). O Android apresentou com sucesso o CID “GRC” que
era esperado, já que o usuário ligou no ramal “Gerencia”.
Em um último teste sobre os grupos de chamadas, foi feita uma ligação do
Android pelo ramal 2012 (“Jaqueline”) para o ramal 600 (“Vendas”). Os resultados
foram os esperados. Antes da ligação, mais uma vez o anúncio de “Vendas” foi feito.
64 O Linphone e o Windows 7 receberam a ligação logo em seguida, ambos exibiram o
CID.
4.7 CONFERÊNCIAS
Em Internal Options & Configuration existe a opção Conferences. Ao se clicar
nessa opção, a janela add conference é aberta. Neste estudo foi simulado um ramal
utilizado para reuniões.
Conference number recebeu o ramal “3000”. Conference name recebeu
“Reuniao”. User PIN é um campo em que se define a senha para entrar na
conferência. Ele é opcional. Admin PIN é uma senha para identificar o líder da
conferência. Leader Wait (se este campo for definido como sim a conferência só irá
começar depois que o líder chegar), logo abaixo, se estiver habilitado, essa senha
Admin PIN deixa de ser opcional.
Join Message serve para transmitir alguma mensagem para o usuário antes
de entrar na conferência. É um campo bastante útil de acordo com a situação, onde
é então possível avisar os usuários sobre o que se trata a reunião, o que será
debatido, passar informações básicas e assim diminuir o fluxo de conversa e
perguntas desnecessárias.
User count serve para contar os usuários, User join/leave avisa quando algum
usuário entra ou sai da conferência. É algo bastante interessante, uma vez que
quando alguém entra precisa se identificar, e logo após as pessoas da sala ficam
sabendo que tal usuário entrou.
Music on Hold permite habilitar uma música quando um usuário estiver
sozinho na sala de conferência e Record Conference é a opção utilizada para gravar
a conferência.
No ambiente de conferência que foi criado, foi utilizada somente a opção User
join/leave, o que apresentou bons resultados.
4.8 CRIAÇÃO DE URA
A Unidade de Resposta Audível (URA) é um recurso utilizado para que seja
65 possível digitar opções no telefone no momento da ligação. Seria terrível, por
exemplo, se uma empresa multinacional precisasse centralizar todas as ligações
recebidas em secretárias que então repassariam para os setores apropriados.
A opção para tal se chama Interactive Voice Response systems (IVR) e fica
em Inbound Call Control.
Change name recebeu “Atendimento”, Announcement recebeu o áudio
“URA” gravado previamente. Timeout padrão mantido, 10 segundos. Enable direct
Dial é um campo que permite que a pessoa que faz a ligação possa discar de forma
direta o ramal desejado. Repeat loops é o número de vezes que será repetida a
mensagem
Com a URA é possível então habilitar algumas opções ao usuário, que neste
estudo serão: 1 – “Vendas”, 2 – “Recursos Humanos”, 3 –
“Gerência”, i – “Secretaria”.
Figura 4.9 – parâmetros de configuração da URA Fonte: Elaborada pelos autores, 2013.
A figura 4.9 aponta os parâmetros de configuração da URA. Opção 1:
encaminhar para o Grupo de Chamadas “Vendas <600>”. Opção 2: encaminhar para
o Grupo de Chamadas “Recursos Humanos <601>”. Opção 3: encaminhar para o
66
Grupo de Chamadas “Gerência <602>”. O parâmetro i, apontado na figura 4.9, é o
parâmetro para indicar o que fazer caso o usuário não acesse nenhuma opção do
menu, ou seja, se ele não apertar nada. Caso isso aconteça, a ligação é transferida
para o ramal “Secretaria<603>”.
Um ramal simbólico precisa ser criado para testes da URA. O ramal “9000” foi
então criado com o nome de “URA” e em seguida é clicado em Follow Me.
Nesta nova tela, não é alterada nenhuma configuração, a não ser em
destination if no answer. O campo IVR é selecionado, com o valor “Atendimento”,
que é a URA previamente criada.
Assim, o usuário disca direto para o ramal 9000, e como não é um ramal que
fica conectado em algum softphone, o usuário será encaminhado diretamente para a
URA.
67
CONCLUSÃO
Através do presente estudo percebe-se o quanto o sistema de telefonia
evoluiu nos últimos anos, e também como esses serviços se tornaram mais
acessíveis aos usuários.
A internet hoje disponibiliza muitos softphones extremamente eficazes,
gratuitos e de fácil configuração. Isso é algo que pode ser um diferencial para
empresas, pois muitas vezes existe um receio em diminuir o uso do telefone
convencional e migrar para a tecnologia VoIP.
Por exemplo, com um bom provedor de telefonia VoIP, a empresa pode
gastar uma quantia menor ou semelhante à que costumava gastar em ligações
locais, economizar ao fazer ligações interurbanas e ainda, se comparado com o
investimento em equipamentos, a empresa não precisará comprar os telefones ou
ainda dar manutenção nos mesmo, uma vez que o computador de cada usuário faz
este papel.
O Asterisk talvez seja o servidor VoIP mais conhecido no mercado, porém
existem outros softwares que aparentam ser tão bons quanto, ou ainda melhores em
determinadas situações.
Em estudos futuros, poderia ser implementado um ambiente com servidor
FreeSwitch, apresentado no capítulo 3, quadro 3.2 deste trabalho. Além de sua
compatibilidade com diversos protocolos, ele ainda possui compatibilidade com o
sistema operacional Windows, o que é um grande diferencial, já que a maioria é
voltada para ambientes Linux.
O SIP communicator faz uma integração bastante interessante do SIP com o
XAMP. Pode ser também interessante utilizá-lo de acordo com a situação.
O softphone Skype pode também ser associado ao Asterisk, mas para tal
precisa-se de uma conta Skype Business. De certa forma, seria muito interessante
buscar tal integração, já que o Skype possui um grande número de usuários. Outra
linha para continuação deste trabalho poderia ser a integração com a linha telefônica
comum.
Existem ainda os codecs de áudio de alta definição, termo conhecido como
high definition (HD), que exige mais processamento e largura de banda, e demanda
maior investimento por parte da empresa. Uma análise poderia ser feita sobre
68 cenários onde seria interessante tal aplicação, sobre quais os requisitos mínimos
para tal implementação, dentre outras coisas. Unir um caso prático de codecs de
alta definição com uma implementação de alguns itens de QoS, seria também de
grande valor.
Uma análise comparativa de valores é também um assunto interessante de
ser tratado em um trabalho futuro, fazendo assim um levantamento de quanto seria
gasto mensalmente se a empresa fizesse 100 minutos de ligações interurbanas
através do sistema de telefonia convencional e através de VoIP.
O Google Talk não foi utilizado neste trabalho por não trabalhar com o
protocolo SIP (e também pelo Asterisk não trabalhar com XMPP). Desta forma, seria
necessário a integração com um outro servidor, um cenário onde o Asterisk
possuiria um ramal para o qual o usuário discaria e então iria poder inserir o contato
do Google Talk com o qual deseja falar.
Em relação ao desempenho dos softphones, o 3CX Phone se comportou
muito bem no Android, com uma interface bastante amigável e facilidade para
transferir chamadas.
O Ekiga não é originalmente para Windows. Ele não executou muito bem
neste ambiente, apresentou diversos problemas durante a construção deste
trabalho. O Linphone apresentou ótimo desempenho sobre ambiente Linux.
Sobre o X-Lite, não há o que comentar contra. Interface bastante amigável, é
um programa leve, que captura de forma automática as alterações de hardware do
computador e ainda suporta vídeo conferência.
As principais dificuldades ao longo do trabalho foram, portanto, a utilização do
Ekiga (que fechava constantemente, sendo necessário inclusive que se abrisse o
gerenciador de tarefas e encerrasse o seu respectivo processo manualmente),
realização da configuração de rede para que todos os dispositivos pudessem se
comunicar (existiram momentos em que ocorriam falhas de placa de rede, onde elas
não eram inicializadas no momento da inicialização do sistema operacional) e os
conflitos de IP que surgiram em alguns momentos devido ao fato de que alguns
dispositivos possuíam IP estáticos, enquanto outros não.
69
REFERÊNCIAS BIBLIOGRÁFICAS
3CX. Receive and Place Wireless or 3G Calls with 3CXPhone for VoiP Providers on Android. 2013. Disponível em: <http://www.3cx.com/products/3CXPhone-for-Android/> Acessado em: 10 mai. 2013
ALECRIM, E. Tecnologia VoIP. 2005. Disponível em: <http://www.infowester.com/VoIP.php> Acessado em 09 out. 2012. ASTERISK. Get Started. 2013. Disponível em: <http://www.asterisk.org/> Acessado em: 08 abr. 2013 BAIXAKI. TrixBox. Disponível em: <http://www.baixaki.com.br/linux/download/trixbox.htm> Acessado em: 06 mai. 2013 BARBOSA, D.C.P. et al. Uma Análise Comparativa da QoS do Skype, Yahoo! Messenger e Google Talk. XXV SIMPÓSIO BRASILEIRO DE TELECOMUNICAÇÕES - SBrT 2007. RECIFE, PE2007. Disponível em: <http://www.researchgate.net/publication/231739823_Uma_Anlise_Comparativa_da_QoS_do_Skype_Yahoo!_Messenger_e_Google_Talk> Acessado em: 05 abr. 2013 CISCO. Frequently Asked Questions for Cisco IP Communicator. Disponível em: <http://www.cisco.com/en/US/docs/voice_ip_comm/cipc/8_5/english/frequently_asked_questions/b_CIPCfaq_olh.html> Acessado em: 04 mar. 2013 COLCHER, S. et al. VoIP: Voz sobre IP. 5ª Reimpressão. Rio de Janeiro: Elsevier, 2005. COREDNA. Open Source vs. Closed Source. 2009. Disponível em: <http://www.coredna.com/files/openvsclosed.coredna.pdf> Acessado em 03 abr. 2013 COUNTERPATH. X-Lite - Welcoming You to the World of Softphones. 2013. Disponível em <http://www.counterpath.com/x-lite.html> Acessado em: 02 mai. 2013 CRISTOFOLI, F.; JUNIOR, A. C. L.; FEITEIRA, C. H. VoIP: Benefícios e Implementação. 2006. Disponível em: <http://stoa.usp.br/cristofoli/files/349/1813/VOIP+-+Benef%C3%ADcios+e+Implementa%C3%A7%C3%A3o.pdf> Acessado em 01 out. 2012. CRISTOFOLI, F.; PLANTULO, V. L.; CAVALCANTI, M. Uso da voz sobre IP – Uma realidade viável. 2006. Disponível em: <http://www.aedb.br/seget/artigos06/728_Artigo%20-%20SEGeT%20-%20VoIP%20-%20Agosto%202006.pdf> Acessado em 02 nov. 2012. DEVEL. Codecs vs Consumo de Banda. 2012. Disponível em: <http://www.develsistemas.com.br/pt/component/content/article/44-noticias/120-
70 codecs-vs-consumo-de-banda.html> Acessado em: 03 abr. 2013 EKIGA. Welcome to Ekiga.org. Disponível em: <http://www.ekiga.org/> Acessado em: 04 mai. 2013 ELASTIX. Elastix Features and Functionalities. Disponível em: <http://www.elastix.org/index.php/en/product-information/features.html> Acessado em: 05 abr. 2013 FREESWITCH. Specsheet. Disponível em: <http://wiki.freeswitch.org/wiki/Specsheet> Acessado em: 06 abr. 2013 GNU. GNU GENERAL PUBLIC LICENSE, 2007. Disponível em: <http://www.gnu.org/licenses/gpl.html> Acessado em: 07 abr. 2013 GONÇALVES, F. E. Asterisk PABX – Guia de configuração, 2008. Disponível em: <http://www.VoIPexperts.com.br/FreeChapters/Portugues/FreeChapters123pt.html> Acessado em 08 mar. 2013. INFO: Exame. VOIP. Ed. Abril, v. 32, 2006. Acessado em 09 ago. 2012. INFOESCOLA. História do Telefone. 2009. Disponível em <http://www.infoescola.com/curiosidades/historia-do-telefone/> Acessado em: 20 set. 2012. JUNIOR, Voz Sobre IP – Segurança de Transmissões. 2005. Trabalho de Projeto Final de Curso (Bacharel em Ciência da Computação). Universidade Católica de Goiás. LINPHONE. About Linphone. 2010. Disponível em: <http://www.linphone.org/eng/linphone/about.html> Acessado em: 11 mai. 2013 MEGGELEN, J. V., SMITH, J., MADSEN, L.; Asterisk – O Futuro da Telefonia. Alta Books, 2005. MELO, A. F. et al.; Análise da tecnologia e impacto nas reduções de custo. 2010. Trabalho de Conclusão de Curso (Engenharia da Computação) – Instituto Nacional de Telecomunicações, Santa Rita do Sapucaí, Minas Gerais. NOBRE, V. Asterisk – parte 1 – introdução. 2012. Disponível em: <http://www.youtube.com/watch?v=HkTMRs5a9Eg> Acessado em 13 mar. 2013. PIMENTA, L. Uma comparação entre duas tecnologias: G.723.1 e G.729. 2010. Disponível em: <http://www.slideshare.net/lnpimenta/codecs-comparacao-g723-e-g729> Acessado em: 14 abr. 2013 PESQUISA.COM, Sua. Telégrafo. Disponível em: <http://www.suapesquisa.com/pesquisa/telegrafo.htm>. Acesso em: 05 jun. 2013. SEVERANCE, C.; Internet History, Technology and Security. 2012. Curso online
71 oferecido pelo Coursera, SOUSA, L. A. P. Avaliação de desempenho do PBX Asterisk. 2008. Dissertação (Mestrado em Engenharia de Redes de Computações) – Universidade Técnica de Lisboa. Disponível em: < https://dspace.ist.utl.pt/bitstream/2295/230369/1/dissertacao_asterisk_52871.pdf> Acessado em 16 abr. 2013 SOUZA, W. Protocolos VoIP. Disponível em: <http://www.brasilescola.com/informatica/protocolos-VoIP.htm> Acessado em: 26 nov. 2012 TANENBAUM, A. S. Redes de computadores. 4 ed. Rio de Janeiro: Campus, 2003. TECHTUDO. Google Talk. 2013. Disponível em: <http://www.techtudo.com.br/tudo-sobre/s/google-talk.html> Acessado em: 17 abr. 2013 TECMUNDO, Graham Bell ou Antonio Meucci: quem inventou o telefone?, 13 mar. 2012. Disponível em: <http://www.tecmundo.com.br/ciencia/20570-graham-bell-ou-antonio-meucci-quem-inventou-o-telefone-.htm> Acessado em: 20 set. 2012. TELECO, Tutoriais VoIP. Disponível em: <http://www.teleco.com.br/tutoriais/tutorialtelefoniaip/pagina_1.asp> Acessado em 19 set. 2012. TERRA Tecnologia. Análise: o que há por trás da compra do Skype pela Microsoft. 2011. Disponível em: <http://tecnologia.terra.com.br/negocios-e-ti/analise-o-que-ha-por-tras-da-compra-do-skype-pela-microsoft,f0199256184ea310VgnCLD200000bbcceb0aRCRD.html> Acessado em: 06 abr. 2013 UBUNTU, 2013. Download Ubuntu for your desktop. <http://www.ubuntu.com/download/desktop/thank-you?release=latest&bits=64&distro=desktop&status=zeroc> Acessado em 01 mar. 2013 UOL Assistência Técnica. Qual é a diferença entre programas freeware, shareware, adware e open source? 2012a. Disponível em: <http://assistenciatecnica.uol.com.br/dicas/qual-e-a-diferenca-entre-programas-freeware-shareware-adware-e-open-source.html#rmcl> Acessado em: 03 abr. 2013 UOL Assistência Técnica. O que é memória RAM? 2012b. <http://assistenciatecnica.uol.com.br/dicas/o-que-e-memoria-ram.html> Acessado em 02 abr. 2013 VENTURA, P. O Modelo OSI e suas 7 camadas. 2002. Disponível em: <http://imasters.com.br/artigo/882/redes-e-servidores/o-modelo-osi-e-suas-7-camadas> Acessado em 24 nov. 2012. VIRTUAL BOX. Download Virtual Box. Disponível em:
Top Related