1 | изначальная версия редактировать | |
Всем доброго дня.
Необходимо отслеживать ход звонка, иметь возможность потом найти все записанные аудио-файлы, не соединяя их. Ключевой момент - звонок переводится оператором на внешний номер через 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 начальный звонок и переведенный?
Заранее спасибо.
2 | No.2 Revision редактировать |
Всем доброго дня.
Необходимо отслеживать ход звонка, иметь возможность потом найти все записанные аудио-файлы, не соединяя их. Ключевой момент - звонок переводится оператором на внешний номер через 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 начальный звонок и переведенный?
Заранее спасибо.
3 | Добавил решение. редактировать |
Всем доброго дня.
Необходимо отслеживать ход звонка, иметь возможность потом найти все записанные аудио-файлы, не соединяя их. Ключевой момент - звонок переводится оператором на внешний номер через 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})
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.