Интересное наблюдение:
Если аргументом функции REALTIME_FIELD() передавать переменную, то "оно не работает".
Пример (выясняем тырфейс агента, принявшего вызов):
exten => s,1,NoOp(UNIQUEID: ${UNIQUEID}, VAR: ${REALTIME_FIELD(queue_log,data2,${UNIQUEID},agent)}, CONST: ${REALTIME_FIELD(queue_log,data2,1350554822.7196,agent)})
В логе:
-- Executing [s@macro-snarl:1] NoOp("SIP/1212-0000150c", "UNIQUEID: 1350555821.7236, VAR: , CONST: SIP/1212") in new stack
Для пущей уверенности уточним у мускула:
mysql> select agent from queue_log where data2 = '1350555821.7236';
+----------+
| agent |
+----------+
| SIP/1212 |
+----------+
1 row in set (0.02 sec)
Пробовал обрамлять ${UNIQUEID} кавычками двойными и одинарными - результат то же (вернее, отсутствует)
Как быть?
Задан: 2012-10-18 14:36:43 +0400
Просмотрен: 267 раз
Обновлен: Oct 18 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
а что конкретно не так? у вас вроде как и в noop sip/1212. ну или обьясните как по вашему ДОЛЖНО быть.
meral ( 2012-10-18 22:14:22 +0400 )редактироватьДОЛЖНО быть:
т.е. получить в переменную, а не в лог..
viktorkho ( 2012-10-19 08:32:26 +0400 )редактироватьХотя переменная тут ни при чем, в этот момент (когда отрабатывает функция диалплана), в таблице похоже еще не существует искомой записи..
viktorkho ( 2012-10-19 08:40:22 +0400 )редактироватьну вот видите. дебаг рулит.
meral ( 2012-10-19 13:04:43 +0400 )редактировать