Tổng quan nghiên cứu

Hệ thống tổng đài điện thoại nội bộ qua giao thức mạng Internet (IP-PBX) đang từng bước thay thế hoàn toàn mạng điện thoại chuyển mạch kênh truyền thống (PSTN) nhờ chất lượng truyền thông vượt trội và khả năng quản trị tập trung. Tuy nhiên, các giải pháp tổng đài chuyển mạch cứng thương mại từ các hãng viễn thông lớn như Panasonic hay Siemens thường có giá thành dao động từ khoảng 1.500 USD đến hơn 5.000 USD (tương đương 35 đến 110 triệu đồng). Chi phí đầu tư ban đầu này chiếm tới 25% đến 40% ngân sách hạ tầng công nghệ thông tin, tạo ra rào cản tài chính lớn đối với hơn 85% doanh nghiệp vừa và nhỏ (SMEs) cũng như các cơ sở lưu trú quy mô nhỏ tại Việt Nam. Bên cạnh đó, việc vận hành một máy chủ PC/Server chuyên dụng để chạy tổng đài phần mềm tiêu tốn công suất từ 200W đến 450W, làm gia tăng đáng kể chi phí điện năng hàng tháng.

Vấn đề nghiên cứu trọng tâm là tính chất khép kín của các tổng đài phần cứng thương mại khiến việc tùy biến, mở rộng tính năng theo nghiệp vụ riêng biệt gần như không thể thực hiện. Thực trạng tại nhiều đơn vị cho thấy họ phải duy trì song song hai hệ thống mạng riêng biệt: một mạng thoại nội bộ và một phần mềm quản lý chạy trên mạng LAN, gây lãng phí tài nguyên và khó khăn trong khâu đồng bộ dữ liệu. Mục tiêu cụ thể của đề tài là thiết kế, xây dựng hoàn chỉnh hệ thống VoIP mã nguồn mở Asterisk trên nền tảng máy tính nhúng Raspberry Pi Model B có giá thành chỉ khoảng 45 USD, đồng thời nghiên cứu phát triển module quản lý khách sạn tích hợp trực tiếp vào giao diện điều khiển của uElastix.

Nghiên cứu được triển khai trong phạm vi thời gian từ tháng 02/2014 đến tháng 11/2014 tại Trường Đại học Bách Khoa – Đại học Quốc gia TP. Hồ Chí Minh. Ý nghĩa thực tiễn của đề tài được lượng hóa rõ nét qua các chỉ số: cắt giảm từ 70% đến 90% chi phí đầu tư thiết bị ban đầu, giảm hơn 95% mức tiêu thụ điện năng (từ 250W của máy chủ thông thường xuống chỉ còn khoảng 2W trên bo mạch nhúng), đồng thời thống nhất hạ tầng quản lý dữ liệu và liên lạc viễn thông vào một thiết bị phần cứng nhỏ gọn duy nhất.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Khung lý thuyết của đề tài được xây dựng dựa trên sự kết hợp giữa mô hình kiến trúc chuyển mạch mềm Softswitch và mô hình giao tiếp cổng trung gian Asterisk Gateway Interface (AGI).

Mô hình Softswitch vận hành theo nguyên lý tách rời phần điều khiển cuộc gọi ra khỏi phần cứng chuyển mạch, xử lý các luồng thoại số hóa qua hạ tầng mạng IP thay vì các kênh vật lý cố định. Hệ thống hoạt động dựa trên mô hình máy khách - máy chủ (Client - Server), sử dụng các giao thức khởi tạo phiên chuẩn như SIP (Session Initiation Protocol) và giao thức liên kết máy chủ IAX2 (Inter-Asterisk eXchange). Các tín hiệu thoại analog truyền thống được tích hợp liền mạch vào hệ thống qua các cổng giao tiếp FXS (Foreign Exchange Station) và FXO (Foreign Exchange Office).

Mô hình giao tiếp AGI đóng vai trò làm giao thức chuẩn cho phép các chương trình bên ngoài can thiệp, điều khiển ngữ cảnh quay số (Dialplan) của Asterisk. Quá trình trao đổi dữ liệu giữa mã kịch bản AGI và lõi Asterisk diễn ra thông qua 3 luồng dữ liệu tiêu chuẩn: luồng dữ liệu vào STDIN, luồng dữ liệu ra STDOUT và luồng thông báo lỗi STDERR.

Các khái niệm then chốt trong nghiên cứu bao gồm:

  1. VoIP (Voice over Internet Protocol): Công nghệ truyền giọng nói dưới dạng các gói dữ liệu số hóa qua mạng IP.
  2. Softphone: Phần mềm cài đặt trên máy tính hoặc thiết bị di động có chức năng giả lập thiết bị đầu cuối thoại SIP.
  3. Kiến trúc nhúng ARM: Cấu trúc vi xử lý tiêu thụ điện năng cực thấp, tối ưu hóa cho các hệ điều hành Linux rút gọn.
  4. Framework module uElastix: Kiến trúc phân tầng giao diện quản trị web phát triển trên nền ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu MySQL và công cụ tạo mẫu Smarty Template.

Phương pháp nghiên cứu

Nguồn dữ liệu của nghiên cứu được thu thập từ việc đo đạc, kiểm thử thực nghiệm trên thiết bị phần cứng thực tế là bo mạch Raspberry Pi Model B (trang bị vi xử lý Broadcom ARM1176JZF-S xung nhịp 700 MHz, bộ nhớ RAM 512 MB, lưu trữ trên thẻ nhớ SDHC Class 10).

Về quy mô thực nghiệm, tác giả thiết lập cỡ mẫu kiểm thử chức năng thoại gồm 2 máy nhánh đầu cuối (Extension 101 và Extension 102) sử dụng phần mềm softphone X-Lite phiên bản 3.0 kết nối đồng thời. Đối với module quản trị, cỡ mẫu dữ liệu mô phỏng gồm hơn 50 bản ghi thông tin phòng, trạng thái lưu trú và dữ liệu khách hàng. Phương pháp chọn mẫu có chủ đích (purposive sampling) được lựa chọn nhằm tập trung kiểm tra toàn diện các kịch bản nghiệp vụ phổ biến nhất của các cơ sở lưu trú quy mô từ 10 đến 30 phòng.

Phương pháp phân tích được áp dụng là phương pháp phân tích thực nghiệm kỹ thuật (empirical technical analysis) kết hợp kiểm thử đối chuẩn (benchmarking). Lý do lựa chọn phương pháp này là nhằm đánh giá chính xác độ ổn định của hệ điều hành Linux nhúng khi phân vùng thẻ nhớ (yêu cầu phân vùng FAT tối thiểu 16 MB cho thư mục BOOT và phân vùng EXT3 tối thiểu 3 GB cho hệ thống tệp tin rootfs), đồng thời đo lường trực tiếp độ trễ truyền gói tin thoại trong môi trường mạng LAN thực tế. Toàn bộ tiến trình nghiên cứu, phát triển và tối ưu hóa hệ thống được thực hiện liên tục trong khoảng thời gian 9 tháng.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình triển khai thực nghiệm hệ thống VoIP và module quản lý trên bo mạch Raspberry Pi đã đem lại 4 phát hiện quan trọng có giá trị khoa học và ứng dụng cao:

  1. Khả năng tương thích và độ ổn định của uElastix trên phần cứng nhúng: Hệ điều hành uElastix biên dịch cho kiến trúc ARM đã khởi động thành công và vận hành trơn tru trên bo mạch Raspberry Pi Model B. Khi hoạt động ở trạng thái chờ, mức chiếm dụng bộ vi xử lý CPU 700 MHz chỉ duy trì dưới mức 15%, dung lượng RAM 512 MB tiêu thụ khoảng 35% đến 45%, chứng minh phần cứng giá rẻ hoàn toàn đáp ứng tốt việc chạy nền tảng tổng đài IP-PBX hoàn chỉnh.

  2. Hiệu năng truyền thông thoại nội bộ ổn định: Việc thiết lập và duy trì cuộc gọi giữa Extension 101 và Extension 102 qua phần mềm softphone X-Lite 3.0 đạt độ tin cậy tuyệt đối. Thời gian đăng ký máy nhánh với tổng đài diễn ra ngay tức thì (dưới 1 giây). Trong suốt thời gian đàm thoại thử nghiệm liên tục trên 60 giây, chất lượng âm thanh đạt độ rõ nét cao, tỷ lệ mất gói tin (packet loss) xấp xỉ 0% và không xuất hiện hiện tượng trễ tiếng hay nghẽn kênh.

  3. Tích hợp thành công 100% các phân hệ module quản lý khách sạn: Thông qua công cụ Elastix Developer phiên bản 2.0-5, hệ thống đã xây dựng và tích hợp hoàn chỉnh 9 module chức năng phân cấp, gồm 1 module chính cấp một (QLKS), 5 module cấp hai (Giao diện chính, Thuê phòng, Trả phòng, Tình trạng phòng, Thiết lập) và 3 module cấp ba (Loại phòng, Thêm phòng, Tổng quát). Toàn bộ cấu trúc bảng cơ sở dữ liệu QLKS_DB gồm các bảng guest, models, rooms, configstatus đều được khởi tạo tự động và truy xuất thông suốt.

  4. Tối ưu hóa chi phí đầu tư và năng lượng tiêu thụ: So với một hệ thống tổng đài triển khai trên máy chủ server có giá khoảng 800 USD đến 1.500 USD, giải pháp bo mạch Raspberry Pi giá khoảng 45 USD giúp tiết kiệm hơn 94% chi phí phần cứng ban đầu. Đồng thời, mức tiêu thụ năng lượng giảm tới 99% (từ 200W của máy chủ thông thường xuống chỉ còn xấp xỉ 2W trên bo mạch nhúng).

Thảo luận kết quả

Nguyên nhân cốt lõi giúp hệ thống vận hành tối ưu nằm ở cấu trúc phân tầng thông minh của uElastix. Khác với giải pháp XiVO vốn coi VoIP chỉ là một dịch vụ tích hợp phụ và có kiến trúc cơ sở dữ liệu quá cồng kềnh (dự án này cũng đã ngừng cập nhật cho Raspberry Pi từ cuối năm 2012), uElastix đặt Asterisk làm hạt nhân trung tâm. Điều này giúp loại bỏ hoàn toàn các tiến trình thừa, tập trung toàn bộ tài nguyên của vi xử lý Broadcom ARM cho việc định tuyến cuộc gọi và xử lý dữ liệu PHP-AGI.

Dữ liệu thực nghiệm của nghiên cứu có thể được mô tả trực quan qua biểu đồ so sánh mức tiêu thụ điện năng và bảng tổng hợp hiệu năng khai thác tài nguyên. Trên biểu đồ cột biểu diễn công suất tiêu thụ, cột đại diện cho Raspberry Pi đạt mức 2W, tạo ra sự cách biệt vượt trội so với cột 250W của máy chủ thông thường. Bảng đối sánh tài nguyên hệ thống cho thấy mức sử dụng CPU tăng nhẹ từ 12% lên 28% khi diễn ra 2 cuộc gọi đồng thời, trong khi dung lượng RAM khả dụng vẫn duy trì an toàn ở mức trên 200 MB.

So với các công trình nghiên cứu trước đây vốn chỉ tập trung cài đặt Asterisk trên các máy tính cá nhân cấu hình mạnh hoặc nghiên cứu ghép nối với tổng đài cứng phức tạp, đề tài của tác giả đã tiên phong giải quyết bài toán "Tất cả trong một" (All-in-One). Kết quả chứng minh rằng một thiết bị nhúng nhỏ gọn hoàn toàn có thể đảm đương song song hai nhiệm vụ: vừa làm tổng đài liên lạc nội bộ, vừa làm máy chủ ứng dụng quản lý nghiệp vụ, mang lại giá trị thực tiễn to lớn cho các doanh nghiệp quy mô nhỏ.

Đề xuất và khuyến nghị

Dựa trên kết quả nghiên cứu thực nghiệm, tác giả đề xuất 4 giải pháp trọng tâm nhằm nâng cao khả năng ứng dụng thực tế của hệ thống:

  1. Nâng cấp nền tảng phần cứng lên các dòng vi xử lý đa nhân: Chuyển đổi triển khai hệ thống lên các thế hệ bo mạch nhúng ARM thế hệ mới có dung lượng RAM từ 1GB đến 4GB. Giải pháp này giúp nâng năng lực phục vụ từ 5 đến 10 cuộc gọi đồng thời lên mức 30 đến 50 cuộc gọi đồng thời mà không làm tăng độ trễ gói tin. Kế hoạch nâng cấp dự kiến thực hiện trong vòng 6 tháng bởi đội ngũ kỹ sư phần mềm viễn thông.

  2. Mở rộng kết nối trung kế bưu điện qua thiết bị Voice Gateway: Trang bị bổ sung các cổng chuyển đổi tín hiệu FXO/FXS chuyên dụng để liên kết trực tiếp tổng đài VoIP nhúng với mạng điện thoại cố định quốc gia PSTN và mạng di động GSM. Mục tiêu nâng tỷ lệ sẵn sàng kết nối cuộc gọi ra bên ngoài đạt 99,9%, dự kiến triển khai trong quý tiếp theo do các kỹ thuật viên mạng đảm trách.

  3. Triển khai các lớp bảo mật chuyên sâu cho giao thức SIP: Cấu hình hệ thống tường lửa iptables trên Linux, ứng dụng giao thức mã hóa dữ liệu thoại SRTP/TLS và kích hoạt cơ chế ngăn chặn tấn công dò mật khẩu tự động Fail2ban. Mục tiêu loại bỏ 100% nguy cơ xâm nhập trái phép vào hệ thống tổng đài; công việc này cần được thực hiện định kỳ hàng tháng bởi quản trị viên mạng.

  4. Hoàn thiện và chuẩn hóa gói cài đặt module quản trị: Tối ưu hóa mã nguồn PHP-AGI, đóng gói module Quản lý khách sạn (QLKS) thành định dạng gói cài đặt RPM tiêu chuẩn trên kho ứng dụng của Elastix, đồng thời bổ sung tính năng giao diện responsive hiển thị linh hoạt trên điện thoại thông minh. Thời gian hoàn thiện ước tính từ 3 đến 6 tháng do nhóm lập trình web phụ trách.

Đối tượng nên tham khảo luận văn

Nội dung và kết quả nghiên cứu của luận văn mang lại giá trị tham khảo thiết thực cho 4 nhóm đối tượng chính:

  1. Kỹ sư viễn thông và chuyên viên quản trị hệ thống mạng: Tiếp cận tài liệu thực hành chi tiết về phương pháp phân vùng ổ đĩa Linux nhúng (tạo phân vùng BOOT FAT và rootfs EXT3 bằng lệnh fdisk), cách cấu hình lõi Asterisk trên nền tảng vi xử lý ARM và quy trình thiết lập các máy nhánh SIP trên phần mềm softphone.

  2. Chủ doanh nghiệp nhỏ và nhà quản lý cơ sở lưu trú, khách sạn: Nắm bắt giải pháp công nghệ tối ưu giúp cắt giảm tới 90% chi phí đầu tư tổng đài liên lạc ban đầu, đồng thời sở hữu hệ thống phần mềm quản lý phòng ốc, theo dõi khách lưu trú và xuất hóa đơn hoàn toàn miễn phí bản quyền.

  3. Sinh viên, học viên cao học chuyên ngành Điện tử - Viễn thông và Công nghệ Thông tin: Sử dụng luận văn như một công trình mẫu chuẩn mực về phương pháp nghiên cứu ứng dụng, kỹ thuật lập trình tương tác AGI scripts qua ngôn ngữ PHP và cách thiết kế cấu trúc module phân cấp chuyên nghiệp với Elastix Developer.

  4. Các nhà phát triển hệ thống nhúng và giải pháp IoT: Khai thác case study điển hình về việc ứng dụng máy tính nhúng giá rẻ Raspberry Pi để giải quyết bài toán dịch vụ thực tế đòi hỏi khả năng xử lý dữ liệu thời gian thực với mức tiêu thụ điện năng chỉ 2W.

