| Description | This article describes why disabling the SIP session helper sometimes does not fix the connectivity issues with the SIP traffic. |
| Scope | FortiGate. |
| Solution |
Certain VOIP implementations do not require FortiGate's built-in SIP session helper. In a non-vdom mode, it can be disabled by deleting it from the firewall. In a multi-vdom mode, if certain VDOMs need to use the session helper, then it cannot be removed from the global VDOM, instead, a custom firewall service can be used to disable the SIP helper per VDOM.
However, even after following the above steps, SIP traffic may encounter intermittent connectivity issues if existing SIP sessions are not cleared from the firewall after disabling or removing the SIP helper.
Example : SIP device 172.16.1.240----LAN Network----(VIP)FortiGate(WAN192.168.10.10)-----ISP------SIP Server 172.16.10.10
In the following session output, even though the SIP session helper is disabled, the session below is still utilizing it. As a result, it is using an incorrect policy_id in the session output. This also interferes with the DNAT process for this SIP traffic.
If session info has a 'helper=sip', then the session helper is used, policy_dir=1 represents traffic in the original direction, and policy_dir=0 is for the traffic in the reply direction.
session info: proto=17 proto_state=00 duration=1726 expire=1797 timeout=0 flags=00000000 socktype=0 sockport=0 av_idx=0 use
The above SIP session is failing and still using a helper because of an existing session that was not cleared after the session helper was disabled/removed. This also creates an expectation session. The expectation session can be verified using the 'diagnose sys session list expectations' command. Hence, session 1 is using policy ID 10 instead of 11. The session below was not cleared.
session info: proto=17 proto_state=01 duration=8291155 expire=3609 timeout=3610 flags=00000000 socktype=0 sockport=0 av_idx
After all sessions for port 5060 are cleared, the SIP helper is no longer utilized, and the traffic begins to match the correct policy.
session info: proto=17 proto_state=00 duration=1 expire=178 timeout=0 flags=00000000 socktype=0 sockport=0 av_idx=0 use=3
The following commands can be used to clear the SIP sessions:
diagnose sys session filter clear
Related articles: |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.