Chương 1: Tổng quan. Tác giả trình bày mục tiêu, đối tượng cũng như phương pháp thực hiện. Ngoài ra tác giả cũng trình bày vấn đề mà luận văn nghiên cứu. Chương 2: Tổng quan về Asterisk, VoIP và bảo mật.
Trong chương này tác giả trình bày cơ sở lý thuyết về Asterisk, ưu nhược điểm của VoIP, các giao thức giao tiếp hệ thống, phương án bảo mật và các phần mềm quản trị hệ thống. 2 do an Chương 3: Thiết kế và xây dựng hệ thống: thiết kế, vẽ mô hình hệ thống và cài đặt tổng đài VoIP trên nền tảng Asterisk Chương 4: Kết quả: chương này trình bày kết quả đã được so với mục tiêu đề ra. Chương 5: Kết luận và hướng phát triển. Đưa ra những vấn đề mà luận văn đã làm được và chưa làm được, định hướng phát triển.
3 do an Chương 2 Tổng quan về Asterisk, VoIP và bảo mật 2.1 Tổng quan về Asterisk 2.1 Giới thiệu Asterisk là một phần mềm tự do nguồn mở, ban đầu do Mark Spencer viết, với mục đích tạo nên một hệ thống tổng đài cá nhân (PBX - private branch exchange) kết nối đến hầu hết các mạng có sẵn như IP, PSTN, và sử dụng các chuẩn SIP, MGCP, H323. Asterisk còn có giao thức riêng là IAX (Inter-Asterisk eXchange). Như các PBX khác, Asterisk cho phép các máy điện thoại gắn kết với nhau qua phần mềm này thực hiện các cuộc gọi với nhau, và cho phép kết nối với các dịch vụ điện thoại khác, trong đó có mạng điện thoại chuyển mạch công cộng (PSTN). Các tính năng và ứng dụng mà Asterisk đem đến cho người sử dụng giống tính năng và ứng dụng của hệ thống tổng đài PBX và cung cấp nhiều tính năng mà tổng đài PBX không có, như sự kết hợp giữa chuyển mạch VOIP và chuyển mạch TDM, đó là khả năng mở rộng đáp ứng nhu cầu cho từng ứng dụng… Asterisk 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 Linux thành một hệ thống điện thoại doanh nghiệp mạnh mẽ hoạt động trên nền IP.
Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại và là một hệ thống xử lý cuộc gọi đầy đủ chức năng. Asterisk còn là một nền tảng tích hợp điện thoại vi tính hoá kiến trúc mở. Asterisk miễn phí theo giấy phép GPL. Tên Asterisk có nguồn gốc từ ký hiệu * được dùng trong Unix và Linux, thể hiện cho tùy chọn bất kỳ.1: Sơ đồ giao tiếp tổng quát 4 do an Hiện nay, Asterisk trên đà phát triển nhanh được rất nhiều doanh nghiệp triển khai ứng dụ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ác cô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òng ban 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ực hiện các cuộc gọi 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ạng PSTN hoặc mạng VOIP (như voice777) 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 và hệ thống Outlook làm cho khả năng ứng dụng của Asterisk linh hoạt hơn đáp ứng nhu cầu cần thiết cho người sử dụng điện thoại.2 Cấu trúc hệ thống Asterisk Asterisk là thiết bị trung gian dùng để liên kết công nghệ điện thoại và Internet. Asterisk được ứng dụng để kết nối điện thoại, đường dây điện thoại hoặc gói thoại đến một kết nối dịch vụ khác.
Asterisk có độ tin cậy cao và dễ dàng triển khai cho các hệ thống ( từ hệ thống nhỏ đến các hệ thống lớn), Asterisk hỗ trợ ở mật độ cao và yêu cầu sự phức tạp. [3] Asterisk hỗ trợ cho nhiều loại điện thoại có công nghệ khác nhau. Các công nghệ điện thoại: VoIP, SIP, H.323, IAX và BGCP (dùng cho điện thoại đi quốc tế). Asterisk có thể kết nối với hầu hết loại điện thoại truyền thống mạng ISDN qua luồng T1 và E1.
Các ứng dụng cho điện thoại: chuyển mạch cuộc gọi, cuộc gọi hội nghị, voicemail, chuyển hướng cuộc gọi, … Một Asterisk hệ thống được kết nối tới một mạng vùng nội hạt sẽ điều khiển các điện thoại trong mạng kết nối đến mạng khác, các điện thoại trong mạng có thể thực hiện cuộc gọi và kết nối Internet thông qua Asterisk hệ thống. Cổng FXS dùng để Asterisk hệ thống điều khiển các điện thoại tương tự trong nội hat. Cổng FXO và kênh T được dùng để kết nối giữa Asterisk hệ thống với mạng PSTN. Thuê bao trong mạng PSTN thực hiện cuộc gọi đến các thuê bao được quản lý bởi Asterisk hệ thống, các thuê bao của Asterisk cũng có thể thực hiện cuộc gọi đến thuê bao trong mạng PSTN.
[3] 5 do an Hình 2.2: Sơ đồ lõi Asterisk Một số chức năng của Asterisk trong hệ thống chuyển mạch cuộc gọi: Khi khởi động hệ thống Asterisk thì Dynamic Module Loader thực hiện nạp driver của thiết bị, nạp các kênh giao tiếp, định dạng file, thu thập thông tin đầu cuối, 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. Hệ thống Asterisk PBX Switching Core chuyển sang trạng thái sẵn sàng thực hiện chuyển mạch cuộc gọi, các cuộc gọi được thực hiện tuỳ vào kế hoạch quay số (Dialplan). Chức năng Application Launchar để rung chuông thuê bao, kết nối với hộp thư thoại hoặc gọi ra đường trung kế… Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng cao như: lập thời biểu và quản lý các cuộc gọi đến – đi ra ngoài. Đây là các chức năng được phá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 or IAX. Mọi cuộc gọi vào và ra ngoài đều được thực hiện thông qua các giao tiếp trên. Vì thế hệ thống Asterisk phải đảm trách nhiệm vụ liên kết các giao tiếp khác nhau đó để xử lý cuộc gọi.
6 do an Chức năng của các giao tiếp chương trình ứng dụng (API: Application Program Interface): Codec translator API: các hàm đảm nhiệm thực thi và giải nén các chuẩn khác nhau như: GMS, G723, Mu-Law… Asterisk Channel API : Giao tiếp với các kênh liên lạc khác nhau, đây là đầu mối cho việ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, ISDN, H323, Zaptel… Asterisk file format API : Asterisk tương thích với việc xử lý các loại file có định dạng khác nhau như: Mp3, WAV, GSM, AU… Asterisk Aplication API : Bao gồm tất cả các ứng dụng được thực thi trong hệ thống Asterisk như: cuộc gọi hội nghị, VoiceMail, CallerID… 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ột số ngôn ngữ như PHP hay Perl.3 Các tính năng cơ bản của Asterisk Là một hệ thống mã nguồn mở, Asterisk cho thấy khả năng tích hợp và vượt trội với các tính năng : Transfer(chuyển máy) Thực hiện chuyển máy của điện thoại viên, nếu điện thoại đích đang busy thì cuộc gọi sẽ được trả về cho điện thoại viên. 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ện thoại được khai báo trong hệ thống Asterisk cho phép khai báo thêm chức năng hộp thư thoại. Mỗi khi số điện thoại bận hay ngoài “vùng phủ sóng” thì hệ thống Asterisk định hướng trực tiếp các cuộc gọi đến hộ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ư : mật khẩu xác nhậ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.
Queue(hàng đợi) Chức năng cho phép cuộc gọi vào vượt quá số lượng agent đang nghe trên hệ thống, các cuộc gọi dư ra trên hệ thống sẽ nằm vào hàng đợi và tới lượt khi agent khác đang rảnh. Music on Hold(nhạc chờ) Cuộc gọi đến sẽ play nhạc chờ trong lúc chờ đợi điện thoại viên answer cuộc gọi hoặc trong lúc chờ để chuyển máy. 7 do an Call Forwarding(chuyển cuộc gọi) Khi không ở nhà, hoặc đi công tác mà người sử dụng không muốn bỏ lỡ tất cả các cuộc gọi đến thì hãy nghĩ ngay đến tính năng chuyển cuộc gọi. Đây là tính năng thường được sử dụng trong hệ thống Asterisk.
Chức năng cho phé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. Một số trường hợp cần chuyển cuộc gọi như : Chuyển cuộc gọi khi bận,chuyển cuộc gọi khi không trả lời, chuyển cuộc gọi tức thời, chuyển cuộc gọi với thời gian định trước. Caller ID (hiển thị số gọi) Chức năng này rất hữu dụng khi một ai đó gọi đến và ta muốn biết chính xác là gọi từ đâu và trong một số trường hợp biết chắc họ là ai. Ngoài ra Caller ID còn là chức năng cho phép chúng ta xác nhận số thuê bao gọi đến có nghĩa là dựa vào caller ID chúng ta có tiếp nhận hay không tiếp nhận cuộc gọi từ phía hệ thống Asterisk.
Ngăn một số cuộc gọi ngoài ý muốn. Automated attendant (chức năng IVR) Chức năng tương tác thoại có rất nhiều ứng dụng trong thực tế, khi gọi điện thoại đến một cơ quan hay xí nghiệp thuê bao thường nghe các thông điệp .ví dụ như “Xin chào mừng bạn đã gọi đến tổng đài của lớp CN08B hãy nhấn phím 1 để gặp lớp trưởng, phím 2 gặp lớp phó…” sau đó tuỳ vào sự tương tác của thuê bao gọi đến, hệ thống Asteisk 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á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. Time and Date Vào từng thời gian cụ thể cuộc gọi sẽ định hướng đến một số điện thoại hay một chức năng cụ thể khác, ví dụ trong công ty giám đốc muốn chỉ cho phép nhân viên sử dụng máy điện thoại trong giờ hành chánh còn ngoài giờ thì sẽ hạn chế hay không cho phép gọi ra bên ngoài.
Call Parking Đây là chức năng chuyển cuộc gọi có quản lý.