Use a interface fastagi.Ou dispare UserEvent com ouvinte AMI.
AGI não foi projetado para funcionar como você deseja, então não funcionará.
Claro que você pode usar o comando nohup para obter o script bash imortal, mas não é assim que tem sido.
Pergunta
Eu tenho um dialplan Asterisk que executa um script bash que corresponde ao callerID com um banco de dados para localizar geograficamente o chamador (correspondendo aos códigos de país e área).Como o banco de dados é bastante grande (escala global), leva até 15 segundos para ser concluído.
Preciso executar este script imediatamente após atender a chamada (caso o usuário desligue antes do término da chamada), mas não quero que o usuário espere a execução do script.Idealmente, os valores de retorno devem ser processados no final do dialplan, pouco antes do desligamento.
P1:eu encontrei http://www.voip-info.org/wiki/view/Asterisk+AGI#Forkandcontinuedialplan que trata do meu problema em relação aos scripts perl.Como faço o mesmo no bash?Eu sei que posso enviar qualquer script bash para segundo plano adicionando um "&" no final, mas não tenho ideia de como fazer isso no dialplan/ao usar scripts AGI.
Q2:Como posso processar os valores mesmo que o usuário tenha desligado antes/o dialplan "saiu diferente de zero"?
Obrigado pela ajuda!
Solução
Use a interface fastagi.Ou dispare UserEvent com ouvinte AMI.
AGI não foi projetado para funcionar como você deseja, então não funcionará.
Claro que você pode usar o comando nohup para obter o script bash imortal, mas não é assim que tem sido.