?? How to renew SIP registration / connection from PBX after WAN failover ??

There is no standardized way to tell an ordinary SIP UA “please re-register now”, so your one (disable the Ethernet port so that L1 went down and then re-enable it) is the only way. And, of course, the SIP UA must be connected to that Ethernet port directly.

The command itself is /interface ethernet disable etherX ; :delay 10s ; /interface ethernet enable etherX


The last time I’ve seen everything to work inside the ISP network but no connection to the internet was a few hours ago. So it is really useful not to check just that the uplink interface is up but to ping some “immortal” addresses in the internet via the primary uplink. Better more than one IP because I’ve even heard about some regional issues with Google DNS recently. See this topic for details. But as this method is scripting-free, it doesn’t provide any hook points for triggering the ethernet port toggling, so you need e.g. /tool netwatch to monitor the “immortal” addresses as well - with a pair of dedicated routes per each immortal address, one with lower distance value via WAN1 and a blackhole one with higher distance, to prevent the netwatch probes from using WAN2. If monitoring multiple immortal addresses, the down-script of each netwatch would have to both publish its own state and check the state of the other one(s) in some global variables, so maybe a scheduled custom script is a better tool than the netwatch.


That’s normal as nothing bad happens to WAN2 when WAN1 comes back to life, so the connections that established via WAN2 stay active; however, unless you use policy routing with connection marking to make these connections keep routing via WAN2 although the WAN1 path is available, they fail because they send packets with WAN2 address via WAN1, which typically leads to these packets being dropped somewhere.


If you want the connections to start using WAN1 again, you indeed have to forcifully remove those that run via WAN2. But you may want to do that selectively, like /ip firewall connection remove [find where dst-address~“ip.of.the.sip.exchange” reply-dst-address~“ip.of.wan2”]
If using the netwatch, you’d put this into up-script.