Доброго времени суток!
Решил дописать к своему биллингу работу с картами.
Есть AGI-скрипт на С. Делаю запрос:
("EXEC READ DtmfText|%s|%d|||%d", file, DTMF_MAX, DTMF_TIMEOUT)
Думаю, что значение переменных понятно. ;)
READ успешно выполняется и записывает в переменную DtmfText набранные цифры. Вот тут и начинаются чудеса!
По GET VARIABLE "DtmfText" (и без кавычек тоже самое) я не могу прочитать эту переменную! Если после вызова AGI -скприпта в диалплане написать
NoOp(DtmfText=${DtmfText})
то asterisk выводит (!!!) значение переменной!
При отладке тоже видно, что переменная заполняется!
А вот в AGI-скрипте ничего не видно!
Пробовал использовать стандартную для AGI команду:
("GET DATA \"%s\" %d %d", file, DTMF_TIMEOUT, DTMF_MAX)
Возвращает 0, т.е. ничего не прочитано. ;(
Что делать?
P.S. AGI-скрипт вызывается с помощью DeadAGI.
Версия asterisk'а: CVS HEAD на 2005/11/25...
Да, есть еще вопросик: почему asterisk выводит по "VERBOSE 'text' level" только некую начальную часть сообщения 'text'? Как заставить asterisk вывести сообщение целиком?!!