diff --git a/resources/templates/provision/grandstream/wp810/phonebook.xml b/resources/templates/provision/grandstream/wp810/phonebook.xml
new file mode 100644
index 0000000000..deb211d001
--- /dev/null
+++ b/resources/templates/provision/grandstream/wp810/phonebook.xml
@@ -0,0 +1,151 @@
+
+
+
+
+
+ 1
+ Users
+ default ringtone
+
+
+ 2
+ Groups
+ default ringtone
+
+
+ 3
+ Extensions
+ system
+
+
+ {$start_id=0}
+ {foreach $contacts as $row}
+ {if $row.category == "users"}
+
+ {$start_id++}
+ {if $row.contact_name_given != ""}
+ {if $row.contact_organization != ""}
+ {$row.contact_name_given} {$row.contact_name_family}
+ {$row.contact_name_given} {$row.contact_name_family}
+ {$row.contact_organization}
+ {else}
+ {$row.contact_name_given}
+ {$row.contact_name_family}
+ {/if}
+ {else}
+ {$row.effective_caller_id_name}
+ {/if}
+
+ 0
+ {foreach $row.numbers as $number}
+ {if $number.phone_number != ""}
+ {if $number.phone_label == "work"}
+
+ {$number.phone_number}
+ 0
+
+ {/if}
+ {if $number.phone_label == "home"}
+
+ {$number.phone_number}
+ 0
+
+ {/if}
+ {if $number.phone_label == "mobile"}
+
+ {$number.phone_number}
+ 0
+
+ {/if}
+ {/if}
+ {/foreach}
+ 1
+ 0
+
+
+
+
+ {elseif $row.category == "groups"}
+
+ {$start_id++}
+ {if $row.contact_name_given != ""}
+ {if $row.contact_organization != ""}
+ {$row.contact_name_given} {$row.contact_name_family}
+ {$row.contact_name_given} {$row.contact_name_family}
+ {$row.contact_organization}
+ {else}
+ {$row.contact_name_given}
+ {$row.contact_name_family}
+ {/if}
+ {else}
+ {$row.effective_caller_id_name}
+ {/if}
+
+
+ 0
+ {foreach $row.numbers as $number}
+ {if $number.phone_number != ""}
+ {if $number.phone_label == "work"}
+
+ {$number.phone_number}
+ 0
+
+ {/if}
+ {if $number.phone_label == "home"}
+
+ {$number.phone_number}
+ 0
+
+ {/if}
+ {if $number.phone_label == "mobile"}
+
+ {$number.phone_number}
+ 0
+
+ {/if}
+ {/if}
+ {/foreach}
+ 2
+ 0
+
+
+
+
+ {elseif $row.category == "extensions"}
+
+ {$start_id++}
+ {if $row.contact_name_given != ""}
+ {if $row.contact_organization != ""}
+ {$row.contact_name_given} {$row.contact_name_family}
+ {$row.contact_name_given} {$row.contact_name_family}
+ {$row.contact_organization}
+ {else}
+ {$row.contact_name_given}
+ {$row.contact_name_family}
+ {/if}
+ {else}
+ {$row.effective_caller_id_name}
+ {/if}
+
+ 0
+ {if $row.phone_number != ""}
+
+ {$row.phone_number}
+ 0
+
+ {else}
+
+ {$row.phone_extension}
+ 0
+
+ {/if}
+ 3
+ 0
+
+
+
+
+ {/if}
+ {/foreach}
+
+
diff --git a/resources/templates/provision/grandstream/wp810/{$mac}.xml b/resources/templates/provision/grandstream/wp810/{$mac}.xml
new file mode 100644
index 0000000000..8ec849d9e7
--- /dev/null
+++ b/resources/templates/provision/grandstream/wp810/{$mac}.xml
@@ -0,0 +1,2338 @@
+
+
+
+{$mac|replace:'-':''}
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ {$account.1.display_name}
+
+
+
+{if $account.1.sip_transport != 'dns srv'}
+ {$account.1.server_address}:{$account.1.sip_port}
+{else}
+ {$account.1.server_address}
+{/if}
+
+
+
+{if $account.1.sip_transport != 'dns srv' && isset($account.1.server_address_secondary)}
+ {$account.1.server_address_secondary}:{$account.1.sip_port}
+{else}
+ {$account.1.server_address_secondary}
+{/if}
+
+
+
+{if $account.1.sip_transport != 'dns srv' && isset($account.1.outbound_proxy_primary)}
+ {$account.1.outbound_proxy_primary}:{$account.1.sip_port}
+{else}
+ {$account.1.outbound_proxy_primary}
+{/if}
+
+
+
+{if $account.1.sip_transport != 'dns srv' && isset($account.1.outbound_proxy_secondary)}
+ {$account.1.outbound_proxy_secondary}:{$account.1.sip_port}
+{else}
+ {$account.1.outbound_proxy_secondary}
+{/if}
+
+
+
+ {$account.1.user_id}
+
+
+
+ {$account.1.auth_id}
+
+
+
+ {$account.1.password}
+
+
+
+ {$account.1.display_name}
+
+
+
+ {$voicemail_number}
+
+
+
+
+ 0
+
+
+
+
+
+{if isset($grandstream_dns_mode)}
+ {$grandstream_dns_mode}
+{else}
+ 0
+{/if}
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($grandstream_nat_traversal)}
+ {$grandstream_nat_traversal}
+{else}
+ 0
+{/if}
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+{if isset($account.1.register_expires)}
+ {$account.1.register_expires}
+{else}
+ 2
+{/if}
+
+
+
+
+ 60
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 30
+
+
+
+
+ 3
+
+
+
+
+ 5060
+
+
+
+
+ 20
+
+
+
+
+
+ 50
+
+
+
+
+
+ 400
+
+
+
+
+{$tp=0}
+{if $sip_transport_1 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_1 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_1 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_1 == 'dns srv'}{$tp=1}{/if}
+ {$tp}
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+{if isset($subscribe_mwi)}
+ 1
+{else}
+ 0
+{/if}
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 2
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+ 100
+
+
+
+
+
+ 0
+
+
+
+
+ 180
+
+
+
+
+ 90
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ 0
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 8
+
+
+
+
+ 18
+
+
+
+
+ 9
+
+
+
+
+ 98
+
+
+
+
+ 2
+
+
+
+
+ 123
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+ 0
+
+
+
+
+{if isset($grandstream_srtp)}
+ {$grandstream_srtp}
+{else}
+ 0
+{/if}
+
+
+
+
+
+ 0
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+ 2
+
+
+
+
+ 2
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 97
+
+
+
+
+ 123
+
+
+
+
+ 101
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+ {$grandstream_dial_plan}
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 30
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+ {$grandstream_distinctive_ringtone_name_1}
+
+
+
+
+
+ {$grandstream_distinctive_ringtone_1}
+
+
+
+ {$grandstream_distinctive_ringtone_name_2}
+
+
+
+
+
+ {$grandstream_distinctive_ringtone_2}
+
+
+
+ {$grandstream_distinctive_ringtone_name_3}
+
+
+
+
+
+ {$grandstream_distinctive_ringtone_3}
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ 60
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+{if isset($account.2.password)}
+ 1
+{else}
+ 0
+{/if}
+
+
+
+ {$account.2.display_name}
+
+
+
+{if $account.2.sip_transport != 'dns srv'}
+ {$account.2.server_address}:{$account.2.sip_port}
+{else}
+ {$account.2.server_address}
+{/if}
+
+
+
+{if $account.2.sip_transport != 'dns srv' && isset($account.2.server_address_secondary)}
+ {$account.2.server_address_secondary}:{$account.2.sip_port}
+{else}
+ {$account.2.server_address_secondary}
+{/if}
+
+
+
+{if $account.2.sip_transport != 'dns srv' && isset($account.2.outbound_proxy_primary)}
+ {$account.2.outbound_proxy_primary}:{$account.2.sip_port}
+{else}
+ {$account.2.outbound_proxy_primary}
+{/if}
+
+
+
+{if $account.2.sip_transport != 'dns srv' && isset($account.2.outbound_proxy_secondary)}
+ {$account.2.outbound_proxy_secondary}:{$account.2.sip_port}
+{else}
+ {$account.2.outbound_proxy_secondary}
+{/if}
+
+
+
+ {$account.2.user_id}
+
+
+
+ {$account.2.auth_id}
+
+
+
+ {$account.2.password}
+
+
+
+ {$account.2.display_name}
+
+
+
+ {$voicemail_number}
+
+
+
+
+ 0
+
+
+
+
+
+{if isset($grandstream_dns_mode)}
+ {$grandstream_dns_mode}
+{else}
+ 0
+{/if}
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($grandstream_nat_traversal)}
+ {$grandstream_nat_traversal}
+{else}
+ 0
+{/if}
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+{if isset($account.2.register_expires)}
+ {$account.2.register_expires}
+{else}
+ 2
+{/if}
+
+
+
+
+ 60
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 30
+
+
+
+
+ 3
+
+
+
+
+ 5062
+
+
+
+
+ 20
+
+
+
+
+
+ 50
+
+
+
+
+
+ 400
+
+
+
+
+{$tp=0}
+{if $sip_transport_2 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_2 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_2 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_2 == 'dns srv'}{$tp=1}{/if}
+ {$tp}
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+{if isset($subscribe_mwi)}
+ 1
+{else}
+ 0
+{/if}
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 2
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+ 100
+
+
+
+
+
+ 0
+
+
+
+
+ 180
+
+
+
+
+ 90
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+ 0
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 8
+
+
+
+
+ 18
+
+
+
+
+ 9
+
+
+
+
+ 98
+
+
+
+
+ 2
+
+
+
+
+ 123
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+ 0
+
+
+
+
+
+{if isset($grandstream_srtp)}
+ {$grandstream_srtp}
+{else}
+ 0
+{/if}
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+ 2
+
+
+
+
+ 2
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 97
+
+
+
+
+ 123
+
+
+
+
+ 101
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+ {$grandstream_dial_plan}
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 30
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 60
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+ 5004
+
+
+
+
+ 200
+
+
+
+
+ 1
+
+
+
+
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+ {$ntp_server_primary}
+{else}
+ pool.ntp.org
+{/if}
+
+
+
+
+
+
+
+
+ 1440
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($grandstream_timezone) }
+ {$grandstream_timezone}
+{elseif isset($grandstream_gxp_time_zone) }
+ {$grandstream_gxp_time_zone}
+{else}
+ auto
+{/if}
+
+
+
+ 1
+
+
+
+
+ MTZ+6MDT+5,M4.1.0,M11.1.0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+ auto
+
+
+
+
+
+
+
+
+
+
+ f1=350,f2=440;
+
+
+
+
+ f1=350,f2=440;
+
+
+
+
+ f1=350,f2=440,c=100/100-100/100-100/100--1/0;
+
+
+
+
+ f1=440,f2=480,c=200/400;
+
+
+
+
+ f1=440,f2=440,c=25/525;
+
+
+
+
+ 0
+
+
+
+
+ f1=480,f2=620,c=50/50;
+
+
+
+
+ phone-{$user_id_1}
+
+
+
+ Grandstream WP810
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 26
+
+
+
+
+ 46
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($admin_password)}
+ {$admin_password}
+{else}
+ {$mac|replace:'-':''}
+{/if}
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+ 0
+
+
+
+
+
+{if isset($grandstream_dhcp_option_override)}
+ {$grandstream_dhcp_option_override}
+{else}
+ 1
+{/if}
+
+
+
+
+
+ 0
+
+
+
+
+
+{if isset($grandstream_dhcp_option_override_sip_server)}
+ {$grandstream_dhcp_option_override_sip_server}
+{else}
+ 0
+{/if}
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 1440
+
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+ 2
+
+
+
+{if $grandstream_config_server_path=="none"}
+
+{elseif isset($grandstream_config_server_path)}
+ {$grandstream_config_server_path}
+{elseif isset($domain_name)}
+ {$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+ {$http_auth_username}
+
+
+
+ {$http_auth_password}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+ 1
+
+
+
+{if isset($grandstream_firmware_path)}
+ {$grandstream_firmware_path}
+{else}
+ {$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+ {$grandstream_syslog_server}
+
+
+
+
+{if isset($grandstream_syslog_level)}
+ {$grandstream_syslog_level}
+{else}
+ 0
+{/if}
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 30
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 3
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+ https://acs.gdms.cloud
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ 86400
+
+
+
+
+
+
+
+
+
+
+
+ 7547
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 80
+
+
+
+
+ 443
+
+
+
+ 0
+
+
+
+ 10
+
+
+
+ 5
+
+
+
+
+ 11
+
+
+
+
+ 99
+
+
+
+
+
+ 0
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+ 0
+
+
+
+
+
+
+ {$grandstream_phonebook_download}
+
+
+
+ {$http_auth_username}
+
+
+
+ {$http_auth_password}
+
+
+
+
+
+{if isset($grandstream_phonebook_xml_server_path)}
+ {$grandstream_phonebook_xml_server_path}/{$mac}
+{else}
+
+{/if}
+
+
+
+
+{if isset($grandstream_phonebook_download_interval)}
+ {$grandstream_phonebook_download_interval}
+{else}
+ 0
+{/if}
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+