De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Andrey Smith
Data de Publicação: 29 de January de 2010
Na parte 1 deste tutorial foi realizada a instalação do Asterisk e suas dependências, agora irei configurá-lo para efetuar ligações entre ramais utlizando os protocolos SIP e IAX.
Ter executado com sucesso a parte 1 deste tutorial. Uma segunda máquina para que possam ser executados testes.
Será utilizada a mesma configuração da parte 1 do tutorial.
Mãos à obra!
O arquivo sip.conf
existente está muito bem comentado, é uma boa prática mantê-lo inalterado para posteriormente ser utilizado como fonte de consulta para eventuais dúvidas.
Renomear sip.conf
# mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.orig
Criar e editar um novo arquivo sip.conf
# vi /etc/asterisk/sip.conf
Conteúdo do arquivo:
[general] bindport = 5060 bindaddr = 0.0.0.0 disallow = all allow = alaw,ulaw,gsm language = pt_BR [1001] type = friend context = tutorial secret = 12345 host = dynamic [1002] type = friend context = tutorial secret = 54321 host = dynamic
[general] | Esta seção define os valores default (padrão) para as demais seções e/ou protocolo. |
bindport | Porta utilizada pelo protocolo. O SIP utiliza as portas 5060 TCP e UDP, e 5061 TCP para TSL (Transporte Layer Security). |
bindaddr | Endereço IP onde o Asterisk aceitará conexões. Se configurado como 0.0.0.0, aceitará conexões em qualquer IP. |
disallow | Desabilita codecs, a opção all desabilita todos codecs. |
allow | Habilita o (s) codec (s) especificado (s). |
language | Configuração padrão de idioma para users/peers. É possível configurar individualmente em cada peer. |
[XXXX] | Identificação do ramal. |
type | Define se o ramal pode receber chamadas (peer), efetuar chamadas (user), ou receber e efetuar chamadas (friend). |
context | Define o contexto ao qual o ramal pertence. Este contexto será criado posteriormente no plano de discagem. |
secret | Senha para registrar o ramal no servidor. |
host | Informa onde o ramal está registrado. Aceita endereço dinâmico, quando configurado como dynamic. |
Renomear iax.conf
# mv /etc/asterisk/iax.conf /etc/asterisk/iax.conf.orig
Criar e editar um novo arquivo iax.conf
# vi /etc/asterisk/iax.conf
Conteúdo do arquivo:
[general] bindport = 4569 bindaddr = 0.0.0.0 disallow = all allow = alaw,ulaw,gsm language = pt_BR [1003] type = friend context = tutorial secret = 12345 host = dynamic requirecalltoken = no [1004] type = friend context = tutorial secret = 54321 host = dynamic requirecalltoken = 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. |
bindaddr | Endereço IP onde o Asterisk aceitará conexões. Se configurado como 0.0.0.0, aceitará conexões em qualquer IP. |
disallow | Desabilita codecs, a opção all desabilita todos codecs. |
allow | Habilita o (s) codec (s) especificado (s). |
language | Configuração padrão de Idioma para users/peers. É possível configurar individualmente em cada peer. |
[XXXX] | Identificação do ramal. |
type | Define se o ramal pode receber chamadas (peer), efetuar chamadas (user), ou receber e efetuar chamadas (friend). |
context | Define o contexto ao qual o ramal pertence. Este contexto será criado posteriormente no plano de discagem. |
secret | Senha para registrar o ramal no servidor. |
host | Informa onde o ramal está registrado. Aceita endereço dinâmico, quando configurado como dynamic. |
requirecalltoken = no | Informa que não há necesside de validar a chamada por token |
Renomear extensions.conf
# mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.orig
Criar e editar um novo arquivo extensions.conf
# vi /etc/asterisk/extensions.conf
Conteú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.
Acessar a CLI (Command Line Interface) do Asterisk
# rasterisk
ou
# asterisk -r
Resultado:
Asterisk 1.4.26.2, Copyright (C) 1999 - 2008 Digium, Inc. and others. Created by Mark Spencer Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain 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 SIP
sip reload
Mostrar ramais (peers) criados no sip.conf
sip show peers
Resultado:
Name/username Host Dyn Nat ACL Port Status 1002 (Unspecified) D 0 Unmonitored 1001 (Unspecified) D 0 Unmonitored 2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 2 offline]
Recarregar as configurações IAX
iax2 reload
Mostrar ramais (peers) criados no iax.conf
iax2 show peers
Resultado:
Name/Username Host Mask Port Status 1004 (Unspecified) (D) 255.255.255.255 0 Unmonitored 1003 (Unspecified) (D) 255.255.255.255 0 Unmonitored 2 iax2 peers [0 online, 0 offline, 2 unmonitored]
Recarregar as configurações do plano de discagem
dialplan reload
Resultado:
Dialplan reloaded.
Verificar se o plano de discagem foi carregado
dialplan show tutorial
Resultado:
[ 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 CLI
exit
Softphone é 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. Desta forma, 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.
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, e destino o ramal 1001.
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 efeito de teste, já é possível comprovar que a comunicação entre ramais está funcionando.
Os comandos abaixo são executados na CLI do Asterisk.
Verificar ramais SIP.
sip show peers
Resultado:
Name/username Host Dyn Nat ACL Port Status 1002 (Unspecified) D 0 Unmonitored 1001/1001 189.110.52.67 D 59927 Unmonitored 2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 1 online, 1 offline]
Verificar ramais IAX.
iax2 show peers
Resultado:
Name/Username Host Mask Port Status 1004 (Unspecified) (D) 255.255.255.255 0 Unmonitored 1003 192.168.0.134 (D) 255.255.255.255 4569 Unmonitored 2 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).
Até o próximo!
:wq!
Andrey Smith
Andrey Smith possui mais de 9 anos de experiência em tecnologia da informação e possui diversas certificações na área de TI.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários