Você está na página 1de 9

Asterisk

na prtica
2 Edio

Alexandre Keller

Novatec
Copyright 2011 da Novatec Editora Ltda.

Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.


proibida a reproduo desta obra, mesmo parcial, por qualquer processo,
sem prvia autorizao, por escrito, do autor e da Editora.

Editor: Rubens Prates


Reviso gramatical: Dbora Facin
Editorao eletrnica: Camila Kuwabata e Carolina Kuwabata
Capa: Victor Bittow

ISBN: 978-85-7522-286-7

Histrico de impresses:
Outubro/2011 Segunda edio
Maro/2010 Primeira reimpresso
Junho/2009 Primeira edio (ISBN: 978-85-7522-183-9)

Novatec Editora Ltda.


Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
Fax: +55 11 2950-8869
E-mail: novatec@novatec.com.br
Site: www.novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec

Dados Internacionais de Catalogao na Publicao (CIP)


(Cmara Brasileira do Livro, SP, Brasil)

Keller, Alexandre
Asterisk na prtica / Alexandre Keller. -- 2. ed.
-- So Paulo : Novatec Editora, 2011.

ISBN 978-85-7522-286-7

1. Asterisk (Programa de computador) 2. PBX


VOIP - Montagem e configurao 3. Telefonia pela
internet 4. VOIP - Protocolo de redes I. Ttulo.

09-05791 CDD-005.3

ndices para catlogo sistemtico:

1. PBX VOIP : Montagem e configurao com


Asterisk : Cincia da computao 005.3
OGF20110923
Sumrio

Agradecimentos.................................................................................................................... 15
Sobre o autor........................................................................................................................ 16
Prefcio................................................................................................................................ 17

Captulo 1 Introduo ao VoIP e ao Asterisk......................................................................... 19


1.1 VoIP (Voice over IP Voz sobre IP)..............................................................................19
1.1.1 Principais benefcios.......................................................................................... 20
1.1.2 Funcionalidades............................................................................................... 22
1.1.3 Digitalizao da voz ......................................................................................... 22
1.1.4 Qualidade do udio em VoIP............................................................................. 24
1.1.5 Protocolos de comunicao usados no VoIP....................................................... 27
1.1.6 O VoIP na prtica.............................................................................................. 27
1.2 Asterisk: principais caractersticas............................................................................. 28
1.2.1 Caractersticas do Asterisk................................................................................ 28
1.2.2 Verses do Asterisk............................................................................................31
1.2.3 Pacotes que compem o Asterisk...................................................................... 33

Captulo 2 Instalao do Asterisk........................................................................................ 34


2.1 Dimensionando o ambiente para o VoIP e o Asterisk.................................................. 34
2.1.1 Questes de hardware....................................................................................... 34
2.1.2 Questes de rede.............................................................................................. 36
2.1.3 Sistema operacional.......................................................................................... 37
2.2 Obtendo o cdigo e instalando o Asterisk................................................................. 38
2.2.1 Descompactando, compilando e instalando o Asterisk....................................... 38
2.2.2 Iniciando o Asterisk..........................................................................................41
2.2.3 Comandos de console do Asterisk (CLI)........................................................... 42
2.3 Laboratrio............................................................................................................. 46
2.3.1 Obter o cdigo e compilar o Asterisk................................................................. 47
2.3.2 Executar o Asterisk........................................................................................... 48

7
8 Asterisk na Prtica

Captulo 3 Conhecendo o Asterisk....................................................................................... 49


3.1 Arquivos de configurao.......................................................................................... 49
3.1.1 Sintaxe.............................................................................................................. 50
3.1.2 Arquivos de canais de comunicao (SIP e IAX2)................................................51
3.2 Plano de discagem.................................................................................................... 55
3.2.1 Primeiras aplicaes do Asterisk........................................................................ 56
3.2.2 Aplicaes e dicas utilizadas na organizao de planos de discagem e construo
de URAs........................................................................................................... 60
3.3 Laboratrio 1........................................................................................................... 62
3.3.1 Configurando os ramais.................................................................................... 62
3.3.2 Criando o plano de discagem............................................................................ 66
3.3.3 Testar............................................................................................................... 67
3.4 Laboratrio 2........................................................................................................... 67
3.4.1 Configurando as mensagens de udio da URA................................................... 67
3.4.2 Configurando a URA....................................................................................... 68
3.4.3 Testar............................................................................................................... 68
3.5 Laboratrio 3........................................................................................................... 69
3.6 Mscaras de discagem...............................................................................................71
3.7 Variveis e expresses matemticas e lgicas...............................................................71
3.7.1 Tipos de variveis.............................................................................................. 72
3.7.2 Manipulando o contedo das variveis.............................................................. 73
3.7.3 Expresses matemticas e lgicas.......................................................................74
3.7.4 Aplicaes lgicas............................................................................................. 75
3.7.5 Aplicaes gerais............................................................................................... 78
3.7.6 Funes.............................................................................................................81
3.8 Incluso de contextos............................................................................................... 85
3.9 Comandos de console do Asterisk (CLI) para o plano de discagem............................ 85
3.10 Macros................................................................................................................... 86
3.11 AstDB (Asterisk DataBase)....................................................................................... 87
3.11.1 Comandos de console do Asterisk (CLI) para o AstDB...................................... 88
3.11.2 Aplicaes associadas manipulao do AstDB................................................ 89
3.12 Laboratrio 1...........................................................................................................91
3.12.1 Implementando macros....................................................................................91
3.12.2 Testar............................................................................................................. 92
3.13 Laboratrio 2.......................................................................................................... 92
3.13.1 Configurando o plano de discagem para um IPBX............................................ 93

