Features/Mass Deployment/Setting Files/XML/Function Keys

From Snom User Wiki

Jump to: navigation, search

Contents


Introduction

The function key settings XML (<functionKeys> or <function-keys>) tag contains the free programmable function key configuration parameters. This XML tag can be used either

Syntax

The following tags are equivalent:

  • <functionKeys>
  • <function-keys>

individual xml file:

<?xml version="1.0" encoding="utf-8"?>
 <functionKeys>
  <fkey idx="<function_key_index)>" context="<function_key_context>" label="<function_key_label>" [default_text="<label_default_text>"] perm="<permission flag>"><value></fkey>
  ...
  <fkey idx="<function_key_index>" context="<function_key_context>" label="<function_key_label>" [default_text="<label_default_text>"] perm="<permission flag>"><value></fkey>
 </functionKeys>

inside <settings> tag:

 <functionKeys>
  <fkey idx="<function_key_index)>" context="<function_key_context>" label="<function_key_label>" [default_text="<label_default_text>"] perm="<permission flag>"><value></fkey>
  ...
  <fkey idx="<function_key_index>" context="<function_key_context>" label="<function_key_label>" [default_text="<label_default_text>"] perm="<permission flag>"><value></fkey>
 </functionKeys>
  • fkey tag may contain a definition of one "Free Function Key":
    • idx string defines the free function key index n:
      • 0...n
      • n= {Number of integrated free function keys (snom300:6;snom320/360/370/820:12; 870:15} + (Number of attached Expansion Modules * Number of expansion module keys))) - 1
      • n min (snom 320/360/370) = 11 (no expansion module attached)
      • n max (snom 320/360/370) = (12 + 3*Expansion Modules*42) -1 = 137 (3 expansion modules attached)
      • n min/max (snom300) = 5
    • context string defines the function_key_context
    • label string defines the function_key_label
    • lp string defines the function_key_longpress. When setting a value that is not the default value for this setting you have to also add clp="1".
    • default_text string defines the label_default_text. This attribute is optional and applicable only to self-labeling keys. It has no effect when the key is not self-labeling. When omitted on a self-labeling key, label_default_text remains unchanged.
    • perm string defines the <permission flag>
    • value string defines the function key value, optionally followed by a space and a value-specific argument. As of firmware versions 8.2.19 and 8.4 and above, xml subtrees can be used instead.

Example

  • Example file name: functionkeys.xml
<?xml version="1.0" encoding="utf-8"?>
<functionKeys>
 <fkey idx="0" context="active" perm="">line</fkey>
 <fkey idx="1" context="active" perm="">line</fkey>
 <fkey idx="2" context="active" perm="">keyevent F_REDIAL</fkey>
 <fkey idx="3" context="active" perm="">keyevent F_ADR_BOOK</fkey>
 <fkey idx="4" context="active" perm="">keyevent F_TRANSFER</fkey>
 <fkey idx="5" context="active" perm="">keyevent F_MUTE</fkey>
 <fkey idx="6" context="active" perm="">
   <general type="Remote Indicator">
     <default_state name="initial"/>
   </general>   
   <appearance>
     <line_info_layer>
       <line_format line="0">$state $type</line_info_layer>
       <line_format line="1">$continue $name</line_info_layer>
     </line_info_layer>
   </appearance>
   <subscription type="presence" for="numbers@snom.de" to="snom2@snom.de">
     <NotifyParsingRules type="applies">
       <level1 translates_to='OK'>/presence/dm:person/snom:preferred-uri[.="tel:+42 4711 0815"]</level1>
     </NotifyParsingRules>
     <NotifyParsingRules type="state">
       <level1 fetch_content='true'>/presence/dm:person/rpid:activities/snom:activity</level1>
       <default translates_to='unknown'/>
     </NotifyParsingRules>   
     <NotifyParsingRules type="variable" id="call_id" states="ringing,calling">     
       <level1 fetch_attribute="call-id">/dialog-info/dialog</level1>   
     </NotifyParsingRules>   
     <NotifyParsingRules type="variable" id="remote_tag" states="ringing,calling">     
       <level1 fetch_attribute="remote-tag">/dialog-info/dialog</level1>   
     </NotifyParsingRules>   
     <NotifyParsingRules type="variable" id="local_tag" states="ringing,calling">     
       <level1 fetch_attribute="local-tag">/dialog-info/dialog</level1>   
     </NotifyParsingRules>   
     <NotifyParsingRules type="variable" id="local_uri" states="ringing,calling">     
       <level1 fetch_attribute="uri">/dialog-info/dialog/local/target</level1>   
     </NotifyParsingRules>  
     <NotifyParsingRules type="variable" id="remote_uri" states="ringing,calling">     
       <level1 fetch_attribute="uri">/dialog-info/dialog/remote/target</level1>   
     </NotifyParsingRules>  
     <NotifyParsingRules type="variable" id="local_name" states="ringing,calling">     
       <level1 fetch_attribute="display">/dialog-info/dialog/local/identity</level1>   
     </NotifyParsingRules> 
     <NotifyParsingRules type="variable" id="remote_name" states="ringing,calling">     
       <level1 fetch_attribute="display">/dialog-info/dialog/remote/identity</level1>   
     </NotifyParsingRules> 
   </subscription>
   <action>
     <dial target="$(remote_name)<$(remote_uri)>" when="on press" state="ringing" request_uri="$(remote_uri)" replaces="$(call_id);to-tag=$(remote_tag);from-tag=$(local_tag)"/>
     <dial when="on release" target="*302*" states="connected,holding"/>
     <dial when="on press"   target="*43_keyXyPressed" />
   </action>
 </fkey>
</functionKeys>

Function Key Index Range D3xx/Funktionstasten-Indexbereich D3xx

  • Index ranges of the freely programmable function keys with LEDs or with self-labeling display labels on D3xx phones and their expansion modules.
  • Indexbereiche der frei programmierbaren Funktionstasten mit LEDs oder mit selbstbeschriftenden Displayfl├Ąchen auf den D3xx-Telefonen und ihren Erweiterungsmodulen.
Language Format Size Revision Notes
  • PDF
  • PDF
  • 45 KB
  • 46 KB
  • 1.0
  • 1.0
  • Function key index ranges D315, D345, D375
  • Funktionstasten-Indexbereiche D315, D345, D375


<functionKeys>
 <fkey idx="0" context="active" perm="$">line</fkey>
 <fkey idx="1" context="1" perm="&">dest &lt;sip:423@tst.org;user=phone&gt;</fkey>
 ...
 <fkey idx="53" context="12" perm="!">line</fkey>
</functionKeys>
Personal tools
Interoperability