DICAS ASTERISK - Comandos úteis e arquivos de configuração
DICAS ASTERISK - Comandos úteis e arquivos de configuração
O Asterisk é um framework GPL (Gnu Public License), e atualmente a maior plataforma de telefonia IP do mundo. A Lojamundi é especialista em soluções baseadas em Asterisk. Por ser mais que uma central telefônica, você pode encontrar o Asterisk sendo utilizado em portões, câmeras, automação residencial e empresarial em possibilidades quase que infinitas. Tudo depende do conhecimento aplicado e da necessidade a ser suprida.
Como também somos entusiastas dessa plataforma há mais de 15 anos, vamos apresentar neste artigo alguns comando úteis e arquivos de configuração que podem ser utilizados para gerenciar sua central.
Já conhece nossa consultoria especializada em Telefonia IP?
Saiba o que podemos fazer pela telefonia da sua empresa.
INICIAR E PARA O ASTERISK |
asterisk | Arrancar o Asterisk |
asterisk -c | Iniciar o Asterisk e abrir o console (CLI) |
asterisk -r | Ingressar no console remoto |
asterisk -rx ‘comando’ | Executar o comando sem ingressar no console |
stop now | Parar o servidor Asterisk - executado dentro da CLI |
stop gracefully | Para o serviço do Asterisk quando todos os canais ativos estiverem ocupados |
stop when convenient | Parar o serviço do Asterisk assim que não tiverem mais chamadas ativas. Aceita uma nova chamada |
exit | Sai do console remoto, sem parar o Asterisk |
COMANDOS IMPORTANTES - CLI |
Set verbose 9 | Aumenta a verbose no CLI |
Set debug | Aciona o modo debug no CLI |
sip show peers | Listar todas contas SIP’s do Asterisk |
sip show channels | Listar todos os canais e conexões ativos |
AJUDA DENTRO DO CLI |
help | Mostrar uma lista de comandos utilizados |
help sip | Mostrar uma lista de funcionalidades para o arquivo |
help sip show | Mostrar as opções de visualização do comando sip show |
help sip show peers | Mostrar a visão do comando sip show peers |
REGEX: vem do termo em inglês regular expression (expressão regular). Uma forma de identificar formas, palavras e padrões de caracteres.
REGEX E EXTENSIONS.CONF |
X | Dígitos entre 0-9 |
Z | Dígitos entre 1-9 |
N | Dígitos entre 2-9 |
[5-7] | Dígitos 5,6 e 7 |
[15-7] | Dígitos 1, 5,6 e 7 |
. | Qualquer valor numérico ou caracter |
EXTENSIONS.CONF |
[general] | Configurações gerais do plano de discagem |
static=yes | Configuração estática |
writeprotect=yes | Não permite alterações do plano de discagem sejam realizadas a partir do console (CLI) |
[globals] | Seção de variáveis |
VAR2=23 | Atribuir valor a uma variável global |
[name] | Define um nome contexto. Poderíamos utilizar um contexto chamado de [from-internal] ou simplesmente [joao] |
setGlobal(VAR1=1) | Seta a variável global VAR1 com o valor 1 |
set(VAR3=Test) | Seta uma variável de canal. Utilizada no plano de discagem corrente |
dial(tech/u:p@host) | Conecta com um host / usuário usando um canal |
answer() | Abre um canal |
hangup() | Encerra um canal |
wait(n) | Espera por n segundos |
goto(n) | Salta de uma prioridade n na mesma extensão. Goto(100,12) aqui o salto é para extensão e prioridade 12. |
gotoif($[ ${X}=1 ]?,1:5) | Salta para prioridade 1 se a variável X for igual a 1. Caso contrário salta para prioridade 5 da extensão |
gotoiftime(9:00-17:00|monfri|1-31|*?dia,s,1) | Salta para o contexto dia na extensão s , prioridade 1 caso seja entre 9h:00 e 17h:00. De segunda a sexta. |
saynumber() | Nomear um número |
sayalpha() | Nomear uma string |
saydigits() | Nomear os dígitos |
sayunixtime() | Nome data/hora do servidor |
voicemail() | Conectar uma chamada ao correio de voz. Utilizar as opções u: unavailble, b: busy e s: gravação |
voicemailmain() | Conectar um usuário ao menu principal do sistema de correio de voz |
DIRETÓRIOS E ARQUIVOS |
/etc/asterisk | Contém todos os arquivos de configuração |
/etc/asterisk/extensions.conf | Arquivo de configuração do plano de discagem |
/etc/asterisk/sip.conf | Arquivo de configuração dos canais SIP |
/etc/asterisk/iax.conf | Arquivo de configuração dos canais IAX |
/etc/asterisk/voicemail.conf | Arquivo de configuração do correios de voz |
/usr/lib/asterisk/modules | Contém as bibliotecas, aplicações e módulos |
/var/run/asterisk | Contém os dados dos processos |
/var/lib/asterisk/sounds | Contém os arquivos de áudio do Asterisk |
/var/log/asterisk | Contém os arquivos de registro / logs do Asterisk |
/var/spool/asterisk | Contém os arquivos das chamadas |
SIP.CONF |
[general] | Seção de configuração global. O que é inserido aqui é aplicado para todos os canais SIP criados |
port=5060 | O Asterisk escuta a porta 5060 para conexão |
bindaddr=0.0.0.0 | Escuta as solicitações de todas as interfaces |
[1701] | Configura o canal SIP 1701. Também aceita valores alfanuméricos |
type=friend | Configura o tipo de canal. Asterisk <=user; Asterisk =>peer e Asterisk = friend |
username=1701 | Usuário |
secret=123456 | senha do canal SIP para registro |
host=dynamic | Define os endereços IP para o dispositivo SIP. A opção dynamic aceita todos os IPs |
context=from-internal | Contexto utilizado quando o dispositivo abre o canal. Configurado em extensions.conf |
qualify=yes | Monitora a latência |
nat=yes | Suporte a NAT. Dica nas versões mais novas do Asterisk utilize: nat=force_rport,comedia |
EXTENSÕES ESPECIAIS |
s | Contexto inicial de uma chamada sem destino específico. |
h | Uma vez que a chamada é finalizada essa extensão é chamada |
i | Utilizada com a aplicação background() quando um dígito é discado e não está definido no contexto |
o,a | Ambos utilizados na aplicação de voicemail (o para 0 e a para *) |
Exemplo de conta SIP criada no sip.conf
[general]
faxdetect=no
context=from-sip-external
notifyringing=yes
notifyhold=yes
tos_sip=cs3
tos_audio=ef
videosupport=yes
tos_video=af41
alwaysauthreject=yes
useragent=Asterisk
disallow=all
allow=ulaw
allow=alaw
;allow=g729
;allow=ulaw
;allow=h263
;allow=h264
allow=g722
allowguest=no
[800]
username=800
type=friend
secret=123456
insecure=port,invite
qualify=yes
context=from-internal
dtmfmode=Inband
nat=force_rport,comedia
host=dynamic
disallow=all
allow=ulaw
allow=alaw
canreinvite=no