AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 1 de 22
pesqu
HOME
WIKI
LISTAS
NOT
CIAS
GALERIA
CONTATO
PABX Siemens e Intelbras
Download Google Chrome
Álbum De Foto
www.phonelink.com.br
Google.com/Chrome
PeixeUrbano.com.br/Cadastre-se
à partir R$ 399,00(boleto e cartão) preço bom e condição(41) 3605-0948
O navegador rápido da internet para quem adora tecnologia. Baixe!
Confira os Descontos de Hoje Aproveite o Melhor da Sua Cid
Não diga alô, diga Asterisk! Apostila AsteriskBrasil.org CAPA: Vários telefones fazendo um papel asterisco vazado em branco ou o inverso. Índice de Capítulos 1 Sou alienígena, aliení gena, fale sobre Telefonia...................................... Telefonia..................................................................... ............................................ ............. telefonia................................................................. telefonia.................................. .............................................................. ..................................... ...... 4 1.2.A evolu tendências........................................................................... tendências......................................... ............................................... ............. 6 1.1.1 Telefonia Analógica........................................................................ Analógica.......................................... ............................................................. ...................................... ....... 7 1.1.2 Digital................................................................ Digital............................... ................................................................ ..................................................... ...................... 7 1.1 IP.............................................................. IP.................................. ................................................................. ............................................................... .......................... 7 1. IP.............................................................. IP.................................. ................................................................ .................................... 8 1.1.5 Telefonia T elefonia Móvel................................................................ Móvel................................. ................................................................ ...................................................... ..................... 8 2 C Asterisk......................................................................... Asterisk.......................................... .............................................................. ..................................... ...... 9 2.1 Qu Como?................................................................ Como?................................. ...................................................... ....................... 9 2.1.1 O que é o Asterisk?........................................................................... Asterisk?.......................................... ................................................................ .................................... ..... 9 2.1.2 desenvolvimento do Asterisk.......................................... Asterisk................................................................... ......................... 9 2.1.3 Participe também!..................................................................... também!...................................... .............................................................. .......................................... ........... 10 2.2 Asterisk......................................................................... Asterisk.......................................... .......................................... ........... 10 2.2.1 Diretórios e arquivos.......................................................................... arquivos........................................... .............................................................. ................................. 10 2.2.2 O servidor...................................................................... servidor....................................... .............................................................. ..................................................... ...................... Codecs e Protocolos................................. Protocolos................................................................... .................................... .. 12 2.2.3.1 Telefonia IP.............................................................. IP.................................. ................................................................. ......................................................... .................... 12 2.2.3 Digital................................................................ Digital............................... ................................................................ ............................................... ................ 13 2.2.3. Analógica........................................................................ Analógica.......................................... ............................................................. ................................. .. 13 2.2.3.4 CODECs..................................................................... CODECs........................................ ............................................................ ...................................................... ....................... (channels).................................................................................... (channels).................................................. ....................................................... ..................... 13 2.2.4. (chan_sip.so)............................................................................... (chan_sip.so).......................................... ...................................................... ................. 13 2.2.4.2 C (chan_iax2.so).................................................................................. (chan_iax2.so)............................................. .................................................. ............. 17 2.2.4.3 C (chan_local.so).................................................................................. (chan_local.so).............................................. ........................................... ....... 18 2.2.4.4 Canal (chan_zap.so )................................ )................................................................ ............................................................ .............................. 18 2.2.4.5 Ca (chan_unicall.so)................................................................................... (chan_unicall.so)........................................................ ........................... 18 2.2.5 Equipame Equipam e periféricos...................................................................... periféricos....................................... .......................................................... ........................... 19 2.2.5.1 Plac P lac analógicas......................................................................... analógicas......................................... ................................................ ................ 19 2.2.5.2 Telefones.................................................................. Telefones................................... .............................................................. ....................................................... ........................ ATAs...................................................................... ATAs....................................... .............................................................. ......................................................... .......................... Softphones.................................................................... Softphones....................................... ........................................................... ................................................... ..................... Outros................................................................... Outros...................................... ............................................................ .......................................................... ........................... adicional e Downloads................................. Downloads...................................................................... ........................................... ...... 21 3 Configurações Configuraçõe s Asterisk......................................................................... Asterisk.......................................... ............................................. .............. 21 3.1 Inserindo os padr Brasileiro................................................................... 22 3.2 Adicionando a linguagem pt_B
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 2 de 22
Asterisk................................................................... 22 3.3 Criando Asterisk................................................................... Crian do ramais......................................................................... ramais.......................................... .............................................................. .............................................. ............... 23 troncos..................................................................... troncos...................................... .............................................................. ................................................. .................. 23 Realtime...................................................................... Realtime....................................... ........................................................... .................................................... ........................ Dialplan.................................................................... Dialplan..................................... .............................................................. ..................................... ...... 24 4.1 Cont (context)......................................................................... (context).......................................... .............................................................. ......................................... .......... 25 4 [general]............................................................................... [general].......................................... .................................................................... ................................. 25 4.1 [globals]..................................................................... [globals]...................................... .............................................................. .......................................... ........... 26 4.1. include........................................................................ include......................................... .............................................................. ...................................... ....... 27 4.1.4 contexto................................................................... contexto.................................... .................................... ..... 28 4.2 Extensões (exten)......................................................................... (exten).......................................... .............................................................. ........................................... ............ 28 4. especiais..................................................................... especiais...................................... .............................................................. ..................................... ...... 29 4.2.2 P discagem ............................... .............................................................. .............................................................. ........................................ ......... 29 4.3 Prioridades....................................................................... Prioridades........................................ .............................................................. ................................................ ................. n+101................................................................ n+101................................. ................................................................ ................................................ ............... 30 4.3.2 next.................................................................... next..................................... ............................................................. ................................................. ................... 30 4.3. same.................................................................... same...................................... ............................................................. ............................................. .............. 30 4.3.4 prioridades..................................................................... prioridades...................................... ................................................ ................. 31 4.4 Aplicações............................................................................ Aplicações......................................... .................................................................. ............................................ ............. Onde tudo começa.................................... começa....................................................................... ........................................... ........ 32 4.4.2 Aplicação Set.............................................................. Set............................... .................................................................... ......................................................... .................... 33 4.4. variáveis............................................................................ variáveis.......................................... ....................................................... ..................... 33 4.4.2.2 Execu funções...................................................................... funções....................................... .............................................................. ................................. 34 4.4.2.3 AstDB................................................................... AstDB..................................... ............................................................. ........................................................... ............................ GotoIfTime................................................................ GotoIfTime................................. .............................................................. ..................................... ...... 36 4.4.4 Apl Macro................................................................... Macro.................................... ............................................................. ............................................... ................. 36 4.4. famoso Correio de Voz.............................. Voz.......................................................... ............................ 36 4.4.5.1 Armazenamento de mensagens............................................................................. mensagens.......................................... ........................................ ..... 37 4.4.5.2 Configuração Configuraç ão voz............................................................. voz.............................. .................................. ... 38 4.4.5.3 Notas importantes sobre a aplicaçã ().................................................... 39 4.4.5.4 Aplicações complementares ao Correio de Voz....................................................... Voz............................ ........................... 39 4.4.6 MeetMe............................................................ MeetMe............................. ................................................................. ................................................................ .............................. Queue.................................................................... Queue..................................... .............................................................. ......................................................... .......................... AGI................................................................ AGI................................. .................................................................. ................................................................. .............................. Operadores................................................................... Operadores.................................... ........................................................... ................................................... ....................... Booleanos.................................................................... Booleanos..................................... ........................................................... ................................. ..... 49 4.6.2 Ope Matemáticos......................................................................... Matemáticos........................................ .......................................................... ......................... 49 4.7 Exem E xem dialplan..................................................................... dialplan...................................... ................................................. .................. 49 5 Gerenciando Gerencian do o Asterisk......................................................................... Asterisk.......................................... .............................................................. ................................... .... 49 5.1 Ge ramais......................................................................... ramais.......................................... ......................................................... .......................... 49 5.2 Gerenciam Gerenci am troncos..................................................................... troncos...................................... ............................................................. .............................. 50 5.3 CDR................................................................ CDR.................................. ................................................................. ................................................................ ............................. Troubleshooting........................................................................... Troubleshooting......................................... ................................................................. ..................................... ...... Logging.............................................................. Logging............................... ................................................................ ............................................................. ............................ Eco................................................................ Eco................................. .................................................................. ................................................................. .............................. Picotamento......................................................................... Picotamento........................................ ................................................................ ............................................ ............. Delay.................................................................. Delay................................... .............................................................. ............................................................ ............................. SIP................................................................. SIP.................................... ............................................................... ........................................................ ...................... 50 5. Backup.......................................................................... Backup........................................... .............................................................. .................................................. ................... Tunning............................................................................... Tunning............................................ ................................................................. ............................................ .............. Segurança............................................................................ Segurança.......................................... ................................................................. ............................................ ............. distribuídos e alta al ta disponibilidade................................................................... disponibilidade................................................................... 53 6 Dicas e
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 3 de 22
Truques........................................................................................................................ 5 aplicações disponíveis na série 1.2 do Asterisk............................. 53 II.Índice com todas as va Asterisk............................................................. 53 III.Siglas e Dicionário.................................................................................................................... 53 1 Sou alienígena, fale sobre Telefonia. Entende-se por telefonia, toda e qualquer forma de trans a outro com a utilização de instrumentos amplificadores. Ou segundo o Wikipedia: INSERIR DEFIFINICAO DO WIKIPEDIA Impossível imaginar a evolução de toda a comunidade sem mencionar os devidos créditos ao po desenvolvemos de desejar comunicação a todo custo a toda hora e de várias formas. Ainda somos e seremos escravos da transmissão e recepção de informação, é fato. 1.1. Breve história da telefonia X Alexander Graham Bell Elisha Gray Nos idos de 1870, dois inventores, Elisha Gray e Alexander Graham Bell, ambos, indepedenteme que poderia transmitir a voz eletronicamente, o famoso telefone. Ambos correram pra patentear Alexander Graham Bell ganhou a corrida por questões de algumas horas. Apartir deste momento famosa sobre a invenção do telefone na qual Bell se saiu campeão. Alexander Graham Bell nasceu em 1847 em Edinburgh, Escócia. Ele mudou-se para Ontario, e e estabelecendo em Boston antes de iniciar sua carreira como inventor. Ao longo de sua vida, Bell pessoas surdas. Este interesse o levou a inventar o microfone e, em 1876, a sua “maquina elétri machine)” que hoje nós chamamos de telefone. As notícias de seu invento rapidamente se espal Europa. Em 1878, Bell realizou a primeira chamada em New Haven, Connecticut. Em 1884, cha feitas entre Boston e Nova York. Bell imaginou grandes possibilidades de uso para o seu invento, porém ele nunca imaginou que elétrica de voz pudesse também transmitir vídeo um dia. Esse dia chegou, e desde a sua morte telecomunicações tem vivenciado uma incrível revolução. Hoje pessoas que não houvem podem telefones especiais. Fibras óticas estão melhorando a qualidade e velocidade na transmissão de são capazes de deixa-lo informado e presente mesmo em locais remotos, enfim iremos abpradr benefícios que a máquina falante de Bell alavancou a toda a comunidade mundial. 1.2. A evolução e as novas tendências A busca incansável por reduções de custo, qualidade, ver facilidade e demais adjetivos tornaram possível a evolução sistemática dos meios de comunicaçã dos produtos deste crescimento. É possível estar em dois lugares ao mesmo tempo. Atualmente faz em todo momento a toda hora e em qualquer lugar. Esteja você no trem, no ônibus, no met lugares menos móveis como a sua casa, apartamento, escritório, fábrica, hotel ou motel, definiti neste mundo de circuitos e mais circuitos. Habilitar uma credencial neste mundo é tão simples q tempos remotos foi um investimento com visível participação na renda familiar, hoje é mais um ativamente na vida de crianças. LINHA DO TEMPO: FOTOS DE VÁRIOS TELEFONES: DO MAIS AN Cada país possui o seu órgão que regulamenta os meios de comunicação, em alguns lugares exi tema Telefonia. No Brasil este órgão é conhecido por ANATEL[1]. 1.1.1 Telefonia Analógica Método original inventando por diversos inventores e que encontrou seu ápice de desenvolvimen massificação durante os anos 50. Utiliza-se como meio de comunicação principalente os cabos d ainda hoje reinam nos quadros de distribuição de empresas de telefonia. 1.1.2 Telefonia Digital Telefonia multiplexada, sinais digitais, processador de sinais digitais(DSP) entram em cena para analógico, conhecido por voz, em um sinal digital. O sinal digital se distingue por identificadores momento que antecede o streaming de voz, a chamada fase de sinalização. Estes identificadore convívio de diversos outros sinais ao mesmo instante. Em suma isso é o que chamamos de multi acontecendo ao mesmo tempo e pelo mesmo meio físico.
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 4 de 22
Na Telefonia Digital comumente conhecida utiliza-se o transporte de voz sem compactação, assi digitalizada. Enviando 64Kb por segundo com 8khz e 8 bits(...detalhar khz e bit...). 1.1.3 Telefonia IP Telefonia IP é o conceito mais atual para utilização de comunicação por voz.. Como toda e qualq momentos de testes ferrenhos e provas de bala e fogo. Em determinado momento chegou-se a utilizável. Com custos ainda proibitivos para a sua massificação, a Telefonia IP criou-se em meio transporte de áudio. Backbones de grandes empresas de telefonia já cruzavam o Atlântico lançando cabos e mais cab enormes quantias de minutos de conversas, reuniões e bate-papos, todas elas utilizando o proto O protocolo IP[2] chegou para trazer mais um conceito dentro dos meios de comunicação. Sua f riqueza em controles e documentação virou uma página importante na história das telecomunica chamavam de ARPANET[3], uma rede de dessentralização de informação criada como um artifíci exército americano. A INTERNET hoje é o ponto de encontro de comunidades virtuais, Os recursos de compactação de pacotes são extremamente necessários para se transportar voz diversificada como a INTERNET. Hoje utiliza-se em quase todas as implementações de Telefonia de áudio. Os chamados CODECs são parte indispensável em uma implementação de voz sobre IP. Os algo DECodificação utilizam-se de funções matemáticas para transformar um pacote de voz com 64K exemplo, 8Kb. Cada algoritmo desse tem um nome/apelido. Alguns deles são G729a, µlaw, alaw 1.1.4 Telefonia IP x Voz sobre IP Telefonia IP e Voz Sobre IP, ou VoIP, são duas distintas classes na escala do transporte de voz. Telefonia IP envolve todos os serviços e meios de utilização de voz empacotada. Correio de voz, transferências, conferências todas elas ocorrendo no mesmo mundo IP, o uso destes infinitos re Telefonia IP. Voz sobre IP ou VoIP é ato de se transferir voz sobre um canal IP de comunicação em. Pode ser combustível ou o meio de transporte da Telefonia IP. 1.1.5 Telefonia Móvel Existem diversas formas de se comunicar de forma dinâmica, mas nenhuma delas se compara a em certa época era apenas um dos recursos disponíveis em aeronaves e foguetes hoje econtra-s na maioria deles pelo menos. A Telefonia Móvel tem sua masssificação claramente denotada pela disseminação dos famosos “ como TDMA, CDMA, GSM tomaram conta da mídia e ainda hojem permanecem fortes em um cre telecomunicações. A Telefonia Móvel tem se tornado uma parceira ideal para o crescimento da Telefonia IP. Já exis encoporando tecnologias móveis, porém este ainda é um meio menos popular de transporte de 2 Conhecendo o Asterisk O Asterisk é o canivete suiço das telecomunicações. Hoje ele faz muito plataforma de telefonia(vídeo e imagem definitivamente também). O limite é sua criatividade, le Quem? Quando? Porque? Como? O Asterisk foi criado em 1999 por Mark Spencer, fundador da L empresa que inicialmente prestava serviços de consultoria e suporte em platafromas GNU/Linux Em um determinado momento Mark encontrou-se em frente a um projeto de telefonia: A necess problema em seus atendimentos de chamados telefônicos(Help Desk). Hoje aquele seu projeto é próximas inovações do mundo Open Source após o surgimento do Linux. Batizado como Asterisk ambientes UNIX like, este software escrito originialmente em linguagem C(VERIFICAR SE É SOM território dos programas de código aberto disponíveis ao redor do globo. 2.1.1 O que é o Asteris O Asterisk é um software de PBX, ou seja, um programa de computador que possui todos os rec e faz a conexão de redes privadas de telefonia com a rede pública de telefonia. Assim como em desenvolvimento do Asterisk
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 5 de 22
O estrondoso sucesso do Asterisk teve seu início com o lançamento da primeira versão estável d Atualmente ele encontra-se na versão Asterisk 1.4. Seguindo os mesmos moldes de versioname possui um versão em desenvolvimento que tem o seu último dígito identificador um número ímp em desenvolvimento é a versão Asterisk 1.5. Em breve, quando ela estiver estabilizada e devida tornar-se Asterisk 1.6 e será divulgada comom última versão estável do sistema. Cada série(1.0 prórpio mantenedor, ou seja, cada versão lançada tem um coordenador, que irá controlar o siste Cada nova versão lançada, automaticamente encerra o desenvolvimento de uma versão antiga. versão Asterisk 1.6, o Asterisk 1.4 será descontinuado. Claro que correções de segurança e bug porém novas funcionalidades e a evolução do sistema será todo focado para a versÃo mais rece SVN para versionamento de seu código e a ferramenta Mantis para registros de bugs e requisiçã 2.1.3 Participe também! Para participar no desenvolvimento do Asterisk, você pode contribuir de diversas formas. Docum manuais, howtos, documentação de código entre outros. Projetos a para continente, país para p Para ser um desenvolvedor você precisa estar muito próximo do código do sistema e ter uma bo desejável conhecimento dos protocolos e padrões de telefonia. Como o Asterisk é distribuído sob linhas de código e reportar ao líder do projeto(o mantenedor do código da respectiva versão), el irá ou não fazer parte do sistema. É claro que antes de se aventurar é importante e determinant emails dos desenvolvedores[5]. 2.2 Arquitetura tecnológica do Asterisk Basta entender um pouc Asterisk para começar a evoluir seus conhecimentos neste software. Este capítulo irá trazer o bá mais profunda neste sistema. INSERIR IMAGEM DESCRITIVA DO ASTERISK 2.2.1 Diretórios e ar O Asterisk segue o modelo LSB[6] de disposição de diretórios e arquivos. Veja abaixo a espinha Arquivos de configuração. Você irá conhecê-los com mais detalhes no decorrer deste livro ou ge do sistema. Ao final da compilação do Asterisk, digite “make samples”, para gerar estes arquivo configuração do Asterisk: /etc/asterisk/sip.conf [101] ;contexto type=peers ;parâmetro de confi context=ramais ;parâmetro de configuração secret=senha ;parâmetro de configuração language configuração disallow=all ;parâmetro de configuração allow=g729,alaw ;parâmetro de configura mailbox=101@correio ;parâmetro de configuração ou /etc/asterisk/extensions.conf [ramais] ;co ramais.conf ;incluir conteúdo de outro arquivo exten ⇒ 101,1,Dial(SIP/101,10) ;extensão com p 101,2,VoiceMail(u101@correio);extensão com proridade 2 Todos os arquivos seguem a notação contéudos(parâmetros, includes e extensões). Os conteúdos variam de arquivo para arquivo e al comportamento expecial como veremos nos próximos capítulos deste livro. /var/lib/asterisk/sou sistema. Mensagens e sons utilizados nas diversas aplicações do Asterisk ficam armazendas nes usando o Asterisk no Brasil, você irá precisar configurar o sistema de acordo com a linguagem P código de linguagem pt_BR onde for requisitado. Alguns subdiretórios possuem arquivos de áudi específicos. /var/lib/asterisk/sounds/digits /var/lib/asterisk/sounds/letters /var/lib/asterisk/soun -bin Diretório que contém as aplicações AGI[7] utilizadas pelo Asterisk. São pequenos programa Asterisk em momentos de tomada de decisões no fluxo de uma chamada ou trazendo mais recu “plugin”. /var/spool/asterisk Local para onde as chamadas são enviadas antes de chegar ao seu são enfileiradas e saem uma a uma aos seus destinos. É aqui que também ficam as caixas posta sistema. /usr/lib/asterisk/modules O código do Asterisk é todo moduarizado, ou seja, você pode sistema de acordo com suas necessidades. Os arquivos neste diretório tem aseguinte nomenclat channel_zap.so) Alguns módulos bastante comuns em um sistema Asterisk são: format_g729.so chan_sip.so Suporte ao protocolo SIP de comunicação IP app_voicemail.so Módulo que controla app_meetme.so Módulo que gerencia as conferências /var/log/asterisk Arquivos de log so sistem encontra os arquivos que contém os “rastros” de atividade do Asterisk. Você pode possuir difere nível de detelhamento ou tipo de mensagem. O arquivo que controla o seu conteúdo é o /etc/as servidor O Asterisk possui versões que podem ser ujtilizadas em FreeBSD, MacOSX, Linux dentre outros operacionais. A versão mais utilizada e melhor documentada e testada é a versão para o sistem indicado para utilização do Asterisk varia de acordo com a sua utilização. Você deve dimensionar quantidade de ramais/troncos e/ou nas aplicações a serem utilizadas em sua implementação. Ex
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 6 de 22
Exemplo de maquina para Empresa Media Exemplo de maquina para Empresa Grande 2.2.3 Sop Protocolos Os protocolos de comunicação das mais variadas implementações de comunicação bem como os decodificação serão apresentados neste item. Estaremos abordando aqui somente aqueles supor Telefonia IP - IP (Internet Protocol) O protocolo base da rede Internet e de redes privadas. - TCP (Transport transporte de dados em redes IP com controle de entrega de pacotes. - UDP (...) Protocolo de tr sem controle de entrega de pacotes. - SIP (Session Initiation Protocol) Protocolo de transporte d dados IP. O SIP é o protocolo mais utilizado nas implementações atuais de transporte de voz. Se implementação tornaram este protocolo um padrão presente em todos(ou na grande maioria) os telefonia IP. - H323 (...) O H323 .... 2.2.3.2 Telefonia Digital - MFCR2 (...) Uma variante brasileira deste protocolo é MFCR2DBR - PRI Padrão de sinalização E americanos. 2.2.3.3 Telefonia Analógica - FXS (Foreign eXchange Station) Sinalização enviada para telefones analógicos. - FXO (Foreign enviada para troncos analógicos 2.2.3.4 CODECs - G729 - G723 - G726 - iLBC - Speex 2.2.4 Os Canais(channels) Os canais são os responsáveis pela comunicação entre as aplicações, ramais e troncos do Asteri envolvem chamadas, são disponibilizados por meios de canais de comunicação, os “channels” do CANAIS E O ASTERISK O Asterisk possui diversos tipos de canais. Os tipos de canais possíveis s (chan_sip.so) Este canal é reponsável pela comunicação SIP entre o Asterisk e ramais ou troncos que falem es configurado através do arquivo /etc/asterisk/sip.conf Os parâmetros de configuração SIP para o Parâmetros Valores Descrição disallow all|lista de codecs disallow=all Desabilita todos os codecs. Habilita todos(all) ou os codecs especificados e espaçados por vírgulas por ordem de preferência especificar alguns. allowexternalinvites yes|no Permite ou não o INVITE e REFER para domínios allowguest yes|no Permite ou não chamadas não conhecidas(guest). Default é yes autocreatepe irá permitir que qualquer um se autentique ccomo peer(sem checagem de credenciais). Interess Default é no. autodomain yes|no Habilita ou não a abilidade do Asterisk inserir hosts locais ou Ip Default é no. bindaddr número ip Endereço IP onde o Asterisk irá escutar as requisições SIP. De inteiro Porta UDP onde o Asterisk irá escutar as requisições SIP. Default é 5060. callerid nome C seja especifdicado. O default é asterisk. canreinvite update|yes|no Permite que A e B trafeguem utilziar o Asterisk. Default é yes. checkmwi tempo em segundos Tempo em segundos do interval correio. Default é 10. compactheaders yes|no Se o Asterisk enviará ou não cabeçalhos compaca mensagens SIP. Default é no. context nome O contexto default. Usado quando um endpoint não defaultexpirey tempo em segundos O tempo em segundos para registros SIP(entrante/saintes). inband|info|rfc2833 Modo DTMF. Default é rfc2833. domain nome Lista de domínios, separados irá ser responsável. dumphistory yes|no Habilita o suporte de gerar um dump de conversas SIP extermip número ip ou nome Endreço IP ou nome do host que será colocado em mensagens SIP NAT. Se for usado o nome de host, ele será verificado somente uma vez. Usar externhost se o n dinâmico. externhost nome Nome do host que será colocado em mensagens SIP se o Asterisk es extermrefresh tempo em segundos Tempo em segundos que será feito um refresh do DNS do no externhost. Default é 10. ignoreregexpire yes|no Indica quando usar a informação de Contact de estiver ociosa por ter alcançado seu tempo máximo de expiração.. language nome Idioma padrã e Background() localnet endereço ip/ mascara de rede Endereço de rede local e mascara. fromd campo From: do cabeçalho SIP quando o Asterisk é um UA(User Agent). insecure very|yes|no|in SIP com peers. Default é no(autentica todas as conexões). maxexpirey tempo em segundos Tem será aguardado para registros SIP. Default é 3600. musicclass nome Uma das classes de Música sistema(musiconhold.conf) musiconhlod nome Mesmo que musicclass nat yes|no|never|route D UA esteja atrás de NAT. notifymimetype mediatype/subtype Permite sobrepor o tipo de midia[9] correio de voz. notifyringing yes|no NOTIFY no momento de ringing. Default é yes. outboundpro
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 7 de 22
para envio de chamadas saintes. Não especificar o prefixo _sip._udp em caso de DNS SRV. outb Porta UDP do proxy de chamdas saintes. pedantic yes|no Permite a checagem pedantic de calleri cabeçalhos URI codificados. port número inteiro Porta SIP do UA. Não é a mesma coisa do que bi never|no|yes Se é necessário gerar ring inband SEMPRE. Default é never/ promiscredir yes|no P 302. Irá redirecionar todos a extensão local presente no campo Contact ao invés da extensão de em milisegundos Checa se o cliente(UA) está alcançavel. Se yes irá checar a cada 2000ms. Defa realm padrão(asterisk). recordhistory yes|no Habilita o logging do histórico de transações SIP. r padrão para utilizar nas respostas SIP REGISTERs dos servidores SIP. register ⇒ :< client/peer id in sip.conf>/ Para realizar o registro SIP em outro server. registerattem tentativas de registro antes de desistir de realizar o registro. Default é 0. registertimeout tempo esperar para caracaterizar um timeout de registro. Default é 0(sem limite). relaxdtmf yes|no Rel rtautoclear yes|no|tempo em segundos Auto expirar contas criadas no realtime. Default é 120. r cache de contas SIP na lista interna do Asterisk como é feito usando os arquivos de configuraçã no. rtpholdtimeout tempo em segundos Tempo, em segundos, de timeout de uma chamada em Default é 0(ilimitado). rtpkeepalive tempo em segundos Tempo em segundos até que seja enmvi de inatividaade de um canal de voz. rtptimeout tempo em segundos Tempo em segundos até ca inativa. Default é 0(sem RTP timeout). rtupdate yes|no Envia updates de registry ao banco de d usando realtime. sendrpid yes|no Se um Remote-Party_ID do cabeçalho SIP devará ser enviado. Modo debug no início do módulo SIP. srvlookup yes|no Habilitar consultas DNS SRV. Default é n parra saída de chamdas. Valores numéricos pode ser usados como tos=184 trustrpid yes|no Se cabeçalho SIP deverá ser confiável. useclientcode yes|no useregphone yes|no Para usar user=p Customizar o cabeçalho User-Agent do protocolo SIP. Alterar a identificação do Asterisk. Default Para usar o suporte a vídeo. Default é no. vmexten nome Extenssão do dialplan para acessar o c asterisk. Parâmetros específicos para type=peer e type=user. Parâmetros Valores Descrição typ allowexternalinvites Yes|no Permite ou não o INVITE e REFER para domínios não locais. Deafult Permite ou não chamadas não conhecidas(guest). Default é yes 2.2.4.2 Canal IAX (chan_iax2.so Este canal é reponsável pela comunicação SIP entre o Asterisk e ramais ou troncos que falem es configurado através do arquivo /etc/asterisk/sip.conf Os parâmetros de configuração SIP são: Pa host=0.0.0.0 Host permitido para acesso ao sistema. peer/user disallow=all peer/user allow=g7 Canal Local (chan_local.so) Canais do tipo “Local” são utilizados para acessar recursos locais do Asterisk. Você pode por exe utilizando a seguinte notação: Local/3333 ao invés de SIP/333. 2.2.4.4 Canal ZAP (chan_zap.so Os canais ZAP são utilizados para realizar a comunicação do Asterisk com o mundo da telefonia dele que configuraremos os troncos E1(PRI), por exemplo, com uma operadora de telefonia. Ou ramais analógicos conectados diretamente ao servidor Asterisk. Para a utilização deste tipo de c placas(geralmente com barramento PCI) conectadas ao servidor Asterisk. Vamos falar um pouco mais adiante. O arquivo que configura este canal é o /etc/asterisk/zapata.conf. Veja na tabela a neste arquivo: Parâmetros Descrição language=pt_BR group=0 channels=1-4 2.2.4.5 Canal Uni O canal Unicall é disponibilizado em um projeto a parte do Asterisk. É necessário aplicar um patc de canal a um servidor Asterisk. O responsável pelo desenvolvimento deste software é Steve Underwood. Steve utiliza o apelido madrugada adentro nos canais IRC e nas listas de discussão do projeto Asterisk. O Canal Unicall tem enorme importância em território brasileiro, pois é ele o responsável pelo su sinalização de E1 CAS MFCR2DBR. O arquivo que configura este módulo é o /etc/asterisk/unicall.conf. Os parâmetros utilizados nes muito com os parâmteros utilizado no arquivo de configuração de canais ZAP. Veja na tabela ab neste arquivo: Parâmetros Descrição language=pt_BR group=0 channels=1-4 2.2.5 Equipamentos periféricos
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 8 de 22
O Asterisk, como qualquer outro ambiente de telefonia, possui apetrechos tecnológicos para disp completo de comunicação. Telefones, placas, gateways, enfim, é necessário alguns acessórios p do Asterisk. Neste capítulo iremos conhecer alguns destes acessórios. 2.2.5.1 Placas digitais e analógicas Para conectar o Asterisk às redes de telefonia convencionais(chamaremos de PSTN[11] estas re Existem diversos fabricantes de placas analógicas e digitais que possuem suporte no Asterisk. A Digium, empresa de Mark Spencer, criador do Asterisk. Abaixo vamos listar alguns fabricantes e Digium (LOGO) TE110P (FOTO DA PLACA) LISTAR TODAS AS PLACAS Sangoma LISTAR TODAS AS PLACAS Voicetronix LISTAR TODAS AS PLACAS Go Varion LISTAR TODAS AS PLACAS Digivoice LISTAR TODAS AS PLACAS Khomp LISTAR TODAS AS PLACAS Pika LISTAR TODAS AS PLACAS O projeto Zapata Telephony[12] disponibiliza sob a licença GPL um projeto para fabricação de al Asterisk até hardware utilizado pode ter especificação aberta. A maioria das placas acima são basedas no projeto Zapata Telephony e suas configurações estã arquivo /etc/zaptel.conf. 2.2.5.2 Telefones Impossível imaginar(pelo menos por enquanto) um sistema de telefonia sem telefones. Pois bem extensa de telefones suportados. Vamos comentar sobre alguns deles. Polycom FOTO Cisco FOTO Snom FOTO Analógico SIEMENS (FXS) UM BEM ANTIGO... (FXS) 2.2.5.3 ATAs Analog Telephony Adapter, este é o significado de ATA. Um ATA é utilizado para transformar um IP. Existem diversos ATAs disponíveis no mercado, basicamente a sua diferença está na quantid Existem ATAs de uma porta analógica e de até vinte e quatro portas analógicas, o que significa vinte e quatro telefones conectados no mesmo equipamento, cada qual com seu número próprio Um ATA é um gateway de pequeno porte que faz a converção de um sinal analógico para um sin Alguns ATAs estão listados abaixo. IAXy (FOTO)
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 9 de 22
Handy Tone (FOTO) Linzsys PAP2 (FOTO) 2.2.5.4 Softphones Softphones são telefones IP via software, ou seja, são telefones que podemos utilizar em um co (para nÃo dizer milhares) de opções de softwaphones disponíveis. Alguns comerciair, outros livr MacOSX, PDAs e handhelds, enfim, a oferta é grande e você saberá escolher o que melhor se ad Xten (SCREENSHOT) Firefly (SCREENSHOT) EyeBeam (SCREENSHOT) Kphone (SCREENSHOT) Ekiga (SCREENSHOT) 2.2.5.5 Outros Channels banks PABX IPBX Gateways balun A balun is a device designed to convert between bal signals, such as between coaxial cable and ladder line. Baluns can be considered as simple form transformers. 2.3 Documentação adicional e Downloads Canal Unicall – http://www.soft-switch.org/unicall [http://www.soft-switch.org/unicall] Projeto Asterisk – http://www.asterisk.org [http://www.asterisk.org] Projeto AsteriskBrasil.org – http://www.asteriskbrasil.org [http://www.asteriskbrasil.org] Biblia Sagrada do Engenheiro VoIP – http://www.voip-info.org [http://www.voip-info.org] 3 Configurações básicas do Asterisk Todas as configurações do Asterisk se encontram nos arquiv diretório /etc/asterisk. Não existe distinção no local onde se configura um ramal ou um tronco o conferência. Todos estes recursos estão presentes, muitas vezes, nos mesmos arquivos de confi dentro do mesmo arquivo, são os contextos. Antes de começar a Asteriskar é necessário fazer um preparo do seu sistema. Vamos tropicaliza ajustes. 3.1 Inserindo os padrões de telefonia Brasileiro /etc/asterisk/.indications.conf [general] country ringcadance = 1000,4000 dial = 425 busy = 425/250,0/250 ring = 425/1000,0/4000 congestion 425/250,0/250,425/750,0/250 callwaiting = 425/50,0/1000 ; Dialrecall não é utilizado no Brasil. = 350+440 ; Record não é utilizado no Brasil. Use tom de ocupado record = 425/250,0/250 ; In o padrão inglês. info = 950/330,1400/330,1800/330 3.2 Adicionando a linguagem pt_BR ao Ast O Asterisk possui um diretório onde ficam armazenados todos os áudios do sistema. A linguage áudios que acompanham o projeto estão todos gravados nesta língua. Para adicionar a linguage regravar os áudios e adiciona-los nos diretórios abaixo # mkdir /var/lib/asterisk/sounds/pt_BR # mkdir /var/lib/asterisk/sounds/digits/pt_BR # mkdir /var/lib/asterisk/sounds/letters/pt_BR # mkdir /var/lib/asterisk/sounds/phonetic/pt_BR O possuir o mesmo nome porém podem ser gravados com outros formatos de áudio. O formato pa GSM, porém para se ter maior qualidade nas locuções é interessante gravar o áudio com uma q Os áudios devem posssuir amostragem de 8Khz e qualidade de 16 bits para que se possa trafeg Observe que se um ramal, com suporte somente ao codec GSM, acessar o servidor com os áudi não GSM, o Asterisk irá realizar um processo de transcoding[13], o que irá trazer impactos de p 3.3 Criando ramais Ramal SIP: sip.conf Exemplo: Ramal Analógico(ZAP): zapata.conf Exemlo: Ramal IAX: iax.conf
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 10 de 22
Exemplo: 3.4 Criando troncos Tronco SIP: sip.conf Tronco Digital(ZAP): zapata.conf ; Note the ‘g2’ in the TRUNK variable above. It specifies which group (defined ; in zapata.conf) t choose a channel to use in ; the specified group. The four possible options are: ; ; g: select the l channel ; (aka. ascending sequential hunt group). ; G: select the highest-numbered non-busy Z sequential hunt group). ; r: use a round-robin search, starting at the next highest channel than l rotary hunt group). ; R: use a round-robin search, starting at the next lowest channel than last ; hunt group). Tronco Digital(Unicall) Tronco Analógico: zapata.conf 3.5 Realtime O Realtime é um recurso relativamente novo no Asterisk. Em suma ele permite que próprio plano de discagem do Asterisk em u m banco de dados relacional. Estas configurações, n automaticamente instanciadas no sistema, sem que haja a necessidade de se refazer uma leitur do Asterisk. Este recurso é indispensável em ambiente de alto tráfego de telefonia. Um simples reiniciar da pl ocasionar interrupação de serviços por alguns instantes, mas o sufcietnte para ser sensível aos O realtime ainda é um recurso novo no Asterisk, portanto nem tudo pode estar presente neste arquivos de configuração ainda são necessários. Use realtime sempre que possível. 4 Mergulhando no Dialplan O arquivo responsável pelo Dialplan, ou plano de discagem, do Asteri o /etc/asterisk/extensions.conf. Podemos chamar de a Peça Chave do Asterisk o arquivo extensi discagem é composto por contextos, extensões, prioridades e aplicações. Alguns contextos são r sintaxe especial. Veja a sintaxe do arquivo /etc/asterisk/extensions.conf: [general] parametro01 valor02 ... [globals] GLOBALVAR01 = valor01 GLOBALVAR02 = valor02 ... [contexto] exten ⇒ e (argumentos) Vamos analizar um pequeno trecho deste arquivo para entender sua morfologia e 101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup() exten exten ⇒ 102,2,VoiceMail(u102@correio) exten ⇒ 102,3,Hangup() [ramais] é o contexto, 101 e 102 são as extensões o segundo parâmetro(1.2.3) são as prioridad são as aplicações. Neste capítulo vamos entender um pouco mais sobre cada uma destas peças do plano de discag Usando #include para incluir arquivos Você pode incluir outros arquivos dentro do dialplan, para dentro do extensions.conf. #include extensions_ramais.conf O conteúdo do arquivo /etc/asterisk também estará disponível no dialplan. NÃO CONFUNDIR ESTE INCLUDE COM O INCLUDE DE CO ADIANTE. Vale lenbrar que todos os arquivos do projeto Asterisk permitem a utilização de #inclu entre dois 4.1 Contextos(context) [ramais] É o contexto do trecho de dialplan exemplificado aci diferenciação deste segmento de código para outros no mesmo arquivo. Este método possibilita que podem ser totalmente distintos entre si. Os nomes dos contextos não podem conter espaço alfanumericos. 4.1.1 Contexto [general] O contexto [general] é utilizado para adicionar alguns parâmetros gerais de configuração do dial contexto general é reservado pelo Asterisk. São estes os parâmetros de configuração do context Descrição static Yes|no If static is set to no, or omitted, then the pbx_config will rewrite ; this file when extensions are modified. Remember that all comments ; made in the file will be lost when that happens. writeprotect Yes|no if static=yes and writeprot by ; CLI command ‘save dialplan’ too ; autofallthrough Yes|no ; If autofallthrough is set, then if an extension runs out of
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 11 de 22
; things to do, it will terminate the call with BUSY, CONGESTION ; or HANGUP depending on Asterisk’s best guess (strongly recommended). ; ; If autofallthrough is not set, then if an extension runs out of ; things to do, asterisk will wait for a new extension to be dialed ; (this is the original behavior of Asterisk 1.0 and earlier). clearglobalvars Yes|no ; If clearglobal be cleared ; and reparsed on an extensions reload, or Asterisk reload. ; ; If clearglobalvars is not set, then global variables will persist ; through reloads, and even if deleted from the extensions.conf or ; one of its included files, will remain set to the previous value. ; priorityjumping Yes|no ; If priorityjumping is set to ‘yes’, then applications that support ; ‘jumping’ to a different priority based on the result of their operations ; will do so (this is backwards compatible behavior with pre-1.2 releases ; of Asterisk). Individual applications can also be requested to do this ; by passing a ‘j’ option in their arguments. 4.1.2 Contexto [globals] O contexto [globals], também é reservado pelo Asterisk. Ele é usado para definir variáveis globa Disponíveis a todo o sistema e não somente a um canal específico. Veja neste exemplo como de CONSOLE=Console/dsp TRUNK01=Zap/g0 TIPORAMAL222=SIP Para utilizar estas variáveis no p uma das seguintes sintaxes: ${VARIAVEL} Modo mais simples, que retorna o valor da variavel $ o valor de uma variável de ambiente(sistema operacional) ${texto${VARIAVEL}} Acrescentando variável 4.1.3 Parâmetro include É possível incluir um contexto dentro de outro utilizando o parâmetro include da seguinte forma: exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup (SIP/102,10) exten ⇒ 102,2,VoiceMail(u102@correio) exten ⇒ 102,3,Hangup() Neste caso que acesso ao contexto [ramais] também terá acesso ao contexto [ramaisIP]. Isto é possível graças contexto [ramais]. Os includes podem assumir uma condição de tempo para serem ativados. Po include do exemplo acima da seguinte forma: [ramais] include ⇒ ramaisIP|9:00-17:00|mon-fri| (SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup() exten ⇒ 102,1, 102,2,VoiceMail(u102@correio) exten ⇒ 102,3,Hangup() Neste caso o contexto [ramaisIP] só estaria disponível para o contexto ramais, de segunda a se tarde. 4.1.4 Parâmetros específicos de um contexto Alguns parâmetros diferentes de exten ⇒ podem ser usados dentro de contextos. Você pode acessar um plano de discagem remoto, de outro servidor Asterisk, utilizando o parâm switch ⇒ IAX2/user:password@bigserver/local Variantes do swicth ⇒ também podem ser úteis. lswicth ⇒ Loopback/12${EXTEN}@outroontexto O lswitch ⇒ possui a mesma função do parâmet deseja passar um valor que contenha uma variável, ele não faz a subistituição da mesma, ou sej literal. eswitch ⇒ Loopback/12${EXTEN}@outrocontexto O eswitch ⇒ realiza a mesma função do lswitc substituição de variáveis antes de encaminhar o dialplan ao realtime. 4.2 Extensões(exten) Uma por letras, números ou uma combinação de ambos. exten ⇒ Define uma linha de programação d responsáveis pela inteligência do Asterisk. Por elas configuramos as tarefas contidas nos planos ordem de execução. exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) e
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 12 de 22
dialplan nos diria, se falassse português, a seguinte frase: “Quando alguém ou alguma coisa digi ao Asterisk, ele irá executar a alpicação Dial com o argumento SIP/101,10. Após concluída esta aplicação VoiceMail com os parâmteros u101@correio. Por último execute a aplicação Hangup se português brasileiro, mais claro ainda: “Chame o ramal 101, se ele não atender envie esta cham e desligue a chamda em seguida.” Chamamos de extensão a seguinte porção deste exmplo: ext as chamadas Prioridades e na sequência as Aplicações. 4.2.1 Extensões especiais Algumas extensões expeciais presentes no Asterisk são: exten ⇒ t Representa timeout exten ⇒ chamda for enviada a um contexto sem uma extensão definida. S de start. exten ⇒ h Extensão out, utilizado pela aplicação VoiceMail exten ⇒ talk exten ⇒ hint exten ⇒ fax exten ⇒ T exten ⇒ discagem É possível utilizar caracteres coringas como valor de extensões. Se uma extensão é iniciada com não é interpretado literalmente pelo Asterisk e sim como um padrão de discagem. Os padrões de discagem definem coringas para representar dígitos ou um grupo de dígitos sem -los explicitamente como uma extensão do plan o de discagem. Veja a seguinte linha de um dialplan: exten ⇒ _014ZZXXXXXXX,2,Macro(chama-tronco,2,${EXTEN}) Neste caso qualquer número que de 12 dígitos, sendo o quarto e quinto dígito um número entre 1 e 9 e os demais números send seguir por essa linha do diaplan enviando para a macro chama-ramal o valor da variável ${EXTE Veja, na tabela abaixo, o significado de todos os padrões de discagem disponíveis: Padrão Descrição X Qualquer dígito entre 0 e 9 Z Qualquer dígito entre 1 e 9 N Qualquer dígito e dígito entre colchetes (neste exemplo, 1,2,3,5,6,7,8,9 . O ponto é um coringa, siginifica qualque significa qualquer coisa começando com 9011 menos o prórpio 9011) ! wildcard, causes the mat soon as it can unambiguously determine that no other matches are possible 4.3 Prioridades As p parâmetro das extensões. É com ela que definimos a rodem de ações dentro de um plano de dis ser especificadas de forma crescente e não precisam necessariamente ser contínuas, por exmplo (SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,3,Hangup() As prioridades 1, seguinte forma: exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,15,VoiceMail(u101@correio) exte são as novas prioridades. Isso pode ajudar muito em casos onde se está desenvolvendo um dial se adicionar linhas entre as extensões já criadas. Lembre-se que as prioridades sempre devem c VERIFICAR A VERACIDADE 4.3.1 Prioridade n+101 Uma prioridade específica merece atenção. A prioridade n + 101. Veja o exemplo abaixo. exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,102,VoiceMail(b101@correio) exten ⇒ 101,3,Ha 102, ou 1 + 101 diz que caso a prioridade número 1 encontre sinal de ocupado o Asterisk deve prioridade 102, caso contrário continuará executando a prioridade seguinte a número 2. 4.3.2 Pr A prioridade next ou simplesmente n siginifica a prioridade anterior mais um. exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,n,VoiceMail(u101@correio) exten ⇒ 101,1+101,V 101,n,Hangup() Moleza hein? 4.3.3 Prioridade same A prioridade same ou simplesmente s, significa que esta prioridade tem o mesmo valor da priori A prioridade s+1 tem o mesmo valor que a prioridade n. exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,s+1,VoiceMail(u101@correio) exten ⇒ 101,102,Vo 101,s+1,Hangup() 4.3.4 Sinais numéricos e prioridades As prioridades podem ser seguidas de um sinal ‘+’ (ou outro sinal numérico)e um valor a ser so em conjunto com as prioridades next e same. exten ⇒ 101,1,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,1+101,V 101,3,Hangup() 4.3.5 Apelidos para prioridades
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 13 de 22
As prioridades podem possuir apelidos ou alias para que possam ser referenciadas com a aplicaç do plano de discagem.. Este apelidos devem ser especificados entre parentesis logo após o valor da prioridade, como no exten ⇒ 101,1(dial),Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,dial exten ⇒ 101,3,Hangup() Outro exemplo: exten ⇒ 101,1(,Dial(SIP/101,10) exten ⇒ 101,2,VoiceMail(u101@correio) exten ⇒ 101,102,Voic 101,n,Goto(${EXTEN},hangup) exten ⇒ 101,hangup,Hangup() 4.4 Aplicações As aplicações for trazem aplicativos pré empacotados ao plano de discagem. As aplicações são o terceiro parâmet aplicação pode receber parâmetros e sua notação é a seguinte: Aplicação(parâmetro1,parâmetr parâmetros são separados por vírgula “,” ou pipe”|”. Para verificar todas as aplicações disponívei execute o seguinte comando na *CLI: *cli> show applications Vamos falar um pouco mais sobre Dial – Onde tudo começa... A aplicação Dial pode ser encaraqda como a principal de todas elas. É ela que nos permite realiz que as realiza. O Dial em termos Asterísticos, conecta um canal(channel) a outro canal(channel) aplicação Dial pode ser visto abaixo: exten ⇒ 101,10,Dial(SIP/101,10) No caso acima a aplicaçã primeiro especifica o canal e informações necessárias para a sua utilização, o segundo parâmetr segundos que a aplicação Dial irá tentar estabelacer o canal. Exiiste a possibilidade de um tercei Por exemplo, a linha de exten ⇒ acima poderia estar escrita da seguinte forma: exten ⇒ 101,10 representada por uma letra do alfabeto e cada uma tem sua função. No exemplo acima utilizam significado destas e de outras flags disponíveis para o comando Dial. Flag Descrição T Permite a chamada t Permite a transferência pelo recebedor da chamada W Permite a gravação sob dema Permite a gravação sob demanda do orginador da chamada f forces callerid to be set as the exte making/redirecting the outgoing call. For example, some PSTNs don’t allow callerids from other are assigned to you. d This flag trumps the ‘H’ flag and intercepts any dtmf while waiting for the that value on the spot. This allows you to dial a 1-digit exit extension while waiting for the call t RetryDial o Restore the Asterisk v1.0 CallerId behaviour (send the original caller’s ID) in Asterisk extension’s number) r Gerar ringtone antes mesmo de começar a chamar o ramal. Usar com cui música em espera a pessoa que está chamando um ramal. Utilizar m(classe da música em esper opção “r”. M(x[^argumento]) Executes the macro (x) upon connect of the call (i.e. when the call recebedor desligar uma chamada pressionando *. H Permite o originador desligar uma chamada CDR (Call Detail Record) for this call. This is like using the NoCDR command. P[(x)] Usa o Privac valor do banco de dados.(x é opcional) g When the called party hangs up, exit to execute more context G(contexto^ramal^prioridade) If the call is answered, transfer both parties to the specif calling party is transferred to priority x, and the called party to priority x+1. This allows the dial calling and called legs of the call (new in v1.2). A(arquivo) Toca um anúncio(arquivo.gsm|.wav|. chamada. D([chamado][:chamador]) After the called party answers, send digits as a DTMF strea originating channel. (You can also use ‘w’ to produce .5 second pauses.) L(x[:y][:z]) n IMPORTA as flags da aplicação Dial(), pois eles não irão funcionar. - Se você utilizar algumas destas flags( aplicação Dial() o Asterisk sempre estará no mediapath, ou seja, o parâmetro canreinvite=yes n Set A aplicação Set tornou-se muito mais expressiva na versão Asterisk 1.2. Diversas aplicações for -se sua análoga no formato de funções da aplicação Set. Em versões anteriores do Asterisk, a a para nomear variáveis(globais e de canal). Vamos conhecer um pouco sobre as opções que esta construção de um plano de discagem. Estas opções são três, Declaração de Variáveis, Execução AstDB(Banco de dados interno do Asterisk) 4.4.2.1 Declaração de variáveis Utilizando a aplicação Set, podemos declarar variáveis no sistema Asterisk. A declaração de vári Asterisk(série 1.0) eram realizadas pela aplicação SetVar. Atualmente ela foi descontinuada em declarar uma variável de canal(válida somente no momento da chamada ou enquanto o canal es exemplo abaixo como referência: exten ⇒ 101,1,Set(TEMPORING=30) exten ⇒ 101,2,Dial(SIP/1 ⇒ 101,3,VoiceMail(u101@correio) exten ⇒ 101,103,VoiceMail(b101@correio) exten ⇒ 101,4,Ha
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 14 de 22
variável você pode fazer uso dela inserindo o nome da variável entre um cifrão e uma chave abe abaixo: ${TEMPORING} O Asterisk irá substituir ${TEMPORING} por 30 que neste exmplo signifi Dial irá utilizaar para chamar o ramal 101 será de 30 segundos. Para declarar uma variável glob extensões do seu diaplan, utilize a aplicação SetGlobalVar. 4.4.2.2 Execução de funções Como dito no início deste tópico, tem se migrado uma série de pequenas aplicações para o form a aplicação Set tem outras habilidades que não seja somente a declaração de variáveis ela pode executadas por aplicações. As funções possuem uma sintaxe muito semelhante a utilizada na de funções recebem um argumento a mais antes do valor declarado. Veja o exemplo abaixo: exten No caso acima estamos usando a função “TIMEOUT” com o argumento “digit” para declarar o te dígitos....... A função TIMEOUT foi concebida apartir de suas análogas aplicações DigitTimeout, ResponseTimeout. Como na declaração de variáveis o uso de ${} também é permitido caso quei função em algum outro lugar do seu plano de discagem. Veja o exemplo abaixo: Algumas funçõ Argumentos Descrição TIMEOUT Digits|absolute|response CALLERID All|Name|num|rdnis LANGU MD5 MD5 GROUP_COUNT DB_EXISTS FAMILA/CHAVE Checa se existe o PAR/CHAVE no AstDB S todas as funções disponíveis executando show functions na linha de comando Asterisk. *cli> sho O AstDB é o banco de dados interno do Asterisk. Este banco de dados não é um banco de dados Oracle, PostgreSQL. O AstDB é um banco de dados baseado no Berkeley DB v.1. O Asterisk armazena seus dados dentro do AstDB utilizando o seguinte formato: FAMILIA/CHAVE=VALOR Cada familia pode ter somente uma chave com o mesmo nome. Resursos poderosos podem ser utilizados com o AstDB. Você pode, por exemplo, desenvolver ap AGI para realizar este desenvolvimento) que inserem dados sobre a disponibilidade de uma ram Asterisk guarda esta informação dentro do AstDB, porém você pode manipular esta informação prático desta aplocaçcão poderia ser um recursos de Não Perturbe, que quando o usuário digitar discagem aramazena um avalor de FAMILIA/CHAVE dentro do AstDB que será consultado no mo este ramal. Vamos conhecer um pouco mais sobre esta apliucação nas próximas linhas, fique tranquilo. Inserindo/Extraindo/Apagando entradas no AstDB As funções de inserção, extração e remoção do AstDB estão disponíveis tanto na linha de coman de aplicações que podem ser usadas em seu plano de discagem. Para inserir dados no AstDB é necessário utilziar a aplicação Set, pois trata-se de declaração de aramazenado dentro do banco de dados do Asterisk. Veja a sintaxe de inserção abaixo. exten ⇒ extensão,prioridade,Set(${DB(FAMILIA/CHAVE)=VALOR}) Para apagar uma entrada do necessário utilizar a aplicação Dbdel como mostrado na linha abaixo. exten ⇒ extensão,prioridade,DBdel(FAMILIA/CHAVE) Veja o exemplo real abaixo. É uma aplicaç usuário a possibilidade de indisponibilizar o seu ramal quando necessário discando o código *11 perturbe pode ser desabilitado digitando *13 no telefone. Em ambos os casos o plano de discage do Asterisk CALLERIDNUM como valor de chave da família NP. [app-naoperturbe] exten ⇒ *11,1,Answer exten ⇒ *11,2,Wait(1) exten ⇒ *11,3,Set(${DB(NP/$ ⇒ *11,4,Playback(nao-perturbe) exten ⇒ *11,5,Playback(ativado) exten ⇒ *11,6,Hangup() exte *13,2,Wait(1) exten ⇒ *13,3,DBdel(NP/${CALLERIDNUM}) exten ⇒ *13,4,Playback(nao-pertur (desativado) exten ⇒ *13,6,Hangup() Recuperar, ou extrair, dados também é uma atividade trivial. Basta atribuir, também com a a ap valor do par FAMILIA/CHAVE e utiliza-la no dialplan. Veja neste exemplo como utilizar uma entra [macro-checagemramal] exten ⇒ s,1,Set(NP=${DB(NP/${EXTEN})}) exten ⇒ s,2,GotoIf($[${N s,3,VoiceMail(u${MACRO_EXTEN}@default) exten ⇒ s,4,Macro(chamaramal,${MACRO_EXTEN})
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 15 de 22
Esta Macro poderia ser utilizada momentos antes de chamar o ramal de destino. O plano de disc no banco de dados do Asterisk para verificar se o ramal está ou não disponível para receber cha ou não com o não perturbe habilitado. No exemplo acima, a primeira linha da macro checagemramal recupera o par NP/RAMAL do AstD variável NP. A aplicação GotoIf é utilizada como fator de decisão para encaminhar a chamada ao não perturbe esta desabilitado, para a macro chamaramal com o número de ramal como argume 4.4.3 Goto, GotoIf, GotoIfTime 4.4.4 Aplicação Macro 4.4.5 Aplicação VoiceMail – O famoso Correio de Voz A aplicação Voicemail, como você pode concluir, é utilizada para acionar o sistema de Correio de aplicação é possível que você defina uma condição(ocupado ou indisponível) para que você envi Correio de Voz. Por exemplo, imagine que você está no telefone ou não está em sua mesa e uma chamada cheg momemtno ideal para se utilizar a aplicação VoiceMail no seu plano de discagem. A sintaxe para utilização da aplicaçcão VoiceMail é esta: VoiceMail(opçõesramal@contexto) Na sintaxe acima o parametro opções esta colado ao parâmet forma que devemos utilizar esta sintaxe. Para enviar para várias caixas de correio ao mesmo tempo: VoiceMail(opçõesramal01@contexto01&ramal02@contexto02) Estas são as opções disponíveis p Opção Descrição s SEM esta opção uma mensagem irá ser tocada. A mensagem padrÃo do siste pós o sinal, quando terminar desligue ou pressione quadrado. Se você usar esta opção esta men você utilizar esta opção uma mensagem de INDISPONÍVEL será tocada. A mensagem padrão, se “A pessoa no ramal XXX não está disponível” e na sequência “Deixe sua mensagem após o sinal, pressione quadrado”. b Se você utilizar esta opção uma mensagem de OCUPADO será tocada. A usuário não gravar a sua, é “A pessoa no ramal XXX não está disponível” e na sequência “Deixe quando terminar desligue ou pressione quadrado”. su Se você utilizar esta opção uma mensage tocada. A mensagem padrão, se o usuário não gravar a sua, é “A pessoa no ramal XXX não está instruções será descartada. sb Se você utilizar esta opção uma mensagem de OCUPADO será to usuário não gravar a sua, é “A pessoa no ramal XXX não está disponível”. A mensagem com inst exemplo do plano de discagem abaixo: 4.4.5.1 Armazenamento de mensagens As mensagens do correio de voz ficam armazenadas no seguinte diretório: /var/spool/asterisk/v Onde contexto é o nome do contexto onde se encontra as informações do correio e ramal o prór 4.4.5.2 Configuração das caixas de correio de voz O sistema de correio de voz é configurado e armazena as caixas de correio no arquivo /etc/aster sintaxe do /etc/asterisk/voicemail.conf abaixo: [general] parametro01 = valor01 parametro02 = eastern=America/New_York|’vm-received’ Q ‘digits/at’ IMp central=America/Chicago|’vm-receiv central24=America/Chicago|’vm-received’ q ‘digits/at’ H N ‘hours’ military=Zulu|’vm-received’ q ‘phonetic/z_p’ COLOCAR O PADRÃO DO BRASIL [default] parametro01 = valor01 parametro02 = 2006,Ronaldinho Gaúcho,
[email protected] 1111 ⇒ 1010,Dida,
[email protected],,attach=no|serveremail=smtp.brasil.com.br|maxmsg=10 Debaix inserimos os parâmetros que serão válidos para todas as caixas de correio criada no sistema. Pa abaixo dos contexto das caixas de correio, por exemplo [default]. Este é o formato para criar um número_ramal⇒senha_correio,nome_completo_usuario,email,email_pager,opcao1|opcao2|opca disponíveis para as caixas de correio do Asterisk: Parametro Argumentos Descrição format wav4 armazenamento dos arquivos de mensagens do correio de voz. Mais de um formato pode ser es ‘|’ .[15] serveremail email Email remetente das notificações do correio de voz enviadas aos usuá mensagens no email de notificação. maxmsg nümero inteiro Número máximo de mensagens por
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 16 de 22
é 100. maxmessage tempo em segundos Tamanho máximo de uma mensagem em segundos. m Tamanho mínimo, em segundos, de uma mensagem para ser armazenada pelo sistema. Default segundos Tamanho máximo, em segundos, das mensagens de recepção(ocupado, indisponível e tempo em milisegundos Tempo, em milisedgundos, para os saltos de rew e ff no playback de me segundos Tempo, em segundos, de silêncio para que o sistemaa encerre a gravação de uma me importantes sobre a aplicação VoiceMail() O arquivo /etc/asterisk/voicemail.conf não aceita #include pois o Asterisk acessa esta arquivo p Não utiilize comentários(especialmente os que contenham o caractere “[“, pois a aplicação Voice autenticação do usuário, não é muito inteligente no parsing do arquivo /etc/asterisk/voicemail.c As caixas de correio não podem começar com as letras ‘s’, ‘u’, ‘b’ ou uma combinação delas. Iss aplicação VoiceMail(). Apartir do momento em que uma caixa de correio já está operando(contém mensagens). Não é áudio. Isso irá ocasionar problemas no playback das mensagens do correio de voz. 4.4.5.4 Aplicações complementares ao Correio de Voz VoiceMailMain() Disponibiliza acesso ao sistema de Correio de Voz do Asterisk. É com esta aplicação que posssibi e informações pessoais dos usuários de um servidor Asterisk. Acessando esta aplicação o usuário será servido com o seguinte menu: Digite 1. Ler as mensagens do correio de voz Digite 2. Alterar de pasta Digite 0. Pasta de mensagens novas Digite 1. Pasta de mensagens antigas Digite 2. Pasta de mensagens trabalho Digite 3. Pasta de mensagens familia Digite 4. Pasta de mensagens amigos Digite #. Cancela
Digite 3. Opções avançadas Press 1. Send reply Press 3. Hear the message envelope Press 5. Leave a message Press *. Return to the main menu
Press 4. Play previous message Press 5. Repeat current message Press 6. Play next message Pre Press 8. Forward message to another mailbox Press 9. Save message in a folder Press 0. Mailbo Press 1. Record your unavailable message Press 2. Record your busy message Press 3. Record your name Press 4. Change your password Press *. Return to the main menu
Press *. Help Press #. Exit HasNewVoicemail() HasVoicemail() MailBoxExists() We will use the GoToIf application to determine the dial status of the call. For the purpose we ne ${DIALSTATUS}. The first extension after the one with Dial application, will check whether the c person is unavailable, then the execution will continue with the extension with priority 7. This ex
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 17 de 22
application. In its brackets we have set the following: uanatoliy@testmail. The first letter - u me unavailable condition has to be played. The message by default is: The person at extension is un for the mailbox which we have set in the voicemail.conf. The last part is @testmail. This shows t which the mailbox anatoliy is configured. So, the caller will hear a message and he/she will be al to store it in the mailbox of anatoliy. The message will be stored in the directory /var/spool/asterisk/voicemail/testmail/anatoliy/INBOX. In order to send the message i hang up the line or to press the pound key(#), when he/she finishes with the recording of the m show that the user is available, then the next application with priority 4 will be executed. This on busy or not. If the line is busy, then the execution will continue with the extension with priority the VoiceMail application. In its brackets we have set the following: banatoliy@testmail. The first message for busy condition has to be played. The message by default is: The person at extensio anatoliy is for the mailbox which we have set in the voicemail.conf. The last part is @testmail. T voicemail.conf, in which the mailbox anatoliy is configured. The caller will hear the message, tha he/she will be allowed to record a message and to store it in the mailbox of anatoliy. The messa directory /var/spool/asterisk/voicemail/testmail/anatoliy/INBOX. In order to send the message i hang up the line or to press the pound key(#), when he/she finishes with the recording of the m available and the line is free and the called person does not answer within 5 seconds, the next e one with priority 5. This one contains another copy of the VoiceMail application. As arguments in following: anatoliy@testmail. There is no first letter which means that a message with instructio message by default is: Please leave your message after the tone. When done, hang up, or press anatoliy is for the mailbox which we have set in the voicemail.conf. The last part is @testmail. T voicemail.conf, in which the mailbox anatoliy is configured. Again the user will be allowed to rec The message will be stored in the directory /var/spool/asterisk/voicemail/testmail/anatoliy/INBO message in the mailbox, the caller has to hang up the line or to press the pound key(#), when h recording of the message. NOTE: Please, pay attention that between the option flags and the voi separator. That is why the voicemails cannot start with “s”, “u”, “b” or any combination of these noticed that between the extensions with priority 5, 7 and 9, we have extensions with the GoTo jumping to the last extension with priority 10 which has the Hangup application. Thanks to it the necessary, because otherwise the three VoiceMail application will be executed subsequently. In t GoToIf applications will be lost. Aplicações complementares: 4.4.6 MeetMe 4.4.7 Queue A aplicação Queue é utilizada para “enfileirar” chamadas. Este tipo de aplicação é geralmente(na aplicação para ela) utilizada em filas de atendimento de Call Centers Passivos[16] Conhecida também como DAC(Distribuidor Automático de Chamadas) a aplicação Queue distribu ordem de chegada, para o primeiro agente[17] disponível. O sistema atende imediatamente as o chamador para uma fila até que ele possa ser redirecionado ao próximo agente disponível. Bal agentes irá assegurar que todos os chamadores irão receber um bom atendimento. O Asterisk suporta múltiplas filas de atendimentos e elas podem ser configuradas no arquivo /et referenciadas como argumento da aplicação Queue no seu plano de discagem. Os agentes são d arquivo /etc/asterisk/agents.conf. Sintaxe da aplicação Queue() Esta é a sintaxe para utilização da aplicação Queue: exten ⇒ extensão,prioridade,Queue(nome|opções|URL_opcional|sobrepor_anuncio|timeout) no arquivo /etc/asterisk/queues.conf opções: ‘t’ — allow the called user transfer the calling user ‘T’ transfer the call. 'd' — data-quality (modem) call (minimum delay). 'H' — permite ao chamador desligar pressionando '*'.
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 18 de 22
'n' — no retries on the timeout; will exit this application and go to the next step. 'r' — Ringar ao invés de tocar música em espera
URL_opcional: Envia uma URL para dispositivos que suportam este recurso. sobrepor_anuncio: Configuração de filas de atendimento O arquivo responsável pela configuração de filas de atendimento no Asterisk é o /etc/asterisk/qu sintaxe. [general] parametro-geral01 = valor01 parametro-geral02 = valor02 ... parametro-geral03 = va valor01 parametro02 = valor02 ... parametro03 = valor03 member ⇒ Zap/1 member ⇒ Zap/2 ⇒ Agent/1002 ;Cada membro(member) é listado em uma linha individual. [fila02] parametro01 valor02 ... parametro03 = valor03 member ⇒ Agent/@1 member ⇒ Agent/1:1,1 ; Usar grupos da fila02, irá desabilitar as estratégias de busca de agentes(roudrobin, leastrecent, etc.) Parâme atendimento Conheça os parâmetros disponíveis para filas de atendimento. Estes parâmetros po uma fila específica ou para todoas as filas do sistema, para isto basta inserir o parâmetro deseja seu arquivo de configuração.. Parâmetros valores Descrição periodic-announce arquivo_de_audi enquanto o chamador aguarda atendimento periodic-announce-frequency número inteiro Tempo mensagem periódica weight número inteiro Número inteiro que define o peso da Fila. Números de atendimento pelos agentes. monitor-format gsm|wav|wav49 Para gravar as chamdas que for depois do atendimento* announce-frequency núemero inteiro Frequencia em segundos de anún posição na fila e/ou o tempo médio de atendimento. Use o valor ‘0’ para desabilitar esta função. yes|no|once Devemos incluir o tempo médio de atendimento no anúncio de posições na fila? *S não irá anunciar* queue-youarenext queue-youarenext Arquivos de áudio para anúncios de posi atendimento médio. Altere somente se nÃo quiser utilizar os valores padrões. queue-thereare qu callswaiting queue-callswaiting queue-holdtime queue-holdtime queue-minutes queue-minutes q thankyou wrapuptime número inteiro Tempo, em segundos, de descanso de um agente após ele parâmetro só tem efeito para agentes que não estão configurados no arquivo agents.conf. mem timeoutrestart número inteiro ???? musiconhold default Classe de música em espera para tocar atendimento. announce arquivo de áudio Mensagem a ser tocada segundos amntes de o agente diferenciar para o agente em que fila ele está atendendo a chamada. strategy ringall|roundrobin|leastrecent|fewestcalls|random|rrmemory Estratégia de distribuição de cham detalhes obre cada tipo ainda neste capítulo. Ringall é a default. servicelevel número inteiro Tem aceitável de serviço. Para gerar estatísticas de nível de serviço(SLA[18]). context contexto Cont o chamador tem acesso enquanto aguarda atendimento. timeout número inteiro Tempo em segu indisponibilidade de um agente. retry número inteiro Tempo em segundos para aguardar antes agentes novamente. maxlen número inteiro Número máximo de pessoas que podem aguardar n seconds número inteiro Arredondamento dos segundos no anúncio do tempo. monitor-join yes|n OUT) quando se está gravando uma conversação joinempty yes|no|strict yes(chamadores pode membros ou somente com memebros indisponíveis) no (chamadores não podem acessar filas sem membros) strict(chamadores não podem acessar filas sem membros ou com membros indisponíveis) leave eliminar chamadores que já estão na fila. Mesmas opções de joinempty. eventwhencalled yes|no alguns eventos de gerência(AgentCalled, AgentDump, AgentConnect, AgentComplete) eventme para no irá gerar o seguinte evento de gerência(QueueMemberStatus) reportholdtime yes|no Se o tempo de espera do chamador antes de atende-lo. Uma fila é considerada vazia quando não p de seus membros não estiverem disponíveis(agentes não logados). Estratégias de ring de agentes em filas de atendimento Ringall: Estratégia padrão caso nada seja especificado. Irá chamar todos os agentes ao mesmo tempo. Uma chamada entra e todos os agentes são acio antes irá “ganhar” a chamada.
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 19 de 22
Roundrobin: A estratégia roundrobin nao pode ser confundida com a distribuição circular de chamadas, veja c O roundrobin lembra o último agente para quem ele _iniciou_ o envio da última chamada e inici apartir do próximo agente. Se você tiver três agentes, e a primeira chamada seguir a ordem 1 seguir a ordem 2 3 1, a próxima 3 2 1 e assim por diante. É possível utilizar o método Roundrobin para realizar uma distribuição circular de chamadas atri O Asterisk irá sempre iniciar a busca por agentes sem penalidades depois aos agentes com pena Rrmemory: Este método lembra da último agente que ele tentou _chamar_, independente por quem ele inici chamada para o agente seguinte ao que atendeu a última chamada, Se você tiver três agente e rodem 1 2(e a chamada é atendida), então a próxima chamada irá seguir a ordem 3 1(e é ate ordem 2 3 1, e asssim por diante. Se a primeira chamada, 1 2, estivesse em modo Roundrobin e ela fosse atendida, a segunda c agente 2 novamente. Fewestcalls: Irá iniciar a busca pelos agentes que tem o menor número de chamadas atendidas. Random: Faz uma busca aleatória independente de uma regra específica. Leastrecent: Irá iniciar a busca pelo agente que foi chamado menos recentemente pela fila em questão. Configuração de agentes Assim em como a maioria dos arquivos de configuração do Asterisk, o /etc/asterisk/agents.conf ([general]) e uma específica para agentes([agents]), como mostrado abaixo: [general] parametro-geral01 = valor01 parametro-geral02 = valor02 ... parametro-geral03 = va valor01 parametro02 = valor02 ... group=1 ; agent ⇒ agentid,agentpassword,name agent ⇒ 10 1002,4321,Fausto Silve group=2 agent ⇒ 1003,4321,Didi Mocó agent ⇒ 1004,4321,João Cleber agentes Estes são os parâmetros disponíveis para os agentes de uma fila de atendimento. Somente um no contexto [general]. Parâmetros valores Descrição persistentagents yes|no Único parâmterro disponível no contexto agente ficará ou não armazenado no AstDB. Isso tem impacto após um reload do Asterisk. autol segundos para deslogar um agente da fila. Valor default é 15. ackall yes|no Se o agente logou u AgentCallbackLogin e esta opção estiver setada para yes, o Asterisk irá aguardar uma confirmaç disponibilizar este agente na fila. wrapuptime número inteiro Tempo em milisegundos que o age receber outra chamada. O default é 5000 ms. musiconhold nome da classe Define a nome da cla tocar aos agentes. O valor padrão é a classe default. updatecdr yes|no Define se irá alterar o ca número do agente. Default é no. Se estiver setado para yes ele irá adicionar o nome do agente ramal em que ele se encontra. recordagentcalls yes|no Grava ou não as chamadas atendidas pel wav|gsm|wav49 Formato do arquivo de áudio das gravações de chamadas dos agentes. Padrão Adiciona no userfield do CDR um link para acessar gravação da chamada. urlprefix http://server. [http://server.ip/diretorio/] Adiciona um prefixo no link para o audio de uma chamada gravada. savecallsin /diretorio/de/gravacoes Diretorio para aramazenar as gravações de chamdas dos age é /var/spool/asterisk/monitor custom_beep arquivo de audio Com esta opção você pode especifi agentes conectados Exemplo de arquivo /etc/asterisk/agents.conf [general] persistentagents=yes [agents] autologoff=15 ackcall=no wrapuptime=5000 musiconh recordagentcalls=yes recordformat=gsm group=1 agent ⇒ 101,101,user1 agent ⇒ 102,102,use →
→
→
→
→ →
→
→
→
→
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 20 de 22
group=2 agent ⇒ 8889,8889,operador 1 agent ⇒ 8888,8888,ivan group=3 agent ⇒ 8887,8887, Operadores 4.6.1 Operadores Booleanos 4.6.2 Operadores Matemáticos 4.7 Exemplos completos de dialplan 5 Gerenciando o Asterisk 5.1 Gerenciamento de ramais sip zap show channels 5.2 Gerenciamento de troncos sip show users zap show channels show channels verbose 5.3 CDR Call detail record. 5.4 Troubleshooting 5.4.1 Logging /etc/asterisk/logger.conf /var/spool/asterisk/debug /var/spool/asterisk/full /var/spool/asterisk/messages 5.4.2 Eco Canceladores de echo zaptel MG2 aggressive Supression 5.4.3 Picotamento Banda de rede Latência 5.4.4 Delay Jitter 5.4.5 Códigos SIP Retirado da RFC do SIP: Os códigos de resposta SIP são similares e extensíveis aos códigos de resposta HTTP/1.1. Nem t apropriados, e somente aqueles que são apropriados são mostrados nesta seção deste material. Outros códigos HTTP/1.1 não devem ser usados. O SIP também define uma nova classe de códigos, 6xx. 1xx: Provisional — request received, continuing to process the request; Provisional responses, also known as informational responses, indicate that the server contacted action and does not yet have a definitive response. A server sends a 1xx response if it expects t obtain a final response. Note that 1xx responses are not transmitted reliably. They never cause Provisional (1xx) responses MAY contain message bodies, including session descriptions. 2xx: Success — the action was successfully received, understood, and accepted; 3xx: Redirection — further action needs to be taken in order to complete the request; 4xx: Client Error — the request contains bad syntax or cannot be fulfilled at this server; 5xx: Server Error — the server failed to fulfill an apparently valid request; 6xx: Global Failure — the request cannot be fulfilled at any server. SIP response codes, class 1: Provisional messages These are sent within a SIP dialogue 100 Trying
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 21 de 22
180 Ringing 181 Call Is Being Forwarded 182 Queued 183 Session Progress SIP Response codes: 2xx class The 2xx class of responses indicates a success 200 OK 202 accepted: Used for referrals SIP response codes, class 3xx The 3xx class of responses indicates a redirection of the call 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 305 Use Proxy 380 Alternative Service SIP responses, class 4: Request failures 400 Bad Request 401 Unauthorized: Used only by registrars. Proxys should use proxy authorization 407 402 Payment Required (Reserved for future use) 403 Forbidden 404 Not Found: User not found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout: Couldn’t find the user in time 410 Gone: The user existed once, but is not available here any more. 413 Request Entity Too Large 414 Request-URI Too Long 415 Unsupported Media Type 416 Unsupported URI Scheme 420 Bad Extension: Bad SIP Protocol Extension used, not understood by the server 421 Extension Required 423 Interval Too Brief 480 Temporarily Unavailable 481 Call/Transaction Does Not Exist 482 Loop Detected 483 Too Many Hops 484 Address Incomplete 485 Ambiguous 486 Busy Here 487 Request Terminated
AsteriskBrasil.org - A comunidade brasileira do PBX Open Source
Página 22 de 22
488 Not Acceptable Here 491 Request Pending 493 Undecipherable: Could not decrypt S/MIME body part SIP responses, class 5: Server failures 500 Server Internal Error 501 Not Implemented: The SIP request method is not implemented here 502 Bad Gateway 503 Service Unavailable 504 Server Time-out 505 Version Not Supported: The server does not support this version of the SIP protocol 513 Message Too Large SIP response codes, class 6: Global failures 600 Busy Everywhere 603 Decline 604 Does Not Exist Anywhere 606 Not Acceptable 5.5 Backup O que copiar... 5.6 Tunning 5.7 Segurança 5.8 Sistemas distribuídos e alta disponibilidade 6 Dicas e Truques I. Índice com todas as aplicaç Asterisk II. Índice com todas as variáveis internas do Asterisk III. Siglas e Dicionário [1] Agência Nacional de Telecomunicações - http://www.anatel.gov.br [http://www.anatel.gov.br] protocolo da Internet. [3] ARPANET – DEFINICAO [4] Uma lista completa de CODECs utilizados no capítulo 2 deste livro. [5] Lista de desenvolvedores do Asterisk - htttp://lists.digium.com.br/a Standard Base – http://www.lsb.org [http://www.lsb.org] [7] Asterisk Gateway Interface - Você p sobre o que é AGI no capítulo deste livro. [8] Saiba mais sobre o logger.conf no capítulo 6 deste ser encontrados neste link: http://www.iana.org/assignments/media-types/ [http://www.iana.org/ Unicall – Mais informações sobre este tipo de canal você encontra em http://www.soft-switch.or switch.org/unicall] [11] Public Switched Telephony Network [12] http://www.zapatatelephony.org [13] Veja mais sobre transcoding no capítulo 5 deste livro(Gerenciando o Asterisk) [14] Lembrenão faz parte do projeto Asterisk e sim do projeto Zapata Telephony – http://www.zapatateleph [http://www.zapatatelephony.org] [15] Apartir do momento em que uma caixa de correio já está o Não é possível alterar os formatos de áudio. Isso irá ocasionar problemas no playback das mens Call Center Passivo é aquele que somente recebe chamdas., não origina(Call Center Ativo) [17] conhecidos como PAs, ou Postos de Atendimento. [18] Service Level Agreement apostila_asterisk.txt (6544 views) Copyright AsteriskBrasil.org © 2007