[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