Servidor VoIP Com Slackware e Asterisk [Artigo]
-
Upload
tecnologiacia -
Category
Documents
-
view
223 -
download
0
Transcript of 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.
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
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.
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,
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.
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
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
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