Professional Documents
Culture Documents
Salas de Conferncias
Gravao de chamadas
Transferncia de ligaes
Estacionamento de chamadas
Filas de atendimento
Correio de voz
Alguns Recursos
Principais
G.729a 8Kbits com licena;
G.711 ulaw - usado nos EUA 64 Kbps;
G.711 alaw - usado na Europa e Brasil 64 Kbps;
G.723.1 - 5.3-6 Kbps com licena;
GSM - 12-13 Kbps, Telefonia Celular;
Arquitetura do Asterisk
Protocolos
Placa de Telefonia IP
Exemplo com placa de Telefonia
Exemplo com banco de canais
Exemplo Interligando matriz e filial
Instalao
Utilizando uma distribuio Linux como o Centos 5:
Instalao
Baixa-se os pacotes do site da Digium:
- asterisk-1.4.40.tar.gz
- asterisk-addons-1.4.13.tar.gz
- dahdi-linux-2.4.1.1.tar ou zaptel-1.4.12.1.tar
- dahdi-tools-2.4.1.tar.gz
- libpri-1.4.11.5.tar.gz
- sounds-1.0-pt_BR.tar.gz
- Disc-OS-Sounds-1.0-pt_BR.tar
Instalao
Baixa-se os pacotes do site da Digium:
wget http://downloads.digium.com/pub/asterisk/asterisk-
1.4.40.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-
1.4.11.5.tar.gz
wget http://downloads.digium.com/pub/telephony/dahdi-
linux/dahdi-linux-2.4.1.1.tar
wget http://downloads.digium.com/pub/telephony/dahdi-
tools/ dahdi-tools-2.4.1.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-
addons-1.4.13.tar.gz
Instalao
Copiam-se todos os arquivos para /usr/src
- Exemplo:
# cp asterisk-1.4.40.tar.gz /usr/src
cd /usr/src
# tar xzfv asterisk-1.4.40.tar.gz
# tar xzfv asterisk-addons-1.4.13.tar.gz
# tar xzfv dahdi-linux-2.4.1.1.tar
# tar xzfv dahdi-tools-2.4.1.tar.gz
# tar xzfv libpri-1.4.11.5.tar.gz
Instalao
Compilao e instalao dos Arquivos
Instalando o pacote dahdi-linux
# cd dahdi-linux
# vim README (opcional para ver como se instala)
# make clean
# ./configure
# make
# make install
Instalao
Compilao e instalao dos Arquivos
Instalando o pacote dahdi-tools
# cd dahdi-tools-2.4.1
# make clean
# ./configure
# make
# make install
Instalao
Compilao e instalao dos Arquivos
Instalando o pacote libpri
# cd libpri-1.4.11.5
# make clean
# make
# make install
Instalao
Compilao e instalao dos Arquivos
Instalando o pacote asterisk
# cd asterisk-1.4.40
# make clean
# ./configure
# make menuselect (habilita/desabilita as opes do asterisk)
# make
# make install
# make samples (arquivos de exemplos)
# make config (configura os mdulos da maneira padro)
Instalao
Compilao e instalao dos Arquivos
Instalando o pacote asterisk-addons
# cd asterisk-addons-1.4.13
# make clean
# ./configure
# make
# make menuselect
# make install
# make samples
Instalao
Compilao e instalao dos Arquivos
Instalando o pacote sounds
# cp sounds-1.0-pt_BR.tar.gz /var/lib/asterisk
# cd /var/lib/asterisk
# tar xzfv sounds-1.0-pt_BR.tar.gz
ou
# cp Disc-OS-Sounds-1.0-pt_BR.tar /var/lib/asterisk
# cd /var/lib/asterisk
# tar xf Disc-OS-Sounds-1.0-pt_BR.tar
Carregando o dahdi_dummy
Para que funcione salas de conferncia preciso ter uma
placa instalada no servidor para gerar uma temporizao,
no caso de no haver necessrio carregar o modulo
dahdi_dummy ou ztdummy.
# /etc/init.d/dahdi start
# /etc/init.d/asterisk restart
# /usr/sbin/asterisk vvvc
Parando
# stop now
Arquivos de configurao
O asterisk controlado por arquivos de configurao localizados
em /etc/asterisk.
[sessao1]
chave = valor ; Designao da varivel
[sessao2]
objeto => valor ; Declarao do objeto
[sessao3]
objeto2 => valor ; Declarao do objeto2
[nome_sessao]
type=friend/peer/user
context=NomeContexto
host=dynamic
secret=senha_da_conta
Arquivo Sip.conf
Alguns parmetros da sesso general:
- Contextos
- Extenses
- Prioridades
- Aplicaes
Exemplo:
[ramais]
[ramais]
exten=>2000,1,Dial(SIP/2000,20)
exten=>2000,2,VoiceMail(u300) ;indisponvel
exten=>2000,101,VoiceMail(b300) ;ocupado
[ramais]
exten=>_20XX,1,Dial(SIP/${EXTEN},20)
exten=>_20XX,n,VoiceMail(u300)
exten=>_20XX,n,Hangup()
Arquivo Extensions.conf
Aplicaes
[local]
exten=> _30XX,1,Answer
exten=> _30XX,n,Wait(0.5)
exten=> _30XX,n,PlayBack(hello-world)
exten=> _30XX,n,Authenticate(875)
exten=> _30XX,n,Dial(SIP/${EXTEN},20)
exten=> _30XX,n,HangUp()
Arquivo Voicemail.conf
Permite que uma chamada ocupada ou no atendida seja enviada
para uma secretria eletrnica
Passos para a criao de um correio de voz:
[caixa_msg]
include => general
600 =>
123,vicente,vicente.proj@hotmail.com
Arquivo Voicemail.conf
Extensions.conf
[local]
include=>correio
exten => _40XX,1,Dial(SIP/${EXTEN},40)
exten => _40XX,2,GoToIf($[${DIALSTATUS} = CHANUNAVAIL] ? 5)
exten => _40XX,3,GoToIf($[${DIALSTATUS} = BUSY] ? 6)
exten => _40XX,4,HangUp()
exten => _40XX,5,VoiceMail(u600@caixa_msg) ; indisponvel
exten => _40XX,6,VoiceMail(b600@caixa_msg) ; ocupado
; Acceso ao correio de voz
[correio]
exten => 100, 1, VoiceMailMain(600@caixa_msg)
exten=> 100,n,HangUp()
Arquivo meetme.conf
A conferncia no Asterisk feita usando a aplicao
MeetMe()
O MeetMe() uma ponte de videoconferncia, que pode
funcionar em qualquer tipo de canal
;meetme.conf
[rooms]
conf=>sala,senha
;Exemplo
conf=> 500
conf=> 500,123456
Arquivo meetme.conf
No arquivo extensions.conf pode ser definido uma
nova sesso chamada conferencia e essa sesso ser
includa na sesso local atravs do parmetro include.
[local]
include=>conferencia
exten=> _30XX,1,Answer
exten=> _30XX,n,Wait(0.5)
exten=> _30XX,n,PlayBack(hello-world)
exten=> _30XX,n,Authenticate(875)
exten => _30XX,n,Dial(SIP/${EXTEN},20)
exten => _30XX,n,Hangup()
Arquivo meetme.conf
[conferencia]
exten=> 500,1,Answer
exten=> 500,n,MeetmeCount(500,total)
exten=> 500,n,ExecIf($[${total}=6]?HangUp)
exten=> 500,n,MeetMe(500)
exten=> 500,n,HangUp()
Arquivo queues.conf
Arquivo queues.conf
As filas de atendimento so criadas no arquivo queues.conf
[telemarkting]
musicclass=default
announce= anunciodafila
timeout=15
retry=5
strategy=roundrobin
monitor-format=gsm
member=agent/1000
member=agent/1001
member=agent/1002
Exemplo de Fila
arquivo agents.conf
[agents]
agent => 1000,123,agente1
agent => 1001,1234,agente2
agent => 1002,12345,agente3
Exemplo de Fila
arquivo extensions.conf
[telemarketing]
exten=> 800,1,Answer
exten=> 800,2,Queue(telemarketing)
[login]
exten=> 900,1,Answer
exten=> 900,2,AgentLogin()
Estacionamento de Chamadas
Coloca uma chamada em uma fila de espera, para que algum
outro ramal possa captur-lo. Configurado no arquivo
features.conf
-Assistida(attended tranfer)
H consulta previa do destinatrio da chamada,
executado pela tecla FLASH
Transferncia de chamadas
Existem duas formas de transferncias:
So configuradas no arquivo features.conf:
- Captura em grupo:
[1002]
callgroup=2
pickupgroup=2
Obs.: Essa forma de captura de chamadas funciona apenas para canais que
utilizem o mesmo protocolo de sinalizao como o SIP, IAX, H323 e etc.
Captura de chamadas
Captura direta:
Captura uma chamada diretamente especificando o ramal que se
deseja capturar, independente do grupo e protocolo
Sintaxe:
PickUp(extenso@contexto)
Exemplo:
exten=> _030xx,1,PickUp(${EXTEN:1}@local)
Gravao de chamadas
- MixMonitor.: Grava o udio da chamada no formato
da extenso especificada
- Sintaxe:
MixMonitor(arquivo.ext,opes)
- Opes:
a .: Adiciona no final do arquivo a gravao ao invs de
subscrever o udio
b .: Grava o udio depois da chamada ser atendida
Gravao de chamadas
Exemplo:
[local]
exten=> _40xx,1,MixMonitor(chamada-${EXTEN}.gsm,ab)
exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW)
exten=> _40xx,n,HangUp()
;localizao dos arquivos:
/var/spool/asterisk/monitor/
- Sintaxe:
Monitor(formato, arquivo,opes)
- Opes:
m.: Mixa os arquivos de entrada e sada ao final da gravao
b.: Grava o udio aps a chamada ser atendida
Gravao de chamadas
Exemplo:
[local]
exten=> _40xx,1,Monitor(WAV,chamada-${EXTEN},mb)
exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW)
exten=> _40xx,n,HangUp()
Arquivo iax.conf
Permite a comunicao entre dois servidores asterisk
IP da Matriz.: 192.168.0.1
- Faixa de ramais locais.: 10XX
- Faixa de ramais externos.: 20XX
IP da FILIAL: 192.168.0.3
- Faixa de ramais locais.: 20XX
- Faixa de ramais externos.: 10XX
Arquivo iax.conf
Cenrios de uso Modo Trunk
Exemplo conectando matriz e filial com o IAX:
;codigo para a matriz ;ramal local para a matriz
[general] [1000]
bindport=4569 type=friend
username=1000
bindaddr=0.0.0.0
secret=1000
disallow=all
host=dynamic
allow=gsm context=local
jitterbuffer=no auth=md5
forcejitterbuffer=no qualify=yes
maxjitterbuffer=100 trunk=yes
callerid=1000
Arquivo iax.conf
Cenrios de uso Modo Trunk
Exemplo conectando matriz e filial com o IAX:
;ramal para se conectar a filial
[2000]
type=friend
username=2000
secret=2000
host=dynamic
auth=md5
qualify=yes
trunk=yes
callerid=2000
Arquivo iax.conf
Cenrios de uso Modo Trunk
Exemplo conectando matriz e filial com o IAX:
;arquivo extensions.conf
[local]
include=>externo
exten=> _10XX,1,Dial(IAX2/${EXTEN},60,tT)
exten=> _10XX,n,Hangup()
[externo]
exten=> _20XX,1,Dial(IAX2/2000:2000@192.168.0.3/${EXTEN},60,tT)
exten=> _20XX,n,Hangup()
Arquivo iax.conf
Cenrios de uso Modo Trunk
Exemplo conectando matriz e filial com o IAX:
;codigo para a filial ;ramal para se conectar a matriz
[general] [1000]
bindport=4569 type=friend
bindaddr=0.0.0.0 username=1000
disallow=all secret=1000
allow=gsm host=dynamic
jitterbuffer=no auth=md5
forcejitterbuffer=no qualify=yes
maxjitterbuffer=100 trunk=yes
callerid=1000
Arquivo iax.conf
Cenrios de uso Modo Trunk
Exemplo conectando matriz e filial com o IAX:
;ramal local para a filial
[2000]
type=friend
username=2000
secret=2000
host=dynamic
context=local
auth=md5
qualify=yes
trunk=yes
callerid=2000
Arquivo iax.conf
Cenrios de uso Modo Trunk
Exemplo conectando matriz e filial com o IAX:
;arquivo extensions.conf
[local]
include=>externo
exten=> _20XX,1,Dial(IAX2/${EXTEN},60,tT)
exten=> _20XX,n,Hangup()
[externo]
exten=> _10XX,1,Dial(IAX2/1000:1000@192.168.0.1/${EXTEN},60,tT)
exten=> _10XX,n,Hangup()
Contato, Criticas, Sugestes e Dvidas:
vicente.proj@hotmail.com
Endereo do You Tube:
- http://www.youtube.com/user/voipjava
Web sites:
www.asterisk.org
www.digium.com
www.voip-info.org
Fim