Sie sind auf Seite 1von 7

Asterisk PBX

Asterisk là một gói phần mềm Open source chạy trên HĐH Linux (Linux based), nó có đầy đủ
chức năng của một hệ thống tổng đài PBX. Nó thực hiện thoại thông qua các gói tin IP truyền
qua mạng và có thể giao tiếp với hầu hết các thiết bị thoại thông qua các phần cứng giao tiếp
phù hợp.
Nó cung cấp các dịch vụ như Voice mail, Video conferencing, Call conferencing, Interactive voice
response, Call queue.....
Nó cũng cung cấp chức năng chuyển mạch trung tâm cho phép thực hiện chuyển mạch giữa các
giao tiếp mà nó hỗ trợ.
Nó tích hợp một số công nghệ như TDM và ip phone, nó có thể 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) ...
hình vẽ sao minh hoạ một hệ thống Asterisk kết nối với các hệ thống PBX truyền thống, sử dụng
các giao tiếp số và tương tự, hỗ trợ các analog và ip phone...

Trước khi cài Asterisk hệ thống của bạn cần có các gói sau GCC, ncurses-devel, ibtermcap-
devel, Kernel Development Headers, Kernel Development Headers (SMP), GCC C++, OpenSSL
(optional), newt-devel (optional), zlib-devel (optional), unixODBC; unixODBC-devel (optional),
libtool (optional;recommended), GNU make (version 3.80 or higher). Những gói option là không
bắt buộc, lưu ý với CentOS các gói trên bạn có thể cài đặt hoặc update bằng yum.
để cài đặt asterisk bạn cần download source code asterisk tại http://www.asterisk.org, nếu hệ
thống của bạn có card giao tiếp với PSTN bạn cần cài thêm Zaptel drive, ISDN bạn cần cài thêm
LibPRI Drive....
Với mục đích thử nghiệm bạn chỉ cần duy nhất gói source code của asterisk là đủ.
compile asterisk
tar xzvf asterisk-1.4-current.tar.gz
./configure
make menuselect
make && make install
make samples
make menuselect: cho phép chọn module để compile, những mudule đánh dấu [xxx] nghĩa là phụ
thuộc vào package khác cần phải cài đặt thêm.
make samples: để cài đặt các file cấu hình mặc định (default config file).
Cấu trúc thư mục Asterisk sau khi cài đặt
/etc/asterisk
thư mục chính, chứa tất cả các file cấu hình
/usr/lib/asterisk/modules
chứa các loadable modules (các application, codec, format và channel mà asterisk sử dụng) của
asterisk. Mặc định Asterisk load tất cả các module tuy nhiên bạn có thể loại bỏ những modules
không sử dụng bằng cách cấu hình trong file /etc/asterisk/modules.conf.
/var/lib/asterisk
chứa các file cơ sở dữ liệu nội tại của asterisk (local Asterisk database information).
/var/log/asterisk
chứa các thông tin log của Asterisk. bạn có thể cấu hình những loại thông tin cần được ghi log
thông qua file /etc/astreisk/logger.conf.
Sau khi cài đặt thành công bạn chạy Asterisk bằng lệnh
asterisk –vvvvc
Với mục đích thử nghiệm tôi xin giới thiệu một ví dụ liên lạc giữa hai “sip phone” thông qua
Asterisk.
Khai báo “sip phone” với Asterisk.
mở file /etc/astersik/sip.conf đã có sẵn hoặc tạo mới và thêm các dòng sau.
[2000]

type=friend
username=2000
secret=abc2000
host=dynamic
context=from-sip

[2001]

type=friend
username=2001
secret=abc2001
host=dynamic
context=from-sip

mở file /etc/asterisk/extensions.conf đã có sẵn hoặc tạo mới và thêm các dòng sau

[from-sip]

exten => 2000,1,Dial(SIP/2000,20)


exten => 2000,2,Hungup

exten => 2001,1,Dial(SIP/2001,20)


exten => 2001,2,Hungup
Khi bạn config file sip.conf (khai báo “sip phone”), cũng đồng nghĩa với việc bạn config các Sip
channel để cho bạn thực hiện các cuộc gọi đến/từ các “sip phone”.
Channel :thể hiện môi trường thực hiện nhận và thực hiện cuộc gọi. Asterisk hỗ trợ nhiều loại
channel tương ứng với những cách cấu hình khác nhau trong những file cấu hình khác nhau
như:
Zap.conf: kênh giao tiếp với các thiết bị thoại số và tượng tự truyền thống thông qua card giao
tiếp và drive của nó cung cấp bởi Digium.
iax.conf: loại channel này được dùng để kết nối các server Asterisk với nhau, kết nối tới IAXtel
(một dịch vụ được cung cấp bởi Digium), kết nối tới các IAX client
....
Khi bạn config file extension.conf nghĩa là bạn đang tạo dialplan cho hệ thống của mình.
Dial plan: Mô tả cách thức Asterisk xử lý cuộc gọi. Nó bao gồm một một loạt các điều khiển (một
số bước) mà asterisk lần lượt theo đó thực hiện.
Dialplan được tạo bởi bốn thành phần:
- context
Dialplan được chia thành nhiều phần mỗi phần gọi là một context. Context bao gồm một loạt các
điều khiển phục vụ cho một số chức năng nào đó. Tên context được đặt trong dấu ngoặc vuông,
tất cả các điều khiển sau đó đều thuộc về context này cho đến context tiếp theo, khi bạn khai báo
kênh bạn cũng phải khai báo để kênh đó hoạt động theo context nào. Ở ví dụ trên các điều khiển
“sip phone” được đặt trong context “from-sip và các kênh SIP cũng được cấu hình để hoạt động
theo context “from-sip” (tham số context=from-sip). Mỗi context gồm nhiều extension.
- extension
là một chuỗi những điều khiển mà Asterisk sẽ thực hiện khi nó nhận hoặc thực hiện một cuộc
gọi. 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ụ trên, exten => 2000,1,Dial(SIP/2000,20) thực hiện cuộc gọi đến Sip phone 2000 , exten
=> 2001,1,Dial(SIP/2001,20) thực hiện cuộc gọi đến Sip phone 2001 thông qua application Dial().
để test hệ thống đã cấu hình bạn phải dùng “Sip phone”, có nhiều loại “Sip phone”, bạn có thể
dùng X-lite download tại http://www.counterpath.com.
Sau khi cài đặt và chạy X-lite ( trên máy chạy Window ), bạn vào phần SIP Account setting =>
nhấn Add để tạo Sip account và điền các thông tin tương ứng với tài khoản Sip phone mà bạn đã
tạo như hình vẽ sau.
phần domain nhập địa chỉ ip của Server Asterisk.
Khi Sip phone của bạn đăng ký thành công phần màn hình của điện thoại sẽ báo
Ready
Your username is: 2000
như hình sau.
tương tự như vậy, bạn cài đặt một Sip phone lên một máy khác cho username 2001 và thực hiện
cuộc gọi giữa hai máy này.
để gọi username 2000 thì quay số 2000, username 2001 thì quay số 2001.

Das könnte Ihnen auch gefallen