Servidor VoIP Com Slackware e Asterisk [Artigo]

8
7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo] http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 1/8 3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo] http://50.23.4.125-static.reverse.softlayer.com/artigos/impressora.php?codigo=5607 1/8 Servidor VoIP com Slackware e Asterisk Autor: Julio Cesar Campos <julioccampos at ig.com.br> Data: 27/10/2006 Instalação do Slackware e Obtenção dos pacotes do Asterisk Implantação de um servidor voip com GNU/Linux  e  Asterisk Por: Julio Cesar Campos Especificações Hardware mínimo recomendado para uma aplicação com 10 canais simultâneos: Processador Intel 900Mhz (Mínimo) Memória RAM de 512 mb Disco Rígido de 20Gb (sem correio de voz) Plataforma operacional utilizada: Slackware Linux versão 10.1 Asterisk 1.2.10 LibPri 1.2.3 Zaptel 1.2.7 Passo 1 ‐ Instalação do sistema operacional Requisito: Tomamos aqui como requisito necessário o conhecimento básico de instalação de um sistema GNU/Linux. Proceda com a instalação normal do sistema GNU/Linux tendo como única precaução, no momento da escolha dos pacotes, selecionar a opção "menu" e em seguida "full" para evitar problemas de resolução de dependências posteriores. DICA: Remova os pacotes de instalação das interfaces gráficas Gnome e KDE, isso irá lhe economizar cerca de 1,5 GB durante a instalação, além de deixar seu sistema mais "enxuto" na inicialização.

Transcript of Servidor VoIP Com Slackware e Asterisk [Artigo]

Page 1: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 1/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

Servidor VoIP com Slackware e Asterisk

Autor: Julio Cesar Campos <julioccampos at ig.com.br>Data: 27/10/2006

Instalação do Slackware e Obtenção dos pacotes do Asterisk 

Implantação de um servidor voip com GNU/Linux  e Asterisk 

Por: Julio Cesar Campos

Especificações

Hardware mínimo recomendado para uma aplicação com 10 canais simultâneos:

Processador Intel 900Mhz (Mínimo)Memória RAM de 512 mbDisco Rígido de 20Gb (sem correio de voz)

Plataforma operacional utilizada:

Slackware Linux versão 10.1Asterisk 1.2.10LibPri 1.2.3Zaptel 1.2.7

Passo 1 ‐ Instalação do sistema operacional

Requisito: Tomamos aqui como requisito necessário o conhecimento básico de instalação de umsistema GNU/Linux.

Proceda com a instalação normal do sistema GNU/Linux tendo como única precaução, no momentoda escolha dos pacotes, selecionar a opção "menu" e em seguida "full" para evitar problemas de

resolução de dependências posteriores.

DICA: Remova os pacotes de instalação das interfaces gráficas Gnome e KDE, isso irá lheeconomizar cerca de 1,5 GB durante a instalação, além de deixar seu sistema mais "enxuto" nainicialização.

Page 2: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 2/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

Passo 2 ‐ Obter os pacotes com o código fonte do

Asterisk e de suas dependências

Requisito: Tomamos aqui como requisito que você saiba configurar o acesso a internet para o seusistema GNU/Linux. Caso o seu GNU/Linux esteja em uma rede local com acesso a internet, executecomo root o comando "netconfig" e coloque manualmente as configurações de IP, DNS, etc.

Uma vez que a internet esteja configurada, efetue o download dos pacotes através do comando:

wget http://enderecocompletodopacote 

ou baixe em um browser convencional e grave em um CD.

Os pacotes a serem baixados são:

AsteriskLibpriZaptel

Os pacotes podem ser baixados através do site:

http://www.asterisk.org/

Preparando os pacotes e compilando os fontes 

Passo 3 ‐ Preparando os pacotes para instalação

Crie um diretório chamado "asterisk" dentro do diretório /usr/src/ com o comando:

# mkdir /usr/src/asterisk 

Mova/copie os arquivos asterisk‐versao, libpri‐versao e zaptel‐versao para o diretório criado.

Copiar:

# cp asterisk‐versao libpri‐versao zaptel‐versao /usr/src/asterisk 

Mover:

# mv asterisk‐versao libpri‐versao zaptel‐versao /usr/src/asterisk 

Page 3: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 3/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

Acesse o diretório com os novos arquivos e descompacte todos eles, os comandos são:

# cd /usr/src/asterisk

# tar ‐zxvf asterisk‐versao

# tar ‐zxvf libpri‐versao

# tar ‐zxvf zaptel‐versao 

Passo 4 ‐ Compilando os fontes

A compilação dos fontes deve seguir exatamente esta seqüência para não haver problemas dedependências.

Primeiro compile o pacote libpri.

