Você está na página 1de 16

Asterisk TM

O Futuro da Telefonia

Jim Van Meggelen, Jared Smith e Leif Madsen

I
Asterisk O Futuro da Telefonia

Do original Asterisk The Future of Telephony Copyright © 2005 da Editora Alta Books Ltda.
Authorized translation from English language edition, entitled Asterisk The Future of Telephony, ISBN
0-596-00962-3, by Jared Smith, Jim Van Meggelen, Leif Madsen, published by O’Reilly Media, Inc. Copyright
© 2005 by O’Reilly Media, In..
PORTUGUESE language edition published by Editora Alta Books, Copyright © 2005 by Editora Alta
Books.

Todos os direitos reservados e protegidos pela Lei 5988 de 14/12/73. Nenhuma parte deste livro, sem autorização
prévia por escrito da editora, poderá ser reproduzida ou transmitida sejam quais forem os meios empregados:
eletrônico, mecânico, fotográfico, gravação ou quaisquer outros.
Todo o esforço foi feito para fornecer a mais completa e adequada informação, contudo a editora e o(s) autor(es)
não assumem responsabilidade pelos resultados e usos da informação fornecida. Recomendamos aos leitores
testar a informação, bem como tomar todos os cuidados necessários (como o backup), antes da efetiva utilização.
Este livro não contém CD-ROM, disquete ou qualquer outra mídia.

Erratas e atualizações: Sempre nos esforçamos para entregar a você, leitor, um livro livre de erros técnicos ou de
conteúdo; porém, nem sempre isso é conseguido, seja por motivo de alteração de software, interpretação ou
mesmo quando alguns deslizes constam na versão original de alguns livros que traduzimos. Sendo assim, criamos
em nosso site, www.altabooks.com.br, a seção Erratas, onde relataremos, com a devida correção, qualquer erro
encontrado em nossos livros.

Avisos e Renúncia de Direitos: Este livro é vendido como está, sem garantia de qualquer tipo, seja expressa ou
implícita.

Marcas Registradas: Todos os termos mencionados e reconhecidos como Marca Registrada e/ou comercial são
de responsabilidade de seus proprietários. A Editora informa não estar associada a nenhum produto e/ou fornecedor
apresentado no livro. No decorrer da obra, imagens, nomes de produtos e fabricantes podem ter sido utilizados, e
desde já a Editora informa que o uso é apenas ilustrativo e/ou educativo, não visando ao lucro, favorecimento ou
desmerecimento do produto/fabricante.

Produção Editorial: Editora Alta Books


Coordenação Editorial: Fernanda Silveira
Tradução: Armando Figueiredo e Betina Macêdo
Revisão: Patrícia Veloso
Diagramação: Fernanda Silveira

Impresso no Brasil

O código de propriedade intelectual de 1º de Julho de 1992 proíbe expressamente o uso coletivo sem
autorização dos detentores do direito autoral da obra, bem como a cópia ilegal do original. Esta prática
generalizada nos estabelecimentos de ensino, provoca uma brutal baixa nas vendas dos livros a ponto de
impossibilitar os autores de criarem novas obras.

Av. Nilo Peçanha, 155, cjs. 1101 a 1106 - Castelo Rio de Janeiro – RJ. CEP: 20020-100
Tel: 21 2532-6556/ Fax: 2215-0225
www.altabooks.com.br
e-mail: altabooks@altabooks.com.br

II Asterisk: O Futuro da Telefonia


Sumário

Introdução.............................................................................................................................................VII
Prefácio.................................................................................................................................................IX

1. Uma Revolução na Telefonia...............................................................................................................1


VoIP: Cruzando o vazio entre a telefonia tradicional e a telefonia em rede...............................................................1
Alterações maciças requerem tecnologia flexível..................................................................................................2
Asterisk: o PBX hacker......................................................................................................................................3
Asterisk: o PBX profissional...............................................................................................................................4
A comunidade Asterisk......................................................................................................................................4
O caso empresarial............................................................................................................................................5
Este livro...........................................................................................................................................................6

2. Preparação de um Sistema para o Asterisk................................................................................................7


Ambiente................................................................................................................................................................................14
Hardware de telefonia....................................................................................................................................17
Tipos de telefones..........................................................................................................................................19
Considerações sobre o Linux.............................................................................................................................22

3. Instalação do Asterisk........................................................................................................................25
De que pacotes eu preciso?............................................................................................................................25
Obtenção do código-fonte...............................................................................................................................26
Compilação do Zaptel...................................................................................................................................28
Compilação da libpri..........................................................................................................................................32
Compilação do Asterisk...............................................................................................................................33
Instalação de prompts adicionais.......................................................................................................................36
Atualização do código-fonte...........................................................................................................................36
Problemas comuns de compilação...................................................................................................................37

III
Carregamento do Asterisk.............................................................................................................................41
Diretórios usados pelo Asterisk.....................................................................................................................42
Conclusão....................................................................................................................................................45

4. Configuração Inicial do Asterisk............................................................................................................47


