Cài đặt A2Billing

Một phần của tài liệu xây dựng tổng đài ip pbx (Trang 79 - 88)

Chương 5 : CÀI ĐẶT ASTERISK VÀ A2BILLING

4.Cài đặt A2Billing

https://nodeload.github.com/Star2Billing/a2billing/tarball/v1-current

Sau khi download về ta thay đổi tên thành a2billing.tar.gz và copy vào thư mục /usr/src của Server.

Trước khi tiến hành download và cài đặt, ta phải đảm bảo hệ thống Asterisk đã hoạt động tốt. Ví dụ như các cuộc gọi nội bộ, cuộc gọi ra ngoài PSTN, cuộc gọi thông qua nhà cung cấp dịch vụ VoIP,… đã được thiết lập đúng hay chưa. Điều này là hết sức quan trọng, vì bất cứ lỗi nào xảy ra và khi đã cài đặt thêm gói A2Billing thì sẽ trở nên khó hơn cho ta trong việc tìm lỗi cũng như sửa chữa. Và đặc biệt chúng ta sẽ sử dụng lại một số thiết lập trong FreePBX mà ta đã thực hiện ở chương

trước.

Cũng như việc cài đặt FreePBX, ta cần đảm bảo Apache2, PHP, MySQL đều hoạt động tốt trước khi tiến hành cài đặt A2billing. Các bước tiến hành cài đặt A2billing với lệnh như sau:

Chuẩn bị Database cho a2billing

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

mysql -u root -proot <a2billing-createdb-user.sql

Tiến hành cài đặt cơ sơ dữ liệu cho A2billing bằng cách chạy file script install-db.sh

./install-db.sh

Trong quá trình cài đặt ta cần khai báo các thông tin sau: Enter Database Name: mya2billing

Enter Hostname: localhost

Enter UserName: a2billinguser

Enter Password: a2billing

Sau khi cài đặt xong ta cần truy nhập vào cơ sở dữ liệu vừa tạo để kiểm tra lại

mysql mya2billing -u a2billinguser -pa2billing

Tiếp theo ta tiến hành cài đặt giao diện web A2billing và phân quyền thực thi cho các thư

mục

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/a2billing chmod 777 /var/www/a2billing/templates_c cp -Rf /usr/src/a2billing/common /var/www/

Cài đặt và thực thi các file AGI cho sự hoạt động của A2billing

cp /usr/src/a2billing/AGI/a2billing.php /var/lib/asterisk/agi-bin/

cp /usr/src/a2billing/AGI/a2billing_monitoring.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

chmod +x /var/lib/asterisk/agi-bin/a2billing_monitoring.php chown -R asterisk:asterisk /var/lib/asterisk/agi-bin

Thay đổi các file cấu hình của A2billing bằng các lệnh sau:

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

sed -i “s/\(port *= *\)\(.*\)/\13306/” /etc/asterisk/a2billing.conf

sed -i “s/\(user *= *\)\(.*\)/\1a2billinguser/” /etc/asterisk/a2billing.conf sed -i “s/\(password *= *\)\(.*\)/\1a2billing/” /etc/asterisk/a2billing.conf sed -i “s/\(dbname *= *\)\(.*\)/\1mya2billing/” /etc/asterisk/a2billing.conf

Tạo vài đường dẫn chứa tập tin MOH mp3 cho A2billing

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_* (adsbygoogle = window.adsbygoogle || []).push({});

chown -R asterisk:asterisk /var/lib/asterisk/mohmp3/

Cài đặt các tập tin âm thanh hỗ trợ cho A2billing

cd /usr/src/a2billing/addons/sounds chmod +x install_a2b_sounds.sh ./install_a2b_sounds.sh

