Страница 8 из 10
Re: CallerID на русском
Добавлено: 18 май 2012, 18:06
SolarW
kapa6ac писал(а):Было похожее только для FreePBX. Решил так:
Для FreePBX находил вот такие хинты:
http://asteriskforum.ru/viewtopic.php?t=8972
http://asteriskforum.ru/viewtopic.php?t=7623
Re: CallerID на русском
Добавлено: 18 май 2012, 22:04
kapa6ac
намедни были в гостях товарищи из русского предсьавительства Digium рассказыввли,показывали Switchvox. Там русский пашет из коробки, хотя как выяснилось далее в беседе SV пользует одну из древних версия Asterisk.
Re: CallerID на русском
Добавлено: 24 окт 2012, 12:29
filippov
будет правильно если к абоненту прописывать имя как в латинице так и доп.имя в формате utf-8 в кириллице (иными словами 2 поля для имени)
да и чтоб на каждом абоненте появилась доп.галка типа "utf-8" (опция "utf-8"), тобишь при включении такой опции означало что телефон может принимать имена в формате utf-8.
да и не стоит забывать про sip-транки, вдруг если там проскочит "utf-8" на телефон где отключена опция "utf-8" надо будет имя "не латиницой" порубить.
Re: CallerID на русском
Добавлено: 26 окт 2012, 13:02
ded
Re: CallerID на русском
Добавлено: 20 июн 2013, 20:06
joe
Ребята, жизнь заставила зарегаться на форуме.
Вобщем, перечитал ветку, но так и не встретил решения проблемы.
Очень буду рад за помощь, готов отблагодарить.
Ситуация такова - в диалплане перед звонком пишу строку
exten => Set(CALLERID(name)=тест)
и во время звонка абоненту формируется хедер
From: "%d1%82%d0%b5%d1%81%d1%82"<sip:1111@х.х.х.х>;tag=as3e2b62ea
соответственно на экране сипфона вижу %d1%82%d0%b5%d1%81%d1%82 вместо тест
ни один из вариантов в этой теме не подошел и не помог.
Причем самое обидное есть разные сервера с одинаковой версией астера, но в одном - хедер формируется правильно, т.е. вот так:
From: "тест"<sip:1111@х.х.х.х>;tag=as3e2b62ea
а в другом неправильно, т.е. вот так
From: "%d1%82%d0%b5%d1%81%d1%82"<sip:1111@х.х.х.х>;tag=as3e2b62ea
Причина похоже в том, что астериск перекодирует кириллицу, но ведь она уже в UTF-8 стопроцентов, так как путти в консоле показывает правильно, а вот хедер потом формируется неправильно. Что заставляет его неправильно формироваться - никак не допру.
Есть у кого какие идеи?
Re: CallerID на русском
Добавлено: 20 июн 2013, 20:17
awsswa
Смутно ... а не из mysql ли случайно читается CallerID ?
Re: CallerID на русском
Добавлено: 20 июн 2013, 20:18
ded
CallerID читается из mysql (случайно!).
Небось одна система - выбран русский язык при установке (как системный), а другая - английский?
Идея простая - функция ICONV
Re: CallerID на русском
Добавлено: 20 июн 2013, 22:36
joe
Уважаемый ded, сначала читал из MYSQL, потом я ж говорю - указал напямую через SET и никакого Mysql. Я весь код свел до одной строчки. Языки везде алглийские, по команде locale - отдает UTF. Что не так - без понятия....
Re: CallerID на русском
Добавлено: 20 июн 2013, 22:49
ded
joe писал(а):Ситуация такова - в диалплане перед звонком пишу строку
exten => Set(CALLERID(name)=тест)
фиг знает каким редактором и как пишете там по-русски. Это можно увидеть командой в шелл - env | grep LANG
once more:
ded писал(а):Идея простая - функция ICONV
example: (convert CIDNAME from UTF-8 into ISO-8859-1)
exten => 1234,1,Iconv(CIDNAME/ISO-8859-1=${CIDNAME}/UTF-8)
Re: CallerID на русском
Добавлено: 20 июн 2013, 23:40
ded
Код: Выделить всё
*CLI> core show function ICONV
-= Info about function 'ICONV' =-
[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.
[Syntax]
ICONV(in-charset,out-charset,string)
[Arguments]
in-charset
Input charset
out-charset
Output charset
string
String to convert, from <in-charset> to <out-charset>