Sach asterisk tieng viet full

11,265 views

Published on

0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,265
On SlideShare
0
From Embeds
0
Number of Embeds
73
Actions
Shares
0
Downloads
1,245
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

Sach asterisk tieng viet full

  1. 1. http://my.opera.com/asteriskvn MỤC LỤCMỤC LỤC CÁC HÌNH……………………………………………………………………….. iiiCÁC TỪ VIẾT TẮT…………………………………………………………………………... ivCHƯƠNG I: TỔNG QUAN VỀ ASTERISK …………………………………………… 11.1 Giới thiệu về mã nguồn mở Asterisk……………………………………………….... 11.2 Kiến trúc Asterisk……………………………………………………………………. 41.3 Một số tính năng cơ bản……………………………………………………………... 6 1.3.1 Asterisk là một PBX……………………………………………………………. 6 1.3.2 Asterisk là một hệ thống IVR…………………………………………………... 8 1.3.3 Asterisk là một hệ thống Voicemail……………………………………………. 8 1.3.4 Asterisk là một hệ thống VoIP (Voice over IP)………………………………... 9 1.3.5 Asterisk không là một Sip Proxy………………………………………………. 11CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK………………….. 122.1 Giới thiệu…………………………………………………………………………….. 122.2 VoIP-Voice over Internet Protocal…………………………………………………… 122.3 Các phương thức báo hiệu giao tiếp TDM…………………………………………… 12 2.3.1 FXO và FXS……………………………………………………………………. 12 2.3.2 Báo hiệu Analog giữa đầu cuối và tổng đài…………………………………….. 13 2.3.3 Báo hiệu giữa các tổng đài……………………………………………………... 142.4 Báo hiệu trên mạng VoIP…………………………………………………………….. 14 2.4.1 H.323…………………………………………………………………………… 14 2.4.2 SIP-Session Initiation Protocal…………………………………………………. 14 2.4.3 Proxy Server……………………………………………………………………. 15 2.4.4 RTP và NAT……………………………………………………………………. 15 2.4.5 IAX-Inter Asterisk eXchange…………………………………………………... 162.5 Asterisk server………………………………………………………………………... 172.6 Thiết bị VoIP…………………………………………………………………………. 17 2.6.1 VoIP phone……………………………………………………………………... 17 2.6.2 Softphone……………………………………………………………………….. 182.7 Card giao tiếp với PSTN……………………………………………………………... 192.8 ATA………………………………………………………………………………….. 202.9 Codecs………………………………………………………………………………... 202.10 QoS-Quality of Service……………………………………………………………... 20 2.10.1 Độ trễ………………………………………………………………………….. 21 2.10.2 Độ trượt……………………………………………………………………….. 21CHƯƠNG III: CÁC MÔ HÌNH ỨNG DỤNG MÃ NGUỒN MỞ……………………… 233.1 Tổng đài VoIP –PBX………………………………………………………………… 233.2 Kết nối IP-PBX với PBX…………………………………………………………….. 24 i
  2. 2. http://my.opera.com/asteriskvn3.3 Kết nối giữa các server Asterisk……………………………………………………... 253.4 Các ứng dụng IVR, Voice Mail, Điện thoại hội nghị………………………………... 263.5 Chức năng phân phối cuộc gọi tự động……………………………………………… 27CHƯƠNG IV: CÁC DỊCH VỤ CƠ BẢN CỦA ASTERSIK…………………………… 284.1 Conference…………………………………………………………………………… 284.2 Voicemail…………………………………………………………………………….. 284.3 Call Forwarding……………………………………………………………………… 284.4 Call ID……………………………………………………………………………….. 294.5 Automated Attendant………………………………………………………………… 294.6 Time and Day………………………………………………………………………… 294.7 Call Pickup…………………………………………………………………………… 294.8 Call Parking………………………………………………………………………….. 294.9 Privacy Manager……………………………………………………………………... 304.10 Call Detail Records…………………………………………………………………. 304.11 Call Recoding………………………………………………………………………. 304.12 Blacklist…………………………………………………………………………….. 304.13 User permission to/international call……………………………………………….. 30CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBX…………………………………………. 315.1 Cài đặt Asterisk………………………………………………………………………. 31 5.1.1 Cài đặt Zaptel…………………………………………………………………... 32 5.1.2 Cài đặt libpri……………………………………………………………………. 33 5.1.3 Cài đặt Asterisk………………………………………………………………… 33 5.1.4 Cài đặt Asterisk-Addons……………………………………………………….. 365.2 Cấu hình hệ thống…………………………………………………………………… 38 5.2.1 Cấu hình giao tiếp với PSTN…………………………………………………… 38 5.2.1.a. zaptel.conf………………………………………………………………... 39 5.2.1.b. zapata.conf……………………………………………………………….. 41 5.2.2 Giao diện SIP…………………………………………………………………... 44 5.2.3 Giao tiếp IAX…………………………………………………………………... 47 5.2.4 Hộp thư thoại Voicemail……………………………………………………….. 48 5.2.4.a. Giới thiệu………………………………………………………………… 48 5.2.4.b. Cấu hình chức năng Voicemail………………………………………….. 49 5.2.5 Nhạc chờ (Music On Hold)…………………………………………………….. 50 5.2.5.a. Giới thiệu………………………………………………………………… 50 5.2.5.b. Cấu hình tính năng MOH………………………………………………… 50 5.2.6 Hàng đợi………………………………………………………………………... 51 5.2.6.a. Giới thiệu………………………………………………………………… 51 5.2.6.b. Cấu hình………………………………………………………………….. 51 5.2.7 Xây dựng hệ thống hội thoại…………………………………………………… 52 5.2.7.a. Giới thiệu………………………………………………………………… 52 5.2.7.b. Cấu hình…………………………………………………………………. 53 ii
  3. 3. http://my.opera.com/asteriskvn5.3 Tạo kế hoạch quay số cho hệ thống………………………………………………….. 55 5.3.1 Giới thiệu………………………………………………………………………. 55 5.3.2 Tạo một ngữ cảnh……………………………………………………………… 55 5.3.3 Tạo một extension……………………………………………………………… 56 5.3.4 Tạo các Extension gọi ra……………………………………………………….. 58 5.3.5 Hệ thống trả lời tương tác thoại (Automated Attendant)………………………. 59CHƯƠNG VI: THI CÔNG HỆ THỐNG IP-PBX CƠ BẢN……………………………. 616.1 Các thiết bị và phần mềm sử dụng trong mô hình…………………………………… 616.2Kế hoạch quay số……………………………………………………………………. 646.3 Một số chức năng cơ bản……………………………………………………………. 656.4 Cấu hình ……………………………………………………………………………... 656.5 Một số kết quả thực hiện…………………………………………………………….. 71KẾT LUẬN……………………………………………………………………………… 72PHỤ LỤC………………………………………………………………………………... 74 Thư viện cú pháp lệnh và biến trong asterisk 1.Các lệnh tổng quát……………………………………………………………… 74 2.Cú pháp lệnh tương tác với Database…………………………………………... 74 3.Cú pháp dòng lệnh liên quan đến kênh IAX…………………………………… 75 4.Cú pháp dòng lệnh liên quan đến kênh SIP……………………………………. 75 5.Cú pháp dòng lệnh liên quan đến quản trị hệ thống……………………………. 75 6.Các biến định nghĩa trong Astersik…………………………………………….. 76TÀI LIỆU THAM KHẢO……………………………………………………………….. 77 MỤC LỤC CÁC HÌNHHình 1-1: Sơ đồ tổng quát……………………………………………………………….. 3Hình 1-2: Kiến trúc Asterisk ……………………………………………………………. 4Hình 1-3: Liên lạc giữa các Extension ………………………………………………….. 7Hình 1-4: Liên lạc giữa các văn phòng qua Internet ……………………………………. 10Hình 2-1: FXO và FXS………………………………………………………………….. 13Hình 2-2: Đăng ký từ Client đến SIP proxy……………………………………………... 15Hình 2-3: Minh họa hoạt động của NAT………………………………………………… 16Hình 2-4: Điện thoại VoIP……………………………………………………………….. 18Hình 2-5: Điện thoại Softphne …………………………………………………………... 19Hình 2-6: Card TDM22B………………………………………………………………… 19Hình 2-7: Thiết bị ATA………………………………………………………………….. 20Hình 2-8: Nguyên nhân xảy ra trượt…………………………………………………….. 22Hình 3-1: IP-PBX………………………………………………………………………... 23Hình 3-2: Kết nối IP-PBX với PBX……………………………………………………… 24Hình 3-3: Kết nối giữa các server Asterisk………………………………………………. 25Hình 3-4:Triển khai server IVR, VoiceMail, Hội Thoại………………………………… 26Hình 3-5: Phân phối cuộc gọi với hàng đợi…………………………………………….... 27Hình 6-1: Mô hình IP-PBX cơ bản……………………………………………………… 61 iii
  4. 4. http://my.opera.com/asteriskvn CÁC TỪ VIẾT TẮTACD Automatic Call DistributionADPCM Adaptive Differential Pulse code ModulationAGI Asterisk Gateway InterfaceAMP Asterisk Management PlatformAPI Application Programming InterfaceATA Analog Terminal AdaptorCDR Call Detail RecordCGI Control Gate InterfaceCODEC COder/DECoderCRM Customer Relationship ManagementFTP File Transfer ProtocolFXO Foreign Exchange OfficeFXS Foreign Exchange StationHTTP Hypertext Transfer ProtocolIAX Inter Asterisk eXchangeIETF Internet Engineering Task ForceITU International Telecommunication UnionIVR Interactive Voice ResponseMAN Metropolitan Area NetworkMGCP Media Gateway Control ProtocolNAT Network Address TranslatorPOTS Plain Old Telephone ServicePRI Primary Rate ISDNQoS Quality of ServiceRADIUS Remote Authentication Dial In User ServiceRTP Real Time Transport ProtocolSCCP Cisco® Sking®SER SIP Express RouteSIP Session Initiation ProtocolSMTP Simple Mail Transfer ProtocolWAV Waveform Audio iv
  5. 5. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISK CHƯƠNG I: TỔNG QUAN VỀ ASTERISK1.1 Giới thiệu về mã nguồn mở AsteriskAsterisk là phần mềm thực hiện chức năng tổng đài điện thoại nội bộ (PBX), cho phépcác máy điện thoại nhánh (extension) thực hiện cuộc gọi với nhau và kết nối với cáchệ thống điện thoại khác bao gồm cả mạng điện thoại analog thông thường (PSTN) vàVoIP. Asterisk có đầy đủ tính năng của tổng đài PBX thương mại: hộp thư thoại, hộiđàm, tương tác thoại (menu thoại)…Đặc biệt, Asterisk còn hỗ trợ nhiều giao thứcVoIP như SIP và H.323, hoạt động như trạm kết nối giữa các điện thoại IP và mạngPSTN. Tên Asterisk có nguồn gốc từ ký tự * được dùng trong Unix và Linux, thể hiệncho tùy chọn bất kỳ.Asterisk là hệ thống chuyển mạch mềm, là phần mềm nguồn mở được viết bằng ngônngữ C chạy trên hệ điều hành Linux. Cũng như nhiều dự án nguồn mở, Asterisk thoạtđầu được xây dựng nhằm đáp ứng nhu cầu cá nhân .Khi còn là sinh viên khoa kỹ thuậtmáy tính tại đại học Auburn ở Alabama(Mỹ), Mark Spencer đã thành lập công ty cungcấp dịch vụ hỗ trợ người dùng Linux qua điện thoại .Để tiết kiệm chi phí, thay vì muatổng đài PBX có sẵn, Mark đã quyết định tự xây dựng phần mềm thực hiện chức năngtổng đài chạy trên PC dùng hệ điều hành Linux và kết quả là Asterisk ra đời .Asterisk là một PBX và hơn thế nữa .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í , biến một PC rẻ tiền thông thường chạy Linuxthành một hệ thống điện thoại doanh nghiệp mạnh mẽ .Astreisk là một bộ công cụ mãnguồn mở cho các ứng dụng thoại và là một server xử lý cuộc gọi đầy đủ chức năng.Asterisk là một nền tảng tích hợp điện thoại vi tính hóa kiến trúc mở.Nhiều hệ thốngAsterisk đã được cài đặt thành công trên khắp thế giới .Công nghệ Asterisk đang phụcvụ cho nhiều doanh nghiệp .Asterisk là mã nguồn mở, nó thực hiện truyền thông trong phần mềm thay vì phầncứng. Điều này cho phép các tính năng mới được thêm vào một cách nhanh chóng vớinỗ lực tối thiểu.Chúng ta có thể thực hiện các thay đổi hay thêm vào của riêng mìnhmột cách dễ dàng.Với sự hỗ trợ bao gồm trong nó được quốc tế hóa, một tập hợp dồidào các file cấu hình, và mã nguồn mở, mọi khía cạnh của Asterisk có thể được tùybiến để đáp ứng nhu cầu của chúng ta.Phần mềm Asterisk được thiết kế dạng module .Các thành phần chức năng được thiếtkế thành từng module riêng biệt và tách rời với phần chuyển mạch lõi .Một trongnhững “điểm son”của Asterisk là quản lí extension .Từng bước của cuộc gọi được địnhnghĩa như là một ứng dụng .Quay số là một ứng dụng, trả lời, phát lại, hộp thư thoại… là những ví dụ ứng dụng khác .Ta có thể tạo kịch bản thực hiện gọi ứng dụng bất kỳ -1-
  6. 6. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISKtrên kênh bất kỳ .Ví dụ, có thể thiết lập một số extension được đổ chuông cùng lúc ở 2kênh (có thể nối đến 2 máy điện thoại : 1 analog và 1 digital) trước khi chuyển cuộcgọi đến điện thoại di động ,và sau đó chuyển qua hệ thống thư thoại.Hiện nay Asterisk trên đà phát triển nhanh, được rất nhiều doanh nghiệp triển khai ứngdụng cho công ty của mình .Đây là xu thế tất yếu của người sử dụng điện thoại, vì cáccông ty đều có mạng máy tính và cần liên lạc với nhau trong công việc giữa các phòngban hoặc chi nhánh và cần một chi phí thấp, thậm chí không phải tốn chi phí khi thựchiện các công việc trên mạng nội bộ của công ty.Không gói gọn thông tin liên lạc trong công ty mà các ứng dụng giao tiếp với mạngPSTN hoặc mạng VoIP (như voice 777) cho phép gọi ra bất cứ số điện thoại nào cótrên mạng PSTN .Ngoài ra việc tích hợp vào các ứng dụng như CRM(Customer RelationshipManagement) và hệ thống Outlook làm cho khả năng ứng dụng của Asterisk linh hoạthơn, đáp ứng nhu cầu cần thiết cho người sử dụng điện thoại .Asterisk thoạt đầu được phát triển trên GNU/Linux nền x86(Intel), nhưng giờ đây nócũng có thể biên dịch và chạy trên OpenBSD, FreeBSD và Mac OSX và MicrosoftWindows. -2-
  7. 7. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISK Hình 1-1: Sơ đồ tổng quátAsterisk là hệ thống chuyển mạch tích hợp, vừa là công nghệ truyền thống TDM vừalà chuyển mạch VoIP.Hình trên cũng cho thấy khả năng giao tiếp của hệ thống .Giaotiếp với điện thoại analog thông thường, giao tiếp với thiết bị điện thoại VoIP, ngoài racòn có thể giao tiếp với mạng PSTN và các nhà cung cấp VoIP khác.Asterisk cho phép ngay cả công ty hay tổ chức nhỏ cũng có thể thiết lập hệ thống điệnthoại đa năng, hỗ trợ đồng thời điện thoại thông thường (analog) và điện thoại IP(VoIP).Theo M.Spencer, Asterisk là giải pháp “viễn thông cho đại chúng “- ngoài chiphí rẻ và dễ dàng thiết lập, khả năng VoIP của Asterisk cho phép kết nối nhũng vùngxa xôi, những nơi chưa có mạng cáp điện thoại truyền thống . -3-
  8. 8. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISK1.2 Kiến trúc Asterisk Hình 1-2: Kiến trúc AsteriskVề cơ bản kiến trúc của Asterisk là sự kết hợp giữa nền tảng công nghệ điện thoại vàứng dụng điện thoại .Công nghệ điện thoại cho VoIP như SIP, H323, IAX, MGCP…,các công nghệ điện thoại cho hệ thống chuyển mạch TDM như T1, E1, ISDN và cácgiao tiếp đường truyền thoại Analog.Các ứng dụng thoại như chuyển mạch cuộc gọi,tương tác thoại, caller ID, voicemail, chuyển cuộc gọi …Asterisk có một số chức năng chính đóng vai trò quan trọng trong hệ thống chuyểnmạch cuộc gọi. Khi khởi động hệ thống Asterisk thì chức năng Dynamic ModuleLoader 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 liên quan, đồng thời các hàm API cũng được liên kết nạp vào hệ thống . -4-
  9. 9. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISKSau đó hệ thống PBX Switching Core của Asterisk chuyển sang trạng thái sẵn sànghoạt động chuyển mạch cuộc gọi, các cuộc gọi được chuyển mạch tùy vào kế hoạchquay số (Dialplan) được thực hiện cấu hình trong tập tin cấu hình extensions.conf .Chức năng Application Launcher để rung chuông thuê bao, quay số, định hướngcuộ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 đượcphát triển bởi cộng đồng phát triển Asterisk .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 .Tất cả các cuộc gọi định hướng qua hệ thống Asterisk đều thông qua các giao tiếp nhưSIP, Zaptel, IAX, nên hệ thống Asterisk phải đảm trách nhiệm vụ liên kết các giao tiếpkhác nhau đó để xử lý cuộc gọi .Mọi cuộc gọi được xuất phát hoặc được nhận qua một giao tiếp trên kênh riêng biệtcủa chính nó .Một kênh có thể được kết nối đến một kênh vật lí -ví dụ như một đườngdây POTS, hoặc đến một kênh logic-ví dụ như một kênh IAX hoặc SIP.Phân biệt sự xuất hiện của một cuộc gọi trên một kênh với cái gì sẽ xảy ra với cuộc gọivào đó, là rất quan trọng .Khi một cuộc gọi đến Asterisk qua một kênh, một kế hoạchđánh số (Dial plan) quyết định cái gì sẽ thực hiện với cuộc gọi . Ví dụ một cuộc gọi cóthể đến qua một kênh SIP: cuộc gọi có thể được đến từ một SIP-Telephone hoặc từmột SIP- Softphone hoạt động trên một máy tính. Kế hoạch đánh số quyết định cuộcgọi nên được trả lời, được kết nối với điện thoại khác, được chuyển cuộc gọi hay đượcđịnh hướng tới Voicemail .Asterisk cung cấp nhiều ứng dụng khác nhau .Các ứng dụng này sẵn sàng cho kếhoạch đánh số khi xử lý cuộc gọi vào.Kế hoạch đánh số và các ứng dụng được lựachọn để sử dụng trong kế hoạch đánh số quyết định Asterisk thi hành những hànhđộng nào.Hệ thống cũng bao gồm 4 chức năng API chính: Codec Translator API: các hàm đảm nhiệm thực thi và giải nén các chuẩn khác nhaunhư G723, GSM, MP3, ADPCM… -5-
  10. 10. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISKAsterisk Chanel API: Giao tiếp với các kênh liên lạc khác nhau, đây là đầu mối choviệc kết nối các cuộc gọi tương thích với nhiều chuẩn khác nhau như SIP, IAX, H323,Zaptel…Asterisk file foramt API: Asterisk tương thích với việc xử lý các loại file có định dạngkhác nhau như MP3, WAV, GSM…, đem đến sự linh hoạt cho các ứng dụng trên nềnAsterisk trong việc xử lý âm chuông, DTMF…Asterisk Aplication API: bao gồm tất cả các ứng dụng được thực thi trong hệ thốngAsterisk như voicemail, conference, callerID…, cho phép viết các ứng dụng mới cóthể tương tác trực tiếp với phần lõi PBX.Ngoài ra Asterisk còn có thư viện Asterisk Gateway Interface (AGI, tương tự nhưCGI)- cơ chế kích hoạt ứng dụng bên ngoài, cho phép viết kịch bản phức tạp với mộtsố ngôn ngữ như PHP hay Perl.Nói chung, khả năng viết các ứng dụng tùy biến rấtlớn.1.3 Một số tính năng cơ bản1.3.1 Asterisk là một PBXAsterisk là một PBX (Private Branch Exchange).Một PBX có thể được xem như làmột tổng đài điện thoại riêng, kết nối một hay nhiều điện thoại nội bộ bên trong, vàthường kết nối ra bên ngoài bằng một hay nhiều đường dây điện thoại .Điều nàythường có hiệu quả về mặt chi phí hơn so với việc thuê một đường dây điện thoại chomỗi điện thoại có nhu cầu trong một doanh nghiệp.-Station-To-Station Calls:Thứ nhất, như một PBX, Asterisk cung cấp các cuộc gọi Station-To-Station .Điều nàycó nghĩa người sử dụng có thể quay số từ điện thoại này đến điện thoại khác . -6-
  11. 11. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISK Hình 1-3: Liên lạc giữa các ExtensionTrong hình vẽ, mỗi extension có thể kết nối đến bất kỳ extension khác bằng cách quaysố một cách trực tiếp . Điều này có nghĩa rằng nếu một modem gởi một bản fax đếnmột máy fax nội bộ, nó thực thi bằng cách tạo một kết nối trực tiếp giữa hai thiết bịxuyên qua PBX.-Line Trunking:Thứ hai, Asterisk cung cấp đường trung kế.Trong hình thức đơn giản nhất, đườngtrung kế chia sẻ truy cập của nhiều đường dây điện thoại . Các đường dây điện thoạinày thường được sử dụng để kết nối đến mạng điện thoại toàn cầu, như PSTN, nhưngcũng có thể là các đường dây riêng đến các hệ thống điện thoại khác .Các kết nối này có thể là một trung kế Analog đơn, nhiều trung kế Analog, hay các kếtnối số dung lượng cao cho phép nhiều cuộc gọi đồng thời được mang trên một kết nốiđơn.-Telco FeaturesAsterisk hỗ trợ tất cả các tính năng “tiêu chuẩn” mà chúng ta mong đợi từ bất kỳ côngty điện thoại (telco) nào, Asterisk hỗ trợ gởi và nhận Caller ID, và ngay cả cho phépchúng ta định tuyến các cuộc gọi dựa trên cơ sở Caller ID.Sử dụng Caller ID vớiPSTN chúng ta yêu cầu các kết nối PSTN của chúng ta phải cung cấp tính năng này.Asterisk cũng hỗ trợ các tính năng khác như là: call waiting, call return (*69),distinctive ring, transfering calls, call forwarding … Các tính năng cơ bản này vànhiều hơn nữa được cung cấp bởi Asterisk.-Phân phối cuộc gọi tiên tiến: -7-
  12. 12. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISKAsterisk có thể nhận một cuộc thoại, xem xét đặc tính của cuộc gọi, và thực hiện địnhtuyến dựa trên cơ sở đó. Nếu thông tin đầy đủ không được cung cấp bởi nhà cung cấpkết nối PSTN, thì chúng ta yêu cầu người gọi đưa vào thông tin bằng cách dùng điệnthoại ấn phím ở chế độ tone.Mỗi khi chúng ta thực thi một quyết định cách để định tuyến cuộc gọi, chúng ta có thểgửi nó đến một extension đơn, một nhóm extension, một recording, một voicemailbox, hoặc ngay cả một nhóm agent telephone mà có thể chuyển từ điện thoại đến điệnthoại. Chúng ta có thể sử dụng các hàng đợi cuộc gọi để phục vụ khách hàng một cáchhiệu quả hơn nữa .Sự linh hoạt này đưa đến cho chúng ta khả năng từ chỉ có một hệ thống điện thoại đểtạo ra một giải pháp mạnh mẽ cho các doanh nghiệp để tiết kiệm chi phí điện thoại .Phân phối cuộc gọi tiên tiến trao quyền cho chúng ta phục vụ khách hàng theo cách tốtnhất có thể.Một nhân tố làm nên sự khác biệt chính giữa Asterisk và các hệ thống PBX khác đó làAsterisk không yêu cầu mua bản quyền cho bất cứ tính năng gì . Ví dụ sự giới hạn cóbao nhiêu cuộc gọi trong hàng đợi cuộc gọi (call queue) được quyết định chỉ bởi phầncứng chúng ta sử dụng .1.3.2 Asterisk là một hệ thống IVRIVR (Interactive Voice Response) là tính năng đáp ứng thoại tương tác. Khả năng vàsự linh hoạt của một hệ thống điện thoại dựa vào chương trình đưa đến cho chúng takhả năng để đáp ứng khách hàng theo các cách đầy ý nghĩa .Chúng ta có thể dùng Asterisk để cung cấp dịch vụ trong suốt 24 giờ. Asterisk chophép chúng ta phát lại các file, đọc văn bản, và ngay cả truy lục thông tin từ cơ sở dữliệu. Đây là kỹ thuật mà chúng ta tiếp cận trong việc trả tiền cước điện thoại qua hệthống ngân hàng . Khi chúng ta gọi đến ngân hàng, chúng ta sẽ nghe một số loại bảntin đã được thu và đưa ra lệnh, thường là sử dụng điện thoại ấn phím ở chế độ tone.Vídụ chúng ta có thể nghe một lời chào và bản tin trạng thái, chúng ta gõ vào số tàikhoản và thông tin cá nhân hoặc giấy ủy quyền đã chứng thực. Chúng ta cũng thườngnghe thông tin riêng, thông tin riêng này được truy lục từ cơ sở dữ liệu ,như là một vàiphiên giao dịch mới nhất hoặc số dư tài khoản .Các hệ thống với tính năng như vậyđược thực thi bằng cách sử dụng Astrisk.1.3.3 Asterisk là một hệ thống VoicemailAterisk là một hệ thống Voicemail bao gồm các chức năng đầy đủ.Hệ thống Voicemailcó sức mạnh đầy kinh ngạc .Nó hỗ trợ nhiều ngữ cảnh Voicemail để nhiều tổ chức cóthể được truy cập vào từ cùng server .Nó hỗ trợ các vùng thời gian khác nhau vì vậycác user có thể kiểm tra khi điện thoại của họ có cuộc gọi vào. Nó cung cấp sự lựachọn để thông báo nhận các bản tin mới qua mail: thực tế chúng ta có thể đính kèmbản tin audio. -8-
  13. 13. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISK1.3.4 Asterisk là một hệ thống VoIP (Voice over IP)Asterisk đưa đến cho chúng ta khả năng sử dụng IP (Internet Protocal) cho các cuộcgọi điện thoại, đặc biệt các cuộc gọi đường dài dùng IP thì chi phí thấp hơn so với cáccông nghệ điện thoại truyền thống .Sự chọn lựa để sử dụng Asterisk không có nghĩa là chúng ta chỉ có thể sử dụng VoIPcho các cuộc gọi .Trong thực tế nhiều thiết lập cho Asterisk không phải sử dụng hết tấtcả, nhưng với mỗi thiết lập hệ thống có khả năng thêm vào VoIP một cách dễ dàng vàbất cứ lúc nào mà không cần chi phí cộng thêm.Hầu hết các công ty có hai mạng: một cho điện thoại và một cho máy tính .Vấn đề gìsẽ xảy ra nếu chúng ta hợp nhất hai mạng này?Tiết kiệm được những gì? Tiết kiệm lớnnhất thu được là giảm gánh nặng quản lí cho các nhân viên IT (InformationTechnology) .Bây giờ chúng ta có một vài chuyên gia về máy tính và mạng, và từ khiđiện thoại sẽ hoạt động ở trong tầm điều khiển của máy tính và qua mạng IP của chúngta, kiến thức nền tảng tương tự sẽ cho phép các nhân viên của chúng ta được quyềnquản lí hệ thống điện thoại.Chúng ta cũng sẽ thu được lợi ích từ việc mua thiết bị được giảm xuống trong thờigian dài. Thiết bị máy tính ngày càng rẽ hơn trong khi các hệ thống điện thoại độcquyền dường như giữ nguyên giá cả.Vì vậy chúng ta có lẽ mong đợi giá của Switch,Router và các thiết bị mạng dữ liệu khác tiếp tục giảm giá.Hầu hết các hệ thống điện thoại hiện tại, các đường dây điện thoại kéo xa tối đa theochiều dài cáp được cho phép bởi nhà sản xuất hệ thống điện thoại. Khi dùng VoIPchúng ta có thể có nhiều user sử dụng cùng dịch vụ của Asterisk từ nhiều vị trí khácnhau. Chúng ta có thể có các user ở tại văn phòng dùng điện thoại PSTN hoặc điệnthoại IP, chúng ta có thể có các user VoIP ở xa, ngay cả khi chúng ta có toàn bộ hệthống Asterisk được vận hành và hoạt động hoàn toàn tách biệt nhưng với định tuyếnđược tích hợp .Một phương pháp để giảm bớt tổng phí là giảm số lượng không gian văn phòng đượcyêu cầu .Nhiều doanh nghiệp sử dụng liên lạc từ xa cho mục đích này .Điều nàythường tạo ra một vấn đề: chúng ta dùng số nào để liên lạc một người đi lại ở xa.Tưởng tượng rằng người lao động liên lạc từ xa có thể đơn giản chỉ sử dụng cùng máyđiện thoại khi ở nhà cũng như khi ở văn phòng hoặc ngay cả khi dùng mobile của họ.VoIP cho phép chúng ta có một sự mở rộng đến bất cứ nơi đâu khi chúng ta có một kếtnối Internet nhanh hợp lý .Điều này có nghĩa người làm việc có thể có một điện thoạiở nhà nếu họ có một kết nối băng rộng .Vì vậy, họ sẽ truy nhập đến tất cả các dịch vụđược cung cấp ở văn phòng làm việc , ví dụ như voicemail, gọi đường dài và quay sốđến người khác.Chúng ta chuyển các người làm việc vào trong PBX từ nhà của họ, chúng ta có thể làmđiều tương tự đối với các văn phòng ở xa .Bằng cách này, người làm việc ở nhiều vị trícó thể có các tính năng phù hợp, đươc truy cập cùng phương pháp một cách chính xác,giúp đỡ giảm bớt gánh nặng huấn luyện người lao động . -9-
  14. 14. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISKNhưng điều này không phải là tất cả mà VoIP có thể đem đến cho chúng ta.Chúng tacó thể sử dụng một Asterisk server ở mỗi văn phòng và nối kết lại .Điều này có nghĩalà mỗi văn phòng có thể có các đường dây nội hạt của chính họ, nhưng liên lạc vănphòng đến văn phòng thì được gởi (tunnel) qua Internet.Sự tiết kiệm có được bởi tránhcác cuộc gọi đường dài có thể đáng kể. Hình 1-4: Liên lạc giữa các văn phòng qua InternetMột khi chúng ta có các Office được nối kết theo phương pháp như thế, chúng ta cóthể quản lí các cuộc gọi không cần đường nối, bất kể nhân viên ở Office nào. .Ví dụ,nếu một khách hàng gọi đến Office A yêu cầu về tài khoản của họ và phòng thanh toántài khoản thì ở Office B, chúng ta chuyển cuộc gọi một cách dễ dàng đến người thíchhợp ở văn phòng khác. Chúng ta không phải quan tâm văn phòng khác thì ở đâu .Chỉcần họ có một kết nối Internet tin cậy, ngay cả khi họ không phải ở trong cùng quốcgia.Tiện lợi khác khi kết nối các hệ thống điện thoại với nhau là chúng ta có thể địnhtuyến các cuộc gọi dựa trên cơ sở thời gian .Tưởng tượng rằng chúng ta có hai vănphòng, mỗi văn phòng ở trong mỗi vùng thời gian khác nhau .Mỗi văn phòng chắcchắn sẽ mở cửa hoạt động ở những thời điểm khác nhau .Để quản lý khách hàng củachúng ta một cách hiệu quả, chúng ta có thể chuyển các cuộc gọi từ văn phòng chưamở cửa sang văn phòng đã mở .Hơn nữa ,vì chúng ta đang dùng kết nối Internet đểliên kết các văn phòng , nên không có phí tổn cộng thêm khi thực hiện.Bằng cách liên kết các văn phòng của chúng ta lại với nhau sử dụng VoIP, chúng ta cóthể gia tăng dịch vụ cho khách hàng trong khi vẫn giảm được chi phí . - 10 -
  15. 15. http://my.opera.com/asteriskvn - CHƯƠNG I: TỔNG QUAN VỀ ASTERISK1.3.5 Asterisk không là một SIP ProxyAsterisk hỗ trợ SIP (Session Initiation Protocal) đối với VoIP .Các cuộc gọi có thểđược thực hiện và được nhận với SIP sử dụng Asterisk.Trong SIP, các thiết bị đăng kí với một SIP server. Server này cho phép các thiết bịxác định vị trí với nhau để thiết lập liên lạc.Khi một số lượng lớn của các thiết bị SIPđược sử dụng ,một SIP Proxy thì thường được tận dụng để quản lí sự đăng ký và kếtnối theo cách có hiệu quả .Tuy nhiên, Asterisk không thể hoạt động như một SIP Proxy .Các thiết bị SIP có thểđăng ký với Asterisk nhưng khi số thiết bị SIP gia tăng, Asterisk không thể đáp ứngtốt. Vì vậy, nếu chúng ta dự định dùng khoảng trên 100 thiết bị SIP, Asterisk có lẽkhông thích hợp.Trong khi Asterisk không là một SIP proxy, Asterisk có thể được cấu hình để sử dụngcho các sự đăng ký.Một proxy được sử dụng phổ biến là SER (SIP ExpressRouter).SER là một SIP proxy nguồn mở , nó giúp Asterisk đáp ứng nhu cầu cho sựthiết lập rất lớn. - 11 -
  16. 16. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK2.1 Giới thiệuTrong chương này sẽ giải thích rõ các khái niệm cơ bản liên quan đến hệ thốngAsterisk, cung cấp những kiến thức nền tảng, những khái niệm cần thiết để thiết kếtriển khai xây dựng hệ thống điện thoại với Asterisk .2.2 VoIP –Voice Over Internet ProtocolVoIP là một công nghệ cho phép truyền thoại sử dụng giao thức mạng IP, trên cơ sởhạ tầng của mạng Internet .VoIP là một trong những công nghệ viễn thông đang đượcquan tâm nhất hiện nay không chỉ đối với nhà khai thác, các nhà sản xuất mà còn cảvới người sử dụng dịch vụ .VoIP có thể vừa thực hiện mọi loại cuộc gọi như trên mạng điện thoại kênh truyềnthống (PSTN) đồng thời truyền dữ liệu trên cơ sở mạng truyền dữ liệu .Do các ưuđiểm về giá thành dịch vụ và sự tích hợp nhiều loại hình dịch vụ nên VoIP hiện nayđược triển khai một cách rộng rãi.Dịch vụ điện thoại VoIP là dịch vụ ứng dụng giao thức IP, nguyên tắc của VoIP baogồm việc số hóa tín hiệu tiếng nói, thực hiện việc nén tín hiệu số, chia nhỏ các gói nếucần và truyền gói tin này qua mạng, tới nơi nhận các gói tin này được ráp lại theo đúngthứ tự của bản tin, giải mã tín hiệu tương tự phục hồi lại tiếng nói ban đầu .Các cuộc gọi trong VoIP dựa trên cơ sở sử dụng kết hợp cả chuyển mạch kênh vàchuyển mạch gói.Trong mỗi loại chuyển mạch đều có ưu và nhược điểm riêng của nó.Trong kỹ thuật chuyển mạch kênh dành riêng cho một kênh truyền giữa hai thiết bịđầu cuối thông qua các node chuyển mạch trung gian .Trong chuyển mạch kênh tốc độtruyền dẫn luôn luôn cố định (nghĩa là băng thông không đổi), với mạng điện thoạiPSTN tốc độ này là 64 kbps, truyền dẫn trong chuyển mạch kênh có độ trễ nhỏ .Trong chuyển mạch gói các bản tin được chia thành các gói nhỏ gọi là các packet,nguyên tắc hoạt động của nó là sử dụng hệ thống lưu trữ và chuyển tiếp các gói tintrong node mạng .Đối với chuyển mạch gói không tồn tại khái niệm kênh riêng, băngthông không cố định có nghĩa là có thể thay đổi tốc độ truyền, kỹ thuật chuyển mạchgói phải chịu độ trễ lớn vì trong chuyển mạch gói không qui định thời gian cho mỗigói dữ liệu tới đích, mỗi gói có thể đi bằng nhiều con đường khác nhau để tới đích,chuyển mạch gói thích hợp cho việc truyền dữ liệu vì trong mạng truyền dữ liệu khôngđòi hỏi về thời gian thực như thoại, để sử dụng ưu điểm của mỗi loại chuyển mạch trênthì trong VoIP kết hợp sử dụng cả hai loại chuyển mạch kênh và chuyển mạch gói .2.3 Các phương thức báo hiệu giao tiếp TDM2.3.1 FXO và FXSFXO (Foreign Exchange Office) là thiết bị nhận tín hiệu từ tổng đài gửi đến như dòngchuông ,tín hiệu nhấc gác máy, tín hiệu mời quay số, gửi và nhận tín hiệu thoại …, - 12 -
  17. 17. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISKFXO giống như máy Fax hay modem dial- up 56 k , dùng để kết nối với đường dâyđiện thoại .FXS(Foreign Exchange Station) là thiết bị tại nơi cung cấp đường dây điện thoại ,thiếtbị FXS sẽ cung cấp tín hiệu mời quay số (dialtone), dòng chuông, hồi âm chuông (ringtone).Trong đường dây Analog, FXS cung cấp dòng chuông và điện áp cho điện thoạihoạt động. Ví dụ FXS cung cấp điện áp -48V DC đến máy điện thoại Analog trongsuốt thời gian đàm thoại và cung cấp 90V DC (20Hz) để phát điện áp rung chuông.Thiết bị FXS phát còn thiết bị FXO nhận.Card TDM sử dụng trong hệ thống Asterisk thường tích hợp vừa là thiết bị FXO, vừalà thiết bị FXS (giống bộ ATA), FXO để kết nối với đường dây điện thoại, còn FXSdùng để kết nối với máy điện thoại Analog thông thường dùng để chuyển mạch cuộcgọi TDM qua hệ thống Astesisk (sẽ được phân tích thêm trong phần cấu hình cho kênhTDM)Với card giao tiếp Digium FXS, một Asterisk server có thể điều khiển các máy điệnthoại Analog nội bộ . FXO và các board mạch giao tiếp T-carrier từ Digium có thể kếtnối một Asterisk server đến mạng PSTN .Tóm lại cần nắm: FXS được kết nối với FXO giống với đường dây điện thoại nối với máy điệnthoại FXS cung cấp nguồn cho điện thoại FXO (điện thoại Analog)Hình 2-1: a) Máy điện thoại vai trò FXO kết nối với FXS (PSTN), hình b) PBX kếtnối với FXO và FXS, hình c) ATA đóng vai trò như FXS để kết nối với các máy điệnthoại vai trò FXO .2.3.2 Báo hiệu Analog giữa đầu cuối và tổng đàiKhi chúng ta nhấc máy điện thoại để gọi thì nghe tín hiệu mời quay số, đầu bên kia bịbận thì chúng ta nghe tín hiệu bận (busy tone), các loại tín hiệu như vậy gọi là các tín - 13 -
  18. 18. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISKhiệu báo hiệu analog .Các tín hiệu như : mời quay số, tín hiệu bận, rung chuông, trạngthái nhấc gác máy là các tín hiệu được trao đổi giữa thiết bị FXO và FXS.Có nhiều phương thức báo hiệu khác nhau ứng với từng nơi sử dụng, vì thế tại nơi kếtnối với đường dây điện thoại cần xem xét họ đang sử dụng phương thức báo hiệu gì,từ đó chúng ta khai thác loại tín hiệu báo hiệu cho thích hợp, các phương thức báo hiệunhưKoolstart, Loop Start, Ground Start. Một minh họa cho việc sử dụng sai phương thứcbáo hiệu là khi chúng ta khai báo phương thức báo hiệu giữa hệ thống Asterisk vàđường dây điện thoại khác nhau thì dẫn đến Asterisk sẽ không nhận biết được tín hiệugác máy, điều này sẽ làm cho Asterisk không bao giờ giải tỏa được cuộc gọi để thựchiện cuộc gọi mới .2.3.3 Báo hiệu giữa các tổng đàiSS7 –hệ thống báo hiệu số 7 được phát triển bởi AT&T và ITU là hệ thống báo hiệusử dụng cho các cuộc gọi giữa các tổng đài trong mạng PSTN .Trong hệ thống báohiệu số 7 tín hiệu chuyển tải trên đường trung kế kết nối giữa hai tổng đài gồm có haimạch riêng, một cho thoại và một cho báo hiệu, như vậy thoại và báo hiệu có thểchuyển trên hai kênh vật lý khác nhau.2.4 Báo hiệu trên mạng điện thoại VoIP2.4.1 H.323H.323 là công nghệ nền tảng trong truyền dẫn âm thanh thời gian thực, hình ảnh vàtrao đổi dữ liệu trên mạng cơ sở-mạng gói .Trong đó, chỉ ra các bộ phận, giao thức vàcác thủ tục để cung cấp các dịch vụ giao tiếp đa phương tiện trên mạng cơ sở-mạnggói. Mạng cơ sở-mạng gói bao gồm các mạng IP (như mạng Internet) , các tổng đàichuyển mạch gói (IPX-Internet Packet Exchange), các mạng LAN, các mạng MAN vàcác mạng WAN. H.323 có thể được ứng dụng một cách đa dạng - chỉ gồm thoại(IPTelephony), hay thoại và hình ảnh (Video Telephony), hay thoại và dữ liệu, hay baogồm cả thoại, dữ liệu và hình ảnh. H.323 cũng có thể ứng dụng trong truyền thông đaphương tiện-đa điểm (Multipoint - Multimedia) . H.323 cung cấp các dịch vụ gia tăngvà do đó có thể ứng dụng trong các vùng có sự biến động lớn về kích cỡ mạng và dịchvụ cung cấp.2.4.2 SIP- Session Initiation ProtocolSIP là giao thức Internet dành cho báo hiệu VoIP được phát triển bởi IETF, cung cấpvài chức năng giống hệ thống báo hiệu số 7 nhưng dựa trên nền IP.Một chức nănggiống báo hiệu số 7 đó là báo hiệu và thoại chuyển tải trên hai kênh riêng .Giao thứcSIP thực hiện chức năng thiết lập và báo hiệu cuộc gọi, khi nói đến báo hiệu cuộc gọilà chỉ định các tín hiệu báo hiệu như: tín hiệu mời quay số, tín hiệu bận … SIP là phầnthiết lập mặc định của Astersik (SIP được hỗ trợ trong Asterisk với modulechan_sip.so) . Hầu hết thiết bị VoIP mới đều có hỗ trợ giao thức SIP.Nó có một số ưuđiểm, như: code thì nhỏ hơn. Lý do là SIP chỉ hỗ trợ các tính năng rất cơ bản. Các tínhnăng tiên tiến được hổ trợ qua các chuẩn Internet riêng biệt . - 14 -
  19. 19. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISKCú pháp điều khiển SIP giống như SMTP, HTTP, FTP và các giao thức IETF khác.SIP là một tiêu chuẩn nổi bật trong VoIP vì nó đơn giản so với giao thức khác ví dụnhư H.323 .Chúng ta cấu hình giao thức SIP bằng cách soạn thảo trong tập tin/etc/asterisk/sip.conf. Tập tin này có một số thiết lập trong một session [general], tiếptheo là các định nghĩa của chúng ta cho người sử dụng (sẽ phân tích kỹ hơn trong phầncấu hình Asterisk) .2.4.3 Proxy serverMặc dù hai thiết bị SIP có thể liên lạc trực tiếp với nhau để khởi tạo cuộc gọi nhưngtrong giao thức SIP còn có chức năng Proxy để linh hoạt hơn trong thiếp lập cuộc gọi.Proxy Server sẽ làm nhiệm vụ ghi nhận tất cả các số điện thoại được phía clien đăngký đến qua bản tin “ Registration”.Khi một client khác thực hiện cuộc gọi thì thực sựClient đó không biết số điện thoại cần gọi đang ở đâu nên thông qua Proxy server đểtìm kiếm thiết lập cuộc gọi. Hình 2-2: Đăng ký từ Client đến SIP proxy, với giao thức SIP đường báo hiệu và thoại riêng .2.4.4 RTP và NATCác cuộc gọi trên Internet với giao thức SIP được chia thành các gói thoại và đượcchuyển qua giao thức RTP (Real Time Transport Protocol).RTP là giao thức không chỉthực hiện chuyển các gói thoại qua Internet mà còn có cả Video nữa .Một cuộc gọithông thường có hai hướng thông tin là nhận và phát, RTP làm việc chuyển các gói dữliệu thoại cũng trên hai hướng .RTP cố gắng đảm bảo dữ liệu sẽ được truyền và nhận trong một chu kỳ thời gian ngắn.Rõ ràng độ trễ trong liên lạc thoại có thể là một vấn đề. Vì vậy RTP ngăn ngừa độ trễnày ở mức tối đa có thể .NAT (Network Address Translator) là một trở ngại lớn trong giao thức RTP .Mạng sửdụng NAT là một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP công cộngđể kết nối với thế giới bên ngoài .NAT dùng để chia sẻ nhiều máy tính trong mạngLAN nội bộ sử dụng được Internet, nhưng cũng chính vì thế mà các máy tính nội bộ - 15 -
  20. 20. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISKgặp khó khăn trong việc thực hiện cuộc gọi VoIP qua Inetrnet.Đó chính là vấn đề trởngại khi truyền thoại qua giao thức RTP. Hình 2-3: Minh họa hoạt động của NATTrong giao thức RTP như chúng ta đã biết đó là thoại được chuyển trên hai đườngkhác nhau là đường phát và đường thu, vấn đề NAT nằm ở chổ tín hiệu thoại từ bênngoài vào bên trong qua giao thức RTP không thực hiện được còn chiều ngược lại thìthực hiện tốt. Hay nói cách khác vấn đề NAT làm cho các cuộc gọi từ Inetrnet đàmthoại vào các máy nội bộ qua NAT thì không nghe được, còn trong trường hợp cáccuộc gọi từ các máy nội bộ ra các máy Inetrnet thì nghe tốt .Vấn đề NAT trên được giải quyết trong Asterisk bằng việc khai báo thông số nat=yestrong cấu hình kênh giao thức SIP.2.4.5 IAX-Inter Asterisk eXchangeIAX là một giao thức được tạo bởi các tác giả của phần mềm Asterisk . Bởi vì sự hạnchế của SIP và H.323.Họ chọn để tạo ra một chuẩn mới cho phép Asterisk server làmđược rất nhiều thứ mà không thể làm được với các chuẩn khác . IAX xuyên qua NATmột cách dễ dàng . Hầu hết các tường lửa (firewall) và các Gateway Internet tại nhàđều sử dụng NAT, cũng như các nhà cung cấp dịch vụ . SIP và H.323 phải làm việcgian khổ để phát triển các chuẩn cho phép chúng đi qua các dạng khác nhau của NAT.Trong khi đó, IAX có thể làm việc qua hầu hết các thiết bị NAT để ra ngoài . - 16 -
  21. 21. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISKIAX có khả năng cấu hình hơn là các giao thức khác khi giao tiếp với Asterisk (trongAsterisk, IAX được hỗ trợ bởi module chan_iax2.so) .Kể từ khi mã nguồn (sourcecode) được biết đến, chúng ta có thể sữa nó nếu muốn, và sau đó đệ trình những thayđổi này để được đánh giá với mục đích là bao gồm trong các version tương lai củaAsterisk .IAX hỗ trợ trung kế cho các cuộc gọi (trunking of call) . Điều này có nghĩa là nhiềucuộc gọi có thể được kết hợp trong một luồng đơn .Thông qua khả năng của trung kế,một số lượng băng thông đáng kể có thể được tiết kiệm bởi không có các overhead củanhiều luồng .IAX kết nối giữa các server hỗ trợ chức năng “ switch command ”, để các cuộc gọiđược định tuyến một cách hiệu quả giữa các Asterisk server.Hiện đã có hai phiên bản của IAX là IAX version 1 (IAX) và IAX version 2 (IAX2) .IAX2 ra đời được kỳ vọng sẽ là một sự thay đổi hoàn hảo cho nguyên bản IAXversion1 .2.5 Asterisk serverAsterisk server là một PC chạy hệ điều hành Linux, yêu cầu cấu hình như ở bảng 2.1và đảm bảo chắc chắn có đủ khe cắm mở rộng để gắn các board liên lạc .Ví dụ DigiumT1, adaptor FXO hoặc FXS .Bảng 2.1: Yêu cầu của cấu hình máy Asterisk server Mục đích Số lượng các kênh Cấu hình tối thiểuThử nghiệm, học tập 1- 5 400-MHz x86, 256 MB RAMHệ thống cho văn phòng 5-10 1-GHz x86, 512MB RAMhoặc nhà riêngHệ thống cho doanh nghiệp Tới 15 3-GHz x86, 1GB RAMnhỏHệ thống thương mại cỡ Hơn 15 Dual CPUs, hay cũng có thể làvừa và lớn nhiều server trong một cấu trúc phân tán.2.6 Thiết bị VoIP2.6.1 VoIP phoneĐây là thiết bị phần cứng kết nối với mạng VoIP giống như máy điện thoại để bànthông thường nhưng dành cho VoIP, cần phải thực hiện cấu hình trước khi sử dụng .Lưu ý một số tính năng khi thực hiện mua thiết bị điện thoại VoIP:+Low bandwidth: hỗ trợ Code nào, G729 là tốt nhất hiện nay .+Web Interface: phải có giao tiếp thiết lập cấu hình thân thiện dễ sử dụng . - 17 -
  22. 22. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK+Audio Interface: có speaker phone hay không .Giá thành của điện thoại VoIP đắt hơn điện thoại thông thường, giá khoảng trên dưới100$/một cái . Hình 2-4: Máy điện thoại VoIP2.6.2 SoftphoneĐiện thoại dễ nhất để thiết lập với Asterisk là Softphone.Là một phần mềm được càitrên máy tính, mô phỏng một điện thoại trên PC, thực hiện tất cả các chức năng giốngnhư thiết bị điện thoại VoIP.Softphone dễ thiết lập và có thể được cấu hình khoảng vàiphút.Cần lưu ý khi sử dụng Softphone là máy tính phải có card âm thanh, headphonevà firewall không bị khóa .Softphone dùng card âm thanh của máy tính để truyền và nhận tín hiệu audio, hoặcmột chọn lựa là “USB phone”, giống như thiết bị thoại gắn vào cổng USB của máytính. Softphone thì không đắt (thường là free) và các “USB phone” thường có giá thấphơn 50$Sử dụng Softphone với hệ thống Asterisk nên dùng Softphone với công nghệ giao thứcmới dành cho Asterisk đó là IAX . - 18 -
  23. 23. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK Hình 2-5: Điện thoại Softphone2.7 Card giao tiếp với PSTNMuốn cho phép các máy điện thoại nội bộ trong hệ thống Asterisk kết nối và thực hiệncuộc gọi với mạng PSTN chúng ta cần phải có thiết bị phần cứng tương thích.Thiết bịphần cứng sử dụng cho hệ thống Asterisk do chính tác giả lập công ty Digium phânphối, đây cũng chính là ý tưởng lớn trong việc phân phối phần mềm Asterisk là hệthống nguồn mở sử dụng miễn phí.Thiết bị phần cứng thường ký hiệu bắt đầu bằng cụm từ TDMxyB trong đó x là sốlượng port FXS, y là số lượng port FXO, B:Bundle(sản phẩm đã được dựng sẵn), giátrị tối đa của x và y là 4 ,ví dụ card TDM22B có nghĩa là có 2 port FXS và 2 portFXO. Hình 2-6 Card TDM22B gồm 4 port: 2 FXS và 2 FXO - 19 -
  24. 24. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK2.8 ATA- Analog Telephone AdaptorsATA là thiết bị kết nối với điện thoại analog thông thường đến mạng VoIP, một thiếtbị ATA gồm có hai loại port: RJ-11 để kết nối với máy điện thoại Analog thôngthường, còn RJ-45 để kết nối với mạng VoIP.ATA thực sự là thiết bị FXS chuyển đổi tín hiệu Analog sang tín hiệu số sử dụng chomạng VoIP, để tận dụng máy điện thoại Analog nên trang bị thiết bị ATA thay vì phảitrang bị điện thoại VoIP.Thiết bị ATA sử dụng với giao thức IAX được Digium phân phối là thiết bị ATA đượcsử dụng rộng rãi với Asterisk có tên gọi là IAXy . Hình 2-7: Thiết bị ATA2.9 CodecsCodecs được hiểu một cách tổng quát là các mô hình toán học được sử dụng để mãhóa (và nén ) tín hiệu thoại dạng Analog sang tín hiệu Digital và ngược lại .Có nhiều thuật toán codec để thực hiện chuyển đổi tín hiệu Analog sang tín hiệuDigital dạng nhị phân (0,1) như G711, GSM, G729…. Ứng với mỗi thuật toán cónhững ưu điểm riêng, đặc biệt là việc tối ưu sử dụng băng thông trên đường truyền.Mục tiêu cuối cùng là các thuật toán đưa ra phải đảm bảo chất lượng cuộc gọi tốt nhấtvà tiết kiệm băng thông nhấtG729 là codec tốt nhất hiện nay trong hệ thống VoIP.Với hệ thống Asterisk để sửdụng thuật toán này cần phải mua bản quyền sử dụng vì đây là codec không miễn phísử dụng .2.10 QoS-Quality of ServiceCác yếu tố ảnh hưởng đến chất lượng dịch vụ-QoS: - 20 -
  25. 25. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK2.10.1 Độ trễThoại là dịch vụ mang tính thời gian thực rất cao vì thế trễ là yếu tố ảnh hưởng rất lớnđến chất lượng dịch vụ .Trễ được định nghĩa là khoảng thời gian tính từ lúc tín hiệuthoại đi từ người nói tới người nghe .Trễ là yếu tố không thể tránh khỏi, độ trễ đối vớimạng điện thoại truyền thống (mạng PSTN) khoảng từ 50 ms đến 70 ms.Theo khuyếnnghị của ITU-T, để đảm bảo chất lượng thoại cho hệ thống VoIP thì độ trễ từ đầu pháttới đầu thu hoặc ngược lại không được vượt quá 150 ms, khi mà độ trễ vượt quá 400ms đến 500 ms thì không thể chấp nhận được .Các nguyên nhân gây ra trễ bao gồm: trễ trên mạng lưới, trễ trên bộ mã hóa giải mã,trễ trong quá trình đóng gói, trễ bộ đệm, trễ xử lý tiếng nói …2.10.2 Độ trượtNguyên nhân gây ra trượt là gói tín hiệu thoại trong quá trình truyền từ nguồn đến đíchsẽ gặp phải những điều kiện khác nhau trên mạng lưới do đó thường đến đích vớinhững khoảng trễ khác nhau. Đây là tính không đồng nhất của trễ .Một nguyên nhânkhác của trượt đối với ứng dụng PC to PC là do việc sử dụng hệ điều hành phi thờigian thực, các gói tin thoại phải đợi hệ điều hành xử lý trong những khoảng thời giankhác nhau khi mà hệ điều hành phải xử lý đối với các ứng dụng khác nhau . - 21 -
  26. 26. http://my.opera.com/asteriskvn - CHƯƠNG II: CÁC KHÁI NIỆM TRONG HỆ THỐNG ASTERISK Hình 2-8: Nguyên nhân xảy ra trượtĐể loại bỏ tính không đồng nhất của trễ, người ta thiết kế các bộ đệm trễ (Jitter Buffer)tại nơi đến của các gói tin, các gói tin đến với các khoảng cách khác nhau về thời gianđược lưu tại bộ đệm rồi ra khỏi bộ đệm với khoảng trễ như nhau . Khi bộ đệm có kíchthướ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 hai nguyên nhân trên còn có một số nguyên nhân nữa ảnh hưởng đến chất lượngthoại như độ mất gói, giới hạn băng thông, tiếng vọng . - 22 -
  27. 27. http://my.opera.com/asteriskvn CHƯƠNG III: CÁC MÔ HÌNH ỨNG DỤNG MÃ NGUỒN MỞ ASTERISK CHƯƠNG III: CÁC MÔ HÌNH ỨNG DỤNG MÃ NGUỒN MỞ ASTERISKAsterisk thực hiện rất nhiều ngữ cảnh ứng dụng khác nhau tùy vào nhu cầu sử dụng,dưới đây là những ngữ cảnh ứng dụng thường được sử dụng trong thực tế triển khai hệthống Asterisk.3.1. Tổng đài VoIP PBX Hình 3-1: IP- PBXĐây là hệ thống chuyển mạch VoIP được xây dựng phục vụ các công ty có nhu cầuthực hiện trên nền tảng mạng nội bộ đã triển khai .Thay vì lắp đặt một hệ thống PBXcho nhu cầu liên lạc nội bộ thì nên lắp đặt hệ thống IP-PBX, điều này sẽ làm giảm chiphí đáng kể. Hệ thống có thể liên lạc với mạng PSTN qua giao tiếp TDM . - 23 -
  28. 28. http://my.opera.com/asteriskvn CHƯƠNG III: CÁC MÔ HÌNH ỨNG DỤNG MÃ NGUỒN MỞ ASTERISK3.2. Kết nối IP- PBX với PBX Hình 3-2: Kết nối IP- PBX với PBXMột ngữ cảnh đặt ra ở đây là hiện tại Công ty đã trang bị hệ thống PBX, bây giờ cầntrang bị thêm để đáp ứng nhu cầu liên lạc trong công ty sao cho với chi phí thấp nhất,giải pháp để thực hiện đó là trang bị hệ thống Asterisk và kết nối với hệ thống PBXđang tồn tại qua luồng E1.Ngoài ra để tăng khả năng liên lạc với mạng PSTN và VoIPkhác, công ty có thể thực hiện kết nối với nhà cung cấp dịch vụ VoIP. - 24 -
  29. 29. http://my.opera.com/asteriskvn CHƯƠNG III: CÁC MÔ HÌNH ỨNG DỤNG MÃ NGUỒN MỞ ASTERISK3.3. Kết nối giữa các server Asterisk Hình 3-3: Kết nối giữa các server AsteriskPhương pháp trên ứng dụng rất hiệu quả cho các công ty nằm rải rác ở các vị trí địa líkhác nhau, nhằm giảm chi phí đường dài .Ví dụ công ty Mẹ có trụ sở đặt tại Mỹ và cácchi nhánh đặt tại Việt Nam với các địa điểm Thành phố Hồ Chí Minh và HàNội.Thông qua mạng WAN của Công ty các cuộc gọi nội bộ giữa các vị trí khác nhausẽ làm giảm chi phí đáng kể . - 25 -
  30. 30. http://my.opera.com/asteriskvn CHƯƠNG III: CÁC MÔ HÌNH ỨNG DỤNG MÃ NGUỒN MỞ ASTERISK3.4. Các ứng dụng IVR, VoiceMail, Điện thoại hội nghị Hình 3-4: Triển khai server IVR, VoiceMail, Hội ThoạiỨng dụng thực hiện các server kết nối với hệ thống PSTN hay tổng đài PBX để triểnkhai các ứng dụng như tương tác thoại IVR .Một ví dụ cho ứng dụng tương tác thoạiđó là cho biết kết quả sổ sổ hay kiểm tra cước cuộc gọi giống dịch vụ 19001260.Ứngdụng VoiceMail thu nhận những tin nhắn thoại từ phía thuê bao giống như chức nănghộp thư thoại của Viễn thông thành phố triển khai .Còn chức năng điện thoại hội nghịthiết lập cho nhiều máy điện thoại cùng nói chuyện với nhau . - 26 -
  31. 31. http://my.opera.com/asteriskvn CHƯƠNG III: CÁC MÔ HÌNH ỨNG DỤNG MÃ NGUỒN MỞ ASTERISK3.5. Chức năng phân phối cuộc gọi tự động Hình 3-5: Phân phối cuộc gọi với hàng đợiACD (Automatic Call Distribution): phân phối cuộc gọi tự động .Đây là chức năng ứng dụng cho nhu cầu chăm sóc khách hàng hay nhận phản hồi từphía khách hàng.Công ty có khả năng tiếp nhận cùng một lúc 10 cuộc gọi như thế cuộc gọi thứ 11 gọiđến thì hệ thống giải quyết như thế nào ? Bình thường thì sẽ nghe tín hiệu bận nhưngvới chức năng phân phối cuộc gọi sẽ đưa thuê bao đó vào hàng đợi để chờ trả lời,trong khi chờ trả lời cuộc gọi, thuê bao có thể nghe những bài hát hay do Asteriskcung cấp, trong lúc này nếu một trong mười số điện thoại trở về trạng thái rỗi thì cuộcgọi đang chờ sẽ được trả lời, giống như chức năng của dịch vụ 1080 hay 116 của Viễnthông thành phố . - 27 -
  32. 32. http://my.opera.com/asteriskvn - CHƯƠNG IV: CÁC DỊCH VỤ CƠ BẢN CỦA ASTERISK CHƯƠNG IV: CÁC DỊCH VỤ CƠ BẢN CỦA ASTERISKAsterisk có một số tính năng cơ bản đã được giới thiệu ở chương một. Trong phần nàysẽ giới thiệu một số tính năng với các ứng dụng cụ thể để hiểu rõ hơn về các tính năngcủa hệ thống Asterisk .4.1. Conference call (Đàm thoại nhiều người)Nếu chúng ta cần gọi điện tới nhiều người nhưng chỉ để thông báo cho họ cùng mộtnội dung .Thật là mất thời gian và bất tiện khi phải lần lượt bấm số của từng người đểgọi.Chức năng Conference call, sẽ giúp chúng ta giải quyết điều này .Các cuộc đàm thoại nhiều người được thiết lập cho phép người nhận cuộc gọi tham giađàm thoại xuyên suốt cuộc gọi đó hoặc có thể được thiết lập để người nhận cuộc gọichỉ được phép nghe mà không được nói .Chúng ta có thể cho phép người gọi, gọi tới những người khác và thêm họ vào thamdự cuộc đàm thoại .4.2. Voicemail (hộp thư thoại)Đây là tính năng cho phép hệ thống nhận các thông điệp tin nhắn thoại, mỗi máy điệnthoại được khai báo trong hệ thống Asterisk cho phép khai báo thêm chức năng hộpthư thoại.Mỗi khi số điện thoại bận thì hệ thống Astreisk định hướng trực tiếp các cuộc gọi đếnhộp thư thoại tương ứng đã khai báo trước.Voicemail cung cấp cho người sử dụng nhiều tính năng lựa chọn như: password xácnhận khi truy cập vào hộp thư thoại, gửi mail báo khi có thông điệp mới. - Voicemail transfer: Tính năng cho phép bạn chuyển cuộc gọi vào hộp thư thoại khi bạn không rảnh để nghe. -Voicemail dial: Nếu bạn không muốn điện thoại của người nhận đổ chuông (tránh làm phiền không cần thiết), bạn có thể nói trực tiếp vào Voicemail của người nhận .Người nhận sau đó sẽ nghe lại thông tin của bạn từ Voicemail .4.3. Call Forwarding (chuyển cuộc gọi)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áccuộ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 chophép chuyển một cuộc gọi đến một hay nhiều số máy điện thoại được định trước . - 28 -
  33. 33. http://my.opera.com/asteriskvn - CHƯƠNG IV: CÁC DỊCH VỤ CƠ BẢN CỦA ASTERISKMộ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ộcgọ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 địnhtrướ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 đếncó 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 đếnmộ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ặpphòng kỷ thuật …” sau đó tùy vào sự tương tác của thuê bao gọi đến, hệ thốngAstreisk 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 DateVà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ứcnă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ụngmá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épgọ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ànlà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ộcgọi .4.8.Call ParkingBạ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ệpkhá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đang nói chuyện điện thoại, hoặc vừa bước ra ngoài … ) Và bạn không muốn cầm điện - 29 -
  34. 34. http://my.opera.com/asteriskvn - CHƯƠNG IV: CÁC DỊCH VỤ CƠ BẢN CỦA ASTERISKthoạ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ạitrung gian) . Đồng nghiệp của bạn sau đó sẽ pickup-nhận, cuộc gọi từ Park place .4.9.Privacy ManagerKhi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại của côngty 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ớibạ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 RecordsAsterisk 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 tinnà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ứuhiệ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ốngAsterisk.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 RecordingAsterisk đưa đến cho chúng ta khả năng để ghi âm các cuộc gọi. Tính năng này đượcsử 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ủakhá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.BlacklistBlacklist 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 trongtình trạng hay bị quấy rối điện thoại)4.13.User permission to/international callChú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ínhnăng còn lại, chúng ta có thể tham khảo ở website www.asterisk.org. - 30 -
  35. 35. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBX CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBXTrong 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ểucá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ácgói phần mềm phụ thuộc phải có trong hệ điều hành Linux trước khi cài đặt Asterisklà:- 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.gzTiế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 installSau 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ớiphiê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.orgDownload 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) - 31 -
  36. 36. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBXViệc download nhanh hay chậm tùy vào tốc độ đường truyền internet, sau khidownload 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.gzChú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” đượcbiê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óilibpri, sau cùng là gói asterisk.5.1.1. Cài đặt ZaptelGó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 installCá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ụngphầ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à Asteriskphụ 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 configLệnh này tạo ra một script chèn module Zaptel vào kernel và chạy ztconfig khi bootmáy tính. - 32 -
  37. 37. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBX5.1.2. Cài đặt libpriKế đế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 installQuá 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ắclệ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úngta cũng nên cài đặt nó.5.1.3. Cài đặt AsteriskBâ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 installSau 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ẫubằ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 configLệ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ìnhmẫu ở thư mục /etc/asteriskCá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ị Analoghay viết tắt là ADSI (Analog Display Services Interface).adtranvofr.conf: tập tin này chứa cấu hình cho việc sử dụng Voice over Frame Relay. - 33 -
  38. 38. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBXagents.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épchú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ôngthay đổ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 thitừ đ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ầuhế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 choAsterisk 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ệuODBC để 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ệuPostgreSQL để 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ộtsố 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 độngcủ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âuvề 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ồnmở 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ạiindications.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ủahệ thống điện thoại như: nhịp chuông và các tone, cho phép chúng ta cung cấp âm - 34 -
  39. 39. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBXthanh để 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 tacũ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ácmodem lựa chọn với Astersik. Chú ý rằng không nhiều các modem được hổ trợ bởiAsterisk, 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) chongườ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úcbằ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ìnhhệ 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ậpcá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ềutrong các điện thoại của Cisco. - 35 -
  40. 40. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBXtelecordia-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ạiZapata.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ứngcủa Digium cho phép chúng ta liên lạc với PSTN .5.1.4. Cài đặt Asterisk-addonsTa dùng các lệnh sau để cài đặt Asterisk-Addons:#cd /usr/src/asterisk-addons-1.x.x#./configure#make#make installSau 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 Asteriskvới các tham số mặc định. Có nhiều cách để khởi động Asterisk, nhưng cách đơn giảnnhấ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>exitCấ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ácnhau 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 tincấ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đặt và đượ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ậptin zaptel.conf được đặt tại thư mục /etc/ .Phần cứng Zaptel đầu tiên được phát triểnbởi Jim Dixon thuộc nhóm điện thoại Zapata( Zapata Telephony Group) để giao tiếpgiữ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ả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 - 36 -
  41. 41. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBXnạp module thì phải biết chắc module đó không ảnh hưởng đến hoạt động củaAsterisk, nếu không lỗi sẽ xuất hiện khi khởi động ./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 chứađựng thông tin cơ sở dữ liệu của Astersik, 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, các script này có thể giao tiếp với Asterisk qua các ứng dụng AGI(Asterisk Gate Interface) khác nhau được cài đặt sẵn.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/ Thư mục firmware/ chứa một số firmware cho các thiết bị khác nhau tương thích với Asterisk.Nó hiện tại chỉ chứa thư mục con /iax chứa các firmware cho thiết 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ợ các ảnh đồ họa thì sử dụng thư mục này. Nhưng hiện tại các kênh thông tin thì hầu như không hỗ trợ truyền ảnh 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 một hệ thống khóa 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 khóa 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 khóa private thì không bao giờ được phân phát đến public, chúng ta chỉ công bố khóa public đến với server cần kết nối, sau đó sẽ xác minh với khóa private này.Cả hai khóa public và private được lưu với đuôi .pub và .key đặt tại thư mục keys/. mohmp3/ Khi chúng ta cấu hình Asterisk với tính năng Music on Hold, tính năng này hoạt động sẽ 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/ 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. - 37 -
  42. 42. http://my.opera.com/asteriskvn - CHƯƠNG V: THIẾT KẾ CẤU HÌNH IP-PBX/var/spool/asterisk/Thư mục /var/spool/asterisk/ chứa nhiều thư mục con bao gồm outgoing/, qcall/,tmp/,voicemail/ . Astersik luôn kiểm tra thư mục outgoing và qcall vì đây là hai thư mụcchứ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épchúng ta tạo ra một cuộc gọi đơn giản bằng cách sao chép hoặc di chuyển tập tin cócấu trúc qui định vào thư mục outgoing/.Thư mục tmp/ sử dụng để lưu trữ những thông tin tạm, để luôn đảm bảo không xảy ratì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áctrên thư mục tmp/ trước khi lưu vào tập tin đích .Tất 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ácvoicemail đều được chứa trong thư mục voicemail/. Một hộp thư thoại được tạo ra ứngvới một máy nội bộ trong tập tin voicemail.conf, sẽ được tạo ra một thư mục contương ứng cho máy nội bộ đó tại thư mục voicemail/./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./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ể tùy biến các loại thông tin được lưu trong các tập tin logkhác nhau qua tập tin cấu hình logger.conf đặt tại thư mục /etc/astersik/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ôngtin mặc định về chi tiết thông tin cuộc gọi được lưu trữ trong tập tin Master.csv,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ếtcuộc gọi cho máy đó.5.2. Cấu hình hệ thốngSau khi hoàn tất phần cài đặt 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 triển khai hệ thống đến với từngứng dụng cụ thể.5.2.1. Cấu hình giao tiếp với PSTNĐể kết nối với mạng PSTN chúng ta cần phải có một card TDM với cổng FXO và mộtđường dây điện thoại hoặc có thể là một tổng đài nội bộ PBX .Có nhiều nhà sản xuấtphần cứng khác nhau, nhưng trong phạm vi luận văn sẽ trình bày cấu hình mẫu dùngcard zapata TDM04B của Digium. (Thông tin về card, có thể tham khảo tạihttp://www.digium.com ).Trước khi lắp đặt card TDM04B hãy tắt nguồn máy tính và kiểm tra khe cắm PCI cótương thích để gắn vào hay không, chủ yếu là kiểm tra sự tương thích về mặt vật lý .Sau khi hoàn tất hãy bật máy tính trở lại và chuẩn bị cấu hình cho card hoạt động . - 38 -

×