AddQueueMember и Agent ID в CDR
FreeBSD 8.0
После отказа от AgentCallbackLogin и перехода на AddQueueMember из CDR исчезло соответсвие Channel-AgentID.
На эту тему нашёл ключик в queues.conf updatecdr=yes
Поставил.
Результата не дало.
Порыв нашёл вот такое описание: https://issues.asterisk.org/view.php?id=14590
Но это для старых версий. Думал в последней версии это уже есть.
Лечится ли это как-нибудь? Можно ли как-нибудь заставить * писать в CDR что за агент ответил на вызов? Может каким-нибудь AGI скриптом?
Кстати, ещё не совсем понятно: для агентов, зарегистрированных в очереди как dynamic через AddQueueMember в каком контектсте будет идти вызов на телефон агента? Как это управляется? Через AgentCallbackLogin контекст задавался явно...
Смотрю переменную MEMBERINTERFACE. Она равна SIP/5011 - то есть устройству агента. А хотелось бы всё же иметь Agent/1001 вместо этого.
Остальные переменные вообще пустые.
Added after 3 hours 8 minutes:
В общем, задачка через переменные агента не решилась.
MEMBERINTERFACE даёт SIP/5011, а остальные почему-то пустые.
Сделан небольшой AGI скрипт, в который передаётся этот параметр, а уже он из онлайн агентов находит соответствие с Agent/1001 и возвращает его для записи в CDR.
При этом этот скрипт срабатывает на положенную трубку (extension h).
Всё работает.