
Executa um programa compatível com Asterisk Gateway Interface (AGI) em um canal. O AGI permite que o Asterisk inicie programas externos escritos em qualquer linguagem para controlar um canal de telefonia, reproduzir áudio, ler dígitos DTMF, etc., comunicando-se por meio do protocolo AGI.
As seguintes variantes de AGI existem e são escolhidas com base no valor passado ao parâmetro command:
command como um novo processo. A comunicação com o script ocorre via stdin e stdout. Se o caminho completo para o script não for fornecido, será utilizado o diretório astagidir especificado em asterisk.conf.[scheme]://host.domain[:port][/script/name], onde scheme é agi ou hagi. No caso de hagi, uma consulta SRV será realizada para tentar conectar a uma lista de servidores FastAGI. O nome do host no URI deve ser prefixado com _agi._tcp antes da resolução DNS. Por exemplo, se você especificar o URI hagi://agi.example.com/foo.agi, a consulta DNS será por _agi._tcp.agi.example.com. É necessário garantir que isso seja resolvido corretamente.AMI, com uma variedade de eventos específicos do AGI retornados pela conexão AMI. O AsyncAGI deve ser invocado passando agi:async ao parâmetro command.Observação: A partir da versão 1.6.0, este canal não interrompe a execução do dialplan em caso de desligamento dentro desta aplicação. A execução do dialplan continuará normalmente, mesmo após o desligamento, até que a aplicação AGI indique o desejo de parar (seja ao sair ou, no caso de um script de rede, ao fechar a conexão). Um script AGI executado localmente receberá SIGHUP em caso de desligamento do canal, exceto quando já estiver desligado. Um servidor FastAGI receberá um sinal HANGUP em linha com o diálogo de comando. Ambos os sinais podem ser desativados definindo a variável de canal AGISIGHUP como no antes de executar a aplicação AGI. Alternativamente, se desejar que a aplicação AGI saia imediatamente após detectar o desligamento do canal, defina a variável AGIEXITONHANGUP como yes.
Exemplos:
/tmp/my-cool-script.sh, passando o conteúdo da variável de canal FOO: same => n,AGI(/tmp/my-cool-script.sh,${FOO})my-cool-script.sh localizado no diretório astagidir, especificado em asterisk.conf: same => n,AGI(my-cool-script.sh)127.0.0.1 e iniciar o script awesome-script: same => n,AGI(agi://127.0.0.1/awesome-script)same => n,AGI(agi:async)Variáveis retornadas:
Sintaxe: AGI(command,arg1,[arg2[,...]])
Parâmetros:

