Concept

It is possible to customize the behavior and appearance of Yealink devices using device overrides to program the line keys and memory keys. Some of the more commonly used overrides are listed on this page.
Override Formatting
Overrides require NO spacing before or after the equals (=) sign, and the value given must be in quotes. Example: memorykey.1.line="1" This differs from the Yealink auto provisioning manual.
Deprecated Command
Yealink used to support '0' as a line option: linekey.1.line ="0". 0 represented an automatic line select option. This command now causes problems on v81 firmware, 0 is no longer supported. Instead you have to specify the line number: linekey.1.line ="1"


Yealink Admin Guide

To learn more about Yealink overrides in detail, please consult the auto-provisioning guide available in the Support Section of yealink's website.

Yealink Override Key Types

When programming a Yealink phone, the required settings will depend on which key is involved. There are 4 keys: Memory Key, Line Key, Programmable Key, and Expansion Module Key.

Memory Key

This is a physical key that is not located next to a screen, such as the side buttons on a Yealink T28P.
(Replace 'X' with the number of the key you are setting).

memorykey.X.line=
memorykey.X.value=
memorykey.X.pickup_value=
memorykey.X.type=
memorykey.X.xml_phonebook=

See Common Yealink Override Examples further below in this document
Line Key

This is a BLF Key located on either side of a screen.
(Replace 'X' with the number of the key you are setting).

linekey.X.line=
linekey.X.value=
linekey.X.pickup_value=
linekey.X.type=
linekey.X.xml_phonebook=
linekey.X.label=

See Common Yealink Override Examples further below in this document

Programmable Key

These are physical buttons, refer to Yealink's website for more information.
(Replace 'X' with the number of the key you are setting).

programablekey.X.type=
programablekey.X.line=
programablekey.X.value=
programablekey.X.xml_phonebook=
programablekey.X.history_type=
programablekey.X.label=

See Common Yealink Override Examples further below in this document
Expansion Module Key

These are keys located on Expansion Modules (side cars).
(Replace 'X' with the expansion module number, and Y with the number of the key you are setting).

expansion_module.X.key.Y.type=
expansion_module.X.key.Y.line=
expansion_module.X.key.Y.value=
expansion_module.X.key.Y.pickup_value=
expansion_module.X.key.Y.label=
expansion_module.X.key.Y.xml_phonebook=

See Common Yealink Override Examples further below in this document. 

Key Type Values

Each key 'type' has a numerical value from the table below.

#
Type
#
Type
#
Type
#
Type
#
Type
#
Type
#
Type
#
Type
0N/A1Conference2Forward3Transfer4Hold5DND7Call Return8SMS
9Call Pickup10Call Park11DTMF12Voicemail13Speed Dial14Intercom15Line16BLF
17URL18Group Listening34Hot Desking22XML Group23Group Pickup24Multicast Paging25Record27XML Browser
35URL Record38LDAP40Prefix42ACD43Local Group50Keypad Lock61Favorite  


The 'line' should be represented by the extension line number from 1-16.


Dial Plans

The first three Dial Now rules are in used by the generic config file and are shown below.

dialplan.dialnow.rule.1="1xxxxxxxxxx"
dialplan.dialnow.rule.2="[2-9]xxxxxxxxx"
dialplan.dialnow.rule.3="[469]11"

You can add additional dial now rules for faster extension dialing, as well as dial block rules.

dialplan.dialnow.rule.4=
dialplan.dialnow.rule.5=
dialplan.dialnow.rule.6=
dialplan.dialnow.rule.7=
dialplan.dialnow.rule.8=
dialplan.dialnow.rule.9=
dialplan.dialnow.rule.10=
dialplan.block_out.number.1 =
dialplan.block_out.number.2 =
dialplan.block_out.number.3 =
dialplan.block_out.number.4 =
dialplan.block_out.number.5 =
dialplan.block_out.number.6 =
dialplan.block_out.number.7 =
dialplan.block_out.number.8 =
dialplan.block_out.number.9 =
dialplan.block_out.number.10 =
Example Dialing Rules for Reference
123On the dialing interface, if you dial 123 and did not press the send key, the phone will call out 123 in one second automatically.
1.On the dialing interface, if you dial 10,11,12,...,19 and did not press the send key, the phone will call out to 10,11,12,...19, automatically.
2xx45