Do que eu realmente preciso?......................................................................................................................47
Trabalho com os arquivos de configuração de interface.......................................................................................47
Canais FXO e FXS.........................................................................................................................................48
Configuração de um canal FXO.........................................................................................................................49
Configuração de um canal FXS......................................................................................................................52
Configuração do SIP..........................................................................................................................................54
Configuração de conexões IAX de entrada........................................................................................................57
Configuração das conexões IAX de saída.......................................................................................................58
Eliminação de defeitos...................................................................................................................................59
Conclusão.....................................................................................................................................................60

5. Básico do Dialplan.............................................................................................................................61
Sintaxe do Dialplan........................................................................................................................................61
Um simples Dialplan.......................................................................................................................................64
Acréscimo de lógica ao Dialplan.......................................................................................................................66
Conclusão.....................................................................................................................................................78

6. Mais Conceitos do Dialplan................................................................................................................79


Manipulação de expressões e variáveis............................................................................................................79
Funções do Dialplan........................................................................................................................................81
Ramificação condicional...................................................................................................................................82
Correio de voz................................................................................................................................................85
Macros....................................................................................................................................................87
Uso do banco de dados do Asterisk (AstDB)................................................................................................90
Características práticas do Asterisk..............................................................................................................92
Conclusão...................................................................................................................................................94

IV Asterisk: O Futuro da Telefonia


7. Entendendo a Telefonia.......................................................................................................................95
Telefonia analógica......................................................................................................................................95
Telefonia digital............................................................................................................................................97
A Rede de Telefonia Digital de Circuito Chaveado.........................................................................................104
Protocolos de sinalização digital..................................................................................................................105
Conclusão....................................................................................................................................................107

8. Protocolos para VoIP........................................................................................................................109


A necessidade de protocolos VoIP..............................................................................................................110
Protocolos VoIP........................................................................................................................................110
Codecs...................................................................................................................................................114
Qualidade de serviço.................................................................................................................................117
Eco.........................................................................................................................................................119
O Asterisk e o VoIP...................................................................................................................................120
Conclusão...............................................................................................................................................122

9. Asterisk Gateway Interface (AGI)...................................................................................................123


Fundamentos da comunicação AGI............................................................................................................123
Como escrever scripts AGI em Perl..........................................................................................................125
Como criar scripts AGI em PHP.................................................................................................................129
Como escrever scripts AGI em Python........................................................................................................134
Depuração na AGI...................................................................................................................................137
Conclusão...............................................................................................................................................138

10. Asterisk para o Supernerd.............................................................................................................139


Festival...................................................................................................................................................139
Gravação dos detalhes da chamada............................................................................................................141
Personalização de prompts do sistema.......................................................................................................143
Manager...................................................................................................................................................143
Arquivos de chamadas..............................................................................................................................145
DUNDi...................................................................................................................................................146
Conclusão................................................................................................................................................171

V
11. Asterisk: O Futuro da Telefonia....................................................................................................153
Os problemas da telefonia tradicional.........................................................................................................153
A mudança de paradigma..........................................................................................................................155
A promessa de uma telefonia aberta...........................................................................................................155
O futuro do Asterisk.................................................................................................................................160

A. Canais VoIP.....................................................................................................................................167
B. Referências das Aplicações.............................................................................................................185
C. Referência AGI...............................................................................................................................247
D. Arquivos de Configuração...............................................................................................................157
E. Referência para Interface de Linha de Comando do Asterisk........................................................291

VI Asterisk: O Futuro da Telefonia


Introdução

Era uma vez um menino.


