Grandstream GXP2140 Programmable Keys Not Working

Status
Not open for further replies.

ricktendo

Member
Jun 12, 2021
40
5
8
I already officially bug reported, so far have not received any confirmation if anybody else was able to replicate.

I have been trying to add a Programmable category type key in my GXP2140 Device settings, it should configure one of three "Programmable Keys/Idle Screen Settings" but for some reason this is not working (Line, Memory and Expansion types work fine, just not Programmable)

Here is the section of code in question, I have tried to find the issue is by comparing it to the working Memory and Expansion types, but I only have a basic understanding of the code and I can see no issues.
XML:
    <!-- ###################################################################################### -->
    <!-- ## Programmable Keys/Idle Screen Settings -->
    <!-- ###################################################################################### -->
    <!-- # Softkey 1 -->
    <!-- ###################################################################################### -->
    <!-- # Key Mode. -->
    <!-- # 0 - Default, 10 - Speed Dial, 14 - Speed Dial via active account, 16 - Voicemail,  -->
    <!-- # 17 - CallReturn, 20 - Intercom, 21 - LDAP Search, 25 - Call Log, 27 - Menu, 29 - Information, 30 - Message -->
    <!-- # Number: 0,10,14,16,17,20,21,25,27,29,30 -->
    <!-- # Mandatory -->
{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>27]}
{$start_id=2987}
{for $prog=1 to 3}
{$pid=$prog*4-4}
{if isset($keys.programmable.$prog.device_key_category) && isset($keys.programmable.$prog.device_key_type) && $keys.programmable.$prog.device_key_type|in_array:$key_types}
<P{$start_id+$pid}>{$key_types[$keys.programmable.$prog.device_key_type]}</P{$start_id+$pid}>
<P{$start_id+$pid+1}>{$keys.programmable.$prog.device_key_line}</P{$start_id+$pid+1}>
<P{$start_id+$pid+2}>{$keys.programmable.$prog.device_key_label}</P{$start_id+$pid+2}>
<P{$start_id+$pid+3}>{$keys.programmable.$prog.device_key_value}</P{$start_id+$pid+3}>
{else}
<P{$start_id+$pid}>0</P{$start_id+$pid}>
<P{$start_id+$pid+1}>0</P{$start_id+$pid+1}>
<!-- <P{$start_id+$pid+2}></P{$start_id+$pid+2}> -->
<!-- <P{$start_id+$pid+3}></P{$start_id+$pid+3}> -->
{/if}

{/for}

Note: Issue may also affect gxp2130, gxp2135, gxp2160 and gxp2170 (since they all share the same config file)
 
Status
Not open for further replies.