Instalar a2billing 1.4.1 en Debian

Imagen de RazaMetaL

Tema: 

Instalar a2billing 1.4.1

A2billing es un completo sistema de facturación para asterisk, en esta versión que vió la luz el día de hoy, se añaden algunas características que la comunidad pedía como por ejemplo, el tener agentes/revendedores y poder manejar la comisión de cada uno.

Otra cosa interesante es que no solamente opera con asterisk, también esta con opensips y freeswitch. Sin duda el avance en el desarrollo ha sido bastante notorio :)

Instalamos dependencias:

aptitude install libapache2-mod-php5 php5 php5-common php5-cli php5-mysql mysql-server apache2 php5-gd openssh-server php5-mcrypt

Descargamos y descomprimimos a2billing:

mkdir -p /usr/src/a2billing/
wget http://www.asterisk2billing.org/downloads/A2Billing_1.4.1.tar.gz
tar zvxf A2Billing_1.4.1.tar.gz

Creamos la base de datos y el usuario

mysql -u root -p < /usr/src/a2billing/DataBase/mysql-5.x/a2billing-createdb-user.sql
mysql -u root -p mya2billing < /usr/src/a2billing/DataBase/mysql-5.x/a2billing-schema-v1.4.0.sql

Copiamos el archivo de configuración:

cp /usr/src/a2billing/a2billing.conf /etc/asterisk
chown asterisk:asterisk /etc/asterisk/a2billing.conf
ln -sf /etc/asterisk/a2billing.conf /etc/a2billing.conf

Modificamos los parametros para la conección a la base de datos:

sed -i "s/\(a2billing_dbuser *= *\)\(.*\)/\1a2billinguser/" /etc/asterisk/a2billing.conf
sed -i "s/\(a2billing_dbpassword *= *\)\(.*\)/\1a2billing/" /etc/asterisk/a2billing.conf
sed -i "s/\(a2billing_dbname *= *\)\(.*\)/\1mya2billing/" /etc/asterisk/a2billing.conf
sed -i "s/\(dbtype *= *\)\(.*\)/\1mysql/" /etc/asterisk/a2billing.conf

Cremos un usuario en /etc/asterisk/manager.conf :

[myasterisk]
secret = mycode
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user

Copiamos las interfaces de usuario, agente y administrador:

cp -rf /usr/src/a2billing/customer /var/www
chmod 777 /var/www/customer/templates_c

cp -rf /usr/src/a2billing/agent /var/www
chmod 777 /var/www/agent/templates_c

cp -rf /usr/src/a2billing/admin /var/www/billing-admin
chmod 777 /var/www/billing-admin/templates_c

cp -Rf /usr/src/a2billing/common /var/www

Creamos los archivos en donde se guardará la configuración de los usuarios de a2billing:

touch /etc/asterisk/additional_a2billing_iax.conf
touch /etc/asterisk/additional_a2billing_sip.conf
touch /etc/asterisk/extensions_a2billing.conf

chown asterisk:asterisk /etc/asterisk/additional_a2billing_iax.conf
chown asterisk:asterisk /etc/asterisk/additional_a2billing_sip.conf
chown asterisk:asterisk /etc/asterisk/extensions_a2billing.conf

Incluimos los archivos antes creados en los archivos de configuración de asterisk:

echo "#include additional_a2billing_sip.conf" >> /etc/asterisk/sip.conf
echo "#include additional_a2billing_iax.conf" >> /etc/asterisk/iax.conf
echo "#include extensions_a2billing.conf" >> /etc/asterisk/extensions.conf

chown asterisk:asterisk extensions_a2billing.conf

Creamos los directorios para la musica en espera:

