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.gzCon 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.gzy 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 = 3306user = rootpassword = (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:
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.#mysql –u root
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.confTiene 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/a2billingFichero common:
#ln -s /usr/local/src/a2billing/common /var/www/html/a2billing/commonFichero admin:
#ln -s /usr/local/src/a2billing/admin /var/www/html/a2billing/adminFichero agent:
#ln -s /usr/local/src/a2billing/agent /var/www/html/a2billing/agentFichero customer:
#ln -s /usr/local/src/a2billing/customer /var/www/html/a2billing/customerAhora 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
# 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/a2billingDonde 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:
Hola Amigo
ResponderEliminarMi nombre es Tomas Lagunas
te felicito por un exelente tutorial sobre la instalacion de a2billing
http://todoasterisk.blogspot.com/2010/06/instalacion-y-configuracion-de.html
Tengo al asterisk y freepbx todo funciona muy bien, tengo el linux ubuntu
segui paso a paso tu tutorial pero no entendi donde dice
" CRONJOBS (Replicacion para ejecutar tareas automaticas en un sitio Web "
y la mas importante el paso que dice
" DEVOLUCION DE LLAMADA (CALLBACK) "
Nota: coloco los comando en ubuntu y no me los reconoce.
como los tengo que escribir y en que directorio debo posicionarme para ejecutarlos.
#chkconfig --add a2b-callback-daemon
#service a2b-callback-daemon start
#chkconfig a2b-callback-daemon on
He colocado entre al http://ip_asterisk/a2billing
y entro a la pagina web de A2BILLING coloco
el nombre de usuario : root
el password : changepassword
y no me da acceso...
Que tengo que hacer , ayudame por favor
gracias
BUEN DIA
ResponderEliminarmuy buen tuto... pero como lo pongo en espanol podrias ayudarme?..
Excelente Tutorial,
ResponderEliminarhay que felicitar a la gente cuando las cosas estan TAN bien hechas.
felicitaciones y muchas gracias por el tutorial,
Atte: Miguel - Ecuador
TENGO UNA DUDA, ME SALE :
ResponderEliminarCannot connect to the asterisk manager!
Please check your manager configuration
COMO ARREGLO ESTO, QUE ES LO QUE TENGO MAL?
muy buen tuto,todo me funciona, pero cuando creo el usuario final,no se registra en el softphone me da faill
ResponderEliminarEn el punto de:
ResponderEliminar#chkconfig --add a2b-callback-daemon
#service a2b-callback-daemon start
#chkconfig a2b-callback-daemon on
Los escribí de la siguiente manera para que los pudiera tomar:
#chkconfig --add a2b-callback-daemon.rc
#service a2b-callback-daemon.rc start
#chkconfig a2b-callback-daemon.rc on
¿ Esta bien hacerlo ? Para hacerlo debí ubicarme en el directorio callback que contenía los .rc
aaaa.... una cosa más ... EXCELENTE APORTE AMIGO ...
ResponderEliminarSalu2