...com um computador
...e um telefone.
Esse simples começo causou tantos problemas!
Não faz muito tempo que as telecomunicações, tanto voz como dados, assim como o software, eram todos os
produtos e serviços proprietários, controlados por um clube seleto de empresas que criaram essas tecnologias e
outro clube seleto de empresas que utilizaram os produtos para fornecer serviços. No final dos anos 90, as
telecomunicações de dados foram abertas pela expansão da Internet. Os preços caíram. Surgiram tecnologias,
serviços e empresas novas e inovadoras. Nesse meio tempo, o trabalho de pioneiros do software livre como
Richard Stallman, Linus Torvalds e incontáveis outros culminou na criação na plataforma de software realmente
aberta chamada Linux (ou GNU/Linux). Entretanto, as comunicações de voz, onipresentes como eram,
permaneceram proprietárias. Por quê? Talvez porque a voz na velha rede pública de telefonia não tivesse o
glamour e a promessa da novíssima World Wide Web. Ou talvez porque o telefone não seja um efetivo fornecedor
de entretenimento para adultos. Seja qual for o motivo, uma coisa estava clara: as comunicações de voz de fonte
aberta eram tão vastas como o software de proteção à cópia de fonte aberta.
A necessidade (e, em alguns casos, o custo) é verdadeiramente a mãe das invenções. Em 1999, ao iniciar o Linux
Support Services (Serviços de Suporte ao Linux) para oferecer suporte técnico comercial e livre ao Linux,
encontrei-me precisando (ou pelo menos achando que precisava) de um sistema telefônico que me auxiliasse no
suporte técnico 24 horas. A idéia era que as pessoas pudessem ligar, inserir suas identidades de clientes e deixar
uma mensagem. O sistema iria localizar o técnico para que ele respondesse às dúvidas do cliente em um curto
espaço de tempo. Como eu tinha iniciado a empresa com mais ou menos quatro mil dólares de capital, não estava
em condições de adquirir um sistema telefônico do tipo de que eu precisava para implementar nessa situação.
Como eu já era usuário do Linux desde 1994 e já tinha mergulhado no desenvolvimento de software de Fonte
Aberta com l2tpd, gaim e cheops, e na completa ausência de qualquer um que pudesse me explicar a complexidade
de tal tarefa, decidi que faria meu próprio sistema telefônico utilizando um hardware emprestado da Adtran, onde
trabalhei como estagiário. Uma vez que eu conseguisse colocar uma ligação em um PC, eu fantasiava, poderia
fazer qualquer coisa com ela. De fato, foi a partir dessa conjectura que surgiu o lema (todos os projetos efetivos
e de tamanho considerável devem possuir um) oficial do Asterisk:
É apenas software!
Para o melhor ou pior, eu nunca penso pequeno. Desde o início, era minha intenção que o Asterisk fizesse de tudo
em relação à telefonia. O nome “Asterisk” foi escolhido porque tanto era uma tecla do telefone comum como
também um símbolo curinga no Linux (por exemplo, rm –rf *).
Portanto, em 1999, eu possuía uma plataforma livre de telefonia que coloquei na web e conduzi meu trabalho
tentando me manter com o fornecimento de suporte técnico em Linux. Entretanto, em 2001, com o crescimento
da economia, tornou-se aparente que seria melhor para a Linux Support Services trabalhar para desenvolver o
Asterisk do que trabalhar com o suporte técnico de propósito geral do Linux. Naquele ano, faríamos contato com
Jim “Dude” Dixon, do projeto Zapata Telephony. O excitante trabalho de Dude seria um fantástico parceiro do
Asterisk e forneceria um modelo de negócios para que nós começássemos a pensar no Asterisk com mais foco.
Após criarmos nossa primeira interface PCI de telefonia em conjunto com Dude, ficou claro que “Linux Support
Services” não era o melhor nome para uma empresa de telefonia, assim o alteramos para “Digium”, que é uma

VII
outra história, que não consigo contar por escrito. A entrada da Voz sobre IP (“VoIP”) foi uma ruptura, uma
transição do antigo, as redes de comutação de circuitos, para o novo, as redes baseadas em IP, e as coisas
realmente começaram a acontecer.
Agora, como já dissemos, é claro que a maioria das pessoas não fica muito animada com os telefones. É certo que
poucas pessoas puderam compartilhar de minha alegria no momento em que ouvi o tom de discagem vindo de um
telefone conectado ao meu PC. Entretanto, aqueles que adoram os telefones ficam realmente radiantes com os
telefones. E, auxiliado pela Internet, esse pequeno grupo de pessoas agora é capaz de unir e aplicar nossas paixões
bizarras a um projeto prático e comum para a melhoria do bem-estar de muitos.
Dizer que a telefonia estava madura para uma solução de fonte aberta seria uma declaração imensurável. A
telefonia possui um mercado enorme devido à onipresença dos telefones em nosso trabalho e em nossa vida
pessoal. O mercado direto para os produtos de telefonia possui uma platéia altamente técnica que está extremamente
disposta a contribuir. As pessoas exigem que as soluções de telefonia sejam infinitamente personalizáveis. A
telefonia proprietária é muito cara. A criação do Asterisk foi simplesmente uma faísca nesse cenário cheio de
combustível.
O Asterisk está no ápice de uma variedade de transições (Proprietário > Fonte Aberta; Comutação de Circuitos >
VoIP; apenas Voz > Voz, Vídeo e Dados; Processamento do Sinal Digital > Processamento da Mídia do Host;
Diretório Centralizado > Ausência de Hierarquia (Peer to Peer)), uma vez que facilita essas transições ao fornecer
pontes de retorno às antigas maneiras de fazer as coisas. O Asterisk pode conversar com quase tudo, desde os
telefones de discagem de pulso criados nos anos 60 até os mais modernos dispositivos VoIP sem fio, e fornece
recursos que vão desde a simples comutação em série até a presença do bluetooth e DUNDi.
Entretanto, o mais importante de tudo é que o Asterisk demonstra como uma comunidade de pessoas e empresas
motivadas pode trabalhar em conjunto para criar um projeto com um escopo tão significativo que nenhuma pessoa
ou empresa conseguiria criar sozinha. Ao tornar o Asterisk possível, eu gostaria de agradecer a Linus Torvalds,
Richard Stallman, toda a comunidade Asterisk e ao inventor do Red Bull, seja quem for.
Logo, aonde vai o Asterisk a partir de agora? Pense na história do PC. Quando foi apresentado pela primeira vez
em 1980, ele possuía uma capacidade bem limitada. Talvez você conseguisse fazer uma planilha, talvez processar
algum texto, mas, no final, não conseguia fazer nada de mais. Com o passar do tempo, no entanto, sua arquitetura
aberta levou à redução de preço e a novos produtos que permitiram a lenta expansão de suas aplicações, finalmente
substituindo o mini-computador, e então o mainframe. Agora, até os supercomputadores Cray são construídos com
arquiteturas x86 baseadas em Linux. Eu previ que o futuro do Asterisk seria bem similar. Hoje, há uma grande
parte da telefonia que é servida pelo Asterisk. Amanhã, quem sabe qual será o limite.
Portanto, o que você está esperando? Leia, aprenda e participe do futuro das telecomunicações abertas ao juntar-
se à revolução Asterisk!
-Mark Spencer

