I have recently installed FreePBX (version 22.214.171.124) in an attempt to migrate away from using Asterisk 13 with config files only.
The server is in a DC on a dedicated DMZ and a valid IPv4 address. I initially enabled the responsive firewall and configured the Cisco firewall to allow all traffic to the FreePBX host.
Initially I seemed to get on well; I created a PJSIP extension and then installed a softphone client (Zoiper 5) on a Windows PC that was running a VPN client, hence no NAT between the softphone and the FreePBX server. The softphone logged in successfully and I could call voicemail and was getting two-way audio (I could record a greeting successfully, etc.).
I then tried configuring a Cisco 8851 IP handset (running SIP firmware) to use the same extension (after killing Zoiper); however in this case I the phone is hidden behind NAT.
I have been unable to get the Cisco handset to log in via PJSIP, I have copied and pasted the password from the web interface and even tried changing it. With debugging enabled I can see the initial registration attempts coming from the phone, but no joy. In the debug packets I see the real IP address allocated to the handset in the caller-id as follows:
I then tried adding a chan_sip extension; configured nat in advanced settings (yes, force_rport, comedia) and then re-configured the Cisco handset to use the 5160 port on the FreePBX server and the new extension details. After a reboot it logged in straight away, but the moment I put the Cisco phone back to the PJSIP extension it fails.
I’ve found a few articles suggesting that PJSIP supports NAT without any additional settings, but I wanted to check here whether that is true?
I appreciate I could just switch over to chan_sip, but everything I have read suggests that pjsip is the future and it feels like I should work to get this up and running - any help offered here would be greatly appreciated!