How to install Asterisk and A2billing on Ubuntu Server 12.04LTS



This installation was carried out on Ubuntu 12.04 LTS on 64bit

We need to upgrade apt-get

#apt-get upgrade
#apt-get update
Configure your timezone:
#dpkg-reconfigure tzdata

Install some pre-requisites:
#apt-get install libapache2-mod-php5 php5 php5-common
#apt-get install php5-cli php5-mysql mysql-server apache2 php5-gd (note the password for mysql, we will need it later)
#apt-get install php5-mcrypt
#apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev  libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev

Add jansson and install Asterisk 12.1.1
#apt-get install python-software-properties -y

#apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF


#http://www.digip.org/jansson/releases/jansson-2.4.tar.gz


#tar -zxf jansson-2.4.tar.gz


#cd jansson-2.4/


#./configure --prefix=/usr/ && make clean && make && make install
asterisk-1.8.27.0-rc1.tar.gz

#add-apt-repository "deb http://packages.asterisk.org/deb `lsb_release -cs` main"
#sudo add-apt-repository "deb-src http://packages.asterisk.org/deb `lsb_release -cs` main" (If you get an error here just ignore and carry on)
#cd /usr/src/
#wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.14.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.8.26.1.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-12.1.1.tar.gz

#tar zxvf dahdi-linux-complete*

#tar zxvf libpri*
#tar zxvf asterisk*

#cd /usr/src/dahdi-linux-complete*

#make && make install && make config

#cd ../libpri*

#make && make install

#cd ../asterisk*

#./configure && make menuselect && make && make install && make config && make samples

/etc/init.d/dahdi start


#/etc/init.d/asterisk start

#asterisk -rvvv

#*CLI> dahdi show version
+++++++++++++++DAHDI Version: 2.6.1 Echo Canceller: HWEC
#*CLI> pri show version
+++++++++++++++libpri version: 1.4.13


#apt-get update
#apt-get upgrade

# apt-get install asterisk


Download and install A2billing:
# cd /usr/local/src

# wget https://github.com/Star2Billing/a2billing/archive/master.tar.gz


# tar -zxvf master.tar.gz

    rm master.tar.gz
    mv a2billing-* a2billing

Prep the database:
#cd a2billing/DataBase/mysql-5.x

# mysql -uroot -p < a2billing-createdb-user.sql


# ./install-db.sh


You will be asked to enter details. Enter them as follows

database name :  mya2billing
hostname : localhost
User : root
Password : mysqlpassword (This is the one we created earlier)
Copy and edit a2billing.conf:
# cp /usr/local/src/a2billing/a2billing.conf /etc/
# nano -w /etc/a2billing.conf

Make sure the first stanza looks like the following:

[database]
hostname = localhost
port = 3306
user = a2billinguser
password = mysqlpassword
dbname = mya2billing
dbtype = mysql

Additional files for A2billing:

# chmod 777 /etc/asterisk -R

#touch /etc/asterisk/additional_a2billing_iax.conf
#touch /etc/asterisk/additional_a2billing_sip.conf
#echo #include additional_a2billing_iax.conf >> /etc/asterisk/iax.conf
#chown -Rf www-data /etc/asterisk/additional_a2billing_iax.conf
#chown -Rf www-data /etc/asterisk/additional_a2billing_sip.conf

Install the A2billing sounds:
# cd /usr/local/src/a2billing/addons/sounds
./install_a2b_sounds_deb.sh


Asterisk ended with exit status 1
#chown -R asterisk:asterisk /usr/share/asterisk/sounds/

Edit manager.conf:
# nano -w /etc/asterisk/manager.conf
[myasterisk]
secret=mycode
read=system,call,log,verbose,command,agent,user
write=system,call,log,verbose,command,agent,user

Install the AGI etc:

# mkdir /usr/share/asterisk/agi-bin
#cd /usr/local/src/a2billing/AGI            
#cp a2billing.php /usr/share/asterisk/agi-bin/
#chown -R asterisk:asterisk /usr/share/asterisk/agi-bin
#chmod 755 /usr/share/asterisk/agi-bin/a2billing.php
#cp /usr/local/src/a2billing/common/lib  /usr/share/asterisk/agi-bin/lib -R

Install the webui:
# mkdir /var/www/a2billing
#chown www-data:www-data /var/www/a2billing
#cp -rf /usr/local/src/a2billing/admin /var/www/a2billing
#cp -rf /usr/local/src/a2billing/agent /var/www/a2billing
#cp -rf /usr/local/src/a2billing/customer /var/www/a2billing
#cp -rf /usr/local/src/a2billing/common /var/www/a2billing

#chmod 755 /var/www/a2billing/admin/templates_c
#chmod 755 /var/www/a2billing/customer/templates_c
#chmod 755 /var/www/a2billing/agent/templates_c

#chown -R www-data:www-data /var/www

Add contexts to extensions.conf: (For wholesale termination)
# nano -w /etc/asterisk/extensions.conf

[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
exten => _X.,1,deadAGI(a2billing.php)
exten => _X.,n,Hangup

[did]
; CallingCard application
exten => _X.,1,deadAGI(a2billing.php,1,did)

Add some cron entries:
# crontab -e

# 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

# 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_batch_billing.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

Make a logfile:

# mkdir /var/log/a2billing
#touch /var/log/a2billing/a2billing_agi.log
#chown -R asterisk:asterisk /var/log/a2billing
Add some rotation:
# cd /etc/logrotate.d
#nano -w a2billing

/var/log/a2billing/*.log {
daily
missingok
rotate 4
sharedscripts
postrotate
endscript
}

Enable SSL using default certificate for admin:

#ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl

# a2enmod rewrite
# service apache2 restart



Browse to http://youripaddress/a2billing/admin and login with the following credentials:

Username: root

Password : changepassword


Any one Who Needs  Help Feel free to contract me.

Comments

  1. checkout My Current Site.

    ReplyDelete
  2. Hello. Please what is your contact on Skype or telegram? I will like to have a chat with you. I have alot to ask. You can also reach me on Skype: ejeba01

    ReplyDelete

Post a Comment

Popular posts from this blog

PHPMixBill V5 mikrotik Billing Solutions

odbcinst: SQLGetPrivateProfileString failed with