Chương 1: TỔNG QUAN 1.1 Giới thiệu VoIP - Voice over Internet Protocol - công nghệ cho phép truyền thoại sử dụng giao thức IP trên cơ sở hạ tầng của mạng Internet. VoIP sử dụng công nghệ chuyển mạch gói thay thế cho các mạng PSTN kiểu cũ sử dụng chuyển mạch kênh, các gói tin thoại được truyền trên mạng Internet do đó làm giảm chi phí phát sinh. Tổng đài điện thoại nội bộ dùng giao thức Internet - Internet Protocol Private Branch eXchange (IP-PBX) được xem như là một mạng điện thoại riêng sử dụng giao thức Internet để thực hiện các cuộc gọi nội bộ hoặc gọi ra bên ngoài. Tổng đài IP-PBX chia làm 02 loại: hệ thống tổng đài được đóng gói với cấu hình phần cứng có sẵn và thường có bản quyền kèm theo.
Các loại tổng đài này do các hãng lớn cung cấp như Siemens, Alcatel-Lucent, Panasonic, Ericsson, LG,. Loại phổ biến thứ hai theo xu hướng công nghệ mã nguồn mở vận hành dựa trên các tổng đài IP dạng chuyển mạch mềm (softswitch). Khi đó, phần mềm được cài đặt lên Server/PC, sử dụng các card Voice Gateway để kết nối với mạng PSTN thông qua các port FXO/FXS.đầu cuối sử dụng là các điện thoại Analog/IP, phần mềm softphone (phần mềm gọi điện thoại qua máy tính). Internet PSTN Gatew Hình 1.1: Mô hình tổng quát hệ thống IP – PBX.
3 Với lợi thế có chi phí thấp và sử dụng công nghệ mã nguồn mở nên có thể điều chỉnh tùy theo nhu cầu sử dụng, các tổng đài IP chuyển mạch mềm đang được sử dụng rất rộng rãi, trong đó, hệ thống tổng đài chuyển mạch mềm Asterisk được dùng khá phổ biến. Hiện nay, Asterisk trên đà phát triển rất nhanh và đượ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, 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.2 Khó khăn trong việc mở rộng các tính năng của hệ thống VOIP Đối với các hệ thống tổng đài chuyển mạch cứng: đa số là sản phẩm của các hãng tên tuổi như Panasonic, Siemens… được đóng gói với cấu hình phần cứng có sẵn và thường có bản quyền kèm theo. Do đó, việc mở rộng, tùy biến các chức năng tùy thuộc vào nhu cầu sử dụng gần như là không thể, cùng với đó là giá thành của các hệ thống này thường khá cao.2: Tổng đài Panasonic KX – TDE 100.
Đối với hệ thống tổng đài chuyển mạch mềm: nổi bật nhất là Asterisk, sử dụng máy tính (PC, Server) cài đặt phần mềm thực hiện chức năng tổng đài điện thoại. Các hệ thống này được triển khai trên nền tảng phần mềm nguồn mở nên tiềm năng 4 phát triển, mở rộng các tính năng là rất lớn. Hiện nay, có khá nhiều module với những chức năng khác nhau được phát triển dành riêng cho việc tích hợp vào Asterisk. Tuy nhiên, phần lớn các module này không phù hợp với nhu cầu thực tế của các cơ quan, doanh nghiệp ở nước ta nên chưa được ứng dụng rộng rãi.
Tình trạng này dễ nhận thấy nhất trong lĩnh vực quản lý của các doanh nghiệp kinh doanh hệ thống khách sạn, nơi các hệ thống tổng đài điện thoại VoIP được triển khai rất phổ biến. Từ thực tế đó, giải pháp hiện nay của các cơ quan, doanh nghiệp là phát triển một hệ thống quản lý riêng hoạt động trên hạ tầng mạng LAN song song với hệ thống tổng đài điện thoại VoIP. Hạn chế của giải pháp này là chi phí triển khai khá lớn và không tận dụng hết được tài nguyên của hệ thống VoIP. Thêm vào đó, đối với các doanh nghiệp, khách sạn vừa và nhỏ, việc đầu tư một hệ thống tổng đài chuyển mạch cứng hoặc một máy server/PC để triển khai hệ thống tổng đài chuyển mạch mềm là khá lãng phí dẫn đến việc đầu tư thêm phần mềm dành riêng cho việc quản lý gần như là không thể.3 Một số công trình nghiên cứu có liên quan Một số các nghiên cứu có liên quan đến hệ thống tổng đài chuyển mạch mềm Asterisk như [1], tác giả đã nêu lên những khó khăn khi thực hiện nghiên cứu về lý thuyết và triển khai thực nghiệm hệ thống tổng đài chuyển mạch Asterisk và tiến hành kết nối client – server với đầy đủ các dịch vụ, tính năng.
[2], tác giả đã nghiên cứu triển khai việc tích hợp hệ thống Asterisk vào hệ thống chuyển mạch cứng sẵn có, trong đó tập trung nghiên cứu khả năng tương tác lẫn nhau giữa hai hệ thống này, đây là một hướng đi rất đáng quan tâm trong việc tận dụng các hệ thống chuyển mạch cứng hiện có khi chúng ta muốn triển khai hệ thống chuyển mạch mềm mới để tiết kiệm chi phí vận hành. [3], bài báo trình bày việc thiết kế và thực hiện hệ thống tổng đài Asterisk cho phép sử dụng điện thoại hoặc laptop kết nối vào mạng không dây để thực hiện cuộc gọi, mục tiêu của bài báo là cấu hình hệ thống để đạt được chất lượng dịch vụ mạng tối ưu, đảm bảo chất lượng cuộc gọi. Có thể nói nghiên cứu này 5 rất cần thiết khi hiện nay mạng không dây được sử dụng rất rộng rãi và một khi áp dụng thành công vào thực tế sẽ mang đến sự tiện lợi rất lớn cho người dùng. Phần lớn các nghiên cứu đều nhấn mạnh vào khả năng tùy biến, phát triển mở rộng của hệ thống tổng đài chuyển mạch mềm nguồn mở Asterisk để đáp ứng tùy theo nhu cầu sử dụng cụ thể.
Thêm vào đó, các nghiên cứu này đều triển khai Asterisk trên các máy chủ chuyên dụng, sẽ gây lãng phí khi cơ quan, doanh nghiệp có quy mô nhỏ không tận dụng hết khả năng hoạt động của các máy chủ. Từ những lý do trên, luận văn này sẽ tập trung nghiên cứu vào việc triển khai hệ thống VoIP mã nguồn mở Asterisk trên board Raspberry Pi để tiết kiệm chi phí thiết bị phần cứng ban đầu cũng như chi phí vận hành, đồng thời phát triển thêm một module tích hợp để thuận tiện hơn cho việc quản lý của các khách sạn, doanh nghiệp. 6 Chương 2: GIẢI PHÁP XÂY DỰNG HỆ THỐNG VOIP VÀ PHÁT TRIỂN MODULE QUẢN LÝ TRÊN BOARD RASPBERRY PI 2.1 Tổng quan board Raspberry Pi Raspberry Pi thực chất là một chiếc máy tính giá rẻ (khoảng 45$ tại Việt Nam) có kích thước nhỏ gọn và cấu hình đủ để sử dụng các ứng dụng cơ bản như một chiếc máy tính cá nhân thông thường với CPU Broadcom ARM 1176JZF - S 700 MHz, RAM 512 MB, hỗ trợ thẻ nhớ SDHC Class 10. Raspberry Pi có các cổng kết nối cụ thể như sau: Hình 2.1: Sơ đồ các cổng kết nối board Raspberry Pi.
7 Số ký hiệu Loại kết nối Chức năng 1 Thẻ nhớ SD - Chứa hệ điều hành và lưu trữ dữ liệu. - Kiểm tra tính tương thích giữa Raspberry Pi với các thiết bị thẻ nhớ SD trên trang web: http://elinux.org/RPi_SD_cards 2a Cổng HDMI Được sử dụng để hiển thị hình ảnh từ Raspberry Pi thông qua kết nối HDMI. 2b Cổng RCA Được sử dụng để hiển thị hình ảnh Raspberry Pi thông qua kết nối RCA. 3 USB Giao tiếp với các thiết bị ngoại vi như chuột, bàn phím… 4 Cổng RJ45 Kết nối Raspberry Pi với các thiết bị mạng.
5 Nguồn Raspberry Pi yêu cầu bộ nguồn với hiệu điện thế 5V và cường độ dòng điện 700 - 1200 mA đối với board phiên bản B. 6 Cổng audio - Nếu bạn sử dụng HDMI thì bạn sẽ nhận được âm thanh kỹ thuật số. - Nếu bạn sử dụng chuẩn RCA thì bạn sẽ nhận được âm thanh chuẩn stereo. Raspberry Pi được tối ưu hóa để cài đặt hệ điều hành Linux, cùng với đặc điểm nhỏ gọn, dễ triển khai, tiết kiệm năng lượng (công suất khoảng 2 Watts) nên hiện nay có rất nhiều giải pháp sử dụng board Raspberry Pi trong nhiều lĩnh vực như: điều khiển thiết bị đo nhiệt độ và độ ẩm từ cảm biến, điều khiển camera giám sát, điều khiển máy cắt CNC…Trong đó, một trong những ứng dụng nổi bật của Raspberry Pi là hỗ trợ việc triển khai hệ thống tổng đài điện thoại VoIP.2 Các giải pháp triển khai VoIP trên board Raspberry Pi Có khá nhiều giải pháp triển khai VoIP mã nguồn mở trên các hệ thống server hoặc PC có cấu hình cao như AsteriskNOW, FreePBX, Elastix…Các giải pháp này được xây dựng với đầy đủ các tính năng và tích hợp đầy đủ các dịch vụ.
Tuy nhiên, số lượng các giải pháp triển khai VoIP trên board với cấu hình khiêm tốn hơn lại khá hạn chế, hầu hết được tích hợp các dịch vụ cơ bản, cần thiết nhất cho nhu cầu của các cơ quan, doanh nghiệp. Nổi bật trong số đó là XiVO và uElastix.1 XiVO XiVO là một sản phẩm được Avencall phát triển, XiVO có tốc độ xử lý khá nhanh cùng với đó là giao diện người dùng trực quan và thân thiện.2: Giao diện XiVO. Kiến trúc của XiVO rất phức tạp, các thành phần liên kết với nhau chặt chẽ thông qua một cơ sở dữ liệu dùng chung. Trong đó, hệ thống VoIP mã nguồn mở Asterisk được xem như một dịch vụ tích hợp vào XiVO thông qua các kết nối AGI (Asterisk Gateway Interface) và AMI (Asterisk Manager Interface).3: Kiến trúc của XiVO.
Như vậy có thể thấy, VoIP chỉ là dịch vụ tích hợp của XiVO, không phải là thành phần cốt lõi của cả hệ thống. Thêm vào đó, tài liệu hỗ trợ cho XiVO khá ít, cộng đồng sử dụng XiVO tương đối nhỏ, phần lớn sử dụng tiếng Pháp nên việc tiếp cận thông tin cần thiết cho việc triển khai và vận hành rất khó khăn. Trang Web dự án phát triển XiVO cho Raspberry Pi đã không còn cập nhật thông tin mới từ ngày 28/10/2012.4: Trang chủ dự án phát triển của Xivo cho Raspberry Pi.2 uElastix uElastix là một sản phẩm mã nguồn mở của Palosanto Solutions được phát triển dành riêng cho board Raspberry Pi và board pico - SAM9G45, uElastix có tốc độ xử lý khá nhanh và tích hợp nhiều tính năng vào hệ thống tổng đài.5 thể hiện kiến trúc và các dịch vụ cơ bản của uElastix.5: Kiến trúc của uElastix. 11 Các tính năng cơ bản của uElastix bao gồm: - Thoại trên nền IP - Voicemail - Fax - to – Email - Hỗ trợ Softphones - Cấu hình các chức năng thông qua giao diện web - Ghi âm cuộc gọi - Mail server… uElastix được xây dựng với kiến trúc gồm lõi là phần mềm tổng đài VoIP nguồn mở Asterisk, các tính năng của hệ thống là các dịch vụ được phát triển và tích hợp dựa trên nền tảng Asterisk.