jueves, 2 de mayo de 2013

ASTERISK COLOMBIA A2BILLING MYSQL ELASTIX

Bueno menos saludos mas trabajo:


groupadd -g 80 asterisk
useradd -M -u 80 -g 80 -s /sbin/nologin asterisk

Esto si es centos:

Install Dependencies

yum -y install perl-DBD-Pg subversion
yum -y install python-setuptools.noarch
yum -y install MySQL-python

si no pues preguntenme para debian o demas.

Baja la ultima version de a2billing : Ahi ahorro la pereza de buscarlo

cd /usr/src

wget https://github.com/Star2Billing/a2billing/archive/master.tar.gz



Descomprimimos :

tar xvzf  master.tar.gz

queda como asterisk-billing

pero mejor lo renombramos

mv asterisk-billing a2billing

y queda como en la ilustracion


cp /usr/src/a2billing/a2billing.conf /etc/asterisk

chown root:root /etc/asterisk/a2billing.conf    damos permisos

ln -sf /etc/asterisk/a2billing.conf /etc/a2billing.conf

nano /etc/a2billing.conf

aca ahi que poner los mismo datos de cuando creamos nuestra base de datos manual de a2billing



[database]
hostname = 127.0.0.1
port = 3306
user = root
password = 220302
dbname = mya2billing
dbtype = mysql


deberemos camabir el  hostname por localhost

el password por el de la base de datos y el user.


OK ya sabiendo que tienen instalado mysql

se logean

mysql -u root -p

su pass

 y crean una base de datos llamada mya2billing



create DATABASE mya2billing


le dan privilegios


al root




GRANT ALL PRIVILEGES ON mya2billing.* TO 'root'@'localhost' IDENTIFIED BY 'morfina';

nano /etc/asterisk/manager.conf


[general]
enabled = yes
webenabled = yes

[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


port = 5038
bindaddr = 0.0.0.0

 
ahora nos psamos a

/usr/src/a2billing


cd Database

/usr/src/a2billing/DataBase/mysql-5.x


./install-db.sh


debe poner los datos tal cual creo la base de datos

y edito en el a2billng.conf


el pide


localhost

nombre de la base de datos: mya2billing

user:  root

pass: pues el que escogieron

y listo la instala


primordial:::: esto para centos si no omitan el html

cp -rf /usr/src/a2billing/customer /var/www/html
cp -rf /usr/src/a2billing/agent /var/www/html
cp -rf /usr/src/a2billing/admin /var/www/html/billing-admin
cp -rf /usr/src/a2billing/common /var/www/html

chmod 777 /var/www/html/customer/templates_c
chmod 777 /var/www/html/agent/templates_c
chmod 777 /var/www/html/common/
chmod 777 /var/www/html/billing-admin/templates_c

chown root:root /var/www/html/customer/templates_c
chown root:root /var/www/html/agent/templates_c
chown root:root /var/www/html/common/
chown root:root /var/www/html/billing-admin/templates_c


 con esto estamos creanod la interface web


Creamos los include


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

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

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 root:root /etc/asterisk/extensions_a2billing.conf

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 777 /var/lib/asterisk/mohmp3/acc_*
chown -R root:root /var/lib/asterisk/mohmp3/

1.

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


2.
cp -Rf /usr/src/a2billing/addons/sounds/ /var/lib/asterisk/sounds/
chown -R root:root /var/lib/asterisk/sounds/


3.
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 root:root /var/lib/asterisk/agi-bin

4.

mkdir /var/log/a2billing/

5.

ln -sf /var/log/a2billing /var/log/asterisk/a2billing

touch /etc/logrotate.d/a2billing

6.
nano /etc/logrotate.d/a2billing

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


7.
mkdir -p /var/run/a2billing
export EDITOR="nano"
crontab -e

# 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



8.

mkdir -p /var/lib/a2billing/script

Create Log Files
=================
touch /var/log/a2billing/a2billing-daemon-callback.log
touch /var/log/a2billing/a2billing-daemon-callback.log
touch /var/log/a2billing/cront_a2b_alarm.log
touch /var/log/a2billing/cront_a2b_autorefill.log
touch /var/log/a2billing/cront_a2b_batch_process.log
touch /var/log/a2billing/cront_a2b_bill_diduse.log
touch /var/log/a2billing/cront_a2b_subscription_fee.log
touch /var/log/a2billing/cront_a2b_currency_update.log
touch /var/log/a2billing/cront_a2b_invoice.log
touch /var/log/a2billing/a2billing_paypal.log
touch /var/log/a2billing/a2billing_epayment.log
touch /var/log/a2billing/api_ecommerce_request.log
touch /var/log/a2billing/api_callback_request.log
touch /var/log/a2billing/a2billing_agi.log



9.
mkdir /etc/asterisk/a2billing
cp -rf /usr/src/a2billing/Cronjobs /etc/asterisk/a2billing

chown root:root /etc/asterisk/a2billing


nano /etc/asterisk/extensions_a2billing.conf

[a2billing]
include => a2billing_callingcard
include => a2billing_monitoring
include => a2billing_voucher

[a2billing_callingcard]
; CallingCard application
exten => _XXXX.,1,Answer
exten => _XXXX.,2,Wait(1)
exten => _XXXX.,3,AGI(a2billing.php)
exten => _XXXX.,4,Wait(2)
exten => _XXXX.,5,Hangup

[a2billing_monitoring]
; Monitoring IVR application
exten => 100,1,Answer
exten => 100,2,Wait(1)
exten => 100,3,AGI(a2billing_monitoring.php)
exten => 100,4,Wait(2)
exten => 100,5,Hangup

[a2billing_voucher]
exten => 101,1,Answer
exten => 101,2,Wait(1)
exten => 101,3,AGI(a2billing.php|1|voucher)
exten => 101,4,Wait(2)
exten => 101,5,Hangup

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


find /etc/asterisk/. -name "*" -type d -exec chmod -R 777 \{\} \; -print
/usr/sbin/asterisk -rx "reload"
/usr/sbin/asterisk -rx "sip reload"
/usr/sbin/asterisk -rx "dialplan reload"
/usr/sbin/asterisk -rx "sip show peers" | grep OK

user: root
pass: changepassword


para dejarlo en español


locale-gen en_US pt_BR zh_TW es_ES fr_FR it_IT pl_PL ro_RO ru_RU tr_TR ur_PK uk_UA


apagar el firewall

y dejar el selinux od¿bediente o mejor desabilitado


setenforce 0




Si tienen dudas de las  versiones digamos en centos y debian cambia un poco pregunten




WWWW.ALOMUNDO.CO


1 comentario:

  1. Hola Alejandro esto teniendo problemas para ejecutar desde un scrip php exec... Puede ayudarme este comando

    find /etc/asterisk/. -name "*" -type d -exec chmod -R 777 \{\} \; -print

    Saludos

    ResponderEliminar