Есть задача сделать так, чтобы при сохранении логов звонков в базу все звонки, которые были выполнены друг за другом при помощи transfer в очередь (как blind, так и attended), были связаны при помощи одного общего id для логов во внешней БД. Назовём его callchain.
Я попробовал решить эту задачу при помощи наследуемой переменной (__CALLCHAIN).
Вот тестовый вариант, который выводит и назначает одинаковый ID для проверки наследуемости переменных, в финальном будет использоваться AMI:
Код: Выделить всё
[macro-callchain]
exten => s,1,NoOp(CALLCHAIN)
exten => s,2,Set(__CALLCHAIN=1234)
[queues]
exten => 2803,1,Macro(callchain)
exten => 2803,2,Queue(noc,tT,,,600)
exten => 2804,1,Macro(callchain)
exten => 2804,2,Queue(support,tT,,,600)
Так вот, если я делаю blind transfer - всё хорошо:
Код: Выделить всё
тут мы звоним в 2804:
NoOp("")
....
тут мы трансферим в 2803:
NoOp(1234)
Код: Выделить всё
тут мы звоним в 2804:
NoOp("")
....
тут мы трансферим в 2803:
NoOp("")