Estando em /usr/src/asterisk:

# cd librpi‐versao

# make clean

# make

# make install 

Segundo compile o pacote zaptel.

Estando em /usr/src/asterisk:

# cd zaptel‐versao

# make clean

# make

# make install 

Por último compile o pacote asterisk.

Estando em /usr/src/asterisk:

# cd asterisk‐versao

# make clean

# make mpg123 (este comando irá instalar o aplicativo mpg123 versão 0.59r que é necessário na utilização demúsica em espera e outros serviços de áudio)# make

# make install 

Após concluir a instalação, ainda dentro do diretório "asterisk‐versao" execute o seguinte comandopara criar os arquivos ".conf" contendo as configurações do sistema Asterisk.

Page 4: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 4/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

# make samples 

Feito isto seu servidor voip já tem tudo necessário para ser configurado e utilizado.

Iniciando o Asterisk e cadastrando os ramais 

Passo 5 ‐ Iniciar o sistema Asterisk

Iniciar o sistema é simples, basta executar o comando:

# asterisk &

(o & serve para colocar o processo em background)

Adicione este comando no arquivo /etc/rc.d/rc.local para que ele inicie o asterisk junto com osistema GNU/Linux .

Particularmente uso o editor de textos "vim", mas a fim de tornar o aprendizado o mais simples,vamos utilizar um editor menos complexo, no caso o "mcedit".

Para editar o arquivo:

# mcedit /etc/rc.d/rc.local 

Vá até o final do arquivo inclua a seguinte linha:

asterisk &

Pressione a tecla F10 para sair e selecione a opção salvar.

Passo 6 ‐ Criar um ramal

Para criar um ramal, primeiro é necessário decidir qual tipo de protocolo será utilizado, o IAX ou oSIP.

Um parâmetro que eu tomo particularmente como relevante na escolha do protocolo é quanto aouso "dentro de um ambiente corporativo" e "fora de um ambiente corporativo (internet)".

Caso o uso dos ramais seja dentro da própria rede onde está o servidor voip Asterisk, sem ter deatravessar um firewall, utilizo o protocolo SIP, que possui mais funcionalidades e possui um

softphone mais agradável ( X‐Lite) e que tem como contra a dificuldade de passar por firewall.

Caso o uso dos ramais seja fora da rede onde está o servidor, utilizo o protocolo IAX , que utilizaapenas uma porta (udp 4569), o que torna extremamente simples a passagem através do firewall,

Page 5: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 5/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

contra o IAX tem algumas dificuldades com funções mais avançadas que estão disponíveis apenas noSIP.

Para criar um ramal com o protocolo IAX, procederemos da seguinte forma.

O arquivo que editamos para incluir ramais IAX é o /etc/asterisk/iax.conf . Para editá‐lo:

# mcedit /etc/asterisk/iax.conf  

Dentro dele, vá até o final do arquivo e adicione as seguintes linhas:

[Número do Ramal]callerid=Nome do Usuáriosecret=Senha do Ramalhost=dynamic #(ver obs1)type=friend #(ver obs2)context=interno #(ver obs3)

OBS1: A opção "dynamic" serve para o ramal ser acessado por qualquer host (inclusive fora darede), você pode definir o endereço IP para limitar apenas um determinado host a acessar esteramal.

OBS2: Existem três tipos de "type", são eles:

Friend = Efetua e recebe ligações;Peer = Apenas faz ligações;

User = Apenas recebe ligações.

OBS3: No campo "context", adiciona‐se a qual "classe de ramal" o ramal pertence, por exemplo,você define um contexto chamado "DDD" onde o ramal pode fazer ligações DDD e outro Local ondeo ramal só faz ligações locais. Em nosso caso usamos o contexto "interno" que será criadoposteriormente e que realizará apenas ligações entre os ramais cadastrados no nosso servidor voipAsterisk.

Um exemplo de utilização seria assim:

[200]callerid=Juliosecret=x200y300host=dynamictype=friendcontext=interno

Onde teríamos as seguintes especificações, o ramal 200 pertence ao usuário Julio, que está nocontexto interno e se loga de qualquer host (opção dynamic) com a senha x200y300 e pode efetuara receber ligações seguindo as restrições do seu contexto.

Feito isso você já terá um ramal criado que poderá utilizar qualquer softphone ou telefone ip quetrabalhe com o protocolo IAX.

Page 6: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 6/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

O softphone recomendado para a utilização com o protocolo IAX é o idefisk , que pode serencontrado no site:

http://www.asteriskguru.com/idefisk/

Para criar um ramal com o protocolo SIP, procederemos da seguinte forma.

O arquivo que editamos para incluir ramais SIP é o /etc/asterisk/sip.conf . Para editá‐lo:

# mcedit /etc/asterisk/sip.conf  

