Кодировка при передаче CallerID между PBX и Asterisk?
Есть связка - Asterisk 16 (чистый, без WEB-морды) и Panasonic TDE-200 через VSIPGW16.
На панасонике прописаны фамилии юзеров кириллицей в поле "имя внутр. абонента" и при звонках на внутренние телефоны (у которых есть экран) эти фамилии вполне нормально отображаются. Но при звонках с абонентов панасоника на IP-телефоны на экране последних вместо фамилий отображаются иероглифы. Дело явно в кодировке, потому что если на панасонике фамилию прописать латиницей, то IP-телефон это нормально показывает. Насколько я понимаю, Астериск и аппараты используют UTF-8, а вот в панасонике или 866, или 1251. Возможно ли при исходящем звонке заставить астериск как-то.. перекодировать, что ли.. ? Или в TDE-200 запихнуть UTF-8 ?
Если ты можеш написать это (конвертация форматов) на каком-то якзыке который поддерживается в asterisk agi, то с вероятностью 99% можно это реализовать.
Альтернативный вариант, телефоны Fanvil ( и не только) могут тянуть ФИО из ldap, возможно твои телефоны тоже так умеет и у тебя есть АД в компании.
Для правильного вопроса надо знать половину ответа
Можно.
same => n,Set(CALLERID(name)=${ICONV(866,UTF8,${CALLERID(name)})})
Правда, может оказаться, что там не 866 или Windows-1251, а какая-то своя внутренняя кодировка. Надо смотреть логи, анализировать текст и писать свой конвертер либо в виде подпрограммы диалплана Asterisk, либо в виде скрипта, запускаемого через SHELL.