Você está na página 1de 13

12/9/2010 AsteriskBrasil.

org - A comunidade bras…


pesquisar... Novo Blog
AsteriskBrasil.org!
Pesquisar
Programa��o do
IPComm 2008
dispon�vel!
HOME WIKI LISTAS NOT�CIAS GALERIA CONTATO

PABX IP Asterisk Aastra Telecom do Brasil Solução de PABX IP


A melhor integradora Asterisk Fabricante de Soluções IP PABX VoIP Veja C entral Pabx! Saiba Mais Online
C onsultoria, Instalação e Hardware Gateways Softswitches Call C enter ou 11-3355-3400
www.sincronismo te leco m .co m www.a a stra .co m.br www.to ta lIP .co m.br

Não diga alô, diga Asterisk! Apostila AsteriskBrasil.org CAPA: Vários telefones fazendo um papel de parede e
no meio um asterisc o vazado em branc o ou o inverso.
Índic e de Capítulos
1 Sou alienígena, fale sobre Telefonia....................................................................................... 4
1.1.Breve história da telefonia...................................................................................................... 4
1.2.A evoluç ão e as novas tendências........................................................................................ 6
1.1.1 Telefonia Analógic a..............................................................................................................
7 1.1.2 Telefonia
Digital..................................................................................................................... 7 1.1.3 BLOG
Telefonia IP............................................................................................................................. 7
1.1.4 Telefonia IP x Voz sobre IP.................................................................................................. 8
Rumor aponta que tablet do Google será
1.1.5 Telefonia
Móvel...................................................................................................................... 8 2 anunc iado dia 26 de novembro
Conhec endo o Asterisk.............................................................................................................. 9 he Asterisk Development Team has announc ed
2.1 Quem? Quando? Porque? Como?....................................................................................... 9 2.1.1
the first release c andidate of Asterisk 1.6.2.12
O que é o Asterisk?............................................................................................................... 9
2.1.2 Entendendo o desenvolvimento do Asterisk................................................................... 9 2.1.3 The Asterisk Development Team has
Partic ipe também!............................................................................................................... 10 2.2 announc ed the first release c andidate of
Arquitetura tec nológica do Asterisk.................................................................................... 10 2.2.1 Asterisk 1.4.36
Diretórios e arquivos.......................................................................................................... 10 2.2.2
O servidor............................................................................................................................. 12 Mantendo o Asterisk um pouc o mais seguro
2.2.3 Sopa de letrinhas... Codec s e Protoc olos..................................................................... 12 2.2.3.1 com Fail2Ban
Telefonia IP....................................................................................................................... 12
Rumores dizem que o Google Chrome OS Tablet
2.2.3.2 Telefonia Digital...............................................................................................................
13 2.2.3.3 Telefonia Analógic a......................................................................................................... será lanç ado em Novembro
13 2.2.3.4
CODECs............................................................................................................................ 13
2.2.4 Os Canais(channels)......................................................................................................... 13 APOIO
2.2.4.1 Canal SIP (c han_sip.so)................................................................................................ 13
2.2.4.2 Canal IAX (c han_iax2.so)............................................................................................... 17
2.2.4.3 Canal Local (chan_loc al.so)......................................................................................... 18
2.2.4.4 Canal ZAP (c han_zap.so )............................................................................................. 18
2.2.4.5 Canal Unicall (c han_unic all.so)................................................................................... 18 2.2.5
Equipamentos periféricos................................................................................................. 19 2.2.5.1
Placas digitais e analógic as......................................................................................... 19 2.2.5.2
Telefones.......................................................................................................................... 20
2.2.5.3
ATAs................................................................................................................................... 20
2.2.5.4 Softphones........................................................................................................................
21 2.2.5.5
Outros................................................................................................................................ 21
2.3 Doc umentaç ão adic ional e Downloads............................................................................ 21 3
Configuraç ões básic as do Asterisk....................................................................................... 21 3.1
Inserindo os padrões de telefonia Brasileiro................................................................... 22 3.2
Adicionando a linguagem pt_BR ao Asterisk................................................................... 22 3.3 Criando
ramais....................................................................................................................... 23 3.4
Criando troncos...................................................................................................................... 23 LOGIN
3.5
Realtime................................................................................................................................... Nome de Usu�rio
23 4 Mergulhando no Dialplan.........................................................................................................
24 4.1
Contextos(c ontext).................................................................................................................. 25 Senha
4.1.1 Contexto [general]...............................................................................................................
25 4.1.2 Contexto
Memorizar
[globals]............................................................................................................... 26 4.1.3
Parâmetro include.............................................................................................................. 27 4.1.4 Confirmar
Parâmetros específic os de um contexto........................................................................ 28 4.2 Perdeu a senha?
Extensões(exten).................................................................................................................... 28 Cadastre-se agora!
4.2.1 Extensões especiais.......................................................................................................... 29
4.2.2 Padrões de disc agem ...................................................................................................... 29
4.3 Prioridades..............................................................................................................................
29 4.3.1 Prioridade
n+101................................................................................................................ 30 4.3.2
Prioridade next..................................................................................................................... 30
4.3.3 Prioridade same................................................................................................................. 30
4.3.4 Sinais numéric os e prioridades...................................................................................... 31 4.4
Aplicaç ões............................................................................................................................... 31
4.4.1 Aplic ação Dial – Onde tudo c omeça............................................................................... 32 4.4.2
Aplicaç ão Set....................................................................................................................... 33
4.4.2.1 Dec laraç ão de variáveis................................................................................................. 33
4.4.2.2 Exec uç ão de funç ões...................................................................................................... 34
4.4.2.3
AstDB................................................................................................................................. 35
4.4.3 Goto, GotoIf, GotoIfTime.....................................................................................................
36 4.4.4 Aplicaç ão
Macro.................................................................................................................. 36 4.4.5
Aplicaç ão Voic eMail – O famoso Correio de Voz.......................................................... 36 4.4.5.1
Armazenamento de mensagens.................................................................................. 37 4.4.5.2
Configuraç ão das c aixas de c orreio de voz................................................................ 38 4.4.5.3 Notas
importantes sobre a aplic aç ão Voic eMail().................................................... 39 4.4.5.4 Aplic aç ões
c omplementares ao Correio de Voz....................................................... 39 4.4.6
MeetMe.................................................................................................................................. 42
4.4.7
Queue.................................................................................................................................... 42

www.asteriskbrasil.org/index.php?opti… 1/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
4.6.2 Operadores Matemátic os.................................................................................................. 49
4.7 Exemplos c ompletos de dialplan....................................................................................... 49 5
Gerenc iando o Asterisk............................................................................................................ 49
5.1 Gerenc iamento de ramais................................................................................................... 49
5.2 Gerenc iamento de tronc os................................................................................................... 50
5.3
CDR..........................................................................................................................................
50 5.4
Troubleshooting..................................................................................................................... 50
5.4.1
Logging................................................................................................................................. 50
5.4.2
Ec o......................................................................................................................................... ENQUETE
50 5.4.3
Pic otamento......................................................................................................................... 50 Meu dia a dia com o Asterisk �:
5.4.4 Mantendo o IPBX/Gateway da empresa onde
Delay...................................................................................................................................... 50 trabalho
5.4.5 Códigos SIP.........................................................................................................................
50 5.5 Desenvolvendo produtos para empresas de
Backup...................................................................................................................................... TI/Telec om
53 5.6 Fu�ando como hobby
Tunning.................................................................................................................................... Votar Ver
53 5.7
Seguranç a............................................................................................................................... 53
chCounter: MySQL error!
5.8 Sistemas distribuídos e alta disponibilidade................................................................... 53 6 Dic as e
SQL query:
Truques........................................................................................................................ 53
I.Índic e c om todas as aplicaç ões disponíveis na série 1.2 do Asterisk............................. 53 II.Índic e c om LOCK TABLES
todas as variáveis internas do Asterisk............................................................. 53 III.Siglas e `joomla_asterisk`.`jos_astats_counted_users`
Dic ionário.................................................................................................................... 53
AS c WRITE,
1 Sou alienígena, fale sobre Telefonia. Entende-se por telefonia, toda e qualquer forma de transmitir voz
`joomla_asterisk`.`jos_astats_counted_users`
humana, de um ponto a outro com a utilização de instrumentos amplificadores.
WRITE,
Ou segundo o Wikipedia:
`joomla_asterisk`.`jos_astats_ignored_users`
INSERIR DEFIFINICAO DO WIKIPEDIA
AS i WRITE,
Impossível imaginar a evoluç ão de toda a c omunidade sem menc ionar os devidos c réditos ao poder, que nós
`joomla_asterisk`.`jos_astats_ignored_users`
ser humanos desenvolvemos de desejar c omunic aç ão a todo custo a toda hora e de várias formas.
WRITE, `joomla_asterisk`.`jos_astats_data`as
Ainda somos e seremos esc ravos da transmissão e rec epção de informaç ão, é fato.
d WRITE, `joomla_asterisk`.`jos_astats_data`
1.1. Breve história da telefonia X Alexander Graham Bell Elisha Gray
WRITE,
Nos idos de 1870, dois inventores, Elisha Gray e Alexander Graham Bell, ambos, indepedentemente projetaram
`joomla_asterisk`.`jos_astats_pages`as p
um euipamento que poderia transmitir a voz eletronic amente, o famoso telefone. Ambos correram pra
patentear suas soluç ões, porém Alexander Graham Bell ganhou a c orrida por questões de algumas horas. WRITE,
Apartir deste momento os dois travaram uma batalha famosa sobre a invenção do telefone na qual Bell se `joomla_asterisk`.`jos_astats_online_users`
saiu c ampeão. as o WRITE,
Alexander Graham Bell nasc eu em 1847 em Edinburgh, Escóc ia. Ele mudou-se para Ontario, e então para os `joomla_asterisk`.`jos_astats_online_users`AS
Estados Unidos se estabelec endo em Boston antes de iniciar sua c arreira c omo inventor. Ao longo de sua
online WRITE,
vida, Bell dedic ou-se à educ ação de pessoas surdas. Este interesse o levou a inventar o mic rofone e, em
1876, a sua “maquina elétric a de voz(elec tric al speech mac hine)” que hoje nós chamamos de telefone. As `joomla_asterisk`.`jos_astats_online_users`
notíc ias de seu invento rapidamente se espalharam pelo país e até na Europa. Em 1878, Bell realizou a WRITE,
primeira c hamada em New Haven, Connec ticut. Em 1884, c hamadas de longa distância foram feitas entre `joomla_asterisk`.`jos_astats_log_data`
Boston e Nova York.
WRITE;
Bell imaginou grandes possibilidades de uso para o seu invento, porém ele nunc a imaginou que sua máquina
de transmissão elétrica de voz pudesse também transmitir vídeo um dia. Esse dia c hegou, e desde a sua
morte em 1922 a indústria de telec omunic ações tem vivenc iado uma incrível revoluç ão. Hoje pessoas que Error number: 145
não houvem podem c omunic ar-se através de telefones espec iais. Fibras óticas estão melhorando a qualidade Table './joomla_asterisk/jos_astats_pages' is marked as
e veloc idade na transmissão de dados. Comunic aç ões sem fio são capazes de deixa-lo informado e presente c rashed and should be repaired
mesmo em loc ais remotos, enfim iremos abpradr um pouc o sobre todos os benefíc ios que a máquina falante Sc ript stopped.
de Bell alavanc ou a toda a c omunidade mundial.
1.2. A evolução e as novas tendências A busc a inc ansável por reduç ões de c usto, qualidade, versatilidade,
independênc ia, fac ilidade e demais adjetivos tornaram possível a evolução sistemática dos meios de
c omunicaç ão. A Telefonia moderna é um dos produtos deste cresc imento. É possível estar em dois lugares ao
mesmo tempo. Atualmente falar ao telefone é algo que se faz em todo momento a toda hora e em qualquer
lugar. Esteja voc ê no trem, no ônibus, no metrô, no carro, no avião ou em lugares menos móveis como a sua
c asa, apartamento, esc ritório, fábric a, hotel ou motel, definitivamente estamos imersos neste mundo de
c ircuitos e mais circ uitos. Habilitar uma c redenc ial neste mundo é tão simples quanto o seu uso, algo que em
tempos remotos foi um investimento c om visível participação na renda familiar, hoje é mais um adereç o da
moda e participa ativamente na vida de c rianç as. LINHA DO TEMPO: FOTOS DE VÁRIOS TELEFONES: DO
MAIS ANTIGO PRO MAIS MODERNO Cada país possui o seu órgão que regulamenta os meios de c omunicaç ão,
em alguns lugares existem órgãos específic os para o tema Telefonia. No Brasil este órgão é c onhecido por
ANATEL[1].
1.1.1 Telefonia Analógic a
Método original inventando por diversos inventores e que enc ontrou seu ápic e de desenvolvimento e
utilizaç ão, ou melhor, de massific ação durante os anos 50. Utiliza-se c omo meio de comunic ação
princ ipalente os cabos de c obre, os pares de c obre que ainda hoje reinam nos quadros de distribuiç ão de
empresas de telefonia. 1.1.2 Telefonia Digital
Telefonia multiplexada, sinais digitais, proc essador de sinais digitais(DSP) entram em c ena para transformar
este sinal analógic o, conhec ido por voz, em um sinal digital. O sinal digital se distingue por identificadores
individuais, troc ados no momento que antecede o streaming de voz, a chamada fase de sinalizaç ão. Estes
identific adores individuais permitem o c onvívio de diversos outros sinais ao mesmo instante. Em suma isso é o
que c hamamos de multiplexaç ão. Várias c hamadas acontec endo ao mesmo tempo e pelo mesmo meio físic o.
Na Telefonia Digital c omumente c onhec ida utiliza-se o transporte de voz sem c ompactaç ão, assim c omo ela
é, somente digitalizada. Enviando 64Kb por segundo com 8khz e 8 bits(...detalhar khz e bit...).
1.1.3 Telefonia IP
Telefonia IP é o conc eito mais atual para utilização de c omunicaç ão por voz.. Como toda e qualquer
tec nologia teve seus momentos de testes ferrenhos e provas de bala e fogo. Em determinado momento
c hegou-se a algo que se poderia dizer como: utilizável. Com c ustos ainda proibitivos para a sua
massific aç ão, a Telefonia IP c riou-se em meio a grandes implementaç ões de transporte de áudio.
Backbones de grandes empresas de telefonia já cruzavam o Atlântic o lanç ando cabos e mais cabos por onde
trafegariam enormes quantias de minutos de c onversas, reuniões e bate-papos, todas elas utilizando o
protoc olo IP de comnic aç ão.
O protocolo IP[2] c hegou para trazer mais um c onc eito dentro dos meios de c omunicaç ão. Sua fácil
implementaç ão e sua riqueza em c ontroles e documentaç ão virou uma página importante na história das
telec omunic aç ões. Um dia foi o que c hamavam de ARPANET[3], uma rede de dessentralizaç ão de informaç ão
c riada c omo um artifício de estratégia militar pelo exérc ito americ ano. A INTERNET hoje é o ponto de
encontro de c omunidades virtuais,

