Mộtsố khái niệm trong A2billing

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

Trước khi chúng ta làm việc với A2Billing, ta cần phải có một số khái niệm về A2Billing và các tính năng trong đó. A2Billing thực sự nhiều tính năng hơn là một ứng dụng gọi điện bằng card thông thường. Trong đó có mốt số khái niệm mà chúng ta cần phải giải thích qua là: Customers, Rates, Rate cards, Call plan, Trunks… Chúng ta sẽ tìm hiểu thiết lập chi tiết sau khi đã nói qua khái niệm từng mục.

Customers – Customers là người dùng, đồng thời cũng là card để người dùng thực hiện cuộc gọi. Đây hoàn toàn giống như các card VoIP đang được bán trên thị trường ở Việt Nam. Một Customer sẽđược xác nhận với một số PIN number hoặc số Card number.

Rates – Rates là chi phí thực hiện cuộc gọi đến một địa điểm cụ thể nào đó. Ta qui định rate là qui định phí thực hiện cuộc gọi đến một địa điểm.

Rate cards – Rate cards có thể hiểu là một nhóm các Rates. Ta có nhiều Rates khác nhau cho những địa điểm gọi điện khác nhau. Ví dụ ta có 3 nhà cung cấp dịch vụ PSTN, mỗi người tính phí khác nhau. Ta sẽ gom chung 3 rate đó vào 1 rate card là PSTN.

Call plan – Call plan thì lại là một nhóm các Rate cards. Dùng ví dụ trên, nếu ta có một Rate card cho mục đích gọi “nội hạt”, một Rate card khác cho gọi “liên tỉnh”. Ta sẽ gom hai Rate card đó thành một Call plan có tên là “trong nước”. Và khi đó, chúng ta sẽ tạo ra các loại Card có thể thực hiện cuộc gọi đến các Call plan mà ta qui định. Ta có thể bán các loại card gọi điện “trong nước” khác các loại card gọi điện “quốc tế”.

Trunks – Trunks là các kết nối từ A2Billing đến thế giới bên ngoài (các nhà cung cấp dịch vụ). Trunk có thể là các đường dây PSTN truyền thống (gọi là Zap trunk) hoặc đường kết nối Internet

đến các nhà cung cấp dịch vụ VoIP (gọi là SIP/IAX trunk). Ở Việt Nam hiện thời các nhà cung cấp dịch vụ VoIP chưa cung cấp hình thức dịch vụ Trunk mà chỉ là các Card Number phục vụ mục đích gọi điện quốc tế qua softphone hoặc IP-phone.

PHẦN 2: THC HIN ĐỀ TÀI

Chương 5: CÀI ĐẶT ASTERISK VÀ A2BILLING 1. Cài đặt hệ điều hành linux – bản centos 5.5:

Ở phần này, em sẽ cài đặt Asterisk và xây dựng 1 tổng đài VoIP trên nền Asterisk, sử dụng hệ điều hành Linux phiên bản CentOS 5.5 . Sau khi hệ điều hành CentOS đã được cài đặt xong, ta tiến hành cài đặt Asterisk.

Ø Bắt đầu cài đặt:

Cho DVD cài đặt vào máy tính và khởi động lại với chếđộ khởi động “boot from CD/DVD”.

a. Chọn chế độ cài đặt:

Nhấn Enter để chọn chếđộ cài đặt bằng Graphical (có giao diện). Gõ “Text” để chọn chếđộ cài đặt bằng dòng lệnh.

Ta sẽ chọn chếđộ cài đặt bằng Graphical : nhấn Enter.

b. Kiểm tra đĩa CD/DVD cài đặt :

Việc kiểm tra đĩa CD/DVD cài đặt thường sẽ mất rất nhiều thời gian, tuy nhiên ta có thể

bỏ qua quá trình kiểm tra này bằng cách chọn “Skip”.

Hình 5.1. Màn hình Welcome

Click Next.

d. Chọn ngôn ngữ :

Chọn English (English) , click Next.

e. Chọn lớp ngôn ngữ cấu hình cho bàn phím:

Chọn U.S.English.

f. Chọn kiểu cài đặt:

Ta sẽ chọn chếđộ cài đặt Custom để có thể tùy ý chọn thêm hay loại bỏ các gói cài đặt phù hợp với yêu cầu của Asterisk.

g. Phân vùng ổ đĩa:

Việc phân vùng ổđĩa có thểđược thực hiện từ trước khi cài đặt CentOS bằng các chương trình phân vùng ổ đĩa hiện có, tuy nhiên ta cũng có thể thực hiện công đoạn này ngay trong lúc cài

