Descrição: O ExternalIVR() permite a integração com um sistema IVR (Interactive Voice Response) externo, seja executando um comando em um novo processo ou conectando-se a um host via socket. O aplicativo externo controla a lista de reprodução do gerador associado ao canal, podendo adicionar ou limpar itens por meio de comandos simples enviados via stdout. O aplicativo externo recebe todos os eventos DTMF detectados no canal, bem como notificações de término da chamada. O processo externo não é finalizado automaticamente quando o canal é encerrado, a menos que seja explicitamente instruído. Para mais detalhes, consulte doc/AST.pdf.
Sintaxe:
ExternalIVR(command|ivr://host([arg1,[arg2[,...]]]),[options])
Parâmetros:
- command|ivr://host: comando a ser executado ou endereço do host no formato ivr://host.
- arg1, arg2, ...: argumentos opcionais passados ao comando ou host.
- options: opções de comportamento:
- n: indica ao ExternalIVR() para não atender o canal automaticamente.
- i: evita que o ExternalIVR() encerre ao receber um evento de hangup; em vez disso, envia uma mensagem informativa 'I', indicando que o aplicativo externo deve encerrar a chamada com o comando 'H'.
- d: permite que o ExternalIVR() execute em um canal já encerrado, sem monitorar novos eventos de hangup. Nesse caso, o aplicativo externo deve finalizar com o comando 'E'.