Начнем с обновления системы
aptitude update && aptitude upgrade && reboot
Качаем Asterisk
cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar -zxvf asterisk-13-current.tar.gz
Устанавливаем все зависимости для сборки Астреа
./asterisk-13.6.0/contrib/scripts/install_prereq install ./asterisk-13.6.0/contrib/scripts/install_prereq install-unpackaged
Собираем астериск
./configure make menuselect
проверяем res_odbc и cdr_odbc модули, они должны быть с * отмечены. Если их нет то устанавливаем odbc и снова ./configure
make && make install && make samples && make config && make install-logrotate
make samples - генерирует конф файлы /etc/asterisk
make config добавляет asterisk в /etc/init.d/ - для авто запуска
make install-logrotate - добавляет настройки в /etc/logrotate/ для ротации логов
Добавим пользователя asterisk
groupadd asterisk useradd asterisk -g asterisk -d /var/lib/asterisk/
Устанавливаем пакеты для A2B (при установке mysql попросит вбить пароль)
aptitude install mysql-client mysql-server apache2 libapache2-mod-php5 php5-mysql vim-tiny php-pear php-db php5-gd php5-curl php-soap
Качаем и устанавливаем a2billing
cd /usr/src/ git clone https://github.com/Star2Billing/a2billing.git
Готовим базу mysql
mysqladmin create a2billing -p mysql -p -e "CREATE USER 'a2billing'@'localhost' IDENTIFIED BY '4f0843e3430aa7ffd1';" mysql -p -e "GRANT ALL PRIVILEGES ON a2billing. * TO 'a2billing'@'localhost';" mysql -p -e "FLUSH PRIVILEGES;"
Заливаем данные в базй
./a2billing/DataBase/mysql-5.x/install-db.sh
Отвечаем на вопросы
Install A2Billing Database -------------------------- Enter Database Name : a2billing Enter Hostname : localhost Enter UserName : a2billing Enter Password : 4f0843e3430aa7ffd1
Копируем конфиг
cp a2billing/a2billing.conf /etc/
редактируем его
vim /etc/a2billing.conf
находим настройки Д Б и указываем наши параметры
[database] hostname = localhost port = user = a2billing password = 4f0843e3430aa7ffd1 dbname = a2billing dbtype = mysql
Готовим конфигурационные файлы
touch /etc/asterisk/additional_a2billing_iax.conf touch /etc/asterisk/additional_a2billing_sip.conf
echo \#include additional_a2billing_sip.conf >> /etc/asterisk/sip.conf echo \#include additional_a2billing_iax.conf >> /etc/asterisk/iax.conf
Устанавливаем голосовые файлы
для астера РУ
cd /usr/src/asterisk-13.6.0/ make menuselect
выбираем в Core Sounds нужные нам пакеты
make && make install
Устанавливаем a2billing голосовые файлы
редактируем скрипт
cd /usr/src/a2billing/ vim addons/sounds/install_a2b_sounds.sh
меняем ast_sound=/usr/share/asterisk/sounds на ast_sound=/var/lib/asterisk/sounds
cd addons/sounds/ ./install_a2b_sounds.sh
Копируем веб
mkdir /var/www/html/a2billing
cp -rf /usr/src/a2billing/admin /var/www/html/a2billing
cp -rf /usr/src/a2billing/agent /var/www/html/a2billing
cp -rf /usr/src/a2billing/customer /var/www/html/a2billing
cp -rf /usr/src/a2billing/common /var/www/html/a2billing
cp -rf /usr/src/a2billing/vendor/ /var/www/html/a2billing/vendor/
cd /usr/src/a2billing curl -sS https://getcomposer.org/installer | php php composer.phar install
Разбераемся с правами
vim /etc/asterisk/asterisk.conf
убераем комент ; от строк
runuser = asterisk rungroup = asterisk
Меняем юзера для apache
vim /etc/apache2/envvars
меняем строки
export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk
Устанавливаем AGI скрипты
mkdir /var/lib/asterisk/agi-bin
cd /usr/src/a2billing/AGI
cp a2billing.php /var/lib/asterisk/agi-bin
cp a2billing_monitoring.php /var/lib/asterisk/agi-bin
chown -R asterisk:asterisk /var/lib/asterisk/agi-bin
chmod 755 /var/lib/asterisk/agi-bin/a2billing.php
chmod 755 /var/lib/asterisk/agi-bin/a2billing_monitoring.php
ln -s /var/www/html/a2billing/common/lib /var/lib/asterisk/agi-bin/lib
задаем права на папки и файлы
chown -R asterisk:asterisk /var/www/html/a2billing chmod 755 /var/www/html/a2billing/admin/templates_c chmod 755 /var/www/html/a2billing/customer/templates_c chmod 755 /var/www/html/a2billing/agent/templates_c
chown asterisk:asterisk -R /etc/asterisk/ chown asterisk:asterisk -R /var/lib/asterisk/ chown asterisk:asterisk -R /var/spool/asterisk/ chown asterisk:asterisk -R /usr/lib/asterisk/ chown asterisk:asterisk -R /var/log/asterisk/
mkdir -p /var/run/a2billing chown asterisk:asterisk /var/run/a2billing
Настраиваем cron
mkdir -p /usr/local/a2billing cp -R /usr/src/a2billing/Cronjobs /usr/local/a2billing/ ln -sf /var/www/html/a2billing/common/lib /usr/local/a2billing/Cronjobs/lib chown -R asterisk:asterisk /usr/local/a2billing
добавляем крон для астера
vim /var/spool/cron/asterisk
# update the currency table 0 6 * * * php /usr/local/a2billing/Cronjobs/currencies_update_yahoo.php # manage the monthly services subscription 0 6 1 * * php /usr/local/a2billing/Cronjobs/a2billing_subscription_fee.php # To check account of each Users and send an email if the balance is less than the user have choice. 0 * * * * php /usr/local/a2billing/Cronjobs/a2billing_notify_account.php # this script will browse all the DID that are reserve and check if the customer need to pay for it. # bill them or warn them per email to know if they want to pay in order to keep their DIDs. 0 2 * * * php /usr/local/a2billing/Cronjobs/a2billing_bill_diduse.php # This script will take care of the recurring service. 0 12 * * * php /usr/local/a2billing/Cronjobs/a2billing_batch_process.php # To generate invoices and for each user. 0 6 * * * php /usr/local/a2billing/Cronjobs/a2billing_batch_billing.php # to proceed the autodialer */5 * * * * php /usr/local/a2billing/Cronjobs/a2billing_batch_autodialer.php # manage alarms 0 * * * * php /usr/local/a2billing/Cronjobs/a2billing_alarm.php # manage archive 0 12 * * * php /usr/local/a2billing/Cronjobs/a2billing_archive_data_cront.php #autorefill 0 10 21 * * php /usr/local/a2billing/Cronjobs/a2billing_autorefill.php 15 * * * * php /usr/local/a2billing/Cronjobs/a2billing_batch_cache.php
добавляем логи для a2billing
mkdir -p /var/log/a2billing
touch /var/log/a2billing/cront_a2b_alarm.log touch /var/log/a2billing/cront_a2b_autorefill.log touch /var/log/a2billing/cront_a2b_batch_process.log touch /var/log/a2billing/cront_a2b_archive_data.log touch /var/log/a2billing/cront_a2b_bill_diduse.log touch /var/log/a2billing/cront_a2b_subscription_fee.log touch /var/log/a2billing/cront_a2b_currency_update.log touch /var/log/a2billing/cront_a2b_invoice.log touch /var/log/a2billing/cront_a2b_check_account.log touch /var/log/a2billing/a2billing_paypal.log touch /var/log/a2billing/a2billing_epayment.log touch /var/log/a2billing/a2billing_api_ecommerce_request.log touch /var/log/a2billing/a2billing_api_callback_request.log touch /var/log/a2billing/a2billing_api_card.log touch /var/log/a2billing/a2billing_agi.log
chown -R asterisk:asterisk /var/log/a2billing
Безопасность
touch /var/www/html/a2billing/index.html
Пробуем зайти в a2billing
http://my-ip//a2billing/admin/
user : root
pass: changepassword
разу советую поменять его.
Меняем версию астера
переходим в SYSTEM SETTINGS - > Global List
в низу выбираем показать весь список и ищем "asterisk_version" и меняем его на 1_11
Переходим к настроики реалтайм Asterisk
Старт