ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

elastix перекодировка callerid

Проблемы и их решения Asterisk как такового

Модераторы: april22, Zavr2008

elastix перекодировка callerid

Сообщение otrazhenie » 03 авг 2017, 17:03

Доброго дня!
есть некоторое количество cisco7940. подключены по sccm
у них не отображаются русские буквы в поле callerid при входящем вызове.

в астериске присутствует функция перекодировки iconv но куда ее вставлять я чет-то не пойму.
на других аппаратах 7942, 7911, 7912 все работает. имена пользователей отображаются корректно.
otrazhenie
 
Сообщений: 15
Зарегистрирован: 28 авг 2015, 09:38

Re: elastix перекодировка callerid

Сообщение ded » 03 авг 2017, 17:15

Нужны файлы русской локали для CP-7940 SCCP
iconv тут не при чём.
ded
 
Сообщений: 15821
Зарегистрирован: 26 авг 2010, 19:00

Re: elastix перекодировка callerid

Сообщение otrazhenie » 03 авг 2017, 17:22

файлы есть локаль залита. менюшки на телефоне на русском.
вот только при звонке на 7940 аппарат имя пользователя в черных прямоугольниках.
вот тут
https://supportforums.cisco.com/ru/discussion/11829826
сказано, что 7940 работают с ISO8859-5 кодировкой
а вот тут
http://asteriskforum.ru/viewtopic.php?t=7623
народ перекодирует поля .
Так вот. Можно ли сделать так, чтобы отображались русские буквы имени звонящего на данных аппаратах?
otrazhenie
 
Сообщений: 15
Зарегистрирован: 28 авг 2015, 09:38

Re: elastix перекодировка callerid

Сообщение ded » 03 авг 2017, 17:58

Там по ссылке и пример выдан -
exten => _XXXXX,n,Iconv(CIDNAME/UTF-8=${CIDNAME}/KOI8-R)
вам же надо видимо
exten => _4XX,n,Iconv(CIDNAME/UTF-8=${CIDNAME}/ISO8859-5) где предполагаем, что имена прибегают в UTF-8, а телефоны СР-7940 имеют номера 4ХХ
ded
 
Сообщений: 15821
Зарегистрирован: 26 авг 2010, 19:00

Re: elastix перекодировка callerid

Сообщение otrazhenie » 04 авг 2017, 08:39

ded писал(а):exten => _4XX,n,Iconv(CIDNAME/UTF-8=${CIDNAME}/ISO8859-5) где предполагаем, что имена прибегают в UTF-8, а телефоны СР-7940 имеют номера 4ХХ

с этим то как раз все понятно.
я никак не могу понять в какой контекст мне это все вставлять.
я редактирую файл extensions-custom.conf
вот что в консоли
Код: выделить все
-- Executing [410@Moscow:1] Set("SIP/302-000005da", "__RINGTIMER=30") in new stack
    -- Executing [410@Moscow:2] Macro("SIP/302-000005da", "exten-vm,novm,410,0,0,0") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("SIP/302-000005da", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/302-000005da", "TOUCH_MONITOR=1501822459.1892") in new stack
    -- Executing [s@macro-user-callerid:2] Set("SIP/302-000005da", "AMPUSER=302") in new stack
    -- Executing [s@macro-user-callerid:3] GotoIf("SIP/302-000005da", "0?report") in new stack
    -- Executing [s@macro-user-callerid:4] ExecIf("SIP/302-000005da", "1?Set(REALCALLERIDNUM=302)") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/302-000005da", "AMPUSER=302") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/302-000005da", "0?limit") in new stack

звоню с номера 303 на номер 410 (cisco7940)
otrazhenie
 
Сообщений: 15
Зарегистрирован: 28 авг 2015, 09:38

Re: elastix перекодировка callerid

Сообщение awsswa » 04 авг 2017, 10:23

override надо
вставьте стандартный кусок и перепишите под себя
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: elastix перекодировка callerid

Сообщение ded » 04 авг 2017, 10:39

awsswa имеет ввиду - скопируйте текст macro-user-callerid в файл extensions_override_freepbx.conf
и добавьте там 6-м шагом, например
exten => s,n,Iconv(CIDNAME/UTF-8=${CIDNAME}/ISO8859-5) где предполагаем, что имена прибегают в UTF-8, а телефоны СР-7940 имеют номера 4ХХ
ded
 
