Content
The function keys displayed on the deskphone can be modified and they may differ depending on the status the phone is currently on, and that can be done using the below parameters
- call_screen_fkeys_on_incoming
- call_screen_fkeys_on_outgoing
- call_screen_fkeys_on_connected
- call_screen_fkeys_on_holding
- fkeys_on_dialing
The key events that can be used to setup the keys are defined here Key Events
You may also need to change the key to something that isn't defined in the key event list, and that can be done by using the XML definitions, as explained here XML Definitions and here XML Definitions Tutorial
In this case, the easiest thing to do is to use the general purpose parameter general_purpose_xml_descriptions  to create the needed functionality, and to recall that when defining one key during a specific call state
EXAMPLE
I need to set a park button while I am in a call, and on my PBX the "park" functionality can be called using the code "*11"
I would then need to set a speed dial button to be used while in a connected call status, to speed dial "*11" and park the current call, but the "speedial" functionality is not available in the Key+Events list
To do so then, I can define one general_purpose_xml_descriptions parameter, and then modify the call_screen_fkeys_on_connected parameter
The two parameters will be defined like this:
<call_screen_fkeys_on_connected perm="">F_LEFT F_RIGHT GP_XML[0] F_CONF_ON F_HOLD transfer(not:Transfer) F_DUAL_AUDIO(not:Conference) F_DELETE_MSG F_CALLRECORD_CONTROL_ON</call_screen_fkeys_on_connected>
The GP_XML[0] will call the general_purpose_xml_descriptions definition, which is as below:
<general_purpose_xml_descriptions idx="0" perm=""> <initialization> <state value="blf_park"/> <variable name='label' value='Park'/> <identity value='1'/> </initialization> <action> <invite when="on press" target="*11"/> </action> </general_purpose_xml_descriptions>
In this case, the key will display the "Park" description while in a call, and show the "park" icon, and when pressed it will basically speed dial the number *11, so putting the call in park, as shown in the below screenshot
Attached, you can find the XML file with these two defined
Further Information
Related articles