Você está na página 1de 22

AsteriskBrasil.

org - A comunidade brasileira do PBX Open Source Página 1 de 22

pesqu

HOME WIKI LISTAS NOT CIAS GALERIA CONTATO

PABX Siemens e Intelbras Download Google Chrome Álbum De Foto


à partir R$ 399,00(boleto e cartão) O navegador rápido da internet para Confira os Descontos de Hoje
preço bom e condição(41) 3605-0948 quem adora tecnologia. Baixe! Aproveite o Melhor da Sua Cid
www.phonelink.com.br Google.com/Chrome PeixeUrbano.com.br/Cadastre-se

Não diga alô, diga Asterisk! Apostila AsteriskBrasil.org CAPA: Vários telefones fazendo um papel
asterisco vazado em branco ou o inverso.
Índice de Capítulos
1 Sou alienígena,
aliení gena, fale sobre Telefonia......................................
Telefonia.....................................................................
............................................
.............
telefonia.................................................................
telefonia.................................. ..............................................................
.....................................
...... 4 1.2.A evolu
tendências...........................................................................
tendências......................................... ...............................................
............. 6 1.1.1 Telefonia
Analógica........................................................................
Analógica.......................................... .............................................................
......................................
....... 7 1.1.2
Digital................................................................
Digital............................... ................................................................
.....................................................
...................... 7 1.1
IP..............................................................
IP...................................................................................................
...............................................................
.......................... 7 1.
IP..............................................................
IP..................................................................................................
.................................... 8 1.1.5 Telefonia
T elefonia
Móvel................................................................
Móvel................................. ................................................................
......................................................
..................... 8 2 C
Asterisk.........................................................................
Asterisk.......................................... ..............................................................
.....................................
...... 9 2.1 Qu
Como?................................................................
Como?................................. ......................................................
....................... 9 2.1.1 O que é o
Asterisk?...........................................................................
Asterisk?.......................................... ................................................................
....................................
..... 9 2.1.2
desenvolvimento do Asterisk..........................................
Asterisk...................................................................
......................... 9 2.1.3 Participe
também!.....................................................................
também!...................................... ..............................................................
..........................................
........... 10 2.2
Asterisk.........................................................................
Asterisk.......................................... ..........................................
........... 10 2.2.1 Diretórios e
arquivos..........................................................................
arquivos........................................... ..............................................................
................................. 10 2.2.2 O
servidor......................................................................
servidor....................................... ..............................................................
.....................................................
......................
Codecs e Protocolos.................................
Protocolos...................................................................
.................................... .. 12 2.2.3.1 Telefonia
IP..............................................................
IP...................................................................................................
.........................................................
.................... 12 2.2.3
Digital................................................................
Digital............................... ................................................................
...............................................
................ 13 2.2.3.
Analógica........................................................................
Analógica.......................................... .............................................................
................................. .. 13 2.2.3.4
CODECs.....................................................................
CODECs........................................ ............................................................
......................................................
.......................
(channels)....................................................................................
(channels).................................................. .......................................................
..................... 13 2.2.4.
(chan_sip.so)...............................................................................
(chan_sip.so).......................................... ......................................................
................. 13 2.2.4.2 C
(chan_iax2.so)..................................................................................
(chan_iax2.so)............................................. ..................................................
............. 17 2.2.4.3 C
(chan_local.so)..................................................................................
(chan_local.so).............................................. ...........................................
....... 18 2.2.4.4 Canal
(chan_zap.so )................................
)................................................................
............................................................
.............................. 18 2.2.4.5 Ca
(chan_unicall.so)...................................................................................
(chan_unicall.so)........................................................ ........................... 18 2.2.5 EquipameEquipam e
periféricos......................................................................
periféricos....................................... ..........................................................
........................... 19 2.2.5.1 Plac P lac
analógicas.........................................................................
analógicas......................................... ................................................
................ 19 2.2.5.2
Telefones..................................................................
Telefones................................... ..............................................................
.......................................................
........................
ATAs......................................................................
ATAs....................................... ..............................................................
.........................................................
..........................
Softphones....................................................................
Softphones....................................... ...........................................................
...................................................
.....................
Outros...................................................................
Outros...................................... ............................................................
..........................................................
...........................
adicional e Downloads.................................
Downloads......................................................................
...........................................
...... 21 3 Configurações
Configuraçõe s
Asterisk.........................................................................
Asterisk.......................................... .............................................
.............. 21 3.1 Inserindo os padr
Brasileiro................................................................... 22 3.2 Adicionando a linguagem pt_B
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 2 de 22

Asterisk................................................................... 22 3.3 Criando


Asterisk................................................................... Crian do
ramais.........................................................................
ramais.......................................... ..............................................................
..............................................
............... 23
troncos.....................................................................
troncos...................................... ..............................................................
.................................................
.................. 23
Realtime......................................................................
Realtime....................................... ...........................................................
....................................................
........................
Dialplan....................................................................
Dialplan..................................... ..............................................................
........................................... 24 4.1 Cont
(context).........................................................................
(context).......................................... ..............................................................
.........................................
.......... 25 4
[general]...............................................................................
[general].......................................... ....................................................................
................................. 25 4.1
[globals].....................................................................
[globals]...................................... ..............................................................
..........................................
........... 26 4.1.
include........................................................................
include......................................... ..............................................................
......................................
....... 27 4.1.4
contexto...................................................................
contexto.................................... .................................... ..... 28 4.2 Extensões
(exten).........................................................................
(exten).......................................... ..............................................................
...........................................
............ 28 4.
especiais.....................................................................
especiais...................................... ..............................................................
........................................... 29 4.2.2 P
discagem ...............................
..............................................................
..............................................................
........................................
......... 29 4.3
Prioridades.......................................................................
Prioridades........................................ ..............................................................
................................................
.................
n+101................................................................
n+101................................. ................................................................
................................................
............... 30 4.3.2
next....................................................................
next..................................... .............................................................
.................................................
................... 30 4.3.
same....................................................................
same...................................... .............................................................
.............................................
.............. 30 4.3.4
prioridades.....................................................................
prioridades...................................... ................................................
................. 31 4.4
Aplicações............................................................................
Aplicações......................................... ..................................................................
............................................
.............
Onde tudo começa....................................
começa.......................................................................
...........................................
........ 32 4.4.2 Aplicação
Set..............................................................
Set............................... ....................................................................
.........................................................
.................... 33 4.4.
variáveis............................................................................
variáveis.......................................... .......................................................
..................... 33 4.4.2.2 Execu
funções......................................................................
funções....................................... ..............................................................
................................. 34 4.4.2.3
AstDB...................................................................
AstDB..................................... .............................................................
...........................................................
............................
GotoIfTime................................................................
GotoIfTime................................. ..............................................................
........................................... 36 4.4.4 Apl
Macro...................................................................
Macro.................................... .............................................................
...............................................
................. 36 4.4.
famoso Correio de Voz..............................
Voz..........................................................
............................ 36 4.4.5.1 Armazenamento de
mensagens.............................................................................
mensagens.......................................... ........................................ ..... 37 4.4.5.2 Configuração
Configuraç ão
voz.............................................................
voz.............................. .................................. ... 38 4.4.5.3 Notas importantes sobre a aplicaçã
().................................................... 39 4.4.5.4 Aplicações complementares ao Correio de
Voz.......................................................
Voz............................ ........................... 39 4.4.6
MeetMe............................................................
MeetMe............................. .................................................................
................................................................
..............................
Queue....................................................................
Queue..................................... ..............................................................
.........................................................
..........................
AGI................................................................
AGI................................. ..................................................................
.................................................................
..............................
Operadores...................................................................
Operadores.................................... ...........................................................
...................................................
.......................
Booleanos....................................................................
Booleanos..................................... ...........................................................
...................................... 49 4.6.2 Ope
Matemáticos.........................................................................
Matemáticos........................................ ..........................................................
......................... 49 4.7 Exem E xem
dialplan.....................................................................
dialplan...................................... .................................................
.................. 49 5 Gerenciando
Gerencian do o
Asterisk.........................................................................
Asterisk.......................................... ..............................................................
................................... .... 49 5.1 Ge
ramais.........................................................................
ramais.......................................... .........................................................
.......................... 49 5.2 Gerenciam Gerenci am
troncos.....................................................................
troncos...................................... .............................................................
.............................. 50 5.3
CDR................................................................
CDR.................................. .................................................................
................................................................
.............................
Troubleshooting...........................................................................
Troubleshooting......................................... .................................................................
...........................................
Logging..............................................................
Logging............................... ................................................................
.............................................................
............................
Eco................................................................
Eco................................. ..................................................................
.................................................................
..............................
Picotamento.........................................................................
Picotamento........................................ ................................................................
............................................
.............
Delay..................................................................
Delay................................... ..............................................................
............................................................
.............................
SIP.................................................................
SIP.................................... ...............................................................
........................................................
...................... 50 5.
Backup..........................................................................
Backup........................................... ..............................................................
..................................................
...................
Tunning...............................................................................
Tunning............................................ .................................................................
............................................
..............
Segurança............................................................................
Segurança.......................................... .................................................................
............................................
.............
distribuídos e altaal ta disponibilidade...................................................................
disponibilidade................................................................... 53 6 Dicas e
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 3 de 22

