использую давно bash в качестве AGI. Чего только на нём не делал – всё работает как часы.
Для того, чтобы получить в диалплан обратно параметры из bash, нужно сделать следующее:
#!/bash
# тут получили параметры, переданные скрипту как $1, $2 и т.п..
# произвели какие-то вычисления и нам нужно вернуть в диалплан
# переменную $res и использовать её в диалплане как bashres:
echo “SET VARIABLE bashres $res”
В диалплане после этого на время жизни канала будет доступно значение локальной переменной bashres:
….
exten => s,n,AGI(myscript,${ARG1}, ${ARG2})
exten => s,n,NoOp(Result: ${bashres})
…..