Читать «ELASTIX – общайтесь свободно» онлайн - страница 91

Владислав Юров

• добавление русского голоса

• настройка в Asterisk языка по умолчанию

• настройка говорящих часов (номер «100»)

• конвертация базы данных asterisk из кодировки latin1 в кодировку utf8

• настройка для подключений к базам данных mySQL использования кодировки utf8

• отключение контроля вводимых символов в интерфейсе администрирования Elastix

Добавление русского голоса

Скачайте русский голос, используя следующие команды:

su root

cd /tmp

wget https://github.com/pbxware/asterisk-sounds/tarball/master – O asterisk-sounds-ru.tar.gz

tar xzvf asterisk-sounds-ru.tar.gz

mv /var/lib/asterisk/sounds/ru /var/lib/asterisk/sounds/ru-orig

mkdir /var/lib/asterisk/sounds/ru

mv pbxware-asterisk-sounds-1fd21fa/* /var/lib/asterisk/sounds/ru/

Либо установите русский голос, используя бесплатный модуль bSmart Voice Manager:

Настройка говорящих часов (номер «100»)

Если не выбрали при установке, настройте также часовой пояс:

sudo cp /etc/localtime /etc/localtime.orig

sudo ln – sf /usr/share/zoneinfo/Europe/Moscow localtime

В web-интерфейсе откройте меню «Feature Codes» в разделе «PBX», укажите номер «100» в поле «Speaking Clock»:

Сохраните изменения.

Настройка в Asterisk языка по умолчанию

Откройте меню «General Settings» в разделе «PBX»:

Укажите вашу страну:

И сохраните изменения.

Откройте меню «Asterisk File Editor» в закладке «Tools» раздела «PBX»:

Убедитесь, что в файле «sip_general_custom.conf» есть строка «language=ru»:

При необходимости добавьте строку, сохраните изменения и перезапустите Asterisk.

Конвертация базы данных в UTF8

Начиная с Elastix 2.5 поддерживается работа в кодировке UTF-8, что позволяет использовать для абонентов имена на кириллице и на других языках. Однако Elastix 2.4 и более ранние умеют работать только с алфавитом latin1. Если компания уже давно использует Elastix, порой проще русифицировать текущую версию, чем обновить систему.

Чтобы добавить в Elastix 2.4 полноценную поддержку русского языка экспортируйте, пересоздайте и восстановите БД в UTF-8, а также настройте использование кодировки UTF8 для подключения к mySQL. Для этого создайте скрипт astdb2utf.sh (или загрузите):

sudo mkdir /root/tasks

sudo nano /root/tasks/astdb2utf.sh

напишите следующий текст скрипта:

#!/bin/bash

#конвертация базы данных в UTF-8

fcfg=/etc/amportal.conf

dbuser=$(grep '^AMPDBUSER=' ${fcfg} | sed "s/.*[=]//g" | sed "s/[]//g" | tr – d '\n')

dbpassword=$(grep '^AMPDBPASS=' ${fcfg} | sed "s/.*[=]//g" | sed "s/[]//g" | tr – d '\n')

#конвертация БД в кодировку utf-8

db2utf8() {

db=$1

dbu=$2

dbpwd=$3

fdb=/tmp/${db}.sql

fdbutf=/tmp/${db}-utf8.sql

sql="DROP DATABASE ${db}"

sql="$sql; CREATE DATABASE ${db} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"

mysqldump ${db} – u ${dbu} – p${dbpwd} >${fdb}

sed "s/CHARSET[=]latin1/CHARSET=utf8/g" ${fdb} >${fdbutf}

echo ${sql} | mysql ${db} – u${dbu} – p${dbpwd}

cat $fdbutf | mysql ${db} – u${dbu} – p${dbpwd}

}

#настройка utf8 для подключения к базе данных

ifnotexists() {

str=$1

after=$2

patt=$(echo $2 | sed 's/[=]/[=]/g')

fn=$3

cnt=$(grep – c "${str}" ${fn})