x stands for any digit. If you dial 21445 or 28745 and did not press the send key, the phone will call out in one second automatically.

3[0-5]On the dialing interface, if you dial 30,31,32,33,34,35 and did not press the send key, the phone will call out in one second automatically.
[0-3,6]On the dialing interface, if you dial 0,1,2,3,6 and did not press the send key, the phone will call out in one second automatically.

Directed Call Pickup

Directed call pickup is used for picking up an incoming call on a specific extension. A user can pick up the incoming call using a directed pickup key.

linekey.x.extension="*35"

where x is the dss key number

Multicast Paging

The following override consists of two parts:

  1. The 'listen' override lines will allow devices with this setting to receive pages from other devices.
  2. The 'linekey' override lines will allow devices with this setting to send pages to other devices.
#LISTENING INSTRUCTIONS - ADD TO ALL PHONES or DOMAIN OVERRIDE ?
multicast.listen_address.1.ip_address="224.5.6.20:10008"
multicast.listen_address.1.label="page all"
#ADD A BUTTON TO THE PHONE TO USE THIS FUNCTION -
linekey.2.type="24"
linekey.2.value="224.5.6.20:10008"
linekey.2.label="Page All"
#THIS OVERRIDE BELOW WILL NOT ALLOW THE CURRENT CALLER TO BE INTERRUPTED WHILE ON THE PHONE BY AN INCOMING PAGE
multicast.receive_priority.priority="0"

Background Idle Image

The following override will set a custom background image.

Supported Models:   SIP-T48G , SIP-T46G , SIP-T38G , SIP-T32G , VP530 

In this example, the file name of the image is phone.png - replace this with your actual file name in both lines of overrides.

phone_setting.backgrounds="Config:phone.png"
wallpaper_upload.url="http://yourdomain.com/phone.png"

Note: Replace 'phone.png' with the name of your image file. You must host the image on your own server. Remember: Overrides require NO spacing before or after the equals (=) sign, and the value given must be in quotes.

Image sizes:  Different model phones will only work with certain size images. Please refer to the manufacture information for more specific information.

Multiple Keys per Line

The following override will show the same line appearance that is programmed for Line 1 on the second programmable button (ie. linekey 2).

linekey.2.line="1"
linekey.2.type="15"
linekey.2.label="1000"

The tells the phone to use 'line' 1, type 15 is a Line Key Type, and to label the Line Key '1000'.

Distinctive Ring

The Distinctive Ring feature works by adding a department name to the Alert-Info header of the SIP INVITE message of internal calls. An endpoint that receives an invite can be configured to play a special ringtone based on the content.

See Full Setup Article: Distinctive Ring


Do Not Disturb - Feature Sync

You can use the following overrides with the Yealink phone to sync the DND feature button with the SkySwitch NDP

features.dnd.on_code="*78"
features.dnd.off_code="*79"

Mute the Microphone for Intercom Privacy

You can set privacy on your intercom to force the receiving party to un-mute their phone in order to begin talking, instead of answer & listen hands-free.

features.intercom.mute="1"

Disable Video (T49G/T58V)

Video can cause issues on some phone's or carriers accepting the SIP Invite. To disable video you can use the following Override.

video.enable="0"

You can also make video an option, by setting this to 2. The phone will prompt for audio or video when placing or receiving calls.

video.enable="2"

Installing Applications on Android Yealink Phones(T56/T58/CP960)

Installing Applications can only be done via auto-provisioning. There is no way to install applications from the WebUI.

To install an APK you must host the File on a web server. Do not install an APK unless you know it is Safe! Once you have the file on a local or public http server you can use the following overrides.

Install App
app.install_url="http://webaddress/appname.apk"
Uninstall App
app.uninstall="appname.apk"
App Permissions

If you install a trusted application, and it is unable to fully function due to Android OS Permissions, you can use the following override.

Warning: If the app contains Malware, damage can be done to the Yealink OS by setting permission to none (this is essentially giving admin privileges to the app)
pm.check_permission="none"

The default value for permissions is "standard". This override should be applied at the time that you install the app.


Common Yealink Override Examples

Overrides require NO spacing before or after the equals (=) sign, and the value given must be in quotes.

WARNING:  Be sure your "quotes" are vertical around your information, not slanted. If you use word processing applications like MS Word to prepare, it may change the style of the "quote" which will cause the information to not be read & ignored.


#Personalize your Display
account.1.label="ADD YOUR NAME"
account.1.display_name="ADD YOUR NAME"
#Line Appearance Key in on button 1
linekey.1.type="15"
linekey.1.line="1"
linekey.1.label="Line 1"
#BLF (Busy Lamp Field) key on button 2
linekey.2.type="16"
linekey.2.line="1"
linekey.2.label="Jenny"
linekey.2.value="101"
#Speed Dial key on button 3
linekey.3.type="13"
linekey.3.line="1"
linekey.3.label="Jenny Cell"
linekey.3.value="8008675309"
#Call Park with ringback on button 4
linekey.4.type="10"
linekey.4.line="1"
linekey.4.label="Call Park"
linekey.4.value="721"

Headset Ringing

When using a headset you can set your option of where you want your phone to ring (Speaker, Headset, or both.

(0 is speaker, 1 is headset, 2 is headset and speaker)

work.features.ringer_device.is_use_headset="2"

Transfer on Conference Hang up

It's possible to transfer a local conference call to the remaining participants of a call, so they may continue even after the host drops out.

This feature is disabled by default. The override shown below will enable the feature, "0" is used to disable it.

transfer.tran_others_after_conf_enable="1"

Firmware Updates

Version 84 is not yet officially Supported, but you can use the following overrides to upgrade. In cases where v84 is not available, our latest custom firmware is shown.

#T19_E2
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T19P_E2-53.84.0.15.rom "

#T21P_E2
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T21P_E2-52.84.0.15.rom"

#T23
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T23-44.84.0.15.rom"

#T27P
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/83/T27-45.83.0.65.rom"

#T27G
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T27G-69.84.0.80.rom"

#T29
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/83/T29-46.83.0.65.rom"

#T40P
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T40-54.84.0.15.rom"

#T40G
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T40G-76.84.0.15.rom"

#T41P
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/83/T41-36.83.0.65.rom"

#T42G
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/83/T42-29.83.0.50.rom"

#T46G
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/83/T46-28.83.0.65.rom"

#T48G
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/83/T48-35.83.0.65.rom"

#T41S, T42S, T46S, T48S

firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T4XS-66.84.0.80.rom"

#T52S and T54S
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T54ST52S-70.84.0.15.rom"

#T53/T53W

firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T53WT53-95.84.0.85.rom"

#T54W

firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T54W-96.84.0.85.rom"

#T57W

firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T57W-97.84.0.85.rom"

#T58A/T58V

firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/T58-58.84.0.10.rom"

#VP59

firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/84/VP59-91.283.0.30.rom"

#W52P or W56P Base
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/W52P&W56P-25.80.0.39.rom"

#W60B Base 
firmware.url.server_type="http"
firmware.url="http://sipcfg.io/frm/yealink/83/W60B-77.83.0.10.rom"

#W52P Handset Firmware
"http://sipcfg.io/frm/yealink/W52H-26.73.0.48.rom"

#W53H Handset Firmware
"http://sipcfg.io/frm/yealink/83/W53H-88.83.0.10.rom"

#W56H Handset Firmware
"http://sipcfg.io/frm/yealink/83/W56H-61.83.0.10.rom"

We do not host custom versions of Firmware for any Android based Yealink phone or Yealink Conference Phone.