Howto:Disable Function Key Modification On Phone UI

From innovaphone wiki
Jump to navigation Jump to search

Starting with Versions V8HF8 and V9, one can actively disable the modification of function keys on the phone user-interface. Thus, only the administrator could setup the function key map through the web user interface.


* Note: Up to version 9hf3 this feature is only for disabling the modification of configured function keys, new function keys can be set on the phone.

List of function keys:

.							Example 2				Example 3
.
UNDEF		=  0,	// not configured		0					0
DIAL		=  1,	// "dial"			0					0
CF		=  2,	// "cf"				0					1
LOCK		=  3,	// "lock"			0	>> 0				1	>> C
.
RINGOFF		=  4,	// "ring-off"	         	0					1
CALLWAIT	=  5,	// "callwait"			0					1
CLIR		=  6,	// "clir"			0					1
HEADSET		=  7,	// "headset"			0	>> 0				1	>> F
.
PARTNER		=  8,	// "partner"			1					0
PICKUP		=  9,	// "pickup"			1					1
REG		= 10,	// "reg"			0					1
UNREG		= 11,	// "unreg"			0	>> 3				1	>> E
.
SWITCH		= 12,	// "switch"			0					1
HOTDESK		= 13,	// "hotdesk"			0					1
MWI		= 14,	// "mwi"			0					1
TRANSFER	= 15,	// "transfer"			0	>> 0				1	>> F
.
REDIRECT	= 16,	// "redirect"			0					1
PARK		= 17,	// "park"			0					1
ENABLE		= 18,	// "enable"			0					1
ACTIVE		= 19,	// "active"			0	>> 0				1	>> F
.
GROUP		= 20,	// "group"			0					1
DIR		= 21,	// "dir"			0					1
COND		= 22,	// "cond"			0					1
RECORD		= 23,	// "record"			0	>> 0				1	>> F
.
PRESENCE	= 24,   // "presence"			0					1
PROV		= 25,   // "prov"			0					1
TOGGLE		= 26,   // "toggle"			0					1
MESSAGE		= 27,   // "message"			0	>> 0				1	>> F
Example 1 = 0xFFFFFFF  (disable all function keys)
Example 2 = 0x0000300  (disable the modification of Partner and Pickup function keys)
Example 3 = 0xFFFFEFC  (allowed only the modification of Partner, dial and undef function keys)


Example: we want to disable the modification of Partner and Pickup function keys.

1) generate a 32bit mask with bits 8 (partner)and 9 (pickup) set:

printf %x $(((1<<8)+(1<<9)))
0x300

2a) Insert computed mask into "Function keys not modifiable on the phone" on the Phone->Protect page, activate.

Or alternatively:

2b) Set funcion key lock readonly mask

config add PHONE USER /funclock-ro-mask 0x300

Save and activate

config write
config activate

From now on, the function keys which cannot be viewed and modified will be marked by a leading asterisk (*) in front of their name in the Function Keys screen.

To return to default mode, where all function keys can be viewed and modified through the phone user interface as well:

1) delete mask from "Function keys not modifiable on the phone" on the Phone->Protect page, activate.

or alternatively

1b) invoke:

config rem PHONE USER /funclock-ro-mask
config write
config activate

See Reference9:Phone/Protect for details.

Coping with new Function Key Types

Over time, new function key types will be added. If their numerical index is not listed above, please request it by sending an email to presales@innovaphone.com.

If you don't want to disable specific key types but want to disable all except for a fixed set, then you should actually create a 32-bit mask with all 1 except for those type you want to allow. This will make sure new types will be locked too (at least, as long as this mask stays 32bit in the code).