VIII Asterisk: O Futuro da Telefonia


Prefácio

Este é um livro para qualquer pessoa que seja principiante em Asterisk™.


O Asterisk é uma plataforma de telefonia convergida, de fonte aberta, que é projetada para rodar em Linux. O
Asterisk combina mais de 100 anos de conhecimento em telefonia num robusto conjunto de aplicações em
telecomunicações, solidamente integradas. A força do Asterisk reside em sua natureza personalizável, complementada
por padrões de conformidade sem comparação. Nenhum outro PBX pode se desdobrar em tantas e tão criativas
formas.
Aplicações tais como correio de voz, conferência, ordenamento de chamadas e agentes, música em espera e
chamadas em espera são dispositivos padronizados, montados diretamente no software. Além disso, o Asterisk
pode se integrar com outras tecnologias de empresas em condições que os PBXs fechados, de propriedade, não
podem nem sonhar.
O Asterisk pode parecer desanimador e complexo para um usuário principiante, sendo essa a razão por que a
documentação é tão importante para seu desenvolvimento. A documentação derruba a barreira da entrada e ajuda
o pessoal a encarar as suas possibilidades.
Produzido com o generoso suporte da O’Reilly Media, Asterisk: o Futuro da Telefonia foi inspirado pelo trabalho
iniciado com o Projeto de Documentação do Asterisk. Nós percorremos um longo caminho e este livro é a realização
de um desejo de fornecimento de documentação que introduza os elementos mais fundamentais de Asterisk - as
coisas de que qualquer principiante em Asterisk precisa saber. Este é o primeiro volume de uma série, estamos
certos disso, que formará uma grande biblioteca em relação ao Asterisk.
Este livro foi escrito para, e pela, comunidade Asterisk.

Público-alvo
Este livro é para principiantes em Asterisk, mas nós imaginamos que você esteja familiarizado com a administração
básica do Linux, redes e outras matérias de IT. Senão, nós o encorajamos a explorar a vasta e maravilhosa
biblioteca das publicações O’Reilly sobre esses assuntos. Nós imaginamos também que você seja principiante nos
assuntos de telecomunicações, tanto na telefonia tradicional chaveada como no novo mundo da voz sobre IP.

Organização
O livro está organizado nos seguintes capítulos:
Capítulo 1, Uma Revolução na Telefonia
É aqui que cortamos a lenha e acendemos o fogo. O Asterisk vai mudar o mundo da telefonia e é aqui que nós
discutimos nossas razões para acreditarmos nisso.
Capítulo 2, Preparação de um Sistema para o Asterisk
Cobre algumas das considerações de engenharia que você deve ter ao projetar um sistema de telecomunicações.
Grande parte desse material pode ser desnecessária se você quer ir direto à instalação, mas é importante que
esses conceitos sejam entendidos caso você planeje, em alguma oportunidade, colocar em produção um
sistema Asterisk.

IX
Capítulo 3, Instalação do Asterisk
Cobre a obtenção, compilação e instalação do Asterisk.
Capítulo 4, Configuração Inicial do Asterisk
Descreve a configuração inicial do Asterisk. Aqui iremos cobrir os importantes arquivos de configuração que
devem existir para definir os canais e características disponíveis para o seu sistema.
Capítulo 5, Básico do Dialplan
Introduz o coração do Asterisk, o dialplan.
Capítulo 6, Mais Conceitos em Dialplan
Faz um avanço nos conceitos de dialplan.
Capítulo 7, Entendendo a Telefonia
Dando uma parada no Asterisk, esse capítulo discute algumas das mais importantes tecnologias em uso na
Rede Pública de Telefonia.
Capítulo 8, Protocolos para VoIP
Seguindo a discussão sobre a telefonia legal, esse capítulo discute Voz sobre IP.
Capítulo 9, Asterisk Gateway Interface (AGI)
Introduz um dos mais fascinantes componentes, a Asterisk Gateway Interface. Utilizando Perl, PHP e Python,
nós demonstramos como programas externos podem ser utilizados para adicionar funcionalidade praticamente
sem limite ao seu PBX.
Capítulo 10, Asterisk para o Supernerd
Cobre superficialmente o que é, de fato, uma rica e variada cornucópia de incríveis dispositivos e funções,
tudo parte do fenômeno Asterisk.
Capítulo 11, Asterisk: o Futuro da Telefonia
Prediz um futuro em que a telefonia de fonte aberta transforma completamente uma indústria desesperadamente
necessitada de um software revolucionário.

Software
Este livro tem seu foco na documentação do Asterisk Versão 1.2, entretanto, muitas das convenções e informações
deste livro são versões agnósticas. Linux é o sistema operacional em que nós rodamos e testamos o Asterisk, com
uma queda pela sintaxe Red Hat. Nós decidimos que, embora as distribuições baseadas em Red Hat possam não
ser as escolhas preferidas por todo mundo, seu layout e seus utilitários são sem dúvida familiares a muitos
administradores experientes do Linux.

Convenções Utilizadas neste Livro


As seguintes convenções tipográficas são utilizadas neste livro:
Itálico
Indica novos termos, URLs, endereços de e-mail, nomes de arquivos, extensões de arquivos, caminhos,
diretórios e utilitários Unix.
Fonte diferente

Indica comandos, opções, parâmetros e argumentos que devem ser substituídos em comandos.
X Asterisk: O Futuro da Telefonia
Fonte diferente com negrito

Mostra comandos ou outros textos que devem ser literalmente digitados pelo usuário.
Fonte diferente com itálico

Mostra textos que devem ser substituídos por valores do usuário.


[ Palavras-chave e outras coisas ]
Indicam palavras-chave opcionais e argumentos.
{ opção-1 | opção-2 }
Significa a escolha pela opção-1 ou pela opção-2.

Este ícone significa uma dica, sugestão ou nota geral.

Este ícone significa um aviso ou alerta.

Utilizando Exemplos de Códigos


Este livro está aqui para auxiliá-lo a fazer seu trabalho. Em geral, você deverá utilizar o código deste livro em seus
programas e documentações. Você não precisará nos contatar para obter autorizações a não ser que esteja
reproduzindo uma parte significativa do código. Por exemplo, ao escrever um programa que utiliza vários pedaços
de códigos deste livro, você não precisará de permissão. Vender ou distribuir um CD-ROM de exemplos dos livros
da O’Reilly requer permissão. Responder a uma pergunta citando este livro e citando exemplos de códigos não
requer permissão. Incorporar uma quantidade significativa de exemplos de códigos deste livro na documentação
de seu produto requer permissão.
Nós apreciamos, mas não exigimos, atribuição. Uma atribuição normalmente inclui o título, autor, editor e ISBN.
Por exemplo: “Asterisk: o Futuro da Telefonia, por Jim Van Meggelen, Jared Smith e Leif Madsen. Copyright 2005
O’Reilly Media, Inc., 0-596-00962-3.”
Se achar que o seu uso dos exemplos de códigos fica fora do uso livre ou da permissão dada acima, esteja à
vontade para nos contatar em permission@oreilly.com.

Safari® Enabled
Quando você encontrar um ícone Safari® Enabled em seu livro favorito de tecnologia, isso
significa que esse livro está disponível on-line através da O’Reilly Network Safari Bookshelf.
A Safari oferece uma solução que é melhor que os e-books. É uma biblioteca virtual que
permite encontrar facilmente milhares de livros de tecnologia de ponta, copiar e colar amostras de códigos, baixar
capítulos e encontrar respostas rápidas quando você necessitar de informações mais precisas e atuais. Experimente
gratuitamente em http://safari.oreilly.com.

Como nos contatar


Por favor, envie comentários e perguntas (em inglês) a respeito deste livro ao editor:

XI
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
(800) 998-9938 (nos Estados Unidos ou Canadá)
(707) 829-0515 (internacional ou local)
(707) 829-0104 (fax)
Nós temos uma página na web para este livro, onde listamos erratas, exemplos e quaisquer informações adicionais.
Você pode acessar este livro em:
http://www.oreilly.com/catalog/asterisk
Para comentar ou fazer perguntas técnicas sobre este livro, envie e-mail (em inglês) para:
bookquestions@oreilly.com
Para mais informações sobre nossos livros, conferências, Centros de Recursos e a Rede O’Reilly, ver nosso site
na Web em:
http://www.oreilly.com

Agradecimentos
Primeiramente, devemos agradecer a nosso fantástico editor Michael Loukides, que nos proporcionou
incomensurável retorno e encontrou incrível tato para dizer que alguma seção (ou capítulo) tinha que ser reescrita
quando isso era mesmo necessário, fazendo-nos pensar que isso era idéia nossa. Michael nos levantou quando
estávamos em baixo astral e nos levou de volta para o solo quando decolamos. Mike, você é um mestre e ver
quantos livros receberam sua supervisão contribui para entender porque a O’Reilly Media tem o sucesso que tem.
Obrigado também a Rachel Wheeler, nossa editora de cópia, Colleen Gorman, nosso editor de produção, e ao
restante dos heróis ocultos do departamento de produção da O’Reilly. Eles são os camaradas que receberam
nosso livro e o fizeram um livro da O’Reilly. Todo mundo na comunidade Asterisk deve agradecer a Jim Dixon por
criar as primeiras interfaces de hardware de telefonia de fonte aberta, iniciando a revolução e dando sua criação
para a comunidade.
Obrigado a Tim O’Reilly, por nos dar a chance de escrever este livro.
Para a nossa equipe de revisão generosa e impiedosa:
z Rich Adamson, Presidente da Network Partners Inc., por seu conhecimento enciclopédico de PSTN e seu
incansável desejo de compartilhar sua experiência. Sua generosidade, mesmo em face de desafios
desencorajadores, é inspiradora para todos nós.
z Dr. Edward Guy, Cientista Chefe, Pulver Innovations, por sua avaliação compreensiva e afiada de cada e
todos os capítulos, e por sua defesa do Asterisk.
z Kristian Kielhofner, Presidente, KrisCompanies, e criador de AstLinux, pela excelente distribuição de
AstLinux.
z Joel Sisko, Systems Integrator, por afrontar o fogo.
z Travis Smith, pelo valioso retorno em tempo adequado.
z Ted Wallingford, pelo encaminhamento da O’Reilly’s: Chaveamento para VoIP.