www.asteriskbrasil.org/index.php?opti… 2/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
CODific aç ão e DECodific ação utilizam-se de funç ões matemáticas para transformar um pac ote de voz com
64Kb para um pacote de, por exemplo, 8Kb. Cada algoritmo desse tem um nome/apelido. Alguns deles são
G729a, µlaw, alaw, GSM, iLBC dentre outros[4].
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 empac otada. Correio de voz, gravaç ão
de chamadas, transferências, conferências todas elas oc orrendo no mesmo mundo IP, o uso destes infinitos
rec ursos é c arac terizado como Telefonia IP.
Voz sobre IP ou VoIP é ato de se transferir voz sobre um c anal IP de c omunic aç ão em. Pode ser
representado c omo sendo o c ombustível ou o meio de transporte da Telefonia IP.
1.1.5 Telefonia Móvel
Existem diversas formas de se c omunic ar de forma dinâmica, mas nenhuma delas se compara ao poder da
mobilidade. O que em c erta époc a era apenas um dos rec ursos disponíveis em aeronaves e foguetes hoje
ec ontra-se em todos os lares do mundo, na maioria deles pelo menos.
A Telefonia Móvel tem sua masssificaç ão c laramente denotada pela disseminaç ão dos famosos “telefones
c elulares”. Tec nologias c omo TDMA, CDMA, GSM tomaram c onta da mídia e ainda hojem permanecem fortes
em um crescente segmento das telec omunicaç ões.
A Telefonia Móvel tem se tornado uma parc eira ideal para o c resc imento da Telefonia IP. Já existem diversos
produtos IP enc oporando tec nologias móveis, porém este ainda é um meio menos popular de transporte de
voz.
2 Conhec endo o Asterisk O Asterisk é o c anivete suiço das telec omunicaç ões. Hoje ele faz muito mais que
qualquer outra plataforma de telefonia(vídeo e imagem definitivamente também). O limite é sua c riatividade,
lembre-se disto sempre. 2.1 Quem? Quando? Porque? Como? O Asterisk foi criado em 1999 por Mark Spenc er,
fundador da Linux Support Servic es, uma empresa que inicialmente prestava serviç os de consultoria e
suporte em platafromas GNU/Linux(para não ferir alguns xiitas...). Em um determinado momento Mark
encontrou-se em frente a um projeto de telefonia: A nec essidade de soluc ionar um problema em seus
atendimentos de c hamados telefônic os(Help Desk). Hoje aquele seu projeto é c onsiderado c omo uma das
próximas inovaç ões do mundo Open Sourc e após o surgimento do Linux. Batizado c omo Asterisk, um
c arac tere c oringa em ambientes UNIX like, este software esc rito originialmente em linguagem C(VERIFICAR SE
É SOMENTE C) é parte do vasto território dos programas de c ódigo aberto disponíveis ao redor do globo.
2.1.1 O que é o Asterisk?
O Asterisk é um software de PBX, ou seja, um programa de c omputador que possui todos os rec ursos de uma
Central Telefônic a e faz a c onexão de redes privadas de telefonia com a rede públic a de telefonia. Assim
c omo em qualquer 2.1.2 Entendendo o desenvolvimento do Asterisk
O estrondoso sucesso do Asterisk teve seu iníc io c om o lanç amento da primeira versão estável do sistema, o
Asterisk 1.0. Atualmente ele enc ontra-se na versão Asterisk 1.4. Seguindo os mesmos moldes de
versionamento do Kernel Linux, o Asterisk possui um versão em desenvolvimento que tem o seu último dígito
identific ador um número ímpar, por exemplo, a versão atual em desenvolvimento é a versão Asterisk 1.5. Em
breve, quando ela estiver estabilizada e devidamente testada, esta versão irá tornar-se Asterisk 1.6 e será
divulgada c omom última versão estável do sistema. Cada série(1.0, 1.2, 1.4, etc.) Tem seu prórpio
mantenedor, ou seja, c ada versão lanç ada tem um c oordenador, que irá c ontrolar o sistema após o seu
lançamento. Cada nova versão lançada, automatic amente encerra o desenvolvimento de uma versão antiga.
Por exemplo, no lanç amento da versão Asterisk 1.6, o Asterisk 1.4 será descontinuado. Claro que correç ões
de seguranç a e bugs ainda serão implementados, porém novas funcionalidades e a evolução do sistema será
todo focado para a versÃo mais recente. O Asterisk utiliza o software SVN para versionamento de seu c ódigo
e a ferramenta Mantis para registros de bugs e requisiç ão de novas func ionalidades. 2.1.3 Partic ipe também!
Para partic ipar no desenvolvimento do Asterisk, voc ê pode c ontribuir de diversas formas. Doc umentando o
projeto, que envolve manuais, howtos, doc umentaç ão de c ódigo entre outros. Projetos a para c ontinent e,
país para pais e até de estado para estado. Para ser um desenvolvedor você prec isa estar muito próximo do
c ódigo do sistema e ter uma boa noç ão de programação e desejável c onhecimento dos protocolos e padrões
de telefonia. Como o Asterisk é distribuído sob a GPL 2.0, basta escrever suas linhas de código e reportar ao
líder do projeto(o mantenedor do c ódigo da respec tiva versão), ele irá determinar se o seu c ódigo irá ou não
fazer parte do sistema. É claro que antes de se aventurar é importante e determinante que voc ê participe da
lista de emails dos desenvolvedores[5]. 2.2 Arquitetura tec nológic a do Asterisk Basta entender um pouc o
sobre as c arac terísticas do Asterisk para c omeç ar a evoluir seus c onhec imentos neste software. Este
c apítulo irá trazer o básic o para iniciar uma imersão mais profunda neste sistema. INSERIR IMAGEM
DESCRITIVA DO ASTERISK 2.2.1 Diretórios e arquivos
O Asterisk segue o modelo LSB[6] de disposiç ão de diretórios e arquivos. Veja abaixo a espinha dorsal do
sistema: /etc/asterisk Arquivos de configuraç ão. Voc ê irá c onhec ê-los com mais detalhes no dec orrer deste
livro ou gerando os arquivos de exemplo do sistema. Ao final da c ompilaç ão do Asterisk, digite “make
samples”, para gerar estes arquivos. Exemplo de um arquivo de c onfiguraç ão do Asterisk:
/etc/asterisk/sip.c onf [101] ;c ontexto type=peers ;parâmetro de configuração context=ramais ;parâmetro
de configuração sec ret=senha ;parâmetro de c onfiguraç ão language=pt_BR ;parâmetro de c onfiguraç ão
disallow=all ;parâmetro de c onfiguraç ão allow=g729,alaw ;parâmetro de c onfiguraç ão mailbox=101@c orreio
;parâmetro de c onfiguraç ão ou /etc/asterisk/extensions.conf [ramais] ;c ontexto inc lude ⇒ ramais.c onf
;incluir conteúdo de outro arquivo exten ⇒ 101,1,Dial(SIP/101,10) ;extensão c om prioridade 1 exten ⇒
101,2,Voic eMail(u101@c orreio);extensão c om proridade 2 Todos os arquivos seguem a notaç ão acima c om
c ontextos e c ontéudos(parâmetros, inc ludes e extensões). Os c onteúdos variam de arquivo para arquivo e
alguns contextos possuem c omportamento expecial como veremos nos próximos c apítulos deste livro.
/var/lib/asterisk/sounds Arquivos de som do sistema. Mensagens e sons utilizados nas diversas aplic aç ões do
Asterisk fic am armazendas neste diretório. Caso voc ê esteja usando o Asterisk no Brasil, voc ê irá prec isar
c onfigurar o sistema de acordo c om a linguagem Português do Brasil, utilizando o c ódigo de linguagem pt_BR
onde for requisitado. Alguns subdiretórios possuem arquivos de áudio espec ífic os.
/var/lib/asterisk/sounds/digits /var/lib/asterisk/sounds/letters /var/lib/asterisk/sounds/phonetic
/var/lib/asterisk/agi-bin Diretório que c ontém as aplicaç ões AGI[7] utilizadas pelo Asterisk. São pequenos
programas auxiliares que podem ajudar o Asterisk em momentos de tomada de dec isões no fluxo de uma
c hamada ou trazendo mais recursos e aplic aç ões no formato “plugin”. /var/spool/asterisk Loc al para onde as
c hamadas são enviadas antes de chegar ao seu destino final. Aqui as chamadas são enfileiradas e saem uma
a uma aos seus destinos. É aqui que também fic am as c aixas postais dos ramais do sistema.
/usr/lib/asterisk/modules O c ódigo do Asterisk é todo moduarizado, ou seja, voc ê pode unir peç a a peça para
moldar o sistema de ac ordo c om suas nec essidades. Os arquivos neste diretório tem aseguinte
nomenc latura: tipo_nome.so (Ex.: channel_zap.so) Alguns módulos bastante c omuns em um sistema Asterisk
são: format_g729.so Suporte ao c odec g729 c han_sip.so Suporte ao protocolo SIP de c omunic aç ão IP
app_voicemail.so Módulo que controla o c orreio de voz app_meetme.so Módulo que gerenc ia as c onferênc ias
/var/log/asterisk Arquivos de log so sistema. Neste diretório voc ê enc ontra os arquivos que c ontém os
“rastros” de atividade do Asterisk. Voc ê pode possuir diferentes arquivos c ada qual com um nível de
detelhamento ou tipo de mensagem. O arquivo que c ontrola o seu c onteúdo é o /etc/asterisk/logger.c onf[8].
2.2.2 O servidor
O Asterisk possui versões que podem ser ujtilizadas em FreeBSD, Mac OSX, Linux dentre outros menos
expressivos sistemas operac ionais. A versão mais utilizada e melhor documentada e testada é a versão para
o sistema operac ional Linux. O hardware indic ado para utilizaç ão do Asterisk varia de ac ordo com a sua
utilizaç ão. Voc ê deve dimensionar o seu sistema baseado na quantidade de ramais/tronc os e/ou nas
aplicaç ões a serem utilizadas em sua implementaç ão. Exemplo de maquina para SOHO Exemplo de maquina
para Empresa Media Exemplo de maquina para Empresa Grande 2.2.3 Sopa de letrinhas... Codec s e

www.asteriskbrasil.org/index.php?opti… 3/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
- IP (Internet Protoc ol) O protoc olo base da rede Internet e de redes privadas. - TCP (Transport Control
Protoc ol) Protoc olo de transporte de dados em redes IP com controle de entrega de pac otes. - UDP (...)
Protoc olo de transporte de dados em redes IP sem c ontrole de entrega de pac otes. - SIP (Session Initiation
Protoc ol) Protoc olo de transporte de pac otes de voz em redes de dados IP. O SIP é o protoc olo mais
utilizado nas implementaç ões atuais de transporte de voz. Seu c aráter aberto e fác il implementaç ão
tornaram este protoc olo um padrão presente em todos(ou na grande maioria) os produtos e serviços de
telefonia IP. - H323 (...) O H323 .... 2.2.3.2 Telefonia Digital
- MFCR2 (...) Uma variante brasileira deste protoc olo é MFCR2DBR - PRI Padrão de sinalizaç ão E1 utilizado
nos países norte americ anos. 2.2.3.3 Telefonia Analógic a
- FXS (Foreign eXc hange Station) Sinalizaç ão enviada para telefones analógic os. - FXO (Foreign eXc hange
Office) Sinalizaç ão enviada para tronc os analógicos 2.2.3.4 CODECs
- G729 - G723 - G726 - iLBC - Speex 2.2.4 Os Canais(c hannels)
Os canais são os responsáveis pela c omunicaç ão entre as aplicaç ões, ramais e troncos do Asterisk. Todos os
rec ursos que envolvem c hamadas, são disponibilizados por meios de c anais de c omunic ação, os “channels”
do Asterisk. IMAGEM COM CANAIS E O ASTERISK O Asterisk possui diversos tipos de c anais. Os tipos de
c anais possíveis são: 2.2.4.1 Canal SIP (c han_sip.so)
Este c anal é reponsável pela comunic ação SIP entre o Asterisk e ramais ou troncos que falem este
protoc olo. O c anal SIP é configurado através do arquivo /etc /asterisk/sip.c onf Os parâmetros de
c onfiguraç ão SIP para o c ontexto [general] são: Parâmetros Valores Desc rição disallow all|lista de c odec s
disallow=all Desabilita todos os c odec s. allow all|lista de codecs Habilita todos(all) ou os c odec s
espec ificados e espaçados por vírgulas por ordem de preferência. Utilizar disallow=all para espec ificar alguns.
allowexternalinvites yes|no Permite ou não o INVITE e REFER para domínios não loc ais. Deafult é yes.
allowguest yes|no Permite ou não chamadas não c onhec idas(guest). Default é yes autocreatepeer yes|no
Se estiver c omo yes irá permitir que qualquer um se autentique c c omo peer(sem c hec agem de c redenciais).
Interessante em conjunto c om o SER. Default é no. autodomain yes|no Habilita ou não a abilidade do
Asterisk inserir hosts loc ais ou Ips loc ais a lista de domínios. Default é no. bindaddr número ip Endereç o IP
onde o Asterisk irá escutar as requisiç ões SIP. Default é 0.0.0.0. bindport número inteiro Porta UDP onde o
Asterisk irá esc utar as requisições SIP. Default é 5060. c allerid nome Callerid padrão c aso nenhum seja
espec ifdic ado. O default é asterisk. c anreinvite update|yes|no Permite que A e B trafeguem mídia de voz
diretamente sem utilziar o Asterisk. Default é yes. c hec kmwi tempo em segundos Tempo em segundos do
intervalo de checagem das c aixas de c orreio. Default é 10. c ompactheaders yes|no Se o Asterisk enviará ou
não c abeç alhos compac ados(aabreviados) nas mensagens SIP. Default é no. c ontext nome O c ontexto
default. Usado quando um endpoint não possui esta informaç cão. defaultexpirey tempo em segundos O
tempo em segundos para registros SIP(entrante/saintes). Default é 120. dtmfmode inband|info|rfc2833 Modo
DTMF. Default é rfc 2833. domain nome Lista de domínios, separados por vírgula, ao qual o Asterisk irá ser
responsável. dumphistory yes|no Habilita o suporte de gerar um dump de c onversas SIP no LOG_DEBUG.
Default é no. extermip número ip ou nome Endreço IP ou nome do host que será c oloc ado em mensagens SIP
se o Asterisk estiver atrás de NAT. Se for usado o nome de host, ele será verificado somente uma vez. Usar
externhost se o nome estiver associado a um IP dinâmic o. externhost nome Nome do host que será c oloc ado
em mensagens SIP se o Asterisk estiver atrás de NAT. extermrefresh tempo em segundos Tempo em
segundos que será feito um refresh do DNS do nome espec ific ado em externhost. Default é 10.
ignoreregexpire yes|no Indic a quando usar a informação de Contact de um peer se esta informaç ão estiver
oc iosa por ter alcanç ado seu tempo máximo de expiraç ão.. language nome Idioma padrão para as aplic aç ões
Playbac k() e Bac kground() loc alnet endereç o ip/ mascara de rede Endereç o de rede loc al e masc ara.
fromdomain nome de domínio Altera o c ampo From: do c abeç alho SIP quando o Asterisk é um UA(User
Agent). insecure very|yes|no|invite|port Como tratar c onexões SIP c om peers. Default é no(autentic a todas
as conexões). maxexpirey tempo em segundos Tempo máximo, em segundos, que será aguardado para
registros SIP. Default é 3600. musicc lass nome Uma das classes de Músic a em Espera disponível no
sistema(music onhold.conf) music onhlod nome Mesmo que music c lass nat yes|no|never|route Default é no.
Use yes c aso o seu UA esteja atrás de NAT. notifymimetype mediatype/subtype Permite sobrepor o tipo de
midia[9] no MWI NOTIFY usado no c orreio de voz. notifyringing yes|no NOTIFY no momento de ringing.
Default é yes. outboundproxy número ip ou dns srv Proxy para envio de c hamadas saintes. Não espec ific ar o
prefixo _sip._udp em caso de DNS SRV. outboundproxyport número inteiro Porta UDP do proxy de chamdas
saintes. pedantic yes|no Permite a c hecagem pedantic de c allerid, c abeç alhos multiline SIP e c abeç alhos URI
c odific ados. port número inteiro Porta SIP do UA. Não é a mesma coisa do que bindport. progreeinband
never|no|yes Se é nec essário gerar ring inband SEMPRE. Default é never/ promisc redir yes|no Permite o
suporte a Redirects 302. Irá redirecionar todos a extensão loc al presente no c ampo Contac t ao invés da
extensão de destino. qualify yes|no|tempo em milisegundos Chec a se o c liente(UA) está alc anç avel. Se yes
irá chec ar a c ada 2000ms. Default é no. realm nome Alterar o realm padrão(asterisk). recordhistory yes|no
Habilita o logging do históric o de transações SIP. regcontext nome Contexto padrão para utilizar nas
respostas SIP REGISTERs dos servidores SIP. register ⇒ <username>:<password>:[authid]@<sip client/peer
id in sip.c onf>/<contac t> Para realizar o registro SIP em outro server. registerattempts número inteiro
Número de tentativas de registro antes de desistir de realizar o registro. Default é 0. registertimeout tempo
em segundos Tempo para esperar para caracaterizar um timeout de registro. Default é 0(sem limite).
relaxdtmf yes|no Relaxar a detec ç ão DMTF. rtautoc lear yes|no|tempo em segundos Auto expirar contas
c riadas no realtime. Default é 120. rtc achefriends yes|no Fazer c ache de c ontas SIP na lista interna do
Asterisk c omo é feito usando os arquivos de c onfiguraç ão ao invés de realtime. Default é no. rtpholdtimeout
tempo em segundos Tempo, em segundos, de timeout de uma c hamada em hold antes de derruba-la. Default
é 0(ilimitado). rtpkeepalive tempo em segundos Tempo em segundos até que seja enmviado um RTP
Keepalive em c aso de inatividaade de um c anal de voz. rtptimeout tempo em segundos Tempo em segundos
até c arac terizar a c hamada c omo inativa. Default é 0(sem RTP timeout). rtupdate yes|no Envia updates de
registry ao banc o de dados do Asterisk quando estiver usando realtime. sendrpid yes|no Se um Remote-
Party_ID do cabeç alho SIP devará ser enviado. Default é no. sipdebug yes|no Modo debug no iníc io do
módulo SIP. srvlookup yes|no Habilitar consultas DNS SRV. Default é no. tos valor qos Parametro QoS parra
saída de c hamdas. Valores numéric os pode ser usados c omo tos=184 trustrpid yes|no Se o Remote-Party- ID
do cabeçalho SIP deverá ser confiável. useclientc ode yes|no useregphone yes|no Para usar user=phone ao
URI. useragent nome Customizar o c abeç alho User-Agent do protocolo SIP. Alterar a identific aç ão do
Asterisk. Default é asterisk. videosupport yes|no Para usar o suporte a vídeo. Default é no. vmexten nome
Extenssão do dialplan para ac essar o c orreio de voz. Default é asterisk. Parâmetros específic os para
type=peer e type=user. Parâmetros Valores Descriç ão type host disallow allow allowexternalinvites Yes|no
Permite ou não o INVITE e REFER para domínios não loc ais. Deafult é yes. allowguest Yes|no Permite ou não
c hamadas não c onhecidas(guest). Default é yes 2.2.4.2 Canal IAX (c han_iax2.so)
Este c anal é reponsável pela comunic ação SIP entre o Asterisk e ramais ou troncos que falem este
protoc olo. O c anal SIP é configurado através do arquivo /etc /asterisk/sip.c onf Os parâmetros de
c onfiguraç ão SIP são: Parâmetros Desc riç ão Type host=0.0.0.0 Host permitido para ac esso ao sistema.
peer/user disallow=all peer/user allow=g729,ulaw peer friend 2.2.4.3 Canal Loc al (c han_loc al.so)
Canais do tipo “Loc al” são utilizados para acessar recursos locais do Asterisk. Voc ê pode por exemplo chamar
um ramal SIP utilizando a seguinte notação: Loc al/3333 ao invés de SIP/333. 2.2.4.4 Canal ZAP
(c han_zap.so )
Os canais ZAP são utilizados para realizar a c omunic aç ão do Asterisk c om o mundo da telefonia Digital e
Analógica. É através dele que configuraremos os tronc os E1(PRI), por exemplo, com uma operadora de
telefonia. Ou através dele disponibilizamos ramais analógicos conectados diretamente ao servidor Asterisk.
Para a utilizaç ão deste tipo de c anal é nec essário a utilizaç ão de plac as(geralmente c om barramento PCI)
c onec tadas ao servidor Asterisk. Vamos falar um pouco mais sobre placas deste tipo mais adiante. O arquivo
que c onfigura este c anal é o /etc /asterisk/zapata.c onf. Veja na tabela abaixo os parâmetros disponíveis
neste arquivo: Parâmetros Desc riç ão language=pt_BR group=0 c hannels=1-4 2.2.4.5 Canal Unic all[10]
(c han_unic all.so)

www.asteriskbrasil.org/index.php?opti… 4/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
O Canal Unicall tem enorme importânc ia em território brasileiro, pois é ele o responsável pelo suporte ao
protoc olo de sinalizaç ão de E1 CAS MFCR2DBR.
O arquivo que c onfigura este módulo é o /etc /asterisk/unic all.conf. Os parâmetros utilizados neste arquivo se
assemelham muito c om os parâmteros utilizado no arquivo de configuração de c anais ZAP. Veja na tabela
abaixo ps parâmetros disponíveis neste arquivo:
Parâmetros Desc riç ão language=pt_BR group=0 channels=1-4 2.2.5 Equipamentos periféricos
O Asterisk, como qualquer outro ambiente de telefonia, possui apetrec hos tec nológicos para disponibilizar um
ambiente c ompleto de c omunicaç ão. Telefones, plac as, gateways, enfim, é nec essário alguns ac essórios
para que se faç a o uso c ompleto do Asterisk.
Neste c apítulo iremos c onhec er alguns destes acessórios.
2.2.5.1 Plac as digitais e analógic as
Para c onec tar o Asterisk às redes de telefonia c onvenc ionais(chamaremos de PSTN[11] estas redes no
decorrer deste livro).
Existem diversos fabricantes de plac as analógic as e digitais que possuem suporte no Asterisk. As mais
c onhec idas são as plac as Digium, empresa de Mark Spencer, criador do Asterisk. Abaixo vamos listar alguns
fabric antes e seus produtos.
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
Digivoic e
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 alguma destas
placas, ou seja, no Asterisk até hardware utilizado pode ter espec ific ação aberta.
A maioria das placas ac ima são basedas no projeto Zapata Telephony e suas c onfiguraç ões estão disponíveis
no arquivo /etc /zaptel.c onf.
2.2.5.2 Telefones
Impossível imaginar(pelo menos por enquanto) um sistema de telefonia sem telefones. Pois bem, o Asterisk
possui uma lista extensa de telefones suportados. Vamos c omentar sobre alguns deles.
Polyc om FOTO
Cisco FOTO
Snom FOTO
Analógico SIEMENS (FXS)
UM BEM ANTIGO... (FXS)
2.2.5.3 ATAs
Analog Telephony Adapter, este é o signific ado de ATA. Um ATA é utilizado para transformar um telefone
analógico em telefone IP. Existem diversos ATAs disponíveis no merc ado, basic amente a sua diferenç a está
na quantidade de portas(conectores). Existem ATAs de uma porta analógic a e de até vinte e quatro portas
analógicas, o que signific a que podemos ter um telefone ou vinte e quatro telefones c onec tados no mesmo
equipamento, c ada qual c om seu número próprio.
Um ATA é um gateway de pequeno porte que faz a converç ão de um sinal analógic o para um sinal IP.
Alguns ATAs estão listados abaixo.
IAXy (FOTO)
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 c omputador.
Existem diversos(para nÃo dizer milhares) de opções de softwaphones disponíveis. Alguns c omerc iair, outros
livres. Para Windows, Linux ou Mac OSX, PDAs e handhelds, enfim, a oferta é grande e voc ê saberá escolher
o que melhor se adapta ao seu projeto.
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 devic e designed to c onvert between balanc ed and
unbalanced elec tric al signals, suc h as between coaxial c able and ladder line. Baluns can be c onsidered as
simple forms of transmission line transformers. 2.3 Documentação adic ional e Downloads
Canal Unic all – http://www.soft-switc h.org/unic all [http://w w w.soft-sw itch.org/unicall]
Projeto Asterisk – http://www.asterisk.org [http://w ww .asterisk.org]
Projeto AsteriskBrasil.org – http://www.asteriskbrasil.org [http://w ww .asteriskbrasil.org]
Biblia Sagrada do Engenheiro VoIP – http://www.voip-info.org [http://ww w .voip-info.org]
3 Configuraç ões básicas do Asterisk Todas as c onfiguraç ões do Asterisk se enc ontram nos arquivos *.conf
do diretório /etc /asterisk. Não existe distinç ão no local onde se c onfigura um ramal ou um tronc o ou mesmo
uma sala de c onferência. Todos estes rec ursos estão presentes, muitas vezes, nos mesmos arquivos de
c onfiguraç ão. O que os distingue dentro do mesmo arquivo, são os c ontextos.
Antes de c omeç ar a Asteriskar é nec essário fazer um preparo do seu sistema. Vamos tropic alizar o servidor e
realizar alguns ajustes.
3.1 Inserindo os padrões de telefonia Brasileiro /etc /asterisk/.indic ations.c onf [general] c ountry = br [br]
description = Brazil ringc adanc e = 1000,4000 dial = 425 busy = 425/250,0/250 ring = 425/1000,0/4000
c ongestion = 425/250,0/250,425/750,0/250 c allwaiting = 425/50,0/1000 ; Dialrecall não é utilizado no Brasil.
Use o padrão inglês. dialrec all = 350+440 ; Rec ord não é utilizado no Brasil. Use tom de oc upado rec ord =

www.asteriskbrasil.org/index.php?opti… 5/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
linguagem Português do Brasil basta regravar os áudios e adic iona-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 Os arquivos de áudio
devem possuir o mesmo nome porém podem ser gravados c om outros formatos de áudio. O formato padrão
dos arquivos originais é o GSM, porém para se ter maior qualidade nas loc uções é interessante gravar o áudio
c om uma qualidade mais alta.
Os áudios devem posssuir amostragem de 8Khz e qualidade de 16 bits para que se possa trafegar em redes
de telefonia.
Observe que se um ramal, c om suporte somente ao codec GSM, acessar o servidor com os áudios gravados
em outro formato não GSM, o Asterisk irá realizar um processo de transc oding[13], o que irá trazer impac tos
de performanc e.
3.3 Criando ramais Ramal SIP: sip.conf
Exemplo:
Ramal Analógic o(ZAP): zapata.c onf
Exemlo:
Ramal IAX: iax.c onf
Exemplo:
3.4 Criando troncos Tronco SIP: sip.c onf
Tronc o Digital(ZAP): zapata.c onf
; Note the ‘g2’ in the TRUNK variable above. It spec ifies whic h group (defined ; in zapata.c onf) to dial, i.e.
group 2, and how to choose a c hannel to use in ; the spec ified group. The four possible options are: ; ; g:
selec t the lowest-numbered non-busy Zap channel ; (aka. ascending sequential hunt group). ; G: selec t the
highest-numbered non-busy Zap c hannel ; (aka. descending sequential hunt group). ; r: use a round-robin
searc h, starting at the next highest c hannel than last ; time (aka. asc ending rotary hunt group). ; R: use a
round-robin search, starting at the next lowest channel than last ; time (aka. desc ending rotary hunt
group).
Tronc o Digital(Unic all)
Tronc o Analógic o: zapata.c onf
3.5 Realtime O Realtime é um rec urso relativamente novo no Asterisk. Em suma ele permite que se armazene
c onfiguraç ões e o próprio plano de disc agem do Asterisk em u m banc o de dados relac ional. Estas
c onfiguraç ões, neste modo de operaç ão, são automatic amente instanc iadas no sistema, sem que haja a
necessidade de se refazer uma leitura nos arquivos de c onfiguraç ão do Asterisk.
Este recurso é indispensável em ambiente de alto tráfego de telefonia. Um simples reinic iar da plataforma de
telefonia poderia oc asionar interrupaç ão de serviç os por alguns instantes, mas o sufcietnte para ser sensível
aos usuários.
O realtime ainda é um rec urso novo no Asterisk, portanto nem tudo pode estar presente neste modo de
operaç c ão. Alguns arquivos de c onfiguraç ã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 disc agem, do Asterisk é o
/etc/asterisk/extensions.conf. Podemos c hamar de a Peç a Chave do Asterisk o arquivo extensions.c onf. Um
plano de discagem é composto por c ontextos, extensões, prioridades e aplicaç ões. Alguns c ontextos são
reservados e possuem uma sintaxe espec ial. Veja a sintaxe do arquivo /etc /asterisk/extensions.c onf:
[general] parametro01 = valor01 parametro02 = valor02 ... [globals] GLOBALVAR01 = valor01 GLOBALVAR02 =
valor02 ... [contexto] exten ⇒ extensão,prioridade,aplic ação(argumentos) Vamos analizar um pequeno
trecho deste arquivo para entender sua morfologia e sintaxe. [ramais] exten ⇒ 101,1,Dial(SIP/101,10) exten
⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup() exten ⇒ 102,1,Dial(SIP/102,10) exten ⇒
102,2,Voic eMail(u102@c orreio) exten ⇒ 102,3,Hangup()
[ramais] é o c ontexto, 101 e 102 são as extensões o segundo parâmetro(1.2.3) são as prioridades e Dial,
VoiceMail e Hangup são as aplic aç ões.
Neste c apítulo vamos entender um pouco mais sobre c ada uma destas peç as do plano de discagem do
Asterisk.
Usando #inc lude para inc luir arquivos Voc ê pode inc luir outros arquivos dentro do dialplan, para isso adic ione
a seguinte linha dentro do extensions.c onf. #inc lude extensions_ramais.c onf O conteúdo do arquivo
/etc/asterisk/extensions_ramais.c onf também estará disponível no dialplan. NÃO CONFUNDIR ESTE INCLUDE
COM O INCLUDE DE CONTEXTOS, ANALISADO MAIS ADIANTE. Vale lenbrar que todos os arquivos do projeto
Asterisk permitem a utilizaç ão de #inc lude[14]. Porém há diferenç a entre dois 4.1 Contextos(context)
[ramais] É o c ontexto do trec ho de dialplan exemplificado ac ima, é ele o responsável pela diferenciaç ão
deste segmento de c ódigo para outros no mesmo arquivo. Este método possibilita a divisão do arquivo em
grupos que podem ser totalmente distintos entre si. Os nomes dos c ontextos não podem c onter espaç os,
somente c arac teres alfanumeric os. 4.1.1 Contexto [general]
O c ontexto [general] é utilizado para adic ionar alguns parâmetros gerais de c onfiguraç ão do dialplan,
portanto o nome de contexto general é reservado pelo Asterisk. São estes os parâmetros de configuraç ão do
c ontexto [general]: Parametro Valor Desc riç ão static Yes|no If static is set to no, or omitted, then the
pbx_c onfig will rewrite
; this file when extensions are modified. Remember that all c omments
; made in the file will be lost when that happens. writeprotec t Yes|no if static =yes and writeprotec t=no, you
c an save dialplan by
; CLI c ommand ‘save dialplan’ too
; autofallthrough Yes|no ; If autofallthrough is set, then if an extension runs out of
; things to do, it will terminate the c all with BUSY, CONGESTION
; or HANGUP depending on Asterisk’s best guess (strongly rec ommended).
;
; 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). c learglobalvars Yes|no ; If c learglobalvars is set,
global variables will be c leared
; and reparsed on an extensions reload, or Asterisk reload.
;
; If c learglobalvars is not set, then global variables will persist
; through reloads, and even if deleted from the extensions.c onf or
; one of its inc luded files, will remain set to the previous value.
; priorityjumping Yes|no ; If priorityjumping is set to ‘yes’, then applic ations 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 applic ations c an also be requested to do this