mkdir -p /var/lib/asterisk/mohmp3/acc_1
mkdir -p /var/lib/asterisk/mohmp3/acc_2
mkdir -p /var/lib/asterisk/mohmp3/acc_3
mkdir -p /var/lib/asterisk/mohmp3/acc_4
mkdir -p /var/lib/asterisk/mohmp3/acc_5
mkdir -p /var/lib/asterisk/mohmp3/acc_6
mkdir -p /var/lib/asterisk/mohmp3/acc_7
mkdir -p /var/lib/asterisk/mohmp3/acc_8
mkdir -p /var/lib/asterisk/mohmp3/acc_9
mkdir -p /var/lib/asterisk/mohmp3/acc_10
chmod -p 777 /var/lib/asterisk/mohmp3/acc_*
chown -R asterisk:asterisk /var/lib/asterisk/mohmp3/

Copiamos los archivos de sonido:

mkdir /var/lib/asterisk/sounds/a2billing
chmod 777 /var/lib/asterisk/sounds/a2billing
chown -R asterisk:asterisk /var/lib/asterisk/sounds/a2billing/

cp -r /usr/src/a2billing/addons/sounds/ /var/lib/asterisk/sounds/
chown -R asterisk:asterisk /var/lib/asterisk/sounds/

Copiamos los scrips AGI:

cp /usr/src/a2billing/AGI/a2billing.php /var/lib/asterisk/agi-bin/
cp -rf /usr/src/a2billing/common/lib /var/lib/asterisk/agi-bin/
chmod +x /var/lib/asterisk/agi-bin/a2billing.php
chown -R asterisk:asterisk /var/lib/asterisk/agi-bin

Configuramos la rotación de logs:

mkdir /var/log/a2billing/
ln -sf /var/log/a2billing /var/log/asterisk/a2billing
touch /etc/logrotate.d/a2billing

En /etc/logrotate.d/a2billing agregamos:

/var/log/asterisk/a2billing/*.log {
weekly
rotate 5
size = 20M
olddir /var/log/asterisk/a2billing/old
missingok
compress
}

Configuramos las tareas y eventos programados:

mkdir /etc/asterisk/a2billing
cp -rf /usr/src/a2billing/Cronjobs /etc/asterisk/a2billing
chown asterisk:asterisk /etc/asterisk/a2billing

Ejecutamos crontab -e y agregamos:

# update the currency table
0 6 * * * php /etc/asterisk/a2billing/Cronjobs/currencies_update_yahoo.php

# manage the monthly services subscription
0 6 1 * * php /etc/asterisk/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 /etc/asterisk/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 /etc/asterisk/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 /etc/asterisk/a2billing/Cronjobs/a2billing_bill_diduse.php

# This script will take care of the recurring service.
0 12 * * * php /etc/asterisk/a2billing/Cronjobs/a2billing_batch_process.php

# To generate invoices and for each user.
0 6 * * * php /etc/asterisk/a2billing/Cronjobs/a2billing_invoice_cront.php

# to proceed the autodialer
*/5 * * * * php /etc/asterisk/a2billing/Cronjobs/a2billing_batch_autodialer.php

# manage alarms
0 * * * * php /etc/asterisk/a2billing/Cronjobs/a2billing_alarm.php

Ahora podemos ingresar a la interfaz de administración para crear usuarios y agentes revendedores:
[url]http://my.asterisk.server/billing-admin[/url]

Se ingresa con estos datos:

user : root
password : changepassword

Comentarios

Excelente como siempre raza.

Imagen de elgabo

Excelente como siempre raza. Sabes que a2billing se integre al opensips, me parece super interesante porque justamente es un SIP proxy al que le estoy metiendo mano.

Imagination is more important than Knowledge -- Albert Einstein
Errar es humano, pero para dañar las cosas realmente bien, pero bien de verdad, necesitas la contraseña de root.

Muy bueno, como siempre

Hola,
Hace mucho sigo las instalaciones de a2billing y todos los comentarios me han ayudado siempre, pero el caso es que quiero instalar el 1.4, tengo Centos, y al querer abrir http://myIP/billing-admin sale una página en blanco, tengo instalado PHP5, y demás dependencias, es más esta funcionando una versión anterior de a2billing correctamente.
Me pueden ayudar?
Desde ya muchas gracias.

Alejandro

Mira el archivo de log de

Imagen de RazaMetaL

Mira el archivo de log de apache, debe aparecer ahí la causa del problema. Asegurate también de tener instalados los módulos php que la aplicación requiere.

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Muchas gracias por la

