diff --git a/resources/templates/provision/fanvil/x5u/{$mac}.cfg b/resources/templates/provision/fanvil/x5u/{$mac}.cfg
index 4ec78d3eb4..2aea3fc240 100644
--- a/resources/templates/provision/fanvil/x5u/{$mac}.cfg
+++ b/resources/templates/provision/fanvil/x5u/{$mac}.cfg
@@ -2829,8 +2829,10 @@
{$ntp_server_secondary}
{$fanvil_time_zone}
{$fanvil_time_zone_name}
+ {$fanvil_enable_dst}
+ 2
60
- 0
+ 1
{if isset($fanvil_location)}{$fanvil_location}{else}4{/if}
0
{if isset($fanvil_dst_minute_offset)}{$fanvil_dst_minute_offset}{else}60{/if}
@@ -3276,256 +3278,199 @@
Green
+ {strip}{*-- Each Internal Index contains 6 keys --*}{/strip}
+
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
+ {foreach $keys["line"] as $row}
+ {if $row.device_key_id <= 6}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+ {/if}
+ {/foreach}
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
+ {foreach $keys["line"] as $row}
+ {if $row.device_key_id > 6 && $row.device_key_id <= 12}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+ {/if}
+ {/foreach}
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
+ {foreach $keys["line"] as $row}
+ {if $row.device_key_id > 12 && $row.device_key_id <= 18}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+ {/if}
+ {/foreach}
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
+ {foreach $keys["line"] as $row}
+ {if $row.device_key_id > 18 && $row.device_key_id <= 24}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+ {/if}
+ {/foreach}
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
+ {foreach $keys["line"] as $row}
+ {if $row.device_key_id > 24 && $row.device_key_id <= 30}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+ {/if}
+ {/foreach}
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
-
-
- 0
-
-
- Green
+
+
+ {foreach $keys["memory"] as $row}
+ {if $row.device_key_id <= 6}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["memory"] as $row}
+ {if $row.device_key_id > 6 && $row.device_key_id <= 12}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["memory"] as $row}
+ {if $row.device_key_id > 12 && $row.device_key_id <= 18}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["memory"] as $row}
+ {if $row.device_key_id > 18 && $row.device_key_id <= 24}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["memory"] as $row}
+ {if $row.device_key_id > 24 && $row.device_key_id <= 30}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["programmable"] as $row}
+
+ {if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+ {if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+ {/foreach}
+ {strip}{*-- Each External Index contains 20 keys --*}{/strip}
+
+ {foreach $keys["expansion"] as $row}
+ {if $row.device_key_id < 20}
+
+ 0
+ {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["expansion"] as $row}
+ {if $row.device_key_id > 19 && $row.device_key_id < 40}
+
+ 0
+ {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["expansion"] as $row}
+ {if $row.device_key_id > 39 && $row.device_key_id < 60}
+
+ 0
+ {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["expansion"] as $row}
+ {if $row.device_key_id > 59 && $row.device_key_id < 80}
+
+ 0
+ {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
+
+ {foreach $keys["expansion"] as $row}
+ {if $row.device_key_id > 79 && $row.device_key_id < 100}
+
+ 0
+ {$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}
+ {$row.device_key_label}
+ {$row.device_key_icon}
+
+ {/if}
+ {/foreach}
+
0