XII Asterisk: O Futuro da Telefonia


z Brian K. West, pelo seu comprometimento com a comunidade, Asterisk, nosso livro e com a telefonia de
fonte aberta.
z Joshua Colp, pelo levantamento e resposta das numerosas questões colocadas por Leif.
z Robert M. Zigweid, não apenas por sua avaliação do nosso livro (especialmente pela profunda verificação
dos apêndices), mas também por ter o nome mais frio do universo.
Anthony Minessale (conhecido como anthm) é um dos heróis ocultos do desenvolvimento do Asterisk. O número
de pessoas que contribuíram para o desenvolvimento do Asterisk é muito grande; o número dos que se comparam
em esforços com Anthony é pequeno.
Finalmente, e mais importante, obrigado a Mark Spencer pelo GAIM, Asterisk e DUNDi, e por contribuir com
suas criações para a comunidade de fonte aberta.

Leif Madsen
O caminho para a feitura deste livro passou por quase três anos. Desde quando comecei a utilizar o Asterisk,
possivelmente igual a você, não sabia nada sobre Asterisk, muito pouco sobre telefonia tradicional e menos ainda
sobre voz sobre IP. Eu penetrei nesse novo e excitante mundo e peguei tudo o que podia. Por dois meses, durante
um prazo cooperativo, pelo qual eu não pude encontrar trabalho imediato, absorvi tanto quanto pude, fazendo
perguntas, experiências e verificando o que o sistema podia fazer. Desafortunadamente, muito pouca ou nenhuma
documentação existia sobre o Asterisk, além de alguns exemplos de dialplan que John Todd me ajudou a encontrar,
e de ter questões respondidas por Brian K. West sobre IRC. É claro que esse método não estava levando a um
escalamento.
Não sendo um especialista em codificação, eu queria contribuir com a comunidade, e o que os codificadores
odeiam fazer, acima de tudo? Documentação! Iniciei então A Designação de Documentação do Asterisk (TADA),
uma descrição básica, com alguma informação para o começo de um livro.
Logo após inserir esse documento em meu website, um camarada inteligente que se chama Jared Smith se
apresentou. Ele tinha as mesmas aspirações de criar um livro no formato “árvore-caída” para a comunidade e,
humildemente, nós iniciamos o Projeto de Documentação do Asterisk. Jared criou um website em http://
www.asteriskdocs.org, um servidor de CVS e a primeira versão formatada de DocBook para um livro de Asterisk.
A partir daí começamos a preencher as informações e, rapidamente, submetemos as informações aos membros da
comunidade.
Em junho de 2004, um sujeito animado, com o nome de Jim Van Meggelen, começou a aparecer nas listas do
correio, dando contribuições com muitas informações e para documentação – era exatamente o cara que queríamos
na nossa equipe! Jim tinha a visão e jeito de nos conduzir para a realidade, de forma a produzirmos algo realmente
grandioso. Ele nos trouxe anos de experiência e um talento para escrever que nós nem poderíamos imaginar.
Com o núcleo básico de documentação definido, nós embarcamos num plano de criação de volumes de conhecimento
de Asterisk, sem dúvida levando a uma completa biblioteca com riqueza de informações. Este livro é essencialmente
o começo desse sonho.
Primeira e principalmente, tenho que agradecer a meus pais, Rick e Carol, por sempre apoiarem meus esforços,
permitindo a realização dos meus sonhos, e sempre colocando minhas necessidades à frente das deles. Sem a
visão, compreensão e avanço no futuro deles, seria impossível chegar aonde cheguei. Eu os amo muito!
Gostaria de agradecer a Felix Carapaica e Bill Farkas, do Instituto Sheridan de Tecnologia, por sua dedicação ao
avanço do conhecimento. Suas lições complementaram meu conhecimento inicial de roteamento e telecomunicações
exponencialmente.
Existem muitas e muitas pessoas a quem devo agradecer individualmente, mas com especial importância, as
seguintes pessoas foram e são as mais influentes no entendimento do Asterisk: Olle Johansson, Steven Sokol,
Joshua Colp, Brian K. West, John Todd – e William Suffill pelo primeiro telefone VoIP. E, para aqueles a quem
disse que iria mencionar no livro, obrigado!
XIII
E, é claro, tenho que agradecer a Jared Smith e Jim Van Meggelen por terem tido a visão e o entendimento de quão
importante a documentação realmente é – tudo isso teria sido impossível sem vocês.

