[AsteriskBrasil] Duvidas no dialplan / callback / conferencia

Leonardo Gomes Figueira sabbathbh.lists em gmail.com
Quinta Março 29 09:35:22 BRT 2007


Caio Pato escreveu:
> Eu estou brincando com o callback e agora apareceu uma ideia que eu
> estou tentando desenvolver.
> 
> A idéia é a seguinte:
> 1) Uma pessoa coloca o seu telefone em uma pagina web;
> 2) Ela recebe uma ligação (callback) onde o sistema se apresenta e
> pede que ela diga o nome dela;
> 3) Essa pessoa é colocada em espera e dá-se início a segunda fase.
> 
> Segunda parte:
> a) Uma nova chamada é realizada para um número pré-determinado;
> b) Quando a chamada for atendida, há um aviso que existe uma chamada
> em espera da pessoa "tal" (playback do nome gravado no passo 2);
> c) Apresenta-se algumas opções, como enviar a chamada para o correio
> de voz, atender a chamada ou encaminhar a chamada para o correio de
> voz E adicionar o número daquela pessoa na lista de bloqueio.
> 
> As fases independentes estão funcionando - primeira fase está
> perfeita, a segunda também. O problema é JUNTAR essas duas fases
> distintas e unir a pessoa da parte 1 com a pessoa da parte 2. Jogar a
> primeira pessoa em uma conferência? Porém, como começar a segunda
> fase, chamando o outro usuário? AGI? DeadAgi? A opção de enviar para
> conferência PARECE ser a mais simples, pois conseguindo iniciar a
> segunda perna da chamada, o destino seria jogado dentro da mesma
> conferência... Mas se a pessoa (1) for para a conferência, como
> "retirá-la" de lá e jogá-la no correio de voz se essa for a opção
> escolhida?

Dependendo da complexidade de recursos que voce quer oferecer com
DeadAGI + Manager (Originate,  Redirect) + MeetMe ou Park voce faz isso.
Uma das vantagens do Park sobre o MeetMe é que voce define um
determinado timeout e se der algum "pau" no seu DeadAGI (algum bug ou
situação não prevista por exemplo) a chamada da origem não fica presa
aguardando até ser desligada pela origem que é o que aconteceria com MeetMe.

Agora se for algo mais simples talvez a opção M() do Dial atenda sua
necessidade (esta opção executa uma Macro para o channel chamado antes
de efetuar a Bridge e o resultado da Macro é que define se ocorrerá a
Bridge ou não).

  Leonardo



Mais detalhes sobre a lista de discussão AsteriskBrasil