I have been playing around with 7.7 CHR and decided to swap out my opnsense vm at home with CHR. I got everything moved over and running and was cleaning up some stuff from the transition. I had two public IPs in the router. The one I was testing with and the one from the original router. After removing the public test IP from the router so that only my original public IP remained my incoming calls to my pbx started failing. I didn't notice this until long after I removed the IP. We don't get many calls on our "land line" any more.
Checking the logs on the PBX it showed that registration was failing. After troubleshooting and doing some packet capture it appears that somehow the masquerade rule was holding onto the removed IP apparently just for sip traffic. I could see SIP packets captured that were sourced from the missing IP. The freepbx public ip check was coming up with the correct IP, and other computers on the network were showing the correct and current ip as well. I tried rebooting my pbx, turning off and then on the masquerade rule, turning on and then off the sip helper (it was off before), and I also double checked my nat rules to make sure I didn't still have the test ip listed anywhere.
In the end I gave up trying to figure out a cause and rebooted the CHR. Rebooting solved the issue. Not sure if anyone has run into anything like this before, but I can't recall running into anything like this under 6.x on actual hardware. This is my first real use of CHR, so I don't know what kind of quirks others have run into, but I thought I would post this just in case something similar happens to someone else.