Você está na página 1de 9
Asterisk na prática 2ª Edição Alexandre Keller Novatec

Asterisk

na prática

2ª Edição

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 reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.

Editor: Rubens Prates Revisão gramatical: Débora Facin Editoração eletrônica: Camila Kuwabata e Carolina Kuwabata Capa: Victor Bittow

ISBN: 978-85-7522-286-7

Histórico de impressões:

Outubro/2011

Segunda edição

Março/2010

Primeira reimpressão

Junho/2009

Primeira edição (ISBN: 978-85-7522-183-9)

Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São 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 Catalogação na Publicação (CIP)

(Câmara

Brasileira

do

Livro, SP,

Brasil)

Keller, Alexandre Asterisk na prática / Alexandre Keller. -- 2. ed. -- São Paulo : Novatec Editora, 2011.

ISBN 978-85-7522-286-7

1. Asterisk (Programa de computador) 2. PBX VOIP - Montagem e configuração 3. Telefonia pela internet 4. VOIP - Protocolo de redes I. Título.

09-05791

CDD-005.3

Índices para catálogo sistemático:

1. PBX VOIP : Montagem e configuração com Asterisk : Ciência da computação

OGF20110923

005.3

Sumário

Agradecimentos

15

Sobre o autor

16

Prefácio

17

Capítulo 1 Introdução ao VoIP e ao Asterisk

19

1.1 VoIP (Voice over IP – Voz sobre IP)

19

1.1.1 Principais benefícios

20

1.1.2 Funcionalidades

22

1.1.3 Digitalização da voz

22

1.1.4 Qualidade do áudio em VoIP

24

1.1.5 Protocolos de comunicação usados no VoIP

27

1.1.6 O VoIP na prática

27

1.2 Asterisk: principais características

28

1.2.1

Características do Asterisk

28

1.2.2

Versões

do Asterisk

31

1.2.3

Pacotes que compõem o Asterisk

33

Capítulo 2 Instalação do Asterisk

34

2.1 Dimensionando o ambiente para o VoIP e o Asterisk

34

2.1.1 Questões de hardware

34

2.1.2 Questões de rede

36

2.1.3 Sistema operacional

37

2.2 Obtendo o código 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 Laboratório

46

2.3.1 Obter o código e compilar o Asterisk

47

2.3.2 Executar o Asterisk

48

8

Asterisk na Prática

Capítulo 3 Conhecendo o Asterisk

49

3.1 Arquivos de configuração

49

3.1.1 Sintaxe

50

3.1.2 Arquivos de canais de comunicação (SIP e IAX2)

51

3.2 Plano de discagem

55

3.2.1 Primeiras aplicações do Asterisk

56

3.2.2 Aplicações e dicas utilizadas na organização de planos de discagem e construção

de URAs

60

3.3 Laboratório 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 Laboratório 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 Laboratório 3

69

3.6 Máscaras de discagem

71

3.7 Variáveis e expressões matemáticas e lógicas

71

3.7.1 Tipos de variáveis

72

3.7.2 Manipulando o conteúdo das variáveis

73

3.7.3 Expressões matemáticas e lógicas

74

3.7.4 Aplicações lógicas

75

3.7.5 Aplicações gerais

78

3.7.6 Funções

81

3.8 Inclusão de contextos

85

3.9 Comandos de console do Asterisk (CLI) para o plano de discagem

85

3.10 Macros

86

AstDB (Asterisk

3.11 DataBase)

87

3.11.1 Comandos de console do Asterisk (CLI) para o AstDB

88

3.11.2 Aplicações associadas à manipulação do AstDB

89

3.12 Laboratório 1

91

3.12.1

Implementando macros

91

3.12.2 Testar

92

3.13 Laboratório 2

92

3.13.1

Configurando o plano de discagem para um IPBX

93

Capítulo 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

Sumário

9

4.2.1

Aplicações disponíveis para o correio de voz

97

4.3 Laboratório 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 Laboratório 2

101

4.4.1 Instalando a interface web para consulta ao correio de voz:

101

 

4.4.2 Testar

102

Capítulo 5 Funcionalidades de PABX

103

5.1 Música em espera

104

5.1.1 Comandos de console do Asterisk (CLI) para a música em espera

106

5.1.2 Aplicações associadas à música em espera

107

5.2 Transferência 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

Aplicações associadas à gravação das chamadas do sistema

111

5.6 Salas de conferência

113

5.6.1 Comandos de console do Asterisk (CLI) para as salas de conferência

114

5.6.2 Aplicações associadas às salas de conferência

115

5.7 Laboratório 1

116

5.7.1 Configurando a música em espera

116

5.7.2 Alterando o plano de discagem

116

 

5.7.3 Testar

117

5.8 Laboratório 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 Laboratório 3

117

5.9.1 Ativando o estacionamento de chamadas

118

 

5.9.2 Testar

118

Capítulo 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

10

Asterisk na Prática

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 Laboratório 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 Autenticação por meio de chaves RSA

147

6.3.5 Criptografia com IAX2

149

