Dual WAN failover working. SIP fails on primary return

Good evening all an interesting one for all out there.
Dual WAN with failover. Working well.
WAN 1 vlan (a.a.a.a/30) for data and vlan (b.b.b.b/29) for voice.
Wan 2 vlan (c.c.c.c/29) for data only.
WAN 1 fails. All traffic including voice fails over to wan 2 and works well. SIP registers and everything is happy.
When WAN 1 returns traffic transfers back to WAN1. all tcp traffic flows normally. UDP and ICMP traffic fail. When running a torch on the data and voice vlans on wan 1 it shows
SIP------ source address b.b.b.b dst-adress (sip server) sip.sip.sip.sip
you then see a return response of src address sip.sip.sip.sip dst-address c.c.c.c
if I clear all udp traffic in the ip firewall connections. everything registers as normal.

I have searched seems others have had this issue.
http://forum.mikrotik.com/t/mikrotik-router-sip-connection-blocked/31641/1
I have setup netwatch to monitor my gateway of VOIP vlan when it goes down then up it resets udp and icmp.

add down-script="/ip firewall connection remove [/ip firewall connection find where protocol=\"udp\"]\r\
    \n/ip firewall connection remove [/ip firewall connection find where protocol=\"icmp\"]" host=\
    172.16.4.81 interval=10s timeout=400ms up-script="/ip firewall connection remove [/ip firewall connect\
    ion find where protocol=\"udp\"]\r\
    \n/ip firewall connection remove [/ip firewall connection find where protocol=\"icmp\"]"

if anyone has better suggestion let me know

That is the best way to do, and works also seemingly.