[AsteriskBrasil] LCR - Asterisk

Caio Begotti caio em ueberalles.net
Segunda Abril 10 00:37:22 BRT 2006


On Sunday 09 April 2006 23:09, Josué Conti wrote:
> Caso meu link de dados onde está o iax2 "caia" preciso retirar manualmente
> o comentário da outra rota, para que consiga efetuar ligações. No caso o
> que queria era automatizar esse processo.Para isso como devo proceder?

Eu entendi errado ou você quer uma espécie de fail-over dos links de saída?

Sei que isso pode não ter muito a ver com LCR, mas eu entendi que procura por 
algo assim... mas... bom, eu fiz isso com ajuda de um colega de trabalho e 
ficou muito decente.

A idéia por trás da coisa toda é mais ou menos a seguinte:

Você possui vários esquemas de saída de ligações com opções quebradas em 
várias variáveis no dialplan (não importa se é realtime ou não). Se é Zap ou 
SIP, se tem opções Dial() ou não etc etc

Você tem separado alguns contextos de status, um pra PSTN e outro pra algum 
outro PBX, e assim vai (ou junte os todos, whatever, depende da sua rede). 
Mas de qualquer forma, o contexto de checagem de status é importante ter.

Você vai precisar montar um loop que é alimentado pela resposta do CHANUNAVAIL 
(que estaria no contexto de status), e caso não satisfaça o que quer, 
continue indo pra sua macro de discagem padrão ou seja lá o que você usa 
(dica: macros salvam a sua pele).

Em um dos muitos contextos de saída, onde você filtra o padrão de discagem (se 
é que você separa celular, locais, DDD etc... não sei), você vai precisar 
zerar o tal contador do loop e concatenar em uma variável só, todas as opções 
dos seus esquemas de saída. Ou seja, uma meta-variável que leve pra frente 
informações separadas de cada uma de suas saídas. Em caso de problema em uma 
delas, as seguintes serão tentadas automagicamente, usando a checagem que 
você escolher manter no contexto de status que falei.

Na macro de saída propriamente dita, filtre a meta-variável e selecione o 
primeiro esquema de saída das ligações (tronco, AGI, tanto faz o que você 
usa). Se você usar append e trim na string de discagem, essa é a hora de 
manipulá-la e no fim deixá-la pronta pra funcionar.

Agora sim você pode executar seu AGI de discagem ou chamar o Dial() direto.
Obviamente você pode usar outra checagem de falha na ligação, não precisa ser 
CHANUNAVAIL se não quiser/puder usá-lo.

Bom, é por aí... fazem uns 4 meses que fiz isso, então não devo lembrar de 
tudo, mas boa sorte... se é isso mesmo que procura :-)

-- 
caio[1982] begotti
http://caio.ueberalles.net


Mais detalhes sobre a lista de discussão AsteriskBrasil