Khi không có ở nhà, hoặc đi công tác mà người sử dụng không muốn bỏ lỡ tất cả các
cuộc gọi đến thì hãy nghĩ ngay đến tính năng chuyển cuộc gọi .
Đây là tính năng thường được sử dụng trong hệ thống Asterisk .Chức năng này cho
Một số trường hợp cần chuyển cuộc gọi như: chuyển cuộc gọi khi bận, chuyển cuộc
gọi khi không trả lời, chuyển cuộc gọi tức thời, chuyển cuộc gọi với thời gian định trước .
4.4. Caller ID (hiển thị số chủ gọi)
Chức năng này rất hữu dụng khi một ai đó gọi đến và ta muốn biết chính xác là gọi từ đâu và trong một số trường hợp biết chắc họ là ai .
Ngoài ra Caller ID còn là chức năng cho phép chúng ta xác nhận số thuê bao gọi đến
có nghĩa là dựa vào caller ID chúng ta có tiếp nhận hay không tiếp nhận cuộc gọi từ
phía hệ thống Asterisk.Ngăn một số cuộc gọi ngoài ý muốn .
4.5. Automated Attendant (tương tác thoại)
Chức năng tương tác thoại có rất nhiều ứng dụng trong thực tế, khi gọi điện thoại đến
một cơ quan hay xí nghiệp, thuê bao thường nghe thông điệp như “Xin chào mừng bạn đã gọi đến công ty chúng tôi, hãy nhấn phím 1 để gặp phòng kinh doanh, phím 2 gặp
phòng kỷ thuật …” sau đó tùy vào sự tương tác của thuê bao gọi đến, hệ thống
Astreisk sẽ định hướng cuộc gọi theo mong muốn.
Khi muốn xem điểm thi, muốn biết tiền cước điện thoại của thuê bao, muốn biết tỉ giá
đô la hiện nay như thế nào, hay kết quả sổ số … tất cả những mong muốn trên đều có
thể thực hiện qua chức năng tương tác thoại.
4.6.Time and Date
Vào từng thời gian cụ thể cuộc gọi sẽ định hướng đến một số điện thoại hay một chức năng cụ thể khác. Ví dụ trong công ty giám đốc muốn chỉ cho phép nhân viên sử dụng
máy điện thoại trong giờ hành chính, còn ngoài giờ thì sẽ hạn chế hay không cho phép
gọi ra bên ngoài .
4.7.Call pickup
Đây là tính năng cho phép chúng ta từ máy điện thoại này có thể nhận cuộc gọi từ máy điện thoại khác đang rung chuông .
Bạn nghe máy điện thoại của người khác trong phòng đang đổ chuông.Người đó
không có mặt trong phòng để nhận cuộc gọi .Và bạn cũng không muốn rời khỏi bàn làm việc của mình để trả lời cuộc gọi.Bạn hãy dùng điện thoại của bạn để trả lời cuộc
gọi .
4.8.Call Parking
Bạn đang trả lời một cuộc gọi .Bạn muốn chuyển cuộc gọi này sang một đồng nghiệp khác, nhưng người này chỉ có thể nhận điện thoại sau khoảng 1 phút nữa (vì người này
thoại nữa . Bạn sẽ park-chuyển, cuộc gọi này vào một Park place (một số điện thoại
trung gian) . Đồng nghiệp của bạn sau đó sẽ pickup-nhận, cuộc gọi từ Park place .
4.9.Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại của công
ty mình nhưng lại không muốn nhân viên trong công ty gọi đi ra ngoài trò chuyện với
bạn bè, khi đó Asterisk cung cấp một tính năng tiện dụng là chỉ cho phép số điện thoại được lập trình, được phép gọi đến những số máy cố định nào đó thôi, còn những số
không có trong danh sách định sẵn sẽ không thực hiện cuộc gọi được.
4.10.Call Detail Records
Asterisk giữ lại các dữ liệu chi tiết cuộc gọi đầy đủ .Chúng ta có thể chứa thông tin
này trong một tệp phẳng (flat file), hoặc tốt hơn là một database để lưu trữ và tra cứu
hiệu quả. Sử dụng thông tin này chúng ta có thể giám sát sự sử dụng của hệ thống
Asterisk.
Chúng ta có thể so sánh các dữ liệu này với hóa đơn mà công ty điện thoại gởi đến,
cho phép chúng ta phân tích lưu lượng cuộc gọi.
4.11.Call Recording
Asterisk đưa đến cho chúng ta khả năng để ghi âm các cuộc gọi. Tính năng này được
sử dụng để chứng minh nội dung cuộc gọi làm thõa mản một yêu cầu nào đó của
khách hàng khi cần thiết cũng như khả năng giúp đỡ trong các trường hợp có liên quan
đến pháp luật.
4.12.Blacklist
Blacklist cũng giống như Privacy Manager nhưng có một sự khác biệt là những máy điện thoại nằm trong danh sách sẽ không gọi được đến máy của bạn (sử dụng trong
tình trạng hay bị quấy rối điện thoại)
4.13.User permission to/international call
Chúng ta có thể được cấp quyền bằng mật mã hoặc theo số nội bộ.
Và còn rất nhiều tính năng nữa mà hệ thống Asterisk có thể cung cấp cho người sử
dụng , trên đây chỉ là một số tính năng thường được sử dụng.Để biết thêm các tính
CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBX
Trong chương này sẽ mô tả việc cài đặt phần mềm Asterisk vào máy server, tìm hiểu
các file cấu hình hệ thống quan trọng, kế hoạch quay số(dialplan)…
5.1. Cài đặt Asterisk
Để cài đặt Asterisk, đầu tiên chúng ta phải cài đặt hệ điều hành Linux vào máy server . Có thể cài các bản phân phối sau của Linux: Fedora, CentOS, Redhat, 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 đặt Asterisk
là: - bison - gcc - kernel-source - libtermcap-devel - ncurses-devel - openssl096b - openssl-devel
Đối với các phiên bản Asterisk trước 1.2, chúng ta phải cài đặt thêm gói mpg123 . Để cài đặt gói mpg123, chúng ta download bằng lệnh :
#wget http://www.mpg123.de/mpg123-0.59.tar.gz
Tiếp theo chúng ta bung nén vào một thư mục chỉ định, biên dịch (compile) và cài đặt
(install) bằng các lệnh:
#tar –zxvf mpg123-0.59.tar.gz #make
#make install
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 .Tất cả các gói phần mềm của Asterisk được cung cấp đầy đủ từ
website cung cấp mã nguồn mở : http://www.asterisk.org Download các gói phần mềm Asterisk bằng các lệnh :
#cd /usr/src #wget http://ftp.digium.com/pub/asterisk/asterisk-1.x.x.tar.gz #wget http://ftp.digium.com/pub/asterisk/asterisk-addons-1.x.x.tar.gz #wget http://ftp.digium.com/pub/asterisk/asterisk-sounds-1.x.x.tar.gz #wget http://ftp.digium.com/pub/zaptel/zaptel-1.x.x.tar.gz #wget http://ftp.digium.com/pub/libpri/libpri-1.x.x.tar.gz ( x :đại diện cho version)
Việc download nhanh hay chậm tùy vào tốc độ đường truyền internet, sau khi
download hoàn thành chúng ta tiến hành bung nén các gói : #tar –xzvf asterisk-1.x.x.tar.gz
#tar –xzvf asterisk-addons-1.x.x.tar.gz #tar –xzvf asterisk-sounds-1.x.x.tar.gz #tar –xzvf zaptel-1.x.x.tar.gz
#tar –xzvf libpri-1.x.x.tar.gz
Chúng ta cũng nên tạo một liên kết bằng cách gõ lệnh :
#ln –s /usr/src/asterisk-1.x.x /usr/src/asterisk .Lệnh này đảm bảo gói “addons” được
biên dịch đúng .
Tiếp theo chúng ta biên dịch các gói đã giải nén.Trước tiên là gói zaptel, kế đến là gói
libpri, sau cùng là gói asterisk.
5.1.1. Cài đặt Zaptel
Gói zaptel được chứa ở thư mục /usr/src/zaptel-1.x.x . Đánh lệnh như dưới đây để cài
đặt: #cd /usr/src/zaptel-1.x.x #make clean #./configure #make #make install
Các lệnh này thực hiện khoảng vài phút, tùy thuộc vào tốc độ của 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 đó chưa được cài đặt.
Gói Zaptel, chứa các driver Zapata được tạo cho Asterisk, cần thiết cho việc sử dụng
phần cứng điện thoại của hãng Digium, và cũng bao gồm một số thư viện mà Asterisk phụ thuộc vào, bất kể là chúng ta có sử dụng phần cứng của hãng Digium hay không. Nếu chúng ta muốn Asterisk khởi động khi boot máy tính, chúng ta dùng lệnh:
#make config
Lệnh này tạo ra một script chèn module Zaptel vào kernel và chạy ztconfig khi boot máy tính.
5.1.2. Cài đặt libpri
Kế đến chúng ta biên dịch và cài đặt gói libpri được chứa tại thư mục /usr/src/libpri- 1.x.x bằng các lệnh sau:
#cd /usr/src/libpri-1.x.x #make clean
#make #make install
Quá trình biên dịch này khoảng một phút, sau khi thực hiện xong sẽ trở về dấu nhắc
lệnh .
Libpri cung cấp các thư viện được yêu cầu cho việc sử dụng trung kế PRI, cũng như
một số giao tiếp điện thoại khác. Ngay cả khi Asterisk không giao tiếp với PRI, chúng
ta cũng nên cài đặt nó.
5.1.3. Cài đặt Asterisk
Bây giờ đến lúc chúng ta thực sự cài đặt Asterisk, được chứa tại thư mục
/usr/src/asterisk-1.x.x . Chúng ta cài đặt như sau ; #cd /usr/src/asterisk-1.x.x
#make clean #./configure #make #make install
Sau khi cài đặt thành công, chúng ta sẽ có một hệ thống PBX với các tính năng cơ bản. Tại thời điểm này chúng ta sẽ tiến hành cấu hình hệ thống theo nhu cầu sử dụng.
Để hiểu rõ hơn về cách cấu hình hệ thống, chúng ta sẽ xem các tập tin cấu hình mẫu
bằng cách gõ lệnh:
#make samples
Để Asterisk khởi động mỗi khi boot máy tính chúng ta dùng lệnh:
#make config
Lệnh make samples tạo ra một tập tin zaptel.confở thư mục /etc và các tập tin cấu hình mẫu ở thư mục /etc/asterisk
Các tập tin cấu hình mẫu bao gồm:
adsi.conf: tập tin này chứa đựng cấu hình cho giao diện các dịch vụ hiển thị Analog
hay viết tắt là ADSI (Analog Display Services Interface).
agents.conf: tập tin này chứa cấu hình cho việc sử dụng các agent (điện thoại viên),
thường được ứng dụng trong các trung tâm cuộc gọi (call center).Tập tin này cho phép
chúng ta định nghĩa các agent và gán cho họ các ID và mật khẩu.
alarmreceiver.conf: tập tin này cấu hình ứng dụng nhận cảnh báo. Chúng ta sẽ không thay đổi các giá trị từ sự thiết lập mặc định của nó .
alsa.conf: tập tin này chứa các tham số cấu hình cho card âm thanh của hệ thống.
asterisk.adsi: bao gồm script ADSI mặc định của Asterisk. Script này sẽ được thực thi
từ điện thoại nếu chúng ta dùng phần cứng ADSI.
asterisk.conf: tập tin này thiết lập các biến tổng quát cho việc sử dụng Asterisk. Hầu
hết những tham số này chúng ta sẽ không cần phải chỉnh sửa . Nó thông báo cho Asterisk một cách căn bản nơi để tìm các tập tin tổng quát và các chương trình có khả năng thực thi.
cdr_manager.conf: tập tin này cấu hình CDR cho quản lý cuộc gọi.
cdr_odbc.conf: đây là tập tin cấu hình cho việc sử dụng một kết nối cơ sở dữ liệu ODBC để lưu trữ các CDR của chúng ta.
cdr_pgsql.conf:tập tin cấu hình này cho phép chúng ta sử dụng cơ sở dữ liệu PostgreSQL để lưu trữ các bản ghi CDR của chúng ta.
cdr_tds.conf: đây là tập tin cấu hình cho việc sử dụng FreeTDS, cho phép các kết nối đến Microsoft SQL và Sybase.
enum.conf: tập tin này cấu hình sử dụng ENUM, cho phép chúng ta phân giải các số điện thoại dựa trên các DNS, qua đó cho phép chúng ta định tuyến cuộc gọi đến một
số IP thay vì đi trên mạng PSTN.
extconfig.conf: với tập tin này, chúng ta có thể tùy chọn lưu các thông tin hoạt động
của queue và một cơ sở dữ liệu nào đó.
extensions.conf: tập tin này cấu hình hoạt động của Asterisk.Chúng ta sẽ tim hiểu sâu
về tập tin này.
features.conf: tâp tin này bao gồm các tùy chọn cho các chức năng cơ bản của hệ
thống như : call parking, call pickup…
festival.conf: tập tin này tiết lập các tham số cho Festival, là một chương trình nguồn
mở mà cho phép server của chúng ta đọc các tập tin văn bản.
iax.conf: tập tin này cấu hình các tài khoản sử dụng giao thức IAX để đàm thoại
indications.conf: đây là nơi cho phép chúng ta cấu hình các thuộc tính tổng quát của
thanh để người dùng sử dụng các âm thanh của mạng điện thoại của một quốc gia nào
đó.
logger.conf: tập tin này thiết lập các dạng logging mà chúng ta sẽ sử dụng.
manager.conf: tập tin này cấu hình các quyền truy cập từ xa đến hệ thống quản lý
cuộc gọi Asterisk.
meetme.conf: tập tin cấu hình này thiết lập các phòng hội thọai đơn giản .Chúng ta
cũng có thể tùy chọn định nghĩa các mật khẩu cho từng phòng.
modem.conf: tập tin này thiết lập các biến tổng quát cho phép chúng ta sử dụng các
modem lựa chọn với Astersik. Chú ý rằng không nhiều các modem được hổ trợ bởi
Asterisk, và hầu hết các modem chỉ là half-duplex, chúng không có hiệu năng tốt .
modules.conf: tập tin cấu hình này lựa chọn các module Astersik nào sẽ được khởi động. Chúng ta có thể kích hoạt hoặc tắt các tính năng của PBX thông qua việc thay đổi các tham số ở đây .
musiconhold.conf: tập tin cấu hình này tạo các tập tin nhạc chờ và định nghĩa thứ tự
tập tin nào sẽ được phát.
oss.conf: cấu hình này giống như alsa.conf, chúng ta sẽ không dùng đến nó.
phone.conf: tập tin này cho phép chúng ta sử dụng các giao tiếp điện thoại Linux, như
linejack của Quicknet…
privacy.conf:tập tin này cho phép chúng ta cấu hình các tùy chọn riêng.
queues.conf: tập tin cấu hình này cho phép chúng ta tạo các hàng đợi (queue) cho người gọi, cho phép chúng ta tiếp nhận một số lượng lớn các cuộc gọi cùng một lúc
bằng giải pháp thông minh.
res_config_odbc.conf: tập tin này thiết lập cấu hình để lưu trữ các thông tin cấu hình hệ thống vào một cơ sở dữ liệu dạng ODBC.
rpt.conf: tập tin này cho phép chúng ta sử dụng các bộ lặp vô tuyến (radio repeater).
rtp.conf: tập tin cấu hình này thiết lập các cổng để sử dụng giao thức thời gian thực ( Real -Time Protocal ).
sip.conf: tập tin cấu hình này định nghĩa các tài khoản dùng giao thức khởi tạo phiên (Session Initiation Protocal) và các tùy chọn cho chúng .Chúng ta cũng có thể thiết lập
các biến tổng quát cho SIP, như dùng cổng nào và thời gian timeout là bao nhiêu.
skinny.conf: tập tin này cấu hình giao thức VoIP skinny, vốn được sử dụng rất nhiều trong các điện thoại của Cisco.
telecordia-1.adsi: đây là một script ADSI mẫu.
voicemail.conf: tập tin cấu hình này tạo các người dùng hộp thư thoại(voicemail) và một vài tham số tổng quát cho các kịch bản Mail, hệ thống voicemail của Astersik.
vpb.conf: tập tin này cấu hình phần cứng Voice Tronix.
zapata.conf: tập tin này thiết lập các thông số cấu hình giao tiếp điện thoại
Zapata.Chúng ta sẽ sử dụng tập tin này để cấu hình phần cứng của Digium. Phần cứng
của Digium cho phép chúng ta liên lạc với PSTN .
5.1.4. Cài đặt Asterisk-addons
Ta dùng các lệnh sau để cài đặt Asterisk-Addons: #cd /usr/src/asterisk-addons-1.x.x
#./configure #make #make install
Sau khi biên dịch và cài đặt thành công, chúng ta có thể khởi động và sử dụng Asterisk
với các tham số mặc định. Có nhiều cách để khởi động Asterisk, nhưng cách đơn giản
nhất là thực hiện lệnh sau:
# /usr/sbin/asterisk –rvvvv
Để thoát khỏi chế độ dòng lệnh, ta dùng lệnh sau:
CLI>exit
Cấu trú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ư các bản ghi hộp thư thoại, các bản tin nhắc thoại, và 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 cài
đặtvà được cấu hình trong tập tin asterisk.conf
/etc/asterisk/
Thư mục /etc/asterisk/ chứa 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 điện thoại Zapata( Zapata Telephony 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/
/usr/lib/asterisk/modules/
Thư mục /usr/lib/asterisk/modules/ chứa tất cả các modules 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(format)
và các kênh(channel) được sử dụng bởi Asterisk. Theo mặc định Asterisk sẽ nạp tất cả