Показаны сообщения с ярлыком Asterisk. Показать все сообщения
Показаны сообщения с ярлыком Asterisk. Показать все сообщения

четверг, 28 ноября 2013 г.

Язык по умолчанию (default language) в FreePBX

Надоело мне постоянно переключать на русский язык интерфейс FreePBX, я психанул и сделал вот что.

Открыл файл admin/libraries/view.functions.php

Там нашел такие строки:

function set_language() {
        if (extension_loaded('gettext')) {
        if (!isset($_COOKIE['lang']) || $_COOKIE['lang'] == '') {
            $_COOKIE['lang'] = 'en_US';
        }
        setlocale(LC_ALL,  $_COOKIE['lang']);
        putenv("LANGUAGE=".$_COOKIE['lang']);

        bindtextdomain('amp','./i18n');
                bind_textdomain_codeset('amp', 'utf8');
                textdomain('amp');
        }
}


изменил функцию вот так:


function set_language() {
        if (extension_loaded('gettext')) {
        if (!isset($_COOKIE['lang']) || $_COOKIE['lang'] == '') {
            $_COOKIE['lang'] = 'ru_RU';
        }
        setlocale(LC_ALL,  $_COOKIE['lang']);
        putenv("LANGUAGE=".$_COOKIE['lang']);

        bindtextdomain('amp','./i18n');
                bind_textdomain_codeset('amp', 'utf8');
                textdomain('amp');
        }
}

понедельник, 14 октября 2013 г.

Мини-АТС Asterisk

Написал типа памятку для себя
1. Устанавливаем Debian на ПК
2. Устанавливаем Asterisk+FreePBX по инструкции с хабра,
на дебиане отличие лишь в lamp сервере
3. Русифицируем интерфейс

(с)http://asteriskforum.ru/viewtopic.php?p=51554#51554
 nano /usr/share/locale/locale.alias
Удаляем строку с кодировкой для russian и добавляем 3 строки вместо нее:
russian ru
ru ru_RU
ru_RU ru_RU.UTF-8

Затем:
#locale-gen ru_RU
#/etc/init.d/apache2 restart
3.1 Русифицируем звуки
cd /usr/share/asterisk/sounds/ru
 

wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-alaw-current.tar.gz
 

tar xfz asterisk-core-sounds-ru-alaw-current.tar.gz


4. В FreePBX устанавливаем все модули

5. Создаем транки для SIP-провайдеров
  • заходим в Connectivity -> Trunks
  • вбиваем следующее в поля
Trunk Name - любое название кириллицей или цифрами, например название провайдера или номер, это для вашего удобства, это имя вы будете выбирать для маршрутов.
Outbound CallerID - ваш номер, на некоторых провайдерах можно подделать свой исходящий номер, на некоторых он будет определяться левыми номерами, но сюда лучше вписать свой номер.
Maximum Channels - если ваш телефон многоканальный, то укажите количество одновременных соединений, это поможет астериску использовать следующий маршрут при загруженности этого.

Outgoing Settings - тут настраивается исходящий транк
Trunk Name - любой, но лучше писать что то типа sip-out, т.к. название исходящего и входящего не может быть одинаковым,
а в PEER Details вписываем:
host={айпи сервера}
username={user_id}
secret={пароль}
type=peer
insecure=port,invite
dtmfmode=inband


Далее входящий маршрут Incoming Settings
User Context - тоже что то придумайте, например sip-in
в USER Details:
secret={пароль}
type=user
context=from-trunk
dtmfmode=info

Далее в Register String
{user_id}:{пароль}@{айпи сервера}/{DID для привязки к входящим маршрутам}

Учтите что {} это для выделения параметров, при подстановке своих параметров - удаляйте фигурные скобочки. Так же у некоторых провайдеров какие то свои специфические настройки.

6. Чтобы заработали входящие - нужно создать входящий маршрут (при необходимости указав в нем DID для привязки к определенному транку), во входящем маршруте нужно указать назначение, например в группу.
7. Чтобы заработали исходящие вызовы - нужно сделать исходящий маршрут, но для этого маршрута обязательно нужно указать маски номеров для набора и указать транк, через который будет проходить маршрут.
Продолжение следует.