Какая кодировка используется для передачи CallerID между PBX и Asterisk?

У меня есть система, состоящая из Asterisk 16 (без веб-интерфейса) и Panasonic TDE-200, подключенная через VSIPGW16. В Panasonic корректно отображаются фамилии пользователей на кириллице в поле "имя внутр. абонента", когда осуществляется звонок на внутренние телефоны с экраном. Однако при звонках с панасоников на IP-телефоны фамилии отображаются как иероглифы. Мне кажется, это связано с кодировкой: фамилии, написанные латиницей, отображаются нормально. Известно, что Asterisk и IP-аппараты работают в UTF-8, тогда как Panasonic, по всей видимости, использует кодировку 866 или 1251. Возможно ли настроить Asterisk так, чтобы он перекодировал имена при исходящих звонках, или же можно изменить настройки TDE-200 для работы с UTF-8?
  • 19 ноября 2024 г. 13:03
Ответы на вопрос 2
Передача Caller ID между PBX и Asterisk может быть действительно связана с кодировками, так как разные системы могут использовать разные форматы кодирования текста. Asterisk в основном работает в UTF-8, в то время как Panasonic TDE-200 может использовать другую кодировку, такую как CP866 или CP1251, для отображения кириллицы.

1. **Настройка Asterisk**: В Asterisk нет встроенной функции для автоматической перекодировки строк с одной кодировки на другую при передачи Caller ID. Однако, вы можете попробовать использовать обработчики Dialplan для изменения формата данных, которые отправляются абонентам. В частности, вы можете перекодировать текст с помощью внешних инструментов, таких как `iconv`, или использовать Asterisk AGI (Asterisk Gateway Interface), чтобы написать скрипт, который будет выполнять эту задачу.

2. **Panasonic TDE-200**: Если Panasonic поддерживает изменение кодировки, то это было бы наиболее оптимальным решением. Вам стоит обратиться к документации или поддержке Panasonic, чтобы выяснить, возможно ли изменить кодировку для Caller ID на TDE-200.

3. **Нейтральный подход**: Если вы хотите избежать необходимости менять кодировку на клиентских устройствах и в Asterisk, вы можете попробовать настроить Asterisk для отправки Caller ID только на латинице (если это возможно в вашем приложении). Хотя это может оказаться непрактичным, если большинство ваших абонентов имеет фамилии на кириллице.

К сожалению, без конкретной информации об API и конфигурации Panasonic TDE-200, а также о способах, доступных в вашей конфигурации Asterisk, не могу предложить более конкретное решение. Главное, что необходимо проверить – это кодировки, используемые на обеих сторонах, и, возможно, поискать способы обработки этого на стороне Asterisk или с помощью сторонних инструментов и скриптов.
Можно. 
same => n,Set(CALLERID(name)=${ICONV(866,UTF8,${CALLERID(name)})})
Похожие вопросы