đặt CentOS như sau:

Chọn Manually partition with Disk Druid.

h. Màn hình hiển thị chi tiết các phân vùng ổ đĩa đã tồn tại trước đó:

Tại đây ta có thể thực hiện các thao tác phân vùng ổ đĩa tùy theo ý thích và phù hợp với yêu cầu của hệ thống cần cài đặt.

Chọn lựa thứ tựưu tiên khởi động các hệđiều hành có trong ổ cứng.

Hình 5.2. Cấu hình Boot Loader

j. Cấu hình các thông số cho hệ thống mạng:

Hình 5.3. Cấu hình các thông số cho hệ thống mạng

Ta cấu hình địa chỉ IP cho máy tính

Để hệ thống Asterisk có thể hoạt động được, ta phải tắt Firewall của Linux.

Hình 5.4. Cấu hình Firewall

Chọn No firewall.

l. Chọn ngôn ngữ hiển thị khi cần hỗ trợ:

Chọn English (USA).

m. Chọn vùng địa lý hiển thị thời gian:

Chọn Asia/Saigon.

Hình

o. Lựa chọn các nhóm gói cài đ

Các mục lựa chọn như sau:

X Window System

Gnome Desktop Environment

Graphical Internet

Mail Server

Development Tools

Tuy nhiên ta có thể chọn Everything đ

được các vấn đề khi giải nén và cài đặt các gói Asterisk vào h

p. Bắt đầu tiến hành cài đặt CentOS 5.5:

Hình 5.5. Đặt password cho root.

n các nhóm gói cài đặt cho hệ thống:

n như sau:

X Window System

Gnome Desktop Environment

Development Tools

Hình 5.6. Lựa chọn các gói

Everything để chọn cài tất cả các gói ( điều này s

t các gói Asterisk vào hệ thống xảy ra do lỗi thiếu gói cài đ

t CentOS 5.5:

u này sẽ giúp tránh u gói cài đặt).

Hình5. 7. Tiến hành cài đặt CentOS

q. Sau khi cài đặt xong, ta phải boot lại máy tính để khởi động hệ điều hành Linux:

Hình 5.8. Reboot lại máy tính

2. Cài đặt asterisk:

Hầu hết các cấu hình Asterisk bao gồm 3 gói chính: chương trình Asterisk chính (asterisk), các driver Zapata (Zaptel), và các thư viện PRI (libpri). Nếu ta chỉđịnh thiết lập một mạng VoIP thuần tuý thì chỉ cần cài đặt gói asterisk, tuy nhiên, nên cài đặt cả 3 gói trên, và sau đó, chúng ta có thể

digital hardware đều được sử dụng, hoặc khi driver ztdummyđược sử dụng như một nguồn định thì. Nếu giao diện ISDN PRI không được sử dụng thì thư viện libpri cũng không nhất thiết phải có,và ta có thể tiết kiệm được một phần bộ nhớ Ram nếu không load thư viện này; tuy nhiên, thư viện libpri

cùng với gói zaptel nên được cài đặt để tạo sự hoàn chỉnh cho Asterisk.

Ngoài ra ta có thể cài thêm các gói addon cho Asterisk như : asterisk-addons, asterisk-core- sounds, asterisk-extra-sounds, asterisk-moh-freeplay…Gói asterisk-addons chứa đựng các đoạn code cho phép lưu trữ các chi tiết cuộc gọi vào 1 cơ sở dữ liệu MySQL database, nó cũng cho phép Asterisk chơi tốt được các bản nhạc MP3. Các gói asterisk-core-sounds, asterisk-extra-sounds, asterisk-moh-freeplay cung cấp các file âm thanh mẫu với nhiều định dạng như GSM, Ulaw, Alaw, WAV,…mà có thể sử dụng cho nhiều ngữ cảnh đa dạng của Asterisk.tất cả các gói trên ta đều có thể

download trên trang chủ của Asterisk, trong mục download : http://www.asterisk.org/downloads . Lưu ý: Tất cả các bước cài đặt sau phải được thực hiện trong quyền root của CentOS 5.5.

Bước 1: Update các phần mềm cài đặt cần thiết cho hệđiều hành CentOS 5.5 bằng lệnh : yum -y update.

Bước 2:Kiểm tra các thư viện cần thiết cho việc cài đặt.

Kiểm tra bằng cách dùng lệnh: rpm –q tên_thư_viện.