www.asteriskbrasil.org/index.php?opti… 6/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
simples, que retorna o valor da variavel ${ENV(VARIAVEL)} Para utilizar o valor de uma variável de
ambiente(sistema operac ional) ${texto${VARIAVEL}} Ac resc entando um prefixo a um valor de variável 4.1.3
Parâmetro include
É possível incluir um contexto dentro de outro utilizando o parâmetro inc lude da seguinte forma: [ramais]
inc lude ⇒ ramaisIP exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,Voic eMail(u101@correio) exten ⇒
101,3,Hangup() exten ⇒ 102,1,Dial(SIP/102,10) exten ⇒ 102,2,Voic eMail(u102@c orreio) exten ⇒
102,3,Hangup() Neste c aso quem estiver c om permissões de ac esso ao c ontexto [ramais] também terá
ac esso ao c ontexto [ramaisIP]. Isto é possível graç as ao parametro include dentro do c ontexto [ramais]. Os
inc ludes podem assumir uma c ondição de tempo para serem ativados. Por exemplo, poderíamos inserir o
inc lude do exemplo acima da seguinte forma: [ramais] inc lude ⇒ ramaisIP|9:00-17:00|mon-fri|*|* exten ⇒
101,1,Dial(SIP/101,10) exten ⇒ 101,2,Voic eMail(u101@c orreio) exten ⇒ 101,3,Hangup() exten ⇒
102,1,Dial(SIP/102,10) exten ⇒ 102,2,Voic eMail(u102@c orreio) exten ⇒ 102,3,Hangup()
Neste c aso o c ontexto [ramaisIP] só estaria disponível para o c ontexto ramais, de segunda a sexta das nove
as cinc o horas da tarde.
4.1.4 Parâmetros espec íficos de um c ontexto
Alguns parâmetros diferentes de exten ⇒ podem ser usados dentro de contextos.
Você pode acessar um plano de disc agem remoto, de outro servidor Asterisk, utilizando o parâmetro swic th
⇒.
switc h ⇒ IAX2/user:password@bigserver/local Variantes do swic th ⇒ também podem ser úteis.
lswic th ⇒ Loopbac k/12${EXTEN}@outroontexto O lswitc h ⇒ possui a mesma funç ão do parâmetros switc h,
porém quando voc ê deseja passar um valor que contenha uma variável, ele não faz a subistituiç ão da
mesma, ou seja, a string é enviada de forma literal.
eswitc h ⇒ Loopbac k/12${EXTEN}@outroc ontexto O eswitc h ⇒ realiza a mesma função do lswitc h ⇒ porém
realiza a substituiç ão de variáveis antes de enc aminhar o dialplan ao realtime. 4.2 Extensões(exten) Uma
extensão pode ser c omposta por letras, números ou uma combinação de ambos. exten ⇒ Define uma linha de
programaç ão do dialplan. São elas as responsáveis pela inteligênc ia do Asterisk. Por elas c onfiguramos as
tarefas contidas nos planos de discagem bem c omo a sua ordem de exec uç ão. exten ⇒
101,1,Dial(SIP/101,10) exten ⇒ 101,2,Voic eMail(u101@c orreio) exten ⇒ 101,3,Hangup() Este dialplan nos
diria, se falassse português, a seguinte frase: “Quando alguém ou alguma c oisa digitar(enviar estes dígitos:
101) ao Asterisk, ele irá exec utar a alpicaç ão Dial c om o argumento SIP/101,10. Após c onc luída esta primeira
aç ão ele irá exec utar a aplic ação Voic eMail com os parâmteros u101@correio. Por último execute a aplic aç ão
Hangup sem parâmetro algum.” E em português brasileiro, mais c laro ainda: “Chame o ramal 101, se ele não
atender envie esta c hamada para o seu Correio de Voz e desligue a c hamda em seguida.” Chamamos de
extensão a seguinte porç ão deste exmplo: exten ⇒ 101 Após a vírgula temos as c hamadas Prioridades e na
sequência as Aplic aç ões. 4.2.1 Extensões espec iais
Algumas extensões expec iais presentes no Asterisk são: exten ⇒ t Representa timeout exten ⇒ s Exten
inic ial, quando uma c hamda for enviada a um c ontexto sem uma extensão definida. S de start. exten ⇒ h
Extensão de hangup exten ⇒ o Extensão out, utilizado pela aplic ação Voic eMail exten ⇒ talk exten ⇒ hint
exten ⇒ fax exten ⇒ T exten ⇒ failed 4.2.2 Padrões de disc agem
É possível utilizar c arac teres c oringas c omo valor de extensões. Se uma extensão é inic iada com o c arac tere
undersc ore ‘_’ isto não é interpretado literalmente pelo Asterisk e sim c omo um padrão de discagem.
Os padrões de disc agem definem c oringas para representar dígitos ou um grupo de dígitos sem ter a
mecessidade de especific a-los explic itamente c omo uma extensão do plan o de disc agem.
Veja a seguinte linha de um dialplan:
exten ⇒ _014ZZXXXXXXX,2,Mac ro(c hama-tronc o,2,${EXTEN}) Neste caso qualquer número que inic ie c om
014, tenha um total de 12 dígitos, sendo o quarto e quinto dígito um número entre 1 e 9 e os demais
números sendo qualquer dígito entre 0 e 9 irá seguir por essa linha do diaplan enviando para a macro chama-
ramal o valor da variável ${EXTEN}.
Veja, na tabela abaixo, o signific ado de todos os padrões de disc agem disponíveis:
Padrão Desc riç ão X Qualquer dígito entre 0 e 9 Z Qualquer dígito entre 1 e 9 N Qualquer dígito entre 2 e 9
[1235-9] Qualquer dígito entre c olchetes (neste exemplo, 1,2,3,5,6,7,8,9 . O ponto é um c oringa, siginific a
qualquer c oisa (Por exemplo _9011. signific a qualquer c oisa c omeç ando c om 9011 menos o prórpio 9011) !
wildc ard, c auses the matching process to c omplete as soon as it can unambiguously determine that no other
matc hes are possible 4.3 Prioridades As prioridades são o segundo parâmetro das extensões. É c om ela que
definimos a rodem de aç ões dentro de um plano de disc agem. As prioridades devem ser especific adas de
forma c resc ente e não prec isam nec essariamente ser c ontínuas, por exmplo: exten ⇒ 101,1,Dial(SIP/101,10)
exten ⇒ 101,2,Voic eMail(u101@c orreio) exten ⇒ 101,3,Hangup() As prioridades 1, 2 e 3 poderiam ser
esc ritas da seguinte forma: exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,15,VoiceMail(u101@correio) exten
⇒ 101,18,Hangup() 1, 15 e 18 são as novas prioridades. Isso pode ajudar muito em casos onde se está
desenvolvendo um dialplan e existe a nec essidade de se adic ionar linhas entre as extensões já c riadas.
Lembre-se que as prioridades sempre devem c omeç ar c om 1 nestes c asos. VERIFICAR A VERACIDADE 4.3.1
Prioridade n+101
Uma prioridade espec ífic a merec e atenção. A prioridade n + 101. Veja o exemplo abaixo. exten ⇒
101,1,Dial(SIP/101,10) exten ⇒ 101,2,Voic eMail(u101@c orreio) exten ⇒ 101,102,VoiceMail(b101@c orreio)
exten ⇒ 101,3,Hangup() Neste c aso a prioridade 102, ou 1 + 101 diz que c aso a prioridade número 1
encontre sinal de oc upado o Asterisk deve enviar a chamada para a prioridade 102, caso c ontrário
c ontinuará exec utando a prioridade seguinte a número 2. 4.3.2 Prioridade next
A prioridade next ou simplesmente n siginific a a prioridade anterior mais um.
exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,n,Voic eMail(u101@c orreio) exten ⇒
101,1+101,Voic eMail(b101@c orreio) exten ⇒ 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 prioridade anterior.
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@c orreio) exten ⇒
101,102,VoiceMail(b101@correio) exten ⇒ 101,s+1,Hangup() 4.3.4 Sinais numéric os e prioridades
As prioridades podem ser seguidas de um sinal ‘+’ (ou outro sinal numéric o)e um valor a ser somado. Este
rec urso é utilizável em c onjunto c om as prioridades next e same.
exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,Voic eMail(u101@c orreio) exten ⇒
101,1+101,Voic eMail(b101@c orreio) exten ⇒ 101,3,Hangup() 4.3.5 Apelidos para prioridades
As prioridades podem possuir apelidos ou alias para que possam ser referenciadas c om a aplic aç ão Goto() ou
em outras áreas do plano de disc agem..
Este apelidos devem ser especific ados entre parentesis logo após o valor da prioridade, como no exemplo
abaixo.
exten ⇒ 101,1(dial),Dial(SIP/101,10) exten ⇒ 101,2,Voic eMail(u101@c orreio) exten ⇒
101,dial+101,VoiceMail(b101@correio) exten ⇒ 101,3,Hangup() Outro exemplo:
exten ⇒ 101,1(,Dial(SIP/101,10) exten ⇒ 101,2,Voic eMail(u101@c orreio) exten ⇒
101,102,VoiceMail(b101@correio) exten ⇒ 101,n,Goto(${EXTEN},hangup) exten ⇒ 101,hangup,Hangup() 4.4
Aplicaç ões As aplic aç ões formam o c oraç ão do dialplan. Elas trazem aplic ativos pré empacotados ao plano de
discagem. As aplic aç ões são o terceiro parâmetro de uma extensão. Uma aplic ação pode rec eber parâmetros
e sua notaç ão é a seguinte: Aplic ação(parâmetro1,parâmetro2,parâmtero3) Geralmente os parâmetros são

www.asteriskbrasil.org/index.php?opti… 7/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
ou melhor, é ela que as realiza. O Dial em termos Asterísticos, c onec ta um canal(c hannel) a outro
c anal(c hannel). Um exmplo de utilizaç ão da aplic aç ão Dial pode ser visto abaixo: exten ⇒
101,10,Dial(SIP/101,10) No c aso acima a aplic ação Dial possui dois parâmetros, o primeiro espec ifica o c anal
e informaç ões necessárias para a sua utilização, o segundo parâmetro designa a duraç ão em segundos que a
aplicaç ão Dial irá tentar estabelac er o canal. Exiiste a possibilidade de um terc eiro parâmetro, c hamado de
flag. Por exemplo, a linha de exten ⇒ acima poderia estar esc rita da seguinte forma: exten ⇒
101,10,Dial(SIP/101,10,tw) Um flag é representada por uma letra do alfabeto e cada uma tem sua função.
No exemplo ac ima utilizamos as flags t e w. Veja abaio o signific ado destas e de outras flags disponíveis para
o c omando Dial. Flag Descriç ão T Permite a transferênc ia pelo orginador da c hamada t Permite a
transferênc ia pelo recebedor da c hamada W Permite a gravaç ão sob demanda do orginador da c hamada w
Permite a gravaç ão sob demanda do orginador da c hamada f forc es c allerid to be set as the extension of the
line making/redirec ting the outgoing c all. For example, some PSTNs don’t allow callerids from other extensions
than the ones that are assigned to you. d This flag trumps the ‘H’ flag and intercepts any dtmf while waiting
for the call to be answered and returns that value on the spot. This allows you to dial a 1-digit exit
extension while waiting for the c all to be answered - see also RetryDial o Restore the Asterisk v1.0 CallerId
behaviour (send the original c aller’s ID) in Asterisk v1.2 (default: send this extension’s number) r Gerar
ringtone antes mesmo de começ ar a c hamar o ramal. Usar c om c uidado. m[classe] Toc a uma música em
espera a pessoa que está c hamando um ramal. Utilizar m(c lasse da músic a em espera). Utilizar em c onjunto
c om a opç ão “r”. M(x[^argumento]) Exec utes the mac ro (x) upon c onnec t of the c all (i.e. when the c alled
party answers) h Permite o recebedor desligar uma c hamada pressionando *. H Permite o originador desligar
uma c hamada pressionando *. C Reset the CDR (Call Detail Record) for this c all. This is like using the NoCDR
c ommand. P[(x)] Usa o Privac yManager, usando “x” como valor do banco de dados.(x é opc ional) g When
the c alled party hangs up, exit to exec ute more c ommands in the current c ontext
G(c ontexto^ramal^prioridade) If the c all is answered, transfer both parties to the spec ified context and
extension. The c alling party is transferred to priority x, and the c alled party to priority x+1. This allows the
dialplan to distinguish between the c alling and c alled legs of the c all (new in v1.2). A(arquivo) Toca um
anúnc io(arquivo.gsm|.wav|.*) para o rec ebedor da chamada. D([chamado][:c hamador]) After the c alled
party answers, send digits as a DTMF stream, then connec t the c all to the originating c hannel. (You can
also use ‘w’ to produce .5 sec ond pauses.) L(x[:y][:z]) n IMPORTANTE! - Não utilize espaç os entre as flags
da aplic aç ão Dial(), pois eles não irão func ionar. - Se voc ê utilizar algumas destas flags(t, T, h, H, w, W ou
L) na aplic ação Dial() o Asterisk sempre estará no mediapath, ou seja, o parâmetro canreinvite=yes não irá
funcionar. 4.4.2 Aplic aç ão Set
A aplic ação Set tornou-se muito mais expressiva na versão Asterisk 1.2. Diversas aplic ações foram
inutilizadas pois desenvolveu-se sua análoga no formato de funç ões da aplicaç ão Set. Em versões anteriores
do Asterisk, a aplic aç ão Set foi muito utilizada para nomear variáveis(globais e de c anal). Vamos conhec er
um pouco sobre as opç ões que esta aplic aç ão fornece para a c onstruç ão de um plano de discagem. Estas
opções são três, Dec laração de Variáveis, Exec uç ão de funç ões e Interaç ão c om o AstDB(Banc o de dados
interno do Asterisk) 4.4.2.1 Dec laraç ão de variáveis
Utilizando a aplic aç ão Set, podemos declarar variáveis no sistema Asterisk. A dec laraç ão de váriáveis nas
versões anteriores do Asterisk(série 1.0) eram realizadas pela aplicaç ão SetVar. Atualmente ela foi
descontinuada em favor da aplic aç ão Set. Para dec larar uma variável de c anal(válida somente no momento
da chamada ou enquanto o c anal estiver sendo exec utado) utilize o exemplo abaixo como referência: exten
⇒ 101,1,Set(TEMPORING=30) exten ⇒ 101,2,Dial(SIP/101,${TEMPORING},tw) exten ⇒
101,3,Voic eMail(u101@c orreio) exten ⇒ 101,103,VoiceMail(b101@correio) exten ⇒ 101,4,Hangup() Após
declarar uma variável voc ê pode fazer uso dela inserindo o nome da variável entre um c ifrão e uma c have
aberta e outra c have fec hada c omo abaixo: ${TEMPORING} O Asterisk irá substituir ${TEMPORING} por 30
que neste exmplo signific a que o tempo que a aplic ação Dial irá utilizaar para c hamar o ramal 101 será de 30
segundos. Para dec larar uma variável global, ou seja, visível por todas as extensões do seu diaplan, utilize a
aplicaç ão SetGlobalVar. 4.4.2.2 Exec uç ão de funç ões
Como dito no início deste tópico, tem se migrado uma série de pequenas aplic aç ões para o formato de
função. Isto signific a que a aplic aç ão Set tem outras habilidades que não seja somente a declaração de
variáveis ela pode realizar funções antes exec utadas por aplic aç ões. As funções possuem uma sintaxe muito
semelhante a utilizada na dec laraç ão de variáveis, porém as funç ões rec ebem um argumento a mais antes do
valor declarado. Veja o exemplo abaixo: exten ⇒ s,1,Set(TIMEOUT(digit)=30) No c aso acima estamos usando
a funç ão “TIMEOUT” com o argumento “digit” para dec larar o tempo máximo entre os dígitos....... A funç ão
TIMEOUT foi c oncebida apartir de suas análogas aplicaç ões DigitTimeout, AbsoluteTimeout e
ResponseTimeout. Como na dec laraç ão de variáveis o uso de ${} também é permitido c aso queira utilizar o
valor retronado da funç ão em algum outro lugar do seu plano de disc agem. Veja o exemplo abaixo: Algumas
funções disponíveis são estas: Função Argumentos Desc riç ão TIMEOUT Digits|absolute|response CALLERID
All|Name|num|rdnis LANGUAGE CUT DB CDR MATH CHECK MD5 MD5 GROUP_COUNT DB_EXISTS
FAMILA/CHAVE Chec a se existe o PAR/CHAVE no AstDB SIP_HEADER Voc ê pode verific ar todas as funções
disponíveis exec utando show func tions na linha de c omando Asterisk. *c li> show func tions 4.4.2.3 AstDB
O AstDB é o banco de dados interno do Asterisk. Este banc o de dados não é um banc o de dados relac ional
c omo o MySQL, Orac le, PostgreSQL. O AstDB é um banc o 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 c have c om o mesmo nome.
Resursos poderosos podem ser utilizados c om o AstDB. Voc ê pode, por exemplo, desenvolver aplic aç ões(você
vai estudar sobre AGI para realizar este desenvolvimento) que inserem dados sobre a disponibilidade de uma
ramal. É c laro que o prórpio Asterisk guarda esta informação dentro do AstDB, porém você pode manipular
esta informação e forçar um status. Um exmeplo prátic o desta aploc aç cão poderia ser um recursos de Não
Perturbe, que quando o usuário digitar uma extensão o plano de disc agem aramazena um avalor de
FAMILIA/CHAVE dentro do AstDB que será c onsultado no momento de uma chamada para este ramal.
Vamos conhec er um pouc o 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 c omando do
Asterisk(*CLI) ou através de aplic aç ões que podem ser usadas em seu plano de discagem.
Para inserir dados no AstDB é nec essário utilziar a aplic aç ão Set, pois trata-se de dec laraç ão de um valor, e
ele será aramazenado dentro do banc o 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 banc o de
dados do Asterisk, é nec essário utilizar a aplic aç ão Dbdel c omo mostrado na linha abaixo.
exten ⇒ extensão,prioridade,DBdel(FAMILIA/CHAVE) Veja o exemplo real abaixo. É uma aplic ação de não
perturbe que traz ao usuário a possibilidade de indisponibilizar o seu ramal quando nec essário disc ando o
c ódigo *11 em seu telefone. O nÃo perturbe pode ser desabilitado digitando *13 no telefone. Em ambos os
c asos o plano de disc agem irá utilizar a variável interna do Asterisk CALLERIDNUM c omo valor de chave da
família NP.
[app-naoperturbe] exten ⇒ *11,1,Answer exten ⇒ *11,2,Wait(1) exten ⇒
*11,3,Set(${DB(NP/${CALLERIDNUM})=YES}) exten ⇒ *11,4,Playbac k(nao-perturbe) exten ⇒
*11,5,Playbac k(ativado) exten ⇒ *11,6,Hangup() exten ⇒ *13,1,Answer exten ⇒ *13,2,Wait(1) exten ⇒
*13,3,DBdel(NP/${CALLERIDNUM}) exten ⇒ *13,4,Playback(nao-perturbe) exten ⇒
*13,5,Playbac k(desativado) exten ⇒ *13,6,Hangup()
Recuperar, ou extrair, dados também é uma atividade trivial. Basta atribuir, também com a a aplic aç ão Set,
uma variável c om o valor do par FAMILIA/CHAVE e utiliza-la no dialplan. Veja neste exemplo como utilizar
uma entrada no AstDB.

www.asteriskbrasil.org/index.php?opti… 8/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
rec eber c hamadas, ou melhor, se ele está ou não c om o não perturbe habilitado.
No exemplo ac ima, a primeira linha da mac ro c hecagemramal rec upera o par NP/RAMAL do AstDB e atribui o
valor do par à variável NP. A aplic ação GotoIf é utilizada como fator de dec isão para enc aminhar a c hamada
ao correio de voz ou então, c aso o não perturbe esta desabilitado, para a mac ro c hamaramal c om o número
de ramal c omo argumento.
4.4.3 Goto, GotoIf, GotoIfTime
4.4.4 Aplic ação Mac ro
4.4.5 Aplic ação Voic eMail – O famoso Correio de Voz
A aplic ação Voic email, c omo voc ê pode c oncluir, é utilizada para acionar o sistema de Correio de Voz do
Asterisk. Com esta aplic ação é possível que voc ê defina uma condiç ão(oc upado ou indisponível) para que
você envie a c hamada para o sistema de Correio de Voz.
Por exemplo, imagine que voc ê está no telefone ou não está em sua mesa e uma c hamada c hega ao seu
ramal. Este é o momemtno ideal para se utilizar a aplic aç ão Voic eMail no seu plano de disc agem.
A sintaxe para utilização da aplic açc ão Voic eMail é esta:
VoiceMail(opçõesramal@c ontexto) Na sintaxe ac ima o parametro opç ões esta c olado ao parâmetro ramal. É
exatamente desta forma que devemos utilizar esta sintaxe.
Para enviar para várias c aixas de c orreio ao mesmo tempo:
VoiceMail(opçõesramal01@c ontexto01&ramal02@c ontexto02) Estas são as opç ões disponíveis para a
aplicaç ão Voic eMail.
Opção Desc riç ão s SEM esta opç ão uma mensagem irá ser tocada. A mensagem padrÃo do sistema é “Deixe
sua mensagem a pós o sinal, quando terminar desligue ou pressione quadrado. Se voc ê usar esta opç ão esta
mensagem NÃO será toc ada. u Se voc ê utilizar esta opç ão uma mensagem de INDISPONÍVEL será toc ada. A
mensagem padrão, se o usuário não gravar a sua, é “A pessoa no ramal XXX não está disponível” e na
sequência “Deixe sua mensagem após o sinal, quando terminar desligue ou pressione quadrado”. b Se voc ê
utilizar esta opç ão uma mensagem de OCUPADO será toc ada. A mensagem padrão, se o usuário não gravar a
sua, é “A pessoa no ramal XXX não está disponível” e na sequênc ia “Deixe sua mensagem após o sinal,
quando terminar desligue ou pressione quadrado”. su Se voc ê utilizar esta opç ão uma mensagem de
INDISPONÍVEL será toc ada. A mensagem padrão, se o usuário não gravar a sua, é “A pessoa no ramal XXX
não está disponível”. A mensagem com instruç ões será desc artada. sb Se voc ê utilizar esta opç ão uma
mensagem de OCUPADO será toc ada. A mensagem padrão, se o usuário não gravar a sua, é “A pessoa no
ramal XXX não está disponível”. A mensagem c om instruç ões será desc artada. Veja o exemplo do plano de
discagem abaixo:
4.4.5.1 Armazenamento de mensagens
As mensagens do c orreio de voz ficam armazenadas no seguinte diretório:
/var/spool/asterisk/voic email/contexto/ramal/INBOX Onde c ontexto é o nome do c ontexto onde se encontra
as informaç ões do c orreio e ramal o prórpio ramal(usuário) em questão. 4.4.5.2 Configuração das caixas de
c orreio de voz
O sistema de c orreio de voz é c onfigurado e armazena as c aixas de c orreio no arquivo
/etc/asterisk/voicemail.c onf. Veja a sintaxe do /etc /asterisk/voic email.conf abaixo: [general] parametro01 =
valor01 parametro02 = valor02 ... [zonemessages] eastern=America/New_York|’vm-rec eived’ Q ‘digits/at’ IMp
c entral=Americ a/Chic ago|’vm-rec eived’ Q ‘digits/at’ IMp central24=Americ a/Chic ago|’vm-rec eived’ q
‘digits/at’ H N ‘hours’ military=Zulu|’vm-rec eived’ q ‘digits/at’ H N ‘hours’ ‘phonetic/z_p’ COLOCAR O PADRÃO
DO BRASIL [default] parametro01 = valor01 parametro02 = valor02 ... 9999 ⇒ 2006,Ronaldinho
Gaúc ho,ronaldinho@brasil.c om.br 1111 ⇒
1010,Dida,dida@brasil.c om.br,,attach=no|serveremail=smtp.brasil.com.br|maxmsg=10 Debaixo do contexto
[general] inserimos os parâmetros que serão válidos para todas as c aixas de c orreio c riada no sistema.
Parâmetros específic os ficam abaixo dos c ontexto das c aixas de c orreio, por exemplo [default]. Este é o
formato para c riar uma c aixa de c orreio no Asterisk:
número_ramal⇒senha_c orreio,nome_c ompleto_usuario,email,email_pager,opcao1|opcao2|opc ao3 Conheç a as
opções disponíveis para as c aixas de c orreio do Asterisk: Parametro Argumentos Desc riç ão format
wav49|gsm|wav Formatos para armazenamento dos arquivos de mensagens do correio de voz. Mais de um
formato pode ser espec ificado utilizando o carac tere ‘|’ .[15] serveremail email Email remetente das
notific ações do correio de voz enviadas aos usuários. attac h Yes|no Anexar as mensagens no email de
notific ação. maxmsg nümero inteiro Número máximo de mensagens por caixa de correio. Valor default é 100.
maxmessage tempo em segundos Tamanho máximo de uma mensagem em segundos. minmessage tempo em
segundos Tamanho mínimo, em segundos, de uma mensagem para ser armazenada pelo sistema. Default é 0.
maxgreet tempo em segundos Tamanho máximo, em segundos, das mensagens de rec epção(oc upado,
indisponível e o nome do usuário). skipms tempo em milisegundos Tempo, em milisedgundos, para os saltos de
rew e ff no playbac k de mensagens. maxsilenc e tempo em segundos Tempo, em segundos, de silênc io para
que o sistemaa enc erre a gravaç ão de uma mensagem. 4.4.5.3 Notas importantes sobre a aplic aç ão
VoiceMail()
O arquivo /etc /asterisk/voic email.c onf não ac eita #inc lude pois o Asterisk ac essa esta arquivo para fazer
alteraç ão de senhas.
Não utiilize comentários(espec ialmente os que c ontenham o c arac tere “[“, pois a aplic aç ão Voic eMailMain,
que faz a autentic aç ão do usuário, não é muito inteligente no parsing do arquivo
/etc/asterisk/voicemail.c onf.
As caixas de c orreio não podem c omeç ar c om as letras ‘s’, ‘u’, ‘b’ ou uma c ombinaç ão delas. Isso se deve as
opções da aplic ação Voic eMail().
Apartir do momento em que uma c aixa de c orreio já está operando(c ontém mensagens). Não é possível
alterar os formatos de áudio. Isso irá ocasionar problemas no playbac k das mensagens do c orreio de voz.
4.4.5.4 Aplicaç ões c omplementares ao Correio de Voz
VoiceMailMain()
Disponibiliza ac esso ao sistema de Correio de Voz do Asterisk. É c om esta aplic ação que posssibilitamos o
ac esso as mensagens e informaç ões pessoais dos usuários de um servidor Asterisk.
Ac essando esta aplic aç ão o usuário será servido c om o seguinte menu:
Digite 1. Ler as mensagens do c orreio 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

www.asteriskbrasil.org/index.php?opti… 9/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
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 HasNewVoic email()


HasVoic email()
MailBoxExists()
We will use the GoToIf applic ation to determine the dial status of the call. For the purpose we need also the
variable ${DIALSTATUS}. The first extension after the one with Dial applic ation, will c heck whether the
c alled person is available. If the person is unavailable, then the exec ution will c ontinue with the extension
with priority 7. This extension contains the Voic eMail applic ation. In its brackets we have set the following:
uanatoliy@testmail. The first letter - u means that a message for an unavailable c ondition has to be played.
The message by default is: The person at extension is unavailable”. The word anatoliy is for the mailbox
which we have set in the voic email.c onf. The last part is @testmail. This shows the c ontext in
voicemail.c onf, in which the mailbox anatoliy is configured. So, the c aller will hear a message and he/she will
be allowed to record a message and to store it in the mailbox of anatoliy. The message will be stored in the
direc tory /var/spool/asterisk/voic email/testmail/anatoliy/INBOX. In order to send the message in the mailbox,
the c aller has to hang up the line or to press the pound key(#), when he/she finishes with the recording of
the message. If the GoToIf c hec k show that the user is available, then the next applic ation with priority 4
will be exec uted. This one will c heck, whether the line is busy or not. If the line is busy, then the execution
will c ontinue with the extension with priority 9. This extension c ontains again the Voic eMail applic ation. In its
brackets we have set the following: banatoliy@testmail. The first letter - b means that a message for busy
c ondition has to be played. The message by default is: The person at extension is on the phone. The word
anatoliy is for the mailbox which we have set in the voic email.c onf. The last part is @testmail. This shows
the c ontext in voic email.c onf, in whic h the mailbox anatoliy is c onfigured. The c aller will hear the message,
that the c alled person is busy and he/she will be allowed to rec ord a message and to store it in the mailbox
of anatoliy. The message will be stored in the direc tory
/var/spool/asterisk/voic email/testmail/anatoliy/INBOX. In order to send the message in the mailbox, the c aller
has to hang up the line or to press the pound key(#), when he/she finishes with the rec ording of the
message. Now, if the user is available and the line is free and the called person does not answer within 5
sec onds, the next exec uted extension will be the one with priority 5. This one c ontains another c opy of the
VoiceMail applic ation. As arguments in its brac kets we have set the following: anatoliy@testmail. There is no
first letter whic h means that a message with instruc tions has to be played. The message by default is:
Please leave your message after the tone. When done, hang up, or press the pound key. The word anatoliy
is for the mailbox which we have set in the voic email.c onf. The last part is @testmail. This shows the
c ontext in voic email.conf, in whic h the mailbox anatoliy is c onfigured. Again the user will be allowed to rec ord
a message after the signal. The message will be stored in the directory
/var/spool/asterisk/voic email/testmail/anatoliy/INBOX. In order to send the message in the mailbox, the c aller
has to hang up the line or to press the pound key(#), when he/she finishes with the rec ording of the
message. NOTE: Please, pay attention that between the option flags and the voic email number there is no
separator. That is why the voicemails cannot start with “s”, “u”, “b” or any c ombination of these three
letters. Maybe you have notic ed that between the extensions with priority 5, 7 and 9, we have extensions
with the GoTo applic ation. It cause the jumping to the last extension with priority 10 whic h has the Hangup
applic ation. Thanks to it the line will be hung up. This is nec essary, because otherwise the three Voic eMail
applic ation will be exec uted subsequently. In this way the effec t from the GoToIf applic ations will be lost.
Aplicaç ões c omplementares:
4.4.6 MeetMe
4.4.7 Queue
A aplic ação Queue é utilizada para “enfileirar” c hamadas. Este tipo de aplic aç ão é geralmente(na verdade
não c onheç o outra aplic ação para ela) utilizada em filas de atendimento de Call Centers Passivos[16]
Conhec ida também c omo DAC(Distribuidor Automátic o de Chamadas) a aplicaç ão Queue distribui c hamadas
entrantes, em ordem de c hegada, para o primeiro agente[17] disponível. O sistema atende imediatamente as
c hamdas e, se nec essário, envia o c hamador para uma fila até que ele possa ser redirec ionado ao próximo
agente disponível. Balanc eando as c hamdas entre os agentes irá assegurar que todos os c hamadores irão
rec eber um bom atendimento.
O Asterisk suporta múltiplas filas de atendimentos e elas podem ser c onfiguradas no arquivo
/etc/asterisk/queues.conf e referenc iadas c omo argumento da aplicaç ão Queue no seu plano de disc agem.
Os agentes são definidos no arquivo /etc /asterisk/agents.c onf.
Sintaxe da aplic ação Queue()
Esta é a sintaxe para utilizaç ão da aplicaç ão Queue:
exten ⇒ extensão,prioridade,Queue(nome|opç ões| URL_opc ional|sobrepor_anuncio|timeout) nome: Fila c riada
no arquivo /etc /asterisk/queues.c onf opç ões: ‘t’ — allow the called user transfer the c alling user ‘T’ — to
allow the c alling user to transfer the c all.

'd' — data-quality (modem) call (minimum delay).


'H' — permite ao chamador desligar pressionando '*'.
'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 rec urso. sobrepor_anunc io: Sobrepõe o
anúnc io
Configuraç ão de filas de atendimento
O arquivo responsável pela c onfiguraç ão de filas de atendimento no Asterisk é o /etc/asterisk/queues.conf.
Veja abaixo a sua sintaxe.
[general] parametro-geral01 = valor01 parametro-geral02 = valor02 ... parametro-geral03 = valor03 [fila01]
parametro01 = valor01 parametro02 = valor02 ... parametro03 = valor03 member ⇒ Zap/1 member ⇒ Zap/2
member ⇒ Agent/1001 member ⇒ Agent/1002 ;Cada membro(member) é listado em uma linha individual.
[fila02] parametro01 = valor01 parametro02 = valor02 ... parametro03 = valor03 member ⇒ Agent/@1
member ⇒ Agent/1:1,1 ; Usar grupos de agentes, c omo no exemplo da fila02, irá desabilitar as estratégias
de busc a de agentes(roudrobin, leastrecent, etc.) Parâmetros de configuração de filas de atendimento
Conheç a os parâmetros disponíveis para filas de atendimento. Estes parâmetros podem ser espec ific ados
para uma fila espec ífica ou para todoas as filas do sistema, para isto basta inserir o parâmetro desejado nop
c ontexto [general] do seu arquivo de c onfiguraç ão.. Parâmetros valores Desc riç ão periodic -announc e
arquivo_de_audio Mensagem periodic a enviada enquanto o c hamador aguarda atendimento periodic-
announce-frequenc y número inteiro Tempo em segundo s de frequenc ia da mensagem periódica weight
número inteiro Número inteiro que define o peso da Fila. Números maiores terão maior prioridade de
atendimento pelos agentes. monitor-format gsm|wav|wav49 Para gravar as c hamdas que forem atendidas na
fila. *Somente depois do atendimento* announc e-frequenc y núemero inteiro Frequenc ia em segundos de
anúnc io ao chamadro sobre sua posiç ão na fila e/ou o tempo médio de atendimento. Use o valor ‘0’ para
desabilitar esta funç ão. announc e-holdtime yes|no|onc e Devemos inc luir o tempo médio de atendimento no
anúnc io de posiç ões na fila? *Se o tempo for menor que 1 min. não irá anunc iar* queue-youarenext queue-
youarenext Arquivos de áudio para anúnc ios de posição na fila e/ou tempo de atendimento médio. Altere
somente se nÃo quiser utilizar os valores padrões. queue-thereare queue-thereare queue-c allswaiting queue-

www.asteriskbrasil.org/index.php?opti… 10/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
toc ada segundos amntes de o agente atender a c hamda. Usado para diferenc iar para o agente em que fila
ele está atendendo a c hamada. strategy ringall|roundrobin|leastrecent|fewestc alls|random|rrmemory
Estratégia de distribuiç ão de c hamadas aos atendentes. Veja detalhes obre c ada tipo ainda neste c apítulo.
Ringall é a default. servic elevel número inteiro Tempo em segundo do nível ac eitável de serviço. Para gerar
estatístic as de nível de serviç o(SLA[18]). c ontext c ontexto Contexto do plano de disc agem que o c hamador
tem ac esso enquanto aguarda atendimento. timeout número inteiro Tempo em segundos que consideramos a
indisponibilidade de um agente. retry número inteiro Tempo em segundos para aguardar antes de tentar
ac essar todos os agentes novamente. maxlen número inteiro Número máximo de pessoas que podem
aguardar na mesma fila. announc e-round-sec onds número inteiro Arredondamento dos segundos no anúnc io
do tempo. monitor-join yes|no Para unir os dois áudios(IN e OUT) quando se está gravando uma
c onversaç ão joinempty yes|no|strict yes(c hamadores podem entrar em uma fila sem membros ou somente
c om memebros indisponíveis)
no (c hamadores não podem acessar filas sem membros)
strict(c hamadores não podem ac essar filas sem membros ou c om membros indisponíveis) leavewhenempty
yes|no|stric t Para eliminar c hamadores que já estão na fila. Mesmas opç ões de joinempty. eventwhencalled
yes|no Setado para yes irá gerar alguns eventos de gerênc ia(AgentCalled, AgentDump, AgentConnec t,
AgentComplete) eventmemberstatusoff yes|no Setado para no irá gerar o seguinte evento de
gerênc ia(QueueMemberStatus) reportholdtime yes|no Se voc ê quiser reportar ao agente o tempo de espera
do chamador antes de atende-lo. Uma fila é c onsiderada vazia quando não possuir membros ou se nenhum
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 c aso nada seja especific ado.
Irá chamar todos os agentes ao mesmo tempo. Uma chamada entra e todos os agentes são ac ionados,
porém quem atender antes irá “ganhar” a c hamada.
Roundrobin:
A estratégia roundrobin nao pode ser c onfundida c om a distribuiç ão c ircular de chamadas, veja c omo este
método trabalha.
O roundrobin lembra o último agente para quem ele _inic iou_ o envio da última c hamada e inicia as tentativas
subsequentes apartir do próximo agente. Se voc ê tiver três agentes, e a primeira c hamada seguir a ordem
1→2→3, a próxima c hamada irá 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 c irc ular de c hamadas atribuindo
penalidades aos agentes. O Asterisk irá sempre inic iar a busc a por agentes sem penalidades depois aos
agentes c om penalidade 1 e assim por diante.
Rrmemory:
Este método lembra da último agente que ele tentou _c hamar_, independente por quem ele inic iou, enviando
a próxima c hamada para o agente seguinte ao que atendeu a última c hamada, Se voc ê tiver três agente e a
primeira c hamada seguir a rodem 1→2(e a c hamada é atendida), então a próxima c hamada irá seguir a ordem
3→1(e é atendida), a próxima irá seguir a ordem 2→3→1, e asssim por diante.
Se a primeira c hamada, 1→2, estivesse em modo Roundrobin e ela fosse atendida, a segunda c hamada iria
c omeç ar pelo agente 2 novamente.
Fewestcalls:
Irá inic iar a busc a pelos agentes que tem o menor número de chamadas atendidas.
Random:
Faz uma busca aleatória independente de uma regra espec ífic a.
Leastrecent:
Irá inic iar a busc a pelo agente que foi chamado menos recentemente pela fila em questão.
Configuraç ão de agentes
Assim em c omo a maioria dos arquivos de c onfiguraç ão do Asterisk, o /etc /asterisk/agents.c onf possui uma
seç ão geral([general]) e uma específic a para agentes([agents]), como mostrado abaixo:
[general] parametro-geral01 = valor01 parametro-geral02 = valor02 ... parametro-geral03 = valor03 [agents]
parametro01 = valor01 parametro02 = valor02 ... group=1 ; agent ⇒ agentid,agentpassword,name agent ⇒
1001,4321,Silvio Santos agent ⇒ 1002,4321,Fausto Silve group=2 agent ⇒ 1003,4321,Didi Moc ó agent ⇒
1004,4321,João Cleber Parâmetros de configuração de agentes
Estes são os parâmetros disponíveis para os agentes de uma fila de atendimento. Somente um parâmetro
pode ser espec ificado no contexto [general].
Parâmetros valores Desc rição persistentagents yes|no Únic o parâmterro disponível no c ontexto [general].
Define se o login do agente fic ará ou não armazenado no AstDB. Isso tem impac to após um reload do
Asterisk. autologoff número inteiro Tempo em segundos para deslogar um agente da fila. Valor default é 15.
ac kall yes|no Se o agente logou usando a aplic ação AgentCallbac kLogin e esta opç ão estiver setada para
yes, o Asterisk irá aguardar uma c onfirmaç ão de login(tecla #) antes de disponibilizar este agente na fila.
wrapuptime número inteiro Tempo em milisegundos que o agente irá ter de desc anso antes de rec eber outra
c hamada. O default é 5000 ms. music onhold nome da c lasse Define a nome da classe da música em espera
para tocar aos agentes. O valor padrão é a classe default. updatecdr yes|no Define se irá alterar o c anal de
origem no CDR para o número do agente. Default é no. Se estiver setado para yes ele irá adicionar o nome
do agente no CDR e não o número do ramal em que ele se encontra. recordagentc alls yes|no Grava ou não
as chamadas atendidas pelos agentes. rec ordformat wav|gsm|wav49 Formato do arquivo de áudio das
gravaç ões de c hamadas dos agentes. Padrão é wav. c reatelink yes|no Adiciona no userfield do CDR um link
para ac essar gravaç ão da c hamada. urlprefix http://server.ip/diretorio/ [http://server.ip/diretorio/] Adic iona
um prefixo no link para o audio de uma chamada gravada. savec allsin /diretorio/de/gravacoes Diretorio para
aramazenar as gravações de chamdas dos agentes. Padrão é /var/spool/asterisk/monitor c ustom_beep
arquivo de audio Com esta opção voc ê pode espec ificar um beep diferente para os agentes c onectados
Exemplo de arquivo /etc /asterisk/agents.c onf
[general] persistentagents=yes [agents] autologoff=15 ackc all=no wrapuptime=5000 music onhold ⇒ default
rec ordagentcalls=yes rec ordformat=gsm group=1 agent ⇒ 101,101,user1 agent ⇒ 102,102,user2 agent ⇒
103,103,user3 group=2 agent ⇒ 8889,8889,operador 1 agent ⇒ 8888,8888,ivan group=3 agent ⇒
8887,8887,operador 2 4.5 AGI 4.6 Operadores 4.6.1 Operadores Booleanos
4.6.2 Operadores Matemátic os
4.7 Exemplos c ompletos de dialplan 5 Gerenciando o Asterisk 5.1 Gerenciamento de ramais sip show peers
zap show c hannels
5.2 Gerenc iamento de tronc os sip show users
zap show c hannels
show c hannels verbose
5.3 CDR Call detail record.
5.4 Troubleshooting 5.4.1 Logging
/etc/asterisk/logger.conf
/var/spool/asterisk/debug

www.asteriskbrasil.org/index.php?opti… 11/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
MG2
aggressive Supression
5.4.3 Picotamento
Banda de rede
Latênc ia
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 todos os
c ódigos.são 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 c lasse de c ódigos, 6xx.
1xx: Provisional — request rec eived, c ontinuing to proc ess the request;
Provisional responses, also known as informational responses, indicate that the server c ontacted is
performing some further action and does not yet have a definitive response. A server sends a 1xx response if
it expec ts to take more than 200 ms to obtain a final response. Note that 1xx responses are not transmitted
reliably. They never cause the c lient to send an ACK. Provisional (1xx) responses MAY c ontain message
bodies, inc luding session desc riptions.
2xx: Succ ess — the ac tion was succ essfully rec eived, understood, and ac cepted;
3xx: Redirec tion — further ac tion needs to be taken in order to c omplete the request;
4xx: Client Error — the request c ontains bad syntax or c annot 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 c odes, class 1: Provisional messages
These are sent within a SIP dialogue
100 Trying
180 Ringing
181 Call Is Being Forwarded
182 Queued
183 Session Progress
SIP Response c odes: 2xx class
The 2xx c lass of responses indic ates a suc c ess
200 OK
202 ac c epted: Used for referrals
SIP response c odes, class 3xx
The 3xx c lass of responses indic ates a redirec tion of the call
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
305 Use Proxy
380 Alternative Service
SIP responses, c lass 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 Ac c eptable
407 Proxy Authentic ation Required
408 Request Timeout: Couldn’t find the user in time
410 Gone: The user existed onc e, but is not available here any more.
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Unsupported URI Sc heme
420 Bad Extension: Bad SIP Protoc ol Extension used, not understood by the server
421 Extension Required
423 Interval Too Brief
480 Temporarily Unavailable
481 Call/Transac tion Does Not Exist
482 Loop Detec ted
483 Too Many Hops
484 Address Inc omplete
485 Ambiguous
486 Busy Here
487 Request Terminated
488 Not Ac c eptable Here
491 Request Pending
493 Undec ipherable: Could not dec rypt S/MIME body part
SIP responses, c lass 5: Server failures
500 Server Internal Error
501 Not Implemented: The SIP request method is not implemented here
502 Bad Gateway
503 Servic e Unavailable

www.asteriskbrasil.org/index.php?opti… 12/13
12/9/2010 AsteriskBrasil.org - A comunidade bras…
600 Busy Everywhere
603 Decline
604 Does Not Exist Anywhere
606 Not Ac c eptable
5.5 Bac kup O que c opiar...
5.6 Tunning
5.7 Segurança
5.8 Sistemas distribuídos e alta disponibilidade 6 Dic as e Truques I. Índic e c om todas as aplic aç ões
disponíveis na série 1.4 do Asterisk II. Índic e c om todas as variáveis internas do Asterisk III. Siglas e
Dic ionário
[1] Agênc ia Nac ional de Telec omunic aç ões - http://www.anatel.gov.br [http://ww w .anatel.gov.br] [2]
Internet Protoc ol – O protoc olo da Internet. [3] ARPANET – DEFINICAO [4] Uma lista c ompleta de CODECs
utilizados pelos Asterisk , voc ê encontra no c apítulo 2 deste livro. [5] Lista de desenvolvedores do Asterisk -
htttp://lists.digium.c om.br/asterisk-devel [6] Linux Standard Base – http://www.lsb.org [http://w ww .lsb.org]
[7] Asterisk Gateway Interfac e - Voc ê pode enc ontrar mais detalhes sobre o que é AGI no c apítulo deste
livro. [8] Saiba mais sobre o logger.c onf no capítulo 6 deste livro. [9] Tipos de mídia podem ser enc ontrados
neste link: http://www.iana.org/assignments/media-types/ [http://ww w.iana.org/assignments/media-types/]
[10] Unicall – Mais informaç ões sobre este tipo de c anal voc ê enc ontra em http://www.soft-
switc h.org/unic all [http://ww w .soft-sw itch.org/unicall] [11] Public Switc hed Telephony Network [12]
http://www.zapatatelephony.org [http://w w w.zapatatelephony.org] [13] Veja mais sobre transc oding no
c apítulo 5 deste livro(Gerenc iando o Asterisk) [14] Lembre-se, o arquivo /etc /zaptel.c onf não faz parte do
projeto Asterisk e sim do projeto Zapata Telephony – http://www.zapatatelephony.org
[http://ww w .zapatatelephony.org] [15] Apartir do momento em que uma c aixa de c orreio já está
operando(c ontém mensagens). Não é possível alterar os formatos de áudio. Isso irá oc asionar problemas no
playbac k das mensagens do c orreio de voz. [16] Call Center Passivo é aquele que somente rec ebe c hamdas.,
não origina(Call Center Ativo) [17] Agentes também são conhec idos c omo PAs, ou Postos de Atendimento.
[18] Servic e Level Agreement

apos tila_as teris k.txt (1 29 4 views ) · M odificado em: 2 9/0 4 /2 01 0 22 :4 8 por denis

www.asteriskbrasil.org/index.php?opti… 13/13