De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Asterisk - Construindo um PBX IP com Software Livre (Parte 1)

Colaboração: Andrey Smith

Data de Publicação: 13 de Dezembro de 2009

Asterisk é um software licenciado sob a GPL, que implementa recursos que vão além dos encontrados em um PABX convencional, e pode ser executado em qualquer distribuição Linux, plataformas Unix e até mesmo em Windows. Digium é a empresa criadora do Asterisk, e desde sua criação em 1999, o Asterisk tornou-se rapidamente uma alternativa atraente ao mercado. Abaixo alguns dos fatores que tornaram o Asterisk um verdadeiro fenômeno no mundo das telecomunicações:

Licenciamento a custo zero - Licenciado sob a GPL (General Public License).Flexibilidade - É possível integrar facilmente o mundo VoIP à rede pública de telefonia. Redução de custos - A integração de unidades geograficamente diferentes via internet, aliada as baixas tarifas oferecidas por provedores VoIP, produzem a redução significativa do custo com telefonia.

Vários são os recursos que podem ser implementados no Asterisk, a seguir apenas alguns dos recursos disponíveis:

  • Correio de voz (integrado ao e-mail)
  • Sistema de bilhetagem
  • Conferência
  • Siga-me
  • URA (Unidade de Resposta Audível)
  • DAC (Distribuidor Automático de Chamadas)

Este é o primeiro de uma série de tutoriais sobre Asterisk, e a cada tutorial, irei adicionar mais funcionalidades a nossa central telefônica.

Pré-requisitos

Sistema operacional instalado e atualizado.

Informações gerais

Sistema Operacional: Debian Lenny 5.0

  • Tipo de host: Virtual
  • Hypervisor: VMware Fusion
  • Hd: 10 GB
  • Partições:
    • /
    • 3072 MB (ReiserFS)
    • swap - 512 MB (Swap)
    • /var - 6416 MB (ReiserFS)
  • Memória RAM: 512 MB
  • Endereço IP: 192.168.0.10
  • Máscara: 255.255.255.0

