![]() |
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.