PRECONFIGURACION Y DESCARGA DE A2BILLING
Lo primero que tenemos que hacer es instalar las dependencias para que corra A2billing en AsteriskNow_1.7, ejecutamos el comando:
#yum -y install perl-DBD-Pg subversion
Luego creamos un directorio donde descargaremos A2biiling
#mkdir /usr/local/src/a2billing
Vamos al directorio creado
#cd /usr/local/src/a2billing
Descargamos A2billing dentro del directorio creado a2biiling
#wget http://www.asterisk2billing.org/downloads/A2Billing_1.7.1.tar.gz
Con este comando descargamos A2billing directo de la pagina de A2billing de internet, si te da algún error en la descarga revisa la dirección de la pagina de internet por si la cambiaron de ubicación e introdúcela manualmente después de wget.
Ahora descomprimimos el fichero .tar.gz que descargamos
#tar zxvf A2Billing_1.7.1.tar.gz
y te dara algo como esto:
Lo siguiente es copiar el fichero a2biiling.conf al directorio /etc:
Estando en el directorio a2billing que creamos ejecutamos el siguiente comando:
#cp a2billing.conf /etc/
Editamos el fichero a2billing.conf que copiamos en /etc/a2billing.conf y cambiamos dbtype = mysql si aun no esta cambiado.
Antes de nada hacer una copia de seguridad de este fichero:
#cp /etc/a2billing.conf /etc/a2billing.conf_BACK
#nano /etc/a2billing.conf
INSTALACION DE BASE DE DATOS PARA A2BILLING
Lo primero que hay que hacer es editar el fichero a2billing.con que esta en /etc/a2billing.con y cambiar algunos parámetros para crear la base de datos:
Este es la imagen del fichero que viene por defecto:
Tiene que quedar asi: #nano /etc/a2billing.conf
Cambiamos:
puerto = 3306
user = root
password = (vacio)
dbname = mya2billing
Creamos la base de datos en mysql con el usuario root:
#mysql –u root
Dentro de mysql ejecutamos el comando para ver las bases de datos creadas:
Creamos la nueva base de datos que la llamares
mya2billing según el fichero a2billing.conf que editamos.
Salimos de mysql con el comando:
Ejecutamos el scrip install-db.sh que esta en el directorio /usr/local/src/a2billing/DataBase/mysql-5.x
#cd /usr/local/src/a2billing/DataBase /mysql-5.x
#./install-db.sh
Si queremos verificar si se creo la base de dato mya2billing y si se creo las tablas con el scrip ./install-db.sh ejecutamos:
#mysql –u root
Si os aparece una lista con unas 97 tablas aproximadamente es que ha ido bien de lo contrario revisar de nuevo la configuración y ejecutar de nuevo el script ./install-db.sh.
INSTALACION DE LA INTERFAZ DE GESTION (AGI) Y LOS SONIDOS PARA A2BILLING.
Lo primero que tenemos que hacer es copiar el fichero a2billing.php a la siguiente direccion:
#cp usr/local/src/a2billing/AGI/a2billing.php /var/lib/asterisk/agi-bin/a2billing.php
Luego le asignaremos los permisos de propiedad y ejecución adecuado al fichero que copiamos a2billing.php
#chmod +x /var/lib/asterisk/agi-bin/a2billing.php
#chown asterisk:asterisk /var/lib/asterisk/agi-bin/a2billing.php
CONFIGURAR EL SONIDO
Vamos al siguiente directorio donde esta el script de sonidos de a2billing y lo ejecutamos:
#cd /usr/local/src/a2billing/addons/sounds
#./install_a2b_sounds.sh
Lo que hace el script es crear directorios dentro de asterisk y copiar los ficheros de sonidos de a2billing.
Ahora asignaremos los permiso de propiedad al directorio /var/lib/asterisk
#chown -R asterisk:asterisk /var/lib/asterisk/
CREAR UN USUARIO EN EL ASTERISK MANAGER
Editar el fichero /etc/asterisk/manager.conf
#nano /etc/asterisk/manager.conf
Tiene que quedar asi:
INSTALACION DE LA PAGINA WEB DE A2BILLING
Asumimos que la carpeta root de apache es /var/www/html. Por lo que tenemos que enlazar cuatro ficheros a esta carpeta.
Para ello hacemos enlaces simbolicos de la carpeta destino a la carpeta a2billing en /var/www/html.
Antes de nada tenemos que crear la carpeta a2billing dentro de /var/www/html:
#mkdir /var/www/html/a2billing
Fichero common:
#ln -s /usr/local/src/a2billing/common /var/www/html/a2billing/common
Fichero admin:
#ln -s /usr/local/src/a2billing/admin /var/www/html/a2billing/admin
Fichero agent:
#ln -s /usr/local/src/a2billing/agent /var/www/html/a2billing/agent
Fichero customer:
#ln -s /usr/local/src/a2billing/customer /var/www/html/a2billing/customer
Ahora tenemos que establecer permisos para Apache.
#chown -R asterisk:asterisk /var/www/html/a2billing/
#chown -R asterisk:asterisk /usr/local/src/a2billing/common
#chown -R asterisk:asterisk /usr/local/src/a2billing/admin
#chown -R asterisk:asterisk /usr/local/src/a2billing/customer
#chown -R asterisk:asterisk /usr/local/src/a2billing/agent
CRONJOBS (Replicacion para ejecutar tareas automaticas en un sitio Web)
Copiamos todo este codigo y lo ejecutamos:
echo "
# Automatically added for A2Billing
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_alarm.php
0 12 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_archive_data_cront.php
0 10 21 * * php /usr/local/src/a2billing/Cronjobs/a2billing_autorefill.php
#Batch process at 00:20 each day
20 0 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_process.php
#Bill DID usage at 00:00 each day
0 0 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_bill_diduse.php
#Generate Invoices at 6am everyday
0 6 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_billing.php
#Check if balance below preset value, and email user if so.
1 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_notify_account.php
#Charge subscriptions at 06:05 on the 1st of each month
0 6 1 * * php /usr/local/src/a2billing/Cronjobs/a2billing_subscription_fee.php
#Update currencies at 01:00 each day
0 1 * * * php /usr/local/src/a2billing/Cronjobs/currencies_update_yahoo.php
" >> /var/spool/cron/asterisk
Revisiar el README de a2billing porque el editor no admite comando >>
CREAR EL DIRECTORIO DE SECUENCIA DE COMANDOS DE CONTROL
#mkdir -p /var/lib/a2billing/script
#mkdir -p /var/run/a2billing
CREAR ARCHIVOS DE REGISTRO
Los creamos uno a uno:
#touch /var/log/asterisk/a2billing-daemon-callback.log
#touch /var/log/a2billing-daemon-callback.log
#touch /var/log/cront_a2b_alarm.log
#touch /var/log/cront_a2b_autorefill.log
#touch /var/log/cront_a2b_batch_process.log
#touch /var/log/cront_a2b_bill_diduse.log
#touch /var/log/cront_a2b_subscription_fee.log
#touch /var/log/cront_a2b_currency_update.log
#touch /var/log/cront_a2b_invoice.log
#touch /var/log/a2billing_paypal.log
#touch /var/log/a2billing_epayment.log
#touch /var/log/api_ecommerce_request.log
#touch /var/log/api_callback_request.log
#touch /var/log/a2billing_agi.log
DEVOLUCION DE LLAMADA (CALLBACK)
Lo primero es copiar un fichero (a2b-callback-daemon.rc) que se encuentra en la carpeta que descargamos a2billing: /usr/local/srs/a2billing//CallBack/callback-daemon-py/build/lib/callback_daemon/a2b-callback-daemon.rc a la carpeta /etc/init.d/a2b-callbak-daemon:
#cp /usr/local/srs/a2billing//CallBack/callback-daemon-py/build/lib/callback_daemon/a2b-callback-daemon.rc /etc/init.d/a2b-callback-daemon
Asignamos permisos de ejecucion:
#chmod +x /etc/init.d/a2b-callback-daemon
Luego instalamos y creamos algunos modulos par aque corra a2billing poe web:
#yum -y install python-setuptools.noarch
#yum -y install MySQL-python
#easy_install sqlalchemy
Nos situamos en el directorio:
#cd /usr/local/src/a2billing/CallBack/callback-daemon-py/
Ejecutamos:
#python setup.py build
#python setup.py bdist_egg
#easy_install dist/callback_daemon-1.0.prod-py2.4.egg
#chkconfig --add a2b-callback-daemon
#service a2b-callback-daemon start
#chkconfig a2b-callback-daemon on
#reboot
ACCEDER A A2BILLING
http://ip_asterisk/a2billing
Donde ip_asterisk es la ip de tu servidor o en otro caso el dominio de tu servidor.
Acceder a la Pagina de
admin con el usuario
root y el password
changepassword
Y eso es toda la Configuracion e Instalacion de A2billing en Asterisk_Now_1.7
Colaboracion:
Prof. (I.E.S.S:) : Carmelo Fernandez Garcia