Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Кодировка caller id в cisco 7912G

Вопросы по использованию и настройке IP телефонов, шлюзов и всего прочего

Модератор: april22

Re: Кодировка caller id в cisco 7912G

Сообщение ded » 12 ноя 2017, 16:43

werter писал(а): можно ли привязать все это дело в зависимости от номера абонента?
Конечно можно, но и нужно. Строку конвертации надо чуть усложнить: для внутреннего номера 1234 делаем конвертацию
Код: выделить все
exten => s,n,ExecIf(${CALLERID(num)}=1234?Set(AMPUSERCIDNAME=${ICONV(UTF-8,CP1251,${DB(AMPUSER/${AMPUSER}/cidname)})})

Синтаксис сами поправите?
ded
 
Сообщений: 12650
Зарегистрирован: 26 авг 2010, 19:00

Re: Кодировка caller id в cisco 7912G

Сообщение werter » 13 ноя 2017, 16:06

Приветствую вас, коллеги.
Уважаемый ded, огромное спасибо. Получилось!

Решение(-я):
Код: выделить все
exten => s,n,ExecIf($["${CALLERID(num)}" = "800"]?Set(AMPUSERCIDNAME=${ICONV(UTF-8,CP1251,${DB(AMPUSER/${AMPUSER}/cidname)})}):Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)}))

или
Код: выделить все
exten => s,n,ExecIf($["${CALLERID(dnid)}" = "800"]?Set(AMPUSERCIDNAME=${ICONV(UTF-8,CP1251,${DB(AMPUSER/${AMPUSER}/cidname)})}):Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)}))
werter
 
Сообщений: 4
Зарегистрирован: 10 ноя 2017, 18:30

Re: Кодировка caller id в cisco 7912G

Сообщение werter » 13 ноя 2017, 16:16

Двигаюсь далее.

Вариант 1.
Знаю, что возможно создать алиас\пул номеров экстеншенов, чтобы их туда вносить и далее выполнялось преобразование описанное выше?

Вариант 2 (более универсальный)
"Заставить" астериск "узнавать" cisco 7912. Идея у меня такая. В имени экстеншена на cisco 7912 будет присутствовать, например слово "C7912". И если астериск видит это слово в имени - происходит преобразование. Но как сделать так, чтобы на телефоне абонента, к-ому звонят с циски это слово не отображалось, а отображалось только имя и номер звонящего ? Вроде бы задумка хороша :oops:
werter
 
Сообщений: 4
Зарегистрирован: 10 ноя 2017, 18:30

Re: Кодировка caller id в cisco 7912G

Сообщение ded » 13 ноя 2017, 17:29

Посмотрите лучше сколько хороших полей в нативной базе -
CLI> database show
ded
 
Сообщений: 12650
Зарегистрирован: 26 авг 2010, 19:00

Re: Кодировка caller id в cisco 7912G

Сообщение werter » 21 ноя 2017, 12:06

Решил для себя 2-мя способами.

Вар.1 (с добавлением в имя экстеншена метки "sccp")
Строка в extensions_override_freepbx.conf:
Код: выделить все
[macro-user-callerid]
...

; --- Original
; exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)})
; ---
exten => s,n,ExecIf($["${CALLERID(name):-4}" != "sccp"]?Set(AMPUSERCIDNAME=${ICONV(UTF-8,CP1251,${DB(AMPUSER/${AMPUSER}/cidname)})}):Set(AMPUSERCIDNAME=${CUT(DB(AMPUSER/${AMPUSER}/cidname), ,1&2)}))
...


Для корректного отображения имени экстн-на в CDR Reports пришлось поправить там же в extensions_override_freepbx.conf :
Код: выделить все
; --- Original
; exten => s,n,Set(CDR(cnam)=${CALLERID(name)})
; ---
exten => s,n,ExecIf($["${CUT(CHANNEL,/,1)}" != "SCCP"]?Set(CDR(cnam)=${ICONV(CP1251,UTF-8,${CALLERID(name)})}):Set(CDR(cnam)=${CALLERID(name)}))
...


Также на 7905\7912 неверно отображалось имя того, кому звоню при наборе
Поправил там же в extensions_override_freepbx.conf:
Код: выделить все
[macro-dial-one]
...
; --- Original
; exten => s,n,Set(CONNECTEDLINE(name,i)=${DB(AMPUSER/${EXTTOCALL}/cidname)}${PRESENCESTATE_DISPLAY})
; ---
exten => s,n,ExecIf($["${CUT(DB(AMPUSER/${EXTTOCALL}/cidname), ,1&2)}" != "sccp"]?Set(CONNECTEDLINE(name,i)=${ICONV(UTF-8,CP1251,${CUT(DB(AMPUSER/${EXTTOCALL}/cidname), ,1&2)}${PRESENCESTATE_DISPLAY})}):Set(CONNECTEDLINE(name,i)=${CUT(DB(AMPUSER/${EXTTOCALL}/cidname), ,1&2)}${PRESENCESTATE_DISPLAY}))
...


Вар.2 (более универсальный, но только, если в сети по sccp будут подключаться модели 7905\7912)

Строка в extensions_override_freepbx.conf:
Код: выделить все
[macro-user-callerid]
; --- Original
; exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)})
; ---
...
exten => s,n,ExecIf($["${CUT(CHANNEL,/,1)}" != "SCCP"]?Set(AMPUSERCIDNAME=${ICONV(UTF-8,CP1251,${DB(AMPUSER/${AMPUSER}/cidname)})}):Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)}))
...


Для корректного отображения имени экстн-на в CDR Reports поправить там же в extensions_override_freepbx.conf :
Код: выделить все
; --- Original
; exten => s,n,Set(CDR(cnam)=${CALLERID(name)})
; ---
exten => s,n,ExecIf($["${CUT(CHANNEL,/,1)}" != "SCCP"]?Set(CDR(cnam)=${ICONV(CP1251,UTF-8,${CALLERID(name)})}):Set(CDR(cnam)=${CALLERID(name)}))
...


На 7905/7912 неверно отображалось имя того, кому звоню при наборе. Поправил в extensions_override_freepbx.conf:
Код: выделить все
[macro-dial-one]
...
; --- Original
; exten => s,n,Set(CONNECTEDLINE(name,i)=${DB(AMPUSER/${EXTTOCALL}/cidname)}${PRESENCESTATE_DISPLAY})
; ---
exten => s,n,ExecIf($["${CUT(CHANNEL,/,1)}" = "SCCP"]?Set(CONNECTEDLINE(name,i)=${ICONV(UTF-8,CP1251,${DB(AMPUSER/${EXTTOCALL}/cidname)}${PRESENCESTATE_DISPLAY})}):Set(CONNECTEDLINE(name,i)=${DB(AMPUSER/${EXTTOCALL}/cidname)}${PRESENCESTATE_DISPLAY})
...


После проделанного перезагрузил:
Код: выделить все
fwconsole reload
werter
 
Сообщений: 4
Зарегистрирован: 10 ноя 2017, 18:30

Пред.

Вернуться в VoIP оборудование

Кто сейчас на форуме

Сейчас этот форум просматривают: Yahoo [Bot] и гости: 3

© 2008 — 2017 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH