25 02

Xây dựng hệ thống tổng đài ảo mini cho văn phòng của bạn



Nếu bạn có một văn phòng nho nhỏ với khoảng 10 nhân sự và cần tạo một môi trường cộng tác thật chuyên nghiệp thông qua hệ thống tổng đài VoIP thì giải pháp chúng tôi trình bày dưới đây là một lựa chọn cực kỳ phù hợp, với tổng mức đầu tư chỉ 15 triệu đồng.

Yêu cầu giải pháp


  • Khởi tạo từ 2 đến 10 máy nhánh (ext) trong văn phòng sử dụng máy tính hoặc điện thoại làm máy nhánh
  • Thực hiện các cuộc gọi nội bộ qua mạng LAN văn phòng
  • Thực hiện các cuộc gọi ra thông qua một gateway sử dụng các SIM điện thoại mobile làm trunking
  • Tiếp nhận các cuộc gọi đến qua 1 số hotline (di động)
  • Có chức năng trả lời tự động đơn giản ví dụ "Kính chào quý khách, để gặp phòng kinh doanh nhấn phím 1..."
  • Cấu hình ưu tiên cuộc gọi cho một số máy cho trước, luôn gọi ra trên một SIM cố định.

Các thành phần của giải pháp


Để xây dựng giải pháp trên chúng ta cần các thành phần sau đây:

  • LAN switch với 2 cổng còn dư (văn phòng nào cũng có sẵn), nên sử dụng loại tốc độ cao 1G trở lên để đảm bảo chất lượng cuộc gọi
  • 01 thiết bị GSM gateway để cắm SIM điện thoại (trong giải pháp này chúng ta dùng thiết bị Dinstar UC-2000 VE với 4 khe cắm sim chi phí khoảng 12 triệu, cắm sẵn 2 SIM điện thoại vào slot 0 và slot 1). Sau đây sẽ được goi là gateway
  • 01 thiết bị máy tính mini Raspberry PI, kèm thẻ nhớ 8G trở lên chi phí khoảng 2 triệu, sau đây được gọi tắt là freePBX
  • Các máy tính trong mạng có headphone hoặc các smartphone mà mỗi nhân viên đều có sẵn dùng làm máy nhánh.
Sơ đồ tổng quan về giải pháp như hình vẽ sau đây:

VoIP topology

Các bước tiến hành


  • Cài đặt hệ điều hành Linux và freePBX (một phần mềm mã nguồn mở) lên Raspberry PI
  • Cấu hình freePBX để tạo các máy nhánh
  • Thực hiện các cuộc gọi test giữa các máy nhánh để đảm bảo freePBX đã hoạt động tốt
  • Cấu hình gateway cơ bản để kết nối vào mạng LAN, các cổng cắm SIM
  • Cấu hình SIP trunk trên gateway để kết nối với freePBX
  • Cấu hình IP to Tel để định tuyến các cuộc gọi ra 
  • Cấu hình Tel to IP để định tuyến các cuộc gọi từ ngoài vào 
  • Khởi tạo tạo một SIP trunk trên freePBX
  • Cấu hình inbound route để nhận các cuộc gọi do gateway chuyển sang
  • Cấu hình outbound route trên để chuyển tiếp các cuộc gọi từ máy nhánh ra qua gateway

Phần 1: Cài đặt hệ điều hành Linux  và freePBX lên Raspberry


Chuẩn bị:


  • 01 USB đọc ghi thẻ nhớ,với một thẻ nhớ SD Card dung lượng tối thiểu 8G
  • Phần mềm ghi thẻ nhớ balenaEtcher, có thể download tại đây
  • File ảnh (image file) toàn bộ hệ điều hành linux và freePBX được chia sẻ tại link này

Cài đặt thẻ nhớ



Cắm USB đọc ghi thẻ nhớ vào máy tính, mở phần mềm balenaEtcher và chọn file ảnh, chọn USB thẻ nhớ rồi nhấn Flash. Giao diện của balenaEtcher như hình sau:


sử dụng balenaEtcher để tạo thẻ nhớ khởi động Raspberry


Sau khi thẻ nhớ ghi thành công, chúng ta cắm thẻ nhớ vào Raspbery, khởi động cho Raspberry. Nếu mọi thứ suôn sẻ bạn sẽ nhận  được màn hình login. Các bạn login bằng tài khoản root mật khẩu raspberry.

Cài đặt freePBX


Bước đầu tiên, sau khi đăng nhập vào raspberry, các bạn cần chạy lệnh sau để cấu hình raspberry thành một freePBX thực sự:

# raspi-config

Khi giao diện menu xuất hiện, các bạn vào mục Advanced Options-> A1 Expand Filesystem. Lệnh này sẽ giải nén các thành phần của freePBX và cài đặt lên raspberry. Sau khi nhận được thông báo cài đặt thành công bạn sẽ được yêu cầu reboot thiết bị.

Cấu hình freePBX


Cấu hình kết nối mạng. Các câu lệnh sau đây sẽ thêm các cấu hình mạng vào file /etc/dhcpcd.conf các bạn có thể tuần tự làm theo các lệnh sau hoặc sử dụng trình soạn thảo vi hoặc nano để thêm trực tiếp các dòng này vào file /etc/dhcpcd.conf

# echo "interface eth0" >> /etc/dhcpcd.conf
# echo "static ip_address=192.168.1.111/24" >> /etc/dhcpcd.conf
# echo "static routers=192.168.1.1" >> /etc/dhcpcd.conf
# echo "static domain_name_servers=192.168.1.1 8.8.8.8" >> /etc/dhcpcd.conf

Tiếp theo các bạn cài đặt timezone

# dpkg-reconfigure tzdata

Câu lệnh này cho phép bạn cấu hình timezone theo lựa chọn menu, hãy chọn là Asia_HCM.

Cuối cùng là shutdown là reboot lại raspberry bằng câu lệnh sau:

# reboot

Cập nhật các gói phần mềm


Vì file image được đóng gói từ 2018 nên đến nay sẽ có nhiều thay đổi về thư viện cũng như các gói phần mềm của freePBX. Do vậy các bạn cần chạy lệnh sau để cập nhật các thay đổi

# raspbx-upgrade

Quá trình upgrade sẽ mất khoảng 30 phút đến 1 tiếng nên giờ là lúc bạn đi pha cà phê. Sau khi upgrade xong bạn có thể kiểm  tra lại version phiên bản asterisk như sau:

# asterisk -rx "core show version"

Lệnh kiểm tra version asterisk


Nếu đến bước này bạn khởi động lại raspberry một lần nữa, và bây giờ bạn đã biến raspberry của bạn trở thành một freePBX với hệ điều hành là linux và core phần mềm tổng đài là asterisk. Bạn có thể truy cập trung tâm điều khiển của freePBX qua link http://192.168.1.111. Lần đầu tiên truy cập freePBX sẽ yêu cầu bạn khởi tạo tài khoản admin và mật khẩu admin. Bạn nhập mật khẩu vào màn hình sau và nhớ ghi lại mật khẩu này cho các lần đăng nhập sau. Sau khi bạn tạo tài khoản admin, hệ thống sẽ quay lại màn hình đăng nhập và bạn sẽ đang nhập với tài khoản admin để vào phần cấu hình cho free PBX.

Cấu hình ban đầu cho PBX


Chỉ 2 bước nữa thôi là bạn đã có trong tay một tổng đài ảo mini có thể giúp bạn chuyên nghiệp hóa việc cộng tác nội bộ trong văn phòng cũng như liên lạc với khách hàng của bạn rồi. Lần đầu tiên khởi động freePBX sẽ yêu cầu bạn cần chọn ngôn ngữ và timezone cho freePBX như hình ảnh sau:

khởi tạo freePBX


Bước tiếp theo bạn cần chuyển đổi cơ chế truy cập phần mềm sang giao thức ssl (https). Bước này là không bắt buộc nhưng chúng tôi khuyên bạn nên làm bởi vì hầu hết các kết nối với gateway sau này đều đòi hỏi được bảo mật bằng ssl. Các bạn chạy lệnh sau để enable chế độ ssl

# a2enmod ssl

Trong hệ thống file /etc/apache2/sites-available/default-ssl có chứa cấu hình cho giao thức bảo mật ssl. Để khởi tạo kết nối ssl ở dạng default bạn chạy lệnh sau:

# a2ensite default-ssl

Sau cùng bạn khởi động lại dịch vụ http để thay thế bằng https với câu lệnh sau

# systemctl restart apache2

Lúc này bạn có thể đăng nhập lại với đường link https://192.168.1.111 và nếu nhận được màn hình giao diện như sau là công việc cài đặt một tổng đài mini đã hoàn thành.

Xem tiếp phần 2: Cài đặt các máy nhánh cho tổng đài freePBX tại đây