Professional Documents
Culture Documents
1 cho Trixbox/Asterisk
A2Billing, kết hợp với Asterisk, tạo nên hệ thống VoIP có tính cước tuyệt vời, mà lại hoàn toàn miễn phí.
Bài viết hướng dẫn cách cài đặt A2Billing mới nhất (1.7.1 - thời điểm bài viết) trên Trixbox. Nếu bạn dùng các
distro khác hoặc cài asterisk bằng tay trên Linux thì cũng có thể tham khảo và thực hiện theo, nhưng sẽ có một
vài điểmn khác biệt nhỏ.
Bản A2Billing 1.7.1 có nhiều cải tiến, và một trong số đó là script đơn giản hóa quá trình cài đặt (tạo database,
cài đặt file âm thanh cho a2b)
Chú ý: hướng dẫn tuy dài, nhưng mỗi bước đều rất đơn giản và dễ thực hiện. Đừng vội mất kiên nhẫn nhé.
2. Tải A2Billing
mkdir /usr/local/src/a2billing
cd /usr/local/src/a2billing
wget http ://www.asterisk2billing.org/downloads/A2Billing_1.7.1.tar.gz
3. Giải nén:
cp a2billing.conf /etc/.
Lưu ý: sau khi hoàn thành bước này, database a2b sẽ được tạo, nhưng trống trơn.
6. Chỉnh sửa file /etc/a2billing.conf: phù hợp với bước trên như sau:
[database]
hostname = localhost
; port for postgres is 5432 by default
port =
user = a2b
password = a2bpass
dbname = a2b
; dbtype setting can either be mysql or postgres
dbtype = mysql
cd /usr/local/src/a2billing/DataBase/mysql-5.x
./install-db.sh
Trả lời các câu hỏi phù hợp với cấu hình trong /etc/a2billing.conf
Kiểm tra lại bằng phpMyAdmin, bạn sẽ thấy database a2b bây giờ đã có 97 tables hay tương tự.
8. Cài đặt AGI và file âm thanh. Việc cài đặt file âm thanh chỉ đơn giản là chạy file shell như sau:
cp /usr/local/src/a2billing/AGI/a2billing.php /var/lib/asterisk/agi-bin/a2billing.php
/usr/local/src/a2billing/addons/sounds/install_a2b_sounds.sh
9. Asterisk Manager
Thêm các dòng sau vào file /etc/asterisk/manager_custom.conf (hay manager.conf nếu không dùng
FreePBX)
[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
Thường thư mục web gốc của apache2 là /var/www/html. Tạo thư mục sau: /var/www/html/a2b
mkdir /var/www/html/a2b
Sau đó, sao chép các thư mục sau vào thư mục a2b mới tạo
a. Common
cp -R /usr/local/src/a2billing/common/ /var/www/html/a2b/.
b. Admin pages
cp -R /usr/local/src/a2billing/admin/ /var/www/html/a2b/.
c. Agent
cp -R /usr/local/src/a2billing/agent/ /var/www/html/a2b/.
d. Customer
cp -R /usr/local/src/a2billing/customer/ /var/www/html/a2b/.
Nếu dùng Asterisk Distros, thì group và ownership là asterisk và asterisk. Còn không thì bạn sẽ gán
permission cho phù hợp.
mkdir -p /var/lib/a2billing/script
mkdir -p /var/run/a2billing
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
Sau đây là đoạn script cài đặt call-back cho a2billing. Thay thế LOAD_LOC cho phù hợp với thư mục
chứa source a2billing.
Chú ý: bạn có thể bỏ qua bước này nếu không cần hoặc bổ sung Callback sau.
LOAD_LOC=/usr/local/src/a2billing
cd $LOAD_LOC/Callback/callback-daemon-py
cp $LOAD_LOC/CallBack/callback-daemon-py/build/lib/callback_daemon/a2b-callback-daemon.rc
/etc/init.d/a2b-callback-daemon
chmod +x /etc/init.d/a2b-callback-daemon
cd $LOAD_LOC/CallBack/callback-daemon-py/
python setup.py build
python setup.py bdist_egg
easy_install dist/callback_daemon-1.0.prod_r1528-py2.4.egg
chkconfig –add a2b-callback-daemon
service a2b-callback-daemon start
chkconfig a2b-callback-daemon on
15. Dialplan
Thêm dialplan sau vào extensions_custom.conf (hoặc extensions.conf nếu không dùng FreePBX)
[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)
Bạn có thể truy cập a2billing qua giao diện web theo các URL sau:
Code:
Admin: http://trixbox-server/a2b/admin
Agent: http://trixbox-server/a2b/agent
Customer: http://trixbox-server/a2b/customer
Đầu tiên đăng nhập vào trang Admin với tài khoản mặc định sau:
user: root
password: changepassword
Sau đó, bắt đầu cấu hình tổng quát hệ thống A2Billing theo mô hình sau:
Cấu hình trunk -> Cấu hình callplan -> Cấu hình rate plan -> Thêm rate table vào callplan -> Tạo rates -> Tạo
customer -> Thử nghiệm
A2Billing là phần mềm rất mạnh và rất hay, nhưng để hiểu và vận hành được nó thì đòi hỏi nhiều thời gian tìm
tòi và khám phá. Hy vọng qua bài hướng dẫn này, bạn có thể tự dựng a2b nhanh chóng để có thể bắt đầu quá
trình ..vọc.