Truques........................................................................................................................ 5
aplicações disponíveis na série 1.2 do Asterisk............................. 53 II.Índice com todas as va
Asterisk............................................................. 53 III.Siglas e
Dicionário.................................................................................................................... 53
1 Sou alienígena, fale sobre Telefonia. Entende-se por telefonia, toda e qualquer forma de trans
a outro com a utilização de instrumentos amplificadores.
Ou segundo o Wikipedia:
INSERIR DEFIFINICAO DO WIKIPEDIA
Impossível imaginar a evolução de toda a comunidade sem mencionar os devidos créditos ao po
desenvolvemos de desejar comunicação a todo custo a toda hora e de várias formas.
Ainda somos e seremos escravos da transmissão e recepção de informação, é fato.
1.1. Breve história da telefonia X Alexander Graham Bell Elisha Gray
Nos idos de 1870, dois inventores, Elisha Gray e Alexander Graham Bell, ambos, indepedenteme
que poderia transmitir a voz eletronicamente, o famoso telefone. Ambos correram pra patentear
Alexander Graham Bell ganhou a corrida por questões de algumas horas. Apartir deste momento
famosa sobre a invenção do telefone na qual Bell se saiu campeão.
Alexander Graham Bell nasceu em 1847 em Edinburgh, Escócia. Ele mudou-se para Ontario, e e
estabelecendo em Boston antes de iniciar sua carreira como inventor. Ao longo de sua vida, Bell
pessoas surdas. Este interesse o levou a inventar o microfone e, em 1876, a sua “maquina elétri
machine)” que hoje nós chamamos de telefone. As notícias de seu invento rapidamente se espal
Europa. Em 1878, Bell realizou a primeira chamada em New Haven, Connecticut. Em 1884, cha
feitas entre Boston e Nova York.
Bell imaginou grandes possibilidades de uso para o seu invento, porém ele nunca imaginou que
elétrica de voz pudesse também transmitir vídeo um dia. Esse dia chegou, e desde a sua morte
telecomunicações tem vivenciado uma incrível revolução. Hoje pessoas que não houvem podem
telefones especiais. Fibras óticas estão melhorando a qualidade e velocidade na transmissão de
são capazes de deixa-lo informado e presente mesmo em locais remotos, enfim iremos abpradr
benefícios que a máquina falante de Bell alavancou a toda a comunidade mundial.
1.2. A evolução e as novas tendências A busca incansável por reduções de custo, qualidade, ver
facilidade e demais adjetivos tornaram possível a evolução sistemática dos meios de comunicaçã
dos produtos deste crescimento. É possível estar em dois lugares ao mesmo tempo. Atualmente
faz em todo momento a toda hora e em qualquer lugar. Esteja você no trem, no ônibus, no met
lugares menos móveis como a sua casa, apartamento, escritório, fábrica, hotel ou motel, definiti
neste mundo de circuitos e mais circuitos. Habilitar uma credencial neste mundo é tão simples q
tempos remotos foi um investimento com visível participação na renda familiar, hoje é mais um
ativamente na vida de crianças. LINHA DO TEMPO: FOTOS DE VÁRIOS TELEFONES: DO MAIS AN
Cada país possui o seu órgão que regulamenta os meios de comunicação, em alguns lugares exi
tema Telefonia. No Brasil este órgão é conhecido por ANATEL[1].
1.1.1 Telefonia Analógica
Método original inventando por diversos inventores e que encontrou seu ápice de desenvolvimen
massificação durante os anos 50. Utiliza-se como meio de comunicação principalente os cabos d
ainda hoje reinam nos quadros de distribuição de empresas de telefonia. 1.1.2 Telefonia Digital
Telefonia multiplexada, sinais digitais, processador de sinais digitais(DSP) entram em cena para
analógico, conhecido por voz, em um sinal digital. O sinal digital se distingue por identificadores
momento que antecede o streaming de voz, a chamada fase de sinalização. Estes identificadore
convívio de diversos outros sinais ao mesmo instante. Em suma isso é o que chamamos de multi
acontecendo ao mesmo tempo e pelo mesmo meio físico.
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 4 de 22

