Cài đặt asterisk

Để 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

pdf14 trang | Chia sẻ: haohao89 | Lượt xem: 3631 | Lượt tải: 2download
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
Tài liệu liên quan