Cấu hình sửa lỗi SIP ALG trên Firewall FortiGate bằng lệnh CLI

Thảo luận trong 'Tổng đài IP' bắt đầu bởi anhhunglangbat, 21/3/23.

  1. anhhunglangbat

    anhhunglangbat New Member

    - Bài viết hướng dẫn cách cấu hình tắt SIP ALG trên thiết bị tường lửa FortiGate. Dịch vụ SIP ALG được bật sẵn mặc định trên FortiGate. Đây là nguyên nhân gây ảnh hưởng đến việc register các thiết bị IP đến tổng đài và gây ảnh huởng đến các cuộc gọi của hệ thống tổng đài.

    TÌNH HUỐNG DIỄN RA:
    - Khi bạn đã thiết lập xong hệ thống điện thoại VoIP của mình, nhưng đang gặp phải tình trạng bị ngắt cuộc gọi, có cuộc gọi nhưng không nghe thấy âm thanh sau khi bạn nhấc máy. Bạn có thể giải quyết ngay lập tức các vấn đề về Voice over IP sau khi bạn tắt SIP ALG.

    - Sau đây, mình sẽ trình bày lý do tại sao phải tắt SIP ALG để tối ưu hóa mạng của bạn cho dịch vụ điện thoại VoIP .

    Vậy, SIP ALG là gì?
    - SIP ALG là cổng của lớp ứng dụng giao thức khởi tạo phiên. Công nghệ này, còn được gọi là cổng cấp ứng dụng, có sẵn trên hầu hết các bộ định tuyến thương mại và nó giúp người dùng bắt đầu các cuộc gọi SIP một cách đáng tin cậy hơn, ngay cả khi ở sau mạng LAN có cấu hình tường lửa an toàn. ALG là một công cụ dịch địa chỉ mạng (NAT) để thay đổi các địa chỉ IP và cổng riêng thành địa chỉ IP công cộng và các cổng.

    - SIP ALG hoạt động như một chương trình phần sụn độc lập để ngăn chặn các sự cố liên quan đến tường lửa trên bộ định tuyến. Nó kiểm tra phần SDP của các gói dữ liệu và sửa đổi chúng để chúng gửi một cách chính xác. Hãy nhớ rằng, tất cả VoIP đều thay đổi dữ liệu âm thanh (thoại) thành các gói sau đó được gửi qua mạng, vì vậy về mặt lý thuyết, điều này sẽ đảm bảo chất lượng cuộc gọi.

    [​IMG]
    - Nhưng thực tế công nghệ này thường cản trở chất lượng của các cuộc gọi SIP do tính chất đa quy trình của SIP và sự mỏng manh của các gói dữ liệu. Đây là lý do tại sao nhiều nhà cung cấp SIP hàng đầu yêu cầu bạn tắt tính năng này trên bộ định tuyến của bạn.

    - Để hiểu tại sao SIP ALG lại là vấn đề đối với các hệ thống điện thoại SIP hiện đại, hãy xem quy trình năm bước liên quan khi bạn đang cố gắng thực hiện cuộc gọi SIP. SIP giúp mở và chấm dứt kết nối dữ liệu nhưng với cuộc gọi SIP có một vài bước ở giữa. Đây là năm điều quan trọng nhất:

    [​IMG]
    1. Giai đoạn Invite Stage: Điều này xảy ra khi bạn bắt đầu cuộc gọi. gói tin Invite sẽ bắt đầu gửi từ phía bạn.
    2. Giai đoạn Invite Response Stage: Khi kết nối xảy ra, phản hồi sẽ được gửi trở lại trình quay số ban đầu.
    3. Giai đoạn Answering Stage: Giai đoạn trả lời là xác nhận cuộc gọi đến, không phải chính cuộc gọi. Phần này của quá trình cũng bắt đầu ở bên nhận.
    4. Giai đoạn Confirmation Stage: Đây là xác nhận cuối cùng của kết nối cuộc gọi. Điều này được gửi từ phía cuối của bạn (người khởi tạo).
    5. Giai đoạn Call Stage: Khi bốn bước này đã được hoàn thành, cuộc gọi sẽ diễn ra. Đây là kết nối hai chiều.
    - Mặc dù đây có vẻ là một quá trình dài và phức tạp gửi dữ liệu, nhưng nó được thực hiện chỉ trong vài giây. Vấn đề với điều này từ góc độ kết nối là có một quá trình kết nối gồm năm phần có nghĩa là nguy cơ mất gói cao hơn khi ALG đang sửa đổi dữ liệu đồng thời gói tin được gửi đến.

    Dấu hiệu SIP ALG ảnh hưởng đến cuộc gọi VoIP:
    - Có một số hiện tượng SIP ALG gây ảnh hưởng đến điện thoại VoIP. Không phải lúc nào cũng rõ ràng, đặc biệt là vì những vấn đề này thường diễn ra âm thầm mà người dùng không biết.

    • Âm thanh một chiều (chỉ một người có thể nghe thấy người kia)
    • Điện thoại không đổ chuông khi được gọi
    • Cuộc gọi bị ngắt sau khi được kết nối

    Hướng dẫn cấu hình tắt SIP ALG trên thiết bị tường lửa FortiGate:
    - Thực hiện những câu lệnh trên giao diện CLI (command line) của tường lửa FortiGate

    config system setting
    set sip-expectation disable
    set sip-nat-trace disable
    set default-voip-alg-mode kernel-helper-based
    end

    - Tìm vị trí SIP trên session-helper

    config system session-helper
    show
    - Xoá SIP (ở đây với SIP có số thứ tự 13, nó có thể ở vị trí khác tuỳ vào phiên bản FortiOS)
    delete 13
    end
    - Disable giao thức RTP trên Fortigate
    config voip profile
    edit default
    config sip
    set rtp disable
    end
    end
    - Reboot lại thiết bị để ghi nhận cấu hình.
     

trang này