Captulo 4 Correio de voz.................................................................................................... 94


4.1 Implementando o correio de voz............................................................................... 94
4.1.1 Comandos de console do Asterisk (CLI) para o correio de voz............................ 96
4.2 Correio de voz e o plano de discagem....................................................................... 96
Sumrio 9

4.2.1 Aplicaes disponveis para o correio de voz ..................................................... 97


4.3 Laboratrio 1........................................................................................................... 99
4.3.1 Habilitando o acesso ao correio de voz no plano de discagem............................. 99
4.3.2 Configurando o funcionamento do correio de voz........................................... 100
4.3.3 Testar.............................................................................................................. 101
4.4 Laboratrio 2.......................................................................................................... 101
4.4.1 Instalando a interface web para consulta ao correio de voz:............................... 101
4.4.2 Testar..............................................................................................................102

Captulo 5 Funcionalidades de PABX.................................................................................. 103


5.1 Msica em espera....................................................................................................104
5.1.1 Comandos de console do Asterisk (CLI) para a msica em espera..................... 106
5.1.2 Aplicaes associadas msica em espera.........................................................107
5.2 Transferncia de chamadas.......................................................................................108
5.3 Captura de chamadas..............................................................................................108
5.3.1 Captura em grupo...........................................................................................108
5.3.2 Captura direta................................................................................................109
5.4 Estacionamento de chamadas.................................................................................. 110
5.5 Gravando chamadas.................................................................................................111
5.5.1 Aplicaes associadas gravao das chamadas do sistema.................................111
5.6 Salas de conferncia................................................................................................. 113
5.6.1 Comandos de console do Asterisk (CLI) para as salas de conferncia................. 114
5.6.2 Aplicaes associadas s salas de conferncia.................................................... 115
5.7 Laboratrio 1.......................................................................................................... 116
5.7.1 Configurando a msica em espera.................................................................... 116
5.7.2 Alterando o plano de discagem........................................................................ 116
5.7.3 Testar.............................................................................................................. 117
5.8 Laboratrio 2.......................................................................................................... 117
5.8.1 Configurando a captura de chamadas............................................................... 117
5.8.2 Configurando os ramais.................................................................................. 117
5.8.3 Testar.............................................................................................................. 117
5.9 Laboratrio 3.......................................................................................................... 117
5.9.1 Ativando o estacionamento de chamadas.......................................................... 118
5.9.2 Testar.............................................................................................................. 118

Captulo 6 Protocolos VoIP................................................................................................ 119


6.1 Session Initiated Protocol (SIP)................................................................................. 119
6.1.1 Tipos de servidores SIP.....................................................................................120
6.1.2 Funcionamento do SIP.....................................................................................120
6.1.3 SIP e o Asterisk................................................................................................125
6.1.4 Fluxo de mdia com SIP e o Asterisk.................................................................127
10 Asterisk na Prtica

6.1.5 NAT com SIP e o Asterisk.................................................................................127