Muchas gracias por la respuesta, el error que aparece es el siguiente:
include() [function.include]: Failed opening '../lib/admin.smarty.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/a2billing6/admin/Public/index.php on line 3, referer: http://XXX.XXX.XXX.XXX/a2billing6/
[Fri Jul 31 20:32:30 2009] [error] [client 190.190.XXX.XXX] PHP Notice: Undefined variable: smarty in /var/www/html/a2billing6/admin/Public/index.php on line 5, referer: http://XXX.XXX.XXX.XXX/a2billing6/
[Fri Jul 31 20:32:30 2009] [error] [client 190.190.XXX.XXX] PHP Fatal error: Call to a member function assign() on a non-object in /var/www/html/a2billing6/admin/Public/index.php on line 5, referer: http://XXX.XXX.XXX.XXX/a2billing6/

Tengo instalado en el directorio a2billing6 y estan los modulos de php instalados.
Muchas gracias.

1.2 y 1.4. Creo que también

Imagen de RazaMetaL

1.2 y 1.4. Creo que también 1.6, debes mirar las características de la aplicación en http://www.asterisk2billing.org

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

No toma el canal...

Que tal?
Yo tenia funcionando la version 1.3.3 y realice una nueva instalacion (Asterisk + A2Billing) para instalar la 1.4 que evidentemente es superior o por lo menos mejor organizada.

El tema es que no puedo hacerlo funcionar, cuando me pide el PIN, lo ingreso y me dice que el numero no es valido que ingrese otro...

Esta es mi configuracion:

extensions.conf

#include extensions_a2billing.conf

[from-internal]
include => a2billing

[a2billing]
exten => _X.,1,Answer()
exten => _X.,n,Wait(1)
exten => _X.,n,DeadAGI,a2billing.php
exten => _X.,n,Wait(1)
exten => _X.,n,Hangup()

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

El LOG de A2Billing me devuelve esto:

[file:a2billing.php - line:201 - uniqueid:1250783520.9]:[CallerID:5803]:[CN:1542927932]:[TARIFF ID -> 1]

[file:Class.A2Billing.php - line:854 - uniqueid:1250783520.9]:[CallerID:5803]:[CN:1542927932]:[DESTINATION ::> -1]

[file:a2billing.php - line:172 - uniqueid:1250783520.9]:[CallerID:5803]:[CN:1542927932]:[[CHANNEL STATUS : -1 = There is no channel that matches SIP/5803-09410350]

[CREDIT : 100.00000][CREDIT MIN_CREDIT_2CALL : 0]]

[CallerID:5803]:[CN:1542927932]:[[STOP - EXIT]]

Algo que me llamo la atencion es que el fichero additional_a2billing_sip.conf no se modifico al crear un nuevo cliente, y deberia tener los datos del mismo.

Alguien tiene idea que puede ser el problema? Gracias!

Debes revisar la

Imagen de RazaMetaL

Debes revisar la configuración del AGI de a2billing. En la versión 1.4 se hace desde la interfaz de administrador.

Me llama la atención también:
[quote][file:a2billing.php - line:172 - uniqueid:1250783520.9]:[CallerID:5803]:[CN:1542927932]:[[CHANNEL STATUS : -1 = There is no channel that matches SIP/5803-09410350][/quote]

Pareciera que no tienes una configuración para la troncal 5803 ??

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Call logs

Buenas , muchas gracias por el tutorial esta muy bueno , aun q faltan pequeñas cosas como la modificacion de a2billing.conf ya que no me conectava porque no sabia que datos se utilizaban en la BD , pero ya lo arregle , lo que si no he conseguido es hacer q el a2billing agarre los reportes de CDR , no tengo idea que mas tengo que hacer ya que la parte de reportes solo aparece - Call Logs - Back to Top No data found !!! si alguien ya paso por esto problema q me pueda ayudar ... muchas gracias

Mira en el log si aparece

Imagen de RazaMetaL

Mira en el log si aparece algún error relacionado con la base de datos cuando la llamada termina.

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Páginas