Os parâmetros para inclusão de ramais SIP são idênticas aos ramais IAX, mas é de grande serventiacriar os ramais SIP com uma faixa de ramal diferente da faixa de ramais IAX, para que possamosconfigurar melhor o nosso plano de discagem, ou seja, você pode utilizar as mesmas informaçõesmencionadas acima mudando apenas a faixa de ramais como no exemplo abaixo.

Faixa de ramais SIP:

200 ‐ Recepção201 ‐ Estoque202 ‐ Administração

Faixa de Ramais IAX:

300 ‐ Vendedor1

301 ‐ Vendedor2302 ‐ Vendedor3

Criando o plano de discagem e configurando o softphone 

Passo 7 ‐ Criando um plano de discagem para

poder chamar os ramais

Para podermos efetuar qualquer tipo de ligação através o  Asterisk , precisamos criar os planos dediscagem (que são conhecidos pelo asterisk como contextos).

Para criarmos o plano de discagem que chamamos anteriormente de "interno", vamos adicioná‐loao final do arquivo /etc/asterisk/extensions.conf .

Abra o arquivo para a edição:

# mcedit /etc/asterisk/extensions.conf  

Page 7: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 7/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

Adicione ao final do arquivo os seguintes parâmetros:

[interno] #(cria um contexto chamado interno)

exten => _2XX,1,Dial(SIP/${EXTEN}) #(obs1)exten => _2XX,2,Hangup() (obs2)

exten => _3XX,1,Dial(IAX2/${EXTEN}) #(obs3)exten => _3XX,2,Hangup()

OBS1: Aceita as chamadas iniciadas pelo dígito 2 e que contenham mais dois dígitos, por exemplo200, e executa através da função "Dial" uma chamada para o protocolo SIP com o ramal digitado nosoftphone que vem contido na variável "${EXTEN}".

OBS2: Após o termino da chamada, o asterisk executa a função Hangup, ou seja, termina a ligaçãológica no sistema.

OBS3: Aceita as chamadas iniciadas pelo dígito 3 e que contenha mais dois dígitos, por exemplo300, e executa através da função "Dial" uma chamada para o protocolo IAX com o ramal digitado nosoftphone que vem contido na variável "${EXTEN}".

É importante ressaltar que criamos aqui no contexto "interno" o plano de discagem que efetualigação para ramais IAX e SIP através de regras diferentes, mas que fica "transparente" para ousuário, podendo ele a partir de qualquer softphone (SIP ou IAX) realizar chamadas para qualquerramal cadastrado no sistema, seja ele SIP ou IAX.

Passo 8 ‐ Configurando os softphone para a

utilização

A configuração do softphone pode ser efetuada seguindo o tutorial que desenvolvi e que pode serbaixado através do site.

Softphone IAX

Já para configuração do Softphone SIP:

http://www.asteriskguru.com/tutorials/xlite_softphone.html (em inglês, mas bastante dedutível)

Reiniciando o serviço Asterisk e considerações finais 

Passo 9 ‐ Reiniciando o sistema

Page 8: Servidor VoIP Com Slackware e Asterisk [Artigo]

7/23/2019 Servidor VoIP Com Slackware e Asterisk [Artigo]

http://slidepdf.com/reader/full/servidor-voip-com-slackware-e-asterisk-artigo 8/8

3/5/2014 Servidor VoIP com Slackware e Asterisk [Artigo]

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

Após executar todos estes procedimentos, reinicie o serviço Asterisk  com o comando abaixo:

# asterisk ‐r ‐x reload 

Para realizar as chamadas basta discar no teclado do próprio softphone ou do teclado numérico emseu teclado e teclar enter para efetuar a chamada (lembrando que seguindo este tutorial você

poderá realizar apenas ligações entre os ramais).

Considerações finais

Este tutorial foi escrito visando disponibilizar os conceitos básicos do funcionamento do Asteriskpara usuários que estão ingressando nesta área de desenvolvimento em sistemas de voz sobre IP, eque assim como eu, sofrem na busca de documentação e explicações esclarecedoras que acabam

ficando nas mãos de algumas poucas pessoas que acham que o conhecimento fechado apenas parasi, garante a sua sobrevivência no mercado e serve como trunfo para queda‐de‐braço contraconcorrentes.

"Conhecimento bom é conhecimento livre, recicle seus conhecimentos e jamais se tornaráobsoleto."

Tutorial escrito por:

Julio Cesar Campos julioccampos ‐ at ‐ ig.com.br

Mantenha os créditos do autor no caso de utilização total ou parcial deste documento. ;‐)

http://www.vivaolinux.com.br/artigo/Servidor‐VoIP‐com‐Slackware‐e‐Asterisk

Voltar para o site