6.1.6 Encriptando chamadas SIP..............................................................................129
6.1.7 Comandos de console do Asterisk (CLI) para o protocolo SIP...........................133
6.2 Laboratrio 1..........................................................................................................140
6.2.1 Conectando a um provedor SIP........................................................................140
6.2.2 Alterando o plano de discagem........................................................................ 141
6.2.3 Testar.............................................................................................................. 141
6.3 Inter-Asterisk eXchange (IAX)................................................................................. 141
6.3.1 Funcionamento do IAX2..................................................................................142
6.3.2 Modo Trunk IAX2..........................................................................................143
6.3.3 Comandos de console do Asterisk (CLI) para o protocolo IAX2........................145
6.3.4 Autenticao por meio de chaves RSA............................................................... 147
6.3.5 Criptografia com IAX2....................................................................................149
6.4 Laboratrio 2..........................................................................................................149
6.4.1 Conectando filiais com IAX2...........................................................................149
6.4.2 Testar.............................................................................................................. 151
6.5 Laboratrio 3..........................................................................................................152
6.5.1 Criao e compartilhamento das chaves RSA....................................................152
6.5.2 Testar..............................................................................................................154

Captulo 7 Bilhetagem: CDR e CEL..................................................................................... 155


7.1 Call Detail Record (CDR).........................................................................................155
7.1.1 Arquivos de configurao do CDR....................................................................156
7.1.2 Open Database Connectivity (ODBC)..............................................................157
7.1.3 Comandos de console do Asterisk (CLI) para o ODBC e CDR...........................159
7.1.4 Aplicaes associadas ao CDR......................................................................... 160
7.1.5 Funco associada ao CDR............................................................................... 160
7.2 Laboratrio 1.......................................................................................................... 161
7.2.1 Criando as tabelas no servidor MySQL............................................................. 161
7.2.2 Conectando o Asterisk ao MySQL................................................................... 161
7.2.3 Instalando uma aplicao Web para a consulta dos bilhetes..............................162
7.2.4 Testar..............................................................................................................162
7.3 Laboratrio 2..........................................................................................................163
7.3.1 Conectando o UnixODBX ao MySQL...............................................................163
7.3.2 Conectando o Asterisk ao MySQL via ODBC e customizando bilhetes CDR......163
7.3.3 Testar..............................................................................................................165
7.4 Channel Event Logging (CEL).................................................................................165
7.4.1 Tipos de Eventos de Canal ...............................................................................165
7.4.2 Arquivos de configurao do CEL....................................................................167
7.4.3 Comandos de console do Asterisk (CLI) para o CEL.........................................167
7.4.4 Aplicaes associadas ao CEL.......................................................................... 168
7.5 Laboratrio 3......................................................................................................... 168
Sumrio 11

Captulo 8 Distribuio Automtica de Chamadas (DAC)..................................................... 169


8.1 Funcionamento e configurao do DAC....................................................................169
8.1.1 Comandos de console do Asterisk (CLI) para as filas de atendimento................ 175
8.1.2 Aplicaes associadas s filas de atendimento...................................................176
8.1.3 Gerenciamento das filas de atendimento........................................................... 181
8.2 Laboratrio............................................................................................................184
8.2.1 Configurando a distribuio automtica de chamadas......................................184
8.2.2 Alterando o plano de discagem........................................................................184
8.2.3 Testar..............................................................................................................185

Captulo 9 AGI, AMI e arquivos de chamada....................................................................... 186


9.1 Arquivo de chamadas...............................................................................................186
9.2 Asterisk Manager Interface (AMI)............................................................................188
9.3 Asterisk Gateway Interface (AGI).............................................................................195
9.4 Laboratrio.............................................................................................................198
9.4.1 Configurando o AMI.......................................................................................198
9.4.2 Instalando o FOP............................................................................................198
9.4.3 Testar..............................................................................................................198

Captulo 10 Telefonia convencional................................................................................... 199


10.1 Funcionamento e organizao da telefonia convencional..........................................199
10.2 Tipos de sinalizao e de circuitos na telefonia convencional................................... 201
10.2.1 Estabelecimento de um circuito, ou chamada telefnica................................... 201
10.2.2 Sinalizao multi-frequency (MF)................................................................. 203
10.2.3 Sinalizao R2-Digital................................................................................... 203
10.2.4 Sinalizao ISDN.......................................................................................... 207
10.3 Informaes importantes sobre links E1................................................................. 209
10.4 Placas de comunicao para o Asterisk...................................................................210
10.4.1 Instalao de uma placa de comunicao........................................................ 213
10.5 Instalao de placas Digium................................................................................... 213
10.5.1 Configurao do DAHDI................................................................................ 214
10.5.2 Comandos de console do Asterisk (CLI) para o ISDN.................................... 220
10.5.3 Instalando o OpenR2.....................................................................................223
10.5.4 Comandos de console do Asterisk (CLI) para o OpenR2................................ 227
10.6 Instalao de placas Digivoice............................................................................... 229
10.6.1 Instalao dos drivers da Digivoice................................................................. 230
10.6.2 Configurao do digivoice.conf...................................................................... 231
10.6.3 Comandos de console do Asterisk (CLI) para o dgvchannel.............................235
10.6.4 Cancelamento de eco e a Digivoice................................................................ 238
12 Asterisk na Prtica

