Всем доброго дня.
Необходимо отслеживать ход звонка, иметь возможность потом найти все записанные аудио-файлы, не соединяя их. Ключевой момент - звонок переводится оператором на внешний номер через blind/attended transfer.
Были попытки сделать это через прописывание accountcode ( модулем для FreePBX и инжекцией кода через extensions_override_elastix.conf
)
[macro-record-enable]
exten => s,1,NoOP(${CDR(accountcode)})
exten => s,n,GotoIf($["${CDR(accountcode)}" = ""]?fixcode:start)
exten => s,n(fixcode),Set(CDR(accountcode)=${CDR(uniqueid)})
Но практика показала, что у трансфернутого звонка accountcode пустой вне зависимости от того, что было в изначальном звонке и accountcode устанавливается на свой uniqueid. Проверка на чистом Asterisk даёт другой результат. Там при blind-transfer всё связывается и всё на своих местах.
Что можно почитать, куда посмотреть для решения этой проблемы? Возможно я подхожу к вопросу не с той стороны? Как правильно связать в CDR начальный звонок и переведенный?
Заранее спасибо.
UDP. Адекватно работает код:
exten => s,n,GotoIf($["${AСCODE}" = ""]?fixcode:start)
exten => s,n(fixcode),Set(__AСCODE=${CDR(uniqueid)})
exten => s,n(start),Set(CDR(accountcode)=${AСCODE})
вы скорее всего не там аккаунт ставите
надо смотерть все создаваемые каналы
ну или просто выставте какуюто переменную и следите за ней. переменные во всех наследуемых каналх ставятся через __VARNAME
Задан: 2012-07-24 17:45:51 +0400
Просмотрен: 1,523 раз
Обновлен: Jul 24 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.