Our Setup: 3CX Version: 12.5 Primary External Network: 65.xx.xxx.xx Secondary External Network: 172.xxx.xx.xxx IP Phones: Cisco IP Phone 7940 First of all, our 3CX has been in production for a while now. We have recently order new SIP trunking service along with an other external internet feed. The service pretty much worked off the bat. Both inbound and outbounds was able to make calls and received calls just fine. Then I started to notice that the IP Phone was not hanging up after the call like it does with our other service. For example, when making an outbound call, the call would connect and when the recipient hangs up, the IP Phone continues to hold on to the call. Same with inbounds call; when the caller hangs up, the IP phone would continue to hold on to the call. And through investigate with my SIP provider we found that the header information was going out with the wrong IP (65.xx.xxx.xx) instead of 172.xxx.xx.xxx. So after a whole bunch of try and error, I'm now at this state: Under the SIP Truck Settings: - Advanced tab -> Registration Settings -> Which IP to use in 'Contact' and 'Connection' SIP fields -> using Use this IP Address: 172.xxx.xx.xxx - Outbound Parameters -> Contact : Host Part -> Leave Default Value (default option: "ContactUri" usually, content of Contract field) With the above settings, outbound calls are not hanging up correctly (whether it hangup is trigger by caller or recipient). Now I am still having a problem with inbound calls. I have tried changing the options on Inbound Parameters: - "ContactUri" usually, content of Contact -> Tried all options that have to do with "host" Can anyone suggest the correct place to fix this problem?