Two SIP Providers with Dual WAN (NAT'd)

Looking for some guidance.

We were running Asterisk 1.8.26 behind a PFSense FW with a single SIP provider with success for a number of years.

We wanted to add a second SIP provider on a separate WAN for redundancy, but we are running into an issue with comment ExternAddr in SIP.Conf.

We can get the new SIP provider to work by changing the Externaddr IP to the new WAN IP (but it kills the original SIP provider), since this argument is “Global” I dont see any way to have both SIP providers listed.

Are there other arguments we should be looking at. Or any recommendations on how to eliminate Externaddr as a required argument?

There’s no mechanism in chan_sip to have different external addresses I’m afraid, even in newer versions.

What mechanism exist to support two SIP providers behind a NAT’d environment?

Behind a single NAT the existing mechanism works fine. The problem is that no mechanism exists if each are going through a different internet connection and require external IP in the signaling.

In terms of the correct use of IP, the way to do this is by proper multihoming. For this, you will need an autonomous system number allocating and you will need to run routed with the Border Gateway Protocol. The result will be that your network can be accessed using either IP address from anywhere on the internet.

In practice you have to be a big user before you will be allocated an autonomous system number, and both ISPs will need to the sort that handle major corporate customers

you can try to route the network traffic based on the destination, but this might not work for some trunks. or put a sip proxy in front of asterisk that will rewrite the sip and sdp.

Would a SIP proxy (PFSense has a SIP Proxy Module) resolve the issue? What challenges would I need to look out for when using a SIP proxy?