Internal IP being sent instead of Public in Contact and VIA headers

We have been working to get our Lumen trunk configured with FreePBX but are running into an issue with a busy signal not letting calls go through. We had to make a lot of changes to even get the trunk to register and I am not sure what could need changed in relation to this. The REGISTER messages are being sent and received on Lumen’s end, but they are receiving the internal IP of the PBX rather than the WAN IP we are NATing. Lumen says both the Contact and VIA headers are showing this internal address, but when I check our firewall and PBX settings all are showing the Public IP. Below are some additional details if it helps. What settings in the PBX could be causing this?

We receive Registrations from public IP 199.117.66.215 to Lumens SBC 65.149.36.151, but in there registration it tells us to send traffic back to a private non internet routable IP 172.18.10.29.

The contact and via header IP should be the public 199.117.66.215.

REGISTER sip:voip.centurylink.com:5100 SIP/2.0

Via: SIP/2.0/UDP 172.18.10.29:5060;rport;branch=z9hG4bKPKJAXSF7SD-4791-8215-1e56f155c187 🡨-------- should be PUBLIC IP

From: sip:[email protected];tag=98679afc1-29c9-4351-u76b-eb114d1532016

To: sip:[email protected]

Call-ID: 6b55fa3a-a4b1-4e6c-ba5b-e29208fabbc6

CSeq: 12863 REGISTER

Contact: sip:USERNAME@172.18.10.29:5060;line=wfiufny 🡨-------- should be PUBLIC IP

Expires: 3600

Allow: OPTIONS, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INFO, MESSAGE, REFER

Max-Forwards: 70

User-Agent: PBXact-17.0.19.23(21.5.0)

Content-Length: 0

See my answer to the next thread down (at the moment): Issues with IP Public in "Contact" - #2 by david55