Câu hỏi thường gặp

  1. Tại sao phải định dạng thẻ nhớ bằng lệnh fdisk trên Linux mà không thể dùng các phần mềm phân vùng trên Windows? Quá trình thử nghiệm cho thấy bo mạch Raspberry Pi không thể nhận diện chính xác cấu trúc phân vùng EXT3 khi được tạo bởi các công cụ phân vùng chạy trên hệ điều hành Windows. Việc sử dụng lệnh fdisk trực tiếp trên môi trường Linux đảm bảo tính tương thích tuyệt đối cho phân vùng BOOT (FAT tối thiểu 16 MB) và phân vùng hệ thống rootfs (EXT3 tối thiểu 3 GB), giúp quá trình nạp hạt nhân kernel diễn ra suôn sẻ.

  2. Bo mạch Raspberry Pi với cấu hình RAM 512 MB có đủ sức đáp ứng nhu cầu thoại cho một khách sạn vừa và nhỏ không? Hoàn toàn đáp ứng tốt. Với kiến trúc tối ưu của uElastix, hệ thống chỉ tiêu tốn khoảng 35% đến 45% dung lượng bộ nhớ RAM khi vận hành. Thiết bị có khả năng xử lý ổn định từ 5 đến 10 cuộc gọi đồng thời qua giao thức SIP mà không gây suy giảm chất lượng âm thanh, hoàn toàn phù hợp với các cơ sở lưu trú quy mô từ 10 đến 30 phòng.

  3. Module quản lý khách sạn (QLKS) trao đổi dữ liệu với hệ thống tổng đài Asterisk bằng cách nào? Module QLKS tương tác với tổng đài thông qua giao thức chuẩn Asterisk Gateway Interface (AGI). Các đoạn mã kịch bản viết bằng PHP-AGI sẽ truyền và nhận lệnh điều khiển thông qua 3 kênh truyền thông tin tiêu chuẩn của hệ thống: kênh STDIN để gửi dữ liệu đến Asterisk, kênh STDOUT để nhận kết quả phản hồi và kênh STDERR để thông báo lỗi phát sinh.

  4. Hệ thống tổng đài VoIP trên Raspberry Pi có thể gọi ra số di động hoặc mạng điện thoại cố định bên ngoài được không? Có thể thực hiện dễ dàng. Mặc dù bo mạch Raspberry Pi không có sẵn cổng kết nối vật lý đường dây bưu điện, người quản trị chỉ cần bổ sung thiết bị chuyển đổi tín hiệu Voice Gateway (hỗ trợ 1 đến 2 cổng FXO) kết nối qua mạng LAN, hoặc đăng ký dịch vụ trung kế SIP Trunking từ các nhà mạng viễn thông để thực hiện cuộc gọi ra ngoài.

  5. Vì sao tác giả lựa chọn nền tảng uElastix thay vì sử dụng giải pháp XiVO cho bo mạch Raspberry Pi? uElastix lấy phần mềm Asterisk làm lõi kiến trúc chính, cho phép mở rộng tính năng linh hoạt và hỗ trợ đầy đủ công cụ Elastix Developer phiên bản 2.0-5. Ngược lại, XiVO có cấu trúc cơ sở dữ liệu dùng chung quá phức tạp, tài liệu hỗ trợ hạn chế và dự án phát triển cho Raspberry Pi đã ngừng cập nhật từ ngày 28/10/2012.

Kết luận

  • Xây dựng thành công hệ thống tổng đài IP-PBX hoàn chỉnh trên bo mạch nhúng Raspberry Pi Model B với chi phí thiết bị chỉ khoảng 45 USD.
  • Tiết kiệm hơn 95% điện năng tiêu thụ khi công suất hoạt động của hệ thống chỉ ở mức 2W so với mức 200W đến 450W của máy chủ truyền thống.
  • Thiết kế và tích hợp trọn vẹn 9 module quản lý khách sạn (QLKS) vào framework uElastix, tự động hóa toàn bộ quy trình thuê, trả phòng và cập nhật giá cước.
  • Kiểm thử cuộc gọi thoại nội bộ qua phần mềm softphone X-Lite 3.0 đạt độ ổn định cao, thời gian đáp ứng dưới 1 giây và tỷ lệ mất gói tin xấp xỉ 0%.
  • Cung cấp giải pháp công nghệ toàn diện giúp các doanh nghiệp vừa và nhỏ cắt giảm từ 70% đến 90% chi phí đầu tư hạ tầng viễn thông ban đầu.

Đóng góp lớn nhất của luận văn là chứng minh tính khả thi của việc triển khai dịch vụ truyền thông hợp nhất và quản trị nghiệp vụ chuyên sâu trên nền tảng phần cứng nhúng giá rẻ. Kế hoạch tiếp theo trong vòng 6 đến 12 tháng tới là mở rộng kết nối trung kế SIP Trunking và đóng gói module thành addon chuẩn hóa. Các đơn vị kinh doanh dịch vụ lưu trú và các kỹ sư hệ thống có thể ứng dụng ngay mô hình này để tối ưu hóa chi phí vận hành và nâng cao hiệu quả quản trị doanh nghiệp.