2ª Edição Alexandre Keller



Documentos relacionados
Asterisk. na prática. Alexandre Keller. Novatec

Desenvolvendo Websites com PHP

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Ricardo Kléber M. Galvão. Novatec

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

João Eriberto Mota Filho

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Service Desk Corporativo

Desenvolvendo Websites com PHP

Ademir C. Gabardo. Novatec

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Paulo Strelczuk. Novatec

Ricardo R. Lecheta. Novatec

Luiz Carlos Querino Filho

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Jonathan Stark Brian Jepson

Ricardo R. Lecheta. Novatec

Hélio Engholm Jr. Novatec

ASTERISK. João Cepêda & Luís Borges SCOM 2013

Google Analytics Justin Cutroni

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Desenvolvimento de Grandes Aplicações Web

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

Ricardo Lino Olonca. Novatec

2ª EDIÇÃO. André Milani. Novatec

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

CURSO ASTERISK BÁSICO + AVANÇADO. Versão Portuguesa ( São mais de 300 alunos que realizaram esta formação )

Camila Porto. Novatec

Google Android para Tablets

Wilson Moraes Góes. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. 2a Edição. Samuel Henrique Bucke Brito. Novatec

Copyright 2008, 2013 da Novatec Editora Ltda.

Introdução à voz sobre IP e Asterisk

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Novatec Editora Ltda. [2014].

Conrado Adolpho. Novatec

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Criando Relatórios com PHP

Comunicação interligando vidas

Segurança em Redes sem Fio

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Cursos que leciono: 450/451 Cursos da formação (Modalidade Presencial). 442 Construindo PABX IP com asterisk na prática (Modalidade Presencial).

A Innovus está disponibilizando para as empresas a oportunidade de promoverem treinamentos de VoIP e Asterisk em suas cidades.

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

David Hows Peter Membrey Eelco Plugge

Crie Seu Próprio Site

Ricardo Lino Olonca. Novatec

Brandon Rhodes John Goerzen

PDF Explicado John Whitington

Google Android para Tablets

Criando Aplicações Gráficas com PHP

Editor: Rubens Prates Revisão gramatical: Patrizia Zagni Capa: Victor Bittow Editoração eletrônica: Camila Kuwabata e Carolina Kuwabata

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Novatec Editora Ltda

LGW4000 Labcom Media Gateway. Labcom Media Gateway Apresentação Geral 10/11/2011

Pramod J. Sadalage Martin Fowler

Murillo Lo Visco. Novatec

vdt IP PBX e CONTACT CENTER

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Wilson Moraes Góes. Novatec

UML 2 uma abordagem prática Gilleanes T. A. Guedes

Tecnologias Atuais de Redes

Qando falamos em VOIP

Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX

Relatório de performance do Disc-OS 2.0 e Ubuntu server 8.10

Apresentação Comercial

CoIPe Telefonia com Tecnologia

CoIPe. Telefonia com Tecnologia

Guia do Programador Joel Saade

Josh Pauli Revisão técnica Scott White. Novatec

Estado de Santa Catarina Prefeitura de São Cristóvão do Sul

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Primeiros Passos com o Raspberry Pi

PABX IP. Newtec Soluções Av. Deusdedith Salgado 1292, Teixeiras, Juiz de Fora, MG (32) (32)

Abra o software de programação. Clique na opção VOIP, depois opção configuração conforme as imagens:

NetPBX Billing System

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

F n u d n a d ment n os o Vo V I o P Introdução

Transmissão de Voz em Redes de Dados (VoIP)

CARTA CONVITE 010/2014 ANEXO II - TERMO DE REFERÊNCIA

João Eriberto Mota Filho

Como explorar os recursos do Asterisk Epaminondas Lage

Governo do Estado do Acre Secretaria de Estado de Planejamento Diretoria de Tecnologia da Informação e Comunicação DTIC

Ademir C. Gabardo. Novatec

PREGÃO PRESENCIAL Nº 27/15. ANEXO I TERMO DE REFERÊNCIA

Telefonia IP na UFSC Experiências e Perspectivas

Características de Firewalls

Estudo e Implantação de Solução de Voz Sobre IP Baseadas em Softwares Livres

Adrian Mejia. Novatec

Relatório Asterisk. Pedro Brito

OKTOR APRESENTAÇÃO DOS PRODUTOS OKTOR

Google Android para Tablets

Julia Elman e Mark Lavin. Novatec

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS DE ACESSO REMOTO (TELNET E TERMINAL SERVICES) Professor Carlos Muniz

Transcrição:

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 005.3 OGF20110923

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 7

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 3.11 AstDB (Asterisk 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 4.2 Correio de voz e o plano de discagem... 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 6.1.4 Fluxo de mídia com SIP e o Asterisk...127

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 7.5 Laboratório 3... 168

Sumário 11 Capítulo 8 Distribuição Automática de Chamadas (DAC)... 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 Asterisk na Prática Capítulo 11 Programando em AEL... 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.1 Asterisk 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 queues.266 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.1 Troubleshooting... 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