Showing results for 
Search instead for 
Did you mean: 


3CX and CP 8800: Most Recommended Provisioning Method?

I have an IP Phone 8861 3pcc phone that I am currently trying to provision on a 3CX pbx located on a Windows Server2016 vps instance. The 3CX community was helpful in suggesting I use the fairly straight forward and common provisioning method for generic SIP configuration, i.e. sip server address, proxy, user id (extension number) password, and auth ID. It doesn't appear to be working, as we're getting registration failed on line 1. Our SIP port is set to 5060, protocol is set to UDP, and I tried with SIP100REL enabled and disabled. No dice. I don't have anything in the SIP URI field, is that required? 3CX generally does not require or display URI's for the provisioning info. Is there anything I am missing?

Any configuration method that gets making and receiving calls to work will do for this case, as we aren't dealing with conferencing.



Accepted Solutions

Yes I don't see any harm in doing that. The parameters are all the same for basic functionality on all MPP range. If the phone does not recognize some parameters, it should ignore it. 

View solution in original post

Geovani Goncalves
Cisco Employee


3CX doesn't officially support MPP/3PCC devices, but you might get away by registering using an old Cisco profile, such as 7960.

When creating the phone, take a look at the available models and try a few. 

What you can also do is download one of the SPA models xml file from 3CX and modify it to suit MPP/3PCC.

