HI Rob Sorry for Delay,
I couldn’t find a solution for above issue from freepbx side. as a workaround I have decide to run a scheduled task to reload SIP. (so it will discover new public IP mapped to dyndns host name. Follow below article ;
Thanks Janaka