Сообщений: 15821
Зарегистрирован: 26 авг 2010, 19:00

Re: elastix перекодировка callerid

Сообщение otrazhenie » 04 авг 2017, 11:01

у меня эластикс 2.5.08

вставил кусок в файл extensions_override_elastix.conf

Код: выделить все
[macro-user-callerid-custom]
exten => s,1,Set(TOUCH_MONITOR=${UNIQUEID})
exten => s,n,Set(AMPUSER=${IF($["${AMPUSER}" = ""]?${CALLERID(number)}:${AMPUSER})})
exten => s,n,GotoIf($["${CUT(CHANNEL,@,2):5:5}"="queue" | ${LEN(${AMPUSERCIDNAME})}]?report)
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)}))
exten => s,n,Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)})
exten => s,n,Iconv(CIDNAME/UTF-8=${CIDNAME}/ISO8859-5)
exten => s,n,GotoIf($["${AMPUSER}" = "none"]?limit)
exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)})
exten => s,n,GotoIf($["${AMPUSERCIDNAME:1:2}" = ""]?report)
exten => s,n,Set(AMPUSERCID=${IF($["${ARG2}" != "EXTERNAL" & "${DB_EXISTS(AMPUSER/${AMPUSER}/cidnum)}" = "1"]?${DB_RESULT}:${AMPUSER})})
exten => s,n,Set(__DIAL_OPTIONS=${IF($["${DB_EXISTS(AMPUSER/${AMPUSER}/dialopts)}" = "1"]?${DB_RESULT}:${DIAL_OPTIONS})})
exten => s,n,Set(CALLERID(all)="${AMPUSERCIDNAME}" <${AMPUSERCID}>)
exten => s,n,GotoIf($["${ARG1}"="LIMIT" & ${LEN(${AMPUSER})} & "${DB(AMPUSER/${AMPUSER}/concurrency_limit)}">"0" & "${GROUP_COUNT(${AMPUSER}@concurrency_limit)}">="${DB(AMPUSER/${AMPUSER}/concurrency_limit)}"]?limit)
exten => s,n,ExecIf($["${ARG1}"="LIMIT" & ${LEN(${AMPUSER})}]?Set(GROUP(concurrency_limit)=${AMPUSER}))
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/language)}" != ""]?Set(CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)}))
exten => s,n(report),GotoIf($[ "${ARG1}" = "SKIPTTL" | "${ARG1}" = "LIMIT" ]?continue)
exten => s,n(report2),Set(__TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])})
exten => s,n,GotoIf($[ ${TTL} > 0 ]?continue)
exten => s,n,Wait(${RINGTIMER})
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n,Playback(im-sorry&an-error-has-occured&with&call-forwarding)
exten => s,n,Macro(hangupcall,)
exten => s,n(limit),Answer
exten => s,n,Wait(1)
exten => s,n,Playback(beep&im-sorry&your&simul-call-limit-reached&goodbye)
exten => s,n,Macro(hangupcall,)
exten => s,n,Congestion(20)
exten => s,n(continue),Set(CALLERID(number)=${CALLERID(number):0:40})
exten => s,n,Set(CALLERID(name)=${CALLERID(name):0:40})
exten => s,n,Set(CDR(cnum)=${CALLERID(num)})
exten => s,n,Set(CDR(cnam)=${CALLERID(name)})
exten => s,n,Set(CHANNEL(language)=${MASTER_CHANNEL(CHANNEL(language))})

exten => h,1,Macro(hangupcall,)

;--== end of [macro-user-callerid-custom] ==--;


не помогло.
и, если не ошибаюсь, так будут перекодироваться все номера, а мне нужно только часть.
otrazhenie
 
Сообщений: 15
Зарегистрирован: 28 авг 2015, 09:38

Re: elastix перекодировка callerid

Сообщение zzuz » 04 авг 2017, 11:23

А Iconv() то у вас скомпилирован? Уже как много лет это переехало в сторону функции ICONV() .
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1658
Зарегистрирован: 21 сен 2010, 13:33

Re: elastix перекодировка callerid

Сообщение awsswa » 04 авг 2017, 11:24

exten => s,n,ExecIf(а не 400 ли номер случайно ?)?Опаньки... делаем это)

PS платные консультации не так и дороги как кажется
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

След.

Вернуться в Конфигурация и настройка Asterisk

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

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