SIP client cannot re-register in the SIP server after switching ISP (different NAT)

Yes this is a Linux Kernel Bug with UDP + PPoE, with a newer Kernel it will be fixed in v7 with a newer kernel. Im surprised your script is working, because i could only truly reset these connections by disabling the interfaces for a couple of seconds.

My updated script as of now (Only use this in SIP + PPoE environments):

/ppp profile
set *0 on-down=":local einwahlether\r\
    \n:if ([/interface get [/interface pppoe-client get [find where disabled=no] interface] type]=\"vlan\") do={:set einwahlether ([/interface vlan get [find where vlan-id=31] interface])} else={:set einwahlether ([/interface pppoe-client get [find w\
    here disabled=no] interface])}\r\
    \n\r\
    \n:local einwahlppoe\r\
    \n:set einwahlppoe  ([/interface pppoe-client get [/interface pppoe-client find disabled=no] name])\r\
    \n\r\
    \n:if ([/interface ethernet find name=\$einwahlether disabled=no] !=\"\") do={\r\
    \n:if ([/interface pppoe-client find name=\$einwahlppoe disabled=no] !=\"\") do={\r\
    \n  /interface pppoe-client disable \$einwahlppoe\r\
    \n  /interface ethernet disable \$einwahlether\r\
    \n  delay 3\r\
    \n  /interface ethernet enable \$einwahlether\r\
    \n  delay 2\r\
    \n  /interface pppoe-client enable \$einwahlppoe\r\
    \n}\r\
    \n}\r\
    \n"


/system scheduler
add interval=5m name=activate-interfaces-every-5-min on-event=\
    "\r\
    \n/interface ethernet enable [find where disabled=yes comment!=\"disabled\"]\r\
    \n/interface pptp-client enable [find where disabled=yes comment!=\"disabled\"]\r\
    \n/interface pppoe-client enable [find where disabled=yes comment!=\"disabled\"]" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup

to note:
on some connections we have to use a VLAN for our PPoE Connection, in this case the script looks up which ethernet uses the vlan and turns it off for a a couple of seconds.
the scheduler script is sometimes a live safer, for some reason there is a possibility, that after a script the ethernet and the pppoe interface are down after a reboot, the script ensures that they’re getting turned back on again, if there are ether-interfaces which shall stay down: set the comment “disabled” on them.

I recommend using an own /ppp profile, as of now i just use different ones for VPNs etc, but for easier managament it would probably be the best to create an own profile.