Фэндом


7za x /home/siv/Загрузки/raspbian_wheezy_20130923.img.7z 
dd if=raspbian_wheezy_20130923.img of=/dev/sde ibs=1M

Русификация консолиПравить

apt-get install locales console-cyrillic
  • Добавим русскую локаль для терминала
cp /etc/locale.gen /etc/locale.gen.orig
echo "ru_RU.UTF-8 UTF-8">/etc/locale.gen
echo "en_US.UTF-8 UTF-8">>/etc/locale.gen
locale-gen
dpkg-reconfigure locales
  • Добавим поддержку русских шрифтов для консоли
dpkg-reconfigure console-cyrillic

Расширение системного раздела до размера носителяПравить

Посмотреть текущий размер

df -h|grep rootfs

Загрузим и установим нужные компоненты для управления разделами

apt-get install parted git-core
git clone http://github.com/asb/raspi-config /usr/src/rasp-config

Отключаем swap и удаляем раздел, так как он в конце образа и не позволит расширить системный раздел

swapoff /dev/mmcblk0p3
parted /dev/mmcblk0 print free
parted /dev/mmcblk0 rm 3
/usr/src/rasp-config/raspi-config

Выбираем первый пункт

1 Expand Filesystem

После перезагрузки размер системы будет расширен до предела носителя

apt-get install php5 php5-mysql libapache2-mod-php5 apache2 mysql-server mysql-client sudo
nano /etc/sysctl.conf
vm.laptop_mode = 5 // Включение режима
vm.dirty_writeback_centisecs = 6000 #время в сСк. Т.е. 100ед = 1секунда


ОписаниеПравить

Asterisk - это IP-PBX (IP-АТС) сокращение от PBX (УАТС) — учрежденческая телефонная станция на основе межсетевого протокола IP.

Как и обычная УАТС, IP-PBX призвана выполнять те же и другие функции. Так как почти все функции реализованы через программное обеспечение, то в IP PBX легко наращивать функционал, модернизировать их, исправлять ошибки.

Asterisk в комплексе с необходимым оборудованием обладает всеми возможностями классической АТС, поддерживает множество VoIP протоколов и предоставляет богатые функции управления звонками:

  • голосовую почту,
  • конференции,
  • интерактивное голосовое меню (IVR),
  • центр обработки вызовов (постановка звонков в очередь и распределение их по агентам используя различные алгоритмы),
  • Подробная запись о вызове (CDR)
  • Архив аудио записей разговоров

FreePBX это полнофункциональный веб-интерфейс для конфигурации Asterisk IP-PBX. В то время, когда настройка Asterisk осуществляется при помощи конфигурационных файлов, FreePBX предлагает для конфигурирования и управления, простой и интуитивно понятный интерфейс .

Установка LAMPAПравить

LAMPA - (Linux,Apache,Mysql,Php,Asterisk)

apt-get update
apt-get install lamp-server^ libmysqlclient18 asterisk-dev \
asterisk-mysql asterisk-moh-opsound-wav php-db selinux-utils audiofile-tools \
bison libset-intspan-perl curl openssl php5-gd lame sox libxml2 subversion \
dahdi-* linux-headers-`uname -r`
  • В процессе установки мастер попросит задать пароль для mysql сервера. Задаем например PaSs и запоминаем. Пустым пароль оставлять не надо!

FreePBXПравить

Указываем пароль, который поставили при установке mysql

passwd=PaSs

Указываем версию которую хотим установить

fpbxver=2.10
  • посмотреть список доступных версий
wget -q -O- http://svn.freepbx.org/freepbx/branches/ | grep -Po "\d+.\d+(?=\/\")"

Загрузка и создание базыПравить

svn co http://svn.freepbx.org/freepbx/branches/$fpbxver /usr/src/freepbx
cd /usr/src/freepbx
mysqladmin create asterisk -p${passwd}
mysqladmin create asteriskcdrdb -p${passwd}
mysql asterisk < SQL/newinstall.sql -p${passwd}
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -p${passwd}
echo "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${passwd}';" > /tmp/tmpfbpx
echo "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${passwd}';" >> /tmp/tmpfbpx
echo "flush privileges;" >> /tmp/tmpfbpx
echo "quit"  >> /tmp/tmpfbpx
mysql -p${passwd} < /tmp/tmpfbpx

Установка FREEPBXПравить

Запускаем установку (заполняем параметры или оставляем по умолчанию):

rm /var/www/index.html
./install_amp --password=${passwd} --webroot=/var/www

Подтверждаем параметры

adduser www-data asterisk
/etc/init.d/apache2 restart
wget http://127.0.0.1/admin/config.php# -O /dev/null

Подготовка WEB сервераПравить

Изменение конфигурации apache2, для корректной работы с русским языком, а так-же меняем пользователя www-data от имени которого стартует apache2 на пользователя asterisk

locale-gen ru_RU 
perl -pi -e 's/#AddDefaultCharset UTF-8/AddDefaultCharset UTF-8/g' /etc/apache2/conf.d/charset 
perl -pi -e 's/export APACHE_RUN_USER=www-data/export APACHE_RUN_USER=asterisk/g' /etc/apache2/envvars 
perl -pi -e 's/export APACHE_RUN_GROUP=www-data/export APACHE_RUN_GROUP=asterisk/g' /etc/apache2/envvars
echo "ServerName localhost" >> /etc/apache2/conf.d/vhosts.conf
rm /var/lock/apache2/ -r
/etc/init.d/apache2 restart

Загрузка модулей и обновленийПравить

Загружаем и устанавливаем свежие модули

./setup_svn.php
./install_amp
cp amp_conf/moh/*.wav /var/lib/asterisk/moh
cd /etc/asterisk
rm ccss.conf extensions.conf logger.conf iax.conf sip.conf features.conf sip_notify.conf chan_dahdi.conf
chown asterisk:asterisk /etc/amportal.conf

Твики и допиливанияПравить

Небольшой твик для стабильной работы FOP панели, перезапускает её раз в 10 минут

chmod 770 -R /var/www/admin/modules/fw_fop
echo "*/10 * * * * root amportal restart_fop 2>/dev/null">>/etc/crontab

Исправляем косяки с путями хранения звуков

cp -r /var/lib/asterisk/sounds/ /usr/share/asterisk/
rm -r /var/lib/asterisk/sounds/
ln -s /usr/share/asterisk/sounds /var/lib/asterisk/
chown -R asterisk:asterisk /var/lib/asterisk/sounds/
chown -R asterisk:asterisk /var/lib/asterisk/sounds/custom/
echo "" >>/etc/modprobe.d/dahdi.conf
chown asterisk:asterisk /etc/modprobe.d/dahdi.conf

Если планируется загружать на сервер файлы через WEB интерфейс (например мелодии в ожидании) большого размера, нужно увеличить параметры php отвечающие за предельные размеры таких файлов. Редактируем файл:

nano /etc/php5/apache2/php.ini

Ищем параметры и устанавливаем свои значения, например 32 мбайта

post_max_size = 32M
upload_max_filesize = 32M

Перезагрузим WEB сервер.

/etc/init.d/apache2 restart

Дополнения Править

Русификация голосаПравить

Загружаем и распаковываем файлы

paths=/usr/share/asterisk/sounds/
cd /tmp
wget -c http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-wav-current.tar.gz
mkdir $paths/ru
cd $paths/ru
tar zxvf /tmp/asterisk-core-sounds-ru-wav-current.tar.gz

В параметрах протоколов SIP и IAX устанавливаем language=ru

WEB интерфейсПравить

По окончанию установки FreePBX можно подключиться к серверу через браузер для дальнейшей настройки телефонии.

  • Узнать сетевой ip адрес сервера можно выполнив команду:
ip a|grep eth0|grep inet

Подключаемся с компьютера в локальной сети на адрес

http://ип_адрес_сервера/admin
  • Логин: admin
  • Пароль: admin

DONGLEПравить

Mts.jpg

Модем E1550 в салонах МТС

Модуль chan_dongle позволяет использовать 3G модемы производства Huaway в качестве канала связи для совершения через него голосовых звонков. Получается VoIP-GSM шлюз.

Подготовка модемаПравить

Перед началом использования модема, его необходимо подготовить. Отключить fakecd режим, разлочить иногда требуется перепрошивка и активация голоса.

apt-get install libusb-dev minicom usb-modeswitch*

Далее устройство необходимо перевести в режим - "только модем" для этого подключимся к модему через его com-порт.

minicom -D /dev/ttyUSB0

Подключаемся к модему ВАЖНО находясь в программе minicom вводимые и выполняемые команды не видны, выводится лишь от отчёт ok или error, но это не проблема копируем команды Ctrl+c вставляем Ctrl+v жмём Enter

  • Включаем режим "только модем":
AT^U2DIAG=0

Для новых модемов E171 с прошивкой 21.156.00.00.143 и IMEI начинается с 8614 требуется другая команда для включения режима модема

AT^SETPORT="A1,A2;1,2,3"
  • Проверить текущее состояние счетчика и блокировки можно командой, а то вдруг его уже разлочили или забыли заблокировать, бывает и такое...
AT^CARDLOCK?

в ответ модем выдаст

CARDLOCK: A,B,0
  • где A -> 2- означает, что симлока нет, 1-если модем залочен
  • B -> количество оставшихся попыток разблокировки.

У нового модема ==10

  • Узнать IMEI, запоминаем, а лучше записываем
AT+CGSN
  • Перезагрузить модем
AT+CFUN=1,1

Выйти из minicom - после выполнения перезагрузки модема программа порядка 5-10 секунд не реагирует, ждём, после чего для выхода выполняем [ctrl+a q] Enter Если не получается, перезапускаем консоль и переподключаем модем физически.

Загрузка и сборка модуляПравить

cd /tmp
wget http://asterisk-chan-dongle.googlecode.com/files/chan_dongle-1.1.r10.tgz
cd /usr/src
tar zxvf /tmp/chan_dongle-*
cd chan_dongle-*
./configure
make install
cp etc/dongle.conf /etc/asterisk/

Настройка параметров модуля Править

Создадим свой файл конфигурации, сохранив копию оригинального

cp /etc/asterisk/dongle.conf /etc/asterisk/dongle.conf.orig
echo "" >/etc/asterisk/dongle.conf
nano /etc/asterisk/dongle.conf

Впишем свои значения. Внимание, указывайте свой IMEI.

[general]
interval=15              ; Частота проверки подключеных устройств

[defaults]
context=from-gsm         ; Контекст для входящих звонков
usecallingpres=yes       ; Определять номер звонящего
callwaiting=no           ; Принимать второй звонок при активном разговоре
autodeletesms=yes        ; Удаление смс с симкарты при перезапуске
rxgain=0                 ; Изменение громкости динамика
txgain=0                 ; Изменение громкости микрофона

[GSM-001]
imei=3529ххххххххххх     ; Привязка имени модема к IMEI номеру

Создаем специальный контекст в диалплане:

nano /etc/asterisk/extensions_custom.conf
[from-gsm]
# Заменяем 7 на 8 в определившихся номерах и делаем DID равный номеру
# IMEI модема, для входящих разделения звонков с разных модемов.
exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2})
exten => s,n,goto(from-trunk,${DONGLEIMEI},1)

# Сохраняем входящие SMS в файл /var/www/msg
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%d.%m.%Y %H:%M:%S)} - SMS  - ${DONGLENAME} - ${CALLERID(num)}: ${BASE64_DECODE(${SMS_BASE64})}' >> /var/www/msg)
exten => sms,n,Hangup()

# Сохраняем входящие сообщения USSD в файл /var/www/msg
exten => ussd,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%d.%m.%Y %H:%M:%S)} - USSD - ${DONGLENAME}: ${BASE64_DECODE(${USSD_BASE64})}' >> /var/www/msg)
exten => ussd,n,Hangup()

Создаем файл для приема SMS и USSD

echo "" >/var/www/msg
chown asterisk:asterisk /var/www/msg

Перезапускаем Asterisk

service asterisk restart

Проверяем

asterisk -rx "dongle show devices"

Настройки в Web интерфейсеПравить

  • Для исходящих звонков

Gsm1.png

Gsm2.png

Gsm3.png

Gsm4.png

  • Для входящих, указываем в качестве DID - IMEI номер модема, и направление куда звонок с этого модема направить.

Дополнение - Статистика по балансу

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на Фэндоме

Случайная вики