Você está na página 1de 8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

ServidorVoIPcomSlackwareeAsterisk
Autor:JulioCesarCampos<julioccamposatig.com.br>
Data:27/10/2006
InstalaodoSlackwareeObtenodospacotesdoAsterisk
ImplantaodeumservidorvoipcomGNU/LinuxeAsterisk
Por:JulioCesarCampos

Especificaes
Hardwaremnimorecomendadoparaumaaplicaocom10canaissimultneos:
ProcessadorIntel900Mhz(Mnimo)
MemriaRAMde512mb
DiscoRgidode20Gb(semcorreiodevoz)
Plataformaoperacionalutilizada:
SlackwareLinuxverso10.1
Asterisk1.2.10
LibPri1.2.3
Zaptel1.2.7

Passo1Instalaodosistemaoperacional
Requisito: Tomamos aqui como requisito necessrio o conhecimento bsico de instalao de um
sistemaGNU/Linux.
ProcedacomainstalaonormaldosistemaGNU/Linuxtendocomonicaprecauo,nomomento
da escolha dos pacotes, selecionar a opo "menu" e em seguida "full" para evitar problemas de
resoluodedependnciasposteriores.
DICA: Remova os pacotes de instalao das interfaces grficas Gnome e KDE, isso ir lhe
economizar cerca de 1,5 GB durante a instalao, alm de deixar seu sistema mais "enxuto" na
inicializao.
http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

1/8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

Passo2Obterospacotescomocdigofontedo
Asteriskedesuasdependncias
Requisito: Tomamos aqui como requisito que voc saiba configurar o acesso a internet para o seu
sistemaGNU/Linux.CasooseuGNU/Linuxestejaemumaredelocalcomacessoainternet,execute
comorootocomando"netconfig"ecoloquemanualmenteasconfiguraesdeIP,DNS,etc.
Umavezqueainternetestejaconfigurada,efetueodownloaddospacotesatravsdocomando:
wgethttp://enderecocompletodopacote
oubaixeemumbrowserconvencionalegraveemumCD.
Ospacotesaserembaixadosso:
Asterisk
Libpri
Zaptel
Ospacotespodemserbaixadosatravsdosite:
http://www.asterisk.org/

Preparandoospacotesecompilandoosfontes

Passo3Preparandoospacotesparainstalao
Crieumdiretriochamado"asterisk"dentrododiretrio/usr/src/comocomando:
#mkdir/usr/src/asterisk
Mova/copieosarquivosasteriskversao,libpriversaoezaptelversaoparaodiretriocriado.
Copiar:
#cpasteriskversaolibpriversaozaptelversao/usr/src/asterisk
Mover:
#mvasteriskversaolibpriversaozaptelversao/usr/src/asterisk
http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

2/8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

Acesseodiretriocomosnovosarquivosedescompactetodoseles,oscomandosso:

#cd/usr/src/asterisk
#tarzxvfasteriskversao
#tarzxvflibpriversao
#tarzxvfzaptelversao

Passo4Compilandoosfontes
A compilao dos fontes deve seguir exatamente esta seqncia para no haver problemas de
dependncias.
Primeirocompileopacotelibpri.
Estandoem/usr/src/asterisk:
#cdlibrpiversao
#makeclean
#make
#makeinstall
Segundocompileopacotezaptel.
Estandoem/usr/src/asterisk:
#cdzaptelversao
#makeclean
#make
#makeinstall
Porltimocompileopacoteasterisk.
Estandoem/usr/src/asterisk:
#cdasteriskversao
#makeclean
#makempg123
(este comando ir instalar o aplicativo mpg123 verso 0.59r que necessrio na utilizao de
msicaemesperaeoutrosserviosdeudio)
#make
#makeinstall
Apsconcluirainstalao,aindadentrododiretrio"asteriskversao"executeoseguintecomando
paracriarosarquivos".conf"contendoasconfiguraesdosistemaAsterisk.
http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

3/8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

#makesamples
Feitoistoseuservidorvoipjtemtudonecessrioparaserconfiguradoeutilizado.

IniciandooAsteriskecadastrandoosramais