Mãos à obra!

  1. Instalar dependências
      # aptitude -y install apache2 apache2.2-common apache2-mpm-prefork \
      apache2-utils autoconf automake binutils bison bzip2 doxygen g++ g++-4.1 gcc graphviz \
      gsfonts less libapache2-mod-php5 libapache2-mod-perl2 libasound2-dev libc6-dev libcurl3 \
      libcurl3-dev libdbd-mysql-perl libedit2 libedit-dev libeditline0 libeditline-dev libgcrypt11 \
      libiksemel3 libiksemel-dev libmcrypt4 libmcrypt-dev libmhash2 libmyodbc \
      libmysqlclient15-dev libmysqlclient15off libncurses5 libncurses5-dev libnewt0.52 libnewt-dev \
      libogg-dev libsnmp libsnmp-dev libsnmp-base libsnmp-perl libspandsp1 libspandsp-dev libspeex1 \
      libspeex-dev libssl0.9.8 libssl-dev libtiff4-dev libtiff-tools libvorbis-dev libwrap0-dev libxml2 \
      libxml2-dev linux-headers-`uname -r`lrzsz make mc mcrypt mime-construct mysql-server-5.0 ntp \
      ntpdate openssh-server openssl patch pciutils php5 php5-cgi php5-cli php5-common php5-gd \
      php5-mcrypt php5-mysql php-pear procps sox tofrodos unixodbc-dev unzip vim zlib1g-dev phpmyadmin
    

    Nem todos os pacotes acima são dependências do Asterisk, alguns são softwares que serão utlizados nos demais tutoriais para adicionar funcionalidades e facilidades ao Asterisk.

    Durante a instalação, será solicitada a senha do usuário root domysql, basta digitar a senha e confirmar. OphpMyAdmin irá solicitar informações sobre o servidor web, basta marcar a opçãoapache2.

  2. Criar diretório para downloads (opcional)
      # mkdir /downloads
      # cd /downloads
    
  3. Download dos pacotes

      # wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.2.0.tar.gz
      # wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.2.0.2.tar.gz
      # wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.10.2.tar.gz
      # wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-addons-1.4.9.tar.gz
      # wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.4.26.2.tar.gz
    
  4. Descompactar
      # tar -zxf libpri-1.4.10.2.tar.gz -C /usr/src/
      # tar -zxf asterisk-1.4.26.2.tar.gz -C /usr/src/
      # tar -zxf asterisk-addons-1.4.9.tar.gz -C /usr/src/
      # tar -zxf dahdi-linux-2.2.0.2.tar.gz -C /usr/src/
      # tar -zxf dahdi-tools-2.2.0.tar.gz -C /usr/src/
    
  5. Instalar pacotes

    Libpri
      # cd /usr/src/libpri-1.4.10.2/
      # make
      # make install
    
    Asterisk
      # cd ../asterisk-1.4.26.2/
      # sh configure
      # make
      # make install
      # make samples
      # make progdocs
      # make config
    
    make samples - Gera arquivos de exemplo do Asterisk.

    make progdocs - Gera arquivos de documentação do Asterisk.

    make config - Ativa a inicialização automática do Asterisk no boot do sistema.

    Asterisk-Addons
      # cd ../asterisk-addons-1.4.9/
      # sh configure
      # make
      # make install
      # make samples
    
    Dahdi

      # cd ../dahdi-linux-2.2.0.2/
    

    Antes de instalar, é necessário fazer uma pequena alteração no arquivo drivers/dahdi/Kbuild

      # vi drivers/dahdi/Kbuild
    

    Comentar a linha 20, que deve ficar como a linha abaixo:

      #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TOR2)             += tor2.o
    

    Feito isto, é possível continuar com a instalação do dahdi
      # make
      # make install
    
    Dahdi-Tools
      # cd ../dahdi-tools-2.2.0/
      # sh configure
      # make
      # make install
      # make config
    
  6. Reinicializar o sistema

      # shutdown -r now
    

  7. Verificar se o Asterisk está executando

      # ps aux | grep asterisk
    

    Resultado:
      root      2767  0.0  2.2  33052 11408 ?        Ssl  08:48   0:00 /usr/sbin/asterisk
      root      2985  0.0  0.1   3140   760 pts/0    R<+  09:16   0:00 grep asterisk
    
  8. Verificar se as portas do Asterisk estão abertas

      netstat -anp | grep asterisk
    

    Resultado:
      tcp        0      0 0.0.0.0:2000            0.0.0.0:*               OUÇA       2767/asterisk
      tcp        0      0 0.0.0.0:1720            0.0.0.0:*               OUÇA       2767/asterisk
      udp        0      0 0.0.0.0:2727            0.0.0.0:*                           2767/asterisk
      udp        0      0 0.0.0.0:4520            0.0.0.0:*                           2767/asterisk
      udp        0      0 0.0.0.0:5060            0.0.0.0:*                           2767/asterisk
      udp        0      0 0.0.0.0:4569            0.0.0.0:*                           2767/asterisk
      unix  2      [ ACC ]     STREAM     OUVINDO       6134     2767/asterisk       /var/run/asterisk.ctl
    
    Neste ponto do tutorial o Asterisk já está instalado e funcionando perfeitamente.

  9. Localização dos arquivos

    Arquivos de configuração do Asterisk

    /etc/asterisk

    Conteúdo do diretório:
      # ls /etc/asterisk/
      adsi.conf           cdr_mysql.conf   extensions.conf   jabber.conf       osp.conf        say.conf
      adtranvofr.conf     cdr_odbc.conf    features.conf     logger.conf       oss.conf        sip.conf
      agents.conf         cdr_pgsql.conf   festival.conf     manager.conf      phone.conf      sip_notify.conf
      alarmreceiver.conf  cdr_tds.conf     followme.conf     meetme.conf       privacy.conf    skinny.conf
      alsa.conf           chan_dahdi.conf  func_odbc.conf    mgcp.conf         queues.conf     sla.conf
      amd.conf            codecs.conf      gtalk.conf        misdn.conf        res_mysql.conf  smdi.conf
      asterisk.adsi       dnsmgr.conf      h323.conf         modules.conf      res_odbc.conf   telcordia-1.adsi
      asterisk.conf       dundi.conf       http.conf         musiconhold.conf  res_pgsql.conf  udptl.conf
      cdr.conf            enum.conf        iax.conf          muted.conf        res_snmp.conf   users.conf
      cdr_custom.conf     extconfig.conf   iaxprov.conf      mysql.conf        rpt.conf        voicemail.conf
      cdr_manager.conf    extensions.ael   indications.conf  ooh323.conf       rtp.conf        vpb.conf
    
    Arquivos de sons, licenças, scripts, etc.

    /var/lib/asterisk

    Arquivos temporários, e arquivos gerados pelo Asterisk

    /var/spool/asterisk

    Arquivos de log, bilhetes, etc.

    /var/log/asterisk

    No próximo tutorial irei demonstrar como criar ramais, plano de discagem e configurar o softphone que será utilizado para efetuar ligações.

    Até o próximo!

    :wq!?Andrey Smith

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Andrey Smith