Nếu thư viện chưa được cài đặt, dùng lệnh yum install tên_thư_viện.

Hoặc để khỏi mất thời gian chì chúng ta chỉ cần ghi lệnh yum install <tên thư viện>. Mỗi thư

viện cách nhau bằng khoảng trống, cái nào chưa có thì hệ thống sẽ báo cài, chúng ta chỉ việc bấm “yes” và enter, thư viện nào có rồi thì hệ thống sẽ báo có rồi và bỏ qua hoặc update nếu có phiên bản mới của thư viện đó.

Bước 3: Download các gói phần mềm: Mở Terminal gõ lệnh: cd /usr/src và dùng lệnh wget để

tải các gói cài đặt về.

Tải gói Dahdi-linux từđịa chỉ:

http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.4.0.tar.gz

http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.4.0.tar.gz Tải gói libpri từđịa chỉ: http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.4.tar.gz Tải gói libss7 từđịa chỉ: http://downloads.asterisk.org/pub/telephony/libss7/releases/libss7-1.0.2.tar.gz Tải gói asterisk từđịa chỉ: http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.4.38.tar.gz Bước 4: Giải nén các gói Thực hiện giải nén các gói bằng lệnh tar zxvf tên_goi tar zxvf lame-3.98.4.tar.gz tar zxvf asterisk-1.4.38.tar.gz tar zxvf dahdi-linux-2.4.0.tar.gz tar zxvf dahdi-tools-2.4.0.tar.gz tar zxvf libpri-1.4.11.4.tar.gz tar zxvf libss7-1.0.2.tar.gz Bước 5: Cài đặt cd /usr/src tar zxvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure make make install ln -s dahdi-linux-2.4.0dahdi

cd /usr/src/dahdi-linux-2.4.0 make make install cd /usr/src/dahdi-tools-2.4.0 ./configure make make install cd /usr/src/libpri-1.4.11.4 make clean make make install cd /usr/src/libss7-1.0.2 make make install cd /usr/src/asterisk-1.4.38 make clean ./configure make menuselect make make install

Ø Cài đặt gói asterisk-addon:

ü Tải gói asterisk-addon từđịa chỉ:

http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.4.12.tar.gz

ü Tiến hành giải nén và cài đặt như sau:

cd/usr/src/asterisk-addons ./configure

make

make install

Ø Các gói còn lại: cd /var/lib/asterisk/sounds

Dùng lệnh wget tải các gói sounds và dùng lệnh tar zxvf tên_goi để giải nén các gói vừa

được tải về. http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-alaw-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g729-current.tar.gz. http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-gsm-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-alaw-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g729-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-alaw-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-g729-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-gsm-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-ulaw-current.tar.gz http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-wav-current.tar.gz

3. Một số lệnh thao tác trong hệ thống asterisk

Asterisk có 2 thành phần được xây dựng tích hợp với nhau và chạy song song với nhau: ü Asterisk Server bình thường chạy ở chếđộ (background) giống các services trong Windows.

ü Asterisk Client ở chế độ dòng lệnh CLI giao tiếp với Asterisk Server, thực thi các lệnh để

kiểm tra hay xem thông tin của Server.

Để chạy và dừng Asterisk ở chếđộ nền, ta dùng lệnh sau:

#/etc/init.d/asterisk (start/stop)

Một khi Asterisk đã chạy chúng ta có thể chuyển sang chếđộ CLI từ dấu nhắc lệnh của Linux như sau: #asterisk –r

Khi vào chếđộ lệnh nếu muốn thoát về dấu nhắc linux ta dùng lệnh:

CLI>exit

v Một số lệnh cơ bản thực hiện tại CLI>:

ü Bất cứ khi nào chỉnh sửa các tập tin cấu hình chúng ta đều cần phải nạp lại để các thay đổi có hiệu lực, điều đó thực hiện bằng lệnh: #CLI>reload

ü Bật chếđộ Debug cho kênh thông tin SIP hoặc IAX2:

#CLI>IAX2 debug #CLI>SIP debug

ü Tắt chếđộ Debug cho các kênh thông tin SIP hặc IAX2:

#CLI>IAX2 no debug #CLI>SIP no debug

ü Hiển thị các trạng thái thông tin của users, peers, channels của SIP hoặc IAX2:

#CLI>sip show users #CLI>sip show peers #CLI>sip show channels #CLI>iax2 show users #CLI>iax2 show peers #CLI>iax2 show channels

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_*

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

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

Tải bản đầy đủ (PDF)

(125 trang)