How to Install Magnus Billing

Written by admin on November 22, 2014. Posted in Asterisk

Magnus Billing has some of the best features incorporated from first looks. However working around it can be quite taxing if you dont understand Portuguese. Although the program has multi language support some of the items were never translated.

When it comes to installation the original script given at their site doesnt always give the intended results. This is because asterisk does not install correctly. I have managed to tweak the script by just adding 2 lines that remove the originally downloaded file of asterisk. The script is stored on our servers. The following is an updated installation script for Magnus billing in centos.

***NB***  Make sure before you install that the mysql server is installed and running but without root password.

In some cases make sure subversion is installed. The steps are


#yum install mysql server

#yum install subversion

#cd /usr/src

chmod +x


After installation visit  http://ip-address/billing

Use the following login details  username: root    password: magnus

How to install Asterisk and A2billing on an Ubuntu server (11.04)

Written by admin on November 17, 2014. Posted in A2billing, Asterisk

This installation was carried out on Ubuntu 10.04 Lucid for SolusVM on x86-64

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

Add repos and install Asterisk 1.8
#apt-get install python-software-properties -y
#apt-key adv --keyserver --recv-keys 175E41DF

#add-apt-repository "deb `lsb_release -cs` main"
#sudo add-apt-repository "deb-src `lsb_release -cs` main" (If you get an error here just ignore and carry on)

#apt-get update
#apt-get upgrade

# apt-get install asterisk

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

# wget

# tar -zxvf v1-current
rm v1-current
mv Star2Billing-a2billing-* a2billing

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

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

# ./

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:
hostname = localhost
port = 3306
user = a2billinguser
password = a2billing
dbname = mya2billing
dbtype = mysqlAdditional 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_sip.conf >> /etc/asterisk/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.confInstall the A2billing sounds:
# cd /usr/local/src/a2billing/addons/sounds
chown -R asterisk:asterisk /usr/share/asterisk/sounds/

Edit manager.conf:
# nano -w /etc/asterisk/manager.conf

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

; 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

; 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 {
rotate 4

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



If you like our site please consider donating any amount to keep this site running

How to reset passwords for Freepbx, A2billing, Elastix and PIAF

Written by admin on November 16, 2014. Posted in A2billing, Asterisk, Elastix, Freepbx, PIAF, Server Security

Many times i get asked how to reset passwords in different systems. This article will explain how to do this in some VOIP systems.


1. FreePBX® 

To reset the admin password in FreePBX® you do the following:

Login to your ssh client and type the following

amportal admin auth_none

You will get the following response

Please wait...

trying to run as user asterisk:

[AUTHTYPE] changed from previous value: [database] to new value: [none]

Now login to yourFreePBX®  using username admin and no password and edit/add/create  admin details

After that go into your ssh and enter

amportal admin auth_database

You will get this response

Please wait...

trying to run as user asterisk:

[AUTHTYPE] changed from previous value: [none] to new value: [database]

You are done. You can now logout of FreePBX®  and login with new credentials

Please note that FreePBX® is a Registered Trademark of Schmooze Com, Inc and our mention of it in this or any other tutorial does not mean we are in any way associated or affiliated with them.


2. A2billing

To reset A2billing password you need to login to your ssh

1. Determine the database name, user and password for your A2Billing database

# head -n 15 /etc/a2billing.conf

The settings are normally at the top of the file so we just need the first 15 lines. They are usually

user = a2billinguser
password = a2billing
dbname = mya2billing

2. Log in to MySQL using the details we just got for the A2Billing database -

# mysql -u a2billing-user -p mya2billing
Enter password: a2billing

3. Change the password for root to ‘changepassword’ by using the following string

#mysql> update cc_ui_authen set pwd_encoded = '410fc6268dd3332226de95e42d9efa4046c5463769d7493b85e65cfa5c26362dc2455cc23c0bc5831deb008def4ab11a9eaa9b76ba3f377da134f39ec60dd758' where login='root';

4. You should now be able to login to A2Billing using the username/password of root/changepassword.

The A2billing password reset part is courtesy of  Matt Newcombe


3. Elastix

For Elastix just login to your ssh and enter the following line

# sqlite3 /var/www/db/acl.db "UPDATE acl_user SET md5_password = '`echo -n password|md5sum|cut -d ' ' -f 1`' WHERE name = 'admin'"

Replace the red coloured password with your desired password.


4. PBX in a flash (PIAF)

In PIAF login to ssh and enter the following

# passwd-master

This will change all your access passwords to the new one that you will be prompted to provide.

Thats it for now