Asterisk - Construindo um PBX IP com SoftwareLivre (Parte 1)AsteriskDigiumLicenciamento a custo zero - Licenciado sob a GP...
• Máscara: 255.255.255.0Mãos à obra!    1. Instalar dependências       # aptitude -y install apache2 apache2.2-common apac...
Libpri      # cd /usr/src/libpri-1.4.10.2/      # make      # make install      Asterisk      #   cd ../asterisk-1.4.26.2/...
7. Verificar se o Asterisk está executando      # ps aux | grep asterisk      Resultado:      root      2767 0.0         2...
res_snmp.conf   users.conf       cdr_custom.conf     extconfig.conf            iaxprov.conf         mysql.conf       rpt.c...
disallow = allallow = alaw,ulaw,gsmlanguage = pt_BR[1001]type = friendcontext = tutorialsecret = 12345host = dynamic[1002]...
bindport = 4569bindaddr = 0.0.0.0disallow = allallow = alaw,ulaw,gsmlanguage = pt_BR[1003]type = friendcontext = tutorials...
# vi /etc/asterisk/extensions.confConteúdo do arquivo:[tutorial]exten => 1001,1,Dial(SIP/1001)exten => 1002,1,Dial(SIP/100...
iax2 show peersResultado:Name/Username    Host                 Mask                           Port              Status1004...
Clique em Add new SIP account, e informe o nome da conta em Name.Em SIP account options preencha conforme a figura abaixo ...
Traduzindo a imagem abaixo:Incoming call é ramal que está efetuando a chamada para 1001. É possível aceitar (Accept), reje...
Name/username              Host            Dyn Nat ACL Port     Status1002                       (Unspecified)    D       ...
Upcoming SlideShare
Loading in …5
×

Asterisk

926
-1

Published on

dicas para instalação de um pabx ip