Jared Smith
Comecei a trabalhar pela primeira vez com o Asterisk na primavera de 2002. Recentemente iniciei novo trabalho
com uma companhia de pesquisa de mercado que terminou numa longa viagem até um remoto centro de chamadas
com o CIO. Na longa viagem de volta, nós conversamos sobre inovações em telefonia e ele mencionou um
pequeno projeto de telefonia de fonte aberta do qual havia ouvido falar e que se chamava Asterisk. Após alguns
meses, eu estava apto a sugerir que a companhia comprasse um kit de desenvolvimento da Digium e iniciasse o
uso do Asterisk na companhia.
Nos meses seguintes, fui ficando mais e mais envolvido com a comunidade do Asterisk. Eu li as listas de correios.
Fiz uma filtragem nos arquivos. Conectei o canal IRC, esperando somente encontrar informações sobre o Asterisk.
Ao longo do tempo, fiquei apto a implantar e manter o Asterisk em operação.
Foi aí que a diversão começou.
Com a ajuda do CIO e a aprovação do CEO, nós prosseguimos com nossos planos de direcionar toda nossa
telecomunicação para o Asterisk, incluindo nosso escritório corporativo e todos os centros de chamadas remotas.
Pelo caminho, tivemos que passar por muitas áreas não mapeadas, e comecei a pensar em criar um bom repositório
de conhecimentos do Asterisk. Durante o projeto, ficamos aptos a fazer algumas coisas realmente inovadoras, tais
como inventar o tronco de IAX!
Quando tudo estava dito e feito, nós havíamos instalado cerca de quarenta servidores Asterisk, espalhados ao
longo de muitas locações geográficas, todos comunicando entre si, de modo a proporcionar um sistema de telefonia
de classe empresarial VoIP coesivo. Esse sistema manipula, atualmente, cerca de um milhão de minutos de chamadas
por mês, atende a várias centenas de empregados, conecta com 27 T1s de voz e economiza para a companhia
cerca de 20 mil dólares americanos por mês em custos de telecomunicações. Em resumo, nosso projeto de Asterisk
foi um sucesso estrondoso!
Enquanto implementávamos o projeto, encontrei Leif num canal IRC do Asterisk. Conversamos sobre as maneiras
pelas quais poderíamos ajudar novos usuários de Asterisk e reduzir as barreiras de entrada, decidindo então levar
em frente os planos para produzir documentação sobre o Asterisk. O que eu realmente queria era um livro em
formato “árvore-caída” – basicamente um livro em que um novato poderia aprender o básico sobre Asterisk.
Naquela época, o número de novatos nas listas de correio do Asterisk e nos canais de IRC crescia tremendamente,
e percebemos que escrever um livro sobre Asterisk iria melhorar imensamente a razão sinal-para-ruído. O Projeto
de Documentação do Asterisk nascia! O resto, dizem, é história. Desde então, estamos escrevendo documentação
sobre o Asterisk. Eu não pensava que seria tão árduo, nem recompensador. (Eu brinquei com Leif e Jim que seria
mais fácil e menos controverso escrever um tomo em profundidade chamado “Religião, Controle de Armas e
Sushi” do que cobrir tudo que o Asterisk tem a oferecer em detalhes suficientes!) Aquilo que você encontra aqui
é o resultado direto de um monte de noites perdidas e longos fins de semana gastos ajudando a comunidade do
Asterisk – acima de tudo, pelo menos é o que pudemos fazer, considerando o que o Asterisk nos deu. Esperamos
que isso inspire outros membros da comunidade do Asterisk a ajudar na retificação dos documentos e nos novos
dispositivos, para o bem de todos os envolvidos.
Agora, para agradecer a algumas pessoas:
Em primeiro lugar, gostaria de agradecer à minha bela esposa. Ela teve de passar muitas noites solitárias enquanto
eu me escravizava ao teclado. Gostaria também que ela soubesse quanto eu a aprecio e a seu interminável apoio.
Gostaria também de agradecer a meus filhos, que fizeram o melhor para lembrar-me das coisas importantes da
vida. Eu os amo!
Aos meus pais: obrigado por tudo o que fizeram para me ajudar a crescer e aprender ao longo dos anos. Vocês são
os melhores pais que uma pessoa poderia querer ter.
A Dave Carr e Michael Lundberg: obrigado por me deixarem aprender Asterisk durante o expediente. Trabalhar
XIV Asterisk: O Futuro da Telefonia
com vocês foi realmente um prazer. Que Deus sorria para vocês dando-lhes sucesso e alegria em tudo que façam.
A Leif e Jim: obrigado por tolerarem minhas piadas estúpidas, minha insistência em fazer as coisas “da maneira
certa” e minha agenda maluca. Obrigado por me empurrarem para frente e por me fazerem um melhor escritor.
Eu realmente gosto de trabalhar com vocês e espero que participemos de futuros projetos!
A Mark Spencer: obrigado pelo seu incansável apoio, dedicação e amizade. Você foi uma inestimável fonte de
recursos ao nosso esforço, e realmente acredito que você iniciou uma revolução no mundo da telefonia. Você será
sempre bem-vindo em minha casa e minha mesa de jantar!
A todo o pessoal da Digium: obrigado por sua ajuda e apoio. Nós somos especialmente gratos por seu empenho em
nos dar maior penetração no código do Asterisk e por nos doar hardware de forma que pudemos melhor documentar
o Kit do Asterisk para Projetistas.
A Steven Sokol, Steven Critchfield, Olle E. Johansson e os outros que contribuíram para o Projeto de Documentação
do Asterisk e para este livro: muito obrigado! Nós não o poderíamos ter produzido sem sua ajuda e sugestões.

