Skip to content

Desmestificando o sip.conf

Para quem usa Asterisk, seja com alguma interface ou “na unha” sabe a devida importância do arquivo sip.conf. Pensando nisso, resolvi explicar e simplificar alguns parâmetros e funções importantes deste arquivo.

De início, é necessário que entenda a função do arquivo sip.conf (Que basicamente serve para gerenciar configurações de todos os peers que utilizarem tecnologia SIP) e onde ele fica (caso não saiba, é fácil resolver, você descobre aqui).

Bom, mãos a massa!

O arquivo de configuração do sip nos permite habilitar e desabilitar os parâmetros que quisermos, porém alguns deles são extremamente importantes, devido a isto, abaixo segue alguns parâmetros e suas explicações.

[general] 

Todas as configurações que forem setadas dentro do contexto general serão válidas para qualquer peer configurado no restante do arquivo, ao menos que você “indique” esta opção novamente no peer. Resumindo de forma sucinta e grosseira, aqui, ficam todas as configurações gerais do SIP.

allowguest=no

Esta opção, setada como no, não permitirá que ramais remotos consigam efetuar chamadas, de qualquer espécie sem utilizar uma senha. Caso essa opção seja utilizada abaixo do contexto general, isso servirá para todos os peers configurados.

bindport=5060

Bom, o BindPort serve para definirmos qual será a porta utilizada pelos peers para a autenticação no Asterisk. O Padrão do protocolo SIP é a porta 5060, porém, quando o assunto é segurança, é altamente recomendado a alteração desta porta, diminuindo as possibilidades de brute force (Força Bruta = Ataque feito com diversas tentativas de autenticação usando combinações aleatórias de usuários e senhas).

bindaddr=0.0.0.0


O bindaddr tem uma semelhança com o bindport, porém o bindaddr serve para informar qual será o IP que se conectará no Asterisk, Neste caso, mantendo o IP 0.0.0.0 estou informando que esta mesma máquina se conectar a aplicação.

callevents=yes

O parâmetro callevents serve para habilitar, ou não, eventos que ocorrem no Asterisk. Está função habilitada é muito útil para quem deseja coletar os dados do Asterisk e utilizar para outras aplicações.

context=ramais

O parâmetro context irá definir o nome do contexto padrão para as configurações de peers/ramais que não possuam essa especificação, caso dentro do peer/ramal esteja específicado um context, este será ignorado.

domain=asterisk.seudominio.com


O parâmetro domain serve para informar ao Asterisk qual ser domínio local, este parado pode ser empregado mais de uma vez com domínios diferentes, como por exemplo um domínio local, um domínio de VPN e um domínio externo.

disallow=all

Dentro do sip.conf é possível selecionar quais os codecs serão utilizados e quais não serão em uma comunicação entre peers, e o comando disallow faz exatamente isso, desabilita todos os codecs, tanto para áudio quanto para vídeo.

allow=codec,codec,codec

Ao contrário do parâmetro disallow, o allow informa quais serão os codecs que podem ser “negociados” na comunicação. Para habilitar somente o codec alaw, será necessário que você marque o parâmetro disallow como all e na linha abaixo manter o parâmetro allow=alaw. Caso sua necessidade seja alaw e ulaw, use allow=alaw,ulaw.


useragent


No parâmetro UserAgent iremos definir o nome que o Asterisk irá se conectar ao provedor, em alguns casos, é necessário mudar este campo para o nome de algum softphone pois existem provedores que não permitem que suas contas sejam utilizadas por servidores Asterisk.

videosupport


Além de permitir a comunicação por voz, existem configurações que permitem o Asterisk efetuar chamadas de vídeo também, para isso é necessário marcar este parâmetro como yes e habilitar os codecs que transportam vídeo nos ramais.

srvlookup


Quando marcado como yes, o parâmetro svrlookup permite fazer buscas de registros DNS SRV para chamadas SIP baseadas nos nomes de dominio.

Lembrando que dentro do arquivo SIP.conf existem muitos outros parâmetros, o intuito da postagem era apresentar somente os mais utilizados. Além de setarmos parâmetros, podemos criar contextos, peers e troncos, o que não foi abordado no momento, quem sabe em postagens futuras? 😛

Vale lembrar que sempre que efetuarmos uma alteração no arquivo sip.conf é necessário acessar a CLI do Asterisk e efetuar o comando sip reload, para que as alterações sejam aplicadas corretamente. Além do sip reload, existem vários outros comandos para Asterisk referentes a tecnologia SIP, conforme abaixo:

CLI> help sip sip notify Send a notify packet to a SIP peer sip prune realtime [peer|all] Prune cached Realtime users/peers sip qualify peer Send an OPTIONS packet to a peer sip reload Reload SIP configuration sip set debug {on|off|ip|peer} Enable/Disable SIP debugging sip set history {on|off} Enable/Disable SIP history sip show {channels|subscriptio List active SIP channels or subscriptions sip show channelstats List statistics for active SIP channels sip show channel Show detailed SIP channel info sip show domains List our local SIP domains sip show history Show SIP dialog history sip show inuse List all inuse/limits sip show objects List all SIP object allocations sip show peers List defined SIP peers sip show peer Show details on specific SIP peer sip show registry List SIP registration status sip show sched Present a report on the status of the sched queue sip show settings Show SIP global settings sip show tcp List TCP Connections sip unregister Unregister (force expiration) a SIP peer from the registry

Para entender como funciona cada comando, teste-os e poste nos comentários o resultado 🙂

A postagem termina aqui, faz fica aberto o tópico para sugestões, críticas, complementos e dicas. Fique a vontade.

Até a próxima.

Entusiasta por Linux e telecomunicações. Extrovertido, comunicativo e fascinado por disseminar o conhecimento. Tenho como hobby escrever artigos para este blog desde 2013.
Só mais um maluco que aprendeu a codar e vive perdidamente apaixonado por Shell <3
Published inAsteriskProtocolo SIPTelefoniaTelefonia IP

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Feito com amor, usando WordPress
Compilando...

Opa, que tal receber as novidades?

Inscreva-se para ficar sabendo das novidades do blog em primeira mão.