Menu

4/14/26

Hướng dẫn cấu hình SIP Trunk VNPT trên FreePBX

 

1. Thu thập thông tin từ VNPT

Trước khi bắt đầu, bạn cần có biên bản bàn giao từ VNPT gồm:

  • IP Server/Softswitch: (Ví dụ: 113.161.x.x hoặc vob.vnpt.vn)

  • Username/AuthID: (Thường là số điện thoại, ví dụ: 842838xxxxxx)

  • Password: (Mật khẩu SIP)

  • IP WAN/VLAN: Nếu VNPT chạy đường dây riêng, bạn phải đặt IP này cho cổng mạng thứ 2 trên máy chủ FreePBX.


2. Tạo Trunk mới

  1. Vào Connectivity -> Trunks.

  2. Nhấn + Add Trunk -> Add SIP (chan_pjsip) Trunk.

    • Lưu ý: Nếu VNPT yêu cầu dùng công nghệ cũ, bạn chọn chan_sip, nhưng PJSIP hiện là tiêu chuẩn mới.

Tab General:

  • Trunk Name: VNPT_Trunk

  • Outbound CallerID: Nhập số điện thoại chính của bạn (ví dụ: 02838xxxxxx).

Tab pjsip Settings -> General:

  • Username: Nhập số điện thoại (Username VNPT cấp).

  • Password: Nhập mật khẩu SIP.

  • Authentication: Both (hoặc theo yêu cầu của VNPT).

  • Registration: Send (Nếu là đường IP Public) hoặc None (Nếu là đường Trunk theo IP Static/IP Peering).

  • SIP Server: Nhập IP Softswitch của VNPT.

  • SIP Server Port: Thường là 5060.

Tab pjsip Settings -> Advanced:

  • Contact User: Nhập số điện thoại (Username).

  • From Domain: Nhập IP Softswitch của VNPT hoặc vob.vnpt.vn.


3. Cấu hình Codec

Chuyển sang tab pjsip Settings -> Codec:

  • VNPT tại Việt Nam thường sử dụng ulaw, alaw (G.711) và đôi khi là g729. Hãy đảm bảo bạn đã tích chọn chúng.


4. Cấu hình Inbound/Outbound Route

Sau khi Trunk báo trạng thái Online (có thể kiểm tra trong Asterisk Info), bạn cần thực hiện:

  • Inbound Route: Để nhận cuộc gọi từ ngoài vào.

    • Vào Connectivity -> Inbound Routes.

    • DID Number: Nhập số điện thoại của bạn.

    • Set Destination: Chọn máy nhánh (Extension) hoặc IVR mà bạn muốn đổ chuông.

  • Outbound Route: Để gọi ra ngoài.

    • Vào Connectivity -> Outbound Routes.

    • Tạo Route, trong phần Trunk Sequence, chọn VNPT_Trunk bạn vừa tạo.


5. Lưu ý quan trọng về Firewall

Nếu bạn dùng Sophos hoặc Cisco như trong hệ thống bạn đang quản lý:

  • NAT: Phải đảm bảo cổng 5060 (UDP) và dải port RTP (thường là 10000-20000) được phép đi qua firewall.

  • SIP ALG: Hãy TẮT (Disable) tính năng SIP ALG trên router/firewall vì nó thường xuyên làm lỗi tín hiệu SIP (gây ra tình trạng gọi được nhưng không có tiếng hoặc rớt cuộc gọi sau 30 giây).

[FREEPBX] - Hướng dẫn Chặn Extension 9000 & 9001 gọi ra ngoài qua Outbound Route


1. Tạo Outbound Route mới để chặn

  • Vào menu Connectivity -> Outbound Routes.

  • Nhấn + Add Outbound Route

  • Route Name: Đặt tên dễ nhớ như BLOCK_EXIT_SPECIAL hoặc DENY_9000_9001.

  • Route Sequence: Quan trọng nhất, hãy chọn Top (hoặc chọn Before [Tên Route VNPT hiện tại]). Route này phải nằm ở vị trí số 1.

2. Cấu hình Dial Patterns (Điều kiện chặn)

Chuyển sang tab Dial Patterns. Đây là nơi bạn định danh các số bị cấm:

Match PatternCallerIDGiải thích
.9000Cho phép số 9000 gọi bất kỳ số nào (.) nhưng sẽ bị chặn ở bước tiếp theo.
.9001Cho phép số 9001 gọi bất kỳ số nào (.) nhưng sẽ bị chặn ở bước tiếp theo.

Lưu ý: Dấu chấm . đại diện cho tất cả các ký tự/số mà người dùng bấm.

3. Thiết lập "Đường cụt" (Chặn cuộc gọi)

  • Chuyển sang tab Connectivity.

  • Tại mục Trunk Sequence for Matched Routes: Bạn để trống hoàn toàn, không chọn bất kỳ Trunk VNPT hay Trunk nào khác vào đây.

  • Tại mục Optional Destinations (nếu phiên bản FreePBX của bạn có):

    • On Congestion: Chọn Terminate Call và chọn một âm báo như Play Busy Tone hoặc Play Circuit Busy.

4. Lưu và áp dụng

  • Nhấn Submit.

  • Nhấn nút Apply Config màu đỏ ở góc trên bên phải.


Kiểm tra thứ tự Route (Rất quan trọng)

Sau khi nhấn Submit, hãy nhìn lại danh sách Outbound Routes ở cột bên phải. Thứ tự phải trông như thế này:

  1. BLOCK_EXIT_SPECIAL (Route vừa tạo - Không có Trunk).

  2. VNPT_OUTBOUND (Route cũ của bạn - Có Trunk VNPT).

Nguyên lý hoạt động:

Khi số 9000 thực hiện gọi ra, hệ thống sẽ khớp ngay với Route đầu tiên (vị trí số 1). Vì Route này không có đường ra (Trunk), cuộc gọi sẽ bị ngắt ngay lập tức và không bao giờ chạm tới được Route VNPT ở vị trí số 2. Các số nội bộ khác (không phải 9000, 9001) sẽ không khớp Route 1 và tự động nhảy xuống Route 2 để gọi ra ngoài bình thường.

4/13/26

HƯỚNG DẪN XỬ LÝ LỖI "LEGACY ACCOUNT" TRÊN SHAREPOINT M365

 (Khi tạo mới tài khoản trùng Email với người cũ đã nghỉ việc)

1. Nguyên nhân lỗi

Khi bạn xóa một tài khoản và tạo lại tài khoản mới với địa chỉ Email y hệt (UPN giống nhau), SharePoint sẽ xảy ra xung đột định danh:

  • Tài khoản cũ: Có một mã định danh hệ thống (Object ID) riêng.

  • Tài khoản mới: Được cấp một Object ID hoàn toàn mới dù tên hiển thị và email không đổi.

  • Xung đột: SharePoint vẫn lưu bản ghi cũ trong bộ nhớ đệm của Site. Khi tài khoản mới đăng nhập, hệ thống phát hiện Email trùng nhưng ID không khớp, dẫn đến thông báo lỗi: "There is a legacy account on this site that uses the same email address."


2. Quy trình xử lý triệt để

Bước 1: Xóa User khỏi danh sách người dùng ẩn (Site Collection)