Na Telefonia Digital comumente conhecida utiliza-se o transporte de voz sem compactação, assi
digitalizada. Enviando 64Kb por segundo com 8khz e 8 bits(...detalhar khz e bit...).
1.1.3 Telefonia IP
Telefonia IP é o conceito mais atual para utilização de comunicação por voz.. Como toda e qualq
momentos de testes ferrenhos e provas de bala e fogo. Em determinado momento chegou-se a
utilizável. Com custos ainda proibitivos para a sua massificação, a Telefonia IP criou-se em meio
transporte de áudio.
Backbones de grandes empresas de telefonia já cruzavam o Atlântico lançando cabos e mais cab
enormes quantias de minutos de conversas, reuniões e bate-papos, todas elas utilizando o proto
O protocolo IP[2] chegou para trazer mais um conceito dentro dos meios de comunicação. Sua f 
riqueza em controles e documentação virou uma página importante na história das telecomunica
chamavam de ARPANET[3], uma rede de dessentralização de informação criada como um artifíci
exército americano. A INTERNET hoje é o ponto de encontro de comunidades virtuais,
Os recursos de compactação de pacotes são extremamente necessários para se transportar voz
diversificada como a INTERNET. Hoje utiliza-se em quase todas as implementações de Telefonia
de áudio.
Os chamados CODECs são parte indispensável em uma implementação de voz sobre IP. Os algo
DECodificação utilizam-se de funções matemáticas para transformar um pacote de voz com 64K
exemplo, 8Kb. Cada algoritmo desse tem um nome/apelido. Alguns deles são G729a, µlaw, alaw
1.1.4 Telefonia IP x Voz sobre IP
Telefonia IP e Voz Sobre IP, ou VoIP, são duas distintas classes na escala do transporte de voz.
Telefonia IP envolve todos os serviços e meios de utilização de voz empacotada. Correio de voz,
transferências, conferências todas elas ocorrendo no mesmo mundo IP, o uso destes infinitos re
Telefonia IP.
Voz sobre IP ou VoIP é ato de se transferir voz sobre um canal IP de comunicação em. Pode ser
combustível ou o meio de transporte da Telefonia IP.
1.1.5 Telefonia Móvel
Existem diversas formas de se comunicar de forma dinâmica, mas nenhuma delas se compara a
em certa época era apenas um dos recursos disponíveis em aeronaves e foguetes hoje econtra-s
na maioria deles pelo menos.
A Telefonia Móvel tem sua masssificação claramente denotada pela disseminação dos famosos “
como TDMA, CDMA, GSM tomaram conta da mídia e ainda hojem permanecem fortes em um cre
telecomunicações.
A Telefonia Móvel tem se tornado uma parceira ideal para o crescimento da Telefonia IP. Já exis
encoporando tecnologias móveis, porém este ainda é um meio menos popular de transporte de
2 Conhecendo o Asterisk O Asterisk é o canivete suiço das telecomunicações. Hoje ele faz muito
plataforma de telefonia(vídeo e imagem definitivamente também). O limite é sua criatividade, le
Quem? Quando? Porque? Como? O Asterisk foi criado em 1999 por Mark Spencer, fundador da L
empresa que inicialmente prestava serviços de consultoria e suporte em platafromas GNU/Linux
Em um determinado momento Mark encontrou-se em frente a um projeto de telefonia: A necess
problema em seus atendimentos de chamados telefônicos(Help Desk). Hoje aquele seu projeto é
próximas inovações do mundo Open Source após o surgimento do Linux. Batizado como Asterisk
ambientes UNIX like, este software escrito originialmente em linguagem C(VERIFICAR SE É SOM
território dos programas de código aberto disponíveis ao redor do globo. 2.1.1 O que é o Asteris
O Asterisk é um software de PBX, ou seja, um programa de computador que possui todos os rec
e faz a conexão de redes privadas de telefonia com a rede pública de telefonia. Assim como em
desenvolvimento do Asterisk
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 5 de 22

O estrondoso sucesso do Asterisk teve seu início com o lançamento da primeira versão estável d
Atualmente ele encontra-se na versão Asterisk 1.4. Seguindo os mesmos moldes de versioname
possui um versão em desenvolvimento que tem o seu último dígito identificador um número ímp
em desenvolvimento é a versão Asterisk 1.5. Em breve, quando ela estiver estabilizada e devida
tornar-se Asterisk 1.6 e será divulgada comom última versão estável do sistema. Cada série(1.0
prórpio mantenedor, ou seja, cada versão lançada tem um coordenador, que irá controlar o siste
Cada nova versão lançada, automaticamente encerra o desenvolvimento de uma versão antiga.
versão Asterisk 1.6, o Asterisk 1.4 será descontinuado. Claro que correções de segurança e bug
porém novas funcionalidades e a evolução do sistema será todo focado para a versÃo mais rece
SVN para versionamento de seu código e a ferramenta Mantis para registros de bugs e requisiçã
2.1.3 Participe também!
Para participar no desenvolvimento do Asterisk, você pode contribuir de diversas formas. Docum
manuais, howtos, documentação de código entre outros. Projetos a para continente, país para p
Para ser um desenvolvedor você precisa estar muito próximo do código do sistema e ter uma bo
desejável conhecimento dos protocolos e padrões de telefonia. Como o Asterisk é distribuído sob
linhas de código e reportar ao líder do projeto(o mantenedor do código da respectiva versão), el
irá ou não fazer parte do sistema. É claro que antes de se aventurar é importante e determinant
emails dos desenvolvedores[5]. 2.2 Arquitetura tecnológica do Asterisk Basta entender um pouc
Asterisk para começar a evoluir seus conhecimentos neste software. Este capítulo irá trazer o bá
mais profunda neste sistema. INSERIR IMAGEM DESCRITIVA DO ASTERISK 2.2.1 Diretórios e ar
O Asterisk segue o modelo LSB[6] de disposição de diretórios e arquivos. Veja abaixo a espinha
Arquivos de configuração. Você irá conhecê-los com mais detalhes no decorrer deste livro ou ge
do sistema. Ao final da compilação do Asterisk, digite “make samples”, para gerar estes arquivo
configuração do Asterisk: /etc/asterisk/sip.conf [101] ;contexto type=peers ;parâmetro de confi
context=ramais ;parâmetro de configuração secret=senha ;parâmetro de configuração language
configuração disallow=all ;parâmetro de configuração allow=g729,alaw ;parâmetro de configura
mailbox=101@correio ;parâmetro de configuração ou /etc/asterisk/extensions.conf [ramais] ;co
ramais.conf ;incluir conteúdo de outro arquivo exten ⇒ 101,1,Dial(SIP/101,10) ;extensão com p
101,2,VoiceMail(u101@correio);extensão com proridade 2 Todos os arquivos seguem a notação
contéudos(parâmetros, includes e extensões). Os conteúdos variam de arquivo para arquivo e al
comportamento expecial como veremos nos próximos capítulos deste livro. /var/lib/asterisk/sou
sistema. Mensagens e sons utilizados nas diversas aplicações do Asterisk ficam armazendas nes
usando o Asterisk no Brasil, você irá precisar configurar o sistema de acordo com a linguagem P
código de linguagem pt_BR onde for requisitado. Alguns subdiretórios possuem arquivos de áudi
específicos. /var/lib/asterisk/sounds/digits /var/lib/asterisk/sounds/letters /var/lib/asterisk/soun
-bin Diretório que contém as aplicações AGI[7] utilizadas pelo Asterisk. São pequenos programa
Asterisk em momentos de tomada de decisões no fluxo de uma chamada ou trazendo mais recu
 “plugin”. /var/spool/asterisk Local para onde as chamadas são enviadas antes de chegar ao seu
são enfileiradas e saem uma a uma aos seus destinos. É aqui que também ficam as caixas posta
sistema. /usr/lib/asterisk/modules O código do Asterisk é todo moduarizado, ou seja, você pode
sistema de acordo com suas necessidades. Os arquivos neste diretório tem aseguinte nomenclat
channel_zap.so) Alguns módulos bastante comuns em um sistema Asterisk são: format_g729.so
chan_sip.so Suporte ao protocolo SIP de comunicação IP app_voicemail.so Módulo que controla
app_meetme.so Módulo que gerencia as conferências /var/log/asterisk Arquivos de log so sistem
encontra os arquivos que contém os “rastros” de atividade do Asterisk. Você pode possuir difere
nível de detelhamento ou tipo de mensagem. O arquivo que controla o seu conteúdo é o /etc/as
servidor
O Asterisk possui versões que podem ser ujtilizadas em FreeBSD, MacOSX, Linux dentre outros
operacionais. A versão mais utilizada e melhor documentada e testada é a versão para o sistem
indicado para utilização do Asterisk varia de acordo com a sua utilização. Você deve dimensionar
quantidade de ramais/troncos e/ou nas aplicações a serem utilizadas em sua implementação. Ex
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 6 de 22

Exemplo de maquina para Empresa Media Exemplo de maquina para Empresa Grande 2.2.3 Sop
Protocolos
Os protocolos de comunicação das mais variadas implementações de comunicação bem como os
decodificação serão apresentados neste item. Estaremos abordando aqui somente aqueles supor
Telefonia IP
- IP (Internet Protocol) O protocolo base da rede Internet e de redes privadas. - TCP (Transport
transporte de dados em redes IP com controle de entrega de pacotes. - UDP (...) Protocolo de tr
sem controle de entrega de pacotes. - SIP (Session Initiation Protocol) Protocolo de transporte d
dados IP. O SIP é o protocolo mais utilizado nas implementações atuais de transporte de voz. Se
implementação tornaram este protocolo um padrão presente em todos(ou na grande maioria) os
telefonia IP. - H323 (...) O H323 .... 2.2.3.2 Telefonia Digital
- MFCR2 (...) Uma variante brasileira deste protocolo é MFCR2DBR - PRI Padrão de sinalização E
americanos. 2.2.3.3 Telefonia Analógica
- FXS (Foreign eXchange Station) Sinalização enviada para telefones analógicos. - FXO (Foreign
enviada para troncos analógicos 2.2.3.4 CODECs
- G729 - G723 - G726 - iLBC - Speex 2.2.4 Os Canais(channels)
Os canais são os responsáveis pela comunicação entre as aplicações, ramais e troncos do Asteri
envolvem chamadas, são disponibilizados por meios de canais de comunicação, os “channels” do
CANAIS E O ASTERISK O Asterisk possui diversos tipos de canais. Os tipos de canais possíveis s
(chan_sip.so)
Este canal é reponsável pela comunicação SIP entre o Asterisk e ramais ou troncos que falem es
configurado através do arquivo /etc/asterisk/sip.conf Os parâmetros de configuração SIP para o
Parâmetros Valores Descrição disallow all|lista de codecs disallow=all Desabilita todos os codecs.
Habilita todos(all) ou os codecs especificados e espaçados por vírgulas por ordem de preferência
especificar alguns. allowexternalinvites yes|no Permite ou não o INVITE e REFER para domínios
allowguest yes|no Permite ou não chamadas não conhecidas(guest). Default é yes autocreatepe
irá permitir que qualquer um se autentique ccomo peer(sem checagem de credenciais). Interess
Default é no. autodomain yes|no Habilita ou não a abilidade do Asterisk inserir hosts locais ou Ip
Default é no. bindaddr número ip Endereço IP onde o Asterisk irá escutar as requisições SIP. De
inteiro Porta UDP onde o Asterisk irá escutar as requisições SIP. Default é 5060. callerid nome C
seja especifdicado. O default é asterisk. canreinvite update|yes|no Permite que A e B trafeguem
utilziar o Asterisk. Default é yes. checkmwi tempo em segundos Tempo em segundos do interval
correio. Default é 10. compactheaders yes|no Se o Asterisk enviará ou não cabeçalhos compaca
mensagens SIP. Default é no. context nome O contexto default. Usado quando um endpoint não
defaultexpirey tempo em segundos O tempo em segundos para registros SIP(entrante/saintes).
inband|info|rfc2833 Modo DTMF. Default é rfc2833. domain nome Lista de domínios, separados
irá ser responsável. dumphistory yes|no Habilita o suporte de gerar um dump de conversas SIP
extermip número ip ou nome Endreço IP ou nome do host que será colocado em mensagens SIP
NAT. Se for usado o nome de host, ele será verificado somente uma vez. Usar externhost se o n
dinâmico. externhost nome Nome do host que será colocado em mensagens SIP se o Asterisk es
extermrefresh tempo em segundos Tempo em segundos que será feito um refresh do DNS do no
externhost. Default é 10. ignoreregexpire yes|no Indica quando usar a informação de Contact de
estiver ociosa por ter alcançado seu tempo máximo de expiração.. language nome Idioma padrã
e Background() localnet endereço ip/ mascara de rede Endereço de rede local e mascara. fromd
campo From: do cabeçalho SIP quando o Asterisk é um UA(User Agent). insecure very|yes|no|in
SIP com peers. Default é no(autentica todas as conexões). maxexpirey tempo em segundos Tem
será aguardado para registros SIP. Default é 3600. musicclass nome Uma das classes de Música
sistema(musiconhold.conf) musiconhlod nome Mesmo que musicclass nat yes|no|never|route D
UA esteja atrás de NAT. notifymimetype mediatype/subtype Permite sobrepor o tipo de midia[9]
correio de voz. notifyringing yes|no NOTIFY no momento de ringing. Default é yes. outboundpro
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 7 de 22

para envio de chamadas saintes. Não especificar o prefixo _sip._udp em caso de DNS SRV. outb
Porta UDP do proxy de chamdas saintes. pedantic yes|no Permite a checagem pedantic de calleri
cabeçalhos URI codificados. port número inteiro Porta SIP do UA. Não é a mesma coisa do que bi
never|no|yes Se é necessário gerar ring inband SEMPRE. Default é never/ promiscredir yes|no P
302. Irá redirecionar todos a extensão local presente no campo Contact ao invés da extensão de
em milisegundos Checa se o cliente(UA) está alcançavel. Se yes irá checar a cada 2000ms. Defa
realm padrão(asterisk). recordhistory yes|no Habilita o logging do histórico de transações SIP. r
padrão para utilizar nas respostas SIP REGISTERs dos servidores SIP. register ⇒ <username>:<
client/peer id in sip.conf>/<contact> Para realizar o registro SIP em outro server. registerattem
tentativas de registro antes de desistir de realizar o registro. Default é 0. registertimeout tempo
esperar para caracaterizar um timeout de registro. Default é 0(sem limite). relaxdtmf yes|no Rel
rtautoclear yes|no|tempo em segundos Auto expirar contas criadas no realtime. Default é 120. r
cache de contas SIP na lista interna do Asterisk como é feito usando os arquivos de configuraçã
no. rtpholdtimeout tempo em segundos Tempo, em segundos, de timeout de uma chamada em
Default é 0(ilimitado). rtpkeepalive tempo em segundos Tempo em segundos até que seja enmvi
de inatividaade de um canal de voz. rtptimeout tempo em segundos Tempo em segundos até ca
inativa. Default é 0(sem RTP timeout). rtupdate yes|no Envia updates de registry ao banco de d
usando realtime. sendrpid yes|no Se um Remote-Party_ID do cabeçalho SIP devará ser enviado.
Modo debug no início do módulo SIP. srvlookup yes|no Habilitar consultas DNS SRV. Default é n
parra saída de chamdas. Valores numéricos pode ser usados como tos=184 trustrpid yes|no Se
cabeçalho SIP deverá ser confiável. useclientcode yes|no useregphone yes|no Para usar user=p
Customizar o cabeçalho User-Agent do protocolo SIP. Alterar a identificação do Asterisk. Default
Para usar o suporte a vídeo. Default é no. vmexten nome Extenssão do dialplan para acessar o c
asterisk. Parâmetros específicos para type=peer e type=user. Parâmetros Valores Descrição typ
allowexternalinvites Yes|no Permite ou não o INVITE e REFER para domínios não locais. Deafult
Permite ou não chamadas não conhecidas(guest). Default é yes 2.2.4.2 Canal IAX (chan_iax2.so
Este canal é reponsável pela comunicação SIP entre o Asterisk e ramais ou troncos que falem es
configurado através do arquivo /etc/asterisk/sip.conf Os parâmetros de configuração SIP são: Pa
host=0.0.0.0 Host permitido para acesso ao sistema. peer/user disallow=all peer/user allow=g7
Canal Local (chan_local.so)
Canais do tipo “Local” são utilizados para acessar recursos locais do Asterisk. Você pode por exe
utilizando a seguinte notação: Local/3333 ao invés de SIP/333. 2.2.4.4 Canal ZAP (chan_zap.so
Os canais ZAP são utilizados para realizar a comunicação do Asterisk com o mundo da telefonia
dele que configuraremos os troncos E1(PRI), por exemplo, com uma operadora de telefonia. Ou
ramais analógicos conectados diretamente ao servidor Asterisk. Para a utilização deste tipo de c
placas(geralmente com barramento PCI) conectadas ao servidor Asterisk. Vamos falar um pouco
mais adiante. O arquivo que configura este canal é o /etc/asterisk/zapata.conf. Veja na tabela a
neste arquivo: Parâmetros Descrição language=pt_BR group=0 channels=1-4 2.2.4.5 Canal Uni
O canal Unicall é disponibilizado em um projeto a parte do Asterisk. É necessário aplicar um patc
de canal a um servidor Asterisk.
O responsável pelo desenvolvimento deste software é Steve Underwood. Steve utiliza o apelido
madrugada adentro nos canais IRC e nas listas de discussão do projeto Asterisk.
O Canal Unicall tem enorme importância em território brasileiro, pois é ele o responsável pelo su
sinalização de E1 CAS MFCR2DBR.
O arquivo que configura este módulo é o /etc/asterisk/unicall.conf. Os parâmetros utilizados nes
muito com os parâmteros utilizado no arquivo de configuração de canais ZAP. Veja na tabela ab
neste arquivo:
Parâmetros Descrição language=pt_BR group=0 channels=1-4 2.2.5 Equipamentos periféricos
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 8 de 22

O Asterisk, como qualquer outro ambiente de telefonia, possui apetrechos tecnológicos para disp
completo de comunicação. Telefones, placas, gateways, enfim, é necessário alguns acessórios p
do Asterisk.
Neste capítulo iremos conhecer alguns destes acessórios.
2.2.5.1 Placas digitais e analógicas
Para conectar o Asterisk às redes de telefonia convencionais(chamaremos de PSTN[11] estas re
Existem diversos fabricantes de placas analógicas e digitais que possuem suporte no Asterisk. A
Digium, empresa de Mark Spencer, criador do Asterisk. Abaixo vamos listar alguns fabricantes e
Digium (LOGO)
TE110P (FOTO DA PLACA)
LISTAR TODAS AS PLACAS
Sangoma
LISTAR TODAS AS PLACAS
Voicetronix
LISTAR TODAS AS PLACAS
Go Varion
LISTAR TODAS AS PLACAS
Digivoice
LISTAR TODAS AS PLACAS
Khomp
LISTAR TODAS AS PLACAS
Pika
LISTAR TODAS AS PLACAS
O projeto Zapata Telephony[12] disponibiliza sob a licença GPL um projeto para fabricação de al
Asterisk até hardware utilizado pode ter especificação aberta.
A maioria das placas acima são basedas no projeto Zapata Telephony e suas configurações estã
arquivo /etc/zaptel.conf.
2.2.5.2 Telefones
Impossível imaginar(pelo menos por enquanto) um sistema de telefonia sem telefones. Pois bem
extensa de telefones suportados. Vamos comentar sobre alguns deles.
Polycom FOTO
Cisco FOTO
Snom FOTO
Analógico SIEMENS (FXS)
UM BEM ANTIGO... (FXS)
2.2.5.3 ATAs
Analog Telephony Adapter, este é o significado de ATA. Um ATA é utilizado para transformar um
IP. Existem diversos ATAs disponíveis no mercado, basicamente a sua diferença está na quantid
Existem ATAs de uma porta analógica e de até vinte e quatro portas analógicas, o que significa
vinte e quatro telefones conectados no mesmo equipamento, cada qual com seu número próprio
Um ATA é um gateway de pequeno porte que faz a converção de um sinal analógico para um sin
Alguns ATAs estão listados abaixo.
IAXy (FOTO)
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 9 de 22

Handy Tone (FOTO)


Linzsys PAP2 (FOTO)
2.2.5.4 Softphones
Softphones são telefones IP via software, ou seja, são telefones que podemos utilizar em um co
(para nÃo dizer milhares) de opções de softwaphones disponíveis. Alguns comerciair, outros livr
MacOSX, PDAs e handhelds, enfim, a oferta é grande e você saberá escolher o que melhor se ad
Xten (SCREENSHOT)
Firefly (SCREENSHOT)
EyeBeam (SCREENSHOT)
Kphone (SCREENSHOT)
Ekiga (SCREENSHOT)
2.2.5.5 Outros
Channels banks PABX IPBX Gateways balun A balun is a device designed to convert between bal
signals, such as between coaxial cable and ladder line. Baluns can be considered as simple form
transformers. 2.3 Documentação adicional e Downloads
Canal Unicall – http://www.soft-switch.org/unicall [http://www.soft-switch.org/unicall]
Projeto Asterisk – http://www.asterisk.org [http://www.asterisk.org]
Projeto AsteriskBrasil.org – http://www.asteriskbrasil.org [http://www.asteriskbrasil.org]
Biblia Sagrada do Engenheiro VoIP – http://www.voip-info.org [http://www.voip-info.org]
3 Configurações básicas do Asterisk Todas as configurações do Asterisk se encontram nos arquiv
diretório /etc/asterisk. Não existe distinção no local onde se configura um ramal ou um tronco o
conferência. Todos estes recursos estão presentes, muitas vezes, nos mesmos arquivos de confi
dentro do mesmo arquivo, são os contextos.
Antes de começar a Asteriskar é necessário fazer um preparo do seu sistema. Vamos tropicaliza
ajustes.
3.1 Inserindo os padrões de telefonia Brasileiro /etc/asterisk/.indications.conf [general] country
ringcadance = 1000,4000 dial = 425 busy = 425/250,0/250 ring = 425/1000,0/4000 congestion
425/250,0/250,425/750,0/250 callwaiting = 425/50,0/1000 ; Dialrecall não é utilizado no Brasil.
= 350+440 ; Record não é utilizado no Brasil. Use tom de ocupado record = 425/250,0/250 ; In
o padrão inglês. info = 950/330,1400/330,1800/330 3.2 Adicionando a linguagem pt_BR ao Ast
O Asterisk possui um diretório onde ficam armazenados todos os áudios do sistema. A linguage
áudios que acompanham o projeto estão todos gravados nesta língua. Para adicionar a linguage
regravar os áudios e adiciona-los nos diretórios abaixo
# mkdir /var/lib/asterisk/sounds/pt_BR # mkdir /var/lib/asterisk/sounds/digits/pt_BR #
mkdir /var/lib/asterisk/sounds/letters/pt_BR # mkdir /var/lib/asterisk/sounds/phonetic/pt_BR O
possuir o mesmo nome porém podem ser gravados com outros formatos de áudio. O formato pa
GSM, porém para se ter maior qualidade nas locuções é interessante gravar o áudio com uma q
Os áudios devem posssuir amostragem de 8Khz e qualidade de 16 bits para que se possa trafeg
Observe que se um ramal, com suporte somente ao codec GSM, acessar o servidor com os áudi
não GSM, o Asterisk irá realizar um processo de transcoding[13], o que irá trazer impactos de p
3.3 Criando ramais Ramal SIP: sip.conf 
Exemplo:
Ramal Analógico(ZAP): zapata.conf 
Exemlo:
Ramal IAX: iax.conf 
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 10 de 22

Exemplo:
3.4 Criando troncos Tronco SIP: sip.conf 
Tronco Digital(ZAP): zapata.conf 
; Note the ‘g2’ in the TRUNK variable above. It specifies which group (defined ; in zapata.conf) t
choose a channel to use in ; the specified group. The four possible options are: ; ; g: select the l
channel ; (aka. ascending sequential hunt group). ; G: select the highest-numbered non-busy Z
sequential hunt group). ; r: use a round-robin search, starting at the next highest channel than l
rotary hunt group). ; R: use a round-robin search, starting at the next lowest channel than last ;
hunt group).
Tronco Digital(Unicall)
Tronco Analógico: zapata.conf 
3.5 Realtime O Realtime é um recurso relativamente novo no Asterisk. Em suma ele permite que
próprio plano de discagem do Asterisk em u m banco de dados relacional. Estas configurações, n
automaticamente instanciadas no sistema, sem que haja a necessidade de se refazer uma leitur
do Asterisk.
Este recurso é indispensável em ambiente de alto tráfego de telefonia. Um simples reiniciar da pl
ocasionar interrupação de serviços por alguns instantes, mas o sufcietnte para ser sensível aos
O realtime ainda é um recurso novo no Asterisk, portanto nem tudo pode estar presente neste
arquivos de configuração ainda são necessários.
Use realtime sempre que possível.
4 Mergulhando no Dialplan O arquivo responsável pelo Dialplan, ou plano de discagem, do Asteri
o /etc/asterisk/extensions.conf. Podemos chamar de a Peça Chave do Asterisk o arquivo extensi
discagem é composto por contextos, extensões, prioridades e aplicações. Alguns contextos são r
sintaxe especial. Veja a sintaxe do arquivo /etc/asterisk/extensions.conf: [general] parametro01
valor02 ... [globals] GLOBALVAR01 = valor01 GLOBALVAR02 = valor02 ... [contexto] exten ⇒ e
(argumentos) Vamos analizar um pequeno trecho deste arquivo para entender sua morfologia e
101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup() exten
exten ⇒ 102,2,VoiceMail(u102@correio) exten ⇒ 102,3,Hangup()
[ramais] é o contexto, 101 e 102 são as extensões o segundo parâmetro(1.2.3) são as prioridad
são as aplicações.
Neste capítulo vamos entender um pouco mais sobre cada uma destas peças do plano de discag
Usando #include para incluir arquivos Você pode incluir outros arquivos dentro do dialplan, para
dentro do extensions.conf. #include extensions_ramais.conf O conteúdo do arquivo /etc/asterisk
também estará disponível no dialplan. NÃO CONFUNDIR ESTE INCLUDE COM O INCLUDE DE CO
ADIANTE. Vale lenbrar que todos os arquivos do projeto Asterisk permitem a utilização de #inclu
entre dois 4.1 Contextos(context) [ramais] É o contexto do trecho de dialplan exemplificado aci
diferenciação deste segmento de código para outros no mesmo arquivo. Este método possibilita
que podem ser totalmente distintos entre si. Os nomes dos contextos não podem conter espaço
alfanumericos. 4.1.1 Contexto [general]
O contexto [general] é utilizado para adicionar alguns parâmetros gerais de configuração do dial
contexto general é reservado pelo Asterisk. São estes os parâmetros de configuração do context
Descrição static Yes|no If static is set to no, or omitted, then the pbx_config will rewrite
; this file when extensions are modified. Remember that all comments
; made in the file will be lost when that happens. writeprotect Yes|no if static=yes and writeprot
by
; CLI command ‘save dialplan’ too
; autofallthrough Yes|no ; If autofallthrough is set, then if an extension runs out of 
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 11 de 22

; things to do, it will terminate the call with BUSY, CONGESTION


; or HANGUP depending on Asterisk’s best guess (strongly recommended).
;
; If autofallthrough is not set, then if an extension runs out of 
; things to do, asterisk will wait for a new extension to be dialed
; (this is the original behavior of Asterisk 1.0 and earlier). clearglobalvars Yes|no ; If clearglobal
be cleared
; and reparsed on an extensions reload, or Asterisk reload.
;
; If clearglobalvars is not set, then global variables will persist
; through reloads, and even if deleted from the extensions.conf or
; one of its included files, will remain set to the previous value.
; priorityjumping Yes|no ; If priorityjumping is set to ‘yes’, then applications that support
; ‘jumping’ to a different priority based on the result of their operations
; will do so (this is backwards compatible behavior with pre-1.2 releases
; of Asterisk). Individual applications can also be requested to do this
; by passing a ‘j’ option in their arguments. 4.1.2 Contexto [globals]
O contexto [globals], também é reservado pelo Asterisk. Ele é usado para definir variáveis globa
Disponíveis a todo o sistema e não somente a um canal específico. Veja neste exemplo como de
CONSOLE=Console/dsp TRUNK01=Zap/g0 TIPORAMAL222=SIP Para utilizar estas variáveis no p
uma das seguintes sintaxes: ${VARIAVEL} Modo mais simples, que retorna o valor da variavel $
o valor de uma variável de ambiente(sistema operacional) ${texto${VARIAVEL}} Acrescentando
variável 4.1.3 Parâmetro include
É possível incluir um contexto dentro de outro utilizando o parâmetro include da seguinte forma:
exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup
(SIP/102,10) exten ⇒ 102,2,VoiceMail(u102@correio) exten ⇒ 102,3,Hangup() Neste caso que
acesso ao contexto [ramais] também terá acesso ao contexto [ramaisIP]. Isto é possível graças
contexto [ramais]. Os includes podem assumir uma condição de tempo para serem ativados. Po
include do exemplo acima da seguinte forma: [ramais] include ⇒ ramaisIP|9:00-17:00|mon-fri|
(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup() exten ⇒ 102,1,
102,2,VoiceMail(u102@correio) exten ⇒ 102,3,Hangup()
Neste caso o contexto [ramaisIP] só estaria disponível para o contexto ramais, de segunda a se
tarde.
4.1.4 Parâmetros específicos de um contexto
Alguns parâmetros diferentes de exten ⇒ podem ser usados dentro de contextos.
Você pode acessar um plano de discagem remoto, de outro servidor Asterisk, utilizando o parâm
switch ⇒ IAX2/user:password@bigserver/local Variantes do swicth ⇒ também podem ser úteis.
lswicth ⇒ Loopback/12${EXTEN}@outroontexto O lswitch ⇒ possui a mesma função do parâmet
deseja passar um valor que contenha uma variável, ele não faz a subistituição da mesma, ou sej
literal.
eswitch ⇒ Loopback/12${EXTEN}@outrocontexto O eswitch ⇒ realiza a mesma função do lswitc
substituição de variáveis antes de encaminhar o dialplan ao realtime. 4.2 Extensões(exten) Uma
por letras, números ou uma combinação de ambos. exten ⇒ Define uma linha de programação d
responsáveis pela inteligência do Asterisk. Por elas configuramos as tarefas contidas nos planos
ordem de execução. exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) e
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 12 de 22

dialplan nos diria, se falassse português, a seguinte frase: “Quando alguém ou alguma coisa digi
ao Asterisk, ele irá executar a alpicação Dial com o argumento SIP/101,10. Após concluída esta
aplicação VoiceMail com os parâmteros u101@correio. Por último execute a aplicação Hangup se
português brasileiro, mais claro ainda: “Chame o ramal 101, se ele não atender envie esta cham
e desligue a chamda em seguida.” Chamamos de extensão a seguinte porção deste exmplo: ext
as chamadas Prioridades e na sequência as Aplicações. 4.2.1 Extensões especiais
Algumas extensões expeciais presentes no Asterisk são: exten ⇒ t Representa timeout exten ⇒
chamda for enviada a um contexto sem uma extensão definida. S de start. exten ⇒ h Extensão
out, utilizado pela aplicação VoiceMail exten ⇒ talk exten ⇒ hint exten ⇒ fax exten ⇒ T exten ⇒
discagem
É possível utilizar caracteres coringas como valor de extensões. Se uma extensão é iniciada com
não é interpretado literalmente pelo Asterisk e sim como um padrão de discagem.
Os padrões de discagem definem coringas para representar dígitos ou um grupo de dígitos sem
-los explicitamente como uma extensão do plan o de discagem.
Veja a seguinte linha de um dialplan:
exten ⇒ _014ZZXXXXXXX,2,Macro(chama-tronco,2,${EXTEN}) Neste caso qualquer número que
de 12 dígitos, sendo o quarto e quinto dígito um número entre 1 e 9 e os demais números send
seguir por essa linha do diaplan enviando para a macro chama-ramal o valor da variável ${EXTE
Veja, na tabela abaixo, o significado de todos os padrões de discagem disponíveis:
Padrão Descrição X Qualquer dígito entre 0 e 9 Z Qualquer dígito entre 1 e 9 N Qualquer dígito e
dígito entre colchetes (neste exemplo, 1,2,3,5,6,7,8,9 . O ponto é um coringa, siginifica qualque
significa qualquer coisa começando com 9011 menos o prórpio 9011) ! wildcard, causes the mat
soon as it can unambiguously determine that no other matches are possible 4.3 Prioridades As p
parâmetro das extensões. É com ela que definimos a rodem de ações dentro de um plano de dis
ser especificadas de forma crescente e não precisam necessariamente ser contínuas, por exmplo
(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup() As prioridades 1,
seguinte forma: exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,15,VoiceMail(u101@correio) exte
são as novas prioridades. Isso pode ajudar muito em casos onde se está desenvolvendo um dial
se adicionar linhas entre as extensões já criadas. Lembre-se que as prioridades sempre devem c
VERIFICAR A VERACIDADE 4.3.1 Prioridade n+101
Uma prioridade específica merece atenção. A prioridade n + 101. Veja o exemplo abaixo. exten
⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,102,VoiceMail(b101@correio) exten ⇒ 101,3,Ha

102, ou 1 + 101 diz que caso a prioridade número 1 encontre sinal de ocupado o Asterisk deve
prioridade 102, caso contrário continuará executando a prioridade seguinte a número 2. 4.3.2 Pr
A prioridade next ou simplesmente n siginifica a prioridade anterior mais um.
exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,n,VoiceMail(u101@correio) exten ⇒ 101,1+101,V
101,n,Hangup() Moleza hein?
4.3.3 Prioridade same
A prioridade same ou simplesmente s, significa que esta prioridade tem o mesmo valor da priori
A prioridade s+1 tem o mesmo valor que a prioridade n.
exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,s+1,VoiceMail(u101@correio) exten ⇒ 101,102,Vo
101,s+1,Hangup() 4.3.4 Sinais numéricos e prioridades
As prioridades podem ser seguidas de um sinal ‘+’ (ou outro sinal numérico)e um valor a ser so
em conjunto com as prioridades next e same.
exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,1+101,V
101,3,Hangup() 4.3.5 Apelidos para prioridades
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 13 de 22

As prioridades podem possuir apelidos ou alias para que possam ser referenciadas com a aplicaç
do plano de discagem..
Este apelidos devem ser especificados entre parentesis logo após o valor da prioridade, como no
exten ⇒ 101,1(dial),Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,dial
exten ⇒ 101,3,Hangup() Outro exemplo:
exten ⇒ 101,1(,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,102,Voic
101,n,Goto(${EXTEN},hangup) exten ⇒ 101,hangup,Hangup() 4.4 Aplicações As aplicações for
trazem aplicativos pré empacotados ao plano de discagem. As aplicações são o terceiro parâmet
aplicação pode receber parâmetros e sua notação é a seguinte: Aplicação(parâmetro1,parâmetr
parâmetros são separados por vírgula “,” ou pipe”|”. Para verificar todas as aplicações disponívei
execute o seguinte comando na *CLI: *cli> show applications Vamos falar um pouco mais sobre
Dial – Onde tudo começa...
A aplicação Dial pode ser encaraqda como a principal de todas elas. É ela que nos permite realiz
que as realiza. O Dial em termos Asterísticos, conecta um canal(channel) a outro canal(channel)
aplicação Dial pode ser visto abaixo: exten ⇒ 101,10,Dial(SIP/101,10) No caso acima a aplicaçã
primeiro especifica o canal e informações necessárias para a sua utilização, o segundo parâmetr
segundos que a aplicação Dial irá tentar estabelacer o canal. Exiiste a possibilidade de um tercei
Por exemplo, a linha de exten ⇒ acima poderia estar escrita da seguinte forma: exten ⇒ 101,10
representada por uma letra do alfabeto e cada uma tem sua função. No exemplo acima utilizam
significado destas e de outras flags disponíveis para o comando Dial. Flag Descrição T Permite a
chamada t Permite a transferência pelo recebedor da chamada W Permite a gravação sob dema
Permite a gravação sob demanda do orginador da chamada f forces callerid to be set as the exte
making/redirecting the outgoing call. For example, some PSTNs don’t allow callerids from other
are assigned to you. d This flag trumps the ‘H’ flag and intercepts any dtmf while waiting for the
that value on the spot. This allows you to dial a 1-digit exit extension while waiting for the call t
RetryDial o Restore the Asterisk v1.0 CallerId behaviour (send the original caller’s ID) in Asterisk
extension’s number) r Gerar ringtone antes mesmo de começar a chamar o ramal. Usar com cui
música em espera a pessoa que está chamando um ramal. Utilizar m(classe da música em esper
opção “r”. M(x[^argumento]) Executes the macro (x) upon connect of the call (i.e. when the call
recebedor desligar uma chamada pressionando *. H Permite o originador desligar uma chamada
CDR (Call Detail Record) for this call. This is like using the NoCDR command. P[(x)] Usa o Privac
valor do banco de dados.(x é opcional) g When the called party hangs up, exit to execute more
context G(contexto^ramal^prioridade) If the call is answered, transfer both parties to the specif 
calling party is transferred to priority x, and the called party to priority x+1. This allows the dial
calling and called legs of the call (new in v1.2). A(arquivo) Toca um anúncio(arquivo.gsm|.wav|.
chamada. D([chamado][:chamador]) After the called party answers, send digits as a DTMF strea
originating channel. (You can also use ‘w’ to produce .5 second pauses.) L(x[:y][:z]) n IMPORTA
as flags da aplicação Dial(), pois eles não irão funcionar. - Se você utilizar algumas destas flags(
aplicação Dial() o Asterisk sempre estará no mediapath, ou seja, o parâmetro canreinvite=yes n
Set
A aplicação Set tornou-se muito mais expressiva na versão Asterisk 1.2. Diversas aplicações for
-se sua análoga no formato de funções da aplicação Set. Em versões anteriores do Asterisk, a a
para nomear variáveis(globais e de canal). Vamos conhecer um pouco sobre as opções que esta
construção de um plano de discagem. Estas opções são três, Declaração de Variáveis, Execução
AstDB(Banco de dados interno do Asterisk) 4.4.2.1 Declaração de variáveis
Utilizando a aplicação Set, podemos declarar variáveis no sistema Asterisk. A declaração de vári
Asterisk(série 1.0) eram realizadas pela aplicação SetVar. Atualmente ela foi descontinuada em
declarar uma variável de canal(válida somente no momento da chamada ou enquanto o canal es
exemplo abaixo como referência: exten ⇒ 101,1,Set(TEMPORING=30) exten ⇒ 101,2,Dial(SIP/1
⇒ 101,3,VoiceMail(u101@correio) exten ⇒ 101,103,VoiceMail(b101@correio) exten ⇒ 101,4,Ha
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 14 de 22

variável você pode fazer uso dela inserindo o nome da variável entre um cifrão e uma chave abe
abaixo: ${TEMPORING} O Asterisk irá substituir ${TEMPORING} por 30 que neste exmplo signifi
Dial irá utilizaar para chamar o ramal 101 será de 30 segundos. Para declarar uma variável glob
extensões do seu diaplan, utilize a aplicação SetGlobalVar. 4.4.2.2 Execução de funções
Como dito no início deste tópico, tem se migrado uma série de pequenas aplicações para o form
a aplicação Set tem outras habilidades que não seja somente a declaração de variáveis ela pode
executadas por aplicações. As funções possuem uma sintaxe muito semelhante a utilizada na de
funções recebem um argumento a mais antes do valor declarado. Veja o exemplo abaixo: exten
No caso acima estamos usando a função “TIMEOUT” com o argumento “digit” para declarar o te
dígitos....... A função TIMEOUT foi concebida apartir de suas análogas aplicações DigitTimeout,
ResponseTimeout. Como na declaração de variáveis o uso de ${} também é permitido caso quei
função em algum outro lugar do seu plano de discagem. Veja o exemplo abaixo: Algumas funçõ
Argumentos Descrição TIMEOUT Digits|absolute|response CALLERID All|Name|num|rdnis LANGU
MD5 MD5 GROUP_COUNT DB_EXISTS FAMILA/CHAVE Checa se existe o PAR/CHAVE no AstDB S
todas as funções disponíveis executando show functions na linha de comando Asterisk. *cli> sho
O AstDB é o banco de dados interno do Asterisk. Este banco de dados não é um banco de dados
Oracle, PostgreSQL. O AstDB é um banco de dados baseado no Berkeley DB v.1.
O Asterisk armazena seus dados dentro do AstDB utilizando o seguinte formato:
FAMILIA/CHAVE=VALOR
Cada familia pode ter somente uma chave com o mesmo nome.
Resursos poderosos podem ser utilizados com o AstDB. Você pode, por exemplo, desenvolver ap
AGI para realizar este desenvolvimento) que inserem dados sobre a disponibilidade de uma ram
Asterisk guarda esta informação dentro do AstDB, porém você pode manipular esta informação
prático desta aplocaçcão poderia ser um recursos de Não Perturbe, que quando o usuário digitar
discagem aramazena um avalor de FAMILIA/CHAVE dentro do AstDB que será consultado no mo
este ramal.
Vamos conhecer um pouco mais sobre esta apliucação nas próximas linhas, fique tranquilo.
Inserindo/Extraindo/Apagando entradas no AstDB
As funções de inserção, extração e remoção do AstDB estão disponíveis tanto na linha de coman
de aplicações que podem ser usadas em seu plano de discagem.
Para inserir dados no AstDB é necessário utilziar a aplicação Set, pois trata-se de declaração de
aramazenado dentro do banco de dados do Asterisk. Veja a sintaxe de inserção abaixo.
exten ⇒ extensão,prioridade,Set(${DB(FAMILIA/CHAVE)=VALOR}) Para apagar uma entrada do
necessário utilizar a aplicação Dbdel como mostrado na linha abaixo.
exten ⇒ extensão,prioridade,DBdel(FAMILIA/CHAVE) Veja o exemplo real abaixo. É uma aplicaç
usuário a possibilidade de indisponibilizar o seu ramal quando necessário discando o código *11
perturbe pode ser desabilitado digitando *13 no telefone. Em ambos os casos o plano de discage
do Asterisk CALLERIDNUM como valor de chave da família NP.
[app-naoperturbe] exten ⇒ *11,1,Answer exten ⇒ *11,2,Wait(1) exten ⇒ *11,3,Set(${DB(NP/$
⇒ *11,4,Playback(nao-perturbe) exten ⇒ *11,5,Playback(ativado) exten ⇒ *11,6,Hangup() exte

*13,2,Wait(1) exten ⇒ *13,3,DBdel(NP/${CALLERIDNUM}) exten ⇒ *13,4,Playback(nao-pertur


(desativado) exten ⇒ *13,6,Hangup()
Recuperar, ou extrair, dados também é uma atividade trivial. Basta atribuir, também com a a ap
valor do par FAMILIA/CHAVE e utiliza-la no dialplan. Veja neste exemplo como utilizar uma entra
[macro-checagemramal] exten ⇒ s,1,Set(NP=${DB(NP/${EXTEN})}) exten ⇒ s,2,GotoIf($[${N
s,3,VoiceMail(u${MACRO_EXTEN}@default) exten ⇒ s,4,Macro(chamaramal,${MACRO_EXTEN})
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 15 de 22

Esta Macro poderia ser utilizada momentos antes de chamar o ramal de destino. O plano de disc
no banco de dados do Asterisk para verificar se o ramal está ou não disponível para receber cha
ou não com o não perturbe habilitado.
No exemplo acima, a primeira linha da macro checagemramal recupera o par NP/RAMAL do AstD
variável NP. A aplicação GotoIf é utilizada como fator de decisão para encaminhar a chamada ao
não perturbe esta desabilitado, para a macro chamaramal com o número de ramal como argume
4.4.3 Goto, GotoIf, GotoIfTime
4.4.4 Aplicação Macro
4.4.5 Aplicação VoiceMail – O famoso Correio de Voz
A aplicação Voicemail, como você pode concluir, é utilizada para acionar o sistema de Correio de
aplicação é possível que você defina uma condição(ocupado ou indisponível) para que você envi
Correio de Voz.
Por exemplo, imagine que você está no telefone ou não está em sua mesa e uma chamada cheg
momemtno ideal para se utilizar a aplicação VoiceMail no seu plano de discagem.
A sintaxe para utilização da aplicaçcão VoiceMail é esta:
VoiceMail(opçõesramal@contexto) Na sintaxe acima o parametro opções esta colado ao parâmet
forma que devemos utilizar esta sintaxe.
Para enviar para várias caixas de correio ao mesmo tempo:
VoiceMail(opçõesramal01@contexto01&ramal02@contexto02) Estas são as opções disponíveis p
Opção Descrição s SEM esta opção uma mensagem irá ser tocada. A mensagem padrÃo do siste
pós o sinal, quando terminar desligue ou pressione quadrado. Se você usar esta opção esta men
você utilizar esta opção uma mensagem de INDISPONÍVEL será tocada. A mensagem padrão, se
 “A pessoa no ramal XXX não está disponível” e na sequência “Deixe sua mensagem após o sinal,
pressione quadrado”. b Se você utilizar esta opção uma mensagem de OCUPADO será tocada. A
usuário não gravar a sua, é “A pessoa no ramal XXX não está disponível” e na sequência “Deixe
quando terminar desligue ou pressione quadrado”. su Se você utilizar esta opção uma mensage
tocada. A mensagem padrão, se o usuário não gravar a sua, é “A pessoa no ramal XXX não está
instruções será descartada. sb Se você utilizar esta opção uma mensagem de OCUPADO será to
usuário não gravar a sua, é “A pessoa no ramal XXX não está disponível”. A mensagem com inst
exemplo do plano de discagem abaixo:
4.4.5.1 Armazenamento de mensagens
As mensagens do correio de voz ficam armazenadas no seguinte diretório: /var/spool/asterisk/v
Onde contexto é o nome do contexto onde se encontra as informações do correio e ramal o prór
4.4.5.2 Configuração das caixas de correio de voz
O sistema de correio de voz é configurado e armazena as caixas de correio no arquivo /etc/aster
sintaxe do /etc/asterisk/voicemail.conf abaixo: [general] parametro01 = valor01 parametro02 =
eastern=America/New_York|’vm-received’ Q ‘digits/at’ IMp central=America/Chicago|’vm-receiv
central24=America/Chicago|’vm-received’ q ‘digits/at’ H N ‘hours’ military=Zulu|’vm-received’ q
 ‘phonetic/z_p’ COLOCAR O PADRÃO DO BRASIL [default] parametro01 = valor01 parametro02 =
2006,Ronaldinho Gaúcho,ronaldinho@brasil.com.br 1111 ⇒
1010,Dida,dida@brasil.com.br,,attach=no|serveremail=smtp.brasil.com.br|maxmsg=10 Debaix
inserimos os parâmetros que serão válidos para todas as caixas de correio criada no sistema. Pa
abaixo dos contexto das caixas de correio, por exemplo [default]. Este é o formato para criar um
número_ramal⇒senha_correio,nome_completo_usuario,email,email_pager,opcao1|opcao2|opca
disponíveis para as caixas de correio do Asterisk: Parametro Argumentos Descrição format wav4
armazenamento dos arquivos de mensagens do correio de voz. Mais de um formato pode ser es
 ‘|’ .[15] serveremail email Email remetente das notificações do correio de voz enviadas aos usuá
mensagens no email de notificação. maxmsg nümero inteiro Número máximo de mensagens por
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 16 de 22

é 100. maxmessage tempo em segundos Tamanho máximo de uma mensagem em segundos. m


Tamanho mínimo, em segundos, de uma mensagem para ser armazenada pelo sistema. Default
segundos Tamanho máximo, em segundos, das mensagens de recepção(ocupado, indisponível e
tempo em milisegundos Tempo, em milisedgundos, para os saltos de rew e ff no playback de me
segundos Tempo, em segundos, de silêncio para que o sistemaa encerre a gravação de uma me
importantes sobre a aplicação VoiceMail()
O arquivo /etc/asterisk/voicemail.conf não aceita #include pois o Asterisk acessa esta arquivo p
Não utiilize comentários(especialmente os que contenham o caractere “[“, pois a aplicação Voice
autenticação do usuário, não é muito inteligente no parsing do arquivo /etc/asterisk/voicemail.c
As caixas de correio não podem começar com as letras ‘s’, ‘u’, ‘b’ ou uma combinação delas. Iss
aplicação VoiceMail().
Apartir do momento em que uma caixa de correio já está operando(contém mensagens). Não é
áudio. Isso irá ocasionar problemas no playback das mensagens do correio de voz.
4.4.5.4 Aplicações complementares ao Correio de Voz
VoiceMailMain()
Disponibiliza acesso ao sistema de Correio de Voz do Asterisk. É com esta aplicação que posssibi
e informações pessoais dos usuários de um servidor Asterisk.
Acessando esta aplicação o usuário será servido com o seguinte menu:
Digite 1. Ler as mensagens do correio de voz Digite 2. Alterar de pasta
Digite 0. Pasta de mensagens novas
Digite 1. Pasta de mensagens antigas
Digite 2. Pasta de mensagens trabalho
Digite 3. Pasta de mensagens familia
Digite 4. Pasta de mensagens amigos
Digite #. Cancela

Digite 3. Opções avançadas


Press 1. Send reply
Press 3. Hear the message envelope
Press 5. Leave a message
Press *. Return to the main menu

Press 4. Play previous message Press 5. Repeat current message Press 6. Play next message Pre
Press 8. Forward message to another mailbox Press 9. Save message in a folder Press 0. Mailbo
Press 1. Record your unavailable message
Press 2. Record your busy message
Press 3. Record your name
Press 4. Change your password
Press *. Return to the main menu

Press *. Help Press #. Exit HasNewVoicemail()


HasVoicemail()
MailBoxExists()
We will use the GoToIf application to determine the dial status of the call. For the purpose we ne
${DIALSTATUS}. The first extension after the one with Dial application, will check whether the c
person is unavailable, then the execution will continue with the extension with priority 7. This ex
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 17 de 22

application. In its brackets we have set the following: uanatoliy@testmail. The first letter - u me
unavailable condition has to be played. The message by default is: The person at extension is un
for the mailbox which we have set in the voicemail.conf. The last part is @testmail. This shows t
which the mailbox anatoliy is configured. So, the caller will hear a message and he/she will be al
to store it in the mailbox of anatoliy. The message will be stored in the
directory /var/spool/asterisk/voicemail/testmail/anatoliy/INBOX. In order to send the message i
hang up the line or to press the pound key(#), when he/she finishes with the recording of the m
show that the user is available, then the next application with priority 4 will be executed. This on
busy or not. If the line is busy, then the execution will continue with the extension with priority
the VoiceMail application. In its brackets we have set the following: banatoliy@testmail. The first
message for busy condition has to be played. The message by default is: The person at extensio
anatoliy is for the mailbox which we have set in the voicemail.conf. The last part is @testmail. T
voicemail.conf, in which the mailbox anatoliy is configured. The caller will hear the message, tha
he/she will be allowed to record a message and to store it in the mailbox of anatoliy. The messa
directory /var/spool/asterisk/voicemail/testmail/anatoliy/INBOX. In order to send the message i
hang up the line or to press the pound key(#), when he/she finishes with the recording of the m
available and the line is free and the called person does not answer within 5 seconds, the next e
one with priority 5. This one contains another copy of the VoiceMail application. As arguments in
following: anatoliy@testmail. There is no first letter which means that a message with instructio
message by default is: Please leave your message after the tone. When done, hang up, or press
anatoliy is for the mailbox which we have set in the voicemail.conf. The last part is @testmail. T
voicemail.conf, in which the mailbox anatoliy is configured. Again the user will be allowed to rec
The message will be stored in the directory /var/spool/asterisk/voicemail/testmail/anatoliy/INBO
message in the mailbox, the caller has to hang up the line or to press the pound key(#), when h
recording of the message. NOTE: Please, pay attention that between the option flags and the voi
separator. That is why the voicemails cannot start with “s”, “u”, “b” or any combination of these
noticed that between the extensions with priority 5, 7 and 9, we have extensions with the GoTo
 jumping to the last extension with priority 10 which has the Hangup application. Thanks to it the
necessary, because otherwise the three VoiceMail application will be executed subsequently. In t
GoToIf applications will be lost. Aplicações complementares:
4.4.6 MeetMe
4.4.7 Queue
A aplicação Queue é utilizada para “enfileirar” chamadas. Este tipo de aplicação é geralmente(na
aplicação para ela) utilizada em filas de atendimento de Call Centers Passivos[16]
Conhecida também como DAC(Distribuidor Automático de Chamadas) a aplicação Queue distribu
ordem de chegada, para o primeiro agente[17] disponível. O sistema atende imediatamente as
o chamador para uma fila até que ele possa ser redirecionado ao próximo agente disponível. Bal
agentes irá assegurar que todos os chamadores irão receber um bom atendimento.
O Asterisk suporta múltiplas filas de atendimentos e elas podem ser configuradas no arquivo /et
referenciadas como argumento da aplicação Queue no seu plano de discagem. Os agentes são d
arquivo /etc/asterisk/agents.conf.
Sintaxe da aplicação Queue()
Esta é a sintaxe para utilização da aplicação Queue:
exten ⇒ extensão,prioridade,Queue(nome|opções|URL_opcional|sobrepor_anuncio|timeout) no
arquivo /etc/asterisk/queues.conf opções: ‘t’ — allow the called user transfer the calling user ‘T’ 
transfer the call.
'd' — data-quality (modem) call (minimum delay).
'H' — permite ao chamador desligar pressionando '*'.
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 18 de 22

'n' — no retries on the timeout; will exit this application and go to the next step.
'r' — Ringar ao invés de tocar música em espera

URL_opcional: Envia uma URL para dispositivos que suportam este recurso. sobrepor_anuncio:
Configuração de filas de atendimento
O arquivo responsável pela configuração de filas de atendimento no Asterisk é o /etc/asterisk/qu
sintaxe.
[general] parametro-geral01 = valor01 parametro-geral02 = valor02 ... parametro-geral03 = va
valor01 parametro02 = valor02 ... parametro03 = valor03 member ⇒ Zap/1 member ⇒ Zap/2
⇒ Agent/1002 ;Cada membro(member) é listado em uma linha individual. [fila02] parametro01

valor02 ... parametro03 = valor03 member ⇒ Agent/@1 member ⇒ Agent/1:1,1 ; Usar grupos
da fila02, irá desabilitar as estratégias de busca de agentes(roudrobin, leastrecent, etc.) Parâme
atendimento Conheça os parâmetros disponíveis para filas de atendimento. Estes parâmetros po
uma fila específica ou para todoas as filas do sistema, para isto basta inserir o parâmetro deseja
seu arquivo de configuração.. Parâmetros valores Descrição periodic-announce arquivo_de_audi
enquanto o chamador aguarda atendimento periodic-announce-frequency número inteiro Tempo
mensagem periódica weight número inteiro Número inteiro que define o peso da Fila. Números
de atendimento pelos agentes. monitor-format gsm|wav|wav49 Para gravar as chamdas que for
depois do atendimento* announce-frequency núemero inteiro Frequencia em segundos de anún
posição na fila e/ou o tempo médio de atendimento. Use o valor ‘0’ para desabilitar esta função.
yes|no|once Devemos incluir o tempo médio de atendimento no anúncio de posições na fila? *S
não irá anunciar* queue-youarenext queue-youarenext Arquivos de áudio para anúncios de posi
atendimento médio. Altere somente se nÃo quiser utilizar os valores padrões. queue-thereare qu
callswaiting queue-callswaiting queue-holdtime queue-holdtime queue-minutes queue-minutes q
thankyou wrapuptime número inteiro Tempo, em segundos, de descanso de um agente após ele
parâmetro só tem efeito para agentes que não estão configurados no arquivo agents.conf. mem
timeoutrestart número inteiro ???? musiconhold default Classe de música em espera para tocar
atendimento. announce arquivo de áudio Mensagem a ser tocada segundos amntes de o agente
diferenciar para o agente em que fila ele está atendendo a chamada. strategy
ringall|roundrobin|leastrecent|fewestcalls|random|rrmemory Estratégia de distribuição de cham
detalhes obre cada tipo ainda neste capítulo. Ringall é a default. servicelevel número inteiro Tem
aceitável de serviço. Para gerar estatísticas de nível de serviço(SLA[18]). context contexto Cont
o chamador tem acesso enquanto aguarda atendimento. timeout número inteiro Tempo em segu
indisponibilidade de um agente. retry número inteiro Tempo em segundos para aguardar antes
agentes novamente. maxlen número inteiro Número máximo de pessoas que podem aguardar n
seconds número inteiro Arredondamento dos segundos no anúncio do tempo. monitor-join yes|n
OUT) quando se está gravando uma conversação joinempty yes|no|strict yes(chamadores pode
membros ou somente com memebros indisponíveis)
no (chamadores não podem acessar filas sem membros)
strict(chamadores não podem acessar filas sem membros ou com membros indisponíveis) leave
eliminar chamadores que já estão na fila. Mesmas opções de joinempty. eventwhencalled yes|no
alguns eventos de gerência(AgentCalled, AgentDump, AgentConnect, AgentComplete) eventme
para no irá gerar o seguinte evento de gerência(QueueMemberStatus) reportholdtime yes|no Se
o tempo de espera do chamador antes de atende-lo. Uma fila é considerada vazia quando não p
de seus membros não estiverem disponíveis(agentes não logados).
Estratégias de ring de agentes em filas de atendimento
Ringall:
Estratégia padrão caso nada seja especificado.
Irá chamar todos os agentes ao mesmo tempo. Uma chamada entra e todos os agentes são acio
antes irá “ganhar” a chamada.
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 19 de 22

Roundrobin:
A estratégia roundrobin nao pode ser confundida com a distribuição circular de chamadas, veja c
O roundrobin lembra o último agente para quem ele _iniciou_ o envio da última chamada e inici
apartir do próximo agente. Se você tiver três agentes, e a primeira chamada seguir a ordem 1 →

seguir a ordem 2 3 1, a próxima 3 2 1 e assim por diante.


→ → → →

É possível utilizar o método Roundrobin para realizar uma distribuição circular de chamadas atri
O Asterisk irá sempre iniciar a busca por agentes sem penalidades depois aos agentes com pena
Rrmemory:
Este método lembra da último agente que ele tentou _chamar_, independente por quem ele inici
chamada para o agente seguinte ao que atendeu a última chamada, Se você tiver três agente e
rodem 1 2(e a chamada é atendida), então a próxima chamada irá seguir a ordem 3 1(e é ate
→ →

ordem 2 3 1, e asssim por diante.


→ →

Se a primeira chamada, 1 2, estivesse em modo Roundrobin e ela fosse atendida, a segunda c


agente 2 novamente.
Fewestcalls:
Irá iniciar a busca pelos agentes que tem o menor número de chamadas atendidas.
Random:
Faz uma busca aleatória independente de uma regra específica.
Leastrecent:
Irá iniciar a busca pelo agente que foi chamado menos recentemente pela fila em questão.
Configuração de agentes
Assim em como a maioria dos arquivos de configuração do Asterisk, o /etc/asterisk/agents.conf 
([general]) e uma específica para agentes([agents]), como mostrado abaixo:
[general] parametro-geral01 = valor01 parametro-geral02 = valor02 ... parametro-geral03 = va
valor01 parametro02 = valor02 ... group=1 ; agent ⇒ agentid,agentpassword,name agent ⇒ 10
1002,4321,Fausto Silve group=2 agent ⇒ 1003,4321,Didi Mocó agent ⇒ 1004,4321,João Cleber
agentes
Estes são os parâmetros disponíveis para os agentes de uma fila de atendimento. Somente um
no contexto [general].
Parâmetros valores Descrição persistentagents yes|no Único parâmterro disponível no contexto
agente ficará ou não armazenado no AstDB. Isso tem impacto após um reload do Asterisk. autol
segundos para deslogar um agente da fila. Valor default é 15. ackall yes|no Se o agente logou u
AgentCallbackLogin e esta opção estiver setada para yes, o Asterisk irá aguardar uma confirmaç
disponibilizar este agente na fila. wrapuptime número inteiro Tempo em milisegundos que o age
receber outra chamada. O default é 5000 ms. musiconhold nome da classe Define a nome da cla
tocar aos agentes. O valor padrão é a classe default. updatecdr yes|no Define se irá alterar o ca
número do agente. Default é no. Se estiver setado para yes ele irá adicionar o nome do agente
ramal em que ele se encontra. recordagentcalls yes|no Grava ou não as chamadas atendidas pel
wav|gsm|wav49 Formato do arquivo de áudio das gravações de chamadas dos agentes. Padrão
Adiciona no userfield do CDR um link para acessar gravação da chamada. urlprefix http://server.
[http://server.ip/diretorio/] Adiciona um prefixo no link para o audio de uma chamada gravada.
savecallsin /diretorio/de/gravacoes Diretorio para aramazenar as gravações de chamdas dos age
é /var/spool/asterisk/monitor custom_beep arquivo de audio Com esta opção você pode especifi
agentes conectados
Exemplo de arquivo /etc/asterisk/agents.conf 
[general] persistentagents=yes [agents] autologoff=15 ackcall=no wrapuptime=5000 musiconh
recordagentcalls=yes recordformat=gsm group=1 agent ⇒ 101,101,user1 agent ⇒ 102,102,use
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 20 de 22

group=2 agent ⇒ 8889,8889,operador 1 agent ⇒ 8888,8888,ivan group=3 agent ⇒ 8887,8887,


Operadores 4.6.1 Operadores Booleanos
4.6.2 Operadores Matemáticos
4.7 Exemplos completos de dialplan 5 Gerenciando o Asterisk 5.1 Gerenciamento de ramais sip
zap show channels
5.2 Gerenciamento de troncos sip show users
zap show channels
show channels verbose
5.3 CDR Call detail record.
5.4 Troubleshooting 5.4.1 Logging
 /etc/asterisk/logger.conf 
 /var/spool/asterisk/debug
 /var/spool/asterisk/full
 /var/spool/asterisk/messages
5.4.2 Eco
Canceladores de echo zaptel
MG2
aggressive Supression
5.4.3 Picotamento
Banda de rede
Latência
5.4.4 Delay
Jitter
5.4.5 Códigos SIP
Retirado da RFC do SIP:
Os códigos de resposta SIP são similares e extensíveis aos códigos de resposta HTTP/1.1. Nem t
apropriados, e somente aqueles que são apropriados são mostrados nesta seção deste material.
Outros códigos HTTP/1.1 não devem ser usados.
O SIP também define uma nova classe de códigos, 6xx.
1xx: Provisional — request received, continuing to process the request;
Provisional responses, also known as informational responses, indicate that the server contacted
action and does not yet have a definitive response. A server sends a 1xx response if it expects t
obtain a final response. Note that 1xx responses are not transmitted reliably. They never cause
Provisional (1xx) responses MAY contain message bodies, including session descriptions.
2xx: Success — the action was successfully received, understood, and accepted;
3xx: Redirection — further action needs to be taken in order to complete the request;
4xx: Client Error — the request contains bad syntax or cannot be fulfilled at this server;
5xx: Server Error — the server failed to fulfill an apparently valid request;
6xx: Global Failure — the request cannot be fulfilled at any server.
SIP response codes, class 1: Provisional messages
These are sent within a SIP dialogue
100 Trying
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 21 de 22

180 Ringing
181 Call Is Being Forwarded
182 Queued
183 Session Progress
SIP Response codes: 2xx class
The 2xx class of responses indicates a success
200 OK
202 accepted: Used for referrals
SIP response codes, class 3xx
The 3xx class of responses indicates a redirection of the call
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
305 Use Proxy
380 Alternative Service
SIP responses, class 4: Request failures
400 Bad Request
401 Unauthorized: Used only by registrars. Proxys should use proxy authorization 407
402 Payment Required (Reserved for future use)
403 Forbidden
404 Not Found: User not found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout: Couldn’t find the user in time
410 Gone: The user existed once, but is not available here any more.
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Unsupported URI Scheme
420 Bad Extension: Bad SIP Protocol Extension used, not understood by the server
421 Extension Required
423 Interval Too Brief 
480 Temporarily Unavailable
481 Call/Transaction Does Not Exist
482 Loop Detected
483 Too Many Hops
484 Address Incomplete
485 Ambiguous
486 Busy Here
487 Request Terminated
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source Página 22 de 22

488 Not Acceptable Here


491 Request Pending
493 Undecipherable: Could not decrypt S/MIME body part
SIP responses, class 5: Server failures
500 Server Internal Error
501 Not Implemented: The SIP request method is not implemented here
502 Bad Gateway
503 Service Unavailable
504 Server Time-out
505 Version Not Supported: The server does not support this version of the SIP protocol
513 Message Too Large
SIP response codes, class 6: Global failures
600 Busy Everywhere
603 Decline
604 Does Not Exist Anywhere
606 Not Acceptable
5.5 Backup O que copiar...
5.6 Tunning
5.7 Segurança
5.8 Sistemas distribuídos e alta disponibilidade 6 Dicas e Truques I. Índice com todas as aplicaç
Asterisk II. Índice com todas as variáveis internas do Asterisk III. Siglas e Dicionário
[1] Agência Nacional de Telecomunicações - http://www.anatel.gov.br [http://www.anatel.gov.br]
protocolo da Internet. [3] ARPANET – DEFINICAO [4] Uma lista completa de CODECs utilizados
no capítulo 2 deste livro. [5] Lista de desenvolvedores do Asterisk - htttp://lists.digium.com.br/a
Standard Base – http://www.lsb.org [http://www.lsb.org] [7] Asterisk Gateway Interface - Você p
sobre o que é AGI no capítulo deste livro. [8] Saiba mais sobre o logger.conf no capítulo 6 deste
ser encontrados neste link: http://www.iana.org/assignments/media-types/ [http://www.iana.org/
Unicall – Mais informações sobre este tipo de canal você encontra em http://www.soft-switch.or
switch.org/unicall] [11] Public Switched Telephony Network [12] http://www.zapatatelephony.org
[13] Veja mais sobre transcoding no capítulo 5 deste livro(Gerenciando o Asterisk) [14] Lembre-
não faz parte do projeto Asterisk e sim do projeto Zapata Telephony – http://www.zapatateleph
[http://www.zapatatelephony.org] [15] Apartir do momento em que uma caixa de correio já está o
Não é possível alterar os formatos de áudio. Isso irá ocasionar problemas no playback das mens
Call Center Passivo é aquele que somente recebe chamdas., não origina(Call Center Ativo) [17]
conhecidos como PAs, ou Postos de Atendimento. [18] Service Level Agreement

apostila_asterisk.txt (6544 views)

Copyright AsteriskBrasil.org © 2007

Você também pode gostar