Задать вопрос
@ADarkin

Кодировка при передаче CallerID между PBX и Asterisk?

Есть связка - Asterisk 16 (чистый, без WEB-морды) и Panasonic TDE-200 через VSIPGW16.
На панасонике прописаны фамилии юзеров кириллицей в поле "имя внутр. абонента" и при звонках на внутренние телефоны (у которых есть экран) эти фамилии вполне нормально отображаются. Но при звонках с абонентов панасоника на IP-телефоны на экране последних вместо фамилий отображаются иероглифы. Дело явно в кодировке, потому что если на панасонике фамилию прописать латиницей, то IP-телефон это нормально показывает. Насколько я понимаю, Астериск и аппараты используют UTF-8, а вот в панасонике или 866, или 1251. Возможно ли при исходящем звонке заставить астериск как-то.. перекодировать, что ли.. ? Или в TDE-200 запихнуть UTF-8 ?
  • Вопрос задан
  • 160 просмотров
Подписаться 2 Средний 1 комментарий
Решения вопроса 1
@ADarkin Автор вопроса
Проблема решена, надо было сразу гуглить правильно :-)
Может, пригодится кому:

нужно выделить транк с панасоника в sip.conf в отдельный контекст , а в extention.conf прописать:

[frompanasonic]
exten => _XXXX,1,Set(CALLERID(name)=${ICONV(WINDOWS-1251,UTF-8,${CALLERID(name)})})
exten => _XXXX,n,Goto(internal,${EXTEN},1):
;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Можно.
same => n,Set(CALLERID(name)=${ICONV(866,UTF8,${CALLERID(name)})})

Правда, может оказаться, что там не 866 или Windows-1251, а какая-то своя внутренняя кодировка. Надо смотреть логи, анализировать текст и писать свой конвертер либо в виде подпрограммы диалплана Asterisk, либо в виде скрипта, запускаемого через SHELL.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы