Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS TECNOLÓGICAS
CURSO DE ENGENHARIA DE TELECOMUNICAÇÕES
IMPLEMENTAÇÃO DE FUNÇÕES AVANÇADAS EM UM
GATEWAY VOIP
EDUARDO LUIZ DALPIAZ TOREZAN
BLUMENAU 2006
EDUARDO LUIZ DALPIAZ TOREZAN
IMPLEMENTAÇÃO DE FUNÇÕES AVANÇADAS EM UM
GATEWAY VOIP
Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso da faculdade de Engenharia de Telecomunicações.
Prof. Francisco Adell Péricas, Mestre - Orientador
BLUMENAU 2006
IMPLEMENTAÇÃO DE FUNÇÕES AVANÇADAS EM UM
GATEWAY VOIP
Por
EDUARDO LUIZ DALPIAZ TOREZAN
Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso, pela banca examinadora formada por:
______________________________________________________ Presidente: Prof. Francisco Adell Péricas, Mestre - Orientador, FURB
______________________________________________________ Membro: Prof. Fábio Rafael Segundo, Mestre, FURB
______________________________________________________ Membro: Prof. Adriano Peres, Doutor, FURB
Blumenau, 03 de julho de 2006
Dedico este trabalho a todos que participaram, direta ou indiretamente na realização deste trabalho.
AGRADECIMENTOS
À Deus, pelo seu imenso amor e graça.
À minha mãe e avó, que dispensaram minha presença nos fins de semana.
A minha namorada, que além do apoio, emprestou sua voz para que eu a usasse na
implementação deste trabalho.
Ao meu orientador, Francisco Adell Péricas, por ter acreditado na conclusão deste
trabalho e fornecido o hardware da Digium para os testes.
Não basta conquistar a sabedoria, é preciso usá-la.
Cícero
RESUMO
A utilização da telefonia IP tem crescido rapidamente. Com ela, a necessidade de novas
facilidades aos usuários, como correios de voz, atendimentos automáticos e conferências
também aumenta. Este trabalho trata da implementação destas funcionalidades a um gateway
de voz sobre IP, o Asterisk. Trás ainda alguns conceitos básicos como telefonia tradicional, o
linux e discorre brevemente sobre alguns outros modelos de gateways disponíveis no
mercado. Por fim, mostra detalhes de configuração e alguns exemplos de aplicação destas
funcionalidades.
Palavras-chave: Asterisk. Correio de voz. Servidor de conferências. URA.
ABSTRACT
The use IP telephony has grown quickly. With it, the need of new facilities to the users, such
as voicemail, interactive voice response and conferences increases too. This paper shows the
implementation of those features into a VoIP gateway, the Asterisk. It also shows some basic
contents about traditional telephony systems, the Linux and some other gateways brands
available today. Finally, some configuration details and use examples of those features are
shown.
Key-words: Asterisk. Voicemail. Conference bridging. IVR.
LISTA DE ILUSTRAÇÕES
Figura 1 – Operadora conectando ligações em uma mesa comutadora....................................15
Figura 2 – Componentes básicos do sistema telefônico ...........................................................16
Figura 3 – Rede telefônica IP. ..................................................................................................18
Figura 4 – Conversão da voz analógica em pacotes IP (bits)...................................................18
Figura 5 – Crescimento do tráfego de VoIP no mundo............................................................19
Figura 6 – O jitter é um dos principais problemas enfrentados pela voz em redes IP .............21
Figura 7 – Topologia básica do sistema a ser implementado ...................................................29
Figura 8 – Salas de conferência................................................................................................36
Figura 9 – Caixas postais do correio de voz.............................................................................40
Figura 10 – Interface gráfica para gerenciamento das mensagens ...........................................42
Figura 11 – Resultado do teste de verificação do sistema........................................................49
Figura 12 – Resultado do teste de navegação na URA.............................................................50
Figura 13 – Resultado do teste de mensagem no correio de voz..............................................50
Figura 14 – Resultado do teste de audição das mensagens no correio de voz .........................51
Figura 15 – Resultado do teste de URA e servidor de conferências ........................................52
Figura 16 – Resultado do teste da sala de conferências com líder ...........................................53
LISTA DE TABELAS
Tabela 1 – Comparação entre os principais codecs utilizados para VoIP. ...............................23
LISTA DE SIGLAS
API – Application Programming Interface
FTP – File Transfer Protocol
IETF – Internet Engineering Task Force
IP – Internet Protocol
LAN – Local Area Network
MGCP – Media Gateway Control Protocol
MOS – Mean Opinion Score
PABX – Private Automatic Branch Exchange
PSTN – Public Switched Telephony Network
RTCP – Real-time Control Protocol
RTP – Real-time Transport Protocol
SIP – Session Initiation Protocol
SMS – Short Message Service
TDM – Time Division Multiplex
URA – Unidade de Resposta Audível
VoIP – Voice over IP
WAN – Wide Area Network
SUMÁRIO
1 INTRODUÇÃO..................................................................................................................12
1.1 OBJETIVO........................................................................................................................13
1.2 ESTRUTURA DO TRABALHO ......................................................................................14
2 TELEFONIA......................................................................................................................15
2.1 TELEFONIA TRADICIONAL.........................................................................................15
2.1.1 Componentes...................................................................................................................16
2.2 TELEFONIA IP.................................................................................................................17
2.2.1 Breve Histórico ...............................................................................................................18
2.2.2 Qualidade da Voz............................................................................................................20
2.2.3 Protocolos........................................................................................................................21
2.2.4 Codecs .............................................................................................................................22
3 GATEWAY VOIP .............................................................................................................24
3.1 SOFTWARES GATEWAYS VOIP..................................................................................24
3.1.1 Asterisk ...........................................................................................................................24
3.1.2 Communigate ..................................................................................................................25
3.1.3 Siemens Hipath 5000 ......................................................................................................25
3.2 FUNCIONALIDADES DE GATEWAYS VOIP .............................................................26
3.2.1 Correio de Voz ................................................................................................................26
3.2.2 Servidor de Conferências ................................................................................................27
3.2.3 Unidade de Resposta Audível (URA).............................................................................28
3.2.4 Distribuição Automática de Chamadas (DAC)...............................................................28
4 DESENVOLVIMENTO DO TRABALHO.....................................................................29
4.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO.......................29
4.1.1 URA ................................................................................................................................30
4.1.2 Correio de Voz ................................................................................................................30
4.1.3 Servidor de Conferências ................................................................................................31
4.2 REQUISITOS DE HARDWARE E SOFTWARE ...........................................................31
4.3 IMPLEMENTAÇÃO ........................................................................................................31
4.3.1 Instalação do Linux .........................................................................................................32
4.3.2 Asterisk ...........................................................................................................................33
4.3.3 Configuração Básica .......................................................................................................33
4.3.4 Configuração do Servidor de Conferências ....................................................................35
4.3.4.1 Meetme().......................................................................................................................36
4.3.4.2 Arquivos de Configuração............................................................................................37
4.3.5 Configuração do Correio de Voz ....................................................................................39
4.3.5.1 Voicemail.conf..............................................................................................................39
4.3.5.2 Sip.conf.........................................................................................................................41
4.3.5.3 Verificando as mensagens de voz.................................................................................41
4.3.5.4 A aplicação voicemail () ...............................................................................................43
4.3.5.5 Arquivos de Configuração............................................................................................43
4.3.6 Configuração da URA.....................................................................................................45
4.3.6.1 Background() ................................................................................................................46
4.3.6.2 Goto()............................................................................................................................46
4.3.6.3 Dial().............................................................................................................................46
4.3.6.4 Arquivos de configuração.............................................................................................47
4.4 VALIDAÇÃO E TESTES.................................................................................................48
5 CONCLUSÕES..................................................................................................................54
5.1 EXTENSÕES ....................................................................................................................55
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................56
12
1 INTRODUÇÃO
Não faz muito tempo que as telecomunicações, tanto voz como dados, bem como os
softwares, eram todos proprietários, controlados por um grupo seleto de empresas que
criavam as tecnologias e outro seleto grupo que podia usar estes produtos. Porém, com o
avanço tecnológico dos últimos anos e a globalização – que fez as empresas se espalharem
pelo mundo, estes sistemas antigos e “engessados” não têm atendido a necessidade das
empresas: comunicação em tempo real, para onde quer que seja e com baixo custo.
Isto se deve ao fato dos sistemas tradicionais usarem a comutação por circuitos, a qual
desperdiça boa parte das vias de comunicação das operadoras de telefonia. Estes sistemas
reservam um canal exclusivo para cada conversação em uso, encarecendo sua utilização.
Além do mais, sistemas de PABX (Private Automatic Branch Exchange) tradicionais,
com comutação por circuitos, são demasiadamente caros, limitados em funções e não
oferecem qualquer tipo de customização (quando oferecem, são inviáveis em termos
financeiros).
Em meados dos anos 90, um novo “mundo” começou a surgir nas telecomunicações: a
Internet e seu protocolo IP (Internet Protocol). No início, o IP foi visto apenas como uma
forma de se transmitir dados, com origens e destinos diferentes, por uma mesma linha de
comunicação, simultaneamente, compartilhando as vias de transmissão e o custo destas vias
com milhares de usuários. Esta tecnologia se chama comutação por pacotes.
Ainda na década de 90, percebeu-se que a comutação por pacotes poderia ser utilizada
para outras aplicações, como voz e vídeo, e não somente para a transmissão de dados entre
computadores. Mais precisamente em 1995, a Vocaltec, empresa sediada em Israel, lançou o
primeiro sistema VoIP (TECHWEB, 2006). Logo após, grandes fabricantes entraram neste
mercado e, desde então, novos equipamentos foram surgindo, com cada vez melhor qualidade
13
de voz e mais funcionalidades. Entretanto, estes continuaram com as características básicas
dos sistemas de telefonia até então conhecidos: fechados, caros e pouco flexíveis.
No final do século passado, um programador americano, Mark Spencer, decidiu ir na
contra-mão das grandes empresas e criou um PABX totalmente aberto. Sua pretensão era
apenas criar um sistema para sua, até então, pequena empresa, que pudesse atender e
armazenar as chamadas não atendidas. Acabou fazendo uma revolução! Hoje o Asterisk é
uma das grandes promessas do software livre e está mudando os conceitos conhecidos em
telefonia: é totalmente aberto, extremamente flexível e gratuito.
Como qualquer software baseado na filosofia OpenSource, o Asterisk recebe milhares
de contribuições de programadores de todo o mundo diariamente. Estes ajudaram no
desenvolvimento de várias funções, entre as quais se destacam correio de voz, salas de áudio
conferências, unidades de resposta audível e atendimento automático.
O correio de voz é responsável por armazenar recados quando uma chamada não pode
ser atendida e avisar o usuário de destino sobre o acontecimento. As salas de áudio
conferência criam ambientes para “reuniões” por telefone. Já as unidades de resposta audível
atendem as ligações e, através de menus, as direcionam para os locais mais apropriados.
A implementação e entendimento destes serviços será o foco principal deste trabalho.
1.1 OBJETIVO
O objetivo deste trabalho é desenvolver um estudo acerca de algumas funcionalidades
avançadas em um gateway de voz sobre IP, mais especificamente o Asterisk. Apesar de pouco
complexas, estas funcionalidades permitem maior comodidade aos usuários do sistema, seja
atendendo ligações automaticamente, facilitando as audioconferências ou permitindo o
armazenamento de recados.
14
Os objetivos específicos são:
a) implantar um servidor de conferências com suporte a diversas modalidades de
salas de conferência, entre elas segura com senha, treinamento e acesso livre;
b) configurar uma unidade de resposta audível, a qual será capaz de fazer a
navegação entre menus através das teclas pressionadas pelos usuários;
c) configurar um módulo de correio de voz, permitindo aos usuários deixar recados e
gerenciar as suas caixas postais através de aparelhos telefônicos.
1.2 ESTRUTURA DO TRABALHO
O trabalho está dividido em 5 capítulos, sendo o primeiro deles a Introdução que traz
um apanhado geral do assunto. O segundo capítulo trata das duas tecnologias interconectadas
por um gateway de VoIP: a telefonia tradicional, com o TDM, e a telefonia IP. No capítulo 3
são abordadas as formas e funções de um gateway, citando alguns modelos disponíveis no
mercado. Cita também algumas funcionalidades disponíveis em um gateway VoIP. O capítulo
4, por sua vez, apresenta de forma breve a instalação e configuração dos sistemas ligados ao
Asterisk e a validação do trabalho. Por fim, o quinto capítulo traz as conclusões chegadas a
partir deste trabalho.
15
2 TELEFONIA
Este capítulo apresenta uma breve história da telefonia tradicional e de seus
componentes chegando a sua mais recente evolução: a telefonia IP.
2.1 TELEFONIA TRADICIONAL
Quando o telefone foi inventado, em 1876, a linha telefônica de cada assinante era
conectada diretamente a outro usuário individual. Este sistema era nada inteligente e de pouca
escalabilidade, pois para cada novo assinante que se desejasse contato, mais um circuito
deveria ser ligado a casa do usuário.
Por volta de 1877, surgiram as mesas comutadoras. Com estas, cada telefone não
necessitava ser ligado a outro telefone, mas sim apenas à mesa comutadora central. Quando
um indivíduo desejasse chamar alguém, ele tirava o telefone do gancho e solicitava ao
operador que conectasse sua ligação a determinado assinante.
Na Figura 1 é possível perceber como as ligações eram feitas: através de cordões de
manobra que conectavam os usuários entre si.
Fonte: Telecom (2006). Figura 1 – Operadora conectando ligações em uma mesa comutadora.
16
2.1.1 Componentes
Podemos dizer que o sistema telefônico é composto de quatro componentes básicos: o
terminal, a central telefônica, a rede de acesso e a rede de transmissão.
Conforme Tude e Souza (2003), o terminal telefônico é o aparelho utilizado pelo
assinante, onde podem ser encontrados desde um único terminal a um sistema telefônico
privado, como um PABX, para atender uma empresa, por exemplo.
Sobre a rede de acesso pode-se dizer que é a responsável por interligar os terminais à
central telefônica pública. Normalmente são construídas com cabos metálicos, destinando um
par deste cabo para cada terminal. Existem equipamentos e materiais alternativos aos cabos
metálicos, como a fibra óptica e as redes sem fio, porém não serão detalhados, por não se
tratar do foco do trabalho.
A central telefônica, por sua vez, tem como função interconectar os diversos assinantes
entre si, substituindo as telefonistas que faziam este trabalho manualmente.
A rede de transmissão é a responsável pela interligação das diversas centrais
telefônicas, podendo ser física com, cabos coaxiais e fibras ópticas, ou ainda sem fio.
Fonte: O próprio autor. Figura 2 – Componentes básicos do sistema telefônico
Em meados de 1970, segundo Tude e Souza (2003), os sistemas analógicos
começaram a passar pela digitalização. Inicialmente os núcleos das centrais telefônicas foram
substituídos por microprocessadores, capazes de comutar muito mais assinantes.
17
Ainda citando Tude e Souza (2003), com equipamentos digitais, foi possível evoluir os
métodos de sinalização, passando de sistemas onde a sinalização era feita no mesmo canal de
transmissão da voz para sistemas com uma rede de sinalização independente da voz, trazendo
inúmeros benefícios, principalmente na possibilidade de oferta de novos serviços.
2.2 TELEFONIA IP
Telefonia IP é uma proposta de mudança do paradigma da comutação de circuitos para
um cenário onde a comutação é baseada em pacotes.
Voz sobre IP, ou VoIP, é a tecnologia que permite a transmissão de voz em redes de
dados com protocolo IP. Desta forma, a voz é transformada como mais um serviço suportado
pela rede de dados.
A comunicação telefônica utilizando o VoIP apresenta muitas vantagens em relação a
telefonia tradicional, entre elas a redução de custos, visto que a tarifação de ligações VoIP não
é a mesma da telefonia tradicional, independendo da distância geodésica que os usuários se
encontram.
Outra grande vantagem é operar com comutação por pacotes, a qual aproveita melhor
os recursos de rede existentes, disponibilizando as vias não utilizadas para tráfego de outros
dados.
Na Figura 3 é possível verificar a topologia básica de uma rede com Voz sobre IP. Os
gateways ficam responsáveis pela interconexão da PSTN com a rede IP. Nas LANs IP é
possível a utilização de equipamentos que sejam compatíveis com o VoIP, como telefones IP,
centrais telefônicas IP, softphones e outros.
Na Figura 4 está ilustrado o processo de conversão da voz analógica – ondas
mecânicas em bits. Estes bits são então empacotados e enviados através da rede de dados.
18
Este processo encontra-se detalhado em Hersent, Guide e Petit (2002).
Fonte: O próprio autor.
Figura 3 – Rede telefônica IP.
Fonte: Gonçalves (2005) Figura 4 – Conversão da voz analógica em pacotes IP (bits)
2.2.1 Breve Histórico
No início da década de 90, a Internet era ainda uma área restrita a usuários muito
avançados, onde não haviam as telas coloridas comuns de hoje. Nesta época, seu uso principal
era para troca de e-mails, bate-papo e, principalmente a transferência de arquivos via FTP
(File Transfer Protocol).
Então em 1993, veio a primeira revolução: a World Wide Web. A internet ganhou cores
19
e começou a se popularizar, principalmente entre os estudantes. Nesta época surgiram
também os primeiros serviços com indexadores de endereços de páginas e ferramentas de
busca (entre elas o Yahoo!) (HERSENT; GUIDE; PETIT, 2002).
Por volta de 1996 a internet estava bem difundida entre os estudantes, porém ainda não
conseguia alcançar o mercado em massa. Nesta mesma época surgiram as primeiras tentativas
de se construir um gateway de telefonia via internet. Era um equipamento estranho, onde se
usavam placas de fax modem e multimídia (HERSENT; GUIDE; PETIT, 2002).
Apesar de grosseiro, seu potencial era imenso. Tanto que, algum tempo depois,
gigantes como a Cisco e a Nortel começaram a investir neste tipo de tecnologia. Esta entrada
no mercado foi o grande divisor na história, pois com ela surgiram hardwares com maior
qualidade de voz, menor custo e que exigiam menos poder de processamento das máquinas.
Aliada à evolução do hardware, a popularização da banda larga permitiu que o VoIP se
tornasse mais um fenômeno na internet, atingindo grande parte dos usuários de internet do
planeta, estimando-se em 16 milhões de usuários em 2005 e 55 milhões em 2009
(ESTADAO.COM.BR, 2006).
Fonte: Estadao.com.br (2006). Figura 5 – Crescimento do tráfego de VoIP no mundo.
20
2.2.2 Qualidade da Voz
Em VoIP, diferentemente da telefonia tradicional, a largura de banda é compartilhada
com outras conversações e outras aplicações. Desta forma, caso a banda esteja ocupada a
transmissão terá que esperar até que haja capacidade para sua transmissão. Este é apenas um
dos problemas enfrentados pela voz em redes IP. Entre os principais se destacam:
a) delay: é o tempo decorrido entre o envio do dado de sua origem até a chegada ao
seu destino. Esse tempo é calculado somando-se todos os retardos que o pacote
sofre na rede, incluindo os tempos de enfileiramento, processamento e propagação
no meio de transmissão (SERRA, 2001). Segundo Spencer e Alison (2005) o delay
pode causar eco na transmissão e, quando maior que 500ms, a conversação perde
totalmente a interatividade;
b) jitter: é a variação do delay, como mostra a Figura 6. Esta variação pode ocorrer
devido a tempos de processamento diferentes nos equipamentos entre a origem e
destino dos dados, ou ainda por fatores como congestionamento de links e pacotes
que trafegam por caminhos diferentes. O jitter pode ser corrigido através de um
buffer que armazena alguns pacotes de dados e os libera conforme tempo normal
da voz. O buffer, entretanto, pode adicionar ainda mais atraso na rede;
c) perda de pacotes: uma rede IP não tem como garantir que os pacotes serão
entregues ao seu destino, podendo estes se perderem na nuvem. As perdas de
pacotes causam o efeito de picotamento nas ligações, e se forem maiores que 10%
acabam deixando esta incompreensível.
21
Fonte: Hersent, Guide e Petit (2002)
Figura 6 – O jitter é um dos principais problemas enfrentados pela voz em redes IP
2.2.3 Protocolos
Conforme Hersent, Guide e Petit (2002), o mecanismo de suportar uma conexão VoIP
envolve uma série de transações de sinalização entre os pontos-finais (e os gateways entre
eles), terminando em dois fluxos de mídia, um para cada direção, os quais “carregam” a
conversação. Para gerenciar toda esta sinalização e fluxo, foram definidos diversos
protocolos. Os principais protocolos utilizados para sinalização no VoIP são:
a) SIP (Session Initiation Protocol): é um protocolo baseado em texto, desenhado
para iniciar, manter e terminar sessões de comunicação interativa entre usuários.
Tais sessões podem incluir voz, vídeo, chat, entre outros. Foi definido pelo IETF e
vem se tornando o padrão de fato em telefonia IP (GONÇALVES, 2005);
b) H.323: amplamente utilizado em voz sobre IP. Essencial na conectividade com
projetos mais antigos envolvendo roteadores e gateways de voz. O H.323 ainda é o
padrão fornecido pelos fabricantes, muito embora eles comecem a adotar o SIP.
(GONÇALVEZ, 2005);
22
c) MGCP (Media Gateway Control Protocol): também teve sua definição através do
IETF. Apesar de ser um protocolo extremamente simples vem perdendo, assim
como o H.323, terreno para o SIP. Foi criado para tornar os aparelhos da ponta
(telefones) os mais simples possíveis, colocando todo o processamento da
chamada nas mãos dos gateways de mídia (SPENCER, M.; ALLISON, M, 2005) .
Segundo Hersent, Guide e Petit (2002), para controle e transporte da voz sobre a rede
IP os principais protocolos utilizados são:
a) RTP (Real-Time Transport Protocol): permite que os receptores compensem o
jitter (abordado mais adiante) e a perda de seqüência dos pacotes, comum nas
redes IP. Pode ser usado para qualquer fluxo de dados em tempo real, como voz e
vídeo;
b) RTCP (Real-Time Control Protocol): geralmente é usado com o RTP para permitir
o transporte de algum retorno sobre a qualidade da transmissão (jitter, perda de
pacotes, etc.).
2.2.4 Codecs
Segundo Spencer e Allison (2005) os codecs podem ser entendidos como diversos
modelos matemáticos que digitalizam e comprimem a voz analógica, permitindo que esta
trafegue na rede.
A largura de banda é limitada em qualquer link, logo o número de conversações
simultâneas nesse link depende diretamente do codec utilizado, conforme Tabela 1.
Uma forma de avaliar o desempenho dos codecs é através do MOS (Mean Opinion
Score). Este varia de 1 (ruim) até 5 (excelente), onde o nível 4 corresponde ao de uma linha
telefônica analógica convencional.
23
Codec Consumo de Banda
(Kbps)
Qualidade da Voz
(MOS)
G.711 64,0 4,2
G.726 16,0; 24,0 ou 32,0 2; 3,2 ou 4
G.723.1 5,3 ou 6,3 3,7 ou 3,9
G.729A 8,0 4,0
GSM 13,0 3,71 a 4,43
Fonte: Hersent, Guide e Petit (2002) e Spencer e Allison (2005).
Tabela 1 – Comparação entre os principais codecs utilizados para VoIP.
24
3 GATEWAY VOIP
Os gateways VoIP têm a responsabilidade de conectar terminais telefônicos comuns,
fazer a codificação da voz recebida e colocá-los em pacotes IP, os quais serão transmitidos
pela de rede dados (e vice-versa), conforme representado na Figura 3.
Os gateways podem ser tanto appliances, com hardware desenvolvido especialmente
para este fim; ou softwares que rodam em qualquer plataforma.
3.1 SOFTWARES GATEWAYS VOIP
Existem diversos softwares que fazem a função de gateways VoIP. Algumas opções
são pagas, mas a que tem se destacado mais, o Asterisk, é de código aberto. Em geral,
apresentam mais flexibilidade que os hardwares dedicados a esta função.
3.1.1 Asterisk
Asterisk é um sistema convergente de telefonia, baseado em código-livre, que foi
concebido inicialmente para rodar em linux. O Asterisk reúne mais de 100 anos de
conhecimento em telefonia em uma suíte de softwares altamente integrados. O poder deste
programa está em sua natureza: totalmente aberta e customizável, complementada por uma
série de padrões atendidos. Nenhum outro equipamento de PABX pode implementar as
funcionalidades que o Asterisk pode, e com tantas formas diferentes (MEGGELEN; SMITH;
MADSEN; 2005).
Ele suporta uma vasta gama de protocolos TDM (Time Division Multiplex) para o
gerenciamento e transmissão de voz nas interfaces de telefonia tradicionais. Suporta os
25
padrões europeus e americanos de sinalização usados na maioria dos sistemas de
comunicação, permitindo fazer uma ponte entre a próxima geração de telefonia – que integra
voz e dados, com a infra-estrutura atual. Aliás, o Asterisk não somente suporta a telefonia
tradicional como adiciona novas funções a ela (SPENCER; ALISSON, 2002).
O Asterisk possui um núcleo central de chaveamento, com quatro API’s para
carregamento modular das aplicações de telefonia, interfaces de hardware, manuseamento de
formatos de arquivos e codecs. Isto permite a comutação transparente entre todas as interfaces
suportadas, possibilitando disponibilizar uma série de sistemas de telefonia em uma única
rede de comutação (ASTERISK, 2006).
3.1.2 Communigate
Desenvolvido pela Communigate Systems, com sede na Califórnia, o Communigate
vai muito além de apenas um gateway VoIP, pois inclui funções avançadas de mensagens
unificadas, URA (Unidade de Reposta Audível), servidor de conferências, correio de voz,
sistema de bilhetagem e tarifação, integração com e-mail e aplicações de terceiros.
Apesar de se tratar apenas de um software, assim como o Asterisk, o Communigate
não é livre, muito menos gratuito, tendo licenças que vão de 20 usuários a 5 milhões de
usuários, segundo o próprio fabricante (COMMUNIGATE, 2006).
3.1.3 Siemens Hipath 5000
O Hipath 5000 combina comunicação convencional com voz sobre IP através de
gateways TDM secundários. Estes gateways fazem a conversão TDM/IP, ficando a cargo do
Hipath 5000 a sinalização entre dispositivos IP.
26
Funciona também como gatekeeper de redes que podem chegar a 64 centrais
telefônicas e mais de mil usuários.
Diferentemente dos softwares anteriores, não possui funções avançadas. Entretanto, se
adicionado um servidor de correio de voz na rede corporativa, o Hipath 5000 é capaz de
direcionar ligações para este servidor (SIEMENS, 2006).
3.2 FUNCIONALIDADES DE GATEWAYS VOIP
Como visto no capítulo anterior, alguns gateways VoIP são capazes de fornecer
diversas funcionalidades muito além da conversão da voz analógica em voz sobre IP. Dentre
estas funções, algumas podem ser destacadas, como bilhetagem, integração com bancos de
dados, possibilidade de gravação e outras, melhores descritas nos parágrafos a seguir. Muitas
delas serão implementadas no Asterisk.
3.2.1 Correio de Voz
O correio de voz, assim como grande parte das invenções, surgiu da necessidade. O
seu criador, Gordon Matthews, possuía uma empresa e viajava muito, visitando seus
consumidores. Era difícil encontrá-lo e não havia meio para deixar recados. Após diversos
negócios e clientes perdidos, Gordon resolveu seu problema desenvolvendo o Correio de Voz
(MARPLES, 2006).
Este recurso permite que uma chamada ocupada ou não atendida seja enviada para
uma espécie de secretária eletrônica central. A partir daí é possível avisar ao usuário da
existência desta mensagem de diversas maneiras: sinal sonoro em suas ligações, mensagem de
e-mail, SMS ou então, enviar a própria mensagem gravada ao e-mail do usuário
(GONÇALVES, 2005).
27
3.2.2 Servidor de Conferências
As conferências por telefone têm, cada vez mais, se destacado em sistemas de PABX.
Seu uso possibilita fazer uma reunião sem a presença física das pessoas envolvidas em
determinado assunto. Um exemplo pode ser em uma loja de carros: o mecânico precisa
explicar para o cliente o que está havendo em seu carro, porém seu superior gostaria de
acompanhar a conversação, então, estabelece-se, manualmente, uma conferência.
Até aqui é tudo simples, disponível em qualquer central telefônica de mercado. O
grande diferencial do Asterisk é possibilitar a criação de uma sala de conferências. Esta sala
comporta-se como uma sala de reuniões virtual, onde os participantes convidados vão
entrando na conversa sem a necessidade de serem adicionados manualmente. Para que isto
ocorra, basta que o administrador da conferência indique o número da sala e a senha para
autenticação.
É possível criar a sala de conferências e definir uma senha, tornando-a segura o
suficiente para, por exemplo, reuniões de diretoria. A partir daí, basta definir um horário para
então os convidados entrarem na sala e iniciarem a reunião.
Após o término da reunião, o administrador tem condições de verificar os
colaboradores presentes e emitir relatórios.
Entre as aplicações de um servidor de conferências, destacam-se as seguintes:
a) reuniões entre colaboradores de diversas unidades da empresa;
b) um treinamento a um determinado departamento;
c) uma sala de bate-papo (como o 104 da BrasilTelecom).
No Asterisk, a sala de conferências pode ser configurada através dos arquivos
extensions.conf e meetme.conf.
28
3.2.3 Unidade de Resposta Audível (URA)
A unidade de resposta audível (URA) é um sistema de automatização muito utilizado
pelas empresas. Com ela é possível, por exemplo, atender as ligações e colocá-las em modo
espera ou então transferi-las de acordo com o que o usuário disca no teclado do telefone.
Do ponto de vista do usuário, não é um sistema muito agradável, já que este se vê
obrigado a interagir com uma espécie de robô.
Já para as empresas as URAs representam uma enorme economia com colaboradores,
visto que num sistema deste tipo, a capacidade de atendimento é praticamente ilimitada.
3.2.4 Distribuição Automática de Chamadas (DAC)
Este recurso é utilizado para montar sistemas de call centers, criando filas de
chamadas. Com as filas, é possível evitar a perda de chamadas quando os agentes estão
ocupados, melhorando a produtividade, visto que as chamadas serão direcionadas somente aos
atendentes que estão prontos para receber aquela chamada.
29
4 DESENVOLVIMENTO DO TRABALHO
Neste capítulo serão apresentados os principais passos para a implementação de
funções avançadas em um gateway VoIP. Uma breve passagem pela instalação do Linux e do
Asterisk também será apresentada.
4.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO
O sistema será composto por três ramais, uma Unidade de Resposta Audível (URA),
Correio de Voz e Servidor de Conferências, como mostrado na Figura 7.
Fonte: O próprio autor. Figura 7 – Topologia básica do sistema a ser implementado
30
Na Figura 7, os sistema de URA, Correio de Voz e Conferência estão separados do
Asterisk apenas para destacar suas funções. Na realidade eles são módulos dentro do próprio
Asterisk.
4.1.1 URA
O sistema de URA será responsável por:
a) atender as ligações entrantes e dar a possibilidade de o usuário escolher entre as
opções: ouvir mensagens do correio de voz, participar de uma conferência, ligar
para o ramal da telefonista e repetir este menu;
b) quando o usuário não estiver disponível para atender uma ligação, seja por estar
ocupado, não logado ou não atender, o sistema avisará ao usuário chamador deste
evento e lhe dará a opção de deixar uma mensagem de voz;
c) dentro do correio de voz, permitir que o usuário ouça, apague, encaminhe ou
armazene as mensagens de voz. Deve permitir também que o próprio usuário grave
sua saudação inicial e altere sua senha;
d) no Servidor de Conferências, solicitar o número da sala e, caso necessária, a senha
para entrada nesta sala.
4.1.2 Correio de Voz
O correio de voz, por si só, não oferece muitas opções, além de:
a) armazenar uma mensagem caso o usuário esteja indisponível;
b) através da URA, permitir que a mensagem seja lida, apagada, armazenada ou
encaminhada para outra caixa postal;
31
c) durante a implementação, permitir ao usuário escolher se deseja receber uma cópia
da mensagem de voz em seu correio eletrônico.
4.1.3 Servidor de Conferências
Os requisitos para este módulo são:
a) permitir três modos de conferência: Diretoria, protegida por senha, Treinamento,
onde todos aguardam pelo líder ouvindo música e Aberta, onde todos falam;
b) possibilitar a um usuário criar salas virtuais.
4.2 REQUISITOS DE HARDWARE E SOFTWARE
Para implementação deste sistema, conforme Figura 7, necessitou-se dos seguintes
equipamentos (GONÇALVES, 2005):
a) o computador onde foi instalado o Asterisk, deve possuir no mínimo:
o Processador com clock de 300MHz;
o Memória RAM de 256MB;
o Distribuição Linux compatível com o Asterisk, como o Debian, Fedora,
SuSE, Mandrake ou Slackware;
o O próprio software do Asterisk;
b) para o sistema suportar comunicação com uma concessionária local, deve ser
usada uma placa com uma porta FXO, como a TDM-400P da Digium.
4.3 IMPLEMENTAÇÃO
O processo de implementação seguiu a uma ordem lógica e necessária, partindo da
32
instalação do sistema operacional Linux, após isto instalação do Asterisk para somente então
partir para a configuração dos módulos de URA, Correio de Voz e Servidor de Conferências.
4.3.1 Instalação do Linux
A versão escolhida para instalação é o Debian, kernel 2.6.8-2-386, por se tratar de uma
versão muito bem testada e homologada pela comunidade do Asterisk e por acompanhar o
livro “Asterisk: Guia de Configuração”, citado nas referências.
Como este passo não é o foco do trabalho, as explicações serão superficiais.
Ao inserir o CD citado anteriormente, o sistema apresentará uma tela de apresentação
do Debian. Deve-se pressionar a tecla Enter. Após isto, será necessário configurar, através de
menus, o idioma da interface, layout do teclado, nome da máquina e esquema de
particionamento.
Terminado isto, o sistema reiniciará a máquina, e receberá as configurações de horário
e senhas de administrador e usuário. Então, solicitará escolher entre algumas opções de
instalação pré-definidas, necessitando apenas teclar Enter novamente.
Neste momento, o sistema operacional está instalado. A lista de comandos que segue é
necessária para preparar o sistema para receber o Asterisk.
Instalar os headers do kernel em execução:
#apt-get install kernel-headers-`uname –r`
#ln –s /usr/src/kernel-headers-`uname –r` /usr/src/linux
Atualizar e instalar pacotes necessários para o Asterisk:
#apt-get update && apt-get upgrade
#apt-get install bison cvs openssl libssl-dev libasound2-dev libc6-dev libnewt-dev
libncurses5-dev
O sistema está pronto para receber o Asterisk.
33
4.3.2 Asterisk
Assim como o Linux, o Asterisk também acompanha o livro “Asterisk: Guia de
Configuração”, citado nas referências.
Com o CDRom no drive, deve-se digitar o comando:
#apt-get install vts-asterisk
Isto fará com que os pacotes Asterisk 1.2.0, Zaptel, Libpri, Sounds e Sounds-pt-br
sejam instalados (GONÇALVES, 2005).
Outro comando é necessário, desta vez para ativar algumas funções de administração
do Asterisk via navegador de internet, instalando os pacotes do Apache, PHP4, MySQL, PHP-
My-Admin e Asterisk-addons (GONÇALVES, 2005).
#apt-get install vts-web
4.3.3 Configuração Básica
Para a instalação do hardware (placa Digium TDM400P) inicialmente devem-se
configurar e carregar os drivers para a placa PCI que fará a interface com a rede pública. Para
tanto, os arquivos a seguir devem ser configurados. A descrição detalhada de todos os
comandos e seus respectivos parâmetros podem ser encontrados em Gonçalvez (2005),
Spencer e Alisson (2005) ou ainda em Asterisk (2006).
zaptel.conf
fxsks=1
defaultzone=br
loadzone=br
zapata.conf
signalling=fxs_ks
34
echocancel=yes
echocancelwhenbridged=yes
echotraining=400
group=1
context=entrada
channel=> 4
Agora basta carregar os drivers zaptel no Linux, através dos comandos:
#modprobe zaptel
#modprobe wctdm
É possível verificar se a configuração dos canais está correta através do comando:
#ztcfg -vvv
Para que os ramais sejam configurados e fiquem disponíveis na rede IP é necessário
editar o arquivo sip.conf,. De acordo com a Figura 7, são três ramais: 601, 602 e 603.
sip.conf
[general]
context=default
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
[601]
type=friend
username=601
context=interno
callerid="Ramal 601"
host=dynamic
canreinvite=no
disallow=all
allow=ulaw
[602]
type=friend
username=602
35
context=interno
callerid="Ramal 602"
host=dynamic
canreinvite=no
disallow=all
allow=gsm
[603]
type=friend
username=603
context=interno
callerid="Ramal 603"
host=dynamic
canreinvite=no
disallow=all
allow=gsm
4.3.4 Configuração do Servidor de Conferências
A configuração do servidor de conferências será baseada na topologia da Figura 7,
detalhada na Figura 8.
O acesso às conferências poderá ser feito de duas maneiras: discando-se diretamente o
número da sala ou via ramal 400, o qual está ligado a URA. Esta por sua vez, solicita ao
usuário que disque o número da sala.
Acessos da rede externa via canal FXO serão obrigados a passar pelo ramal 400, para
somente então poderem se conectar a uma conferência.
A sala de conferência de número 500 será reservada para uso da diretoria e contará
com proteção por senha, definida como 586. A sala de número 550 será de acesso livre aos
usuários. Ambas contarão com música em espera quando se está sozinho. A música em espera
será interrompida somente quando o segundo usuário se conectar ao sistema. A sala 510 será
36
a sala de treinamentos por telefone. Todos os usuários ouvirão a música de espera enquanto o
líder não se conectar. Este por sua vez, deverá se conectar a sala 510 através do ramal 520 e
só poderá completar a conexão após inserir a senha do líder, definida como 951.
Fonte: O próprio autor.
Figura 8 – Salas de conferência
4.3.4.1 Meetme()
Nos Asterisk as conferências são estabelecidas através da aplicação meetme().
Sintaxe de uso:
Meetme(numero_da_conferência[|opções][|senha])
Os principais parâmetros são:
m – configura o modo monitor (apenas ouve, não pode falar);
1 – não toca a mensagem “você é a única pessoa nesta conferência”;
a – entra no modo administrativo;
37
A – entra como usuário marcado. Usado para conferências com líder;
b – chama um script externo, especificado na variável
${MEETME_AGI_BACKGROUND}. O script padrão é o background.agi. Esta funciona
somente com canais tipo zap;
c – anuncia o número de participantes na conferência;
d – adiciona uma conferência dinamicamente;
D – o mesmo que ‘d’, mas solicita uma senha;
e – seleciona uma conferência vazia;
E – seleciona uma conferência vazia e sem senha;
i – anuncia a entrada e saída de um usuário;
M – habilita música em espera quando há apenas um usuário na conferência. É
necessário instalar o mpg123 e configurar o arquivo musiconhold.conf;
p – permite um usuário deixar a conferência teclando ‘#’;
q – modo silencioso. Não toca os sons de entrada e saída;
r – grava a conferência no arquivo descrito na variável
${MEETME_RECORDINGFILE} usando o formato especificado na variável
${MEETME_RECORDINGFORMAT}. Por padrão, o arquivo se chama meetme-conf-rec-
número_da_conferência-número_de_sequencia e o formato wave.
w – aguarda a conexão do usuário marcado com a opção ‘A’ para iniciar a conferência;
x – termina a conferência quando o último usuário marcado sair;
4.3.4.2 Arquivos de Configuração
Nas próximas linhas estão os arquivos utilizados para configurar o Servidor de
Conferências, conforme citado no Capítulo 4.3.4.
38
O arquivo meetme.conf contém as configurações básicas das salas de conferência.
meetme.conf
[rooms]
; Sintaxe conf => número_da_sala[,senha_usuário][,senha_de_adminstração]
conf=>500,586 ; cria a sala 500, senha 586
conf=>510 ; cria a sala 510
conf=>550 ; cria a sala 550
O arquivo musiconhold.conf deve ser configurado para que os usuários de conferências
ouçam música em espera quando necessário.
musiconhold.conf
[default]
mode=mp3 ; modo mp3
directory=/var/lib/asterisk/mohmp3 ; toca todos os arquivos desta pasta
O arquivo extensions.conf é um dos principais arquivos do Asterisk. Nele é
configurado o plano de discagem, o coração de um sistema de telefonia. A parte que se refere
as conferências está nas linhas abaixo.
extensions.conf
[conferencia]
exten=>400,1,background(conf-getconfno) ; solicita a discagem do nº da conferência
exten=>400,150,hangup
exten=>i,1,playback(invalid) ; se o número for inválido, reproduz aviso
exten=>i,2,goto(400,1) ; e repete o menu
exten=>t,1,goto(400,1) ; se tempo muito longo, reproduz o menu
exten=>500,1,meetme(500,M) ; Conferência Diretoria
exten=>510,1,meetme(510,Mw) ; Conferência Treinamento
exten=>520,1,authenticate(951) ; Solicita senha do Líder
exten=>520,2,meetme(510,AM) ; Líder entra na sala treinamento
exten=>550,1,meetme(550,M) ; Conferência sala diversa
exten=>599,1,meetme(|Md) ; Usuário cria a sala
39
4.3.5 Configuração do Correio de Voz
O correio de voz entrará em ação quando um usuário não estiver disponível (ocupado,
não atende ou não logado) reproduzindo uma mensagem ao usuário chamador. Após um sinal,
deverá permitir que o usuário deixe uma mensagem.
O correio de voz terá três caixas postais, sendo uma para cada ramal cadastrado no
PABX (601, 602 e 603). Cada caixa postal será protegida por senha. No caso da caixa postal
603, as mensagens deixadas serão enviadas em anexo para um e-mail pré-definido e então
apagadas do Asterisk. No caso dos usuários 601 e 602 a sinalização do recebimento de uma
mensagem será feita diretamente no seu telefone (Softfone X-Lite). Para ouvir as mensagens,
os usuários poderão discar para o número 700, podendo esta ligação ser feita a partir da rede
pública de telefonia.
A configuração do correio de voz no Asterisk se dá basicamente, em três arquivos
sip.conf, extensions.conf e voicemail.conf.
4.3.5.1 Voicemail.conf
Neste arquivo são configurados os parâmetros das caixas postais. As opções podem ser
comuns a todos os usuários – se definidas no contexto [general], ou podem ser definidas de
acordo com o desejo de cada usuário – se definidas no contexto [default].
40
Fonte: O próprio autor.
Figura 9 – Caixas postais do correio de voz
No contexto [general] as configurações se aplicam a todos os usuários Estas
configurações podem ser (GONÇALVES, 2005):
attach – envia a mensagem como anexo para o e-mail do usuário;
delete – apaga a mensagem do Asterisk após ter sido enviada por e-mail;
mailcmd – permite ao administrador enviar um comando do e-mail especial. Mailcmd
recebe uma string com a linha de comando desejada, por exemplo “/usr/bin/sendmail –t”;
maxsilence – define o tempo de silêncio contínuo antes de encerrar a chamada para o
correio de voz;
envelope – controla se o Asterisk deve ou não tocar uma mensagem com a data/hora
antes de tocar a mensagem deixada no correio de voz;
externnotify – permite rodar um programa externo sempre que alguém deixa uma
mensagem no correio de voz;
silencethreshold – permite ajustar o nível de detecção de ruído de fundo;
serveremail – permite identificar o remetente da mensagem de e-mail;
maxmessage – define o tempo máximo que o recado poderá ter;
minmessage – define o tempo mínimo que o recado poderá ter;
41
format – permite a seleção do formato de áudio utilizado para armazenar as mensagens
do correio de voz;
emailsubject – substitui a linha Assunto no e-mail enviado com o recado;
emailbody – substitui a o corpo de texto no e-mail enviado com o recado;
No contexto [default] – o qual foi utilizado para as caixas deste correio de voz, a
sintaxe é a seguinte:
número_da_caixa => senha, nome_usuário, e_mail_usuário, pager_usuário, opções
4.3.5.2 Sip.conf
No arquivo sip.conf é necessário apenas informar dentro da configuração do ramal qual
será sua caixa postal, através do comando:
mailbox = número_da_caixa_postal
4.3.5.3 Verificando as mensagens de voz
Existem duas maneiras de verificar as mensagens de voz no Asterisk: a primeira
através de uma interface gráfica disponibilizada na internet, o vmail.cgi, ilustrada na Figura
11 e a segunda através da aplicação voicemailmain(), chamada através do arquivo
extensions.conf, da seguinte maneira:
exten => extensão, prioridade, voicemailmain()
Esta aplicação permite aos usuários gerenciar sua caixa postal. Quando chamada, ela
reproduz o seguinte menu para o usuário:
− 0 – opções da caixa postal;
- 1 – grava sua mensagem de não disponível;
42
- 2 – grava sua mensagem de ocupado;
- 3 – grava seu nome;
- 4 – grava sua mensagem temporária;
- 5 – muda sua senha;
- * - retorna ao menu principal;
− 1 – ouvir as mensagens do correio de voz;
- 3 – opções avançadas;
- 4 – reproduz a mensagem anterior;
- 5 – repete a mensagem atual;
- 6 – reproduz a próxima mensagem;
- 7 – apaga a mensagem atual;
- 8 – encaminha esta mensagem para outra caixa postal;
- 9 – salva a mensagem em uma nova pasta;
- * – ajuda;
- # – sair;
− 2 – mudar de pasta;
− * – ajuda;
− # – sair;
Fonte: O próprio autor.
Figura 10 – Interface gráfica para gerenciamento das mensagens
43
4.3.5.4 A aplicação voicemail ()
Esta é a aplicação que configura o modo como os usuários deverão deixar as
mensagens no correio de voz. Deve ser chamada a partir do arquivo extensions.conf. Sua
sintaxe é a que segue:
exten => extensão, prioridade, voicemail ([opções]númerodacaixa[@contexto][&
númerodacaixa2[@contexto]] [& númerodacaixa3[@contexto]]
As opções disponíveis para aplicação, segundo Gonçalves (2005), são:
s – não reproduz a mensagem “Deixe sua mensagem após o bip, quando terminar
deligue ou pressione a tecla sustenido”;
u – reproduz a mensagem de não disponível. Por padrão, reproduz a mensagem “A
pessoa na extensão 6, 0, 1 não está disponível”. Porém, o proprietário da caixa pode gravar
sua própria mensagem, chamando a aplicação voicemailmain;
b – reproduz a mensagem de ocupado.
Todas as mensagens de correio de voz ficam armazenadas na seguinte pasta do Linux:
/var/spool/asterisk/voicemail/contexto/número_da_caixa/INBOX
A descrição detalhada de todos os comandos e seus respectivos parâmetros podem ser
encontrados em Gonçalvez (2005), Spencer e Alisson (2005) ou ainda em Asterisk (2006).
4.3.5.5 Arquivos de Configuração
voicemail.conf
[general]
format=wav49|gsm|wav
44
attach=yes
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=3
emaildateformat=%A, %d %B %Y as %H:%M
sendvoicemail=yes
emailbody=${VM_NAME} <${VM_MAILBOX}>\n\nVocê recebeu uma mensagem
com ${VM_DUR} de ${VM_CALLERID}. A mensagem foi deixada em ${VM_DATE}.
[zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp
[default]
601 => 001,Ramal601,601@localhost
602 => 002,Ramal602,602@localhost
603 => 003,Ramal603,[email protected],,|attach=yes|delete=yes
sip.conf
[601]
; demais configurações do sip
mailbox=601
[602]
; demais configurações do sip
mailbox=602
[603]
; demais configurações do sip
mailbox=603
45
extensions.conf
[interno] ;Ligações internas
exten=>_6XX,1,Dial(SIP/${EXTEN},10) ; Disca para os ramais
exten=>_6XX,2,voicemail(u${EXTEN}) ;Se não atende, vai para o voicemail
exten=>_6XX,3,hangup
exten=>_6XX,102,voicemail(b${EXTEN}) ; Se ocupado, vai para o voicemail
exten=>_6XX,103,hangup
exten=>_700,1,voicemailmain ; Ouvir os voicemails
[menu_entrada]
exten=>s,1,Background(disque_o_ramal) ; Opções do menu:
; demais opções da URA
exten=>_6XX,2,voicemail(u${EXTEN}) ; Correio de voz, se usr não atende
exten=>_6XX,3,hungup ; desliga após correio de voz
exten=>_6XX,102,voicemail(b${EXTEN}) ;Correio de voz, se usr indisponivel
exten=>_6XX,103,hungup ; desliga após correio de voz
4.3.6 Configuração da URA
O papel da URA é facilitar a utilização das opções disponíveis no equipamento.
Diferentemente das outras funções descritas anteriormente, a URA não possui um arquivo de
configuração especial. Toda a sua programação é feita no arquivo extensions.conf. Dentro
deste arquivo, três aplicações são muito úteis na hora desta programação: o background(), o
goto() e o dial().
46
4.3.6.1 Background()
O comando background reproduz uma música de fundo enquanto o Asterisk executa
outros comandos. É muito utilizado também para a reprodução de menus (disque 1 para
telefonista, 2 para suporte...). Quando uma tecla é pressionada o Asterisk pára imediatamente
a reprodução da música e executa o comando corresponde àquela tecla no plano de discagem.
Se o usuário disca uma tecla ou extensão errada enquanto o background está sendo
executado ele vai para a extensão “i” do plano de discagem. Caso a extensão “i” não exista ele
desconecta a chamada.
A sintaxe do comando é a seguinte:
exten => extensão, prioridade, background (nome_do_arquivo_música)
4.3.6.2 Goto()
O comando goto() salta para a posição do plano de discagem especificada em seus
parâmetros. Esta posição pode ser uma prioridade, uma extensão e uma prioridade ou um
contexto, uma extensão e uma prioridade.
A sintaxe do comando é a seguinte:
exten => extensão, prioridade, goto ([[contexto]|extensão]|prioridade)
4.3.6.3 Dial()
Esta é uma aplicação das mais importantes, pois é a responsável por realizar as
chamadas para outros usuários. Sua sintaxe é um pouco mais complexa e suporta uma séria de
opções, as quais serão detalhadas mais a frente.
47
exten => extensão, prioridade, Dial(tipo1/identificador1 [& tipo2/identificador2 [&
tipo3/identificador3 ... ] ], tempo_limite, opções)
O dial() chama todos os canais listados em seu par de parâmetros tipo/identificador
simultaneamente. O canal que atender primeiro recebe a ligação. As outras chamadas são
desconectadas.
Os parâmetros do dial() estão listados abaixo:
tipo – é o tipo do canal a ser chamado. Deve ser um dos tipos registrados no asterisk,
como o Zap, SIP, IAX2 e outros;
identificador – é o número que deve ser chamado. Dependendo do tipo do canal, a
variável número poderá receber algumas opções adicionais;
tempo_limite – define o tempo máximo que a discagem deve levar antes de ir para a
próxima instrução;
As principais opções do dial() são:
m – reproduz a música em espera enquanto o usuário chamado não atende;
j – salta para a prioridade n+101 se todos os usuários estão ocupados;
A(x) – reproduz o som contido em x.gsm para o usuário que atender a chamada;
W – permite que o usuário chamador inicie a gravação da conversa pressionando *1;
w – permite que o usuário chamado inicie a gravação da conversa pressionando *1;
4.3.6.4 Arquivos de configuração
Toda a configuração da URA é feita no arquivo extensions.conf.
extensions.conf
[entrada] ; Todas as ligações de entrada
exten=>s,1,Answer() ; Atende a ligação
exten=>s,2,goto(menu_entrada,s,1) ; Vai para o menu principal
48
exten=>s,3,Hangup() ; Desliga
[interno] ; Ligações internas
exten=>_700,1,voicemailmain ; Ouvir os voicemails
[menu_entrada]
exten=>s,1,Background(disque_o_ramal) ; Opções do menu:
exten=>i,1,playback(invalid) ; se número inválido, toca aviso
exten=>i,2,goto(s,1) ; e repete o menu
exten=>t,1,goto(s,1) ; se tempo longo, repete o menu
exten=>1,1,goto(interno,_700,1) ; Ouvir o correio de voz
exten=>2,1,goto(interno,400,1) ; Conferência
exten=>3,1,Dial(SIP/601) ; Telefonista
exten=>4,1,Goto(menu_entrada,s,1) ; Repete o menu
exten=>5,1,Hangup() ; Desliga
exten=>_6XX,1,Dial(SIP/${EXTEN},5) ; Ramal qualquer
exten=>_6XX,2,voicemail(u${EXTEN}) ; Correio de voz, se usr não atende
exten=>_6XX,3,hungup ; desliga após correio de voz
exten=>_6XX,102,voicemail(b${EXTEN}) ; Correio de voz, se usr indisponivel
exten=>_6XX,104,hungup ; desliga após correio de voz
4.4 VALIDAÇÃO E TESTES
Nesta parte do trabalho será realizada a validação dos arquivos de configuração bem
como os testes do sistema. A fim de se obter maior clareza, os testes serão realizados em
etapas e contarão com alguns screenshots do Asterisk.
O primeiro teste para verificação do funcionamento do sistema foi fazendo uma
ligação da rede PSTN para o servidor do Asterisk, então selecionada a opção 1 para o correio
de voz. Após isto, foram digitadas as informações de caixa postal e senha e o sistema
informou corretamente que não havia nenhuma mensagem na caixa postal. A Figura 11
mostra o resultado obtido na console do Asterisk.
49
Fonte: O próprio autor.
Figura 11 – Resultado do teste de verificação do sistema
Um segundo teste foi feito navegando entre as opções da URA, na seguinte ordem:
a) Escolhida a opção 4, reproduzindo o menu novamente;
b) Discado o número 8, opção inválida;
c) Não discando nada, estourando o tempo limite;
d) Pressionando 5 para sair do sistema.
A Figura 12 mostra o resultado obtido.
O terceiro teste foi feito ligando para o usuário 601 que estava ocupado no momento.
O sistema solicitou que se deixasse uma mensagem no correio de voz. A mensagem foi
deixada. Em seguida, o usuário 601 ligou de um celular para o sistema via PSTN, escolheu a
opção 1 para ouvir o seu correio de voz. Então o sistema reproduziu a mensagem e deu
opções para administração daquele recado. A Figura 13 apresenta o resultado obtido na
primeira parte do teste e a figura 14 apresenta o resultado da segunda parte.
50
Fonte: O próprio autor.
Figura 12 – Resultado do teste de navegação na URA
Fonte: O próprio autor.
Figura 13 – Resultado do teste de mensagem no correio de voz
51
Fonte: O próprio autor.
Figura 14 – Resultado do teste de audição das mensagens no correio de voz
O quarto teste foi utilizando a URA e o servidor de conferências. Supondo que um dos
diretores da empresa ligue a partir da PSTN e outro do ramal 601. Eles devem se encontrar na
sala de reuniões número 500 e entrar com a senha 586. A Figura 15 mostra que o usuário de
número 601 entrou primeiro na sala, ficou ouvindo a música em espera até que um usuário
entrou a partir da PSTN.
52
Fonte: O próprio autor.
Figura 15 – Resultado do teste de URA e servidor de conferências
Um quinto e último teste consistiu em colocar o usuário 601 na sala de conferência de
treinamento (sala 510). Este ficou ouvindo a música em espera até que o usuário líder fez o
login na sala. O resultado obtido está ilustrado na Figura 16.
53
Fonte: O próprio autor.
Figura 16 – Resultado do teste da sala de conferências com líder
54
5 CONCLUSÕES
A tecnologia de voz sobre IP está deixando de ser apenas uma tendência para se tornar
realidade e um caminho sem volta. A universalização da banda larga e o acesso cada vez mais
facilitado à tecnologia contribuem para que o crescimento na adoção do VoIP seja
vertiginoso. Tendo isto em vista, há de se imaginar que a necessidade por serviços adicionais
a simples conversação, e sua implantação, sigam no mesmo ritmo.
Apesar de se tratarem de serviços avançados, foi demonstrado neste trabalho que a
implementação de uma URA, correio de voz e um servidor de conferências pode ser feita de
maneira não muito difícil quando se detém os conhecimentos básicos de redes de dados,
telefonia e VoIP. Este moderado nível de dificuldade aliado a característica open source do
Asterisk e ao custo razoável do hardware permite que as pequenas e médias empresas
incluam a telefonia IP em seus orçamentos.
Não é difícil perceber que além do baixo custo o sistema é extremamente flexível. Para
cada comando existem diversas opções que podem ser combinadas entre si, formando um
leque enorme de possibilidades. Desta forma, é possível fazer com que o sistema se adapte as
necessidades de cada empresa/usuário.
Esta flexibilidade do sistema deve permitir que ele se interconecte com centrais
telefônicas convencionais e IPs, agregando valor e serviços às plataformas implantadas
atualmente nas empresas, as quais são limitadas em funcionalidades.
Por fim, verificou-se que o Asterisk é eficaz no que diz respeito a funções avançadas.
Estas além de muito flexíveis, funcionam de maneira adequada e superam em qualidade as
soluções proprietárias.
55
5.1 EXTENSÕES
Como formas de continuação deste trabalho, sugere-se:
a) a integração das funções estudadas com uma central telefônica convencional;
b) a integração com um SIP server de mercado (Planet, Ebrax, Furukawa etc.);
c) o desenvolvimento de um ambiente gráfico para administração das salas de
conferência e de relatórios com os participantes de uma conferência;
56
REFERÊNCIAS BIBLIOGRÁFICAS
ASTERISK: The open source PBX [S.l], 2006. Disponível em <http://www.asterisk.org>. Acesso em 05 de março de 2006.
COMMUNIGATE SYSTEMS [S.l], 2006. Disponível em <http://www.stalker.com>. Acesso em 05 de março de 2006.
ESTADAO.COM.BR. [S.l], 2006. Disponível em: <http://www.estadao.com.br/tecnologia/telecom/noticias/2006/fev/01/76.htm>. Acesso em 05 de abril de 2006.
GONÇALVES, F. E. A. Asterisk: Guia de Configuração. 3ª Edição. Florianópolis: V. Office, 2005.
HERSENT, Oliver; GUIDE, David; PETIT, Jean-Pierre. Telefonia IP: Comunicação multimídia baseada em pacotes. São Paulo: Addison Wesley, 2002.
MARPLES, G. The History of Voicemail:Press one to find out. Disponível em <http://www.thehistoryof.net/the-history-of-voicemail.html>. Acesso em 06 de março de 2006.
MEGGELEN, J. V.; SMITH, J; MADSEN, L. Asterisk: The Future Of Telephony. Sebastopol, Califórnia, EUA: O’Reilly Media, 2005.
SERRA, Antonio de Barros. Uma Solução de Distribuição de Aplicações em Tempo Real no Contexto do Ensino Tecnológico à Distância. 2001. 165f. Dissertação (Mestrado em Ciência da Computação), Universidade Federal do Ceará, Fortaleza – CE.
SIEMENS COMMUNICATIONS [S.l], 2006. Disponível em <http://www.siemens.com>. Acesso em 05 de março de 2006.
SPENCER, M.; ALLISON, M. The Asterisk Handbook. Digium, 2005. Disponível em <http://www.digium.com/downloads/asterisk_handbook_project_version_1.pdf>. Acesso em 05 de março de 2006.
TECHWEB: TechEncyclopedia [S.l], 2006. Disponível em <http://www.techweb.com/encyclopedia/>. Acesso em 05 de março de 2006.
TELECOM. The Telecommunications History Group, Inc. [S.l.], 2006. Disponível em: <www.telcomhistory.org>. Acesso em 27 de março de 2006.
TUDE, E.; SOUZA, J. L. Telefonia Fixa no Brasil. Telecom, 2003. Disponível em <www.teleco.com.br/tutoriais/tutorialstfc/default.asp>. Acesso em 24 de maio de 2006.