Published in: Self Improvement
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
926
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Asterisk

  1. 1. Asterisk - Construindo um PBX IP com SoftwareLivre (Parte 1)AsteriskDigiumLicenciamento a custo zero - Licenciado sob a GPL (General Public License).FlexibilidadeRedução decustos - A integração de unidades geograficamente diferentes via internet, aliada as baixas tarifas oferecidaspor 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 recursosdisponí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 maisfuncionalidades a nossa central telefônica.Pré-requisitosSistema operacional instalado e atualizado.Informações geraisSistema 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.10asterisk-110618153002-phpapp02.odt 1/12
  2. 2. • Máscara: 255.255.255.0Mã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 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 pacotesasterisk-110618153002-phpapp02.odt 2/12
  3. 3. 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 nowasterisk-110618153002-phpapp02.odt 3/12
  4. 4. 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.confasterisk-110618153002-phpapp02.odt 4/12
  5. 5. 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 SmithAsterisk - Construindo um PBX IP com SoftwareLivre (Parte 2)1. Pré-requisitos2. Informações geraisSerá utilizada a mesma configuração da parte 1 do tutorial.Mãos à obra!3. Criar ramais SIPsip.confRenomear sip.conf# mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.origCriar e editar um novo arquivo sip.conf# vi /etc/asterisk/sip.conf[general]bindport = 5060bindaddr = 0.0.0.0asterisk-110618153002-phpapp02.odt 5/12
  6. 6. disallow = allallow = alaw,ulaw,gsmlanguage = pt_BR[1001]type = friendcontext = tutorialsecret = 12345host = dynamic[1002]type = friendcontext = tutorialsecret = 54321host = dynamic[general] Esta seção define os valores default (padrão) para as demais seções e/ou protocolo. Porta utilizada pelo protocolo. O SIP utiliza as portas 5060 TCP e UDP, e 5061 TCP para TSLbindport (Transporte Layer Security). Endereço IP onde o Asterisk aceitará conexões. Se configurado como 0.0.0.0, aceitarábindaddr conexões em qualquer IP.disallow Desabilita codecs, a opção all desabilita todos codecs.allow Habilita o (s) codec (s) especificado (s). Configuração padrão de idioma para users/peers. É possível configurar individualmente emlanguage cada peer.[XXXX] Identificação do ramal. Define se o ramal pode receber chamadas (peer), efetuar chamadas (user), ou receber e efetuartype chamadas (friend). Define o contexto ao qual o ramal pertence. Este contexto será criado posteriormente no planocontext de discagem.secret Senha para registrar o ramal no servidor. Informa onde o ramal está registrado. Aceita endereço dinâmico, quando configurado comohost dynamic.4. Criar ramais IAXRenomear iax.conf# mv /etc/asterisk/iax.conf /etc/asterisk/iax.conf.origCriar e editar um novo arquivo iax.conf# vi /etc/asterisk/iax.confConteúdo do arquivo:[general]asterisk-110618153002-phpapp02.odt 6/12
  7. 7. bindport = 4569bindaddr = 0.0.0.0disallow = allallow = alaw,ulaw,gsmlanguage = pt_BR[1003]type = friendcontext = tutorialsecret = 12345host = dynamicrequirecalltoken = no[1004]type = friendcontext = tutorialsecret = 54321host = dynamicrequirecalltoken = no[general] Esta seção define os valores default (padrão) para as demais seções e/ou protocolo.bindport Porta utilizada pelo protocolo. O IAX utiliza a porta 4569 UDP. Endereço IP onde o Asterisk aceitará conexões. Se configurado como 0.0.0.0,bindaddr aceitará conexões em qualquer IP.disallow Desabilita codecs, a opção all desabilita todos codecs.allow Habilita o (s) codec (s) especificado (s). Configuração padrão de Idioma para users/peers. É possível configurarlanguage individualmente em cada peer.[XXXX] Identificação do ramal. Define se o ramal pode receber chamadas (peer), efetuar chamadas (user), outype receber e efetuar chamadas (friend). Define o contexto ao qual o ramal pertence. Este contexto será criadocontext posteriormente no plano de discagem.secret Senha para registrar o ramal no servidor. Informa onde o ramal está registrado. Aceita endereço dinâmico, quandohost configurado como dynamic.requirecalltoken = Informa que não há necesside de validar a chamada por tokenno5. Criar o plano de discagem (Dial Plan)Renomear extensions.conf# mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.origCriar e editar um novo arquivo extensions.confasterisk-110618153002-phpapp02.odt 7/12
  8. 8. # vi /etc/asterisk/extensions.confConteúdo do arquivo:[tutorial]exten => 1001,1,Dial(SIP/1001)exten => 1002,1,Dial(SIP/1002)exten => 1003,1,Dial(IAX/1003)exten => 1004,1,Dial(IAX/1004)[tutorial] Contexto contendo regras de discagem.Por ser um assunto de maior abrangência, o plano de discagem terá um tutorial exclusivo.6. Ativar as configuraçõesAcessar a CLI (Command Line Interface) do Asterisk# rasteriskou# asterisk -rResultado:Asterisk 1.4.26.2, Copyright (C) 1999 - 2008 Digium, Inc. and others.Created by Mark SpencerAsterisk comes with ABSOLUTELY NO WARRANTY; type core show warranty for details.This is free software, with components licensed under the GNU General PublicLicense version 2 and other licenses; you are welcome to redistribute it undercertain conditions. Type core show license for details.=========================================================================Connected to Asterisk 1.4.26.2 currently running on debian (pid = 2800)debian*CLI>Recarregar as configurações SIPsip reloadMostrar ramais (peers) criados no sip.confsip show peersResultado:Name/username Host Dyn Nat ACL Port Status1002 (Unspecified) D 0 Unmonitored1001 (Unspecified) D 0 Unmonitored2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 2 offline]Recarregar as configurações IAXiax2 reloadMostrar ramais (peers) criados no iax.confasterisk-110618153002-phpapp02.odt 8/12
  9. 9. iax2 show peersResultado:Name/Username Host Mask Port Status1004 (Unspecified) (D) 255.255.255.255 0 Unmonitored1003 (Unspecified) (D) 255.255.255.255 0 Unmonitored2 iax2 peers [0 online, 0 offline, 2 unmonitored]Recarregar as configurações do plano de discagemdialplan reloadResultado:Dialplan reloaded.Verificar se o plano de discagem foi carregadodialplan show tutorialResultado:[ Context tutorial created by pbx_config ]1001 => 1. Dial(SIP/1001) [pbx_config]1002 => 1. Dial(SIP/1002) [pbx_config]1003 => 1. Dial(SIP/1003) [pbx_config]1004 => 1. Dial(SIP/1004) [pbx_config]-= 4 extensions (4 priorities) in 1 context. =-Sair da CLIexit7. Configuração do softphoneSoftphone é um software utilizado para efetuar chamadas telefônicas, a partir de um computador.Para efetuar os testes irei utilizar o sofphone Zoiper, que possui versões para Linux, Mac e Windows.O Zoiper tem suporte aos protocolos SIP e IAX, e permite registrar duas contas simultaneamente. Destaforma, com apenas um computador consigo testar se os ramais estão efetuando chamadas entre si.A instalação do Zoiper é bastante simples, por este motivo não será abordada neste tutorial.Depois de instalado, basta executá-lo.Se quiser que o Zoiper inicie ao fazer o login, clique em Yes.Clique no ícone da ferramenta (acima do número 6) para acessar o menu de configurações.asterisk-110618153002-phpapp02.odt 9/12
  10. 10. Clique em Add new SIP account, e informe o nome da conta em Name.Em SIP account options preencha conforme a figura abaixo e clique em Ok.Clique em Add new IAX account, e informe o nome da conta em Name.Em IAX account options preencha conforme a figura abaixo e clique em Ok.Com as contas criadas, o próximo passo é registrá-las para efetuar chamadas. Na tela principal do Zoiper,selecione a conta em Account e clique em Register, este procedimento deve ser feito para as duas contas.Agora basta discar para o outro ramal. No exemplo abaixo, a chamada tem como origem o ramal 1003, edestino o ramal 1001.asterisk-110618153002-phpapp02.odt 10/12
  11. 11. Traduzindo a imagem abaixo:Incoming call é ramal que está efetuando a chamada para 1001. É possível aceitar (Accept), rejeitar(Regect) ou ignorar (Ignore).O ideal é executar este teste com mais de um computador e com uso de headset. Porém, apenas para efeitode teste, já é possível comprovar que a comunicação entre ramais está funcionando.8. Verificar ramais registradosOs comandos abaixo são executados na CLI do Asterisk.Verificar ramais SIP.sip show peersResultado:asterisk-110618153002-phpapp02.odt 11/12
  12. 12. Name/username Host Dyn Nat ACL Port Status1002 (Unspecified) D 0 Unmonitored1001/1001 189.110.52.67 D 59927 Unmonitored2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 1 online, 1 offline]Verificar ramais IAX.iax2 show peersResultado:Name/Username Host Mask Port Status1004 (Unspecified) (D) 255.255.255.255 0 Unmonitored1003 192.168.0.134 (D) 255.255.255.255 4569 Unmonitored2 iax2 peers [0 online, 0 offline, 2 unmonitored]Os resultados acima estão informando em que host e portas os ramais estão registrados.No próximo tutorial irei demonstrar como criar uma Unidade de Resposta Audível (URA).asterisk-110618153002-phpapp02.odt 12/12

×