[FAQ] Using Enhanced Feature Keys / EFK macros to change key functions for hardware button / keys

Polycom Employee & Community Manager

[FAQ] Using Enhanced Feature Keys / EFK macros to change key functions for hardware button / keys

This post explains the possibility using Enhanced Feature Keys / EFK macros to change key functions for hardware keys.


NEW: Since VVX UC Software 5.7.0 the new parameter feature.EFKLineKey.enabled="1" => here <= can be used instead to assign this to a free line key.


Many other examples involving Soft Keys can be found using the Forum Search.


Using the unzipped attachments allow a user to import these via their Web Interface using UC Software 4.0.0 or later.


NOTE: This feature is available on SoundPoint IP 32x/33x, 450, 550, 560, 650, and 670, SoundStation IP 5000, 6000 and 7000, and VVX 1500 running UCS 3.3.0 or newer. All VVX models support this in addition.

Please be aware that limited functionality on certain Platforms may occur if an older Version like SIP 3.2.x or older is used.


Default Feature Key Layouts 


  • SIP 3.1 Admin Guide Page C - 12
  • SIP 3.2.2 Admin Guide Page C - 13
  • UCS 3.3.0 Admin Guide Page C - 11
  • UCS 4.0.1 Admin Guide Page 350
  • UCS 4.1.0 Admin Guide Page 362
  • UCS 5.0.0 Admin Guide Page 346
  • UCS 5.0.1 Admin Guide Page 346
  • UCS 5.1.0 Admin Guide Page 350
  • UCS 5.2.0 Admin Guide Page 397
  • UCS 5.3.0 Admin Guide Page 302
  • UCS 5.4.0 Admin Guide Page 278
  • UCS 5.4.1 Admin Guide Page 286
  • UCS 5.5.0 Admin Guide Page 461
  • UCS 5.5.0 Admin Guide Page 130
  • UCS 5.7.0 Admin Guide Page 462
  • UCS 5.8.0 Admin Guide Page 662
  • UCS 5.8.1 >here<
  • UCS 5.9.0 >here<
  • UCS 6.0.0 >here<
  • UCS 6.1.0 >here<
  • UCS 6.3.0 >here<





Option 1:


A User may want to change the functionality of the Do Not Disturb Button to match a Code / Key Sequence used by their SIP Platform.


NOTE: Below example has been tested with a SoundPoint IP 650 running UCS 4.0.4 and may differ from any other Phone Model. Please consult the Administrator Guide for further details.


Note: This functionality has been added in UC Software 4.0.0 and later


The configuration used in this example is as follows: 



<key key.SPIP650.9.function.prim="$FDoNotDisturb$^*76$Tinvite$" feature.enhancedFeatureKeys.enabled="1" />



  • The DND Hardware Button Number 9 is re-assigned via the key.SPIP650.9.function.prim="$FDoNotDisturb$^*76$Tinvite$"

    Note: In the above example, the key is being re-assigned only on a SPIP650!

  • The EFK Functionality is activated via the feature.enhancedFeatureKeys.enabled="1"

Pressing the DND Hardware Button on the Phone dials the *76 Code on the SIP Server and displays the DND Status on the Phone.


NOTE: The Code depends on your SIP Server and you may need to liaise with your SIP Provider


In a non-active state:




In a DND State:




Option 2:


Simply disabling a Hardware Button


Using a SPIP650 in below example in order to disable the DND Button (9) utilizing the substitution method by specifying the phone model.


<key key.SPIP650.9.function.prim="Null"/>

 Above example, configuration disables the DND Button so it can no longer be used.


Option 3:


Assign the Directories hard key directly to the phone call list and the Applications button directly to a URL


Note: This functionality has been added in UC Software 4.0.0 and later



<hardkey feature.enhancedFeatureKeys.enabled="1" key.30.function.prim="$FDirectories$$FDialpad2$"  key.29.function.prim="http://www.polycom.com/" />