Đây là bước bắt buộc để xóa "dấu vết" của tài khoản cũ trên Site đó.

  1. Truy cập vào Site SharePoint đang bị báo lỗi.

  2. Trên thanh địa chỉ trình duyệt, thêm đoạn mã sau vào ngay sau đường dẫn của Site: /_layouts/15/people.aspx?MembershipGroupId=0 (Ví dụ: https://[ten-mien-cua-ban].sharepoint.com/sites/[ten-site]/_layouts/15/people.aspx?MembershipGroupId=0)

  3. Tìm kiếm Email của người dùng trong danh sách hiện ra.

  4. Tích chọn vào User đó.

  5. Vào menu Actions -> Chọn Delete Users from Site Collection.

Bước 2: Dọn dẹp User Profile trên SharePoint Admin Center

  1. Truy cập vào trang quản trị SharePoint Admin Center.

  2. Chọn More features -> Tìm mục User profiles và nhấn Open.

  3. Chọn Manage User Profiles.

  4. Tìm kiếm Email của User. Nếu thấy bản ghi cũ còn tồn tại, hãy xóa nó đi.

  5. Đợi khoảng 15 phút để hệ thống đồng bộ lại thông tin mới nhất từ hệ thống.

Bước 3: Cấp lại quyền truy cập

  1. Quay lại thư mục hoặc Site cần chia sẻ.

  2. Thực hiện thao tác Share hoặc Add member lại cho User.

  3. Lúc này, SharePoint sẽ ghi nhận User với mã định danh mới và cho phép truy cập bình thường.


3. Lưu ý đối với người dùng

Để tránh việc trình duyệt lưu lại thông tin đăng nhập cũ gây lỗi lặp lại:

  • Yêu cầu User sử dụng trình duyệt ẩn danh để kiểm tra ngay sau khi xử lý.

  • Nếu dùng ứng dụng OneDrive trên máy tính, hãy vào Credential Manager xóa các dòng thông tin đăng nhập cũ liên quan đến Microsoft Office trước khi đăng nhập lại.

Mẹo quản trị: Đối với các vị trí nhân sự thay thế nhau thường xuyên, bạn nên cân nhắc việc đổi mật khẩuthu hồi quyền truy cập cũ thay vì xóa hoàn toàn tài khoản, giúp giữ nguyên cấu hình hệ thống và tránh các lỗi xung đột ID như trên.

4/8/26

HƯỚNG DẪN CẤU HÌNH GỌI RA ĐẦU SỐ 1900 CHO MÁY NHÁNH CỤ THỂ

Hệ thống: FreePBX / Asterisk

Áp dụng cho: Máy nhánh 9000 và 9001

Mục tiêu: Cho phép gọi số 1900545481 (10 chữ số) và các số 1900 khác.


1. KIẾN THỨC CƠ BẢN VỀ DIAL PATTERNS

Trong giao diện cấu hình, bạn cần chú ý các ô sau:

  • Match Pattern: Định dạng số điện thoại muốn gọi.

    • 1900XXXXXX: Khớp chính xác các số có 10 chữ số bắt đầu bằng 1900 (như số 1900.5454.81).

    • 1900.: Khớp với tất cả các số bắt đầu bằng 1900 (không phân biệt độ dài 8 hay 10 số).

  • CallerID: Số máy nhánh (Extension) được phép thực hiện quy tắc này.


2. CÁC BƯỚC THỰC HIỆN CẤU HÌNH

Bước 1: Truy cập mục Outbound Routes

  1. Đăng nhập vào giao diện Admin của tổng đài.

  2. Chọn menu Connectivity -> Outbound Routes.

  3. Chọn Route mà bạn đang dùng để gọi ra ngoài (ví dụ: Outbound_Viettel, VNPT_Route,...).

Bước 2: Thiết lập quy tắc cho máy nhánh 9000 và 9001

Tại tab Dial Patterns, bạn thêm 2 dòng mới với thông số chính xác như sau:

STTPrependPrefixMatch PatternCallerIDGhi chú
1(trống)(trống)1900.9000Cho phép máy 9000 gọi mọi số 1900
2(trống)(trống)1900.9001Cho phép máy 9001 gọi mọi số 1900

Lưu ý: Nếu bạn chỉ muốn cho phép gọi duy nhất số 1900545481, hãy thay 1900. bằng 1900545481 vào ô Match Pattern.

Bước 3: Kiểm tra và Loại bỏ quy tắc chung (Nếu có)

Để đảm bảo chỉ có 9000 và 9001 gọi được, bạn cần:

  • Kiểm tra xem có dòng nào có Match Pattern là 1900. hoặc 1900XXXXXX mà ô CallerID đang để trống hay không.

  • Nếu có, hãy Xóa (Delete) hoặc Chỉnh sửa dòng đó. Nếu để trống CallerID, tất cả các máy khác trong công ty vẫn sẽ gọi được 1900.

Bước 4: Lưu và Áp dụng (Quan trọng)

  1. Kéo xuống cuối trang và nhấn nút Submit.

  2. Quan sát phía trên cùng bên phải màn hình, nhấn vào nút Apply Config (màu đỏ) để hệ thống cập nhật thay đổi.


3. KIỂM TRA SAU CẤU HÌNH

  • Thử nghiệm: Dùng máy 9000 hoặc 9001 bấm gọi số 1900545481.

  • Trường hợp lỗi:

    • Nếu báo “All circuits are busy”: Kiểm tra lại số dư tài khoản của Trunk nhà mạng (vì gọi 1900 tốn phí cao).

    • Nếu báo “Your call cannot be completed as dialed”: Kiểm tra lại xem bạn đã nhấn Apply Config chưa hoặc xem lại số lượng chữ số X trong Match Pattern đã đủ chưa.

4/2/26

HƯỚNG DẪN RESET PASSWORD & CẤU HÌNH SSH FREEPBX 17 (DEBIAN)

 

I. QUY TRÌNH RESET PASSWORD ROOT QUA CONSOLE (GRUB)

Áp dụng khi quên mật khẩu đăng nhập màn hình đen (CLI) trên VMware/Hyper-V.

Bước 1: Truy cập chế độ chỉnh sửa GRUB

  1. Khởi động lại máy ảo FreePBX 17.
  2. Ngay khi màn hình menu khởi động hiện ra, nhấn phím e trên bàn phím.

Bước 2: Thay đổi tham số khởi động

  1. Tìm dòng bắt đầu bằng chữ linux. Di chuyển con trỏ xuống cuối dòng đó.
  2. Nhấn phím cách (Space) và gõ chính xác: init=/bin/bash
  3. Nhấn F10 (hoặc Ctrl + X) để khởi động vào chế độ khẩn cấp.

Bước 3: Đặt mật khẩu mới

  1. Gắn lại quyền ghi cho hệ thống:

Bash

mount -o remount,rw /

  1. Đổi mật khẩu cho tài khoản root:

Bash

passwd root

(Nhập mật khẩu mới 2 lần. Lưu ý: Màn hình sẽ không hiển thị ký tự khi gõ).

  1. Lưu thay đổi và khởi động lại:

Bash

sync

exec /sbin/init


II. CẤU HÌNH CHO PHÉP ĐĂNG NHẬP SSH TỪ XA

Mặc định Debian 12 chặn Root đăng nhập qua SSH, bạn cần mở quyền này sau khi đã có pass.

Bước 1: Chỉnh sửa file cấu hình SSH

  1. Đăng nhập vào CLI bằng user root và pass mới.
  2. Gõ lệnh: nano /etc/ssh/sshd_config
  3. Tìm dòng: #PermitRootLogin prohibit-password hoặc PermitRootLogin no.
  4. Sửa thành: PermitRootLogin yes (Xóa dấu # ở đầu dòng).
  5. Nhấn Ctrl + O, Enter để lưu và Ctrl + X để thoát.

Bước 2: Khởi động lại dịch vụ SSH

Bash

systemctl restart ssh


III. RESET MẬT KHẨU QUẢN TRỊ WEB (GUI)

Nếu bạn vào được CLI nhưng quên mật khẩu trang Web Admin.

  1. Tại dấu nhắc lệnh (CLI), gõ lệnh sau:

Bash

fwconsole admin reset mật_khẩu_mới

  1. Hệ thống sẽ tự động cập nhật mật khẩu cho tài khoản quản trị đầu tiên.

IV. LƯU Ý QUAN TRỌNG VỀ FIREWALL

Sau khi cấu hình xong, nếu vẫn không SSH được, hãy kiểm tra Firewall trên giao diện Web:

  1. Vào Connectivity -> Firewall -> Networks.
  2. Thêm dải IP mạng nhà máy (100.100.x.x) vào vùng Trusted.
  3. Nếu cần xử lý gấp, có thể tắt tạm Firewall bằng lệnh: fwconsole firewall stop.