Captulo 11 Programando em AEL..................................................................................... 239


11.1 Caractersticas do AEL............................................................................................239
11.2 Comandos de console do Asterisk (CLI) para o AEL............................................... 240
11.3 Sintaxe do AEL..................................................................................................... 240
11.4 Laboratrio............................................................................................................245
11.4.1 Desativando seu plano de discagem atual (/etc/asterisk/extensions.conf)..............245
11.4.2 Alterando o plano de discagem.......................................................................245
11.4.3 Testar............................................................................................................. 251

Captulo 12 Banco de dados.............................................................................................. 252


12.1 Asterisk Realtime Architecture (ARA) ....................................................................252
12.1.1 Funcionamento do ARA.................................................................................253
12.1.2 Configurao do ARA....................................................................................253
12.1.3 Comandos de console do Asterisk (CLI) referentes ao ARA............................. 256
12.1.4 O ARA e o plano de discagem........................................................................ 258
12.1.5 Vantagens do ARA........................................................................................ 260
12.1.6 Desvantagens do ARA................................................................................... 260
12.1.7 Realtime e o SIP............................................................................................ 260
12.2 Aplicao MySQL..................................................................................................261
12.2.1 Funcionamento da aplicao MySQL..............................................................261
12.2.2 Observaes importantes sobre a aplicao MySQL....................................... 264
12.3 Funes ODBC..................................................................................................... 265
12.4 Laboratrio 1........................................................................................................ 266
12.4.1 Inserindo informaes-exemplo nas tabelas sip, extensions, voicemail e queues.266
12.4.2 Preparando o mapeamento entre as famlias Realtime e as tabelas do banco de dados..267
12.4.3 Conectando o Asterisk ao MySQL..................................................................267
12.4.4 Preparao dos arquivos-texto para ativao das informaes do banco de dados...267
12.4.5 Alterao do plano de discagem.................................................................... 268
12.4.6 Testar........................................................................................................... 268
12.5 Laboratrio 2....................................................................................................... 269
12.5.1 Definio das funes para insero, excluso e consulta de nmeros base dados... 269
12.5.2 Regras de discagem para o cadastro dos nmeros de telefone para bloqueio.... 270
12.5.3 Regras de discagem para o cadastro dos nmeros de telefone para bloqueio.... 270
12.5.4 Regras de discagem para o encaminhamento de chamadas externas e checagem se
o nmero de destino est proibido ou no......................................................... 271
12.5.5 Testar............................................................................................................ 271
12.6 Laboratrio 3....................................................................................................... 272
12.6.1 Definio das funes para insero, excluso e consulta de nmeros base dados... 272
12.6.2 Ativando a conexo do Asterisk ao servidor LDAP......................................... 272
12.6.3 Inserindo seus ramais no servidor LDAP........................................................273
12.6.4 Testar............................................................................................................274
Sumrio 13

Captulo 13 DUNDi............................................................................................................ 276


13.1 Funcionamento do DUNDi....................................................................................276
13.2 Configurando o DUNDi........................................................................................278
13.2.1 Comandos de console do Asterisk (CLI) disponveis para o DUNDi............... 287

Captulo 14 FAX................................................................................................................ 291


14.1 Aplicaes associadas recepo e envio de FAX.................................................... 292
14.2 Laboratrio.......................................................................................................... 293
14.2.1 Recepo de faxes.......................................................................................... 293
14.2.2 Transmisso de faxes.................................................................................... 293
14.2.3 Testar........................................................................................................... 294

Captulo 15 Troubleshooting & Segurana......................................................................... 295


15.1 Troubleshooting.................................................................................................... 295
15.1.1 Configurao dos logs do Asterisk.................................................................. 297
15.1.2 Problemas com o compartilhamento de IRQ.................................................. 300
15.1.3 Componentes que influenciam diretamente o VoIP......................................... 302
15.1.4 Monitorando e gerenciando o VoIP................................................................ 303
15.1.5 E se o problema persistir?.............................................................................. 304
15.2 Segurana............................................................................................................. 304
15.2.1 Algumas ameaas aos sistemas de telefonia.................................................... 305
15.2.2 Sugestes de segurana para o sistema operacional e rede............................... 306
15.2.3 Sugestes de segurana para o Asterisk.......................................................... 307

Glossrio............................................................................................................................. 309
Referncias......................................................................................................................... 330
ndice remissivo.................................................................................................................. 332