Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
[INBOUND]
include=> a_trabalhar|9:00-17:30|mon-fri
include=> a_n_trabalhar
[a_trabalhar]
exten=>0,1,Dial(ZAP/1,20)
exten=>0,2,Goto(menu,s,1)
[a_n_trabalhar]
exten=>s,1,Playback(estamos fechados) //o playback obriga a ouvir
exten=>0,2,Goto(menu,s,1)
[menu]
exten=>s,1,Background(menu)
exten=>1,1,Goto(interno)
exten=>0,1,Wait(20)
exten=>0,1,Hangup
[menu_in]
exten=>s,1,Background(menu_in)
//apresentar menu
exten=>1,1,Goto(extern,s,1)
// ir para o contexto ligar para fora
exten=>2,1,Dial(Zap/1,20)
// ligar outro nmero (tipo vendas,etc..)
exten=>3,1,Goto(cria_conferencia)
// criar conferencia dinamicamente
exten=>0,1,Wait(20)
exten=>0,1,Hangup
[extern]
exten=>s,1,Background(extwhat) //apresentar menu de escolha
exten=>1,1,Goto(local)
exten=>2,1,Goto(international)
exten=>3,1,Goto(interno)
exten=>4,1,Goto(directdial)
[directdial]
exten=>0,1,Dial(Zap/g2/)
exten=>0,2,Congestion
[international]
include=>international_VOIP
include=>international_PT
[international_VOIP]
exten=>_3512XNXXXXXX,1,Dial(Zap/g2/${EXTEN:1}) // internacional PT
exten=>_3512XXXXXXXX,2,Congestion
[international_PT]
exten=>_003512XNXXXXXX,1,Dial(Iax/crit_uk/${EXTEN})
exten=>_003512XNXXXXXX,2,Dial(Zap/g2/${EXTEN:1})
exten=>_003512XXXXXXXX,3,Congestion
[interno]
exten=>_1XXX,1,Dial(Zap/g2/${EXTEN:1})
exten=>_1XXX,2,Congestion
// 4 digitos sendo o 1 1
// avisar se no conseguir
[local]
include=>local_VOIP
include=>local_PT
[local_VOIP]
exten=>_239XXXXXX,1,Dial(Zap/g2/${EXTEN:1})
exten=>_239XXXXXX,2,Congestion
[local_PT]
exten=>_239XXXXXX,1,Dial(Iax/crit_LX/${EXTEN})
exten=>_239XXXXXX,2,Dial(Zap/g2,${EXTEN:2})
exten=>_239XXXXXX,3,Congestion
[voicemail]
//v quem telefona, e dp s lhe pede
exten=> 9999,1,VoicemailMain(s${CALLERIDNUM})
exten=> 9999,2,Hangup
[cria_conferencia]
exten=>0000,1,Wait(1)
exten=>0000,2,MeetMe(|MDi) //http://www.voip-info.org/wiki-Asterisk+cmd+MeetMe
[INTERNAL]
// DENTRO->DENTRO
include=>interno
exten=>9,1,Dial(ZAP/1,20)
exten=>112,1,Goto(nineoneone,s,1)
[globals]
EMERGENCY=0
EMERGENCY_TRUNK=Zap/17
EMERGENCY_NUM=112
[nineoneone]
exten
exten
exten
exten
exten
exten
exten
exten
exten
exten
exten
exten
exten
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
s,1,SetVar(SET_EMERG_FLAG=0)
s,n(checkavail),ChanIsAvail(${EMERGENCY_TRUNK})
s,n,SetGlobalVar(EMERGENCY=1)
s,n,SetVar(SET_EMERG_FLAG=1)
s,n(dial),Dial(${EMERGENCY_TRUNK}/${EMERGENCY_NUM})
s,s+2(trunkbusy),GotoIf($[${EMERGENCY} = 1]?inprogress)
s,n,SoftHangup(${EMERGENCY_TRUNK}-1)
s,n,Wait(12)
s,n,Goto(checkavail)
s,s+2(inprogress),Congestion
s,checkavail+101(notavail),Goto(trunkbusy)
h,1,GotoIf($[${SET_EMERG_FLAG} = 1]?3)
h,3,SetGlobalVar(EMERGENCY=0)
Configuraes no voicemail.conf:
format=wav49|gsm|wav
servermail=asterisk
attach=yes
maxmessage=180
minmessage=3
charset=ISO-8859-1
pbxskip=no
fromstring=Edgebox's PBX
emailsubject=...
emailbody=...
[default]
Configuraes no sip.conf:
context=default
// ter em ateno como vai ficar definido o INCOMING
tos=lowdelay
// lowdelay,throughput,reliability,mincost,none
videosupport=yes
// vamos suportar isto?
register => 1234:password@mysipprovider.com // registar-se num SIP proxy
Configuraes no cdr_manager.conf:
enabled=yes
// vamos fazer billing? (este mdulo tem que estar carregado: cdr_csv.so)
Configuraes no cdr_pgsql.conf:
[global]
hostname=localhost
port=5432
dbname=asterisk
password=password
user=postgres
Configuraes no extensions.conf:
ateno que este ficheiro que leva aquelas definies todas que andam l por cima
Configuraes no parking.conf:
[general]
parkext => 700
parkpos => 701-720
parkingtime => 45
original toca de novo)
adsipark = yes
pickupexten = *8
Configuraes no meetme.conf:
conf => num_da_conf,PIN
Configuraes no musiconhold.conf:
[classes]
default => quietmp3:/var/lib/asterisk/mohmp3
Notas:
Directory
Tambm possvel a utilizao de uma lista telefnica (Directory), valer a pena investir j nisto
nesta fase inicial?
http://www.voip-info.org/wiki-Asterisk+config+skinny.conf
MeetME Control
http://www.areski.net/asterisk-meetme/about.php?s=0
Audio
Os
vrios
sons
utilizados
pelo
sistema
encontram-se
normalmente
em
Telefones (syntaxe)
[phone1]
type=friend
// seria peer se isto se tratasse de um proxy
host=dynamic
defaultip=192.168.1.4
username=blah
secret=blah
// podem usar-se aqui hashes md5 (md5secret=)
dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info
mailbox=9999 ; Mailbox for message waiting indicator
context=sip
// todos os telefones, pelo menos inicialmente devem estar no mm
callerid="Me" <2124>
Firewall
Portas que devem passar conforme a necessidade:
5060 (tcp/udp)
4569 (udp)
5036 (udp)
10000:20000 (udp)
2727 (udp)
Um dos mecanismos que aumentam a segurana, a hiptese de no se ter que correr o asterisk
com a conta de um utilizador com permisses elevadas (eg. root). Um pequeno tutorial sobre como
se por a correr o Asterisk a correr com um utilizador mais limitado encontra-se no seguinte
endereo: http://www.voip-info.org/wiki-Asterisk+non-root.
Deve-se tambm ter em conta que o algoritmo de encriptao durante a autenticao via protocolo
SIP o MD5, que apesar de no ser o mais seguro, j fornece uma boa camada de confidencialidade
e proteco.
Aquando a implementao do sistema no se sistema a consulta de um documento da Cisco
(http://www.cisco.com/en/US/tech/tk652/tk701/technologies_white_paper09186a00800ae41c.shtml
) onde so descritas implementaes prticas de sistemas VOIP.
Nos contextos deve-se tambm ter em conta que no pode ser possvel aos utilizadores que ligam
de fora possam utilizar a conta da empresa para fazer chamadas custa da mesma.