8/28/13

Cài đặt Asterisk

1. Yêu cầu phần cứng

Tùy theo mục đích sử dụng và số lượng người dùng hệ thống sẽ được trang bị phần cứng theo các mức độ khác nhau. Dưới đây là một khuyến nghị từ cộng đồng sử dụng Asterisk.
Mục đích
Số lượng các kênh
Cấu hình tối thiểu
Thử nghiệm, học tập
1-5
400-MHz x86, 256 MB RAM
Hệ thống cho văn phòng hoặc nhà riêng
5-10
1-GHz x86, 512 MB RAM
Hệ thống cho doanh nghiệp nhỏ
Tới 15 kênh
3-GHz x86, 1 GB RAM
Hệ thống thương mại cỡ vừa và lớn
Hơn 15
Dual CPUs hoặc triển khai trên nhiều server

2.  Lắp đặt phần cứng

Máy chủ: chú ý thông số điện thế trên khe PCI phải tương thích với các card giao tiếp cần kết nối
Card giao tiếp mạng: Kết nối máy chủ với mạng IP
Card giao tiếp analog: Kết nối máy chủ với mạng PSTN. Card này có hai loại :
FXO – Foreign eXchange Office – Kết nối tới nhà cung cấp PSTN
FXS –  Foreign eXchange Station – Kết nối các điện thoại PSTN vào PBX
Cài đặt Asterisk
Hình 3.4: Mô hình kết nối phần cứng Asterisk server
Thông tin về các loại card cũng như giá cả của chúng có thể tham khảo tại trang web http://www.digium.com

3. Yêu cầu phần mềm

·      Hệ điều hành: Linux based. Để thử nghiệm và xây dựng tài liệu này, tôi sử dụng bản phân phối CentOS 5.6
·      Gói phần mềm Asterisk: Download từ asterisk http://www.asterisk.org/downloads
·       Zapata driver – zaptel trong trường hợp sử dụng các card kết nối FXO/FXS để nối với mạng PSTN. Nếu hệ thống ko sử dụng các card này (chỉ là IP đơn thuần)  thì có thể sử dụng module ztdummy thay thế. Zapata driver có thể download tại http://downloads.digium.com/pub/telephony/zaptel/
·       Các yêu cầu về thư viện và trình biên dịch:
o  Trình biên dịch gcc phiên bản 3.x trở lên
o  Gói mã nguồn nhân kernel-source (với phiên bản nhân 2.4)
o  Thư viện bison: giúp Asterisk phân tích câu lệnh CLI
o  Thư viện openssl và openssl-devel trợ giúp việc mã hóa
o  Thư viện libnewt và gói devel liên quan để biên dịch zaptel driver
Các gói phần mềm cần thiết ở thời điểm hiện tại bao gồm
·      asterisk-1.4.4.tar.gz
·      zaptel-1.4.2.1.tar.gz
Các gói rpm cần cài đặt thêm cho bản CentOS 5.6 (nếu chưa cài)
·      gcc-3.2.2-5
·      bison-1.35-6
·      openssl-devel-0.9.7a-2
·      openssl-0.9.7a-2
·      newt-0.51.4-1
·      newt-devel-0.51.4-1
·      kernel-source-2.4.20-8
Chú ý : khi cài các gói trên sẽ có thông báo cần cài đặt một số gói khác liên quan.

4. Biên dịch và cài đặt

Để đơn giản, ta copy các file nén vào  thư mục /usr/src rồi dùng lệnh sau giải nén :
cd /usr/src/
tar -zxvf zaptel-*.tar.gz
tar -zxvf asterisk-*.tar.gz
Sau khi giải nén, ta có các thư mục chứa mã nguồn tương ứng. Thực hiện biên dịch và cài đặt cho với từng gói này như các phần dưới đây
Ø Biên dịch và cài đặt Zaptel
Asterisk sử dụng module chan_zap để giao tiếp với nhân hệ điều hành và điều khiển phần cứng. Giao diện điều khiển zaptel là một module động được nạp vào nhân hệ điều hành. Ở đây chúng ta sẽ biên dịch và sử dụng hai module chính đó là zaptel.o và wctdm.o
Để biên dịch được module zaptel trong với nhân hệ điều hành Redhat Linux 9.0 (bản nhân 2.4), trình biên dịch cần tìm kiếm các file tiêu đề và thư viện kernerl-source tại thư mục /usr/linux-2.4. Tuy nhiên, gói kernel-source lại đặt các file này trong thư mục /usr/src/linux-2.4.20-8. Vậy nên cần tạo một slink với tên linux-2.4 đến thư mục này như sau:
ln –s  /usr/src/linux-2.4.20-8  /usr/srv/linux-2.4
Thông tin cụ thể về tính năng cũng như tối ưu hóa thiết bị dựa trên các tham số này sẽ được tìm hiểu và trình bày trong một phần khác. Để đơn giản, tôi sử dụng thông số mặc định để biên dịch và cài đặt module zaptel. Các lệnh biên dịch và cài đặt như sau:
cd /usr/src/zaptel-version
make distclean
./configure
make
make install
make config
Lưu ý với lệnh ./configure, chúng ta có thể thêm vào một số tham số. Để biết chi tiết các tham số này, gõ lệnh ./configure –help. Lệnh make config sẽ tạo script trong thư mục khởi động hệ điều hành để nạp module vào nhân khi hệ thống khởi động.
Với lệnh make instal, module zaptel và một số ứng dụng sẽ được cài đặt vào hệ thống trong đó có hai công cụ hỗ trợ rất hiệu quả đó là ztcfg và zttool. Công cụ ztcfg dùng để kiểm tra và cấu hình thiết bị dựa trên file cấu hình /etc/zaptel.conf. Công cụ zttool được sử dụng để kiểm tra trạng thái của thiết bị. Sử dụng lệnh man để xem thông tin chi tiết về hai chương trình này.
Để bắt đầu khởi động trình điều khiển thiết bị, tôi sử dụng lệnh sau đây:
/etc/init.d/zaptel start
Ø  Biên dịch Asterisk
          Để biên dịch và cài đặt mặc định, ta thực hiện các lệnh sau
make config
cd /usr/src/asterisk-version
make distclean
./configure
make
make install
make samples
Lệnh make samples sẽ tạo ra các file cấu hình mẫu với các tham số mặc định giúp cho việc thiết lập và cài đặt Asterisk được nhanh chóng và dễ dàng hơn. Chúng ta sẽ điều chỉnh các tham số này trong các phần sau.
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 như trên. 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
          Để vào chế độ dòng lệnh của Asterisk ta dùng một trong hai cách sau
/user/sbin/asterisk –cvvvv
          Nếu Asterisk chưa chạy hoặc
/user/sbin/asterisk –rvvvv
          Nếu Asterisk đang hoạt động
          Để tạo các script khởi động Asterisk khi boot hệ thống, sử dụng lệnh sau khi
make install

make config

0 nhận xét:

Post a Comment