mkdir -p /var/lib/asterisk/sounds/a2billing chmod +x /var/lib/asterisk/sounds/*

Tạo các tập tin mở rộng liên kết giữa A2billing và Asterisk

cd /etc/asterisk/

touch additional_a2billing_iax.conf touch additional_a2billing_sip.conf touch extensions_a2billing.conf

echo “#include additional_a2billing_sip.conf” >> /etc/asterisk/sip_custom.conf echo “#include additional_a2billing_iax.conf” >> /etc/asterisk/iax_custom.conf echo -e >> /etc/asterisk/extensions_custom.conf

Phân quyền truy cập, thực thi cho các tập tin, thư mục liên quan cho sự truy nhập vào A2billing của user

chmod 777 /etc/asterisk/additional_a2billing_iax.conf chmod 777 /etc/asterisk/additional_a2billing_sip.conf

chown -R asterisk:asterisk /etc/asterisk/additional_a2billing_iax.conf chown -R asterisk:asterisk /etc/asterisk/additional_a2billing_sip.conf chown -R asterisk:asterisk /var/lib/asterisk/agi-bin

chown -R asterisk:asterisk /etc/asterisk/ chown -R asterisk:asterisk /var/www/common chown -R asterisk:asterisk /var/www/a2billing chown -R asterisk:asterisk /var/www/customer chown -R asterisk:asterisk /var/www/agent chown -R asterisk:asterisk /var/lib/asterisk/

Thay đổi và thêm vào tập tin manager.conf các thông tin cần thiết bằng các lệnh sau:

sed -i “s/\(enabled *= *\)\(.*\)/\1yes/” /etc/asterisk/manager.conf echo “ [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 “ >> /etc/asterisk/manager.conf

Nếu muốn cho phép khởi động A2billing từ FreePBX, ta cần tạo một Custom Trunk mới bằng lệnh sau:

echo ‘

[macro-dialout-trunk-predial-hook]

exten => s,1,GotoIf($[”${OUT_${DIAL_TRUNK}:4:4}” = “A2B/”]?custom-freepbx- a2billing,${OUTNUM},1:2) exten => s,2,MacroExit [custom-freepbx-a2billing] exten=> _X.,1,DeadAGI(a2billing.php|${OUT_${DIAL_TRUNK}:8}) exten => _X.,n,Hangup() ‘ >> /etc/asterisk/extensions_custom.conf

Bổ sung thêm một số Context cần thiết để cho A2billing có thể hoạt động được cùng với

Asterisk echo “ [a2billing] exten => _X.,1,Answer exten => _X.,n,Wait(1) exten => _X.,n,AGI(a2billing.php|1) exten => _X.,n,Hangup [a2billing-callback] exten => _X.,1,deadAGI(a2billing.php|1|callback) exten => _X.,n,Hangup [a2billing-cid-callback]

exten => _X.,1,deadAGI(a2billing.php|1|cid-callback|34);last #parameter is the callback area code

exten => _X.,n,Hangup [a2billing-all-callback]

exten => _X.,1,deadAGI(a2billing.php|1|all-callback|34);last #parameter is the callback area code exten => _X.,n,Hangup [a2billing-did] exten => _X.,1,deadAGI(a2billing.php|1|did) exten => _X.,2,Hangup [a2billing-voucher] exten => _X.,1,deadAGI(a2billing.php|1|voucher) exten => _X.,n,Hangup [custom-a2billing-did] exten => _X.,1,deadAGI(a2billing.php|1|did) exten => _X.,2,Hangup [custom-a2billing] exten => _X.,1,deadAGI(a2billing.php|1) exten => _X.,n,Hangup “ >> /etc/asterisk/extensions_a2billing.conf

Tạo các tập tin Log cần thiết trong thư mục /var/log/a2billing

mkdir -p /var/log/a2billing touch /var/log/asterisk/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/cront_a2b_check_account.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

chown asterisk:asterisk /var/log/asterisk/a2billing-daemon-callback.log chown -R asterisk:asterisk /var/log/a2billing

Như thế là cơng việc cài đặtA2billing đã hồn thành. Sau khi cài đặt xong ta vào trình duyệt

web Firefox, đăng nhập vào địa chỉ http://192.168.1.10/a2billing sẽ xuất hiện giao diện Login như

Hình 5.9. Giao diện đang nhập tài khoản A2billing (adsbygoogle = window.adsbygoogle || []).push({});

Lúc này ta sẽ đăng nhập vào giao diện A2billing với Username và Password mặc đinh như sau:

• Username: root

• Password: changepassword Và giao diện cấu hình A2Billing như sau:

Một phần của tài liệu xây dựng tổng đài ip pbx (Trang 79 - 88)