Để cài đặt Asterisk, đầu tiên chúng ta cần phải cài đặt hệ điều hành linux trên máy tính của mình. Có thể cài hệ điều hành Linux Fedora , CentOS, Redhat, hoặcDebian. Các gói phần mềm phụ thuộc phải có trong hệ điều hành Linux trước khi cài Asterisk bao gồm:
· bison
14 trang |
Chia sẻ: haohao89 | Lượt xem: 3631 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Cài đặt asterisk, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Sách Asterisk –
Tác Giả Lê Quốc Toàn
35
nhau. Khi bộ đếm có kích thước càng lớn thì khả năng loại bỏ tính không đồng nhất
càng lớn, tuy nhiên việc sử dụng bộ đệm sẽ gây ra hiện tượng trễ trong ứng dụng
thoại, do đó cần có bài toán cân đối giữa độ trễ và độ trượt.
Ngoài 2 nguyên nhân trên còn một số nguyên nhân nữa ảnh hưởng đến chất
lượng thoại như độ mất gói, giới hạn băng thông, tiếng vọng.
3 CÀI ĐẶT ASTERISK
1 Cài đặt Asterisk
1 Download và bung nén
Để cài đặt Asterisk, đầu tiên chúng ta cần phải cài đặt hệ điều hành linux trên
máy tính của mình. Có thể cài hệ điều hành Linux Fedora , CentOS, Redhat, hoặc
Debian. Các gói phần mềm phụ thuộc phải có trong hệ điều hành Linux trước khi
cài Asterisk bao gồm:
· bison
· gcc
· kernel-source
· libtermcap-devel
· ncurses-devel
· openssl096b
· openssl-devel
Sách Asterisk –
Tác Giả Lê Quốc Toàn
36
Sau khi hoàn tất các bước trên chúng ta tiến hành download phần mềm
asterisk với phiên bản mới nhất.
# cd /usr/src
# wget ftp://ftp.digium.com/pub/asterisk/asterisk-1.4.0.tar.gz
# wget ftp://ftp.digium.com/pub/asterisk/asterisk-addons-1.4.0.tar.gz
# wget ftp://ftp.digium.com/pub/asterisk/asterisk-sounds-1.4.0.tar.gz
# wget
# wget
Việc download có thể nhanh hay chậm tùy vào tốc độ trên đường internet , sau
khi download hoàn thành chúng ta tiến hành bung nén các gói ra thư mục chỉ định
# tar –xzvf asterisk-1.4.0.tar.gz
# tar –xzvf asterisk-addons-1.4.0.tar.gz
# tar –xzvf asterisk-sounds-1.4.0.tar.gz
# tar –xzvf zaptel-1.4.0.tar.gz
# tar –xzvf libpri-1.4.0.tar.gz
Giải nén xong chúng ta nhớ thực hiện lệnh
#ln –s /usr/src/asterisk-1.4.0 /usr/src/asterisk lệnh này để bảo đảm gói
“addons” được biên dịch đúng
Sách Asterisk –
Tác Giả Lê Quốc Toàn
37
Bây giờ tới phần chúng ta biên dịch các gói đã giải nén ở trên, trước tiên là gói
zaptel kế đến là libpri sau cùng là gói Asterisk.
2 Cài đặt gói Zaptel
Gói zaptel sẽ chứa tại thư mục /usr/src/zaptel. Đánh lệnh như dưới đây để cài
đặt:
# cd /usr/src/zaptel
# make clean; make install
Lệnh này thực hiện khoảng 2 phút, tùy vào tốc độ máy tính cài đặt. sau khi
cài đặt xong sẽ trở lại dấu nhắc lệnh và hiển thị một loạt các thông báo trong đó có
một số bản tin lỗi mà chủ yếu là yêu cầu cài đặt các gói phụ thuộc đã liệt kê ở trên,
nếu các gói trên chưa được cài đặt.
Gói zaptel này chứa các driver cho các phần cứng kết giao tiếp với asterisk
do Digium phân phối, và một số thư viện cho việc có thực hiện giao tiếp với phần
cứng hay không.
Để Asterisk có thể chạy cùng với khởi động của máy tính chúng ta cần thực
hiện lệnh
# make config
Lệnh này sẽ tạo ra script chèn module zaptel vào kernel và chạy ztconfig vào
lúc khởi động máy. Trong Redhat script này sẽ được chép vào /etc/init.d chạy ở
mức 3.
3 Cài đặt gói libpri
Kế đến chúng ta biên dịch gói libpri tại thư mục /usr/src/libpri bằng lệnh:
Sách Asterisk –
Tác Giả Lê Quốc Toàn
38
# cd /usr/src/libpri
# make clean; make install
Đoạn biên dịch này khá nhau khoảng 1 phút, sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh.
Thư viện libpri cung cấp các driver cho các card giao tiếp trung kế PRI và một
số phần cứng khác. Ngay cả Asterisk không giao tiếp với card PRI nào chúng ta
cũng nên cài đặt gói này bởi một số module của Asterisk yêu cầu thư viện này.
2 Cài đặt gói Asterisk
Sau khi thực hiện cài đặt các gói phụ thuộc bây giờ chúng ta thực sự cài đặt
Asterisk. Phần này chứa trong thư mục /usr/src/asterisk nên thực hiện gõ lệnh như
sau:
# cd /usr/src/asterisk
# make clean; make install
Kết thúc việc thực hiện cài đặt chúng ta sẽ có một hệ thống PBX hoàn chỉnh
và các tính năng trên đó. Tại thời điểm này chúng ta sẽ tiến hành thực hiện cấu hình
hệ thống đáp ứng với từng nhu cầu ứng dụng.
Để hiểu hơn về cách cấu hình chúng ta sẽ xem các tập tin cấu hình mẫu bằng
lệnh sau:
# make samples
Các tập tin cấu hình mẫu được đặt trong thư mục /etc/asterisk ngoại trừ tập
tin zaptel.conf được đặt trong thư mục /etc/
Để Asterisk khởi động mỗi khi mở máy tính chúng ta dùng lệnh:
Sách Asterisk –
Tác Giả Lê Quốc Toàn
39
# make config
3 Cài đặt TrixBox
1 Giới thiệu
TRIXBOX được phát triển từ nhân của ứng dụng Asterisk, được tổng hợp từ
một số thành phần chính được phát triển bởi cộng đồng phát triển nguồn mở
Asterisk dưới bản quyền GPL. Trixbox bao gồm những thành phần chính cho việc
cấu hình ứng dụng, thống kê tình trạng hoạt động hệ thống, lưu trữ dự phòng, và
nhân là hệ điều hành CentOS một phiên bản khác của Redhat, tất cả kết hợp với
nhau tạo thành một gói hoàn chỉnh. Khi cài gói này vào máy tính thì có thể sử dụng
như một tổng đài PBX.
Các thành phần chính trong gói TRIXBOX là
· Asterisk PBX: Thành phần chính của hệ thống Trixbox
· CentOS: Một phiên bản Linux khác của Redhat hoàn toàn miển phí sử
dụng. Là nhân chính cho Trixbox.
· SugarCRM: Hệ thống quan hệ khách hàng CRM
· A2Billing – Là thành phần dành cho việc xây dựng hệ thống điện thoại
trả trước hay còn gọi là điện thọai thẻ (Calling Card).
· Flash Operator Panel, Bảng điều khiển giám sát tình trạng hoạt động
của các máy điện thoại trong hệ thống.
· Web MeetMe Control: Quản lý triển khai hệ thống điện thoại hội nghị.
· FreePBX: Đây là công cụ với giao diện web dành cho việc cấu hình hệ
thống Asterisk.
Sách Asterisk –
Tác Giả Lê Quốc Toàn
40
· Hệ thống Lưu trữ dự phòng và thống kê: Là thành phần của TRIXBOX,
cung cấp các công cụ cần thiết cho việc bảo trì bảo dưỡng hệ thống.
· Hệ thống Apache-Php-Mysql dành cho giải pháp Webserver của hệ
thống.
2 DOWNLOAD VÀ LẮP ĐẶT TRIXBOX
Địa chỉ download
Khi download xong file Trixbox.iso. Hãy dùng file này Burn vào CD (xin
lưu ý là dùng Nero hoặc chương trình chép đĩa ưa thích rồi burn vào cd_rom
chứ không phải chép file đó vào cd_rom.)
Sau khi có CD, Hãy boot từ CD này để cài đặt trixbox.
Chú ý : dữ liệu trên đĩa cứng sẽ bị xóa sạch để cài đặt trixbox. Nếu trong
đĩa cứng còn dữ liệu hãy backup tất cả trước khi tiến hành lắp đặt trixbox.
Tới đây lần lượt các màn hình chỉ dẫn sẽ hiện ra và cứ theo hướng dẫn mà cài
đặt. Sau khi cài đặt xong chúng ta dùng Username: root và password: password để
đăng nhập hệ thống.
3 Cấu hình địa chỉ IP cho card mạng:
Thiết lập địa chỉ IP bằng cách gõ lệnh:
#netconfig
Chọn OK để thiếp lập
Nếu trong mạng có hỗ trợ DHCP thì hãy chọn mục này còn nếu không hãy
nhập địa chỉ IP tĩnh.
Sách Asterisk –
Tác Giả Lê Quốc Toàn
41
· IP: 192.168.0.1
· Netmask: 255.255.255.0
· Gateway: 192.168.93.254 //ngõ ra bên ngoài
· Primary nameserver: 192.168.93.200 // thiết lập nếu có
Chọn OK để chấp nhận các thiết lập trên.
Sau khi hoàn tất hãy làm cho thiết lập có hiệu lực bằng cách reset lại
máy tính hoặc dùng lệnh sau:
#Service network stop
#Service network start
Đến đây xem như cài đặt hoàn tất bây giờ để cấu hình được Asterisk chúng
ta vào một mày khác và mở Internet Explorer hoặc một trình duyệt web bất kỳ,
nhập vào đã cấu hình ở trên, và tiến hành cấu hình hệ thống
với tài khoảng username: maint và password: password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trên hệ thống linux để quản lý các khía cạnh
khác nhau của hệ thống, như nghi nhận bản tin thoại, các bản tin nhắc thoại, hoặc
các tập tin cấu hình. Phần này sẽ trình bày các thư mục chính yếu được tạo ra trong
quá trình lắp đặt và được cấu hình trong tập tin Asterisk.conf.
1 /etc/asterisk/
Thư mục /etc/asterisk/ chứa tất cả các tập tin cấu hình của hệ thống
Asterisk ngoại trừ tập tin Zaptel.conf được đặt tại thư mục /etc/. Phần cứng
Zaptel đầu tiên được phát triển bởi Jim Dixon thuộc nhóm Zapata Telephony
Sách Asterisk –
Tác Giả Lê Quốc Toàn
42
Group để giao tiếp giữa máy tính với mạng điện thoại, mà Asterisk lại sử
dụng phần cứng này, với lý do đó mà file cấu hình zaptel.conf không nằm
trong thư mục /etc/asterisk/.
2 /usr/lib/asterisk/modules/
Thư mục /usr/lib/asterisk/modules/ chứa tất cả các module cần thiết để
asterisk hoạt động. Bên trong thư mục là các ứng dụng khác nhau, các codec,
các định dạng âm thanh(format) và các kênh thông tin(channel). Theo mặc định
Asterisk sẽ nạp tất cả các module vào lúc khởi động. Chúng ta có thể không cho
nạp một module bất kỳ bằng cách không khai báo sử dụng trong tập tin
modules.conf. Lưu ý khi không cho nạp module thì phải biết chắc module đó
không làm ảnh hưởng hoạt động của asterisk nếu không lỗi sẽ xuất hiện.
3 /var/lib/asterisk
Thư mục /var/lib/asterisk/ chứa tập tin astdb và một số thư mục con. Tập tin
astdb định vị thông tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry.
Các thư mục con của thư mục /var/lib/asterisk/ bao gồm:
agi-bin/
Thư mục agi-bin/ chứa các script của người dùng mà Asterisk có thể
định vị sử dụng qua các ứng dụng AGI.
AGI là phần giao tiếp với ngôn ngữ lập trình script để thực hiện một
số công việc của Asterisk từ bên ngoài.
firmware/
Sách Asterisk –
Tác Giả Lê Quốc Toàn
43
Thư mục firmware/ chứa một số phần dẻo(firmware) cho các thiết bị
khác nhau tương thích với Asterisk. Hiện tại chỉ có thư mục con /iax chứa
firmware cho thiếy bị IAXy của Digium. IAXy là thiết bị ATA sử dụng giao
thức IAX.
images/
Các ứng dụng thông tin với các kênh hỗ trợ ảnh images thì sử dụng thư mục
này. Nhưng hiện tại các kênh thông tin hầu như không hỗ trợ truyền ảnh images nên
thư mục này cũng hiếm khi được sử dụng. Tuy nhiên nếu các thiết bị có hỗ trợ thì
thư mục này trở nên hiệu dụng.
keys/
Asterisk có thể sử dụng hệ thống khoá public/private để xác minh các kết nối
giữa các server Asterisk thông qua chữ ký điện tử RSA. Nếu đặt một khoá public
vào thư mục /keys thì kết nối của server đầu bên kia có thể được xác minh bằng
kênh thông tin có hỗ trợ, đối với Asterisk thì kênh giao thức IAX hỗ trợ loại xác
minh này. Một khoá private không bao giờ công bố, chúng ta chỉ công bố khoá
public đến với server cần nối đến, sau đó sẽ được xác minh với khoá private này. Cả
hai khoá public và private được lưu với đuôi .pub và .key đặt tại thư mục keys/.
mohmp3/
Khi cấu hình Asterisk sử dụng tính năng Music on Hold, tính năng hoạt động
sẽ thực hiện lấy các tập tin mp3 tại thư mục mohmp3/. Tập tin định dạng theo chuẩn
của Asterisk nên khi sử dụng các file Mp3 thông thường cần có sự chuyển đổi thích
hợp trước khi chép vào thư mục trên để sử dụng.
sounds/
Sách Asterisk –
Tác Giả Lê Quốc Toàn
44
Tất cả các tập tin âm thanh liên quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds/. Nội dung của các tập tin chứa trong thư mục được liệt kê qua tập
tin sounds.txt đặt tại thư mục mã nguồn của Asterisk. Còn nội dung của các tập tin
âm thanh được mở rộng thêm được liệt kê trong tập tin sounds-extra.txt đặt trong
thư mục được trích ra khi bung gói asterisk-sounds.
4 /var/spool/asterisk/
Thư mục /var/spool/asterisk/ Chứa nhiều thư mục con bao gồm outgoing/,
qcall, tmp/, voicemail/. Asterisk luôn kiểm qua thư mục outgoing và qcall vì đây
là hai thư mục chứa các tập tin dạng text chứa thông tin yêu cầu cuộc gọi. Các
tập tin đó cho phép tạo ra cuộc gọi đơn giản bằng cách chép tập tin đúng cấu
trúc quy định vào thư mục outgoing/. Sau đây là cấu trúc cây thư mục:
1 Hình Cây thư mục /var/spool/asterisk/
Sách Asterisk –
Tác Giả Lê Quốc Toàn
45
Thư mục tmp/ sử dụng để lưu trữ những thông tin tạm, để luôn bảo đảm không
xảy ra tình trạng đọc và viết tập tin cùng một lúc. Khi yêu cầu xử lý tập tin chúng ta
thao tác trên thư mục tmp/ trước khi lưu vào tập tin đích.
Tất cả các lời nhắc thoại từ phía người sử dụng và các lời nhắc thoại sử dụng
cho thao tác hộp voicemail đều được chứa trong thư mục voicemail/. Một hộp thư
thoại được tạo ra ứng với một máy nội bộ trong tập tin voicemail.conf, sẽ được tạo
ra một thư mục con tương ứng cho máy nội bộ đó tại thư mục voicemail/.
Sách Asterisk –
Tác Giả Lê Quốc Toàn
46
5 /var/run/
Thư mục /var/run/ chứa thông tin process ID(pid) cho tất cả các tiến trình đang
hoạt động trong hệ thống, bao gồm cả Asterisk. Lưu ý là ứng với mỗi hệ điều hành
thư mục /var/run/ có thể khác.
6 /var/log/asterisk/
Thư mục /var/log/asterisk/ là nơi Asterisk chứa tất cả các tập tin nhật ký hay
còn gọi là tập tin log. Chúng ta có thể tuỳ biến các loại thông tin được lưu trong các
tập tin log khác nhau qua tập tin cấu hình logger.conf đặt tại thư mục /etc/asterisk.
7 /var/log/asterisk/cdr-csv
Thư mục /var/log/asterisk/cdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR,
Thông tin mặc định về chi tiết thông tin cuộc gọi lưu trữ trong tập tin Master.CVS,
nhưng thường thì ứng với mỗi mã accountcode sẽ tạo một thư mục riêng để lưu chi
tiết cuộc gọi cho máy đó.
5 Một số lệnh thao tác trên hệ thống asterisk
Asterisk có hai thành phần được xây dụng tích hợp với nhau và chạy song
song nhau:
Asterisk Server bình thường chạy ở chế độ nền(background) giống các sevices
trong window.
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 các thông tin của server.
Để Chạy và dừng Asterisk ở chế độ nền chúng ta thực hiện lệnh sau:
#/etc/init.d/asterisk (start|stop)
Sách Asterisk –
Tác Giả Lê Quốc Toàn
47
Một khi Asterisk đã chạy chúng ta có thể chuyển qua 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ề lại dấu nhắc linux chúng ta dùng lệnh:
CLI>exit
Các 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ậc chế độ debug cho kênh thông tin SIP hoặc IAX2
#CLI> IAX2 debug
#CLI> SIP debug
Tắt chế độ debug cho kênh thông tin SIP hoặ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 và
channels của SIP hoặc IAX2
#CLI> sip show users
#CLI> sip show peers
Sách Asterisk –
Tác Giả Lê Quốc Toàn
48
#CLI> sip show channels
#CLI> iax2 show peers
#CLI> iax2 show users
#CLI> iax2 show channels
Đến thời điểm này có thể nói chúng ta đã hoàn thành cài đặt hệ thống
Asterisk, cài đặt xong mới là bước mở đầu, để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chúng sẽ tiếp tục thực hiện các giai đoạn được xem là quan
trọng nhất trong việc triển khai hệ thống Asterisk, đó là giai đoạn cấu hình hệ thống,
lên kế hoạch Diaplan. chương còn lại đều nhắm đến mục tiêu này.
4 CẤU HÌNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoàn tất phần cài đặt hệ thống asterisk, một bước quan trọng tiếp theo
là cấu hình hệ thống, có thể nói đây là bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể. Trong chương này xin giới thiệu cái nhìn đầu
tiên về việc cấu hình trước khi đi sâu hơn ở những chương sau, những gì giới thiệu