Passo5IniciarosistemaAsterisk
Iniciarosistemasimples,bastaexecutarocomando:
#asterisk&
(o&serveparacolocaroprocessoembackground)
Adicione este comando no arquivo /etc/rc.d/rc.local para que ele inicie o asterisk junto com o
sistemaGNU/Linux.
Particularmente uso o editor de textos "vim", mas a fim de tornar o aprendizado o mais simples,
vamosutilizarumeditormenoscomplexo,nocasoo"mcedit".
Paraeditaroarquivo:
#mcedit/etc/rc.d/rc.local
Vatofinaldoarquivoincluaaseguintelinha:
asterisk&
PressioneateclaF10parasaireselecioneaoposalvar.

Passo6Criarumramal
Paracriarumramal,primeironecessriodecidirqualtipodeprotocoloserutilizado,oIAXouo
SIP.
Umparmetroqueeutomoparticularmentecomorelevantenaescolhadoprotocoloquantoao
uso"dentrodeumambientecorporativo"e"foradeumambientecorporativo(internet)".
Caso o uso dos ramais seja dentro da prpria rede onde est o servidor voip Asterisk, sem ter de
atravessar um firewall, utilizo o protocolo SIP, que possui mais funcionalidades e possui um
softphonemaisagradvel(XLite)equetemcomocontraadificuldadedepassarporfirewall.
Caso o uso dos ramais seja fora da rede onde est o servidor, utilizo o protocolo IAX, que utiliza
apenasumaporta(udp4569),oquetornaextremamentesimplesapassagematravsdofirewall,
http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

4/8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

contraoIAXtemalgumasdificuldadescomfunesmaisavanadasqueestodisponveisapenasno
SIP.
ParacriarumramalcomoprotocoloIAX,procederemosdaseguinteforma.
OarquivoqueeditamosparaincluirramaisIAXo/etc/asterisk/iax.conf.Paraeditlo:
#mcedit/etc/asterisk/iax.conf
Dentrodele,vatofinaldoarquivoeadicioneasseguinteslinhas:
[NmerodoRamal]
callerid=NomedoUsurio
secret=SenhadoRamal
host=dynamic#(verobs1)
type=friend#(verobs2)
context=interno#(verobs3)
OBS1: A opo "dynamic" serve para o ramal ser acessado por qualquer host (inclusive fora da
rede), voc pode definir o endereo IP para limitar apenas um determinado host a acessar este
ramal.
OBS2:Existemtrstiposde"type",soeles:
Friend=Efetuaerecebeligaes;
Peer=Apenasfazligaes;
User=Apenasrecebeligaes.
OBS3: No campo "context", adicionase a qual "classe de ramal" o ramal pertence, por exemplo,
vocdefineumcontextochamado"DDD"ondeoramalpodefazerligaesDDDeoutroLocalonde
o ramal s faz ligaes locais. Em nosso caso usamos o contexto "interno" que ser criado
posteriormenteequerealizarapenasligaesentreosramaiscadastradosnonossoservidorvoip
Asterisk.
Umexemplodeutilizaoseriaassim:
[200]
callerid=Julio
secret=x200y300
host=dynamic
type=friend
context=interno
Onde teramos as seguintes especificaes, o ramal 200 pertence ao usurio Julio, que est no
contextointernoeselogadequalquerhost(opodynamic)comasenhax200y300epodeefetuar
areceberligaesseguindoasrestriesdoseucontexto.
Feito isso voc j ter um ramal criado que poder utilizar qualquer softphone ou telefone ip que
trabalhecomoprotocoloIAX.
http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

5/8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

O softphone recomendado para a utilizao com o protocolo IAX o idefisk, que pode ser
encontradonosite:
http://www.asteriskguru.com/idefisk/
ParacriarumramalcomoprotocoloSIP,procederemosdaseguinteforma.
OarquivoqueeditamosparaincluirramaisSIPo/etc/asterisk/sip.conf.Paraeditlo:
#mcedit/etc/asterisk/sip.conf
OsparmetrosparainclusoderamaisSIPsoidnticasaosramaisIAX,masdegrandeserventia
criar os ramais SIP com uma faixa de ramal diferente da faixa de ramais IAX, para que possamos
configurar melhor o nosso plano de discagem, ou seja, voc pode utilizar as mesmas informaes
mencionadasacimamudandoapenasafaixaderamaiscomonoexemploabaixo.
FaixaderamaisSIP:
200Recepo
201Estoque
202Administrao
FaixadeRamaisIAX:
300Vendedor1
301Vendedor2
302Vendedor3

