CÔNG NGHỆ THOẠI IP
Bài 6
Triển khai tổng đài Asterisk với
phần mềm đóng gói Trixbox
Phần mềm tổng đài Asterisk
• Asterisk là một phần mềm mang tính cách mạng, tin
cậy, mã nguồn mở và miễn phí mà biến một PC rẻ
tiền thông thường chạy Linux thành một hệ thống
điện thoại doanh nghiệp mạnh mẽ.
• Asterisk được viết bởi Mark Spencer (sinh năm
1977) bằng ngôn ngữ C chạy trên hệ điều hành
Linux khi đang là sinh viên tại Đại học Auburn ở
Alabama
• Giờ đây Asterisk chạy trên OpenBSD, FreeBSD và
Mac OS X vàMicrosoft Windows.
Phần mềm IP PBX Asterisk
• Phần mềm IP PBX Asterisk có đầy đủ tính năng của tổng
đài IP PBX thương mại: phân luồng cuộc gọi, thư thoại, hội
đàm, tương tác (menu thoại)..., hỗ trợ nhiều giao thức VoIP
như SIP và H.323.
• Phần mềm IP PBX Asterisk cung cấp các dịch vụ như Voice
mail, Video conferencing, Call conferencing, Interactive
voice response, Call queue.....
• Asterisk tích hợp một số công nghệ như TDM và IP Phone,
hoạt động như một softswitch, media gateway,
voicemail,audio conference, nó cũng có các chức năng IVR
(Interactive Voice Response) và ACD (Automatic call
distribution)
• Asterisk hỗ trợ những kiểu truyền tín hiệu theo chuẩn của
Mỹ và Châu Âu hiện đang tại các doanh nghiệp, cho phép
nó bắc cầu giữa những mạng tích hợp thoại - dữ liệu thế hệ
kế tiếp với hạ tầng kỹ thuật hiện tại.
Cài đặt Asterisk với gói phần mềm TrixBox
• TrixBox là gói phần mềm tổng hợp đượ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ân là hệ điều hành CentOS và
những thành phần dà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à kết hợp với nhau tạo thành một gói hoàn
chỉnh.
• Sau khi cài gói TrixBox vào máy tính thì máy tính
trở thành một tổng đài PBX.
Các thành phần của TrixBox
• Hệ điều hành Linux CentOS
• Phần mềm Asterisk PBX: Thành phần chính của gói
TrixBox
• Web server Apache với PHP và Mysql dành cho các truy
cập qua Web vào hệ thống.
• 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.
• 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).
Các thành phần của TrixBox (tiếp)
• 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ị.
• 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ì hệ thống.
Cài đặt TrixBox
• Download file ISO tại />• trixbox-2.8.0.2.iso
• trixbox-2.6.2.3.iso
• Ghi lên đĩa CD và cài lên máy
• Chú ý : dữ liệu trên đĩa cứng sẽ bị xóa sạch để cài
đặt TrixBox.
Chức năng hoạt động của Asterisk
• Chức năng Dynamic Module Loader thực hiện nạp driver
của thiết bị, nạp các kênh giao tiếp, các format, codec và các
ứng dụng, các hàm API.
• PBX Switching Core sẵn sàng hoạt động chuyển mạch cuộc
gọi, các cuộc gọi được chuyển mạch tuỳ vào kế hoạch quay
số (Dialplan) được cấu hình.
• Application Launchar rung chuông thuê bao, quay số, định
hướng cuộc gọi, kết nối với hộp thư thoại…
• Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng
cao, các chức năng được phát triển mới cài đặt
• Codec Translator xác nhận các kênh nén dữ liệu ứng với các
chuẩn khác nhau có thể kết hợp liên lạc được với nhau.
Cấu hình với FreePBX
• Việc cấu hình Asterisk sẽ thao tác trực tiếp trên các file
.conf, và rất mất thời gian + dễ sai sót.
• Chúng ta có thể phải viết hàng trăm, thậm chí hàng nghìn
dòng để cấu hình các tính năng cơ bản và khai báo
extension.
• Để tránh việc cấu hình Asterisk bằng tay, FreePBX ra đời.
Với giao diện WEB dễ dùng, tự động sinh mã code, miễn
phí,
• Trixbox đã cài sẵn CentOS, Asterisk, FreePBX, Zaptel
cùng một số gói hỗ trợ khác,
cấu hình với FreePBX.
Các giải pháp cấu hình trong Asterisk
Chỉnh sửa các
files cấu hình
Asterisk
Sử dụng Asterisk
Console
Sử dụng các
chương trình cấu
hình trên nền
WEB
Các file cấu hình Asterisk
• /etc/asterisk/ - chứa các tập tin cấu hình của hệ thống
Asterisk, riêng file zaptel.conf về phần cứng được đặt tại thư
mục /etc/
• Extensions.conf là file cấu hình về các luật định tuyến cuộc
gọi, luật quay số, các extension trong ngoài và những tính
năng đặc biệt khác.
• Sip.conf là file cấu hình về các thông tin của các UAC như
username, password, IP, type, security, codec, là file lưu giữ
thông tin trong Asterisk .
• Iax.conf dùng cấu hình các kênh truyền của giao thức IAX,
các thông số về IAX (inter-asterisk protocol) dùng khi kết
nối 2 asterisk box với nhau.
Ví dụ file sip.conf
Trên sip.conf
[101]
Type=friends
Username=101
Secret=1234
Host=dynamic
Context=testdialplan
[102]
Type=friends
Username=jane
Secret=jane
Context=testdialplan
Host=dynamic
Chú ý: Trường Context trong file sip.conf phải
đúng với một context – được định nghỉa bởi ký
hiểu [ ] trong file extensions.conf, như thế SIP
Entry đó có thể gọi được các dial-plan bên trong
một context.
Trên extensions.conf
[test-dialplan]
Exten => 101,1,Dial(SIP/101,20)
Exten => 102,2,Dial(SIP/102,20)
Config trên sẻ cho phép 2 end-point softphone,
tương tự bạn có thể thêm vào nhiều ID hơn trong
file SIP.conf và tạo dial-plan tương ứng với
extensions.conf.
Các file cấu hình Asterisk
• Voicemail.conf: file cấu hình cho hệ thống voicemail của asterisk. Asterisk có thể dùng lệnh Sendmail
trên CentOS để gởi mail đến cho các địa chỉ được lưu
trong file cấu hình này.
• Zaptel.conf: File này nằm ngoài /etc, là file chứa
thông số index, driver dành cho Linux khi kích hoạt
các thiết bị Telephony cắm trực tiếp vào Asterisk
thông qua cổng PCI
• Zapata.conf: Cũng thuộc module zaptel, nhưng là file
kết nối các thiết bị Telephony đã được khai báo vào
hệ thống chính của Asterisk
• MeetMe.conf: Một chức năng tạo room conference
căn bản.
Cấu hình và quản trị TrixBox qua Web
• TrixBox cung cấp chức năng cấu hình, quản trị
Asterisk thông qua giao diện web
• Admin là maint, password là password
Xem hoạt động của tổng đài với System
Status
Cài đặt các package cho tổng đài
• Asterisk cho phép cài bổ sung chức năng thông qua
việc cài đặt các package dịch vụ mới từ Internet
• Vào trang Web quản lý với FreePBX -> Packages
• Cho phép cài đặt, gỡ bỏ, nâng cấp các chức năng
• Đây là điểm mạnh của một tổng đài dùng phần mềm
• Các package phần mềm đã được kiểm tra bởi cộng
đồng mã nguồn mở Asterisk.
Lựa chọn cài đặt Packages
Sửa các files cấu hình
• Trixbox cho phép xem và sửa chữa các file cấu hình
trên giao diện WEB
• Lựa chọn “Config File Editor” trong PBX
PBX settings
• Là trang cài đặt Trixbox
• Bao gồm 4 mục con
Extension
• Extension là thành phần mà Asterisk thực hiện theo
Dialplan, được kích hoạt khi có cuộc gọi vào,
extension chính là con số cần gọi.
• Dialplan là một tập gồm nhiều extention, khi một
cuộc gọi tương ứng với extention nào thì ứng dụng
cho cuộc gọi đó sẽ được thực hiện.
• Không có quy tắc về chọn số phần mở rộng cho người
dùng, nhóm chuông, hoặc hàng đợi. Tuy nhiên, cần có
số lượng ký tự hợp lý.
• Có 3 loại Device thông thường cho extension là:
SIP, IAX và ZAP
Khai báo extention,
Vào trang PBX setup và lựa chọn mục Extension
Quy định về Extension
• Extension có thể đơn giản với một đích danh cụ thể
như 8068, UIT hay là một chuỗi so mẫu được thực
hiện như _9xxx. Một số quy định trong Dialplan:
• “_” là ký tự bắt đầu của một pattern
• Z là con số bất kỳ từ 1 đến 9
• X là con số bất kỳ từ 0 đến 9
• N là con số bất kỳ từ 2 đến 9
• [] so khớp bất kỳ số hoặc vùng số nào được chỉ
định trong dấu []
• “.” là ký tự đại diện cho mọi con số
Hiện thực một extension
• Một extension được định nghĩa trong một
context là hoàn toàn tách biệt so với các
extension được định nghĩa trong các context
khác.
• Cú pháp của extension có dạng:
•
•
•
•
exten => name,priority,application()
name : tên của extension tương ứng với số được gọi.
priority: thể hiện thứ tự thực hiện
application: một chương trình thực hiện một hoạt
động nào đó của cuộc gọi
Ví dụ Extension
• exten=>8051,1,dial(sip/8051,20)
• exten=>8051,2,hangup()
• “exten=>” giống nhau cho mỗi dòng thực hiện
trong dialplan, 8051 là số điện thoại mà thuê
bao quay hay là extention, còn các con số 1 và
2 là các priorites tức là thứ tự thực hiện các
lệnh.
• Khi thuê bao quay số 8051 thì đổ chuông máy
IP SIP 8051 nếu trong vòng 20 giây mà thuê
bao không nhấc máy thì kết thúc cuộc gọi.