Jim Van Meggelen


Para mim, tudo isso começou na primavera de 2004, sentado em minha mesa no departamento de suporte técnico
da companhia de telecomunicações em que trabalhei por cerca de 15 anos. Sem nenhum desafio interessante para
meus conhecimentos, eu gastava meu tempo imaginando o que havia atingido nos últimos 15 anos. Eu estava
enterrado numa indústria que havia perdido muitas oportunidades e que tinha tido, por isso, uma espetacular e
embaraçosa queda de uma posição de queridinha dos investidores para se tornar a piada até dos menos informados.
Eu deveria me sentir afortunado por ser um dos poucos que ainda tinham trabalho, mas, que ingratidão, era um
trabalho sem finalidade. Sabíamos por que nossa indústria estava em queda: os produtos que vendíamos não
podiam fornecer as soluções que os nossos clientes queriam – mesmo que a indústria prometesse que poderiam.
Faltava-lhes flexibilidade e estavam com os preços totalmente fora da funcionalidade que proporcionavam (ou,
mais corretamente, deixavam de proporcionar). Nada na indústria indicava que isso estava para mudar tão cedo.
Eu sonhei com um PBX de fonte aberta por muitos e longos anos, mas eu realmente nem sabia como uma coisa
dessas poderia ser – eu havia desistido da idéia havia alguns anos. Sabia que, para ter sucesso, um PBX de fonte
aberta deveria ser uma ponte entre o mundo da legalidade e das redes baseadas em telecomunicações. Eu nunca
consegui encontrar alguma coisa que já estivesse pronta.
Então, num belo dia de primavera, eu iniciei uma pesquisa no Google com a frase “telefonia de fonte aberta”, e
descobri um novo e brilhante futuro para as telecomunicações: Asterisk, o PBX de Fonte Aberta do Linux.
Lá estava ele: a coisa pela qual eu havia sonhado por tantos anos. As nuvens se abriram, o sol brilhou; a aventura
estava à frente. Eu não tinha idéia de como poderia contribuir, mas sabia que a telefonia de fonte aberta estava
para provocar uma necessária e benéfica revolução na indústria de telecomunicações; e, de uma forma ou de
outra, eu estava para tomar parte nisso.
Para mim, mais um integrador de sistemas do que um projetista, eu precisava contribuir de alguma forma para a
comunidade. Não parecia haver falta de projetistas, mas certamente havia falta de documentação. Isso parecia
alguma coisa em que eu poderia trabalhar. Eu sabia escrever, sabia uma coisa ou duas sobre PBXs e,
desesperadamente, precisava conversar sobre esse fenômeno que, de repente, tornou a telefonia divertida novamente.
Se eu contribuísse somente com uma coisa para este livro, eu esperava que você sentisse meu entusiasmo com o
assunto telefonia de fonte aberta. Esse foi um presente incrível que nos foi dado, mas também uma incrível
responsabilidade. Que maravilha de desafio. Que oportunidade cósmica. Que diversão deliciosa!
Em primeiro lugar, devo agradecer a Leif e Jared por me convidarem a tomar parte no Projeto de Documentação
do Asterisk. Eu gostei imensamente de trabalhar com vocês e estou constantemente pasmo sobre como nossas
personalidades e conhecimentos se complementaram tão bem. Uma equipe perfeitamente equilibrada é o que
somos.
À minha esposa, Killi, e a meus filhos, Kaara, Joonas e Joosep (que sempre se lembraram de me visitar quando eu

XV
desaparecia em minha toca subterrânea por tempo demais): vocês são minha fonte de inspiração. Seu amor é o
combustível que alimenta meu fogo e eu agradeço a vocês por isso.
Obviamente, devo agradecer a meus pais, Jack e Martiny, por sempre acreditarem em mim, independente de
quantas regras eu quebrei. Em alguns anos vou ter meu próprio time de adolescentes, é quando vocês terão
oportunidade de rir!
A Mark Spencer: obrigado por todas as coisas pelas quais todo mundo agradece a você, mas também, pessoalmente,
obrigado pelo tempo que emprestou generosamente à comunidade Asterisk. O Grupo de Usuários de Asterisk de
Toronto (http://www.taug.ca) executou um salto de qualidade como resultado de suas conversas conosco e isso
vai ser parte de nossa história. Ah! Sim, obrigado pelas cervejas também. :-)
Finalmente, obrigado à Comunidade do Asterisk. Este livro é nosso presente para vocês. Esperamos que vocês
gostem dele tanto quanto gostamos de escrevê-lo.

XVI Asterisk: O Futuro da Telefonia