Posts Tagged ‘elastix’

Corrigindo bug do ChanSpy no Elastix 2.0

Published by Livison Dantas on março 1st, 2011 - in Dicas, Telefonia

A versão 2.0 do Elastix trouxe algumas mudanças na execução dos seus contextos. A função original ChanSpy por exemplo, que permitir monitorar (ouvir) em tempo real uma chamada, apresenta uma forma diferente de execução em relação a sua versão anterior.

Ao executar o código 555 na versão anterior o sistema solicitava a senha, em seguida o numero do ramal que desejava monitorar e iniciava o processo. No Elastix 2.0 o contexto original deste comando não executa este procedimento e eu não consegui por para funcionar. Acredito que seja algum problema no FreePBX.

Enquanto a solução não vem com a atualização do sistema, criei por conta própria um novo conexto para o ChanSpy funcionar baseado na versão anterior do Elastix.

Insira o contexto a seguir no “extensions_custom.conf” , salve, e no Asterisk-CLI digite “reload” ou na console do linux digite “service asterisk reload” e teste.

Lembrando que no exemplo abaixo a senha de acesso ao recurso ChanSpy está definida para 1234, para alterar essa senha basta editar o código no local correspondente e para acessar esse recurso, no contexto abaixo está definido o código ’155′  ao invés do padrão ’555′ do Elastix.

[app-chanspy]
include => app-chanspy-custom
exten => 155,1,Authenticate(1234)
exten => 155,n,Background(beep)
exten => 155,n,Read(chan,,4)
exten => 155,n,ChanSpy(SIP/${chan},q)
exten => 155,n,Hangup

Hora certa no Elastix 2.0

Published by Livison Dantas on fevereiro 28th, 2011 - in Dicas, Telefonia

Para os profissionais que estão buscando otimizar a distribuição do Elastix 2.0 ao idioma Português Brasileiro será necessário mais do que instalar os arquivos de áudio disponibilizado de forma gratuíta na internet pela Creative Commons, criado para o antigo projeto Disc-OS (clique aqui para baixar).

Algumas otimizações serão necessárias no arquivo extensions.conf para que a pronuncia das palavras ocorram corretamente.

No exemplo a seguir, criamos um novo contexto onde permitirá ao usuário que discar ’130′ do seu ramal, ouvir a hora certa de forma correta. Lembro que se houver algum ramal ou recurso associado a este mesmo código, ele não vai funcionar.

Adicione o seguinte contexto no seu arquivo “extensions_custom.conf” e em seguida recarregue o Asterisk na memória utilizando  o comando ‘reload’ em sua console.

Semana que vem publicarei novas dicas de uso e otimização do Asterisk. E caso sua empresa necessite de soluções especificas na área de Telefonia IP é só entrar em contato conosco.
Livison Dantas.
# Asterisk Analyst
# Elastix Certified Professional
[app-speakingclock]
include => app-speakingclock-custom
exten => 130,1,Answer
exten => 130,n,Wait(1)
exten => 130,n,Set(NumLoops=0)
exten => 130,n(start),Set(FutureTime=$[${EPOCH} + 11],’hours’)
exten => 130,n,Playback(at-tone-time-exactly)
exten => 130,n,GotoIf($["${TIMEFORMAT}" = "kM"]?hr24format)
exten => 130,n,SayUnixTime(${FutureTime},,IM ‘and’ S ‘seconds’ p)
exten => 130,n,Goto(waitloop)
exten => 130,n(hr24format),SayUnixTime(${FutureTime},, k ‘hours’ ‘and’ M ‘minutes’)
exten => 130,n(waitloop),Set(TimeLeft=$[${FutureTime} - ${EPOCH}])
exten => 130,n,GotoIf($[${TimeLeft} < 1]?playbeep)
exten => 130,n,Wait(1)
exten => 130,n,Goto(waitloop)
exten => 130,n(playbeep),Playback(beep)
exten => 130,n,Wait(5)
exten => 130,n,Set(NumLoops=$[${NumLoops} + 1])
exten => 130,n,GotoIf($[${NumLoops} < 5]?start)
exten => 130,n,Playback(goodbye)
exten => 130,n,Hangup