AGI com Shell Script


Aprenda como criar arquivos AGI (Asterisk Gateway Interface) com ShellScript


Salve Manolos Bando de Dados!

Hj tenho uma carta boa na manga! Não é a forma mais facil de se criar um AGI (Asterisk Gateway Interface) mas independe totalmente de API’s como PHP, Python e Java (nem se fala). Estou falando de AGI’s em Shell Script. Pra quem tem intimidade com a linguagem vai ser “mamão com açucar”. O acesso ao banco (se necessário) não é nada oculto mas vc pode criar seus mecanismos para facilitar a chamada a conexão com tal (tipo simular uma “classe de conexão”) mas isso não será abordado aqui, nem conector com o banco é necessário, estamos falando em Shell! Tudo estará explicito pra vcs.

Mãos a obra!

—————————————-

 

# Recebendo Variaveis do Asterisk no lançamento
echo $agi_request >&2
echo $agi_channel >&2
echo $agi_language >&2
echo $agi_type >&2
echo $agi_uniqueid >&2
echo $agi_callerid >&2
echo $agi_dnid >&2
echo $agi_rdnis >&2
echo $agi_context >&2
echo $agi_extension >&2
echo $agi_priority >&2
echo $agi_enhanced >&2

#Analisando respostas dos comandos (deve ser executado a cada comando)

checkresults() {
while read line
do
case ${line:0:4} in
“200 ” ) echo $line >&2
return;;
“510 ” ) echo $line >&2
return;;
“520 ” ) echo $line >&2
return;;
* ) echo $line >&2;; #Continua lendo até um possivel erro
#Tipo um “520 End …”
esac
done
}

# Agora vc brinca com sua lógica!

sql=($conect "SELECT coluna FROM Banco.tabela WHERE numero = $agi_callerid")
pass=${sql[1]}
echo “1. Testando Playback …” >&2
echo “STREAM FILE beep \”\””
checkresults

echo “2. Mandando texto pro canal …” >&2
echo “send text \”que\ bruxaria\ essa?\””
checkresults

echo “3. Setando variavel …” >&2
echo “set variable \”CHANNEL(language)\” pt_BR”
checkresults

echo “4. Testando ‘saynumber’ …” >&2
echo “SAY NUMBER $agi_extension \”\””
checkresults

echo “5. Setando variavel …” >&2
echo “set variable Bla $pass”
checkresults

echo “6. Testando ‘say phonetic’ …” >&2
echo “say phonetic gsm \”\””
checkresults

echo “6a. playback” >&2
echo “STREAM FILE tt-monkeys \”\” “
checkresults

echo “” >&2
echo “verbose $1”
checkresults

Só isso galera, go Shell!

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *