Asterisco:não espere que o script AGI (bash) termine antes de continuar no dialplan

StackOverflow https://stackoverflow.com/questions/19840520

  •  29-07-2022
  •  | 
  •  

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!

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top