Configuring IP Phones using provisioning

3CX Version 15

Once 3CX is installed, you can configure your IP phones and assign an extension to each phone. In order to do this, you must provision the IP phones. Although phones can be configured one by one manually using their web interface, this is impractical as it leads to many errors and deployment time is increased drastically. Furthermore, ongoing management of the IP phones is almost impossible.


Therefore 3CX requires you to use phone provisioning. Using this method you instruct the phone to retrieve its configuration from 3CX Phone System. Once you provision a phone, the phone will automatically configure itself correctly and you will be able to manage the phones centrally and remotely and without having to login to the phones web interface  one by one.

Phone provisioning greatly eases day to day management of IP phones. It makes it easy to change extension passwords, BLF lights and so on because you can do it centrally for all phones from the 3CX Management Console and then push the changes to the phone. The following provisioning methods are supported:

  • Plug and Play - Supported IP phones can be provisioned automatically using plug and play 
    (Applicable for phones on the local LAN or a 3CX SBC)
  • Via RPS - Supported phones can be configured as remote extensions using an RPS server
    (Applicable for remote extensions using direct SIP/STUN configuration)
  • Via Manual Provisioning URL - Supported IP phones can be provisioned by entering the provisioning URL into the phone's’ web interface
    (Applicable for local, remote and SBC extensions)
  • Via DHCP Option 66- Legacy phones (from a previous PBX installation, e.g. Polycom, Cisco or Aastra) can be provisioned via DHCP for use in the local LAN only.  Some limitations apply.

You can find a list of supported and legacy phones here. Spend the extra half an hour to provision the phones and save countless hours going forward!

Provisioning phones using Plug and Play (for local LAN and SBC)


Note: PnP provisioning requires that the 3CX Phone System runs on the default sip port 5060 and that the IP phones resides on the same local lan subnet as 3CX or behind a SBC. In these cases you must use DHCP 66 or manually configure the URL in the phones. See how for Snom, Htek, Fanvil and Yealink here.

To auto provision phones using Plug and Play:

  1. Plug the phone into the network.
  2. The phone will send a multicast message across the LAN. This will be picked up by 3CX Phone System.
  3. The phone will show up in the Phones node in the 3CX Management Console as a new phone. 
  4. Now assign it to an existing extension or create a new one.
  5. You will then be taken to the extension’s provisioning tab where you can specify other configuration settings for the phone.
  6. Leave “Provisioning Method”, Mac Address default
  7. Select “Phone Display Language” and “Timezone” for the phone.
  8. Click OK.
  9. The phone will be sent a link to the configuration file with the settings you specified and configure itself.
  10. The phone will apply the settings and connect to 3CX Phone System. The IP phone will be manageable from within the 3CX Management Console.

Provisioning Phones using RPS (Direct SIP/Stun)

Remote phones that are not behind a 3CX SBC must be configured via the 3CX RPS server. To provision a phone using RPS:

  1. From the Phones node in the 3CX Management Console, select Add Phone.
  2. Select the extension for which this phone is.
  3. Enter the MAC address of the phone (which can be found at the bottom of the phone).
  4. Select the appropriate phone model from the drop down menu.
  5. In the Provisioning Method drop-down menu, select Direct SIP (STUN - Remote).
  6. Select “Phone Display Language” and “Timezone” for the phone.
  7. Click OK. The provisioning files will now be created and the link published to the RPS server. You can check the server Event Log if the RPS was successfully sent


  1. Connect the phone to the network within 14 days.
  2. The phone will boot up and request a username and password. Enter the corresponding extension number as username and voicemail pin for that extension as password - it should be provisioned automatically.

If you don’t want to use RPS, you can insert the provisioning link manually into the phones. You can find it in extension configuration Phone Provisioning tab.


Provisioning Legacy phones: Cisco, Polycom & Aastra


Cisco, Polycom and Aastra phones do not support plug and play nor secure HTTPS provisioning with a Let’s encrypt Root CA. They can only be used on the local LAN and must be provisioned as follows:

  1. Download the firmware that has been tested by 3CX with the legacy phones.
  2. Factory reset your phones to ensure that there are no old settings that might conflict with the new configuration. Find out how here for Aastra, Cisco, Cisco SPA and Polycom SoundPoint / SoundStation.
  3. Now add the phone to an extension. You can do this from the phones page or you can go straight to the extension, provisioning tab. Click Add Phone. 
  4. Select your phone model.
  5. Enter the MAC address of the phone. You will be taken to the provisioning page.
  6. IMPORTANT: Take note of the provisioning link shown below the drop down. 


  1. Select Phone Display Language and Timezone for the phone.
  2. Leave Phone Web Page Password default.
  3. Click OK to add the phone to the extension.
  4. Now Configure the phone to retrieve the configuration from the 3CX provisioning folder. Use DHCP option 66 or configure the phones manually via their web interface with the 3CX provisioning link.