Your SlideShare is downloading. ×
Asterisk
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Asterisk

898

Published on

dicas para instalação de um pabx ip

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
898
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. • 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. 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. 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. 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. 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. 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. # 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. 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. 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. 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. 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

×