**UBUNTU 10.04 LTS Server + Asterisk+FreePBX+GSM HUAWAY E1550**
===== 1. Установка операционной системы =====
Выполняется типовая установка ОС Ubuntu 10.04 LTS Server со следующими предустановленными компонентами:
LAMP Server
OpenSSH Server
Samba file Server
Локализация: русская
Везде пароли: YourPass
После установки необходимо активировать учетку root, так-как вся настройка выполянется с полными правами.
sudo passwd root
===== 2. Загрузка компонентов из сети =====
Качаем и ставим компоненты из репозитория ~44,4 Мб +~12 Мб апдейтов
apt-get update
apt-get install php5-mysql libapache2-mod-php5 mysql-server libmysqlclient15-dev php-db php5-gd php-pear sox curl g++ libncurses-dev libxml2-dev subversion libspandsp-dev
Установка драйверов DAHDI (можно не выполнять, если не нужны конференции и нет соответствующего оборудования).
apt-get install dahdi
/etc/init.d/dahdi start
cd /tmp
wget http://downloads.asterisk.org/pub/telep
cd /usr/src
tar -zxvf /tmp/dahdi-linux-complete-2.4.0+2.4.0.ta
cd dahdi-linux-complete-2.4.0+2.4.0/
make
make install
make config
Качаем исходники Asterisk и FreePBX от производителей. Ориентировочный объём: 24Мб+0.9Мб+6.2Мб
cd /tmp
wget http://downloads.asterisk.org/pub/telep
wget http://downloads.asterisk.org/pub/telep
wget http://mirror.freepbx.org/freepbx-2.8.0.t
Распаковываем запакованные исходнички:
cd /usr/src
tar xvfz /tmp/asterisk-1.6.2.13.tar.gz
tar xvfz /tmp/asterisk-addons-1.6.2.2.tar.gz
tar xvfz /tmp/freepbx-2.8.0.tar.gz
===== 3. Устанавливаем Астериск =====
cd /usr/src/asterisk-1.6.2.13
./configure
Во время установки программа автоматически скачиваются звуковые файы. Необходимо убедиться, что выход в интернет работает.
make install
make config
make samples
===== 4. Ставим дополнения к Астериску =====
Дополнения требуются для включения возможности записи информации о звонках (cdr) в mysql в формате, требуемом для корректной работы FreePBX
cd /usr/src/asterisk-addons-1.6.2.2
perl -p -i.bak -e 's/CFLAGS.*D_GNU_SOURCE/CFLAGS+=-D_GNU_S
./configure
make
make install
===== 5. Конфигурируем Апач =====
Добавляем юзера и даем ему права
adduser asterisk --disabled-password --gecos "Asterisk PBX"
adduser www-data asterisk
Заставляем апач стартовать от имени юзера астериск
nano /etc/apache2/envvars
закомментируем следующие строки
#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data
и добавляем данные строки
export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
Применяем параметры апачу
apache2ctl graceful
===== 6. Ставим FREEPBX =====
==== Подготовка баз MYSQL для FREEPBX ====
cd /usr/src/freepbx-2.8.0
mysqladmin create asterisk -pYourPass
mysqladmin create asteriskcdrdb -pYourPass
mysql asterisk < SQL/newinstall.sql -pYourPass
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -pYourPass
mysql -pYourPass
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'YourPass';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'YourPass';
flush privileges;
quit;
==== Установка FREEPBX ====
Запускаем Астериск перед установкой Freepbx
/etc/init.d/asterisk start
Запускаем установку:
./install_amp
ВАЖНО остальные параметры __кроме указанных__, менять НЕЛЬЗЯ!!! Параметры которые надо поменять в мастере установки:
Enter your PASSWORD to connect to the 'asterisk' database:
[amp109] YourPass
Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111] YourPass
Enter the path to use for your AMP web root:
[/var/www/html]
/var/www/freepbx
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
[passw0rd] YourPass
в случае, если в конце установки, вы получите данное сообщение (которое стало появляться при установке с версии freepbx-2.8.0)
PHP Fatal error: Cannot redeclare __parse_DialRulesFile() (previously declared in /usr/src/freepbx-2.8.0/upgrades/2.6.0bet
необходимо повторно выполнить установку:
./install_amp
==== Корректировка параметров FreePBX после установки для его правильной работы ====
nano /etc/amportal.conf
Коментируем параметр, для работы FOP (флеш панель):
#AMPWEBADDRESS=xx.xx.xx.xx
Исправляем параметр для включения авторизации доступа к web-админке и хранения учеток в базе данных (по умолчанию adminadmin):
AUTHTYPE=database
Исправляем пароль авторизации доступа к web-админке по управлению записями разговоров.
ARI_ADMIN_PASSWORD=YourPass
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
Исправление, для включения русского языка в web-интерфейсе FreePBX
nano /usr/share/locale/locale.alias
Удаляем строку с кодировкой для russian и добавляем 3 строки вместо нее:
russian ru
ru ru_RU
ru_RU ru_RU.UTF-8
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
Делаем автостарт
nano /etc/rc.local
дописываем перед строчкой exit 0 следующую строчку
/usr/local/sbin/amportal start
Перезагружаем сервер для проверки успешного автозапуска.
reboot
==== Обновление и получение модулей FreePBX с сервера разработчка ====
Заходим в web-админку
http://192.168.0.218/freepbx/admin
Первым делом применяем параметры конфигурации
"Управление модулями" -> "Проверить обновление on-line" -> "Скачать все" -> "Обновить все" -> "Запустить процесс"
Прокручиваем список обновляемых модулей вниз жмем "Подтвердить"
в процессе выполнения в случае остановки процесса, его необходимо повторить пока все не обновится!
===== 7. Подключение модема HUAWEI e1550 к Asterisk =====
==== Некоторые приготовления перед подключением модема ====
Обновление прошивок: http://www.dc-files.com/files/huawei/mo
Обязательное условие - отключение встроенных в модем устройств - (кард-ридер и вируальный CD-ROM с ПО для Windows). Для этого необходимо через терминал подключиться к консоли модема и выполнить AT комманду AT^U2DIAG=0. Если этого не сделать, то появится проблема с переподключениями модема по причине некорректного отмонтирования портов устройств.
==== Установка модуля DATACARD ====
Получение текущих исходников из SVN и сборка модуля:
svn co http://www.makhutov.org/svn/chan_dataca
cd /usr/src/chan_datacard
./configure
make install
cp etc/datacard.conf /etc/asterisk
==== Настройка параметров модуля ====
nano /etc/asterisk/datacard.conf
в самом низу конфигурационного файла удаляем все данные (Ctrl+k) после последней черты и вставляем данный конфиг
[000101]
context=from-gsm ; context для входящих звонков
audio=/dev/ttyUSB1 ; tty порт для аудио подключения
data=/dev/ttyUSB2 ; tty порт для управляющих AT комманд модема
group=1 ; Группа вызова
rxgain=10 ; Изменение громкости динамика
txgain=-5 ; Изменение громкости микрофона
resetdatacard=yes ; Перезагрузка модема при перезапуске модуля
autodeletesms=yes ; Удаление смс с симкарты при перезапуске
usecallingpres=yes ; use the caller ID presentation or not
callingpres=allowed_passed_screen ; set caller ID presentation
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
Создаем специальный контекст в диалплане:
nano /etc/asterisk/extensions_custom.conf
[from-gsm]
exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2}
exten => s,n,goto(from-trunk,${IMEI},1)
Перезапускаем Asterisk
service asterisk restart
==== Методы контроля и управления модемом ====
Проверка состояния модема
asterisk -r
datacard show devices
Отключаем и включаем питание конкретному модему:
Определяем порт:
dmesg usb | grep ttyUSB
смотрим последнюю строку:
[ 5191.602917] usb 1-3.5: GSM modem (1-port) converter now attached to ttyUSB3
Отключаем и включаем питание устройсту usb 1-3.5
echo suspend > /sys/bus/usb/devices/1-3.5/power/level
echo on > /sys/bus/usb/devices/1-3.5/power/level
Послылаем модему команду перезагрузки
datacard cmd 000101 AT+CFUN=1,1
==== Настройка FreePBX для работы с модемами ====
* Создаем специальный транк
Конфигурация => Транки => Добавить специальный транк => Исходящие настройки Специальный набор => datacard/i:123456789012345/$OUTNUM$
где 123456789012345 (IMEI модема)
* Создаем исходящий маршрут
Конфигурация => Исходящая маршрутизация => math patern => . (ставим точку в это поле), а в Trunk Sequence for Matched Routes выбираем наш транк.
{{:match_pattern.png?500|}}
* Делаем входящий маршрут
Конфигурация => Входящая маршрутизация => Добавить входящий маршрут => Номер DID => 123456789012345 (IMEI модема), а в "Установить направление" выбрать получателя звонков, поступающих на модем.
===== 9. Руссификация озвучки =====
Скачиваем файлы в формате wav ~20 Mb
cd /tmp
wget http://195.242.215.60/ivr/asterisk-soun
cd /var/lib/asterisk/sounds
tar xvfz /tmp/asterisk-sounds-ru-wav.tar.gz
Включаем русскоязычную озвучку для протоколов, например для SIP, через WEB-интерфейс
Инструменты => Asterisk SIP Settings => language => ru
Поставить галочки:
NAT => no
IP Configuration => Public IP
===== 10. Взаимодействие со сторонним внешним ПО =====
==== Доступ к mysql ====
nano /etc/mysql/my.cnf
Комментируем строку:
# bind-address = 127.0.0.1
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
Для предоставления удаленного доступа к MySQL, в командной строке копируем и выполняем следующие команды:
mysql --user=root mysql --pass=YourPass
GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@"%"
IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
quit;
Перезапускаем MYSQL
/etc/init.d/mysql restart
==== Доступ к AMI ====
Редактируем файл:
nano /etc/asterisk/manager.conf
Дописываем в секцию
[general]
webenabled = yes
[admin]
enabled = yes
secret = YourPass
permit=0.0.0.0/0.0.0.0
read = all,system,call,log,verbose,command,agen
write = all,system,call,log,verbose,command,agen
соответственно удаляем строки
deny=0.0.0.0/0.0.0.0
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
Делаем подключение к AMI через HTTP
Редактируем файл
nano /etc/asterisk/http.conf
Раскоменчиваем:
enabled=yes
enablestatic=yes
bindaddr=0.0.0.0/0
bindport=8088
prefix=asterisk
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
перезапускаем Asterisk
service asterisk restart
Логинимся:
http://192.168.0.218:8088/asterisk/mana
Получаем информацию о текущих звонках (нужно производить запросы постоянно, при простое происходит отлогивание)
http://192.168.0.218:8088/asterisk/mana
==== Доступ к записям (через Самбу) ====
редактируем
nano /etc/samba/smb.conf
Все коментим или удаляем и оставляем только это:
[global]
workgroup = WORKGROUP
netbios name = ugw
hosts allow = 0.0.0.0/0
security = share
[records]
browseable = yes
writable = yes
guest ok = yes
path = /var/spool/asterisk/monitor/
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X
Перегружаем самбу
/etc/init.d/smbd restart
==== Прямой доступ к файлам через Апач ====
Добавляем симлинк
ln -s /var/spool/asterisk/monitor/ /var/www
Доступ через http://192.168.0.218/monitor/
===== 11. Основные настройки FreePBX =====
заходим во FreePBX
http://ip_adress_servera/freepbx
выбираем пункт
FreePBX Administration
при первом входе следует применить настройки
выбираем русский язык
применяем настройки
слева в панели "ОСНОВНОЙ" выбираем пункт "Внутренние номера"
выбираем "Какое-то SIP устройство" жмем "Сохранить"
Далее выбираем и заполняем следующие поля:
"Внутренний номер пользователя" указываем номер телефона
"Отображаемое имя" указываем отображаемое имя абонента
"Secret" указываем пароль
"Запись входящих" выбираем всегда
"Запись исходящих" выбираем всегда
Удавалось установить datacard на OpenVZ контейнер?
ОтветитьУдалить