Background: I have a site using VOIP with 2 internet links. We have been having issues with the VOIP trunk 'failing' randomly - the symptoms are that the traffic leaves the router but there is no return traffic. Clearing the connection (GUI - IP/Firewall/connection) fixes the issue.
The VOIP system (freeswitch) makes an outbound connection using UDP to Port 5060 on the providers server every 60 sec, because this is less than the UDP timeout (180 sec) this effectively keeps a 'hole' though the firewall to allow an inbound call from the Providers server to the freeswitch system.
What I found today:
The issue occurs when there is a failover using recursive routing - when the prime link goes down the traffic fails over to the backup link and the connection/NAT(*) changes to use the Public address on the backup link. When the prime link comes back up the traffic fails back to the prime link BUT the connection/NAT does not reset and so traffic is being sent via the Prime link but using the public address of the backup link.
(*) - what I mean is the reply-dst-address as shown in the connection properties.
I don't think it is relevant but this traffic is using routing marks and a specific routing table.
ROS version is 6.48.6 MipsBE.
Initial state - routing via main link interface with address A.A.A.A - connection shows reply-dst-address/port of A.A.A.A:5080
With prime route down - routing via backup link interface with address B.B.B.B - connection shows reply-dst-address/port of B.B.B.B:5080
Prime route comes back up - routing via main link interface with address A.A.A.A - connection shows reply-dst-address/port of B.B.B.B:5080
Is this 'expected behaviour' - or should the NAT tables be cleared on a routing change to ensure that the connections are using the 'correct' external IP address for the connection in use?
I am not sure if the physical port (ethernet) always goes down on the prime link when it fails - it did today when testing remotely as I could only force a failover by rebooting the primary ISP router - so I am not sure if the NAT behaviour on failover to backup is different if the ethernet port on the prime link stays up.