Criandooplanodediscagemeconfigurandoosoftphone

Passo 7 Criando um plano de discagem para


poderchamarosramais
Para podermos efetuar qualquer tipo de ligao atravs o Asterisk, precisamos criar os planos de
discagem(quesoconhecidospeloasteriskcomocontextos).
Paracriarmosoplanodediscagemquechamamosanteriormentede"interno",vamosadicionlo
aofinaldoarquivo/etc/asterisk/extensions.conf.
Abraoarquivoparaaedio:
#mcedit/etc/asterisk/extensions.conf
http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

6/8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

Adicioneaofinaldoarquivoosseguintesparmetros:
[interno]#(criaumcontextochamadointerno)
exten=>_2XX,1,Dial(SIP/${EXTEN})#(obs1)
exten=>_2XX,2,Hangup()(obs2)
exten=>_3XX,1,Dial(IAX2/${EXTEN})#(obs3)
exten=>_3XX,2,Hangup()
OBS1:Aceitaaschamadasiniciadaspelodgito2equecontenhammaisdoisdgitos,porexemplo
200,eexecutaatravsdafuno"Dial"umachamadaparaoprotocoloSIPcomoramaldigitadono
softphonequevemcontidonavarivel"${EXTEN}".
OBS2:Apsoterminodachamada,oasteriskexecutaafunoHangup,ouseja,terminaaligao
lgicanosistema.
OBS3: Aceita as chamadas iniciadas pelo dgito 3 e que contenha mais dois dgitos, por exemplo
300,eexecutaatravsdafuno"Dial"umachamadaparaoprotocoloIAXcomoramaldigitadono
softphonequevemcontidonavarivel"${EXTEN}".
importante ressaltar que criamos aqui no contexto "interno" o plano de discagem que efetua
ligao para ramais IAX e SIP atravs de regras diferentes, mas que fica "transparente" para o
usurio, podendo ele a partir de qualquer softphone (SIP ou IAX) realizar chamadas para qualquer
ramalcadastradonosistema,sejaeleSIPouIAX.

Passo 8 Configurando os softphone para a


utilizao
A configurao do softphone pode ser efetuada seguindo o tutorial que desenvolvi e que pode ser
baixadoatravsdosite.
SoftphoneIAX
JparaconfiguraodoSoftphoneSIP:
http://www.asteriskguru.com/tutorials/xlite_softphone.html
(emingls,masbastantededutvel)

ReiniciandooservioAsteriskeconsideraesfinais

Passo9Reiniciandoosistema
http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

7/8

3/5/2014

Servidor VoIP com Slackware e Asterisk [Artigo]

Apsexecutartodosestesprocedimentos,reinicieoservioAsteriskcomocomandoabaixo:
#asteriskrxreload
Pararealizaraschamadasbastadiscarnotecladodoprpriosoftphoneoudotecladonumricoem
seu teclado e teclar enter para efetuar a chamada (lembrando que seguindo este tutorial voc
poderrealizarapenasligaesentreosramais).

Consideraesfinais
Este tutorial foi escrito visando disponibilizar os conceitos bsicos do funcionamento do Asterisk
parausuriosqueestoingressandonestareadedesenvolvimentoemsistemasdevozsobreIP,e
que assim como eu, sofrem na busca de documentao e explicaes esclarecedoras que acabam
ficandonasmosdealgumaspoucaspessoasqueachamqueoconhecimentofechadoapenaspara
si, garante a sua sobrevivncia no mercado e serve como trunfo para quedadebrao contra
concorrentes.
"Conhecimento bom conhecimento livre, recicle seus conhecimentos e jamais se tornar
obsoleto."
Tutorialescritopor:
JulioCesarCampos
julioccamposatig.com.br
Mantenhaoscrditosdoautornocasodeutilizaototalouparcialdestedocumento.;)

http://www.vivaolinux.com.br/artigo/ServidorVoIPcomSlackwareeAsterisk
Voltarparaosite

http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607

8/8