Страница 4 из 10

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

Добавлено: 18 окт 2010, 20:45
SolarW
Упс, был невнимателен:
common/libfreepbx.javascripts.js
Попробовал в isCallerIDChar добавить по образу того что есть диапазоны от А до Я и от а до я в utf-8.
Не прокатило.

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

Добавлено: 19 окт 2010, 00:45
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.
Судя по логу в консоли метод работает.
Завтра посмотрю на телефоне.

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

Добавлено: 19 окт 2010, 00:55
ded
Думаю можно и через AMI путнуть. Типа telnet localhost 5038

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

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

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

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

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

Добавлено: 16 ноя 2010, 11:46
ded
Перечитайте всю ветку внимательно ещё раз.

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

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

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

Добавлено: 26 авг 2011, 10:37
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. 

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

Добавлено: 26 авг 2011, 11:34
shurskiy
В самом астериске все пишется русскими буквами. В MySQL все пишется русскими буквами.
Ведь там, где отображается список внутренних номеров - все отображается нормально. Выборка из одной базы делается.
На софтфонах так же отображение происходит корректно.
Вопрос исключительно в представлении на интерфейсе пользователю...

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

Добавлено: 26 авг 2011, 12:13
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
выбирай сам