6.4 Laboratório 2

149

6.4.1 Conectando filiais com IAX2

149

6.4.2 Testar

151

6.5 Laboratório 3

152

6.5.1 Criação e compartilhamento das chaves RSA

152

6.5.2 Testar

154

Capítulo 7 Bilhetagem: CDR e CEL

155

7.1 Call Detail Record (CDR)

155

7.1.1 Arquivos de configuração 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 Aplicações associadas ao CDR

160

7.1.5 Funcão associada ao CDR

160

7.2 Laboratório 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 aplicação Web para a consulta dos bilhetes

162

7.2.4 Testar

162

7.3 Laboratório 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 configuração do CEL

167

7.4.3 Comandos de console do Asterisk (CLI) para o CEL

167

7.4.4 Aplicações associadas ao CEL

168

Sumário

Capítulo 8 Distribuição Automática de Chamadas (DAC)

11

169

8.1 Funcionamento e configuração do DAC

169

8.1.1 Comandos de console do Asterisk (CLI) para as filas de atendimento

175

8.1.2 Aplicações associadas às filas de atendimento

176

8.1.3 Gerenciamento das filas de atendimento

181

8.2 Laboratório

184

8.2.1 Configurando a distribuição automática de chamadas

184

8.2.2 Alterando o plano de discagem

184

8.2.3

Testar

185

Capítulo 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 Laboratório

198

9.4.1 Configurando o AMI

198

9.4.2 Instalando o FOP

 

198

9.4.3 Testar

198

Capítulo 10 Telefonia convencional

199

10.1 Funcionamento e organização da telefonia convencional

199

10.2 Tipos de sinalização e de circuitos na telefonia convencional

201

10.2.1 Estabelecimento de um circuito, ou chamada telefônica

201

10.2.2 Sinalização multi-frequency (MF)

203

10.2.3 Sinalização R2-Digital

203

10.2.4 Sinalização ISDN

207

10.3 Informações importantes sobre links E1

209

10.4 Placas de comunicação para o Asterisk

210

10.4.1

Instalação de uma placa de comunicação

213

10.5 Instalação de placas Digium

213

10.5.1 Configuração 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 Instalação de placas Digivoice

229

10.6.1 Instalação dos drivers da Digivoice

230

10.6.2 Configuração 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

Capítulo 11 Programando em AEL

Asterisk na Prática

239

11.1 Características

do AEL

239

11.2 Comandos de

console

do Asterisk (CLI) para o AEL

240

11.3 Sintaxe do AEL

240

11.4 Laboratório

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

Capítulo 12 Banco de dados

252

12.1Asterisk Realtime Architecture (ARA)

252

12.1.1 Funcionamento do ARA

 

253

12.1.2 Configuração 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 Aplicação MySQL

261

12.2.1 Funcionamento da aplicação MySQL

261

12.2.2 Observações importantes sobre a aplicação MySQL

264

12.3 Funções ODBC

265

12.4 Laboratório 1

266

12.4.1 Inserindo informações-exemplo nas tabelas sip, extensions, voicemail e queues266

12.4.2 Preparando o mapeamento entre as famílias Realtime e as tabelas do banco de dados .267

12.4.3 Conectando o Asterisk ao MySQL

267

12.4.4 Preparação dos arquivos-texto para ativação das informações do banco de dados

267

12.4.5 Alteração do plano de discagem

268

12.4.6 Testar

268

12.5 Laboratório 2

269

12.5.1 Definição das funções para inserção, exclusão e consulta de números à base dados

269

12.5.2 Regras de discagem para o cadastro dos números de telefone para bloqueio

270

12.5.3 Regras de discagem para o cadastro dos números de telefone para bloqueio

270

12.5.4 Regras de discagem para o encaminhamento de chamadas externas e checagem se

o número de destino está proibido ou não

271

12.5.5

Testar

271

12.6 Laboratório 3

272

12.6.1 Definição das funções para inserção, exclusão e consulta de números à base dados

272

12.6.2 Ativando a conexão do Asterisk ao servidor LDAP

272

12.6.3 Inserindo seus ramais no servidor LDAP

273

 

12.6.4 Testar

274

Sumário

13

Capítulo 13 DUNDi

276

13.1 Funcionamento do DUNDi

276

13.2 Configurando o DUNDi

278

13.2.1

Comandos de console do Asterisk (CLI) disponíveis para o DUNDi

287

Capítulo 14 FAX

291

14.1 Aplicações associadas à recepção e envio de FAX

292

14.2 Laboratório

293

14.2.1 Recepção de faxes

293

14.2.2 Transmissão de faxes

293

14.2.3

Testar

294

Capítulo 15 Troubleshooting & Segurança

295

15.1Troubleshooting

295

 

15.1.1 Configuração 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

Segurança

304

15.2.1 Algumas ameaças aos sistemas de telefonia

305

15.2.2 Sugestões de segurança para o sistema operacional e rede

306

15.2.3 Sugestões de segurança para o Asterisk

307

Glossário

309

Referências

330

Índice remissivo

332