I saw a video by Network Chuck some time ago ( and he uses a 3PCC/MPP 7821 and register it to 3CX. Might be help full 

Good luck 


Thanks to 3CX, we can setup a CRAZY awesome phone system on a Raspberry Pi 4. Get 3CX for free here:*Sponsored by 3CXBUY a Raspberry P...

Thanks for that info, Geovani. I saw information on the 7961 configuration provisioning, and it said that these phones could not connect to a cloud instance. So if I'm running a vps through vultr on a static IP when all the necessary ports accepting inbound connections, will the 8861 not mind and connect to it anyway as if it is an on-premises pbx?

Meanwhile, do the 7961 mpp and the 8861 mpp use the same configuration structure? From the video that was posted it doesn't look like he had to do much of anything else to get his mpp phone up and running, and was able to follow the close-to-standard provisioning process.

While 3cx has direct support for the SPA line those phones do not appear to have the voice feedback accessibility service which only the CP8800s have.


The 8861 3PCC/MPP range will be able to connect to a cloud PBX with no issues. It doesn't need to be on prem. 

The 7961 uses xml structure as well, but I don't know if all the parameters are the same. Worth a shot though. 


I did notice some similarities. It appears what we'll have to do is change the useragent strings from the 7961 ua string to the 8861 ua.

Hi Geovani. I modified the Cisco 79xx config file. I replaced the model ua strings, like so:

<model ua="Cisco-CP8861">Cisco 7940-cisco8800</model>

After downloading SIP(mac address).cnf, I uploaded it to the tftp server on my Windows instance. UDP port 69 accepts inbound connections, as reported by my phone. When it downloaded the cnf file, I checked line 1 and it reported registration failed. Looking at provisioning status, it claimed hte provision was failed due to a corrupt file. For the record, I am pretty sure we are at least getting somewhere with this, as it is at least recognizing and downloading the file, and attempting to read it. When attempting a downloaded over http/https it predictably resulted in either download error or certificate error, so this time we know the configuration file is at least being downloaded and an attempt to read it is being made. For reference, here are the contents of the cnf file, with personally identifying information redacted. Am I missing something? Is this config file format compatible with the 8861?

Thanks in advance!


#Setting for 3CX Phone System Server

proxy_register: 1
proxy1_address: server IP
proxy1_port: 5060

proxy2_address: ip address
proxy2_port: 5060

proxy3_address: ip address
proxy3_port: 5060

proxy4_address: ip address
proxy4_port: 5060

proxy5_address: ip address
proxy5_port: 5060

proxy6_address: ip address
proxy6_port: 5060

timer_register_expires: "900"

# Outbound Proxy
outbound_proxy: ""
outbound_proxy_port: ""


sntp_server: ""
sntp_mode: unicast
time_zone: "EST"
dst_offset: 1
dst_start_month: March
dst_start_day_of_week: Sun
dst_start_week_of_month: 8
dst_start_time: 01
dst_stop_month: Oct
dst_stop_day_of_week: Sun
dst_stop_week_of_month: 8
dst_stop_time: 02
dst_auto_adjust: 1
time_format_24hr: 1
date_format : M/D/Y

#Line 1 Setting
line1_name: "000"
line1_authname: **redacted, auth id obtained from 3cx**
line1_displayname: Main Line
line1_password: **redacted**
line1_shortname: shortname

#Line 2 Setting
line2_name: see above
line2_authname: see above
line2_displayname: "see above
line2_password: see above
line2_shortname: see above


#Default Codec
preferred_codec: g711ulaw

#3CX Phone System Tbook max 32 entries
directory_url: ""

#3CX Logo
logo_url: ""


# NAT/Firewall Traversal
nat_enable: "1"
nat_address: ""
voip_control_port: "5060"
start_media_port: "16384"
end_media_port: "32766"
nat_received_processing: "0"

# Display Name of Phone in right upper conrner
phone_label: "3CX 000"

# Remote Debugging via Telnet (0-Disabled, 1-Enabled, 2-Privileged)
telnet_level: "2"
phone_prompt: "3CXPhoneSystem"
phone_password: "cisco"

**update** More information about the 3cx problem. It appears to be an issue with the way the phone is being configured for 3cx specifically. I had a feeling it was, but to confirm I set the phone up with Callcentric, went off without a hitch. Although I did find out that the handset is making this god-awful static buzz and not receiving any call audio, even though picking up the handset does place a call. I did find a wideband handset replacement since it's a widely old spare part, so I will be getting one of those. Meanwhile, any help with waht might be going wrong with the 3cx configuration would be much appreciated. Thanks!

First of all, the problem with the handset was fixed, turns out it was plugged into the wrong rj9 port. Ok, so I am back again at the provisioning for 3cx, and I am getting "failed no response" upon loading these settings for extension 1. For the record, while all this is happening, the configured Callcentric line on the cp8861 worked without a problem, and provisioning with 3c on another windows-based sip phone (microsip) worked without a problem. Both the computer with Microsip and the cp861 are on the same network, connecting to the same 3cx pbx located on a static ip of hte Vultr Windows Server2016 instance running it.

Here are the settings for extension 1.

Nat enabled: no
SIP TOS/DiffServ Value:
RTP TOS/DiffServ Value:

SIP Settings
SIP Transport:
SIP Port:
SIP 100REL Enable:
Auth Resync-Reboot:
SIP Proxy-Require:

SIP Remote-Party-ID:
Referor Bye Delay:
Refer-To Target Contact:
Referee Bye Delay:
Refer Target Bye Delay:
Sticky 183:
Ntfy Refer On 1xx-To-Inv:

Proxy and Registration
Outbound Proxy:
Alternate Proxy:
Alternate Outbound Proxy:
Use OB Proxy In Dialog:
Make Call Without Reg:
Register Expires:
Ans Call Without Reg:
DNS SRV Auto Prefix:
Proxy Fallback Intvl:
Proxy Redundancy Method:
Dual Registration:
Auto Register When Failover:
TLS Name Validate:

Subscriber Information
Display Name: extension 000's display name
User ID:
extension 000's password
Auth ID:
extension 000's alphanumeric auth id
Reversed Auth Realm:

SIP URi: None, should a sip uri be used for 3cx?

Also, Microsip asked for the username and domain in separate fields. For the cp8861, should the username be 000@ or just 000??

Help would be much appreciated.


So the problem seems to have taken care of itself, and the phone now properly registers to 3cx. So now, my question is:

Is there any way to pull the phone's configuration, whether it be a line-specific profile or the whole config, from the phone's web server? I didn't see anything in the administration guide about that, and I have a feeling that might be the best makeshift provisioning method for setting up more phones, given that auto-provisioning with 3cx is out of the question. Having nothing else to go off of I did enter phone url/admin/cfg.xml to see if that same config file was stored just as it was for SPA models, and low and behold it was. Given you can upload profile rules to the phone, I figure you can do the other way around to then carbon copy the config over to another phone for speed deployment?

Hi, glad to know if finally got it registered. 

What I did in the past was to copy the cfg.xml file into the template file in 3CX, so I could auto provision some phones, using the same provisioning URL used for the SPA phones. 

And yes, you can access the cfg.xml via url/admin/advanced/cfg.xml.

Thanks, that is what I was thinking. I assume that with the exception of phones that don't have wifi/bluetooth, the configuration structure for 8800 phones are identical, so I could plug line information from the 8861 config into any of the <general> sections for another 8800 phone's line setup?


Yes I don't see any harm in doing that. The parameters are all the same for basic functionality on all MPP range. If the phone does not recognize some parameters, it should ignore it. 

View solution in original post

One thing I have not found is a way for each line to have its own voicemail number mapped to the messages button. There's voicemail server in the provisioning settings for 3cx and CAllcentric, but only one voicemail number parameter in advanced/voice/phone. Is this simply not a feature the phone supports?

Callcentric's voicemail parameter is *86, but 3cx's is 999.

Content for Community-Ad