At the end of this article, you will be able to configure the automatic provisioning feature in the PBX portal, for Yealink devices. Please note that the automatic device provisioning of alternative manufacturers is not currently not supported from within the PBX. Should you need any assistance, feel free to contact our support department.


Locating the MAC address and model number

Automatic device provisioning on the Yealink hardware is conducted via the unique device ID, this is known as a MAC address. The handsets fresh out of the box will call back to Yealink's provisioning services, recognised by the MAC address, and then sent to VoIPcloud's provisioning server to download the configuration details. It is as simple as that.




So to start we must locate the MAC address and model number of your Yealink phone. Your MAC address can be located via the handsets web interface or looking at the bar-codes on the back of the device. The screenshot below outlines locating the address from the device.




The alternative way to locate the MAC address is accessing the device's web interface. For this, you should search the IP phone's local address in your network, then copy to your browser bar and enter the administrator credentials.




Automatic provisioning

Once you have logged into your customer portal, click on the PBX tab. Then select SIP devices from the bottom-left corner. Next, click on the chosen device and expand the "show advanced" option.




Within the options displayed, you should look for the Yealink MAC address field and enter the MAC address obtained on the first step. On top of this, you will need to enter the device model number from the drop-down list. It is highly important you do not enter in the same MAC address twice to 2 separate SIP devices.




Additionally, for security reasons and to avoid hacking attempts on the web GUI of the handset, we recommend altering the user password and admin password fields. Use a complex password from a password generator such as




You now need to save the configuration and plug the handset into an internet connection, please allow 10 minutes for the device to provisioning on the first attempt. The end result should be that your SIP device is registered on the handset you have connected it to, by utilising the MAC address. Lastly, the advanced CFG configuration window will allow you to enter in your custom commands to overwrite the default template. Popular options for advanced configurations are BLF, speed dial, or line keys, alternative device wallpapers, remote phonebooks, etc.




Obtaining Yealink provisioning resources

It is possible to adjust settings not included in the default provisioning template. However, for this, we will require the Yealink provisioning resources to locate the commands needed to adjust the settings. Navigate to, select support and documents and software from the menu. Next, click on the desktop IP phone option.




Chose the device you wish to locate the provisioning resources for from the list displayed. Scroll to the other documents and download the automatic provisioning template. Please note commands may change from device models so ensure you download your correct template for your device.




Once the zipped file has downloaded you will need to unzip and open the common.cfg file with a text editor like notepad. The common file will outline all the provisioning commands available for the device model selected, these will be required when utilising the advanced CFG configuration of your SIP devices.




Automatic provision of multiple SIP devices

When enabling automatic device provisioning it is also possible to configure multiple SIP accounts onto a single handset, as an example, you may be operating 2 different brands, that have different phone numbers associated, from the same physical user. By creating 2 SIP accounts you have the ability to adjust the caller ID to support the relevant brand when making an outbound call. So to start we will need to locate the second SIP account details to automatically provision. Log into your customer portal, select the PBX tab and then the SIP devices from the bottom left corner.




Now you must locate the SIP device you have previously provisioned, select the advanced CFG configuration window and enter the commands below plus the second SIP device registration details. It is also important to note that if you require further accounts you would update the account number for every additional device you add. For example account.3 for a third SIP device.


account.2.auth_name = 'SIP login'
account.2.display_name = 'yourlabel'
account.2.enable = 1
account.2.label =
account.2.nat.nat_traversal = 1
account.2.sip_server.1.address = 'SIP server'
account.2.sip_server.1.expires = 120
account.2.sip_server.1.port = 'SIP port'
account.2.sip_server.1.transport_type = 1
account.2.user_name = 'SIP login'
account.2.password = 'SIP password'




Don't forget to save and apply the new configuration and reboot the handset. Once the handset has rebooted the changes made to the advanced CFG configuration will be applied and you will be able to select the additional account fro the line drop down on the handset.




Adding direct station selection (DSS) keys

It is possible to configure the DSS keys on your phone through the advanced CFG configuration. DSS keys will allow you to configure speed dials for external numbers, busy lamp fields to monitor internal users and more. Select the SIP device you wish to configure the DSS keys for, use the commands below and add the user's internal number you wish to monitor, which is located inside the user object. Should you wish to set up alternative types of DSS keys please refer to the 'Obtaining Yealink provisioning resources' section of this article.


linekey.1.type = 'line key number'
linekey.1.value = 'internalnumber'
linekey.1.line = 1
linekey.1.label = 'yourlabel'
linekey.1.extension = 'internalnumber or ** if you would like to enable direct pickup'




Don't forget to save and apply the new configuration. The configuration has been downloaded by the phone after restarting the handset. The result can be seen in the image below.




Configuring a remote directory

Company directories or phonebooks can be automatically added to the device by utilising the advanced CFG configuration. You will have the option to add a single remote phonebook or multiples per device that are centrally controlled from the PBX portal. The first process of automatically configuring a remote directory is to copy the phonebook URL from the PBX as outlined in the screenshot below.




Using the remote phonebook commands below, paste the URL. Should you require multiple remote phonebooks you must increase the phonebook data variable by 1 for each phonebook added. For example, = for the second remote phonebook you add. =
remote_phonebook.display_name =
features.remote_phonebook.enable = 1
features.remote_phonebook.flash_time = 3600
directory_setting.remote_phonebook_book.enable = 1




Don't forget to save and apply the new configuration. Reboot the Yealink device and you will now see your remote phonebook inside the directory.




Updating wallpapers and time zone

Using the default template will utilise the VoIPcloud Wholesale branding on the devices once they automatically provision. If you would like to update the branding used you will have the option to set your logo inside the advance CFG window by using the command below. Ensure your logo is in the correct format as specified by Yealink's screen size requirements.


(Device wallpaper)
wallpaper_upload.url =
phone_setting.backgrounds = 000.jpg

(Expansion module) 
wallpaper_upload.url =
expansion_module.backgrounds = 001.jpg


To update the time zone and enable automatic daylight savings you will require the commands below.


local_time.summer_time = (0-Disabled;1-Enabled;2-Automatic) 
local_time.time_format = (0-Hour 12;1-Hour 24)
local_time.date_format = (0-WWW MMM DD;1-DD-MMM-YY; 2-YYYY-MM-DD; 3-DD/MM/YYYY; 4-MM/DD/YY; 5-DD MMM YYYY; 6-WWW DD MMM)
local_time.ntp_server1 = 'local ntp server address' 
local_time.time_zone = 'time zone offset from GMT eg, +10'
local_time.time_zone_name = 'time zone name eg. Australia(Sydney,Melbourne,Canberra)'




Don't forget to save and apply the new configuration once you have added the additional commands to the CFG window, then reboot the handset.




Adding a distinctive ring tone

It is possible from the automatic provisioning to configure a distinctive ring tone when calls arrive from an alternative location and pass through a caller ID prefix object. So for example, if you have a special number for premium support you have the option to change the ring tone on the Yealink handset to alert users that an important call is arriving. To start you will need to locate your alert info tag from the caller ID prefix you have configured.




Then entering the commands below into your advanced CFG configuration of the device you would like to automatically provision, add your alert info tag and select your desired ring tone to the equals clauses of the commands. Once completed, save and apply the new configuration, and reboot the handset to download the new provisioning details.


distinctive_ring_tones.alert_info.1.ringer = Resource:Ring4.wav
distinctive_ring_tones.alert_info.1.text = 'your alert info tag'




Forcing time-based automatic provisioning requests

When enabling automatic device provisioning there are a couple of ways the devices will download the provisioning files. The first is during bootup and the second is software initiated. With the first option, the easiest method is to power cycle the handset or network PoE switch to download a fresh provisioning file. Alternatively, it is possible to log into the web GUI of the handset by locating the IP address of the device and entering into a web browser. Once you have logged in you can force a re-provision request from the settings and auto-provision tab as outlined below.




The second option is to enable an automatic time-based download of the provisioning file and this can be configured from inside the advanced CFG configuration of your devices by utilising the commands below.


static.auto_provision.repeat.enable = (0-Off;1-On)
static.auto_provision.repeat.minutes = (Integer from 1 to 43200)




Watch this in action

The video below will show you a visual representation of the areas covered throughout this knowledge base guide.