Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2012-07-24 17:45:51 +0400

Sergey Melnik Gravatar Sergey Melnik flag of Russian Federation

Сохранение accountcode при трансфере звонка. Elastix|FreePBX

Всем доброго дня.

Необходимо отслеживать ход звонка, иметь возможность потом найти все записанные аудио-файлы, не соединяя их. Ключевой момент - звонок переводится оператором на внешний номер через 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 начальный звонок и переведенный?

Заранее спасибо.

Сохранение accountcode при трансфере звонка. Elastix|FreePBX

Всем доброго дня.

Необходимо отслеживать ход звонка, иметь возможность потом найти все записанные аудио-файлы, не соединяя их. Ключевой момент - звонок переводится оператором на внешний номер через 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 начальный звонок и переведенный?

Заранее спасибо.

Сохранение accountcode при трансфере звонка. Elastix|FreePBX

Всем доброго дня.

Необходимо отслеживать ход звонка, иметь возможность потом найти все записанные аудио-файлы, не соединяя их. Ключевой момент - звонок переводится оператором на внешний номер через 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.