Asterisk PBX Guia de Configuração - Curso Completo 2 Ed

369

description

Telefonia IP

Transcript of Asterisk PBX Guia de Configuração - Curso Completo 2 Ed

  • Asterisk PBX

    Guia de Configurao

    Como construir e configurar um PABX com Software Livre Segunda Gerao

    Edio Revisada e Ampliada Julho/2006

    Por: Flvio Eduardo de Andrade Gonalves [email protected]

  • III

    Todos os direitos reservados. proibida a reproduo total ou parcial deste livro.

  • IV

    Prefcio Esta a segunda gerao do eBook Asterisk Guia de Configurao, a primeira foi lanada em maro de 2005. Fiz o teste do dCAP da Digium em Maio de 2006 e tive o privilgio de passar na primeira tentativa, o livro ajudou bastante, apenas dois dos vinte alunos do Asterisk Bootcamp passaram no dCAP. O material contido neste livro tem quase tudo referente ao teste. O objetivo principal da reviso foi atualizar para a verso 1.2. No momento em que voc receber este eBook provvel que a verso 1.4 j tenha sido lanada. Acompanhar um software que lana uma nova verso cada 6 meses no muito fcil. Este eBook contou com um fiel escudeiro que aparece como co-autor, Alexandre Keller que tem me ajudado muito com os cursos de Asterisk e com os testes prticos. Os captulos quatro e quinze so em boa parte de autoria dele. Estou mudando a forma de comercializao do livro tambm, privilegiando os eBooks. Este possuem diversas vantagens, a primeira ecolgica, evitar o uso do papel, outros pontos que posso citar so a facilidade de carregar dentro de um laptop ou pendrive e ainda poder pesquisar. A parte ruim fica por conta da pirataria, que tento minimizar com uma tarja cinza como fundo do livro. Sei que difcil combater a pirataria e vai da conscincia de cada um. O Asterisk PBX revolucionrio nas reas de telefonia IP e PABX baseado em software. Durante anos o mercado de telefonia foi ligado a equipamentos proprietrios fabricados por companhias multinacionais. A convergncia de dados e voz em pouco tempo vai fazer com que a telefonia seja apenas mais uma aplicao das redes, tornando os atuais PABX obsoletos. Com a entrada do Asterisk, mais e mais empresas vo poder experimentar recursos como URA - unidade de resposta audvel, DAC distribuio automtica de chamadas, mobilidade, correio de voz, e conferncia antes restritas a grandes companhias. No tivemos a pretenso de ensinar tudo que existe sobre o Asterisk, pois isto seria uma misso impossvel. Nossa pretenso neste material de que o leitor possa ter acesso aos principais recursos e a partir deles descobrir e implementar recursos mais avanados. Eu espero que vocs se divirtam tanto aprendendo o Asterisk quanto eu me diverti escrevendo sobre ele. Flvio Eduardo de Andrade Gonalves Diretor Geral V.Office Networks [email protected]

  • V

    Agradecimentos Tenho aqui de agradecer a minha famlia pela pacincia de me ver trabalhando as madrugadas e fins de semana para que este material pudesse ser escrito. Agradeo Clarice minha esposa e companheira pelo incentivo e apoio e a Ana Cristina Gonalves, Cristiano Soares e Alexandre Keller por resolver todos os entraves como publicao, distribuio, capa, marketing que possibilitaram que este material chegasse aos usurios e a minha filha Anna Letcia pelo desenho da mascote do Asterisk na contra capa.

    Crticas sugestes, erros de grafia e contedo Todos as pessoas que eu conheo detestam ser criticadas. Eu no me excluo desse grupo, mas gostando ou no, as crticas quando construtivas so a melhor forma de evoluo e melhoria constante. Este livro e o curso no qual se baseia tiveram um grande feedback de alunos e leitores durante os anos de 2005 e 2006. Os captulos de bilhetagem e uma abordagem mais profunda de AMI e AGI contida no captulo quatorze foram sugestes de usurios. Outra sugesto acatada foi o uso de placas digium e configurao real nos cursos. Apesar dos custos elas agora esto presentes e os alunos podem ver como se carrega realmente uma placa da Digium. Por mais que nos esforcemos, sempre h erros de grafia e contedo. Ficamos agradecidos a qualquer um que os aponte e nos permita corrigir. Quaisquer erros podem ser comunicados em: [email protected]

  • VI

    Sumrio

    INTRODUO AO ASTERISK ..........................................................1

    1.1 OBJETIVOS DO CAPTULO................................................................1 1.2 O QUE O ASTERISK .....................................................................1 1.2.1 QUAL O PAPEL DA DIGIUM?..............................................................2 1.2.2 O PROJETO ZAPATA .......................................................................3 1.3 PORQUE O ASTERISK? ...................................................................5 1.3.1 REDUO DE CUSTOS EXTREMA .........................................................5 1.3.2 TER CONTROLE DO SEU SISTEMA DE TELEFONIA .......................................5 1.3.3 AMBIENTE DE DESENVOLVIMENTO FCIL E RPIDO....................................6 1.3.4 RICO E ABRANGENTE EM RECURSOS ....................................................6 1.3.5 POSSVEL PROVER CONTEDO DINMICO POR TELEFONE...........................6 1.3.6 PLANO DE DISCAGEM FLEXVEL E PODEROSO ..........................................6 1.3.7 RODA NO LINUX E CDIGO ABERTO...................................................6 1.3.8 LIMITAES DA ARQUITETURA DO ASTERISK ..........................................6 1.4 ARQUITETURA DO ASTERISK............................................................7 1.4.1 CANAIS.....................................................................................7 1.4.2 CODECS E CONVERSES DE CODEC...................................................9 1.4.3 PROTOCOLOS ..............................................................................9 1.4.4 APLICAES ............................................................................. 10 1.5 VISO GERAL DO ASTERISK...........................................................10 1.6 DIFERENAS ENTRE O VELHO E O NOVO MUNDO ..................................11 1.6.1 TELEFONIA USANDO O VELHO MODELO DE PABX/SOFTSWITCH................... 11 1.6.2 TELEFONIA DO JEITO ASTERISK ....................................................... 12 1.7 CONSTRUINDO UM SISTEMA DE TESTE ..............................................13 1.7.1 UM FXO, UM FXS...................................................................... 13 1.7.2 VOIP SERVICE PROVIDER, SOFTFONE OU ATA...................................... 13 1.7.3 PLACA CLONE FXO, SOFTFONE OU ATA ............................................. 13 1.8 CENRIOS DE USO DO ASTERISK.....................................................14 1.8.1 IP PBX................................................................................... 14 1.8.2 ATUALIZAO DE PABX EXISTENTE PARA SUPORTAR VOIP. ...................... 15 1.8.3 INTERLIGAO DE FILIAIS ATRAVS DE VOIP ....................................... 16 1.8.4 SERVIDOR DE APLICAES (URA, CONFERNCIA, CORREIO DE VOZ) ........... 16 1.8.5 MEDIA GATEWAY........................................................................ 17 1.8.6 PLATAFORMA DE CONTACT CENTER ................................................... 18 1.9 SUMRIO ..................................................................................18 1.10 QUESTIONRIO ........................................................................19

    BAIXANDO E INSTALANDO ..........................................................21

    2.1 OBJETIVOS DO CAPTULO..............................................................21 2.2 INTRODUO .............................................................................21 2.3 HARDWARE MNIMO....................................................................21

  • VII

    2.3.1 MONTANDO O SEU SISTEMA............................................................ 22 2.3.2 QUESTES DE COMPARTILHAMENTO DE IRQ ........................................ 22 2.4 ESCOLHENDO UMA DISTRIBUIO DO LINUX. ....................................23 2.4.1 REQUISITOS DO LINUX ................................................................. 23 2.4.2 PACOTES NECESSRIOS. ............................................................... 23 2.5 INSTALANDO O LINUX PARA ATENDER AO ASTERISK. ...........................24 2.6 PREPARANDO O DEBIAN PARA O ASTERISK. ......................................34 2.7 OBTENDO E COMPILANDO O ASTERISK .............................................36 2.7.1 OBTENDO OS FONTES DO ASTERISK .................................................. 36 2.7.2 COMPILANDO O DRIVER ZAPTEL ....................................................... 37 2.8 COMPILANDO O ASTERISK ............................................................37 2.9 INICIANDO E PARANDO O ASTERISK ................................................38 2.9.1 PARMETROS DE LINHA DE COMANDO DO ASTERISK................................ 38 2.9.2 ABAIXO OS PARMETROS DISPONVEIS............................................... 38 2.10 INICIANDO O ASTERISK EM TEMPO DE INICIALIZAO. ......................39 2.11 INICIANDO O ASTERISK USANDO UM USURIO DIFERENTE DE ROOT. .....39 2.12 CONSIDERAES SOBRE A INSTALAO DO ASTERISK ........................40 2.12.1 SISTEMAS EM PRODUO............................................................. 40 2.12.2 CONSIDERAES SOBRE A REDE .................................................... 40 2.13 SUMRIO ................................................................................41 2.14 QUESTIONRIO ........................................................................41

    PRIMEIROS PASSOS ...................................................................43

    3.1 OBJETIVOS DO CAPTULO..............................................................43 3.2 INTRODUO .............................................................................43 3.3 GRAMTICA DOS ARQUIVOS DE CONFIGURAO..................................43 3.3.1 GRUPO SIMPLES ......................................................................... 44 3.3.2 FORMATO DE OBJETO COM HERANA DE OPES .................................... 44 3.3.3 OBJETO ENTIDADE COMPLEXA ......................................................... 44 3.4 CONFIGURANDO UMA INTERFACE COM A REDE PBLICA OU COM UM PABX45 3.4.1 INSTALANDO A PLACA X100P CLONE................................................. 46 3.5 CONFIGURAO DOS TELEFONES IP SIP ..........................................57 3.5.1 ARQUIVO EXEMPLO DO SIP.CONF SEO GERAL [GENERAL] ....................... 58 3.5.2 OPES PARA CADA TELEFONE ........................................................ 58 3.5.3 EXEMPLO COMPLETO DO SIP .......................................................... 58 3.6 INTRODUO AO PLANO DE DISCAGEM .............................................59 3.6.1 CONTEXTOS.............................................................................. 59 3.6.2 EXTENSES .............................................................................. 60 3.6.3 PRIORIDADES............................................................................ 61 3.6.4 APLICAES ............................................................................. 61 3.6.5 CRIANDO UM AMBIENTE DE TESTES ................................................... 61 3.6.6 CRIANDO UM PLANO DE DISCAGEM SIMPLES ......................................... 63 UM EXEMPLO MAIS TIL ........................................................................ 65 INTERLIGANDO CANAIS COM A APLICAO DIAL() .......................................... 66 3.7 LABORATRIOS ..........................................................................66 3.7.1 LIGANDO ENTRE TELEFONES. .......................................................... 67

  • VIII

    3.7.2 LIGANDO PARA A REDE PBLICA USANDO A PLACA ZAPTEL ......................... 67 3.7.3 RECEBENDO LIGAES USANDO AUTO-ATENDIMENTO. ............................. 67 3.8 SUMRIO ..................................................................................68 3.9 QUESTIONRIO ..........................................................................68

    CANAIS ANALGICOS E DIGITAIS...............................................71

    4.1 OBJETIVOS................................................................................71 4.2 CONCEITOS BSICOS...................................................................... 71 4.2.1 SINALIZAO DE SUPERVISO......................................................... 71 4.2.2 SINALIZAO DE ENDEREAMENTO ................................................... 72 4.2.3 SINALIZAO DE INFORMAO ........................................................ 72 4.3 INTERFACES DE ACESSO A REDE PBLICA ..........................................73 4.4 USANDO INTERFACES FXS, FXO E E+M..........................................73 4.4.1 INTERFACES FX (FOREIGN EXCHANGE) .............................................. 73 4.4.2 INTERFACES E & M ..................................................................... 74 4.4.3 SINALIZAO NOS TRONCOS .......................................................... 74 4.5 LINHAS DIGITAIS E1/T1, SINALIZAO CAS E CCS. .........................75 4.5.1 SINALIZAO E ENQUADRAMENTO E1 ................................................ 76 4.5.2 SINALIZAO CAS, E1-R2-BRASIL ................................................. 76 4.5.3 SINALIZAO CCS, E1-ISDN-PRI. ................................................ 76 4.6. CONFIGURANDO UM CANAL DE TELEFONIA NO ASTERISK......................77 4.6.1 PROCEDIMENTOS GERAIS DE CONFIGURAO VLIDOS NOS TRS CASOS ........ 77 4.7 EXEMPLO 1 - INSTALAO DE UMA PORTA FXO E OUTRA FXS ...............77 4.7.1 INSTALANDO UMA PLACA TDM400P COM UMA PORTA FXS E OUTRA PORTA FXO..................................................................................................... 78 4.7.2 CONFIGURAO DO ARQUIVO ZAPTEL.CFG ........................................... 79 4.7.3 CARREGAR OS DRIVERS DE KERNEL ................................................... 79 4.7.4 USANDO O UTILITRIO ZTTEST. ....................................................... 79 4.7.5 USANDO O UTILITRIO ZTCFG ......................................................... 80 4.7.6 CONFIGURAO DO ARQUIVO ZAPATA.CONF ......................................... 80 4.8 EXEMPLO 2 CARGA DE DOIS CANAIS E1-ISDN ...............................80 4.8.1 INSTALAO DA PLACA TE205P ...................................................... 81 4.8.2 CONFIGURAO DO ARQUIVO ZAPTEL.CONF ......................................... 81 4.8.3 CARGA DO DRIVER DA PLACA ZAPTEL ................................................. 82 4.8.4 USANDO O UTILITRIO ZTTEST ........................................................ 82 4.8.5 VERIFICANDO CONFLITOS DE INTERRUPO ......................................... 83 4.8.6 USANDO O UTILITRIO ZTCFG ......................................................... 83 4.8.7 CONFIGURAO DOS CANAIS ZAPATA.CONF....................................... 84 4.8.8 COMANDOS PARA VERIFICAO ....................................................... 84 4.9 CONFIGURANDO MFC/R2............................................................88 4.9.1 ENTENDENDO O PROBLEMA ............................................................ 88 4.9.2 ENTENDENDO O PROTOCOLO MFC/R2 ............................................... 88 4.9.3 SEQNCIA DE UMA CHAMADA MFC/R2............................................. 92 4.9.4 O DRIVER UNICALL ..................................................................92 4.9.5 CONFIGURANDO A PLACA ZAPTEL PARA OPERAR COM MFC/R2 ...........93 4.9.6 INSTALANDO E COMPILANDO AS BIBLIOTECAS.................................93

  • IX

    4.9.7 INTEGRANDO O CANAL UNICALL AO ASTERISK ...................................... 94 4.9.8 CONFIGURANDO O CANAL UNICALL.................................................... 95 4.9.9 RESOLVENDO PROBLEMAS EM UM CANAL UNICALL. ................................. 98 4.10 OPES DE CONFIGURAO DO ARQUIVO ZAPATA.CONF ...................101 4.10.1 OPES GERAIS, INDEPENDENTES DO TIPO DE CANAL .......................... 101 4.10.2 OPES PARA CONEXES COM REDE ISDN...................................... 102 4.10.3 OPES DE IDENTIFICADOR DE CHAMADAS (CALLER ID). ..................... 103 4.10.4 OPES DE QUALIDADE DE UDIO ................................................ 104 4.10.5 OPES DE BILHETAGEM ........................................................... 105 4.10.6 OPES DE ACOMPANHAMENTO DA CHAMADA ................................... 105 4.10.7 OPES PARA TELEFONES LIGADOS A LINHAS FXS ............................. 106 4.10.8 OPES PARA CANAIS FXO........................................................ 106 4.11 NOMENCLATURA DOS CANAIS ZAP..............................................107 4.12 NOMENCLATURA DOS CANAIS UNICALL.........................................107 4.13 QUESTIONRIO ......................................................................108

    VOZ SOBRE IP ...........................................................................111

    5.1 OBJETIVOS..............................................................................111 5.2 INTRODUO ...........................................................................111 5.3 BENEFCIOS DA VOZ SOBRE IP.....................................................111 5.3.1 APLICAES PARA CALL-CENTERS .................................................. 112 5.3.2 SISTEMA DE MENSAGENS UNIFICADO ............................................... 112 5.3.3 CHAMADA BASEADA EM CARTO..................................................... 112 5.4 ARQUITETURA DO ASTERISK E VOZ SOBRE IP ..................................113 5.5 COMO ESCOLHER UM PROTOCOLO ..................................................114 5.5.1 SIP ..................................................................................... 114 5.5.2 IAX..................................................................................... 114 5.5.3 MGCP.................................................................................. 115 5.5.4 H323 .................................................................................. 115 5.6 CONCEITO DE PEERS, USERS E FRIENDS.........................................116 5.7 CODECS E CONVERSO DE CODECS ................................................117 5.8 COMO ESCOLHER O CODEC.........................................................118 5.9 OVERHEAD CAUSADO PELOS CABEALHOS. ......................................118 5.11 ENGENHARIA DE TRFEGO.........................................................119 5.10.1 SIMPLIFICAES .................................................................... 119 5.10.2 MTODO DE ERLANG B ............................................................. 120 5.11 ESTRATGIAS DE REDUO DO USO DE BANDA PASSANTE ..................121 5.10.1 IMPACTO DA COMPRESSO DE CABEALHO RTP................................. 121 5.10.2 IMPACTO DO MODO TRUNKED EM IAX. ........................................... 122 5.11 SUMRIO ..............................................................................122 5.12 QUESTIONRIO ......................................................................123

    O PROTOCOLO IAX ....................................................................125

    6.1 OBJETIVOS DO CAPTULO ...........................................................125 6.2 INTRODUO ...........................................................................125

  • X

    6.3 TEORIA DE OPERAO ................................................................126 6.4 FORMATO DOS FRAMES ..............................................................127 6.4.1 FRAME COMPLETO ..................................................................... 127 6.4.2 MINIFRAME ............................................................................ 128 6.5 USO DE BANDA PASSANTE ...........................................................128 6.6 NOMENCLATURA DOS CANAIS.......................................................130 6.6.1 FORMATO DE UMA CONEXO DE SADA. ............................................ 130 6.6.2 EXEMPLOS DE CANAIS DE SADA: ................................................... 130 6.6.3 FORMATO DE UMA CONEXO DE ENTRADA.......................................... 131 6.6.4 EXEMPLO DE CANAIS DE ENTRADA .................................................. 131 6.7 CENRIOS DE USO.....................................................................131 6.7.1 CONECTANDO UM SOFTFONE IAX AO ASTERISK................................... 132 6.7.2 LAB INSTALANDO UM SOFTFONE IAX ............................................ 138 6.7.2 CONECTANDO-SE A UM PROVEDOR BASEADO EM IAX2........................... 140 6.7.3 LAB CONECTANDO-SE AO FREEWORLDDIALUP USANDO IAX2................. 140 6.7.4 CONECTANDO SERVIDORES ASTERISK USANDO IAX2 TRUNK. .................. 142 6.8 AUTENTICAO NO IAX .............................................................144 6.8.1 CONEXES DE ENTRADA.............................................................. 144 6.8.2 CONEXES DE SADA ................................................................. 146 6.9 CONFIGURAO DO ARQUIVO IAX.CONF .........................................147 6.9.1 CONFIGURAO DO ENDEREAMENTO .............................................. 148 6.9.2 SELEO DOS CODECS: .............................................................. 148 6.9.3 CONFIGURAO DO BUFFER DE JITTER E MARCAO DE PACOTES:.............. 149 6.9.4 PARMETROS ADICIONAIS PARA TIPO USER:.................................... 150 6.10 COMANDOS DE DEPURAO DO IAX2. .........................................151 6.11 SUMRIO ..............................................................................153 6.12 QUESTIONRIO ......................................................................155

    O PROTOCOLO SIP.....................................................................157

    7.1 OBJETIVOS..............................................................................157 7.2 VISO GERAL ...........................................................................157 7.2.1 TEORIA DA OPERAO DO SIP...................................................... 157 7.2.2 PROCESSO DE REGISTRO DO SIP................................................... 159 7.2.3 OPERAO DO SIP EM MODO PROXY. .............................................. 160 7.2.4 OPERAO EM MODO DE REDIRECT. ................................................ 160 7.2.5 SIP NO MODO ASTERISK............................................................. 161 7.3 ARQUIVO DE CONFIGURAO SIP.CONF ..........................................162 7.3.1 CONFIGURAO DA SEO GERAL [GENERAL] ..................................... 162 7.4 CONFIGURANDO UM CLIENTE SIP .................................................164 7.4.1 PASSO 1 CONFIGURANDO O SIP.CONF ........................................... 164 7.4.2 PASSO 2 CONFIGURANDO O TELEFONE ............................................. 164 7.4.3 PASSO 3 DEFINIR A EXTENSO NO ARQUIVO SIP.CONF ........................ 165 7.4.4 OPES DE CONFIGURAO PARA OS TELEFONES ................................. 165 7.4.5 LIMITAES E CUIDADOS COM CLIENTES SIP ..................................... 168 7.5 CONECTANDO-SE A UM PROVEDOR SIP. .........................................168 7.5.1 PASSO 1: REGISTRAR O PROVEDOR (SIP.CONF) .................................. 169

  • XI

    7.5.2 - PASSO 2: CONFIGURAR O [PEER] (SIP.CONF) .................................. 169 7.5.3 PASSO 3: CRIAR UMA ROTA DE SADA NO PLANO DE DISCAGEM. ............... 169 7.5.4 OPES DE CONFIGURAO ESPECFICAS PARA PROVEDORES ................... 170 7.6 AUTENTICAO DAS CHAMADAS SIP ENTRANTES. .............................171 7.7 NOMENCLATURA DOS CANAIS SIP ................................................172 7.8 SIP NAT TRAVERSAL ................................................................173 7.8.1 FULL CONE (CONE COMPLETO) ..................................................... 174 7.8.2 RESTRICTED CONE (CONE RESTRITO) ............................................. 175 7.8.3 PORT RESTRICTED CONE (CONE RESTRITO POR PORTA) ......................... 175 7.8.4 SIMTRICO............................................................................. 176 7.8.5 RESUMO DOS TIPOS DE FIREWALL .................................................. 176 7.9 NAT NA PASSAGEM DA SINALIZAO SIP.......................................176 7.10 NAT NO FLUXO DE MDIA RTP...................................................177 7.11 FORMAS DE PASSAGEM PELO NAT...............................................178 7.11.1 UPNP ................................................................................. 179 7.11.2 STUN SIMPLE TRAVERSAL OF UDP NAT ..................................... 179 7.11.3 ALG APLICATION LAYER GATEWAY............................................. 181 7.11.4 CONFIGURAO MANUAL ........................................................... 181 7.11.5 COMEDIA CONEXION ORIENTED MEDIA........................................ 182 7.11.6 TURN TRAVERSAL USING RELAY NAT......................................... 182 7.11.7 ICE INTERACTIVITY CONNECTIVITY ESTABLISHMENT ........................ 183 7.12 SOLUES PRTICAS PARA O ASTERISK .......................................183 7.12.1 PARMETROS DO ASTERISK USADOS PARA ATRAVESSAR NAT................. 183 7.12.2 CENRIOS DO ASTERISK COM NAT............................................... 185 7.13 CONSIDERAES FINAIS SOBRE O NAT........................................186 7.14 QUESTIONRIO ......................................................................187

    RECURSOS BSICOS DO PLANO DE DISCAGEM..........................189

    8.1 OBJETIVOS DO CAPTULO............................................................189 8.2 INTRODUO ...........................................................................189 8.3 ESTRUTURA DO ARQUIVO EXTENSIONS.CONF ...................................189 8.3.1 SEO [GENERAL] .................................................................... 190 8.3.2 SEO [GLOBALS] .................................................................... 191 8.4 CONTEXTOS E EXTENSES ...........................................................192 8.4.1 INTRODUO A CONTEXTOS E EXTENSES ......................................... 192 8.4.2 COMO OS CONTEXTOS SO USADOS?............................................... 193 8.5 EXTENSES .............................................................................194 8.5.1 LITERAIS ............................................................................... 194 8.5.2 PADRES............................................................................... 194 8.5.3 ESPECIAIS ............................................................................. 195 8.5.4 DEFININDO EXTENSES .............................................................. 196 8.6 VARIVEIS..............................................................................198 8.6.5 VARIVEIS ESPECFICAS DE APLICAES........................................... 200 8.6.6 VARIVEIS ESPECFICAS PARA MACROS ............................................ 201 8.6.7 VARIVEIS DE AMBIENTE ............................................................. 202 8.7 EXPRESSES............................................................................202

  • XII

    8.7.1 OPERADORES .......................................................................... 202 8.8 FUNES ................................................................................203 8.8.1 COMPRIMENTO DA STRING........................................................... 203 8.8.2 SUBSTRINGS........................................................................... 204 8.8.3 CONCATENAO DE STRINGS........................................................ 204 8.9 O PLANO DE DISCAGEM NA PRTICA ..............................................205 8.9.1 DISCANDO ENTRE RAMAIS. .......................................................... 205 8.9.2 DISCANDO PARA UM DESTINO EXTERNO. ........................................... 207 8.9.3 DISCANDO 0 PARA PEGAR UMA LINHA EXTERNA. .................................. 208 8.9.4 FORANDO UMA NICA OPERADORA ................................................ 208 8.9.5 RECEBENDO UMA CHAMADA NA TELEFONISTA...................................... 208 8.9.6 RECEBENDO UMA LIGAO COM DDR .........................................209 8.9.7 TOCANDO VRIAS EXTENSES....................................................... 209 8.9.8 EVITANDO O TELEMARKETING........................................................ 209 8.9.9 ROTEAMENTO PELO ORIGINADOR DA CHAMADA.................................... 209 8.9.10 USANDO VARIVEIS NO PLANO DE DISCAGEM.................................... 210 8.10 O ESTILO DA VERSO 1.2 .........................................................210 8.11 CRIANDO UM PLANO DE DISCAGEM SIMPLES ..................................211 8.11.1 CENTRAL DE QUATRO PORTAS FXO E 16 RAMAIS SIP.......................... 211 8.11.2 CENTRAL COM UM E1 DE 15 CANAIS E 50 RAMAIS SIP........................ 212 8.12 SUMRIO ..............................................................................212 8.13 QUESTIONRIO ......................................................................213

    RECURSOS AVANADOS DO PLANO DE DISCAGEM ....................215

    9.1 OBJETIVOS..............................................................................215 9.2 INCLUSO DE CONTEXTOS ...........................................................215 9.2.1 LIMITANDO A DISCAGEM PARA NMEROS DDD E DDI ........................... 216 9.3 COMO O PLANO DE DISCAGEM ENCONTRA A EXTENSO .......................217 9.3.1 PROCESSO ENCONTRA ENQUANTO VOC DISCA. ................................ 218 9.3.2 EXEMPLO ............................................................................... 220 9.3.3 ORDEM DE BUSCA DOS PADRES DE EXTENSO ................................... 221 9.3.4 CONTROLANDO O ORDENAMENTO ................................................... 222 9.4 RECEBENDO UMA CHAMADA EM UM MENU DE VOZ. .............................222 9.5 SWITCHES, ENCAMINHANDO PARA OUTRO ASTERISK .........................226 9.6 MACROS .................................................................................227 9.7 A BASE DE DADOS DO ASTERISK ...................................................228 9.7.1 FAMLIAS............................................................................... 228 9.72 FUNES................................................................................ 228 9.7.3 EXEMPLO DE USO DO ASTERISK DB. ............................................... 228 9.8 PROGRAMANDO O RECURSO DE LISTA NEGRA. ..................................229 9.9 CONTEXTOS BASEADOS EM HORRIO..............................................230 9.10 ABRINDO UM NOVO TOM DE DISCAGEM COM DISA. .........................232 9.11 LIMITANDO O NMERO DE CHAMADAS SIMULTNEAS .......................233 9.12 UM PLANO DE DISCAGEM NA PRTICA ..........................................234 9.12.1 PASSO 1 - CONFIGURANDO OS CANAIS. ......................................... 234 9.12.2 PASSO 2 - CONFIGURANDO O PLANO DE DISCAGEM ............................ 236

  • XIII

    9.12.3 RECEPO DAS CHAMADAS......................................................... 236 9.13 QUESTIONRIO ......................................................................239

    CONFIGURANDO RECURSOS AVANADOS..................................241

    10.1 OBJETIVOS............................................................................241 10.2 SUPORTE AOS RECURSOS DE PABX .............................................241 10.2.1 RECURSOS COM SUPORTE PARA TODO TIPO DE CANAL .......................... 241 10.2.2 RECURSOS COM SUPORTE EM TELEFONES SIP ................................... 242 10.2.3 PARA TELEFONES ANALGICOS (ZAP). ........................................... 243 10.3 ESTACIONAMENTO DE CHAMADAS................................................243 10.3.1 DESCRIO: ......................................................................... 243 10.3.2 LISTA DE TAREFAS PARA CONFIGURAO ......................................... 244 10.4 CAPTURA DE CHAMADAS - CALL-PICKUP .......................................244 10.4.1 DESCRIO .......................................................................... 244 10.4.2 LISTA DE TAREFAS PARA HABILITAR A CAPTURA.................................. 245 10.5 TRANSFERNCIA DE CHAMADAS - CALL TRANSFER...........................245 10.5.1 DESCRIO .......................................................................... 245 10.5.2 LISTA DE TAREFAS PARA CONFIGURAR ............................................ 245 10.6 CONFERNCIA CALL CONFERENCE ............................................246 10.6.1 FORMATO: ........................................................................... 246 10.6.2 DESCRIO: ......................................................................... 246 10.6.3 CDIGOS DE RETORNO: ............................................................ 247 10.6.4 DETALHE DAS OPES:............................................................. 247 10.6.5 LISTA DE TAREFAS DE CONFIGURAO............................................ 248 10.5.6 EXEMPLOS............................................................................ 248 10.5.7 ARQUIVO DE CONFIGURAO DO MEETME()..................................... 248 10.7 GRAVANDO UMA LIGAO .........................................................249 10.8 MSICA EM ESPERA MUSIC ON HOLD.........................................250 EDITE OS ARQUIVOS PARA HABILITAR MSICA EM ESPERA ............................... 250 10.9 QUESTIONRIO ......................................................................252

    DAC DISTRIBUIO AUTOMTICA DE CHAMADAS.....................253

    11.1 OBJETIVOS............................................................................253 11.2 INTRODUO .........................................................................253 11.3 MEMBROS .............................................................................254 11.4 ESTRATGIAS.........................................................................254 11.5 MENU PARA O USURIO ............................................................255 11.6 NOVOS RECURSOS...................................................................255 11.7 CONFIGURAO......................................................................255 11.7.1 LISTA DE TAREFAS .................................................................. 255 11.7.2. CRIAR A FILA DE ATENDIMENTO. ................................................. 256 11.7.3 DEFINIR PARMETROS DOS AGENTES. ............................................ 256 11.7.4 CRIAR OS AGENTES NO ARQUIVO .................................................. 257 11.7.5 COLOCAR A FILA NO PLANO DE DISCAGEM. ...................................... 257 11.7.6 CONFIGURAR A GRAVAO ......................................................... 257

  • XIV

    11.7.7 APLICAES DE APOIO PARA AS FILAS. ........................................... 258 11.8 FUNCIONAMENTO DAS FILAS......................................................258 11.8.1 LOGIN DO AGENTE .................................................................. 258 11.9 QUESTIONRIO ......................................................................260

    O CORREIO DE VOZ....................................................................263

    12.1 OBJETIVOS............................................................................263 12.2 INTRODUO .........................................................................263 12.3 LISTA DE TAREFAS PARA CONFIGURAO ......................................263 12.3.1 CONFIGURANDO O ARQUIVO VOICEMAIL.CONF................................... 263 12.3.2 CONFIGURANDO O ARQUIVO EXTENSIONS.CONF................................. 264 12.3.3 USANDO A APLICAO VOICEMAILMAIN() ....................................... 264 12.3.4 SINTAXE DO VOICEMAIL(): ........................................................ 265 12.3.5 CDIGOS DE RETORNO ............................................................ 267 12.4 ARQUIVO DE CONFIGURAO DO VOICEMAIL.................................267 12.4.1 CONFIGURAES DA SEO [GENERAL]. ......................................... 267 12.4.2 VARIVEIS PARA EMAILSUBJECT E EMAILBODY. .................................. 272 12.4.3. CONFIGURAES PARA AS SEES [CONTEXT] .............................. 272 12.5 INTERFACE WEB PARA O CORREIO DE VOZ. ...................................273 12.6 SUMRIO ..............................................................................273 12.7 QUESTIONRIO ......................................................................274

    BILHETAGEM NO ASTERISK .......................................................277

    13.1 INTRODUO .........................................................................277 13.2 OBJETIVOS: ..........................................................................277 13.3 FORMATO DOS BILHETES DO ASTERISK.........................................277 13.4 CDIGOS DE CONTA E CONTABILIZAO AUTOMTICA. .....................278 13.5 MTODOS DE ARMAZENAMENTO DO CDR ......................................279 13.5.1 DRIVERS DE ARMAZENAMENTO DISPONVEIS..................................... 279 13.5.2 ARMAZENANDO EM CSV............................................................ 279 13.5.3 ARMAZENANDO EM UMA BASE DE DADOS MYSQL............................... 279 13.6 APLICAES ..........................................................................281 13.6.1 SETACCOUNT ........................................................................ 281 13.6.2 SETAMAFLAGS...................................................................... 281 13.6.3 NOCDR()............................................................................ 281 13.6.4 RESETCDR()........................................................................ 281 13.6.5 SET(CDR(USERFIELD)=VALUE) .................................................. 281 13.6.6 APPENDCDRUSERFIELD(VALUE) ................................................. 282 13.7 USANDO AUTENTICAO DOS USURIOS .......................................282 13.8 USANDO AS SENHAS DO CORREIO ELETRNICO ..............................282 13.9 SUMRIO ..............................................................................284 13.10 QUESTIONRIO ....................................................................284

    INTEGRAO DO ASTERISK USANDO AGI E AMI .......................287

  • XV

    14.1INTRODUO..........................................................................287 14.2 OBJETIVOS DESTE CAPTULO......................................................287 14.3 PRINCIPAIS FORMAS DE EXTENDER O ASTERISK .............................287 14.4 ESTENDENDO O ASTERISK ATRAVS DA CONSOLE. ...........................288 14.5 ESTENDENDO O ASTERISK USANDO O APLICATIVO SYSTEM ...............288 14.5.1 EXEMPLO DE USO DO APLICAO SYSTEM() ..................................... 288 14.6 O QUE O AMI ......................................................................289 14.6.1 QUE LINGUAGEM UTILIZAR ?....................................................... 289 14.6.2 COMPORTAMENTO DO PROTOCOLO ................................................ 289 14.6.3 TIPOS DE PACOTES.................................................................. 289 14.7 CONFIGURANDO USURIOS E PERMISSES ....................................290 14.7.1 LOGANDO-SE NO AMI .............................................................. 291 14.7.2 LOGANDO-SE NO AMI VIA PHP. .................................................. 291 14.7.3 PACOTES DO TIPO ACTION ......................................................... 291 14.7.4 COMANDOS DO TIPO ACTION ...................................................... 291 14.7.5 PACOTES DO TIPO EVENT........................................................... 293 14.8 ASTERISK MANAGER PROXY ......................................................294 14.8.1 INSTALANDO E CONFIGURANDO O ASTMANPROXY ............................... 295 14.9 ASTERISK GATEWAY INTERFACE.................................................296 14.9.1 USANDO O AGI ..................................................................... 298 14.9.2 EXEMPLO DE AGI ................................................................... 300 14.9.3 DEADAGI ........................................................................... 301 14.9.4 FASTAGI............................................................................ 302 14.10 ALTERANDO O CDIGO FONTE ..................................................302 14.11 SUMRIO ............................................................................303 14.12 QUESTIONRIO ....................................................................304

    ASTERISK REAL-TIME................................................................307

    15-1 INTRODUO.........................................................................307 15.2 OBJETIVOS DESTE CAPTULO......................................................307 15.3 MODO DE FUNCIONAMENTO DO ASTERISK REAL TIME ......................307 15.4 LAB 1 INSTALANDO O ASTERISK REAL/TIME ...............................308 15.5 COMO CONFIGURAR O ASTERISK REAL TIME..................................309 15.6 CONFIGURAO DA BASE DE DADOS.............................................311 15.6 LAB 2 INSTALANDO O BANCO E CRIANDO AS TABELAS ...................312 15.6.1 CRIANDO AS TABELAS NO MYSQL. ............................................... 312 15.7 LAB 3 CONFIGURANDO E TESTANDO O ARA................................315 15.7 SUMRIO ..............................................................................316 15.8 QUESTIONRIO ......................................................................317

    RESPOSTA DOS EXERCCIOS .....................................................321

    RESPOSTAS DO CAPTULO 1..............................................................321 RESPOSTAS DO CAPTULO 2..............................................................323 RESPOSTAS DO CAPTULO 3..............................................................325 RESPOSTAS DO CAPTULO 4 ..............................................................328

  • XVI

    RESPOSTAS DO CAPTULO 5..............................................................330 RESPOSTAS DO CAPTULO 6..............................................................332 RESPOSTAS DO CAPTULO 7..............................................................334 RESPOSTAS DO CAPTULO 8..............................................................336 RESPOSTAS DO CAPTULO 9..............................................................338 RESPOSTAS DO CAPTULO 10............................................................340 RESPOSTAS DO CAPTULO 11............................................................341 RESPOSTAS DO CAPTULO 12............................................................343 RESPOSTAS DO CAPTULO 13 ............................................................345 RESPOSTAS DO CAPTULO 14 ............................................................347 RESPOSTAS DO CAPTULO 15 ............................................................349

  • XVII

    Pgina deixada intencionalmente em branco

  • Introduo ao Asterisk Neste captulo vamos aprender o que o Asterisk, qual sua arquitetura e como pode ser utilizado.

    1.1 Objetivos do captulo Ao final deste captulo o leitor estar apto a:

    Explicar o que o Asterisk, como surgiu e sua relao com outros projetos como o Zapata Telephony e qual o papel da Digium no Asterisk.

    Reconhecer a arquitetura bsica do Asterisk e se familiarizar com

    conceitos como aplicaes, canais e codecs.

    Descobrir diversos cenrios onde o Asterisk poderia ser usado.

    1.2 O que o Asterisk O Asterisk um software de PABX que usa o conceito de software livre (GPL). A Digium, empresa que promove o Asterisk, investe em ambos, o desenvolvimento do cdigo fonte e em hardware de telefonia de baixo custo que funciona com o Asterisk . O Asterisk roda em plataforma Linux e outras plataformas Unix com ou sem hardware conectando a rede pblica de telefonia, PSTN (Public Service Telephony Network). O Asterisk permite conectividade em tempo real entre as redes PSTN e redes VoIP. O Asterisk muito mais que um PABX padro, com ele voc no apenas tem um excepcional upgrade do seu PABX convencional, como tambm adiciona novas funcionalidades a ele, tais como:

    Conectar empregados trabalhando de casa para o PABX do escritrio sobre conexes de banda larga.

    Conectar escritrios em vrios estados sobre IP. Isto pode ser feito pela Internet ou por uma rede IP privada.

    Dar aos funcionrios, correio de voz, integrado com a web e seu e-mail.

    Captulo 1

  • 2 | Captulo 1 | Introduo ao Asterisk

    Construir aplicaes de resposta automtica por voz, que podem conectar voc ao sistema de pedidos, por exemplo, ou ainda outras aplicaes internas.

    Dar acesso ao PABX da companhia para usurios que viajam, conectando sobre VPN de um aeroporto ou hotel.

    E muito mais... O Asterisk inclui muitos recursos que s eram encontrados em sistemas de mensagem unificada topo de linha como:

    Msica em espera para clientes esperando nas filas, suportando streaming de media assim como msica em MP3.

    Filas de chamada onde agentes de forma conjunta atendem as chamadas e monitoram a fila.

    Integrao para sintetizao da fala (text-to-speech). Registro detalhado de chamadas (call-detail-records) para

    integrao com sistemas de tarifao. Integrao com reconhecimento de voz (Tal como o software

    de cdigo aberto para reconhecimento de voz). A habilidade de interfacear com linhas telefnicas normais,

    ISDN em acesso bsico (2B+D) e primrio (30B+D).

    1.2.1 Qual o papel da Digium?

    A Digium baseada em Huntsville, Alabama, ela a criadora e desenvolvedora primria do Asterisk, o primeiro PABX de cdigo aberto da indstria. Usado em conjunto com as placas de telefonia PCI, ele oferece uma abordagem estratgica com excelente relao custo/benefcio para o transporte de voz e dados sobre arquiteturas TDM, comutadas e redes Ethernet. A Digium hoje o principal patrocinador do Asterisk e um dos lderes na indstria do PABX em cdigo aberto, sendo Mark Spencer o criador e principal mantenedor do Asterisk, ele hoje admirado pelo grande trabalho que fez e pela responsabilidade que carrega. A Digium oferece o Asterisk em trs tipos de licenciamento: Asterisk GPL (GNU Public License) A licena GPL a mais encontrada, ela permite que voc use e altere o cdigo. A restrio existente que quaisquer alteraes no cdigo fonte tm de ser redistribudas. Em outras palavras, se voc altera o Asterisk tem de fornecer o cdigo fonte das alteraes e for passar o cdigo adiante.

  • 1.2 O que o Asterisk | 3

    Asterisk Business Edition O Asterisk Business Edition uma licena comercial do Asterisk. Ela no possui recursos adicionais em comparao com a verso GPL, com exceo da proteo contra cpia. A grande vantagem da licena comercial para desenvolvedores que no desejam abrir o cdigo fonte de seus produtos e no podem ou querem usar a verso GPL. Asterisk OEM O Asterisk OEM foi criado para fabricantes de centrais telefnicas que no desejam mostrar aos seus clientes que a central foi criada com o Asterisk.

    1.2.2 O projeto Zapata

    O projeto ZAPATA foi conduzido por Jim Dixon. Ele o responsvel pelo desenvolvimento do hardware da DIGIUM. interessante ressaltar que o hardware tambm aberto e pode ser produzido por qualquer empresa. Hoje a placa com quatro E1/T1s produzida pela Digium, Sangoma e tambm pela Varion. A histria do projeto zapata pode ser vista em: http://www.asteriskdocs.org/modules/tinycontent/index.php?id=10) Uma pequena traduo pode ser encontrada abaixo, Por Jim Dixon H 20 ou 25 anos atrs, a AT&T comeou a oferecer uma API permitindo aos usurios customizar a funcionalidade de seu sistema de correio de voz e auto-atendimento chamado Audix. O Audix rodava em plataforma Unix e custava como tudo em telefonia at o momento, milhares de dlares por porta com uma funcionalidade bastante limitada. Em uma tentativa de tornar as coisas possveis e atrativas (Especialmente para quem no tinha um PABX AT&T) alguns fabricantes vieram com uma placa que podia ser colocada em um PC que rodava DOS e respondia a uma nica linha telefnica (FXO apenas). As placas no tinham uma qualidade to boa quanto as atuais e muitas terminaram como secretrias eletrnicas igualmente ruins. Novas placas de telefonia foram lanadas com preos muito salgados e as companhias continuaram gastando na faixa de milhares de dlares por porta. Afinal de contas, mesmo com as margens altas de muitos fabricantes, as placas de telefonia possuam muita capacidade de processamento na forma de DSPs, processadores de sinais digitais. Se voc observar ainda hoje um gateway de voz sobre ip, vai ver que boa parte do custo ainda est relacionada aos DSPs.

  • 4 | Captulo 1 | Introduo ao Asterisk

    No entanto, o poder de processamento dos microcomputadores continuou crescendo. De forma a provar o conceito inicial comprei uma placa Mitel89000C ISDN Express Development Card e escrevi um driver para o FreeBSD. A placa ocupou bem pouco processamento de um Pentium III 600Mhz, provando que se no fosse limitao do I/O (A placa gerenciava de forma ineficiente o I/O exigindo muitos wait-states) ela poderia atender de 50 a 75 canais. Como resultado do sucesso, eu sai e comprei o necessrio para criar um novo desenho de carto ISA que usasse o I/O de forma eficiente. Eu consegui dois T1s (48 canais) de dados transferidos sobre o barramento e o PC gerenciou isto sem problemas. Ento eu tinha as placas e ofereci-as para venda (Umas 50 foram vendidas) e coloquei o desenho completo (incluindo arquivos de plotagem da placa) na web. . Como o conceito era revolucionrio e sabia que faria ondas na indstria, Eu decidi colocar um nome inspirado no revolucionrio mexicano e dei o nome organizao de Emiliano Zapata e decidi chamar a placa de tormenta. Assim comeou a telefonia ZAPATA. Escrevi um driver completo e coloquei na rede. A resposta que eu obtive foi quase sempre, timo e voc tem para Linux?. Pessoalmente eu nunca havia visto o linux rodar antes, mas fui rapidamente ao Frys (Uma loja enorme de produtos eletrnicos, famosa nos EUA) e comprei uma cpia do Linux Red Hat 6.0. Eu dei uma olhada nos drivers e usei o Vdeo Spigot como base para traduzir o driver de BSD para Linux. De qualquer forma minha experincia com Linux no era grande e comecei a ter problemas em desenvolver o mdulo do kernel na forma de mdulos carregveis. De qualquer forma liberei-o na Net sabendo que algum guru no Linux iria rir dele e talvez me ajudar a reformat-lo em Linuqus apropriado. Em 48 horas eu recebi um e-mail de um sujeito no Alabama (Mark Spencer), que se ofereceu para fazer exatamente isto. Notei apenas que, ele disse que tinha algo que seria perfeito para a coisa toda (O Asterisk). Neste momento o Asterisk era um conceito funcional, mas no tinha uma forma real de funcionar de forma prtica e til. O casamento do sistema de telefonia Zapata e o desenho da biblioteca de hardware/driver e interface permitiram a ele crescer para ser um PABX real que poderia falar com telefones e linhas reais. Alm disso, Mark era brilhante em VOIP, redes, na parte interna do sistema etc., e tinha um grande interesse em telefones e telefonia, mas tinha experincia limitada em sistemas de telefonia e como eles funcionavam, particularmente na rea de interfaces de hardware. Desde o incio eu estava e sempre estive l para ajud-lo nestas reas, ambos fornecendo informao e implementando cdigo nos drivers e no switch

  • 1.3 Porque o Asterisk? | 5

    (PABX). Ns e mais recentemente outros, fizemos um bom time trabalhando em um objetivo comum de trazer o estado da arte em tecnologia de Telecom ao pblico por um custo realista. Desde o carto ISA, eu desenhei o Tormenta 2 PCI Quad T1/E1, o qual o Mark vende como Digium T400P e E400P, e agora a Varion est vendendo como V400P (Ambos T1 e E1). Todos os arquivos de projeto (incluindo foto e arquivos de plotagem) esto disponveis em zaptelephony.org (http://www.zapatatelephony.org) para uso pblico. Como qualquer um pode ver, com o trabalho dedicado de Mark (um monte do meu e outras pessoas) nos drivers da Zaptel e no software do Asterisk, estas tecnologias que vm de um longo tempo esto crescendo e melhorando a cada dia.

    1.3 Porque o Asterisk? Eu me lembro do meu primeiro contato com o Asterisk, a primeira reao ao encontrarmos algo novo que compete com aquilo que conhecemos rejeitar. Foi o que aconteceu, na primeira vez que vi o Asterisk ele concorria com uma soluo que eu estava apresentando. De qualquer forma, eu sempre procuro levantar todas as informaes sobre as alternativas aos projetos que fao e tento descobrir quais os pontos fortes e fracos de uma soluo como o Asterisk. Posso dizer que aps alguns dias eu fiquei pasmo, sabia que o Asterisk traria uma mudana profunda em todo o mercado de telecomunicaes e voz sobre IP. O Asterisk o Apache da telefonia. Deixe-me ento dar vrias razes para o Asterisk.

    1.3.1 Reduo de custos extrema

    Se voc comparar um PABX convencional com o Asterisk talvez diferena seja pequena, principalmente pelo custo do hardware e dos telefones IP. Entretanto, o Asterisk s pode ser comparado a um PABX digital estado da arte. Comparar uma central analgica de quatro troncos e 16 ramais com o Asterisk no mnimo injusto. Quando voc adiciona recursos avanados como voz sobre IP, URA e DAC, a diferena de custo a menos, pode chegar a diversas vezes. Para dar um exemplo, uma nica porta de URA hoje com acesso a um mainframe, cotada recentemente para um cliente nosso, custou pelo menos 10 vezes o preo que custaria com Asterisk.

    1.3.2 Ter controle do seu sistema de telefonia

    Este um dos benefcios mais citados, ao invs de esperar algum configurar o seu PABX proprietrio (alguns nem mesmo do a senha para

  • 6 | Captulo 1 | Introduo ao Asterisk

    o cliente final), configure voc mesmo. Total liberdade e interface padro. No fim das contas LINUX.

    1.3.3 Ambiente de desenvolvimento fcil e rpido

    O Asterisk pode ser programado em C com as APIs nativas, ou em qualquer outra linguagem usando AGI.

    1.3.4 Rico e abrangente em recursos

    Como temos ressaltado desde o incio, poucos so os recursos encontrados em equipamentos PABX vendidos no mercado que no possam ser encontrados ou criados no Asterisk. J o reverso, para encontrar tudo que tem no Asterisk em um PABX convencional...

    1.3.5 possvel prover contedo dinmico por telefone.

    Como o Asterisk programado com C ou outras linguagens de domnio da maioria dos programadores, as possibilidades de prover contedo dinmico por telefone so sem limite.

    1.3.6 Plano de discagem flexvel e poderoso

    Mais uma vez o Asterisk se supera. Se pensarmos, a maioria das centrais, nem mesmo rota de menor custo possuem. Com o Asterisk este processo simples e prtico.

    1.3.7 Roda no Linux e cdigo aberto

    Uma das coisas mais fantsticas do Linux a comunidade de software livre. Quando eu acesso o Wiki, ou os fruns de software em cdigo aberto eu percebo que a adoo de usurios muito rpida, milhares de questes e relato de problemas so enviados todos os dias. O Asterisk provavelmente um dos softwares que mais pessoas tm disponveis para testes e avanos. Isto torna o cdigo estvel e permite a rpida resoluo de problemas.

    1.3.8 Limitaes da arquitetura do Asterisk

    O Asterisk usa a CPU do servidor para processar os canais de voz, ao invs de ter um DSP (processador de sinais digitais) dedicado a cada canal. Enquanto isto permitiu que o custo fosse reduzido para as placas E1/T1, o sistema muito dependente da performance da CPU. Minha recomendao preservar ao mximo a CPU do Asterisk, rod-lo sempre em uma mquina dedicada e testar o dimensionamento antes de implantar. Em minha opinio, o Asterisk deve ser sempre implementado em uma VLAN especfica para VoIP, qualquer tempestade de broadcasts

  • 1.4 Arquitetura do Asterisk | 7

    causada por loops ou vrus pode comprometer o seu funcionamento devido ao uso de CPU das placas de rede quando este fenmeno acontece.

    1.4 Arquitetura do Asterisk

    API de form

    ato de arquivo

    Asterisk

    API de traduo de Codecs

    Gsm, ALaw, Ulaw, G.723,

    G729, ADPCM, MP3, Speex,

    LPC10

    GSM, WAV, G723af, MP3

    Figura 1.1 Arquitetura do Asterisk.

    A figura acima mostra a arquitetura bsica do Asterisk. Vamos explicar abaixo os conceitos relacionados figura acima como canais, codecs e aplicaes.

    1.4.1 Canais

    Um canal o equivalente a uma linha telefnica na forma de um circuito de voz digital. Ele geralmente consiste de ou um sinal analgico em um sistema POTS1 ou alguma combinao de CODEC e protocolo de sinalizao (GSM com SIP, Ulaw com IAX). No incio as conexes de telefonia eram sempre analgicas e por isso, mais suscetveis a rudos e eco. Mais recentemente, boa parte da telefonia passou para o sistema digital, onde o sinal analgico codificado na forma digital usando normalmente PCM (Pulse Code Modulation). Isto permite que um canal de voz seja codificado em 64 Kilobits/segundo sem compactao. Alguns dos hardwares que o Asterisk suporta:

    1 POTS Plain Old Telephony System, sistema de telefonia convencional, baseado

    normalmente em linhas analgicas.

  • 8 | Captulo 1 | Introduo ao Asterisk

    Zaptel Wildcard T410P Placa E1/T1 com quatro portas (PCI 3.3 volts apenas)

    Zaptel Wildcard T405P Placa E1/T1 com quatro portas (PCI

    5 volts apenas) Zaptel TDM400P Placa com quatro portas para tel.

    analgicos e ADSI, Zaptel - TE110P Placa com E1/T1 com uma porta, meio-

    comprimento. Quicknet, - as placas quicknet, tanto PhoneJack quanto

    LineJack podem ser usadas com o Asterisk. ISDN4Linux um driver antigo para placas ISDN BRI, acesso

    bsico. Placas neste padro podero ser usadas no Asterisk. ISDN CAPI a outra forma de suportar as placas ISDN BRI

    no Linux. Placas que suportam este padro podero ser usadas com o Asterisk.

    Voicetronix: possui placas com maior densidade de canais FXS e FXO que as da Digium.

    Canais que o Asterisk suporta:

    Agent: Um canal de agente DAC. Console: Cliente de console do Linux, driver para placas de

    som (OSS ou ALSA). H323: Um dos protocolos mais antigos de VoIP, usado em

    muitas implementaes. IAX e IAX2: Inter-Asterisk Exchange Protocol, o prprio

    protocolo do Asterisk. MGCP: Media Gateway Control Protocol, outro protocolo de

    VOIP. Modem: Usado para linhas ISDN e no modems. NBS: Usado para broadcast de som. Phone: Canal de telefonia do Linux. SIP: Session Initiation Protocol, o protocolo de VoIP mais

    comum. Skinny: Um driver para o protocolo dos telefones IP da Cisco. VOFR: voz sobre frame-relay da Adtran. VPB: Linhas telefnicas para placas da Voicetronix. ZAP: Para conectar telephones e linhas com placas da Digium.

    Tambm usado para TDMoE (TDM sobre Ethernet) e para o Asterisk zphfc (ISDN em modo NT).

    Unicall: Usado para linhas digitais com sinalizao E1/R2. Alguns drivers que podem ser instalados:

  • 1.4 Arquitetura do Asterisk | 9

    Bluetooth: Permite o uso de dispositivos Bluetooth para mudar o roteamento.

    CAPI: canal ISDN CAPI mISDN: canal mISDN channel SCCP: Um driver alternativo para o Skinny.

    1.4.2 Codecs e Converses de CODEC

    Obviamente desejado colocar tantas chamadas quanto possveis em uma rede de dados. Isto pode ser feito codificando em uma forma que use menos banda passante. Este o papel do CODEC (COder/DECoder), alguns CODECs como o g.729 permite codificar a 8 Kilobits por segundo, uma compresso de 8 para 1. Outros exemplos so ulaw, alaw, gsm e ilbc. O Asterisk suporta os seguintes CODECs:

    G.711 ulaw (usado nos EUA) (64 Kbps). G.711 alaw (usado na Europa e no Brasil) (64 Kbps). G.723.1 Modo Pass-through G.726 - 32kbps no Asterisk 1.0.3, 16/24/32/40kbps G.729 Precisa de licena, a menos que esteja usando o modo

    pass-thru.(8Kbps) GSM (12-13 Kbps) iLBC (15 Kbps) LPC10 - (2.5 Kbps) Speex - (2.15-44.2 Kbps)

    1.4.3 Protocolos

    Enviar dados de um telefone a outro seria fcil se os dados encontrassem seu prprio caminho para o outro telefone. Infelizmente isto no acontece, preciso um protocolo de sinalizao para estabelecer as conexes, determinar o ponto de destino, e tambm questes relacionadas sinalizao de telefonia como campainha, identificador da chamada, desconexo, etc. Hoje comum o uso do SIP (Session Initiated Protocol), muito embora outros protocolos tambm sejam expressivos no mercado como o H.323, o MGCP e recentemente o IAX, que excepcional quando se trata de trunking e NAT (Network Address Translation). O asterisk suporta:

    SIP H323 IAXv1 e v2 MGCP SCCP (Cisco Skinny).

  • 10 | Captulo 1 | Introduo ao Asterisk

    1.4.4 Aplicaes

    Para conectar as chamadas de entrada com as chamadas de sada ou outros usurios do asterisk so usadas diversas aplicaes como o Dial, por exemplo. A maior parte das funcionalidades do Asterisk criada na forma de aplicaes como o VoiceMail (correio de voz), Meetme (conferncia), entre outras. Voc pode ver as aplicaes disponveis no Asterisk usando o comando show applications na interface de linha de comando do Asterisk. Alm das aplicaes na verso padro existem aplicaes que podem ser adicionadas a partir do arquivo asterisk-addons e de terceiros.

    1.5 Viso geral do Asterisk

    xxxx

    xx

    xx

    xx

    xx

    xx

    xx

    CISCO IP PHONE7905 S ERIES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    P QRS

    *

    CISCO IP PHONE7905 S ERIES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    P QRS

    *

    CISCO IP PHONE7905 S ERIES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    P QRS

    *

    Figura 1.2 - Viso Geral do Asterisk

    Dentro de uma viso geral, o Asterisk um PABX hbrido que integra tecnologias como TDM2 e telefonia IP com funcionalidade de unidade de resposta automtica e distribuio automtica de chamadas. Neste momento do livro provvel que voc no esteja entendendo todos estes termos, mas ao longo dos captulos, voc estar cada vez mais familiarizado. Na figura acima podemos ver que o Asterisk pode se conectar a uma operadora de telecomunicaes ou um PABX usando interfaces analgicas ou digitais. Os telefones podem ser IP. Ele pode atuar como um softswitch, media gateway, correio de voz, udio conferncia e possui um mecanismo de msica em espera interno.

    2 TDM TDM - multiplexao por diviso de tempo, toda a telefonia convencional

    est baseada neste conceito, quando falarmos em TDM estaremos nos referindo a circuitos T1 e E1. E1 mais comum no Brasil e Europa, T1 mais usado nos EUA.

  • 1.6 Diferenas entre o velho e o novo mundo | 11

    1.6 Diferenas entre o velho e o novo mundo

    1.6.1 Telefonia usando o velho modelo de PABX/Softswitch

    xx

    xx

    xx

    xx

    xx

    xx

    CISCO IP PHONE7905 SERIES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    PQR S

    *

    CISCO IP PHONE7905 SERIES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    PQR S

    *

    CISCO IP PHONE7905 SERIES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    PQR S

    *

    xx

    Figura 1.3 - PABX por software do tipo convencional (softswitch)

    No antigo modelo de PABX, todos os componentes eram vendidos separadamente. Voc tinha de comprar cada componente separadamente e integrar ao sistema. Os custos e riscos eram altos e a maior parte dos equipamentos proprietria.

  • 12 | Captulo 1 | Introduo ao Asterisk

    1.6.2 Telefonia do jeito Asterisk

    xx

    CI SCO IP PHONE7905 SERI ES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    PQ RS

    *

    xx

    xx

    xx

    xx

    CI SCO IP PHONE7905 SERI ES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    PQ RS

    *

    CI SCO IP PHONE7905 SERI ES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    PQ RS

    *

    Figura 1.4 Telefonia do jeito Asterisk

    O Asterisk faz todas estas funes de forma integrada, o licenciamento gratuito (GPL General Public License) e pode ser feito em um nico ou em vrios servidores de acordo com um dimensionamento apropriado. Incrvel dizer isto, mas posso atestar que s vezes mais fcil implantar o Asterisk do que at mesmo especificar e licenciar um sistema de telefonia convencional. Se me permitem a crtica neste livro, os grandes fabricantes alm de caros criaram uma barreira enorme adoo dos seus produtos, pois preciso um especialista para descobrir o que est ou no includo nas licenas e de que forma se licenciam seus produtos. Esse o um dos pontos individuais que mais contriburam para que eu abraasse o Asterisk.

  • 1.7 Construindo um sistema de teste | 13

    1.7 Construindo um sistema de teste

    xx

    xx

    xx

    C ISCO IP PHON E7905 SERIES

    1 2A B C

    3D E F

    4 5J K L

    6M N OG H I

    7 8T U V

    9W X Y ZP Q R S

    *0 #

    4

    7

    PQ RS

    *

    SIP phone

    FXO

    interfac

    eFXS interface

    xx

    xx

    xx

    xx

    Internet

    Connection

    Figura 1.5 O PABX 1x1 comum iniciar construindo uma mquina de teste. A mquina de teste mais simples um PABX 1x1 com pelo menos uma linha e um telefone. Existem vrias formas de faz-lo, vamos examinar algumas.

    1.7.1 Um FXO, Um FXS

    A forma mais simples de criar um sistema de teste usar uma placa com uma porta FXO e uma FXS como uma Digium TDM400. Conecte a porta FXO a uma linha telefnica comum e um telefone normal (analgico) a porta FXS e voc tem o PABX 1x1.

    1.7.2 VoIP Service Provider, softfone ou ATA

    Uma forma bastante econmica criar um Asterisk de teste totalmente em VoIP. Voc pode contratar um nmero de telefone junto a um provedor de servios de voz sobre IP. Existem vrios operando e algumas operadoras tradicionais j oferecem este servio. Na parte do telefone voc pode usar um softfone gratuito, existem vrios como o Idefisk, X-Lite e SJPhone. Voc pode tambm adquirir um adaptador de telefonia analgica para ligar telefones analgicos a ele.

    1.7.3 Placa clone FXO, softfone ou ATA

  • 14 | Captulo 1 | Introduo ao Asterisk

    Esta a forma que eu usei para testar o Asterisk. Existem algumas placas de fax/modem padro V.90 que operam com o Asterisk. As placas X100P e X101P da Digium eram baseadas nestes chips (da o nome de clones). possvel conectar uma linha telefnica em uma placa destas. bem difcil encontr-las hoje, pois foram descontinuadas. Os chipsets que eram conhecidos por funcionar eram (Motorola 68202-51, Intel Ambient MD3200, 537PG e 537PU). Para o telefone voc pode usar um ATA ou um softfone.

    1.8 Cenrios de uso do Asterisk Existm diferentes cenrios onde o Asterisk pode ser usado. Vamos listar alguns deles explicando as vantagens e possveis limitaes.

    1.8.1 IP PBX

    O cenrio mais comum a instalao de um novo PABX ou a substituio de um PABX existente. Se voc compara o Asterisk com outras alternativas, voc ir descobrir que ele possui uma excelente relao custo/benefcio se comparado com centrais digitais e principalmente IP. Comparar o Asterisk com uma central analgica no mnimo injusto. Vrias empresas esto modificando suas especificaes para Asterisk.

    xx

    xx

    xx

    xx

    xx

    xx

    x

    x

    xx

    x

    x

    x

    x

    xx

    x

    x

    Figure 1.6 IP PBX

  • 1.8 Cenrios de uso do Asterisk | 15

    1.8.2 Atualizao de PABX existente para suportar VoIP.

    Voc pode ver na imagem abaixo um dos cenrios mais comuns. As grandes companhias normalmente no desejam assumir grandes riscos e querem preservar investimentos j feitos. Habilitar uma central antiga para o mundo IP usando o Asterisk pode ser uma alternativa excelente. Com isso possvel usar telefones IP, ATAs e softfones em escritrios remotos e mesmo se conectar a provedores de servio com melhores taxas.

    xx

    xx

    xx

    xx

    xx

    xx

    x

    x

    xx

    x

    x

    x

    x

    xx

    x

    x

    x

    x

    xx

    x

    x

    xx

    Figure 1.7 Integro com um PABX existente

  • 16 | Captulo 1 | Introduo ao Asterisk

    1.8.3 Interligao de filiais atravs de VoIP

    Uma aplicao muito til para VoIP a conexo de filiais usando uma rede WAN existente ou mesmo a Internet. Isto permite a voc evitar as tarifas das operadoras para as ligaes entre a matriz e as filiais. possvel inclusive sair discando nas cidades onde voc possui um ponto de presena VoIP com sada para rede pblica.

    PSTN

    Telco or existing PBX

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    xx

    Figure 1.8 Interligao de filiais

    1.8.4 Servidor de aplicaes (URA, Conferncia, Correio de voz)

    Voc pode usar tambm o Asterisk como um servidor de aplicaes para um PABX existente ou conectado diretamente rede pblica. O Asterisk pode fazer os papeis de correio de voz, recepo de fax, gravao de chamadas, ura conectada a um banco de dados ou mesmo um servidor de udio conferncia. Se voc integrar o Asterisk ao e-mail voc tem um sistema de mensagens unificado que uma soluo muito custosa em outras plataformas. Para estas aplicaes o Asterisk uma excelente opo com um custo relativamente pequeno.

  • 1.8 Cenrios de uso do Asterisk | 17

    xx

    Figure 1.9 Asterisk no papel de servidor de aplicaes

    1.8.5 Media Gateway

    A maioria dos provedores de voz sobre IP usam um SIP proxy para fazer o registro, localizao e autenticao dos usurios. De qualquer forma a ligao tem de ser encaminhada na maioria das vezes para a rede pblica de telefonia. Isto pode ser feito diretamente atravs de um gateway PSTN usando interfaces E1 ou analgicas. Em muitos casos, no entanto preciso entroncar com um provedor de terminaes usando conexes SIP ou H.323. O Asterisk pode atuar nesta arquitetura como um media gateway traduzindo protocolos de sinalizao e codecs.

    xx

    xx

    xx

    x

    xx

    x

    x

    Figure 1.10 Asterisk como um gateway de media

  • 18 | Captulo 1 | Introduo ao Asterisk

    1.8.6 Plataforma de Contact Center

    Um Contact center uma soluo muito complexa. Ela combina diversas tecnologias como DAC (distribuio automtica de chamadas), URA (unidade de resposta audvel), superviso de chamadas e agents, relatrios entre outras coisas. Basicamente existem dois tipos de Contact Centers, os ativos e os receptivos. Nos receptivos o Asterisk pode atuar como PABX, DAC, URA, CTI, gravador digital e a soluo de telefonia podem ser criadas totalmente nele. No caso do ativo possvel integrar vrios discadores existentes no mercado (alguns open source) com o Asterisk.

    xx

    xx

    Figure 1-11 Asterisk as a Contact Center Platform

    1.9 Sumrio O Asterisk um software com licenciamento GPL, que transforma um PC comum em uma poderosa central telefnica. Foi criado por Mark Spencer da Digium que comercializa o hardware de telefonia. O Hardware de telefonia tambm aberto e foi desenvolvido por Jim Dixon no projeto Zapata Telephony. A arquitetura do Asterisk se compe basicamente de:

    CANAIS que podem ser analgicos, digitais ou VoIP.

  • 1.10 Questionrio | 19

    PROTOCOLOS de comunicao como o SIP, H323, MGCP e IAX que so responsveis pela sinalizao de telefonia.

    CODECs que fazem a codificao da voz de um formato para outro,

    permitindo que seja transmitida com compresso de at oito vezes (G729a).

    APLICAES que so responsveis pela funcionalidade do PABX.

    O Asterisk pode ser usado em inmeras aplicaes, desde um PABX para uma pequena empresa at sistemas de resposta automtica de alta densidade.

    1.10 Questionrio 1. Marque as opes corretas. O Asterisk tem quatro componentes bsicos de arquitetura CANAIS PROTOCOLOS AGENTES TELEFONES CODECS APLICAES 2. Se for necessrio criar um PABX com 4 troncos e oito telefones, voc pode usar um PC com Linux e trs placas TDM400P uma com quatro canais FXO e duas com quatro canais FXS cada. A afirmao acima est: CORRETA INCORRETA 3. Um canal FXS gera tom de discagem, enquanto um canal FXO recebe o tom vindo da rede pblica ou de um outro PABX. A afirmao acima est: CORRETA INCORRETA 4. Marque as opes corretas, O Asterisk permite os seguintes recursos: Unidade de Resposta Automtica Distribuio automtica de chamadas Telefones IP Telefones Analgicos Telefones digitais de qualquer fabricante.

  • 20 | Captulo 1 | Introduo ao Asterisk

    5. Para tocar msica em espera o Asterisk necessita de um CD Player ligado em um ramal FXO. A afirmao est: CORRETA INCORRETA 6. responsvel pelo atendimento automtico de clientes, normalmente toca um prompt e espera que usurio selecione uma opo. Am alguns casos pode ser usada em conjunto com um banco de dados e converso texto para fala. Estamos falando de uma: URA IVR DAC Unified Messaging 7 Marque as opes corretas, Um banco de canais conectado ao Asterisk atravs de uma interface: E1 T1 FXO FXS 8 Marque a opo correta. Um canal E1 suporta ___ canais de telefonia enquanto um T1 suporta ___ canais. 12, 24 30, 24 12,12 30,23 9 Nas plataformas de telefonia convencional, normalmente URA, DAC e Correio de voz esto includos no PABX. Esta afirmao est: CORRETA INCORRETA 10 Marque as opes corretas, possvel interligar usando o Asterisk vrias filiais atravs de voz sobre IP reduzindo a despesa com ligaes de longa distncia. Em uma filial: O Asterisk pode ser a central telefnica para todos os usurios. O Asterisk pode integrar uma central telefnica existente Podem ser usados apenas telefones IP ligados a um Asterisk centralizado

  • Baixando e instalando Neste captulo vamos abordar a instalao e execuo do Asterisk.

    2.1 Objetivos do captulo Ao final deste captulo voc dever estar apto :

    Dimensionar o hardware necessrio para o Asterisk. Instalar o Linux com as bibliotecas necessrias para o Asterisk. Baixar o Asterisk usando FTP.

    Compilar o Asterisk no Linux.

    Executar e explicar as opes de execuo do Asterisk.

    Aprender a iniciar o Asterisk na carga do Linux com um usurio

    diferente de root.

    2.2 Introduo Este captulo vai ajud-lo a preparar seu sistema para a instalao do Asterisk. O Asterisk funciona em muitas plataformas e sistemas operacionais, mas ns escolhemos manter as coisas simples e ficar em uma nica plataforma e distribuio do Linux. Vamos usar o Debian neste livro. As instrues abaixo podem funcionar com outra distribuio do Linux, mas isto no foi testado. O Asterisk conhecido por funcionar na maioria das distribuies. Testamos no Debian, Suse 9.2 e no CentOS.

    2.3 Hardware Mnimo O Asterisk usa de forma intensiva o processador, principalmente para fazer o processamento dos canais de voz. Se voc estiver construindo um sistema complexo com carga elevada importante entender este conceito. Para construir seu primeiro PABX um processador compatvel com Intel que seja melhor que um Pentium 300Mhz com 256 MB RAM o suficiente. O Asterisk no requer muito espao em disco, cerca de 100 MB compilados, mais cdigo fonte, voice-mail, prompts customizados e todos requerem espao.

    Captulo 2

  • 22 | Captulo 2 | Baixando e Instalando o Asterisk

    Se voc usar apenas VOIP, nenhum outro hardware necessrio. Pode se usar softfones como os da Counterpath (X-Lite) e entroncar com operadoras de voz sobre IP. Uma lista das operadoras de voz sobre IP no Brasil pode ser encontrada em: http://www.voipcharges.com/providers.php?_filter=1&country_sid=31 Cuidado ! Algumas aplicaes do Asterisk como o Meetme requerem uma fonte de clock para fornecer a temporizao. Normalmente a fonte de clock do Asterisk uma placa TDM. Se o seu sistema no tem uma placa TDM, voc pode usar o driver ztdummy que usa a USB como fonte de temporizao. (No Kernel verso 2.6 o ztdummy usa um temporizador interno do kernel e no necessita da USB, usar o temporizador interno do kernel mais recomendado).

    2.3.1 Montando o seu sistema

    O hardware necessrio para o Asterisk no muito complicado. Voc no precisa de uma placa de vdeo sofisticada ou perifricos. Portas seriais, paralelas e USB podem ser completamente desabilitadas. Uma boa placa de rede essencial. Se voc estiver usando uma das placas da Digium, bom verificar as instrues da sua placa-me para determinar se os Slots PCI suportam estas placas. Muitas placas-me compartilham interrupes em slots PCI. Conflito de interrupo uma fonte potencial de problemas de qualidade de udio no Asterisk. Uma maneira de liberar IRQs desabilitar na BIOS todo o hardware que no for utilizado, como placas de som on-board por exemplo.

    2.3.2 Questes de compartilhamento de IRQ

    Muitas placas de telefonia como a X100P podem gerar grandes quantidades de interrupes, atend-las toma tempo. Os drivers podem no conseguir faz-lo em tempo se outro dispositivo estiver processando a mesma IRQ compartilhada e a linha de IRQ no puder receber outra interrupo. Tende a funcionar melhor em sistemas multiprocessados. Em sistemas monoprocessados voc pode ter muitas perdas de interrupo e clock desalinhado. Quaisquer das placas da Digium e outras placas de telefonia podem estar sujeitas ao mesmo problema. Como a entrega precisa de IRQs uma necessidade primria em telefonia, voc no deve compartilhar IRQs com nada. Nem sempre isto ocorre, mas voc deve prestar ateno ao problema. Se voc est usando um computador dedicado para o Asterisk, desabilite o maior nmero de dispositivos que voc no v usar. A maioria das BIOS permite que voc manualmente designe as IRQs. V at a BIOS e olhe na seo de IRQs. bem possvel que voc consiga configuras as interrupes manualmente por slot.

  • 2.4 Escolhendo uma distribuio do Linux. | 23

    Uma vez iniciado o computador, veja em /proc/interrupts as IRQs designadas.

    # cat /proc/interrupts CPU0 0: 41353058 XT-PIC timer 1: 1988 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 413437739 XT-PIC wctdm

  • 24 | Captulo 2 | Baixando e Instalando o Asterisk

    descobrir que esta faltando uma aplicao relacionada ao pacote zaptel (Como o Meetme()), voc ter de compilar o zaptel e ento recompilar o Asterisk para que a aplicao seja includa. Para interfaces T1 e E1 o pacote libpri necessrio. Bison necessrio para compilar o Asterisk. Os pacotes de desenvolvimento ncurses e ncurses-development so necessrios se voc quiser construir novas ferramentas (Como o astman). As bibliotecas zlib e zlib-devel so necessrias agora para compilar. Isto se deve a adio do DUNDi (Distributed Universal Number Discovery) protocol. O openssl e openssl-dev tambm so necessrios.

    2.5 Instalando o Linux para atender ao Asterisk. Usamos o Debian com Kernel 2.6 para a instalao do Asterisk com o Linux. Escolhemos esta distribuio pelo seu grau de aceitao e por ser uma das distribuies suportadas pela Digium. Abaixo seguem as instrues da instalao do Asterisk a partir do zero. Passo 1: Coloque o CD do Debian no cdrom e inicialize o seu PC.

  • 2.5 Instalando o Linux para atender ao Asterisk. | 25

    Passo 2 : Selecione o idioma para a instalao.

    Passo 3: Selecione o pas do idioma selecionado anteriormente.

    Passo 4: Escolha agora o mapa de teclado correspondente.

    Passo 5: Digite o nome do host da mquina.

  • 26 | Captulo 2 | Baixando e Instalando o Asterisk

    Passo 6: Digite o domnio ao qual este equipamento faz parte.

    Passo 7: Ser feita a configurao do particionamento do disco do equipamento, apenas confirme as opes apresentadas. Cuidado ! Todas as informaes do seu disco rgido sero apagadas. Instale em um PC novo ou que voc possa formatar !!!

  • 2.5 Instalando o Linux para atender ao Asterisk. | 27

    Passo 8: Confirme que voc vai apagar todo o disco.

    Passo 9: Confirme que todos os arquivos ficaro em uma partio.

    Passo 10: Aceite e finalize as opes de particionamento.

    Passo 11: Confirme novamente.

  • 28 | Captulo 2 | Baixando e Instalando o Asterisk

    Passo 12: Aceite a instalao do GRUB.

    Passo 13: Instalao est completa, digite para continuar.

  • 2.5 Instalando o Linux para atender ao Asterisk. | 29

    Passo 14: Agora a mquina ir reiniciar, remova o CD.

    Passo 15: Siga as opes apresentadas para a configurao do fuso horrio.

    Passo 16: Escolha America.

  • 30 | Captulo 2 | Baixando e Instalando o Asterisk

    Passo 17: Escolha Other.

    Passo 18: Escolha So Paulo.

    Passo 19: Digite asterisk como senha para o usurio root.

    Passo 20: Redigite a senha para confirmao.

  • 2.5 Instalando o Linux para atender ao Asterisk. | 31

    Passo 21: Crie um usurio chamado asterisk.

    Passo 22: Entre com o nome do usurio Asterisk novamente.

    Passo 23: Digite asterisk como senha para o usurio asterisk.

  • 32 | Captulo 2 | Baixando e Instalando o Asterisk

    Passo 24: Redigite a senha para confirmao.

    Passo 25: Responda no a pergunta para verificao de outro CD.

  • 2.5 Instalando o Linux para atender ao Asterisk. | 33

    Passo 26: J que utilizaremos esta mquina como servidor Asterisk PBX, no necessrio selecionar nenhuma opo apresentada. Redigite a senha para confirmao.

    Passo 27: Apenas confirme a opo apresentadas para o encerramento das configuraes do Debian

  • 34 | Captulo 2 | Baixando e Instalando o Asterisk

    Passo 28: Use a conta Asterisk para o servidor de e-mail:

    2.6 Preparando o Debian para o Asterisk. A instalao do Debian est completa, vamos agora instalar os pacotes necessrios para a instalao/compilao dos drivers das placas zaptel e do prprio Asterisk. Passo 1: Faa o login como root Passo 2: Adicionar fonte para download de pacotes (/etc/apt/sources.list))

    #apt-setup

    Passo 3: Selecionar ftp.

  • 2.6 Preparando o Debian para o Asterisk. | 35

    Passo 4: Selecionar Brazil.

    Passo 5: Selecionar ftp.br.debian.org

    Passo 6: Selecionar para no inserir nenhuma outra fonte.

  • 36 | Captulo 2 | Baixando e Instalando o Asterisk

    Passo 7: Instalar os Headers do Kernel em execuo: #apt-get install kernel-headers-`uname r` #ln -s /usr/src/kernel-headers-`uname -r` /usr/src/linux

    Passo 8: Instalao dos pacotes necessrios para o Asterisk: #apt-get install bison openssl libssl-dev libasound2-dev libc6-dev libnewt-dev libncurses5-dev zlib1g-dev zlib-bin gcc make

    2.7 Obtendo e compilando o Asterisk Agora que voc j instalou o Linux e as bibliotecas necessrias, vamos partir para a instalao do Asterisk.

    2.7.1 Obtendo os fontes do Asterisk

    Para obter os fontes do Asterisk e drivers da Zaptel para uso com hardware digium, voc deve baixar os pacotes da Digium. Baixe os arquivos usando o comando wget. Crie o diretrio /usr/src se ele no existir. No momento do fechamento deste livro estas eram as verses correntes, substitua os comandos abaixo com os arquivos das verses mais atuais. # cd /usr/src #wget http://ftp.digium.com/pub/zaptel/zaptel-1.2.5.tar.gz #wget http://ftp.digium.com/pub/libpri/libpri-1.2.2.tar.gz #wget http://ftp.digium.com/pub/asterisk/asterisk-addons-1.2.2.tar.gz #wget http://ftp.digium.com/pub/asterisk/asterisk-sounds-1.2.1.tar.gz #wget http://ftp.digium.com/pub/asterisk/asterisk-1.2.5.tar.gz

    Descompacte os arquivos usando: # tar xzvf asterisk-1.2.5.tar.gz

  • 2.8 Compilando o Asterisk | 37

    # tar xzvf libpri-1.2.2.tar.gz # tar xzvf asterisk-addons-1.2.2.tar.gz # tar xzvf asteriks-sounds-1.2.1.tar.gz # tar xzvf zaptel-1.2.4.tar.gz

    2.7.2 Compilando o driver zaptel

    Normalmente a compilao dos drivers zaptel bem simples. Entretanto podem ocorrer casos onde voc no possui nenhuma placa TDM que use o driver zaptel. O Asterisk precisa de uma fonte de temporizao que normalmente fornecido por uma placa com driver zaptel. Se esta placa no existir vai ser preciso compilar o mdulo ztdummy. O mdulo ztdummy usa o relgio interno do kernel (kernel 2.6) ou da interface USB (kernel 2.4) para fornecer temporizao para o Asterisk. O Driver ztdummy requer que voc tenha uma controladora USB UHCI. Se voc estiver usando kernel 2.4. Voc pode verificar se a sua placa-me tem uma controladora UHCI USB rodando o lsmod da linha de comando.

    # lsmod Module Size Used by Not tainted ... uhci-hcd 29725 0 [unused]

  • 38 | Captulo 2 | Baixando e Instalando o Asterisk

    cd /usr/src/libpri-1.2.2/ make clean make make install

    cd /usr/src/asterisk-1.2.5/ make clean make make install

    2.9 Iniciando e parando o Asterisk Antes de usar o Asterisk, voc deve criar os arquivos de configurao. Muito embora a quantidade de configuraes possveis seja muito grande, apenas um pequeno conjunto necessrio de forma a iniciar o Asterisk com sucesso. Gere a configurao exemplo do Asterisk usando: cd /usr/src/asterisk-1.2.5/ make samples

    Com esta configurao mnima, j possvel iniciar o Asterisk com sucesso. /usr/sbin/asterisk vvvgc

    Use o comando stop now para derrubar o Asterisk. Veja os comandos disponveis na interface de linha de comando do Asterisk. CLI>stop now

    2.9.1 Parmetros de linha de comando do Asterisk.

    O processo de executar o Asterisk bem simples. Se o Asterisk for rodado sem argumentos, ele lanado como um daemon (Processo que espera conexes em uma porta TCP ou UDP). /sbin/asterisk

    Voc pode acessar a console de um processo do Asterisk que j esteja em execuo usando o comando abaixo. Mais de uma console pode ser conectada ao Asterisk simultaneamente. /sbin/asterisk r

    2.9.2 Abaixo os parmetros disponveis

    -h: Help mostra as opes de parmetros de linha de comando.

  • 2.10 Iniciando o Asterisk em tempo de inicializao. | 39

    -C : Inicia o Asterisk com arquivo de configurao diferente do padro /etc/asterisk/asterisk.conf

    -f: Foreground. Inicia o Asterisk, mas no coloca um processo em Background.

    -c: Habilita o modo de console. Inicia o Asterisk em Foreground (na frente, implica na opo f), com uma console com interface de linha de comando.

    -r: Console remota. -n: Desabilita a cor na console. -i: Pede pelos cdigos criptogrficos de inicializao. -p: Roda como pseudo-realtime. Roda com prioridade de

    tempo real. -q: Modo silencioso suprime as mensagens. -v: Inclui mensagens detalhadas, (mltiplos vs = mais

    verbose). -d: Habilita debug extra em todos os mdulos -g: Faz com que o Asterisk descarregue o ncleo em caso de

    segment violation. -x: Executa o comando (vlido apenas com r)

    2.10 Iniciando o Asterisk em tempo de inicializao. Vamos agora preparar o Asterisk para iniciar automaticamente no boot do Linux, digite: cd /etc/init.d cp /usr/src/asterisk/contrib/init.d/rc.debian.asterisk ./asterisk

    Para atualizar os scripts de inicializao do Linux digite: update-rc.d asterisk defaults

    2.11 Iniciando o Asterisk usando um usurio diferente de root. mais seguro executar o Asterisk com um usurio diferente do usurio root. No caso de uma falha de segurana e um ataque do tipo buffer overflow mais seguro que o Asterisk tenha sido iniciado com um usurio menos privilegiado. Para alterar o usurio de execuo do Asterisk:

    1) Edite o arquivo asterisk: vi /etc/init.d/asterisk

  • 40 | Captulo 2 | Baixando e Instalando o Asterisk

    2) Descomente as seguinte linhas do arquivo removendo o # do incio de cada linha: AST_USER="asterisk" AST_GROUP="asterisk"

    3) Para alterar os direitos do usurio asterisk nas pastas utilizadas

    para a execuo do Asterisk, digite: