Manual de Instalación Del A2billing
Manual de Instalación Del A2billing
Manual de Instalación Del A2billing
0 32bits)
Instalacion previa de paquetes para A2billing *Instalando paquetes php <=5.2.6 #apt-get install libapache2-mod-php5 php5 php5-common #apt-get install php5-cli php5-mysql mysql-server apache2 php5-gd #apt-get install openssh-server subversion *Instalando modulo mcrypt de php para A2billing #apt-get install php5-mcrypt *Instalando Asterisk en host de A2billing #apt-get install asterisk
Instalando A2billing *Creando la carpeta de A2billing en /usr/local/src #mkdir /usr/local/src/a2billing *Descargando A2billing 1.7.1 de su pgina web http://www.asterisk2billing.org/cgi-bin/trac.cgi *Verificar que exista la carpeta de la versin a descargar poniendo como usuario y clave a su repositorio guest, guest respectivamente http://svn.a2billing.net/svn/asterisk2billing/tags/ *Una vez verificada que la carpeta de la versin exista procederemos a su descarga #svn co --username guest --password guest http://svn.a2billing.net/svn/asterisk2billing/tags/1.7.1/ /usr/local/src/a2billing/
*la estructura que deberia tener A2billing en la ruta de /usr/local/src/a2billing es esta - AGI/ -AUTHORS -CHANGELOG -COPYING -CallBack/
-Cronjobs/ - DataBase/ -INSTALL.Centos -INSTALL.Debian -README -REQUIREMENTS -a2billing.conf -addons/ -admin/ -agent/ -common/ -customer/ -webservice/ *Preparando la base de datos Mysql para los accesos de A2billing #cd /usr/local/src/a2billing #mysql -u root -p < DataBase/mysql-5.x/a2billing-createdb-user.sql
*El usuario y Passwor de la base de datos por defecto son Database name is: mya2billing Database user is: a2billinguser User password is: a2billing
*Editar el archivo A2billing.conf #vi /etc/a2billing.conf *Edtando los parametros de la base de datos [database] hostname = localhost port = 3306 user = a2billinguser password = a2billing dbname = mya2billing dbtype = mysq *Dando permisos a los archivos de configuracion de Asterisk chmod 777 /etc/asterisk 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.conf *Instalando los archivos de sonidos editar vim /usr/local/src/a2billing/addons/sounds/install_a2b_sounds_deb.sh *verificar que la variable ast_sound este en la carpeta de sonido de asterisk por defecto ast_sound=/var/lib/asterisk/sounds *Luego de verificar proceder a ejecutar #/usr/local/src/a2billing/addons/install_a2b_sounds_deb.sh #chown -R asterisk:asterisk /var/lib/asterisk/sounds/ *Configurando el Asmanager de Asterisk #vi /etc/asterisk/manager.conf [general] enabled = yes port = 5038 bindaddr = 0.0.0.0 [myasterisk] secret=mycode read=system,call,log,verbose,command,agent,user write=system,call,log,verbose,command,agent,user *Instalando los paquetes del Agi #mkdir /var/lib/asterisk/agi-bin #chown asterisk:asterisk /var/lib/asterisk/agi-bin Opcion1: #cd /usr/local/src/a2billing/AGI #cp a2billing.php /var/lib/asterisk/agi-bin/ #cp -Rf lib /var/lib/asterisk/agi-bin/ Opcion2: #ln -s /usr/local/src/a2billing/AGI/a2billing.php /usr/share/asterisk/agi-bin/a2billing.php
#ln -s /usr/local/src/a2billing/AGI/lib /usr/share/asterisk/agi-bin/lib !Importante Verificar que la carpeta lib contenga los archivos ya que al copiar la carpeta lib que es un link *Haciendo que le script sea ejecutado #chmod +x /var/lib/asterisk/agi-bin/a2billing.php *Instalando la parte Web de A2billing #mkdir /var/www/a2billing #chown www-data:www-data /var/www/a2billing Opcion1: #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 Opcion2: #ln -s /usr/local/src/a2billing/admin /var/www/a2billing/admin #ln -s /usr/local/src/a2billing/agent /var/www/a2billing/agent #ln -s /usr/local/src/a2billing/customer /var/www/a2billing/customer #ln -s /usr/local/src/a2billing/common /var/www/a2billing/common Dando permisos Necesarios a las carpetas templates #chmod 755 /usr/local/src/a2billing/admin/templates_c #chmod 755 /usr/local/src/a2billing/customer/templates_c #chmod 755 /usr/local/src/a2billing/agent/templates_c #chown -Rf www-data:www-data /usr/local/src/a2billing/admin/templates_c #chown -Rf www-data:www-data /usr/local/src/a2billing/customer/templates_c #chown -Rf www-data:www-data /usr/local/src/a2billing/agent/templates_c *para loguearse a la web de A2billing (http://<ip-addr>/a2billing/admin) *Usuario y password por defecto son: user: root pass: changepassword *Creando el Dialplan de A2billing #vi /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 [did] ; CallingCard application exten => _X.,1,DeadAGI(a2billing.php|1|did) *creando la programacion del Cron #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 Activando el demonio de llamadas de retorno #apt-get install python-setuptools python-mysqldb python-psycopg2 pythonsqlalchemy #cd /usr/local/src/a2billing/CallBack #easy_install callback-daemon-py/dist/callback_daemon-1.0.prod_r1527py2.5.egg *Instalando en el init.d #cd /usr/local/src/a2billing/CallBack/callback-daemon-py/callback_daemon/ #cp a2b-callback-daemon.debian /etc/init.d/a2b-callback-daemon #chmod +x /etc/init.d/a2b-callback-daemon *Actualizando el demonio #update-rc.d a2b-callback-daemon defaults 40 60 *removiendo el demonio en el futuro #update-rc.d -f a2b-callback-daemon remove
*Configurando el modulos de notificacion en a2billing # aptitude install postfix # vim /etc/postfix/main.cf # Configuraciones para hacer relay por mail.dominioexterno.com en el puerto 587 # Especificamos la direccin del servidor y el puerto relayhost = [mail.dominioexterno.com] ### Opciones de autenticacin y seguridad para el cliente SMTP### # Habilitamos la autenticacin SASL para el cliente SMTP smtp_sasl_auth_enable = yes # Especificamos los metodos de seguridad para la autenticacin # del cliente SMTP smtp_sasl_security_options = noanonymous # Especificamos el archivo de mapas donde se encuentra la informacin # para autenticarse al servidor mail.dominioexterno.com. smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd # El cliente smtp se autentica al servidor relay usando TLS (STARTTLS) smtp_use_tls = yes # No permitimos metodo de autenticacin anonima para el cliente smtp/tls smtp_sasl_tls_security_options = noanonymous
# vim /etc/postfix/sasl_passwd [mail.dominioexterno.com] user@dominioexterno.com:123 # chown root:postfix /etc/postfix/sasl_passwd # chmod 640 /etc/postfix/sasl_passwd # postmap /etc/postfix/sasl_passwd # /etc/init.d/postfix restart # mail elmeildeladmin@hotmail.com