asterisk

Configuração do ASTERISK [INBOUND] // FORA->DENTRO com condições no horário include=> a_trabalhar|9:00-17:30|mon-fri ...

0 downloads 281 Views 192KB Size
Configuração do ASTERISK

[INBOUND]

// FORA->DENTRO com condições no horário

include=> a_trabalhar|9:00-17:30|mon-fri include=> a_n_trabalhar

[a_trabalhar]

// quem liga de FORA vem para aqui

exten=>0,1,Dial(ZAP/1,20) exten=>0,2,Goto(menu,s,1)

//se !operadora por menu

[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

//o background não obriga a ouvir //se n escolherem nada, desligamos

[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 número (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

//marca qualquer coisa que o user puser

[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 não 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)

Configurações 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]

// de quem é que vem o e-mail(user) // se o voicemail vai junto do e-mail de notificação ou não // tamanho máximo das mensagens em segundos // tamanho minimo das mensagens em segundos // será que queremos usar UTF-8 para dar para toda a gente? // deverá aparecer [PBX] no subject do e-mail? // de quem é que vem o mail // string a definir o subject do e-mail // dá para definir o corpo do e-mail usando-se algumas variáveis

// este 9999 seria criado com o comando addmailbox

9999 => 1234,,

Configurações no sip.conf: context=default // ter em atenção como vai ficar definido o INCOMING tos=lowdelay // lowdelay,throughput,reliability,mincost,none videosupport=yes // vamos suportar isto? register => 1234:[email protected] // registar-se num SIP proxy

Configurações no cdr_manager.conf: enabled=yes

// vamos fazer billing? (este módulo tem que estar carregado: cdr_csv.so)

Configurações no cdr_pgsql.conf: [global] hostname=localhost port=5432 dbname=asterisk password=password user=postgres

// vamos dar a hipótese de logar noutro sítio que não nosso?

Configurações no extensions.conf: atenção que este ficheiro é que leva aquelas definições todas que andam lá por cima

Configurações no parking.conf: [general] parkext => 700 parkpos => 701-720 parkingtime => 45 original toca de novo) adsipark = yes pickupexten = *8

// que número é que se marca para fazer o park // entre que extenções é que ficam as chamadas paradas (dá para 19 aqui) // tempo máximo para uma chamada ficar em park em segundos (depois o // avisa-se via ADSI sobre os parks? // configurar a extensão para se returnar do park

Configurações no meetme.conf: conf => num_da_conf,PIN

// não é necessário se usarmos criação dinâmica

Configurações no musiconhold.conf:

// o Asterisk precisa de levar reload

[classes] default => quietmp3:/var/lib/asterisk/mohmp3

Notas: ●

Directory

Também é possível a utilização de uma lista telefónica (Directory), valerá a pena investir já nisto nesta fase inicial? ●

Configuração com CISCO clients

http://www.voip-info.org/wiki-Asterisk+config+skinny.conf



MeetME Control

http://www.areski.net/asterisk-meetme/about.php?s=0



Audio Os

vários

sons

utilizados

pelo

sistema

encontram-se

normalmente

em

/var/lib/asterisk/sounds e utilizam o formato GSM. Para que se possam implementar

outras linguas, devem-se seguir os seguintes critérios:





/var/lib/asterisk/sounds/pt digits/pt letters/pt etc

● ●

definir-se a lingua ou via variável language=pt ou via a função SetLanguage() neste momento existem cerca de 922 sons

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)

[SIP (alguns só usam a udp)] [IAX .v2] [IAX] [media stream] [media gateway protocol]

Algumas considerações relativamente à segurança

Um dos mecanismos que aumentam a segurança, é a hipótese de não se ter que correr o asterisk com a conta de um utilizador com permissões 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 endereço: http://www.voip-info.org/wiki-Asterisk+non-root. Deve-se também ter em conta que o algoritmo de encriptação durante a autenticação via protocolo SIP é o MD5, que apesar de não ser o mais seguro, já fornece uma boa camada de confidencialidade e protecção. Aquando a implementação do sistema não se sistema a consulta de um documento da Cisco (http://www.cisco.com/en/US/tech/tk652/tk701/technologies_white_paper09186a00800ae41c.shtml ) onde são descritas implementações práticas de sistemas VOIP. Nos contextos deve-se também ter em conta que não pode ser possível aos utilizadores que ligam de fora possam utilizar a conta da empresa para fazer chamadas à custa da mesma.