Step 1: Drop Database
[root@elastix agi-bin]# mysql -u root -peLaStIx.2oo7
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2866
Server version: 5.0.45 Source distribution
Query OK, 51 rows affected (1.11 sec)
mysql> quit
Bye
[root@elastix agi-bin]# rpm -e elastix-a2billing
[root@elastix agi-bin]#
#mkdir /usr/local/src/a2billing
Step 3: Download a2billing tar package and create under folder /usr/local/src
[root@elastix agi-bin]# cd /usr/local/src/a2billing/
[root@elastix a2billing]#
[root@elastix a2billing]# wget www.asterisk2billing.org/downloads/A2Billing_1.4.1.tar.gz
--14:57:54-- http://www.asterisk2billing.org/downloads/A2Billing_1.4.1.tar.gz
Resolving www.asterisk2billing.org... 94.23.22.127
Connecting to www.asterisk2billing.org|94.23.22.127|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9658300 (9.2M) [application/x-gzip]
Saving to: `A2Billing_1.4.1.tar.gz'
100%[===========================================================================================>] 9,658,300 91.2K/s in 58s
14:58:54 (163 KB/s) - `A2Billing_1.4.1.tar.gz' saved [9658300/9658300]
[root@elastix a2billing]#
Step 4: Untar tha package
[root@elastix a2billing]# tar zxvf A2Billing_1.4.1.tar.gz
Step 5: create a MySQL database (mya2billing) for the billing software.
The file a2billing-createdb-user.sql includes a script that creates the database with the correct access control users and permissions.
#cd /usr/local/src/a2billing
#mysql -u root -p < DataBase/mysql-5.x/a2billing-createdb-user.sql
(the elastix mysql root´s password is: eLaStIx.2oo7)
The script with create a database, username and password with the following default values
Database name is: mya2billing
Database user is: a2billinguser
User password is: a2billing
After creating the database structure, we will create a set of tables and insert some initial basic configuration data
[root@elastix a2billing]# cd /usr/local/src/a2billing
[root@elastix a2billing]# mysql -u root -p <>
Enter password: eLaStIx.2oo7
[root@elastix a2billing]# mysql -u root -p mya2billing <>
Enter password: eLaStIx.2oo7
[root@elastix a2billing]# mysql -u root -p mya2billing <>
Enter password: eLaStIx.2oo7
Step 6: Copy the a2billing configuration file to /etc folder
[root@elastix a2billing]# cp /usr/local/src/a2billing/a2billing.conf /etc/
Step 7: 6) Edit the file.
#vi /etc/a2billing.conf
Change the "database" paramenter as follow, the other paramaters must remain unchanged:
[database]
hostname = localhost
port = 3306
user = a2billinguser
password = a2billing
dbname = mya2billing
dbtype = mysql
Create the additional files and setup the correct owner
#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
#chown -Rf asterisk:asterisk /etc/asterisk/additional_a2billing_iax.conf
#chown -Rf asterisk:asterisk /etc/asterisk/additional_a2billing_sip.conf
Step 9: Install the sound files
[root@elastix a2billing]# /usr/local/src/a2billing/addons/sounds/install_a2b_sounds.sh
Install A2Billing Audio files : en
---------------------------------------------------
creating relevant folders : /var/lib/asterisk/sounds/en
creating relevant folders : /var/lib/asterisk/sounds/en/digits
mkdir: cannot create directory `/var/lib/asterisk/sounds/en': File exists
Copy en files in the right folder ...
cp: cannot stat `./en/*': No such file or directory
cp: cannot stat `./global/*': No such file or directory
Install A2Billing Audio files : es
---------------------------------------------------
creating relevant folders : /var/lib/asterisk/sounds/es
creating relevant folders : /var/lib/asterisk/sounds/es/digits
mkdir: cannot create directory `/var/lib/asterisk/sounds/es': File exists
mkdir: cannot create directory `/var/lib/asterisk/sounds/es/digits': File exists
Copy es files in the right folder ...
cp: cannot stat `./es/*': No such file or directory
cp: cannot stat `./global/*': No such file or directory
Install A2Billing Audio files : fr
---------------------------------------------------
creating relevant folders : /var/lib/asterisk/sounds/fr
creating relevant folders : /var/lib/asterisk/sounds/fr/digits
mkdir: cannot create directory `/var/lib/asterisk/sounds/fr': File exists
mkdir: cannot create directory `/var/lib/asterisk/sounds/fr/digits': File exists
Copy fr files in the right folder ...
cp: cannot stat `./fr/*': No such file or directory
cp: cannot stat `./global/*': No such file or directory
Install A2Billing Audio files : br
---------------------------------------------------
creating relevant folders : /var/lib/asterisk/sounds/br
creating relevant folders : /var/lib/asterisk/sounds/br/digits
Copy br files in the right folder ...
cp: cannot stat `./br/*': No such file or directory
cp: cannot stat `./global/*': No such file or directory
Install A2Billing Audio files : ru
---------------------------------------------------
creating relevant folders : /var/lib/asterisk/sounds/ru
creating relevant folders : /var/lib/asterisk/sounds/ru/digits
Copy ru files in the right folder ...
cp: cannot stat `./ru/*': No such file or directory
Copy ru digits files in the right folder ...
cp: cannot stat `./ru/digits/*': No such file or directory
[root@elastix a2billing]#
Step 10 : Edit /etc/asterisk/manager.conf and add the necesary user as follow:
[myasterisk]
secret=mycode
read=system,call,log,verbose,command,agent,user
write=system,call,log,verbose,command,agent,user
Step 11: Copy the entire content of the AGI directory into asterisk agi-bin directory.
#cd /usr/local/src/a2billing/AGI
#cp a2billing.php /var/lib/asterisk/agi-bin/
#cp -Rf /usr/local/src/a2billing/common/lib /var/lib/asterisk/agi-bin/
#chown asterisk:asterisk /var/lib/asterisk/agi-bin/a2billing.php
#chown -Rf asterisk:asterisk /var/lib/asterisk/agi-bin/lib
#chmod +x /var/lib/asterisk/agi-bin/a2billing.php
Step 12: Installing the GUI interface
#mv /var/www/html/a2billing /var/www/html/a2billing-old
#mkdir /var/www/html/a2billing
#chown asterisk:asterisk /var/www/html/a2billing
# cp -rf /usr/local/src/a2billing/admin /var/www/html/a2billing/
# cp -rf /usr/local/src/a2billing/agent /var/www/html/a2billing/
# cp -rf /usr/local/src/a2billing/customer /var/www/html/a2billing/
# cp -rf /usr/local/src/a2billing/common /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 -Rf asterisk:asterisk /var/www/html/a2billing/admin/templates_c
#chown -Rf asterisk:asterisk /var/www/html/a2billing/customer/templates_c
#chown -Rf asterisk:asterisk /var/www/html/a2billing/agent/templates_c
Step 12: Add the file /etc/httpd/conf.d/a2billing.conf with the follow lines:
Alias /a2billing /var/www/html/a2billing
[root@elastix AGI]# more /etc/httpd/conf.d/a2billing.conf
Alias /a2billing /var/www/html/a2billing
Restart the apache service:
#service httpd restart
[root@elastix html]#
[root@elastix html]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@elastix html]#
Now, to enter to new a2billing you must access it throught the follow URL:
Elastix-IP-Address/a2billing
the default user and password are:
user: root
pass: changepassword
Step 13 : Add the file /etc/asterisk/extensions_a2billing.conf with the follow lines:
[a2billing]
; CallingCard application
exten => _X.,1,Answer
exten => _X.,2,Wait,2
exten => _X.,3,DeadAGI,a2billing.php
exten => _X.,4,Wait,2
exten => _X.,5,Hangup
[did]
; CallingCard application
exten => _X.,1,DeadAGI(a2billing.php|1|did)
Add the follow line to /etc/asterisk/extensions.conf at the top of the file:
#include extensions_a2billing.conf
Step 14: Create a file with the jobs in /var/spool/cron/a2billing with the follow lines:
# update the currency table
0 6 * * * php /usr/local/src/a2billing/Cronjobs/currencies_update_yahoo.php
# manage the monthly services subscription
0 6 1 * * php /usr/local/src/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/src/a2billing/Cronjobs/a2billing_notify_account.php
# To check all the accounts and send an notification email if the
balance is less than the first argument.
0 */6 * * php /usr/local/src/a2billing/Cronjobs/a2billing_check_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/src/a2billing/Cronjobs/a2billing_bill_diduse.php
# This script will take care of the recurring service.
0 12 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_process.php
# To generate invoices and for each user.
0 6 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_invoice_cront.php
# to proceed the autodialer
*/5 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_autodialer.php
# manage alarms
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_alarm.php
No comments:
Post a Comment