AGI

1. AGI

Perfil removido
removido

(usa Nenhuma)

Enviado em 04/11/2006 - 11:35h

Olá caros. Eu escrevi um agi em c que consulta uma base de dados que contém os créditosde meus clientes e disca uma chamada caso tenha crédito e feche o canal caso não tenha. Depois da chamada, ele calcula o tempo da chamada pelo registro cdr e desconta os créditos. Pois bem, a dificuldade é que quando ele consulta a tabela cdr, na verdade não encontra ainda o último registro, que é da chamada que acada de acontecer, mas sim a anterior, e assim por diante. Ou seja, eu falo agora e só será cobrada na próxima chamada que fizer. Meu contexto está assim:

exten=>_XX.,1,agi(dialer|${EXTEN})
exten=>_XX.,2,agi(bill)

Onde dialer é quem consulta os créditos e faz a ligação e bill apenas calcula o uso e debita os créditos. Têm alguma idéia?


  


2. Consegui!

Perfil removido
removido

(usa Nenhuma)

Enviado em 12/01/2007 - 23:25h

Obrigado pela atenção de vocês mas a solução é muito fácil:

exten=>_XX,1,agi(dialer|{EXTEN})
exten=>h,1,deadagi(bill)

Depois que a aplicação 'dial' é terminada, o canal é desligado, e nenhuma prioridade após é executada. Por isso tenho que colocar o bill em uma extensão especial (h) que é executada sempre que algum canal é desligado. Por isso, eu preciso usar a aplicação deadagi, pois ele atuará em um ramal morto.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts