Dual Wan failover

I don’t see why you would have to force traffic out a specific route. Your pfsense takes care of the failover from one internet connection to the other but Asterisk has to find out about your external IP address being different.
You can accomplish that by using a hostname in your SIP settings instead of a fixed IP.

You would then need a mechanism so that your hostname resolves to your currently active external IP address by using some DDNS service or use the one you get when you purchase Freepbx sysadmin pro.