Above example does as follows:


  • assigns the Directories Hardkey on a SPIP 650 (30) to the Phones Call list via key.30.function.prim="$FDirectories$$FDialpad2$"

  • assigns the Applications Hardkey on a SPIP 650 (29) to the defined URL which opens in the Microbrowser via key.29.function.prim="http://www.polycom.com/".


Possible Keys to map Internal Key Functions for all examples are:


NOTE: Please check the Internal Key Functions within the relevant Admin Guide or => here <= for more options! 


Line1 Line21 Line41 Softkey1 DoNotDisturb
Line2 Line22 Line42 Softkey2 Select
Line3 Line23 Line43 Softkey3 Conference
Line4 Line24 Line44 Softkey4 Transfer
Line5 Line25 Line45 Softkey5 Redial
Line6 Line26 Line46 VolDown Hold
Line7 Line27 Line47 VolUp Status
Line8 Line28 Line48 Headset CallList
Line9 Line29 Dialpad0 Handsfree SpeedDial
Line10 Line30 Dialpad1 MicMute SpeedDialMenu 
Line11 Line31 Dialpad2 Menu Release
Line12 Line32 Dialpad3 Messages Talk
Line13 Line33 Dialpad4 Applications Video
Line14 Line34 Dialpad5 Directories Offline
Line15 Line35 Dialpad6 Setup  
Line16 Line36 Dialpad7 ArrowUp  
Line17 Line37 Dialpad8 ArrowDown  
Line18 Line38 Dialpad9 ArrowLeft  
Line19 Line39 DialPadStar ArrowRight  
Line20 Line40 DialPadPound Backspace  


Option 4:


Use a Speed Dial in order to dial a number and then pause and output additional digits.



<pause feature.enhancedFeatureKeys.enabled="1" efk.efklist.1.action.string="501$Tinvite$$Cwc$,,1234#$Tdtmf$"  efk.efklist.1.label="number" efk.efklist.1.mname="number" efk.efklist.1.status="1" />




In addition a Speed Dial Directory file  000000000000-directory.xml or <mac>-directory.xml is needed with the following content:



<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- $RCSfile: 000000000000-directory.xml,v $  $Revision: 1.3 $ -->



Above example does as follows:


  • The EFK Functionality is activated via the feature.enhancedFeatureKeys.enabled="1"

  • The actual action is efk.efklist.1.action.string="501$Tinvite$$Cwc$,,1234#$Tdtmf$

    501 is dialled via 501$Tinvite$
    We wait for the call to be in a connected state via $Cwc$
    We then wait 4 seconds and then send 1234 DTMF via,,1234#$Tdtmf$"
    , equals a 2-second pause
    p equals a 1-second pause

  • We match the Speed Dial contact <ct>!number</ct> via the efk.efklist.1.mname="number"

  • We use efk.efklist.1.label="number" to label the EFK list as a simple name for identification of the Key.

  • We enable the efklist via efk.efklist.1.status="1" 

  • The name of the Key is defined by the <fn>CallNumber</fn>


The Phone will show the added Speed Dial as a Key:




Option 5:


Use the Line Key 2 on a SPIP321/SPIP331/SPIP335 for VoiceMail




<key key.10.function.prim="$FMessages$" feature.enhancedFeatureKeys.enabled="1" />




<test key.10.function.prim="*98"  feature.enhancedFeatureKeys.enabled="1" /> 



If official support is required please check how to phone or open a case here

The title Poly Employee & Community Manager is a community setting and does not reflect my role. I am just a simple volunteer in the community like everybody else. All posts and words are my own & do not represent the views of Employer.


⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓ SIGNATURE ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
Notice: This community forum is not an official Poly support resource, thus responses from Poly employees, partners, and customers alike are best-effort in attempts to share learned knowledge.
Please also ensure you always check the VoIP , Video Endpoint , Microsoft Voice , PSTN or other FAQ's in the different sections