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

CallerID на русском

Проблемы Asterisk без вэб-оболочек и их решения

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

Аватара пользователя
SolarW
Сообщения: 1331
Зарегистрирован: 01 сен 2010, 14:21
Откуда: Днепропетровск, Украина

Re: CallerID на русском

Сообщение SolarW »

Упс, был невнимателен:
common/libfreepbx.javascripts.js
Попробовал в isCallerIDChar добавить по образу того что есть диапазоны от А до Я и от а до я в utf-8.
Не прокатило.
Аватара пользователя
SolarW
Сообщения: 1331
Зарегистрирован: 01 сен 2010, 14:21
Откуда: Днепропетровск, Украина

Re: CallerID на русском

Сообщение SolarW »

Мой реквест на FreePBX закрыли, говорят dup.
Почитал тот топик на который сослались как первоначальный - нифига не понял если честно.
Речь в нем идет не сколько об UTF-8 сколько об использовании символа апострофа ( ' ) в CallerID name.
И как я понял основная мысль в том что приделывать нормальную интернализацию некому - если найдется желающий то добро пожаловать.

Но нет худа без добра.
Читая один из топиков который был закрыт по той же причине что и мой вычитал интересный рецепт.

Код: Выделить всё

#rasterisk -x 'database put AMPUSER/3207 cidname "Василий Печкин"'
Проверка что получилось

Код: Выделить всё

#rasterisk -x 'database show AMPUSER/3207/cidname'
/AMPUSER/3207/cidname                             : Василий Печкин
1 results found.
Судя по логу в консоли метод работает.
Завтра посмотрю на телефоне.
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: CallerID на русском

Сообщение ded »

Думаю можно и через AMI путнуть. Типа telnet localhost 5038
maxmen77
Сообщения: 34
Зарегистрирован: 17 окт 2010, 15:50

Re: CallerID на русском

Сообщение maxmen77 »

Ну что, товаГисчи, кто-нить смог окончательно победить Астер в плане отображения callerid на великом и могучем???
Мои эксперименты пока зашли в тупик - не знаю, куда копать. Промежуточный итог:
Если заводишь какой-нить Василий Печкин в extension_custom или через database put - он его в консоли ( и соответственно на телефоне) отображает как надо, а если подсовываешь ему снаружи (через html или как-нить ещё - например mysql) - то не хочет видеть Русский!!!! Видит, только если первая буква англ.
Кто-нибудь знает полный путь прохождения callerid по шагам до попадания в консоль??? Интересует полный механизм прохождения callerid до попадания в консоль.
Как я понял, у меня косяк где-то между результатом обработки html (файл выплёвывает callerid в unicode - 100%) и попаданием в консоль.
Народ, помогайте, наверняка рабочее решение есть!
maxmen77
Сообщения: 34
Зарегистрирован: 17 окт 2010, 15:50

Re: CallerID на русском

Сообщение maxmen77 »

Проблему временно решил, но опять через кривой костыль. Добавил в файл строчку, которая выводит callerid, добавляет к нему цифру в конце (с пробелом такой вариант не прокатил) и передаёт астеру, тогда и на телефоне (Yealink) и в консоли имя отображается с цифрой на конце, но на русском и не надо к каждому контрагенту в vtigere добавлять вначале какой-то символ. Ещё один глюк - теперь даже внутренние номера отображаются с этой цифрой в названии. Похоже, где-то после передачи callerid Он проходит ещё какую-то проверку, которая не видит что ей передали, если не добавить цифру или латинский символ.
Короче, на сегодняшний день 2 варианта - или не определять звонящего или определять, но показывать его имя с цифрой. Пока пользуюсь вторым вариантом...
Кто-нить знает, как это вылечить????
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: CallerID на русском

Сообщение ded »

Перечитайте всю ветку внимательно ещё раз.
shurskiy
Сообщения: 107
Зарегистрирован: 31 авг 2010, 16:15

Re: CallerID на русском

Сообщение shurskiy »

Вопрос корректности отображения русский букв во FreePBX:
Изменяю Display Name: Иван Васильевич
После этого, нажимаю Submit и вижу, что в правой части экрана: Иван Васильевич <101>, а в поле для редактирования: Ð�ван Ð�аÑ�илÑ�евиÑ�
Везде установлена кодировка UTF-8, но вот почему так получается не понимаю.
Кто-то решил проблему?
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: CallerID на русском

Сообщение ded »

Потому что в MySQL записывается не в UTF-8/
Есть кастомные решения вставлением в макрос macro-dialout на шаге
Set(CALLERID(all)=${OUTCID_${ARG1}})
функции конвертера
ICONV(ISO8859-5,UTF-8,CALLERID(name))

Код: Выделить всё

*CLI> core show function ICONV                                                                                                                               
*CLI>                                                                                                                                                        
  -= Info about function 'ICONV' =-                                                                                                                                


[Syntax]                                                                                                                                                           
ICONV(in-charset,out-charset,string)                                                                                                                               

[Synopsis]                                                            
Converts charsets of strings.                                                                                                                                      

[Description]                                                                                                                                                      
Converts string from in-charset into out-charset.  For available charsets,                                                                                         
use 'iconv -l' on your shell command line.                                                                                                                         
Note: due to limitations within the API, ICONV will not currently work with                                                                                        
charsets with embedded NULLs.  If found, the string will terminate. 
shurskiy
Сообщения: 107
Зарегистрирован: 31 авг 2010, 16:15

Re: CallerID на русском

Сообщение shurskiy »

В самом астериске все пишется русскими буквами. В MySQL все пишется русскими буквами.
Ведь там, где отображается список внутренних номеров - все отображается нормально. Выборка из одной базы делается.
На софтфонах так же отображение происходит корректно.
Вопрос исключительно в представлении на интерфейсе пользователю...
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: CallerID на русском

Сообщение Vlad1983 »

найти в модуле FreePBX место перед запросом всей хрени которая те не нравится и вставить туда

Код: Выделить всё

mysql_query("SET NAMES UTF8") or die("Query failed");
или
$db->query("SET NAMES UTF8");
или в /etc/my.cnf что-нить типа того

Код: Выделить всё

[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
 
[client]
default-character-set=utf8
выбирай сам
ЛС: @rostel
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH