diff --git a/app/devices/app_config.php b/app/devices/app_config.php
index 24a639155d..7cb12a16e2 100644
--- a/app/devices/app_config.php
+++ b/app/devices/app_config.php
@@ -1859,6 +1859,48 @@
$vendors[$y]['functions'][$z]['value'] = "ldap search";
$vendors[$y]['functions'][$z]['groups'][] = "superadmin";
$vendors[$y]['functions'][$z]['groups'][] = "admin";
+ $z++;
+ $vendors[$y]['functions'][$z]['uuid'] = "bbb4c3f9-7a2f-4670-a194-e7ab92c5c3d1";
+ $vendors[$y]['functions'][$z]['label'] = "label-conference";
+ $vendors[$y]['functions'][$z]['name'] = "conference";
+ $vendors[$y]['functions'][$z]['value'] = "conference";
+ $vendors[$y]['functions'][$z]['groups'][] = "superadmin";
+ $vendors[$y]['functions'][$z]['groups'][] = "admin";
+ $z++;
+ $vendors[$y]['functions'][$z]['uuid'] = "8434d505-36e0-422c-a1ab-8950e7849829";
+ $vendors[$y]['functions'][$z]['label'] = "label-menu";
+ $vendors[$y]['functions'][$z]['name'] = "menu";
+ $vendors[$y]['functions'][$z]['value'] = "menu";
+ $vendors[$y]['functions'][$z]['groups'][] = "superadmin";
+ $vendors[$y]['functions'][$z]['groups'][] = "admin";
+ $z++;
+ $vendors[$y]['functions'][$z]['uuid'] = "4792c9dd-9342-4894-9987-61c45e46e7d7";
+ $vendors[$y]['functions'][$z]['label'] = "label-monitored_call_park";
+ $vendors[$y]['functions'][$z]['name'] = "monitored_call_park";
+ $vendors[$y]['functions'][$z]['value'] = "monitored call park";
+ $vendors[$y]['functions'][$z]['groups'][] = "superadmin";
+ $vendors[$y]['functions'][$z]['groups'][] = "admin";
+ $z++;
+ $vendors[$y]['functions'][$z]['uuid'] = "27edbba6-14bb-48e8-8fa6-25f86bfc9ccc";
+ $vendors[$y]['functions'][$z]['label'] = "label-multicast_paging";
+ $vendors[$y]['functions'][$z]['name'] = "multicast_paging";
+ $vendors[$y]['functions'][$z]['value'] = "multicast paging";
+ $vendors[$y]['functions'][$z]['groups'][] = "superadmin";
+ $vendors[$y]['functions'][$z]['groups'][] = "admin";
+ $z++;
+ $vendors[$y]['functions'][$z]['uuid'] = "d28bc679-b984-49a7-963f-7e5d9fc4dbcb";
+ $vendors[$y]['functions'][$z]['label'] = "label-record";
+ $vendors[$y]['functions'][$z]['name'] = "record";
+ $vendors[$y]['functions'][$z]['value'] = "record";
+ $vendors[$y]['functions'][$z]['groups'][] = "superadmin";
+ $vendors[$y]['functions'][$z]['groups'][] = "admin";
+ $z++;
+ $vendors[$y]['functions'][$z]['uuid'] = "f99f55b8-113e-4fbb-aed1-84af66f5320c";
+ $vendors[$y]['functions'][$z]['label'] = "label-none";
+ $vendors[$y]['functions'][$z]['name'] = "none";
+ $vendors[$y]['functions'][$z]['value'] = "none";
+ $vendors[$y]['functions'][$z]['groups'][] = "superadmin";
+ $vendors[$y]['functions'][$z]['groups'][] = "admin";
$y++;
$vendors[$y]['uuid'] = "03931359-917e-455b-b4fc-f875c530b79c";
@@ -2243,4 +2285,4 @@
$vendors[$y]['functions'][$z]['groups'][] = "superadmin";
$vendors[$y]['functions'][$z]['groups'][] = "admin";
-?>
\ No newline at end of file
+?>
diff --git a/app/devices/app_languages.php b/app/devices/app_languages.php
index b6449189ee..50382a18af 100644
--- a/app/devices/app_languages.php
+++ b/app/devices/app_languages.php
@@ -1463,6 +1463,40 @@ $text['label-lcr']['ru-ru'] = "LCR";
$text['label-lcr']['sv-se'] = "LCR";
$text['label-lcr']['uk-ua'] = "";
+$text['label-monitored_call_park']['en-us'] = "Monitored Call Park";
+$text['label-monitored_call_park']['ar-eg'] = "";
+$text['label-monitored_call_park']['de-at'] = "Monitored Call Park";
+$text['label-monitored_call_park']['de-de'] = "Monitored Call Park";
+$text['label-monitored_call_park']['es-cl'] = "";
+$text['label-monitored_call_park']['fr-fr'] = "";
+$text['label-monitored_call_park']['he-il'] = "";
+$text['label-monitored_call_park']['it-it'] = "";
+$text['label-monitored_call_park']['nl-nl'] = "";
+$text['label-monitored_call_park']['pl-pl'] = "";
+$text['label-monitored_call_park']['pt-br'] = "";
+$text['label-monitored_call_park']['pt-pt'] = "";
+$text['label-monitored_call_park']['ro-ro'] = "";
+$text['label-monitored_call_park']['ru-ru'] = "Monitored Call Park";
+$text['label-monitored_call_park']['sv-se'] = "Monitored Call Park";
+$text['label-monitored_call_park']['uk-ua'] = "";
+
+$text['label-multicast_paging']['en-us'] = "Multicast Paging";
+$text['label-multicast_paging']['ar-eg'] = "";
+$text['label-multicast_paging']['de-at'] = "Multicast Paging";
+$text['label-multicast_paging']['de-de'] = "Multicast Paging";
+$text['label-multicast_paging']['es-cl'] = "";
+$text['label-multicast_paging']['fr-fr'] = "";
+$text['label-multicast_paging']['he-il'] = "";
+$text['label-multicast_paging']['it-it'] = "";
+$text['label-multicast_paging']['nl-nl'] = "";
+$text['label-multicast_paging']['pl-pl'] = "";
+$text['label-multicast_paging']['pt-br'] = "";
+$text['label-multicast_paging']['pt-pt'] = "";
+$text['label-multicast_paging']['ro-ro'] = "";
+$text['label-multicast_paging']['ru-ru'] = "Multicast Paging";
+$text['label-multicast_paging']['sv-se'] = "Multicast Paging";
+$text['label-multicast_paging']['uk-ua'] = "";
+
$text['label-page']['en-us'] = "Page";
$text['label-page']['ar-eg'] = "";
$text['label-page']['de-at'] = "Page";
diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php
index 3ae67212b2..d849ec19b3 100644
--- a/app/devices/device_edit.php
+++ b/app/devices/device_edit.php
@@ -349,6 +349,7 @@
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($result as &$row) {
$device_mac_address = $row["device_mac_address"];
+ $device_provisioned_ip = $row["device_provisioned_ip"];
$domain_uuid = $row["domain_uuid"];
$device_label = $row["device_label"];
//$device_mac_address = substr($device_mac_address, 0,2).'-'.substr($device_mac_address, 2,2).'-'.substr($device_mac_address, 4,2).'-'.substr($device_mac_address, 6,2).'-'.substr($device_mac_address, 8,2).'-'.substr($device_mac_address, 10,2);
@@ -562,7 +563,7 @@
if ($_SERVER['HTTPS'] == 'on') { $_SERVER['HTTP_PROTOCOL'] = 'https'; }
if ($_SERVER['SERVER_PORT'] == '443') { $_SERVER['HTTP_PROTOCOL'] = 'https'; }
}
- echo " window.location = '".$_SERVER['HTTP_PROTOCOL']."://".$domain_name.PROJECT_PATH."/app/provision?mac=".$device_mac_address."&file=' + d + '&content_type=application/octet-stream';\n";
+ echo " window.location = '".$_SERVER['HTTP_PROTOCOL']."://".$domain_name.PROJECT_PATH."/app/provision/index.php?mac=".$device_mac_address."&file=' + d + '&content_type=application/octet-stream';\n";
echo " }\n";
echo "\n";
@@ -649,6 +650,7 @@
echo $device_mac_address;
}
echo "
\n";
+ echo " ".$device_provisioned_ip."(http|https)\n";
echo "\n";
echo "\n";
diff --git a/app/devices/devices.php b/app/devices/devices.php
index f56563bb9e..10f8714e29 100644
--- a/app/devices/devices.php
+++ b/app/devices/devices.php
@@ -256,7 +256,7 @@
echo " ".$row['device_vendor']." | \n";
echo " ".$row['device_template']." | \n";
echo " ".$text['label-'.$row['device_enabled']]." | \n";
- echo " ".$row['device_provisioned_date']." - ".$row['device_provisioned_method']." - ".$row['device_provisioned_ip']." | \n";
+ echo " ".$row['device_provisioned_date']." - ".$row['device_provisioned_method']." - ".$row['device_provisioned_ip']." | \n";
echo " ".$row['device_description']." | \n";
echo " ";
if (permission_exists('device_edit')) {
diff --git a/app/provision/app_config.php b/app/provision/app_config.php
index 7022927fa8..7649e023ac 100644
--- a/app/provision/app_config.php
+++ b/app/provision/app_config.php
@@ -442,5 +442,269 @@
$apps[$x]['default_settings'][$y]['default_setting_value'] = "true";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "N-Way conferencing for devices supporting network conference uri";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "5f97afa2-b8ae-45fc-a47c-4131b6b4e1fd";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "contact_grandstream";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Enable Address Book for Grandstream based on users and groups assigned to contact.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "3a8841f3-e1c0-4eb1-abd3-068a3e3701a5";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_gxp_time_zone";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "PST8PDT";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "See provision profile for codes.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "bce5c360-ec90-468b-9bed-aa5ceabfe87d";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_check_sip_user_id";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "1";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "GXV Android phones - fix auto-ring bug.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "4965e699-65a2-4309-b30c-6c6aae9c5e60";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_config_server_path";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "none";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "mydomain.com/provision to Fusionpbx provisioning. Phones will use firmware url if this is set to: none";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "eb4ad508-aab8-478c-a42c-71f02f5e9f3e";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_dns_mode_1";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "1";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "DNS Mode 0=A; 1=SRV; 2=NAPTR/SRV;";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "0d6fb5f8-6ec8-4495-b99a-fff6e7a053e8";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_dns_mode_2";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "1";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "DNS Mode 0=A; 1=SRV; 2=NAPTR/SRV;";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "1d1d4b7c-2cd2-474b-8cdf-8f5b8842a9e5";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_firmware_path";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "mydomain.com/provision";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Grandstream firmware and provision.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "712daa4c-d657-4ed1-85f6-9134bef2969d";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_global_contact_groups";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "contacts_elementary,contacts_facilities,contacts_other,contacts_secondary";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "List of contact groups that every phone will have access to. Namely building sites.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "daeec650-12ab-47b7-a079-d274beee66f5";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_lan_port_vlan";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "1";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Default VLAN for phone LAN port.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "a3adbb11-4e9f-4a56-86f8-0fefa5fb8c1d";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_base_dn";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "dc=mydomain,dc=com";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Base DN";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "2d820643-b2ad-4824-946e-540d800ebd82";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_display_name";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "givenName sn title";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Which named attributes to display on device. Must be pulled in through gs_ldap_name_attr.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "108f9c23-d44b-41f0-b332-ef9d586ecb8d";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_mail_attr";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "mail";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Mail attribute returned to phone";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "a8acdbb0-98de-48d6-9d6d-1f7961a50a6b";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_mail_filter";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "(mail=%)";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Search filter for mail lookups";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "3f1fa270-7a73-41b0-8210-8a9e9295f658";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_name_attr";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "givenName sn title mail";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "The NAME attributes returned in the LDAP search result available to device";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "72b87ed4-588c-4706-a221-e15d5fcaa79d";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_name_filter";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "(cn=%)";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Search filter for name lookups";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "902d7bd7-4040-4082-a6ab-737f5f6e76a0";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_number_attr";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "telephoneNumber mobile homePhone";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Number attributes returned to the phone.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "7f123561-b35f-475b-b3c7-202df5be63b6";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_number_filter";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "(|(telephoneNumber=%)(homePhone=%)(moblie=%))";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Search filter for number lookups.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "33728232-dd89-4e30-8bc9-379891f2696b";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_password";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "super-secret";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Ldap bind user password.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "614745a2-2441-48f7-a62d-e0dc098c7db0";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_server";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "mydomain.com";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Ldap server host name";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "c5d91dcd-cc74-4bc9-a3a8-e3b8ee5bd1a6";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_user_base";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "ou=users,dc=mydomain,dc=com";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Ldap base for users.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "35dfa15a-1bfb-43e1-ba91-79c78dc89f04";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_ldap_username";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "cn=pbxadmin,dc=mydomain,dc=com";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Ldap server bind username";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "66d886c4-2cbb-4b4d-8667-f68de7d998e6";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_nat_traversal_1";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "0";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "NAT Traversal Acct1. 0 - No, 1 - STUN, 2 - keep alive, 3 - UPnP, 4 - Auto, 5 - VPN";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "f7bf7fb8-5d2a-46a8-b218-32826c29fd53";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_phonebook_download_interval";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "720";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "0=disabled, 5-720 minutes";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "66c37aae-8381-460d-bac3-d08fea5d3217";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_phonebook_xml_server_path";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "mydomain.com/provision/pb";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Grandstream Phonebook Server Path - NOTE template adds MAC on the end of this if contact_grandstream is enabled. This also requires nginx rewrite rules for phonebook.xml";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "00f51316-4405-4450-b619-12e0b2594e1a";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_qos_rtp";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "5";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Layer 2 QoS 802.1p Priority Value for RTP media";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "4e1e89b8-f114-4580-944a-2537eebb0915";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_qos_sip";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "3";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Layer 2 QoS 802.1p Priority Value for SIP signaling";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "be807a0d-d939-484a-b34a-5605c28b7e11";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_sip_only_known_servers";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "1";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "GXV Android phones - fix auto-ring bug.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "40435232-cdc7-412a-8927-892f2bd44bda";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_stun_server";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "mydomain.com";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Bug in Grandstream where null stun_server defaults to sip server/port";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6dbe4a02-33a3-4c1d-9145-0b8d6a5b8c81";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_validate_incoming_sip";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "1";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "GXV Android phones - fix auto-ring bug.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "0971caf6-679a-4442-a16f-e729f2f402d7";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "gs_wallpaper_url";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "https://mydomain.com/files/wallpaper.jpg";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Wallpaper Image JPEG 480x272 16-bit depth dithered";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b20b6547-14a8-416b-a5b1-990524a1afac";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "vtech_vlan_wan_enable";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "0";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Enable vlan=1";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "cfa6d612-906d-414e-9e1f-639e2eaa493e";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "vtech_vlan_wan_id";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "1";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "VLAN ID";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "ee208229-d66c-46b6-9286-3cd4edda7628";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "vtech_vlan_wan_priority";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "0";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "VLAN Priority";
-?>
\ No newline at end of file
+?>
diff --git a/app/provision/index.php b/app/provision/index.php
index 4a8c03ae5b..10acea8b55 100644
--- a/app/provision/index.php
+++ b/app/provision/index.php
@@ -62,7 +62,7 @@
$domain_array = explode(":", $_SERVER["HTTP_HOST"]);
$domain_name = $domain_array[0];
$device = device_by_ext($db, $ext, $domain_name);
- if(($device !== false)&&($device['device_vendor']=='escene')){
+ if(($device !== false)&&(($device['device_vendor']=='escene')||($device['device_vendor']=='grandstream'))){
$mac = $device['device_mac_address'];
}
}
@@ -81,7 +81,7 @@
$mac = substr($_SERVER['HTTP_USER_AGENT'],-14);
$mac = preg_replace("#[^a-fA-F0-9./]#", "", $mac);
}
- //Grandstream: $_SERVER['HTTP_USER_AGENT'] = "Grandstream Model HW GXP2135 SW 1.0.7.97 DevId 000b828aa872"
+ //Grandstream: $_SERVER['HTTP_USER_AGENT'] = "Grandstream Model HW GXP2135 SW 1.0.7.97 DevId 000b828aa872"
if (substr($_SERVER['HTTP_USER_AGENT'],0,11) == "Grandstream") {
$mac = substr($_SERVER['HTTP_USER_AGENT'],-12);
$mac = preg_replace("#[^a-fA-F0-9./]#", "", $mac);
diff --git a/app/provision/resources/classes/provision.php b/app/provision/resources/classes/provision.php
index effca67f66..9fa4499c47 100644
--- a/app/provision/resources/classes/provision.php
+++ b/app/provision/resources/classes/provision.php
@@ -153,6 +153,9 @@ include "root.php";
case "escene":
$mac = strtolower($mac);
break;
+ case "grandstream":
+ $mac = strtolower($mac);
+ break;
default:
$mac = strtolower($mac);
$mac = substr($mac, 0,2).'-'.substr($mac, 2,2).'-'.substr($mac, 4,2).'-'.substr($mac, 6,2).'-'.substr($mac, 8,2).'-'.substr($mac, 10,2);
@@ -238,6 +241,185 @@ include "root.php";
}
}
+ private function contact_grandstream(&$contacts, &$line, $domain_uuid, $device_user_uuid){
+ // Get username for this.
+ $sql = "SELECT username FROM v_users WHERE user_uuid = '${device_user_uuid}' AND domain_uuid = '${domain_uuid}' LIMIT 1";
+ $prep_statement = $this->db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $my_username = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ unset($prep_statement, $sql);
+ $my_username = $my_username[0]['username'];
+
+ // Global contact groups available to every phone if ['provision']['global_contact_groups']['text'] is set.
+ // Easier than assigning these common groups to every user.
+ // Check provision global_contact_groups and sanitize for sql.
+ $global_contact_groups['enabled']=false;
+ if ( preg_match('/[a-zA-Z0-9-_, ]/',$_SESSION['provision']['gs_global_contact_groups']['text'])){
+ $global_contact_groups['enabled']=true;
+ $gp=array();
+ $groups=explode(',',$_SESSION['provision']['gs_global_contact_groups']['text']);
+ foreach ($groups as $group){
+ $gp[] = trim($group);
+ }
+ $global_contact_groups['sql']="'".implode("','", $gp)."'";
+ }
+ // Get a list of groups the user has access to see.
+ $sql = "SELECT DISTINCT g.group_uuid, g.group_name, g.group_description ";
+ $sql .= "FROM v_groups g ";
+ $sql .= " INNER JOIN v_group_users gu ";
+ $sql .= " ON gu.group_uuid=g.group_uuid ";
+ $sql .= " INNER JOIN v_contact_groups cg ";
+ $sql .= " ON cg.group_uuid=g.group_uuid ";
+ $sql .= "WHERE gu.user_uuid = '$device_user_uuid' ";
+ if ( $global_contact_groups['enabled'] ){
+ $sql .= "UNION ";
+ $sql .= "SELECT g.group_uuid, g.group_name, g.group_description ";
+ $sql .= "FROM v_groups g ";
+ $sql .= "WHERE g.group_name IN( ".$global_contact_groups['sql'].") ";
+ }
+ $sql .= "ORDER BY group_description";
+ $prep_statement = $this->db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $user_groups = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ unset($prep_statement, $sql);
+ $key=0;
+ foreach ($user_groups as &$row) {
+ $contacts[] = array("contact_type"=>"group", "group_name"=>$row['group_name'], "group_description"=>$row['group_description'], "id"=>++$key);
+ $groups[$row['group_uuid']] = $key;
+ $my_groups[] = '@'.$row['group_name']; // Used to show/hide
+ }
+ // Get a list of contacts that this user/phone has access based on assigned users and groups.
+ $sql = "SELECT c.contact_uuid, c.contact_name_given, c.contact_name_family, c.contact_title, c.contact_category, c.contact_role, c.contact_organization, u.user_uuid ";
+ $sql .= "FROM v_contacts c ";
+ $sql .= " LEFT JOIN v_users u ";
+ $sql .= " ON c.contact_uuid = u.contact_uuid ";
+ $sql .= "WHERE c.contact_uuid IN ("; // assigned groups
+ $sql .= " SELECT cg.contact_uuid";
+ $sql .= " FROM v_contact_groups cg ";
+ $sql .= " WHERE cg.group_uuid IN (";
+ $sql .= " SELECT gu.group_uuid ";
+ $sql .= " FROM v_group_users gu ";
+ $sql .= " WHERE gu.user_uuid = '$device_user_uuid' ";
+ $sql .= " AND gu.domain_uuid = '$domain_uuid' ";
+ if ( $global_contact_groups['enabled'] ){
+ $sql .= " UNION ";
+ $sql .= " SELECT g.group_uuid ";
+ $sql .= " FROM v_groups g ";
+ $sql .= " WHERE g.group_name IN( ".$global_contact_groups['sql'].") ";
+ }
+ $sql .= " )";
+ $sql .= " UNION "; // assigned users
+ $sql .= " SELECT cu.contact_uuid ";
+ $sql .= " FROM v_contact_users cu ";
+ $sql .= " WHERE cu.user_uuid = '$device_user_uuid' ";
+ $sql .= " AND cu.domain_uuid = '$domain_uuid' ";
+ $sql .= ")";
+ $sql .= "ORDER BY contact_name_given, contact_name_family";
+ $prep_statement = $this->db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $user_contacts = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ unset($prep_statement, $sql);
+ $groupid=0;
+ foreach ($user_contacts as &$row) {
+ $last_extention = $row['extension'];
+ unset($contact);
+ // Grandsteam phonebook manager: First, Last, Department, Primary, (Work, Home, Mobile, Fax, Pager, Car... with number and account), email(s), Photo, Ringtone, Group(s)
+ // GXP21xx serries has First, Last, Company, Department, Job, Job TItle, 1Work ,1Home, 1Mobile, Accounts, Groups(1-many)
+ $contact = array();
+ $contact['contact_type'] = "contact";
+ $contact['contact_uuid'] = $row['contact_uuid'];
+ $contact['user_uuid'] = $row['user_uuid'];
+ $contact['contact_name_given'] = $row['contact_name_given']; //FirstName
+ $contact['contact_name_family'] = $row['contact_name_family']; // LastName
+ $contact['contact_title'] = $row['contact_title'];
+ $contact['contact_category'] = $row['contact_category']; // Department
+ $contact['contact_role'] = $row['contact_role']; // Job Title
+ $contact['contact_organization']= $row['contact_organization']; // Company
+ $contact['contact_work'] = $row['extension'];
+ //$contact['contact_account_index'] = $line['line_number']; // This was empty so disabled it.
+ // Look up groups for this contact
+ $sql = "SELECT g.group_description, g.group_uuid ";
+ $sql .= "FROM v_groups g ";
+ $sql .= " INNER JOIN v_contact_groups cg ";
+ $sql .= " ON cg.group_uuid=g.group_uuid ";
+ $sql .= "WHERE cg.contact_uuid = '".$row['contact_uuid']."' ";
+ $sql .= "AND cg.domain_uuid = '$domain_uuid'";
+ $prep_statement = $this->db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $user_groups = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ foreach ($user_groups as $group ){
+ if ( ! empty($groups[$group['group_uuid']])){
+ $contact['groups'][] = $groups[$group['group_uuid']];
+ }
+ }
+ if ( empty($contact['groups']) && !empty($groups['Other'])){
+ $contact['groups'][] = $groups['Other'];
+ }
+ // Look up extention(s) for this contact.
+ if ( ! empty ($row['user_uuid']) ){
+ $sql = "SELECT e.extension, e.description ";
+ $sql .= "FROM v_extensions e ";
+ $sql .= " INNER JOIN v_extension_users eu ";
+ $sql .= " ON e.extension_uuid = eu.extension_uuid ";
+ $sql .= "WHERE eu.user_uuid = '".$row['user_uuid']."' ";
+ $sql .= "AND eu.domain_uuid = '$domain_uuid' ";
+ $sql .= "AND e.enabled = 'true' ";
+ $sql .= "AND e.directory_visible = 'true' "; # TODO: not right field but it works for our district.
+ $sql .= "AND e.directory_exten_visible = 'true' "; # TODO: not right field but it works for our district.
+ $prep_statement = $this->db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $user_extentions = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ foreach ($user_extentions as $ext ){
+ if ( preg_match ('/ (Cell|Mobile)/i', $ext['description'])){
+ $contact['contact_cell'] = $ext['extension'];
+ } elseif ( preg_match ("/ Home/i", $ext['description'])){
+ $contact['contact_home'] = $ext['extension'];
+ } else {
+ $contact['contact_work'] = $ext['extension'];
+ }
+ }
+ }
+ // Additional phone numbers for this contact.
+ $sql = "select phone_number, phone_label, phone_description from v_contact_phones ";
+ $sql .= "where contact_uuid='".$row['contact_uuid']."' ";
+ $sql .= "and domain_uuid='".$domain_uuid."' ";
+ $sql .= "and phone_type_voice = '1' ";
+ $sql .= "and phone_label in ('Home', 'Mobile', 'Work') ";
+ $prep_statement = $this->db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $user_phones = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ unset($prep_statement, $sql);
+ foreach ($user_phones as $phone){
+ // Check permission in phone_description field for string :allow:username1:username2:@group1:@group2:
+ $show = true;
+ if ( preg_match ('/:allow:/i', $phone['phone_description'] )){
+ $show = false;
+ $allows = explode ( ':', $phone['phone_description'] );
+ foreach ( $allows as $allow ){
+ if ( in_array($allow, $my_groups) || preg_match('/^'.$my_username.'$/', $allow)){
+ $show = true;
+ break 1;
+ }
+ }
+ }
+ if ( $show && $phone['phone_label'] == "Home" ) {
+ $contact['contact_home'] = $phone['phone_number'];
+ } elseif ( $show && $phone['phone_label'] == "Mobile" ){
+ $contact['contact_cell'] = $phone['phone_number'];
+ } elseif ( $show && $phone['phone_label'] == "Work" ){
+ // Work phones are usually just extentions already assigned above.
+ if (empty($contact['contact_work'])){
+ $contact['contact_work'] = $phone['phone_number'];
+ }
+ }
+ }
+ // Only add to contact list if a phone number exists.
+ if(!empty($contact['contact_work']) || !empty($contact['contact_home']) || !empty($contact['contact_cell'])){
+ $contacts[] = &$contact;
+ }
+ }
+ }
+
public function render() {
//debug
@@ -387,10 +569,24 @@ include "root.php";
"yealink SIP-T22"=>"yealink/t22",
"yealink SIP-T26"=>"yealink/t26",
"Yealink SIP-T32"=>"yealink/t32",
+ "HW DP750"=>"grandstream/dp750",
"HW GXP1450"=>"grandstream/gxp1450",
+ "HW GXP1628"=>"grandstream/gxp16xx",
+ "HW GXP1610"=>"grandstream/gxp16xx",
+ "HW GXP1620"=>"grandstream/gxp16xx",
+ "HW GXP1625"=>"grandstream/gxp16xx",
+ "HW GXP1628"=>"grandstream/gxp16xx",
+ "HW GXP1630"=>"grandstream/gxp16xx",
"HW GXP2124"=>"grandstream/gxp2124",
+ "HW GXP2130"=>"grandstream/gxp2130",
+ "HW GXP2135"=>"grandstream/gxp2135",
+ "HW GXP2140"=>"grandstream/gxp2140",
+ "HW GXP2160"=>"grandstream/gxp2160",
+ "HW GXP2170"=>"grandstream/gxp2170",
"HW GXV3140"=>"grandstream/gxv3140",
+ "HW GXV3240"=>"grandstream/gxv3240",
"HW GXV3175"=>"grandstream/gxv3175",
+ "Vesa VCS754"=>"vtech/vcs754",
"Wget/1.11.3"=>"konftel/kt300ip"
);
@@ -624,6 +820,10 @@ include "root.php";
if ($_SESSION['provision']['contact_users']['boolean'] == "true") {
$this->contact_append($contacts, $line, $domain_uuid, $device_user_uuid, false);
}
+ // Grandstream get the contacts assigned to the user and groups and add to the contacts array
+ if ($_SESSION['provision']['contact_grandstream']['text'] == "true") {
+ $this->contact_grandstream($contacts, $line, $domain_uuid, $device_user_uuid);
+ }
}
//get the extensions and add them to the contacts array
@@ -888,6 +1088,18 @@ include "root.php";
$view->assign("password",$password);
$view->assign("template",$device_template);
+ // personal ldap password
+ global $laddr_salt;
+ if (isset($device_user_uuid)){
+ $sql = "SELECT contact_uuid FROM v_users WHERE user_uuid='".$device_user_uuid."'";
+ $prep_statement = $this->db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $c_uuid = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ $view->assign("ldap_username","uid=".$c_uuid[0]['contact_uuid'].",".$_SESSION['provision']['gs_ldap_user_base']['text']);
+ $view->assign("ldap_password",md5($laddr_salt.$device_user_uuid));
+ }
+
+
//get the time zone
$time_zone_name = $_SESSION['domain']['time_zone']['name'];
if (strlen($time_zone_name) > 0) {
diff --git a/app/time_conditions/app_config.php b/app/time_conditions/app_config.php
index ec3ceb35fa..d1e446f1af 100644
--- a/app/time_conditions/app_config.php
+++ b/app/time_conditions/app_config.php
@@ -202,5 +202,85 @@
$apps[$x]['default_settings'][$y]['default_setting_value'] = '{"christmas_day":{"mday":"25","mon":"12"}}';
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "USA Holiday";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"new_years_day":{"mday":"1","mon":"1"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"family_day":{"wday":"2","mon":"2","mday":"8-14"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"victoria_day":{"wday":"2","mon":"5","mday":"18-24"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"canada_day":{"mday":"1","mon":"7"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"bc_day":{"wday":"2","mon":"8","mday":"1-7"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"thanksgiving_day":{"wday":"2","mon":"10","mday":"8-14"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"remembrance_day":{"mday":"11","mon":"11"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"christmas_day":{"mday":"25","mon":"12"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"boxing_day":{"mday":"26","mon":"12"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = '';
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = 'time_conditions';
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = 'preset_canada';
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = 'array';
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = '{"labour_day":{"wday":"2","mon":"9","mday":"1-7"}}';
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = 'true';
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = 'Canada Holiday';
?>
diff --git a/resources/templates/provision/grandstream/dp750/phonebook.xml b/resources/templates/provision/grandstream/dp750/phonebook.xml
new file mode 100644
index 0000000000..7dca557192
--- /dev/null
+++ b/resources/templates/provision/grandstream/dp750/phonebook.xml
@@ -0,0 +1,26 @@
+
+
+1
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+
+{$contact.contact_work}
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home}
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell}
+
+{/if}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/dp750/{$mac}.xml b/resources/templates/provision/grandstream/dp750/{$mac}.xml
new file mode 100644
index 0000000000..88bbae90c9
--- /dev/null
+++ b/resources/templates/provision/grandstream/dp750/{$mac}.xml
@@ -0,0 +1,3157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
+{/if}
+
+
+
+{$server_address_1}
+
+
+
+
+
+
+
+
+0
+
+
+
+{$outbound_proxy_1}
+
+
+
+*97
+
+
+
+
+
+
+
+
+24
+
+
+
+
+46
+
+
+
+
+{if isset($gs_dns_mode_1) }
+{$gs_dns_mode_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_nat_traversal_1) }
+{$gs_nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$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}
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+3
+
+
+
+
+20
+
+
+
+
+1200
+
+
+
+
+0
+
+
+
+
+5060
+
+
+
+
+0
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($subscribe_mwi)}
+{$subscribe_mwi}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+101
+
+
+
+
+102
+
+
+
+
+100
+
+
+
+
+0
+
+
+
+101
+
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+2
+
+
+
+
+98
+
+
+
+
+104
+
+
+
+
+100
+
+
+
+2
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+97
+
+
+
+
+
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ }
+
+
+
+
+
+1
+
+
+
+
+4
+
+
+
+0
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+20
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+100
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+
+{$server_address_2}
+
+
+
+
+
+
+
+
+0
+
+
+
+{$outbound_proxy_2}
+
+
+
+*97
+
+
+
+
+
+
+
+
+24
+
+
+
+
+46
+
+
+
+
+{if isset($dns_mode_2)}
+{$dns_mode_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_nat_traversal_2) }
+{$gs_nat_traversal_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$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}
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+60
+
+
+
+
+30
+
+
+
+
+1200
+
+
+
+
+0
+
+
+
+
+5060
+
+
+
+
+0
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($subscribe_mwi)}
+{$subscribe_mwi}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+101
+
+
+
+
+102
+
+
+
+
+100
+
+
+
+
+0
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+8
+
+
+
+4
+
+
+
+18
+
+
+
+2
+
+
+
+98
+
+
+
+104
+
+
+
+100
+
+
+
+2
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+97
+
+
+
+
+
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ }
+
+
+
+
+
+1
+
+
+
+
+4
+
+
+
+0
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+20
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+100
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+{$server_address_3}
+
+
+
+
+
+
+
+
+0
+
+
+
+{$outbound_proxy_3}
+
+
+
+*97
+
+
+
+
+
+
+
+
+24
+
+
+
+
+46
+
+
+
+
+{if isset($dns_mode_3) }
+{$dns_mode_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_nat_traversal_3)}
+{$gs_nat_traversal_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+60
+
+
+
+
+30
+
+
+
+
+1200
+
+
+
+
+0
+
+
+
+
+5060
+
+
+
+
+0
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($subscribe_mwi)}
+{$subscribe_mwi}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+101
+
+
+
+
+102
+
+
+
+
+100
+
+
+
+
+0
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+8
+
+
+
+4
+
+
+
+18
+
+
+
+2
+
+
+
+98
+
+
+
+104
+
+
+
+100
+
+
+
+2
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+97
+
+
+
+
+
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ }
+
+
+
+
+
+1
+
+
+
+
+4
+
+
+
+0
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+20
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+100
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_4)}
+1
+{else}
+0
+{/if}
+
+
+
+{$server_address_4}
+
+
+
+
+
+
+
+
+0
+
+
+
+{$outbound_proxy_4}
+
+
+
+*97
+
+
+
+
+
+
+
+
+24
+
+
+
+
+46
+
+
+
+
+{if isset($dns_mode_4) }
+{$dns_mode_4}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_nat_traversal_4)}
+{$gs_nat_traversal_4}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$tp=0}
+{if $sip_transport_4 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_4 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_4 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_4 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+60
+
+
+
+
+30
+
+
+
+
+1200
+
+
+
+
+0
+
+
+
+
+5060
+
+
+
+
+0
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($subscribe_mwi)}
+{$subscribe_mwi}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+101
+
+
+
+
+102
+
+
+
+
+100
+
+
+
+
+0
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+8
+
+
+
+4
+
+
+
+18
+
+
+
+2
+
+
+
+98
+
+
+
+104
+
+
+
+100
+
+
+
+2
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+97
+
+
+
+
+
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ }
+
+
+
+
+
+1
+
+
+
+
+4
+
+
+
+0
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+20
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+100
+
+
+
+
+
+
+
+
+
+
+
+DP750
+
+
+
+
+0000
+
+
+
+
+
+
+
+0
+
+
+
+
+{$user_id_1}
+{$user_id_2}
+{$user_id_3}
+{$user_id_4}
+{$user_id_5}
+
+
+
+PB1
+PB2
+PB3
+PB4
+PB5
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_1}
+{$user_id_2}
+{$user_id_3}
+{$user_id_4}
+{$user_id_5}
+{$user_id_6}
+{$user_id_7}
+{$user_id_8}
+{$user_id_9}
+{$user_id_10}
+
+
+{$auth_id_1}
+{$auth_id_2}
+{$auth_id_3}
+{$auth_id_4}
+{$auth_id_5}
+{$auth_id_6}
+{$auth_id_7}
+{$auth_id_8}
+{$auth_id_9}
+{$auth_id_10}
+
+
+{$user_password_1}
+{$user_password_2}
+{$user_password_3}
+{$user_password_4}
+{$user_password_5}
+{$user_password_6}
+{$user_password_7}
+{$user_password_8}
+{$user_password_9}
+{$user_password_10}
+
+
+{$display_name_1}
+{$display_name_2}
+{$display_name_3}
+{$display_name_4}
+{$display_name_5}
+{$display_name_6}
+{$display_name_7}
+{$display_name_8}
+{$display_name_9}
+{$display_name_10}
+
+
+
+
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+
+
+
+101
+101
+101
+101
+101
+101
+101
+101
+101
+101
+
+
+
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+
+
+
+
+
+
+
+
+1
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+
+
+1
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+
+
+1
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+
+
+1
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+
+
+1
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+0
+0
+0
+
+
+
+
+
+
+
+
+
+
+
+DP7XX
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+{if isset($gs_lan_port_vlan) }
+1
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_qos_sip)}
+{$gs_qos_sip}
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_qos_rtp)}
+{$gs_qos_rtp}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+stun.ipvideotalk.com
+
+
+
+
+3
+
+
+
+
+20
+
+
+
+
+
+
+
+
+c=2000/4000;
+
+
+
+
+
+
+f1=350@-17,f2=440@-17,c=0/0;
+
+
+
+f1=440@-17,f2=480@-17,c=2000/4000;
+
+
+
+f1=480@-21,f2=620@-21,c=500/500;
+
+
+
+f1=480@-21,f2=620@-21,c=250/250;
+
+
+
+f1=350@-11,f2=440@-11,c=100/100-100/100-100/100;
+
+
+
+f1=440@-13,c=300/300-300/10000;
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+10080
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{$http_auth_username}
+
+
+
+
+{$http_auth_password}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10080
+
+
+
+1
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+{$user_password}
+
+
+
+
+
+{$admin_password}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+300
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+80
+
+
+
+
+
+443
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1812
+
+
+
+
+1813
+
+
+
+
+
+
+
+
+
+
+
+
+1812
+
+
+
+
+1813
+
+
+
+
+
+
+
+
+
+2
+
+
+
+
+3
+
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+60
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_gxp_time_zone)}
+{$gs_gxp_time_zone}
+{/if}
+
+
+
+PST+8PDT,M3.2.0,M11.1.0
+
+
+
+
+1
+
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+1
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+120
+
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+3
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+givenName sn
+
+
+
+
+
+500
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+1
+
+
+1
+
+
+
+givenName sn
+
+
+
+
+
+
+
+PB1
+
+
+
+PB2
+
+
+
+PB3
+
+
+
+PB4
+
+
+
+PB5
+
diff --git a/resources/templates/provision/grandstream/gswave/{$mac}.xml b/resources/templates/provision/grandstream/gswave/{$mac}.xml
new file mode 100644
index 0000000000..ee6ff9abfb
--- /dev/null
+++ b/resources/templates/provision/grandstream/gswave/{$mac}.xml
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_1}
+
+
+{$server_address_1}
+
+
+{$user_id_1}
+
+
+{$user_id_1}
+
+
+{$user_password_1}
+
+
+
+*98
+
+
+{$display_name_1}
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+5060
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+
+9
+
+
+
+0
+
+
+
+8
+
+
+
+98
+
+
+
+2
+
+
+
+9
+
+
+
+9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+2
+
+
+
+
+911
+
+
+
+
+1
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+UTF-8
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$user_id_1}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+
+{$gs_ldap_mail_attr}
+
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_mail_filter}
+
+
+
+givenName sn title
+
+
+
+
+50
+
+
+
+
+4
+
+
+1
+
+
+1
+
+
+
+0
+
+
+
+
diff --git a/resources/templates/provision/grandstream/gxp16xx/label.txt b/resources/templates/provision/grandstream/gxp16xx/label.txt
new file mode 100644
index 0000000000..be9976d487
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp16xx/label.txt
@@ -0,0 +1,31 @@
+{$rows=8}
+{$cols=1}
+{if $template == "grandstream/gxp16xx"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1628"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1630"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp2160"}{$rows=12}{$cols=2}{/if}
+{if $template == "grandstream/gxp2130"}{$rows=4}{$cols=2}{/if}
+{if $cols == 2}
+{for $row=1 to $rows}
+{$mem=$row+$rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+ {$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{$mem=$row}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{else}
+{for $mem=1 to $rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{/if}
diff --git a/resources/templates/provision/grandstream/gxp16xx/phonebook.xml b/resources/templates/provision/grandstream/gxp16xx/phonebook.xml
new file mode 100644
index 0000000000..f2fe0bcc85
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp16xx/phonebook.xml
@@ -0,0 +1,49 @@
+
+
+1
+{foreach $contacts as $contact}
+{if $contact.contact_type == "group"}
+
+{$contact.id}
+{$contact.group_description|truncate:10}
+
+{/if}
+{/foreach}
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given|truncate:24}
+{$contact.contact_name_family|truncate:24}
+{if $contact.contact_title != "" }
+{$contact.contact_title|truncate:24}
+{/if}
+
+{$contact.contact_work|truncate:24}
+1
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home|truncate:24}
+1
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell|truncate:24}
+1
+
+{/if}
+{if $contact.contact_role != "" }
+{$contact.contact_role|truncate:24}
+{/if}
+{if $contact.contact_organization != "" }
+{$contact.contact_organization|truncate:24}
+{/if}
+{foreach $contact.groups as $group}
+{$group}
+{/foreach}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/gxp16xx/{$mac}.xml b/resources/templates/provision/grandstream/gxp16xx/{$mac}.xml
new file mode 100644
index 0000000000..f5eb093bd1
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp16xx/{$mac}.xml
@@ -0,0 +1,3051 @@
+
+
+{$mac|replace:'-':''}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_1}
+
+
+{$server_address_1}
+
+
+
+
+
+{$outbound_proxy_1}
+
+
+
+
+
+{$user_id_1}
+
+
+{$auth_id_1}
+
+
+{$user_password_1}
+
+
+{$display_name_1}
+
+
+*97
+
+
+
+
+
+
+{if isset($gs_dns_mode_1) }
+{$gs_dns_mode_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_1) }
+{$nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+3
+
+
+
+60
+
+
+
+0
+
+
+
+1
+
+
+
+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}
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+0
+
+
+**
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+
+0
+
+
+
+8
+
+
+
+18
+
+
+
+2
+
+
+
+9
+
+
+
+2
+
+
+
+98
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+97
+
+
+
+1
+
+
+
+
+2
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ }
+
+
+
+
+20
+
+
+
+1
+
+
+
+0
+
+
+
+{if isset($gs_account_ring_tone_1)||$gs_account_ring_tone_1==0}
+{$gs_account_ring_tone_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_1_1)}
+{$gs_ring_tone_caller_id_1_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_1_1)||$gs_ring_tone_1_1==0}
+{$gs_ring_tone_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_2_1)}
+{$gs_ring_tone_caller_id_2_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_2_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_3_1)}
+{$gs_ring_tone_caller_id_3_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_3_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_3_1}
+{/if}
+
+
+
+
+60
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+1
+
+
+*78
+
+
+*79
+
+
+
+
+
+
+
+
+
+0
+
+
+0
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_2}
+
+
+{$server_address_2}
+
+
+
+
+
+
+
+{$outbound_proxy_2}
+
+
+
+
+
+
+{$user_id_2}
+
+
+
+{$auth_id_2}
+
+
+
+{$user_password_2}
+
+
+
+{$display_name_2}
+
+
+
+*97
+
+
+
+
+
+
+{if isset($dns_mode_2) }
+{$dns_mode_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_2) }
+{$nat_traversal_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+3
+
+
+
+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}
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+0
+
+
+**
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+
+0
+
+
+
+8
+
+
+
+18
+
+
+
+9
+
+
+
+2
+
+
+
+2
+
+
+
+2
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+97
+
+
+
+1
+
+
+
+
+2
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ }
+
+
+
+
+20
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+60
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+1
+
+
+*78
+
+
+*79
+
+
+
+
+
+
+
+
+
+0
+
+
+0
+{if $template == "grandstream/gxp1630"}
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_3}
+
+
+
+{$server_address_3}
+
+
+
+
+
+
+{$outbound_proxy_3}
+
+
+
+
+
+
+{$user_id_3}
+
+
+
+{$auth_id_3}
+
+
+
+{$user_password_3}
+
+
+
+{$display_name_3}
+
+
+
+*97
+
+
+
+
+
+
+{if isset($dns_mode_3) }
+{$dns_mode_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_3) }
+{$nat_traversal_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+60
+
+
+
+60
+
+
+
+0
+
+
+
+0
+
+
+
+30
+
+
+
+3
+
+
+
+5064
+
+
+
+20
+
+
+
+
+50
+
+
+
+
+400
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+**
+
+
+
+
+
+
+
+0
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+
+0
+
+
+
+8
+
+
+
+18
+
+
+
+9
+
+
+
+2
+
+
+
+2
+
+
+
+2
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+0
+
+
+
+1
+
+
+
+97
+
+
+
+1
+
+
+
+
+2
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ }
+
+
+
+
+20
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+60
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+1
+
+
+*78
+
+
+*79
+
+
+
+
+
+
+
+
+
+0
+
+
+0
+
+
+{/if}
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+192
+
+168
+
+0
+
+160
+
+
+255
+
+255
+
+255
+
+0
+
+
+0
+
+0
+
+0
+
+0
+
+
+0
+
+0
+
+0
+
+0
+
+
+0
+
+0
+
+0
+
+0
+
+
+0
+
+0
+
+0
+
+0
+
+
+
+0
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+26
+
+
+
+46
+
+
+
+0
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+0
+
+
+{if isset($gs_pc_port_vlan) }
+{$gs_pc_port_vlan}
+{else}
+1
+{/if}
+
+
+0
+
+
+
+1
+
+
+
+1500
+
+
+
+
+
+
+0
+
+
+
+
+
+
+1194
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$user_password}
+
+
+
+{$admin_password}
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+2
+
+
+
+60
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+
+2
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+{$http_auth_username}
+
+
+{$http_auth_password}
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+2
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+auto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+86400
+
+
+
+
+
+
+
+
+7547
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+80
+
+
+
+443
+
+
+0
+
+
+5
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+1
+{else}
+0
+{/if}
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+120
+
+
+
+1
+
+
+
+0
+
+
+
+{if isset($contact_grandstream)}
+3
+{else}
+0
+{/if}
+
+
+
+
+
+
+{$gs_ldap_server}
+
+
+389
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+{$ldap_username}
+
+
+{$ldap_password}
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+3
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+{$gs_ldap_number_attr}
+
+
+givenName sn
+
+
+
+
+50
+
+
+
+
+30
+
+
+
+0
+
+
+1
+
+1
+
+
+givenName sn
+
+
+
+
+
+
+5004
+
+
+
+0
+
+
+
+20
+
+
+
+
+
+
+
+
+
+{if isset($public_mode) }
+{if $public_mode|strtolower == 'true'}
+1
+{elseif $public_mode|strtolower == 'yes'}
+1
+{elseif $public_mode == '1'}
+1
+{else}
+0
+{/if}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+30
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+0
+
+
+
+
+
+300
+
+
+
+200
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+f1=350,f2=440;
+
+
+f1=350,f2=440;
+
+
+
+f1=350,f2=440,c=10/10;
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+f1=440,f2=440,c=25/525;
+
+
+
+0
+
+
+
+f1=480,f2=620,c=50/50;
+
+
+
+f1=480,f2=620,c=25/25;
+
+
+
+7
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+6
+
+
+
+
+
+
+
+2
+
+
+
+3
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$grandstream_gxp_time_zone}
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$start_id=1363}
+{assign var=key_types value=["line"=>0,"shared line"=>1,"speed dial"=>10, "speed dial active"=>14,"dial dtmf"=>15,"voicemail"=>16,"call return"=>17,"transfer"=>18,"intercom"=>20,"ldap search"=>21]}
+
+{for $line=1 to 2}
+{$pid=$line*2-2}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+ {$key_types[$keys.line.$line.device_key_type]}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21]}
+{$prog=1}
+{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}
+{$key_types[$keys.programmable.$prog.device_key_type]}
+
+
+
+{$keys.programmable.$prog.device_key_line}
+
+
+{$keys.programmable.$prog.device_key_label}
+
+
+{$keys.programmable.$prog.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13]}
+{$start_id=323}
+{for $mem=1 to 7}
+{$pid=$mem*3-3}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.memory.$mem.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+1
+0
+
+
+{/if}
+
+{/for}
+
+{$mem=8}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
diff --git a/resources/templates/provision/grandstream/gxp2130/README.txt b/resources/templates/provision/grandstream/gxp2130/README.txt
new file mode 100644
index 0000000000..247da51b2b
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2130/README.txt
@@ -0,0 +1,77 @@
+======================
+Provision
+======================
+Grandstream looks for {$mac}, then cfg{$mac}.xml.
+I've added symlinks so you can download both files for upload to the phone if auto-provision isn't working.
+
+ - auto provision requires
+ nginx rewrite rules
+ provision enabled text true
+ provision gs_config_server_path text mydomain.com/provision
+ # to enable phonebook contacts see below...
+
+======================
+label.txt - is a phone label for gxp2160 memory keys
+======================
+Plain text is copy/pasted into openoffice template that formats the label.
+
+
+======================
+phonebook.xml
+======================
+This provisions the phonebook button and the phone's display for incoming/outgoing calls.
+
+ - requires nginx rewrite rules
+ rewrite "^.*/provision/pb([A-Fa-f0-9-]{12,17})/phonebook\.xml$" /app/provision/?mac=$1&file=phonebook.xml;
+
+ - requires Default Settings:
+ provision enabled text true
+ provision contact_extensions boolean false
+ provision contact_grandstream text true
+ provision gs_phonebook_xml_server_path text mydomain.com/provision/pb # note provision template adds {$mac} on the end
+ handled by nginx (above).
+ provision gs_config_server_path text mydomain.com/provision
+ provision gs_phonebook_download_interval text 720
+ provision gs_global_contact_groups text contacts_it,contacts_finance # these are setup in Group Manager (see below).
+ Comma seperated groups listed here will be on all phones, saving the need to add these groups to every user.
+
+
+ - Grandstream and FusionPBX supports contact groups. To setup groups
+ 1) Advanced=>Group Manager=> Add
+ 2) Group NAME is prefixed with "contacts_". eg. contacts_it contacts_finance contacts_purchasing
+ 3) Group DESCRIPTION is what appears on the Phone's display. Best view is 1 word 10 characters max width.
+
+
+ - Contacts can be two types:
+ A) User/Extention local to Fusionpbx
+ B) Customer/External phone number.
+
+ A) Setup User/Extension contact
+ 1) Create a new user Accounts=>Users
+ 2) Assign contact_GROUPS (above) to that user will be assigned to on the phone's group display.
+ 2) Create a new extension and assign it to that user Accounts=>Extensions ( this auto adds user's extention to the phonebook )
+ 3) Create a new device and assign it to that user Accounts=>Devices ( this tells device which phonebook contacts to download )
+ 4) Apps=>Contacts
+ - Type "User"
+ - Organization - Appears on phone. e.g. School Board Office, Aberdeen Elementary
+ - First Name
+ - Last Name
+ - Category - is used for "Department". e.g. IT, Finance, Purchasing
+ - Roll - Roll in the company. e.g. Network Support Technitian, Teacher, Stenno1.
+ - Users - Users who can see this contact on their phone.
+ - Groups - Groups that can see this contact on their phone.
+ - Extensions - this is the default "Work" number that appears on the phone.
+ - Numbers - make sure they are type "Voice"
+ - "Work" can be assigned
+ - "Home"
+ - "Mobile"
+ - Some want their extension shown but restrict their cell number to certain users.
+ This may be done by Numbers Description field allow:username1,username2
+ ( NOTE private cell numbers, could be better coded )
+
+ B) Setup Costomer/External phone numbers similar to step #4) Apps=>Contacts
+ - Type "Customer"
+ - Fill in Organiation, First Name, Last Name, Category, Roll, Users, Groups
+ - Numbers - Add "Work" "Voice" number
+
+
diff --git a/resources/templates/provision/grandstream/gxp2130/label.txt b/resources/templates/provision/grandstream/gxp2130/label.txt
new file mode 100644
index 0000000000..be9976d487
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2130/label.txt
@@ -0,0 +1,31 @@
+{$rows=8}
+{$cols=1}
+{if $template == "grandstream/gxp16xx"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1628"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1630"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp2160"}{$rows=12}{$cols=2}{/if}
+{if $template == "grandstream/gxp2130"}{$rows=4}{$cols=2}{/if}
+{if $cols == 2}
+{for $row=1 to $rows}
+{$mem=$row+$rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+ {$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{$mem=$row}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{else}
+{for $mem=1 to $rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{/if}
diff --git a/resources/templates/provision/grandstream/gxp2130/phonebook.xml b/resources/templates/provision/grandstream/gxp2130/phonebook.xml
new file mode 100644
index 0000000000..62c745db9f
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2130/phonebook.xml
@@ -0,0 +1,49 @@
+
+
+1
+{foreach $contacts as $contact}
+{if $contact.contact_type == "group"}
+
+{$contact.id}
+{$contact.group_description|truncate:10}
+
+{/if}
+{/foreach}
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+{if $contact.contact_role != "" }
+{$contact.contact_role}
+{/if}
+{if $contact.contact_category != "" }
+{$contact.contact_category}
+{/if}
+
+{$contact.contact_work}
+1
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home}
+1
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell}
+1
+
+{/if}
+{if $contact.contact_organization != "" }
+{$contact.contact_organization}
+{/if}
+{foreach $contact.groups as $group}
+{$group}
+{/foreach}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/gxp2130/{$mac}.xml b/resources/templates/provision/grandstream/gxp2130/{$mac}.xml
index cc0fa46f21..52cec2e55e 100644
--- a/resources/templates/provision/grandstream/gxp2130/{$mac}.xml
+++ b/resources/templates/provision/grandstream/gxp2130/{$mac}.xml
@@ -1,619 +1,6623 @@
-
-
-
-
-
-
- 1
-
- {$display_name_1}
-
- {$server_address_1}
-
-
-
-
-
- {$user_id_1}
-
- {$auth_id_1}
-
- {$user_password_1}
-
- {$display_name_1}
-
- *97
-
-
- 0
-
- 0
-
- {if $sip_transport_1 == 'udp'}0
- {elseif $sip_transport_1 == 'tcp'}1
- {elseif $sip_transport_1 == 'tls'}2
- {elseif $sip_transport_1 == 'dns srv'}1
- {/if}
+{$mac|replace:'-':''}
+
+
+
+
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_2}
-
- {$server_address_2}
-
- {$user_id_2}
-
- {$user_id_2}
-
- {$user_password_2}
-
- {$display_name_2}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_2 == 'udp'}0{/if}
- {if $sip_transport_2 == 'tcp'}1{/if}
- {if $sip_transport_2 == 'tls'}2{/if}
- {if $sip_transport_2 == 'dns srv'}1{/if}
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_3}
-
- {$server_address_3}
-
- {$user_id_3}
-
- {$user_id_3}
-
- {$user_password_3}
-
- {$display_name_3}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_3 == 'udp'}0{/if}
- {if $sip_transport_3 == 'tcp'}1{/if}
- {if $sip_transport_3 == 'tls'}2{/if}
- {if $sip_transport_3 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_4}
-
- {$server_address_4}
-
- {$user_id_4}
-
- {$user_id_4}
-
- {$user_password_4}
-
- {$display_name_4}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_4 == 'udp'}0{/if}
- {if $sip_transport_4 == 'tcp'}1{/if}
- {if $sip_transport_4 == 'tls'}2{/if}
- {if $sip_transport_4 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_5}
-
- {$server_address_5}
-
- {$user_id_5}
-
- {$user_id_5}
-
- {$user_password_5}
-
- {$display_name_5}
-
- *97
-
- 4
-
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
+{/if}
- {if $sip_transport_5 == 'udp'}0{/if}
- {if $sip_transport_5 == 'tcp'}1{/if}
- {if $sip_transport_5 == 'tls'}2{/if}
- {if $sip_transport_5 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
- 60
-
-
-
- 1
-
- {$display_name_6}
-
- {$server_address_6}
-
- {$user_id_6}
-
- {$user_id_6}
-
- {$user_password_6}
-
- {$display_name_6}
-
- *97
-
-
- 4
-
- {if $sip_transport_6 == 'udp'}0{/if}
- {if $sip_transport_6 == 'tcp'}1{/if}
- {if $sip_transport_6 == 'tls'}2{/if}
- {if $sip_transport_6 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 60
-
-
- 0
-
- 0
-
-
- phone-{$display_name_1}
-
- 0
-
-
-
- {$user_password}
-
- {$admin_password}
-
-
-
-
-
- 0
-
-
-
- {$http_auth_username}
-
- {$http_auth_password}
-
- 2
-
- {$domain_name}{$project_path}/app/provision
-
- {$domain_name}{$project_path}/app/provision
-
- 0
-
-
- 0
-
- 0
-
- 10080
-
- 1
-
- 1
-
- 0
-
-
-
-
- 0
-
- 0
-
-
- 0
-
- 1
-
- 0
-
- {if isset($public_mode) }
- {if $public_mode|strtolower == 'true'}
- 1
- {elseif $public_mode|strtolower == 'yes'}
- 1
- {elseif $public_mode == '1'}
- 1
- {else}
- 0
- {/if}
- {else}
- 0
- {/if}
-
-
- 0
-
- 0
-
-
- 0
-
-
-
-
-
-
-
- 1
-
- 0
-
-
- 100
-
- 40
-
- 7
-
-
-
- 0
-
- 0
-
- 1
-
-
-
- us.pool.ntp.org
-
-
- 1
-
+
+
+{$display_name_1}
+
+
+
+{$server_address_1}
+
+
+
+{$secondary_server_address_1}
+
+
+
+{$outbound_proxy_1}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_1}
+
+
+
+{$auth_id_1}
+
+
+
+{$user_password_1}
+
+
+
+{$display_name_1}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_mode_1) }
+{$gs_dns_mode_1}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_1) }
+{$nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+123
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_1)||$gs_account_ring_tone_1==0}
+{$gs_account_ring_tone_1}
+{/if}
+
+
+
+
+{if isset($gs_ring_tone_caller_id_1_1)}
+{$gs_ring_tone_caller_id_1_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_1_1)||$gs_ring_tone_1_1==0}
+{$gs_ring_tone_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_2_1)}
+{$gs_ring_tone_caller_id_2_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_2_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_3_1)}
+{$gs_ring_tone_caller_id_3_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_3_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_3_1}
+{/if}
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_2}
+
+
+
+{$server_address_2}
+
+
+
+
+
+
+
+{$outbound_proxy_2}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_2}
+
+
+
+{$auth_id_2}
+
+
+
+{$user_password_2}
+
+
+
+{$display_name_2}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_2) }
+{$gs_dns_modee_2}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_2) }
+{$nat_traversal_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_2)||$gs_account_ring_tone_2==0}
+{$gs_account_ring_tone_2}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*79
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_3}
+
+
+
+{$server_address_3}
+
+
+
+
+
+
+
+{$outbound_proxy_3}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_3}
+
+
+
+{$auth_id_3}
+
+
+
+{$user_password_3}
+
+
+
+{$display_name_3}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_3) }
+{$gs_dns_modee_3}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_3) }
+{$nat_traversal_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5064
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_3)||$gs_account_ring_tone_3==0}
+{$gs_account_ring_tone_3}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_4)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_4}
+
+
+
+{$server_address_4}
+
+
+
+
+
+
+
+{$outbound_proxy_4}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_4}
+
+
+
+{$auth_id_4}
+
+
+
+{$user_password_4}
+
+
+
+{$display_name_4}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_4) }
+{$gs_dns_modee_4}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_4) }
+{$nat_traversal_4}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5066
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_4 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_4 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_4 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_4 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_4)||$gs_account_ring_tone_4==0}
+{$gs_account_ring_tone_4}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_5)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_5}
+
+
+
+{$server_address_5}
+
+
+
+
+
+
+
+{$outbound_proxy_5}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_5}
+
+
+
+{$auth_id_5}
+
+
+
+{$user_password_5}
+
+
+
+{$display_name_5}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_5) }
+{$gs_dns_modee_5}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_5) }
+{$nat_traversal_5}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5068
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_5 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_5 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_5 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_5 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_5)||$gs_account_ring_tone_5==0}
+{$gs_account_ring_tone_5}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_6)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_6}
+
+
+
+{$server_address_6}
+
+
+
+
+
+
+
+{$outbound_proxy_6}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_6}
+
+
+
+{$auth_id_6}
+
+
+
+{$user_password_6}
+
+
+
+{$display_name_6}
+
+
+
+*97
+
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_6) }
+{$gs_dns_modee_6}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_6) }
+{$nat_traversal_6}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5070
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_6 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_6 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_6 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_6 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_6)||$gs_account_ring_tone_6==0}
+{$gs_account_ring_tone_6}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+26
+
+
+
+
+46
+
+
+
+
+0
+
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_pc_port_vlan) }
+{$gs_pc_port_vlan}
+{else}
+1
+{/if}
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+1194
+
+
+
+
+0
+
+
+
+
+
+
+
+{$user_password}
+
+
+
+{$admin_password}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{$http_auth_username}
+
+
+
+{$http_auth_password}
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10080
+
+
+
+1
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Auto
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+86400
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+
+80
+
+
+
+
+443
+
+
+
+5
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+1
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+
+{if isset($gs_phonebook_download_interval)}
+{$gs_phonebook_download_interval}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+{if isset($contact_grandstream)}
+2
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+3
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+givenName sn title
+
+
+
+
+
+50
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+1
+
+
+1
+
+
+
+givenName sn title
+
+
+
+
+
+
+
+5004
+
+
+
+
+200
+
+
+
+
+5204
+
+
+
+
+0
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($public_mode) }
+{if $public_mode|strtolower == 'true'}
+1
+{elseif $public_mode|strtolower == 'yes'}
+1
+{elseif $public_mode == '1'}
+1
+{else}
+0
+{/if}
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{if isset($gs_auto_attended_transfer) }
+{$gs_auto_attended_transfer}
+{else}
+1
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440,c=10/10;
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=440,f2=440,c=25/525;
+
+
+
+
+0
+
+
+
+
+f1=480,f2=620,c=50/50;
+
+
+
+
+f1=480,f2=620,c=25/25;
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_handset_tx_gain) }
+{$gs_handset_tx_gain}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+100
+
+
+
+
+60
+
+
+
+
+5
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($gs_wallpaper_url)}
+1
+{$gs_wallpaper_url}
+{else}
+0
+
+{/if}
+
+
+
+#000000
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+
+
+
+
+1440
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{if isset($grandstream_timezone) }
- {$grandstream_timezone}
- {else}
- auto
- {/if}
-
-
-
- 1
- a
-
-
- 1
-
-
-
- 15
-
-
- auto
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-{foreach $keys["line"] as $row}
-{$key_id = $row.device_key_id - 1}
-
-{if $key_id < 3}
-{$start_id = 1363}
-{$type_id = $start_id + ($key_id * 2)}
-{$line_id = ($start_id + 1) + ($key_id * 2)}
-{$label_id = ($start_id + 102) + ($key_id * 2)}
-{$value_id = ($start_id + 103) + ($key_id * 2)}
-{if $row.device_key_type == "speed dial"} 10 {/if}
-{if $row.device_key_type == "blf"} 11 {/if}
-{if $row.device_key_type == "presence watcher"} 12 {/if}
-{if $row.device_key_type == "eventlist blf"} 13 {/if}
-{if $row.device_key_type == "speed dial active"} 14 {/if}
-{if $row.device_key_type == "dial dtmf"} 15 {/if}
-{if $row.device_key_type == "voicemail"} 16 {/if}
-{if $row.device_key_type == "call return"} 17 {/if}
-{if $row.device_key_type == "transfer"} 18 {/if}
-{if $row.device_key_type == "call park"} 26 {/if}
-{if $row.device_key_type == "intercom"} 20 {/if}
-{if $row.device_key_type == "ldap search"} 21 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 7}
-{$start_id = 23800}
-{$type_id = $start_id + (($key_id - 6) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 6) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 6) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 6) * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-
-{elseif $key_id < 12}
-{$start_id = 23800}
-{$type_id = $start_id + (($key_id - 6) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 6) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 6) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 6) * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
+{$grandstream_timezone}
+{elseif isset($gs_gxp_time_zone) }
+{$gs_gxp_time_zone}
+{else}
+auto
{/if}
-{/foreach}
-
-
+
+
+
+
+0
-{foreach $keys["memory"] as $row}
-{$key_id = $row.device_key_id - 1}
+
+
+
+
+PST+8PDT,M3.2.0,M11.1.0
-{if $key_id < 7}
-{$start_id = 301}
-{$type_id = $start_id + 22 + ($key_id)}
-{$line_id = ($start_id) + ($key_id * 3)}
-{$label_id = ($start_id + 1) + ($key_id * 3)}
-{$value_id = ($start_id + 2) + ($key_id * 3)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
+
+
+
+
+
+
+
+
+3
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+
+
+
+0
-{elseif $key_id < 8}
-{$start_id = 353}
-{$type_id = $start_id + ($key_id * 4)}
-{$line_id = ($start_id + 1) + ($key_id * 4)}
-{$label_id = ($start_id + 2) + ($key_id * 4)}
-{$value_id = ($start_id + 3) + ($key_id * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
+
+
+
+
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+
+
+
+1
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+15
+
+
+
+
+c
+
+
+
+
+
+1
+
+
+
+
+CAD/USD;CAD/EUR;CAD/GBP;CAD/AUD;CAD/CNY;CAD/JPY
+
+
+
+
+
+
+
+
+
+
+XMLApp
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_bluetooth_power)}
+{$gs_bluetooth_power}
{/if}
-{/foreach}
+
+
+
+
+{if isset($gs_bluetooth_handsfree)}
+{$gs_bluetooth_handsfree}
+{/if}
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$fixed_keys=4}
+{if $template == "grandstream/gxp2130"}{$fixed_keys=3}{/if}
+{if $template == "grandstream/gxp2140"}{$fixed_keys=4}{/if}
+{if $template == "grandstream/gxp2160"}{$fixed_keys=6}{/if}
+{if $template == "grandstream/gxp2170"}{$fixed_keys=12}{/if}
+{if $template == "grandstream/gxp2135"}{$fixed_keys=8}{/if}
+
+{$start_id=1363}
+{assign var=key_types value=["none"=>-1,"line"=>0,"shared line"=>1,"speed dial"=>10, "blf"=>11, "presence watcher"=>12, "eventlist blf"=>13,"speed dial active"=>14,"dial dtmf"=>15,"voicemail"=>16,"call return"=>17,"transfer"=>18,"call park"=>19,"intercom"=>20,"ldap search"=>21,"multicast paging"=>23,"record"=>24,"call log"=>25,"monitored call park"=>26,"menu"=>27]}
+
+{for $line=1 to 6}
+{$pid=$line*2-2}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+0
+{$line-1}
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+{$start_id=23800}
+{for $line=7 to 32}
+{$pid=($line-6)*4-4}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+-1
+0
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>17]}
+{$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}
+{$key_types[$keys.programmable.$prog.device_key_type]}
+{$keys.programmable.$prog.device_key_line}
+{$keys.programmable.$prog.device_key_label}
+{$keys.programmable.$prog.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=323}
+{for $mem=1 to 7}
+{$pid=$mem*3-3}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.memory.$mem.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=353}
+{for $mem=8 to 18}
+{$pid=($mem-7)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=1440}
+{for $mem=19 to 24}
+{$pid=($mem-18)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{if $template == "grandstream/gxp2140"||$template == "grandstream/gxp2170"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=23000}
+{for $exp=1 to 160}
+{$pid=$exp*5-5}
+{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types}
+{$key_types[$keys.expansion.$exp.device_key_type]}
+{$keys.expansion.$exp.device_key_line}
+{$keys.expansion.$exp.device_key_label}
+{$keys.expansion.$exp.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+{/if}
+
diff --git a/resources/templates/provision/grandstream/gxp2135/README.txt b/resources/templates/provision/grandstream/gxp2135/README.txt
new file mode 100644
index 0000000000..247da51b2b
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2135/README.txt
@@ -0,0 +1,77 @@
+======================
+Provision
+======================
+Grandstream looks for {$mac}, then cfg{$mac}.xml.
+I've added symlinks so you can download both files for upload to the phone if auto-provision isn't working.
+
+ - auto provision requires
+ nginx rewrite rules
+ provision enabled text true
+ provision gs_config_server_path text mydomain.com/provision
+ # to enable phonebook contacts see below...
+
+======================
+label.txt - is a phone label for gxp2160 memory keys
+======================
+Plain text is copy/pasted into openoffice template that formats the label.
+
+
+======================
+phonebook.xml
+======================
+This provisions the phonebook button and the phone's display for incoming/outgoing calls.
+
+ - requires nginx rewrite rules
+ rewrite "^.*/provision/pb([A-Fa-f0-9-]{12,17})/phonebook\.xml$" /app/provision/?mac=$1&file=phonebook.xml;
+
+ - requires Default Settings:
+ provision enabled text true
+ provision contact_extensions boolean false
+ provision contact_grandstream text true
+ provision gs_phonebook_xml_server_path text mydomain.com/provision/pb # note provision template adds {$mac} on the end
+ handled by nginx (above).
+ provision gs_config_server_path text mydomain.com/provision
+ provision gs_phonebook_download_interval text 720
+ provision gs_global_contact_groups text contacts_it,contacts_finance # these are setup in Group Manager (see below).
+ Comma seperated groups listed here will be on all phones, saving the need to add these groups to every user.
+
+
+ - Grandstream and FusionPBX supports contact groups. To setup groups
+ 1) Advanced=>Group Manager=> Add
+ 2) Group NAME is prefixed with "contacts_". eg. contacts_it contacts_finance contacts_purchasing
+ 3) Group DESCRIPTION is what appears on the Phone's display. Best view is 1 word 10 characters max width.
+
+
+ - Contacts can be two types:
+ A) User/Extention local to Fusionpbx
+ B) Customer/External phone number.
+
+ A) Setup User/Extension contact
+ 1) Create a new user Accounts=>Users
+ 2) Assign contact_GROUPS (above) to that user will be assigned to on the phone's group display.
+ 2) Create a new extension and assign it to that user Accounts=>Extensions ( this auto adds user's extention to the phonebook )
+ 3) Create a new device and assign it to that user Accounts=>Devices ( this tells device which phonebook contacts to download )
+ 4) Apps=>Contacts
+ - Type "User"
+ - Organization - Appears on phone. e.g. School Board Office, Aberdeen Elementary
+ - First Name
+ - Last Name
+ - Category - is used for "Department". e.g. IT, Finance, Purchasing
+ - Roll - Roll in the company. e.g. Network Support Technitian, Teacher, Stenno1.
+ - Users - Users who can see this contact on their phone.
+ - Groups - Groups that can see this contact on their phone.
+ - Extensions - this is the default "Work" number that appears on the phone.
+ - Numbers - make sure they are type "Voice"
+ - "Work" can be assigned
+ - "Home"
+ - "Mobile"
+ - Some want their extension shown but restrict their cell number to certain users.
+ This may be done by Numbers Description field allow:username1,username2
+ ( NOTE private cell numbers, could be better coded )
+
+ B) Setup Costomer/External phone numbers similar to step #4) Apps=>Contacts
+ - Type "Customer"
+ - Fill in Organiation, First Name, Last Name, Category, Roll, Users, Groups
+ - Numbers - Add "Work" "Voice" number
+
+
diff --git a/resources/templates/provision/grandstream/gxp2135/label.txt b/resources/templates/provision/grandstream/gxp2135/label.txt
new file mode 100644
index 0000000000..be9976d487
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2135/label.txt
@@ -0,0 +1,31 @@
+{$rows=8}
+{$cols=1}
+{if $template == "grandstream/gxp16xx"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1628"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1630"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp2160"}{$rows=12}{$cols=2}{/if}
+{if $template == "grandstream/gxp2130"}{$rows=4}{$cols=2}{/if}
+{if $cols == 2}
+{for $row=1 to $rows}
+{$mem=$row+$rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+ {$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{$mem=$row}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{else}
+{for $mem=1 to $rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{/if}
diff --git a/resources/templates/provision/grandstream/gxp2135/phonebook.xml b/resources/templates/provision/grandstream/gxp2135/phonebook.xml
new file mode 100644
index 0000000000..62c745db9f
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2135/phonebook.xml
@@ -0,0 +1,49 @@
+
+
+1
+{foreach $contacts as $contact}
+{if $contact.contact_type == "group"}
+
+{$contact.id}
+{$contact.group_description|truncate:10}
+
+{/if}
+{/foreach}
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+{if $contact.contact_role != "" }
+{$contact.contact_role}
+{/if}
+{if $contact.contact_category != "" }
+{$contact.contact_category}
+{/if}
+
+{$contact.contact_work}
+1
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home}
+1
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell}
+1
+
+{/if}
+{if $contact.contact_organization != "" }
+{$contact.contact_organization}
+{/if}
+{foreach $contact.groups as $group}
+{$group}
+{/foreach}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/gxp2135/{$mac}.xml b/resources/templates/provision/grandstream/gxp2135/{$mac}.xml
index 9320e416bc..52cec2e55e 100644
--- a/resources/templates/provision/grandstream/gxp2135/{$mac}.xml
+++ b/resources/templates/provision/grandstream/gxp2135/{$mac}.xml
@@ -1,562 +1,6623 @@
-
-
-
-
-
-
- 1
-
- {$display_name_1}
-
- {$server_address_1}
-
-
-
-
-
- {$user_id_1}
-
- {$auth_id_1}
-
- {$user_password_1}
-
- {$display_name_1}
-
- *97
-
-
- 0
-
- 0
-
- {if $sip_transport_1 == 'udp'}0
- {elseif $sip_transport_1 == 'tcp'}1
- {elseif $sip_transport_1 == 'tls'}2
- {elseif $sip_transport_1 == 'dns srv'}1
- {/if}
-
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_2}
-
- {$server_address_2}
-
- {$user_id_2}
-
- {$user_id_2}
-
- {$user_password_2}
-
- {$display_name_2}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_2 == 'udp'}0{/if}
- {if $sip_transport_2 == 'tcp'}1{/if}
- {if $sip_transport_2 == 'tls'}2{/if}
- {if $sip_transport_2 == 'dns srv'}1{/if}
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_3}
-
- {$server_address_3}
-
- {$user_id_3}
-
- {$user_id_3}
-
- {$user_password_3}
-
- {$display_name_3}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_3 == 'udp'}0{/if}
- {if $sip_transport_3 == 'tcp'}1{/if}
- {if $sip_transport_3 == 'tls'}2{/if}
- {if $sip_transport_3 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_4}
-
- {$server_address_4}
-
- {$user_id_4}
-
- {$user_id_4}
-
- {$user_password_4}
-
- {$display_name_4}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_4 == 'udp'}0{/if}
- {if $sip_transport_4 == 'tcp'}1{/if}
- {if $sip_transport_4 == 'tls'}2{/if}
- {if $sip_transport_4 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_5}
-
- {$server_address_5}
-
- {$user_id_5}
-
- {$user_id_5}
-
- {$user_password_5}
-
- {$display_name_5}
-
- *97
-
- 4
-
-
- {if $sip_transport_5 == 'udp'}0{/if}
- {if $sip_transport_5 == 'tcp'}1{/if}
- {if $sip_transport_5 == 'tls'}2{/if}
- {if $sip_transport_5 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
- 60
-
-
-
- 1
-
- {$display_name_6}
-
- {$server_address_6}
-
- {$user_id_6}
-
- {$user_id_6}
-
- {$user_password_6}
-
- {$display_name_6}
-
- *97
-
-
- 4
-
- {if $sip_transport_6 == 'udp'}0{/if}
- {if $sip_transport_6 == 'tcp'}1{/if}
- {if $sip_transport_6 == 'tls'}2{/if}
- {if $sip_transport_6 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 60
-
-
- 0
-
- 0
-
-
- phone-{$display_name_1}
-
- 0
-
-
-
- {$user_password}
-
- {$admin_password}
-
-
-
-
-
- 0
-
-
-
- {$http_auth_username}
-
- {$http_auth_password}
-
- 2
-
- {$domain_name}{$project_path}/app/provision
-
- {$domain_name}{$project_path}/app/provision
-
- 0
-
-
- 0
-
- 0
-
- 10080
-
- 1
-
- 1
-
- 0
-
-
-
-
- 0
-
- 0
-
-
- 0
-
- 1
-
- 0
-
- {if isset($public_mode) }
- {if $public_mode|strtolower == 'true'}
- 1
- {elseif $public_mode|strtolower == 'yes'}
- 1
- {elseif $public_mode == '1'}
- 1
- {else}
- 0
- {/if}
- {else}
- 0
- {/if}
-
-
- 0
-
- 0
-
-
- 0
-
-
-
-
-
-
-
- 1
-
- 0
-
-
- 100
-
- 40
-
- 7
-
-
-
- 0
-
- 0
-
- 1
-
-
-
- us.pool.ntp.org
-
-
- 1
-
-{if isset($grandstream_timezone) }
- {$grandstream_timezone}
- {else}
- auto
- {/if}
-
-
-
- 1
- a
-
-
- 1
-
-
-
- 15
-
-
- auto
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-{foreach $keys["line"] as $row}
-{$key_id = $row.device_key_id - 1}
-
-{if $key_id < 6}
-{$start_id = 1363}
-{$type_id = $start_id + ($key_id * 2)}
-{$line_id = ($start_id + 1) + ($key_id * 2)}
-{$label_id = ($start_id + 102) + ($key_id * 2)}
-{$value_id = ($start_id + 103) + ($key_id * 2)}
-{if $row.device_key_type == "speed dial"} 10 {/if}
-{if $row.device_key_type == "blf"} 11 {/if}
-{if $row.device_key_type == "presence watcher"} 12 {/if}
-{if $row.device_key_type == "eventlist blf"} 13 {/if}
-{if $row.device_key_type == "speed dial active"} 14 {/if}
-{if $row.device_key_type == "dial dtmf"} 15 {/if}
-{if $row.device_key_type == "voicemail"} 16 {/if}
-{if $row.device_key_type == "call return"} 17 {/if}
-{if $row.device_key_type == "transfer"} 18 {/if}
-{if $row.device_key_type == "call park"} 26 {/if}
-{if $row.device_key_type == "intercom"} 20 {/if}
-{if $row.device_key_type == "ldap search"} 21 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 8}
-{$start_id = 23800}
-{$type_id = $start_id + (($key_id - 6) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 6) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 6) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 6) * 4)}
-{if $row.device_key_type == "speed dial"} 10 {/if}
-{if $row.device_key_type == "blf"} 11 {/if}
-{if $row.device_key_type == "presence watcher"} 12 {/if}
-{if $row.device_key_type == "eventlist blf"} 13 {/if}
-{if $row.device_key_type == "speed dial active"} 14 {/if}
-{if $row.device_key_type == "dial dtmf"} 15 {/if}
-{if $row.device_key_type == "voicemail"} 16 {/if}
-{if $row.device_key_type == "call return"} 17 {/if}
-{if $row.device_key_type == "transfer"} 18 {/if}
-{if $row.device_key_type == "call park"} 26 {/if}
-{if $row.device_key_type == "intercom"} 20 {/if}
-{if $row.device_key_type == "ldap search"} 21 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 32}
-{$start_id = 23800}
-{$type_id = $start_id + (($key_id - 6) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 6) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 6) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 6) * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+{$mac|replace:'-':''}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
{/if}
-{/foreach}
-
-
+
+
+{$display_name_1}
+
+
+
+{$server_address_1}
+
+
+
+{$secondary_server_address_1}
+
+
+
+{$outbound_proxy_1}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_1}
+
+
+
+{$auth_id_1}
+
+
+
+{$user_password_1}
+
+
+
+{$display_name_1}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_mode_1) }
+{$gs_dns_mode_1}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_1) }
+{$nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+123
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_1)||$gs_account_ring_tone_1==0}
+{$gs_account_ring_tone_1}
+{/if}
+
+
+
+
+{if isset($gs_ring_tone_caller_id_1_1)}
+{$gs_ring_tone_caller_id_1_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_1_1)||$gs_ring_tone_1_1==0}
+{$gs_ring_tone_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_2_1)}
+{$gs_ring_tone_caller_id_2_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_2_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_3_1)}
+{$gs_ring_tone_caller_id_3_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_3_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_3_1}
+{/if}
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_2}
+
+
+
+{$server_address_2}
+
+
+
+
+
+
+
+{$outbound_proxy_2}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_2}
+
+
+
+{$auth_id_2}
+
+
+
+{$user_password_2}
+
+
+
+{$display_name_2}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_2) }
+{$gs_dns_modee_2}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_2) }
+{$nat_traversal_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_2)||$gs_account_ring_tone_2==0}
+{$gs_account_ring_tone_2}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*79
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_3}
+
+
+
+{$server_address_3}
+
+
+
+
+
+
+
+{$outbound_proxy_3}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_3}
+
+
+
+{$auth_id_3}
+
+
+
+{$user_password_3}
+
+
+
+{$display_name_3}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_3) }
+{$gs_dns_modee_3}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_3) }
+{$nat_traversal_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5064
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_3)||$gs_account_ring_tone_3==0}
+{$gs_account_ring_tone_3}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_4)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_4}
+
+
+
+{$server_address_4}
+
+
+
+
+
+
+
+{$outbound_proxy_4}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_4}
+
+
+
+{$auth_id_4}
+
+
+
+{$user_password_4}
+
+
+
+{$display_name_4}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_4) }
+{$gs_dns_modee_4}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_4) }
+{$nat_traversal_4}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5066
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_4 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_4 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_4 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_4 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_4)||$gs_account_ring_tone_4==0}
+{$gs_account_ring_tone_4}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_5)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_5}
+
+
+
+{$server_address_5}
+
+
+
+
+
+
+
+{$outbound_proxy_5}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_5}
+
+
+
+{$auth_id_5}
+
+
+
+{$user_password_5}
+
+
+
+{$display_name_5}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_5) }
+{$gs_dns_modee_5}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_5) }
+{$nat_traversal_5}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5068
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_5 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_5 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_5 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_5 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_5)||$gs_account_ring_tone_5==0}
+{$gs_account_ring_tone_5}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_6)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_6}
+
+
+
+{$server_address_6}
+
+
+
+
+
+
+
+{$outbound_proxy_6}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_6}
+
+
+
+{$auth_id_6}
+
+
+
+{$user_password_6}
+
+
+
+{$display_name_6}
+
+
+
+*97
+
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_6) }
+{$gs_dns_modee_6}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_6) }
+{$nat_traversal_6}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5070
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_6 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_6 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_6 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_6 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_6)||$gs_account_ring_tone_6==0}
+{$gs_account_ring_tone_6}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+26
+
+
+
+
+46
+
+
+
+
+0
+
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_pc_port_vlan) }
+{$gs_pc_port_vlan}
+{else}
+1
+{/if}
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+1194
+
+
+
+
+0
+
+
+
+
+
+
+
+{$user_password}
+
+
+
+{$admin_password}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{$http_auth_username}
+
+
+
+{$http_auth_password}
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10080
+
+
+
+1
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Auto
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+86400
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+
+80
+
+
+
+
+443
+
+
+
+5
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+1
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+
+{if isset($gs_phonebook_download_interval)}
+{$gs_phonebook_download_interval}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+{if isset($contact_grandstream)}
+2
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+3
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+givenName sn title
+
+
+
+
+
+50
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+1
+
+
+1
+
+
+
+givenName sn title
+
+
+
+
+
+
+
+5004
+
+
+
+
+200
+
+
+
+
+5204
+
+
+
+
+0
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($public_mode) }
+{if $public_mode|strtolower == 'true'}
+1
+{elseif $public_mode|strtolower == 'yes'}
+1
+{elseif $public_mode == '1'}
+1
+{else}
+0
+{/if}
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{if isset($gs_auto_attended_transfer) }
+{$gs_auto_attended_transfer}
+{else}
+1
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440,c=10/10;
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=440,f2=440,c=25/525;
+
+
+
+
+0
+
+
+
+
+f1=480,f2=620,c=50/50;
+
+
+
+
+f1=480,f2=620,c=25/25;
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_handset_tx_gain) }
+{$gs_handset_tx_gain}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+100
+
+
+
+
+60
+
+
+
+
+5
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($gs_wallpaper_url)}
+1
+{$gs_wallpaper_url}
+{else}
+0
+
+{/if}
+
+
+
+#000000
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+
+
+
+
+1440
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($grandstream_timezone) }
+{$grandstream_timezone}
+{elseif isset($gs_gxp_time_zone) }
+{$gs_gxp_time_zone}
+{else}
+auto
+{/if}
+
+
+
+
+
+0
+
+
+
+
+
+PST+8PDT,M3.2.0,M11.1.0
+
+
+
+
+
+
+
+
+
+3
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+15
+
+
+
+
+c
+
+
+
+
+
+1
+
+
+
+
+CAD/USD;CAD/EUR;CAD/GBP;CAD/AUD;CAD/CNY;CAD/JPY
+
+
+
+
+
+
+
+
+
+
+XMLApp
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_bluetooth_power)}
+{$gs_bluetooth_power}
+{/if}
+
+
+
+
+{if isset($gs_bluetooth_handsfree)}
+{$gs_bluetooth_handsfree}
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$fixed_keys=4}
+{if $template == "grandstream/gxp2130"}{$fixed_keys=3}{/if}
+{if $template == "grandstream/gxp2140"}{$fixed_keys=4}{/if}
+{if $template == "grandstream/gxp2160"}{$fixed_keys=6}{/if}
+{if $template == "grandstream/gxp2170"}{$fixed_keys=12}{/if}
+{if $template == "grandstream/gxp2135"}{$fixed_keys=8}{/if}
+
+{$start_id=1363}
+{assign var=key_types value=["none"=>-1,"line"=>0,"shared line"=>1,"speed dial"=>10, "blf"=>11, "presence watcher"=>12, "eventlist blf"=>13,"speed dial active"=>14,"dial dtmf"=>15,"voicemail"=>16,"call return"=>17,"transfer"=>18,"call park"=>19,"intercom"=>20,"ldap search"=>21,"multicast paging"=>23,"record"=>24,"call log"=>25,"monitored call park"=>26,"menu"=>27]}
+
+{for $line=1 to 6}
+{$pid=$line*2-2}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+0
+{$line-1}
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+{$start_id=23800}
+{for $line=7 to 32}
+{$pid=($line-6)*4-4}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+-1
+0
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>17]}
+{$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}
+{$key_types[$keys.programmable.$prog.device_key_type]}
+{$keys.programmable.$prog.device_key_line}
+{$keys.programmable.$prog.device_key_label}
+{$keys.programmable.$prog.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=323}
+{for $mem=1 to 7}
+{$pid=$mem*3-3}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.memory.$mem.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=353}
+{for $mem=8 to 18}
+{$pid=($mem-7)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=1440}
+{for $mem=19 to 24}
+{$pid=($mem-18)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{if $template == "grandstream/gxp2140"||$template == "grandstream/gxp2170"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=23000}
+{for $exp=1 to 160}
+{$pid=$exp*5-5}
+{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types}
+{$key_types[$keys.expansion.$exp.device_key_type]}
+{$keys.expansion.$exp.device_key_line}
+{$keys.expansion.$exp.device_key_label}
+{$keys.expansion.$exp.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+{/if}
+
diff --git a/resources/templates/provision/grandstream/gxp2140/README.txt b/resources/templates/provision/grandstream/gxp2140/README.txt
new file mode 100644
index 0000000000..247da51b2b
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2140/README.txt
@@ -0,0 +1,77 @@
+======================
+Provision
+======================
+Grandstream looks for {$mac}, then cfg{$mac}.xml.
+I've added symlinks so you can download both files for upload to the phone if auto-provision isn't working.
+
+ - auto provision requires
+ nginx rewrite rules
+ provision enabled text true
+ provision gs_config_server_path text mydomain.com/provision
+ # to enable phonebook contacts see below...
+
+======================
+label.txt - is a phone label for gxp2160 memory keys
+======================
+Plain text is copy/pasted into openoffice template that formats the label.
+
+
+======================
+phonebook.xml
+======================
+This provisions the phonebook button and the phone's display for incoming/outgoing calls.
+
+ - requires nginx rewrite rules
+ rewrite "^.*/provision/pb([A-Fa-f0-9-]{12,17})/phonebook\.xml$" /app/provision/?mac=$1&file=phonebook.xml;
+
+ - requires Default Settings:
+ provision enabled text true
+ provision contact_extensions boolean false
+ provision contact_grandstream text true
+ provision gs_phonebook_xml_server_path text mydomain.com/provision/pb # note provision template adds {$mac} on the end
+ handled by nginx (above).
+ provision gs_config_server_path text mydomain.com/provision
+ provision gs_phonebook_download_interval text 720
+ provision gs_global_contact_groups text contacts_it,contacts_finance # these are setup in Group Manager (see below).
+ Comma seperated groups listed here will be on all phones, saving the need to add these groups to every user.
+
+
+ - Grandstream and FusionPBX supports contact groups. To setup groups
+ 1) Advanced=>Group Manager=> Add
+ 2) Group NAME is prefixed with "contacts_". eg. contacts_it contacts_finance contacts_purchasing
+ 3) Group DESCRIPTION is what appears on the Phone's display. Best view is 1 word 10 characters max width.
+
+
+ - Contacts can be two types:
+ A) User/Extention local to Fusionpbx
+ B) Customer/External phone number.
+
+ A) Setup User/Extension contact
+ 1) Create a new user Accounts=>Users
+ 2) Assign contact_GROUPS (above) to that user will be assigned to on the phone's group display.
+ 2) Create a new extension and assign it to that user Accounts=>Extensions ( this auto adds user's extention to the phonebook )
+ 3) Create a new device and assign it to that user Accounts=>Devices ( this tells device which phonebook contacts to download )
+ 4) Apps=>Contacts
+ - Type "User"
+ - Organization - Appears on phone. e.g. School Board Office, Aberdeen Elementary
+ - First Name
+ - Last Name
+ - Category - is used for "Department". e.g. IT, Finance, Purchasing
+ - Roll - Roll in the company. e.g. Network Support Technitian, Teacher, Stenno1.
+ - Users - Users who can see this contact on their phone.
+ - Groups - Groups that can see this contact on their phone.
+ - Extensions - this is the default "Work" number that appears on the phone.
+ - Numbers - make sure they are type "Voice"
+ - "Work" can be assigned
+ - "Home"
+ - "Mobile"
+ - Some want their extension shown but restrict their cell number to certain users.
+ This may be done by Numbers Description field allow:username1,username2
+ ( NOTE private cell numbers, could be better coded )
+
+ B) Setup Costomer/External phone numbers similar to step #4) Apps=>Contacts
+ - Type "Customer"
+ - Fill in Organiation, First Name, Last Name, Category, Roll, Users, Groups
+ - Numbers - Add "Work" "Voice" number
+
+
diff --git a/resources/templates/provision/grandstream/gxp2140/label.txt b/resources/templates/provision/grandstream/gxp2140/label.txt
new file mode 100644
index 0000000000..be9976d487
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2140/label.txt
@@ -0,0 +1,31 @@
+{$rows=8}
+{$cols=1}
+{if $template == "grandstream/gxp16xx"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1628"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1630"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp2160"}{$rows=12}{$cols=2}{/if}
+{if $template == "grandstream/gxp2130"}{$rows=4}{$cols=2}{/if}
+{if $cols == 2}
+{for $row=1 to $rows}
+{$mem=$row+$rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+ {$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{$mem=$row}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{else}
+{for $mem=1 to $rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{/if}
diff --git a/resources/templates/provision/grandstream/gxp2140/phonebook.xml b/resources/templates/provision/grandstream/gxp2140/phonebook.xml
new file mode 100644
index 0000000000..62c745db9f
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2140/phonebook.xml
@@ -0,0 +1,49 @@
+
+
+1
+{foreach $contacts as $contact}
+{if $contact.contact_type == "group"}
+
+{$contact.id}
+{$contact.group_description|truncate:10}
+
+{/if}
+{/foreach}
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+{if $contact.contact_role != "" }
+{$contact.contact_role}
+{/if}
+{if $contact.contact_category != "" }
+{$contact.contact_category}
+{/if}
+
+{$contact.contact_work}
+1
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home}
+1
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell}
+1
+
+{/if}
+{if $contact.contact_organization != "" }
+{$contact.contact_organization}
+{/if}
+{foreach $contact.groups as $group}
+{$group}
+{/foreach}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/gxp2140/{$mac}.xml b/resources/templates/provision/grandstream/gxp2140/{$mac}.xml
index 6a8b029e92..52cec2e55e 100644
--- a/resources/templates/provision/grandstream/gxp2140/{$mac}.xml
+++ b/resources/templates/provision/grandstream/gxp2140/{$mac}.xml
@@ -1,589 +1,6623 @@
-
-
-
-
-
-
- 1
-
- {$display_name_1}
-
- {$server_address_1}
-
-
-
-
-
- {$user_id_1}
-
- {$auth_id_1}
-
- {$user_password_1}
-
- {$display_name_1}
-
- *97
-
-
- 0
-
- 0
-
- {if $sip_transport_1 == 'udp'}0
- {elseif $sip_transport_1 == 'tcp'}1
- {elseif $sip_transport_1 == 'tls'}2
- {elseif $sip_transport_1 == 'dns srv'}1
- {/if}
-
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_2}
-
- {$server_address_2}
-
- {$user_id_2}
-
- {$user_id_2}
-
- {$user_password_2}
-
- {$display_name_2}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_2 == 'udp'}0{/if}
- {if $sip_transport_2 == 'tcp'}1{/if}
- {if $sip_transport_2 == 'tls'}2{/if}
- {if $sip_transport_2 == 'dns srv'}1{/if}
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_3}
-
- {$server_address_3}
-
- {$user_id_3}
-
- {$user_id_3}
-
- {$user_password_3}
-
- {$display_name_3}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_3 == 'udp'}0{/if}
- {if $sip_transport_3 == 'tcp'}1{/if}
- {if $sip_transport_3 == 'tls'}2{/if}
- {if $sip_transport_3 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_4}
-
- {$server_address_4}
-
- {$user_id_4}
-
- {$user_id_4}
-
- {$user_password_4}
-
- {$display_name_4}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_4 == 'udp'}0{/if}
- {if $sip_transport_4 == 'tcp'}1{/if}
- {if $sip_transport_4 == 'tls'}2{/if}
- {if $sip_transport_4 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_5}
-
- {$server_address_5}
-
- {$user_id_5}
-
- {$user_id_5}
-
- {$user_password_5}
-
- {$display_name_5}
-
- *97
-
- 4
-
-
- {if $sip_transport_5 == 'udp'}0{/if}
- {if $sip_transport_5 == 'tcp'}1{/if}
- {if $sip_transport_5 == 'tls'}2{/if}
- {if $sip_transport_5 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
- 60
-
-
-
- 1
-
- {$display_name_6}
-
- {$server_address_6}
-
- {$user_id_6}
-
- {$user_id_6}
-
- {$user_password_6}
-
- {$display_name_6}
-
- *97
-
-
- 4
-
- {if $sip_transport_6 == 'udp'}0{/if}
- {if $sip_transport_6 == 'tcp'}1{/if}
- {if $sip_transport_6 == 'tls'}2{/if}
- {if $sip_transport_6 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 60
-
-
- 0
-
- 0
-
-
- phone-{$display_name_1}
-
- 0
-
-
-
- {$user_password}
-
- {$admin_password}
-
-
-
-
-
- 0
-
-
-
- {$http_auth_username}
-
- {$http_auth_password}
-
- 2
-
- {$domain_name}{$project_path}/app/provision
-
- {$domain_name}{$project_path}/app/provision
-
- 0
-
-
- 0
-
- 0
-
- 10080
-
- 1
-
- 1
-
- 0
-
-
-
-
- 0
-
- 0
-
-
- 0
-
- 1
-
- 0
-
- {if isset($public_mode) }
- {if $public_mode|strtolower == 'true'}
- 1
- {elseif $public_mode|strtolower == 'yes'}
- 1
- {elseif $public_mode == '1'}
- 1
- {else}
- 0
- {/if}
- {else}
- 0
- {/if}
-
-
- 0
-
- 0
-
-
- 0
-
-
-
-
-
-
-
- 1
-
- 0
-
-
- 100
-
- 40
-
- 7
-
-
-
- 0
-
- 0
-
- 1
-
-
-
- us.pool.ntp.org
-
-
- 1
-
-{if isset($grandstream_timezone) }
- {$grandstream_timezone}
- {else}
- auto
- {/if}
-
-
-
- 1
- a
-
-
- 1
-
-
-
- 15
-
-
- auto
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-{foreach $keys["line"] as $row}
-{$key_id = $row.device_key_id - 1}
-
-{if $key_id < 4}
-{$start_id = 1363}
-{$type_id = $start_id + ($key_id * 2)}
-{$line_id = ($start_id + 1) + ($key_id * 2)}
-{$label_id = ($start_id + 102) + ($key_id * 2)}
-{$value_id = ($start_id + 103) + ($key_id * 2)}
-{if $row.device_key_type == "speed dial"} 10 {/if}
-{if $row.device_key_type == "blf"} 11 {/if}
-{if $row.device_key_type == "presence watcher"} 12 {/if}
-{if $row.device_key_type == "eventlist blf"} 13 {/if}
-{if $row.device_key_type == "speed dial active"} 14 {/if}
-{if $row.device_key_type == "dial dtmf"} 15 {/if}
-{if $row.device_key_type == "voicemail"} 16 {/if}
-{if $row.device_key_type == "call return"} 17 {/if}
-{if $row.device_key_type == "transfer"} 18 {/if}
-{if $row.device_key_type == "call park"} 26 {/if}
-{if $row.device_key_type == "intercom"} 20 {/if}
-{if $row.device_key_type == "ldap search"} 21 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 7}
-{$start_id = 1363}
-{$type_id = $start_id + ($key_id * 2)}
-{$line_id = ($start_id + 1) + ($key_id * 2)}
-{$label_id = ($start_id + 102) + ($key_id * 2)}
-{$value_id = ($start_id + 103) + ($key_id * 2)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 24}
-{$start_id = 23824}
-{$type_id = $start_id + (($key_id - 12) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 12) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 12) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 12) * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+{$mac|replace:'-':''}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
{/if}
-{/foreach}
-
-
-
-{$start_id = 23000}
-{foreach $keys["expansion"] as $row}
-{$key_id = $row.device_key_id - 1}
-{$type_id = $start_id + ($key_id * 5)}
-{$line_id = ($start_id + 1) + ($key_id * 5)}
-{$label_id = ($start_id + 2) + ($key_id * 5)}
-{$value_id = ($start_id + 3) + ($key_id * 5)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
+
+
+{$display_name_1}
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-{/foreach}
+
+
+{$server_address_1}
-
+
+
+{$secondary_server_address_1}
+
+
+
+{$outbound_proxy_1}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_1}
+
+
+
+{$auth_id_1}
+
+
+
+{$user_password_1}
+
+
+
+{$display_name_1}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_mode_1) }
+{$gs_dns_mode_1}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_1) }
+{$nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+123
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_1)||$gs_account_ring_tone_1==0}
+{$gs_account_ring_tone_1}
+{/if}
+
+
+
+
+{if isset($gs_ring_tone_caller_id_1_1)}
+{$gs_ring_tone_caller_id_1_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_1_1)||$gs_ring_tone_1_1==0}
+{$gs_ring_tone_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_2_1)}
+{$gs_ring_tone_caller_id_2_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_2_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_3_1)}
+{$gs_ring_tone_caller_id_3_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_3_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_3_1}
+{/if}
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_2}
+
+
+
+{$server_address_2}
+
+
+
+
+
+
+
+{$outbound_proxy_2}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_2}
+
+
+
+{$auth_id_2}
+
+
+
+{$user_password_2}
+
+
+
+{$display_name_2}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_2) }
+{$gs_dns_modee_2}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_2) }
+{$nat_traversal_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_2)||$gs_account_ring_tone_2==0}
+{$gs_account_ring_tone_2}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*79
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_3}
+
+
+
+{$server_address_3}
+
+
+
+
+
+
+
+{$outbound_proxy_3}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_3}
+
+
+
+{$auth_id_3}
+
+
+
+{$user_password_3}
+
+
+
+{$display_name_3}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_3) }
+{$gs_dns_modee_3}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_3) }
+{$nat_traversal_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5064
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_3)||$gs_account_ring_tone_3==0}
+{$gs_account_ring_tone_3}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_4)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_4}
+
+
+
+{$server_address_4}
+
+
+
+
+
+
+
+{$outbound_proxy_4}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_4}
+
+
+
+{$auth_id_4}
+
+
+
+{$user_password_4}
+
+
+
+{$display_name_4}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_4) }
+{$gs_dns_modee_4}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_4) }
+{$nat_traversal_4}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5066
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_4 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_4 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_4 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_4 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_4)||$gs_account_ring_tone_4==0}
+{$gs_account_ring_tone_4}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_5)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_5}
+
+
+
+{$server_address_5}
+
+
+
+
+
+
+
+{$outbound_proxy_5}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_5}
+
+
+
+{$auth_id_5}
+
+
+
+{$user_password_5}
+
+
+
+{$display_name_5}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_5) }
+{$gs_dns_modee_5}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_5) }
+{$nat_traversal_5}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5068
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_5 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_5 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_5 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_5 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_5)||$gs_account_ring_tone_5==0}
+{$gs_account_ring_tone_5}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_6)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_6}
+
+
+
+{$server_address_6}
+
+
+
+
+
+
+
+{$outbound_proxy_6}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_6}
+
+
+
+{$auth_id_6}
+
+
+
+{$user_password_6}
+
+
+
+{$display_name_6}
+
+
+
+*97
+
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_6) }
+{$gs_dns_modee_6}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_6) }
+{$nat_traversal_6}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5070
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_6 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_6 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_6 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_6 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_6)||$gs_account_ring_tone_6==0}
+{$gs_account_ring_tone_6}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+26
+
+
+
+
+46
+
+
+
+
+0
+
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_pc_port_vlan) }
+{$gs_pc_port_vlan}
+{else}
+1
+{/if}
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+1194
+
+
+
+
+0
+
+
+
+
+
+
+
+{$user_password}
+
+
+
+{$admin_password}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{$http_auth_username}
+
+
+
+{$http_auth_password}
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10080
+
+
+
+1
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Auto
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+86400
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+
+80
+
+
+
+
+443
+
+
+
+5
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+1
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+
+{if isset($gs_phonebook_download_interval)}
+{$gs_phonebook_download_interval}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+{if isset($contact_grandstream)}
+2
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+3
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+givenName sn title
+
+
+
+
+
+50
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+1
+
+
+1
+
+
+
+givenName sn title
+
+
+
+
+
+
+
+5004
+
+
+
+
+200
+
+
+
+
+5204
+
+
+
+
+0
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($public_mode) }
+{if $public_mode|strtolower == 'true'}
+1
+{elseif $public_mode|strtolower == 'yes'}
+1
+{elseif $public_mode == '1'}
+1
+{else}
+0
+{/if}
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{if isset($gs_auto_attended_transfer) }
+{$gs_auto_attended_transfer}
+{else}
+1
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440,c=10/10;
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=440,f2=440,c=25/525;
+
+
+
+
+0
+
+
+
+
+f1=480,f2=620,c=50/50;
+
+
+
+
+f1=480,f2=620,c=25/25;
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_handset_tx_gain) }
+{$gs_handset_tx_gain}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+100
+
+
+
+
+60
+
+
+
+
+5
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($gs_wallpaper_url)}
+1
+{$gs_wallpaper_url}
+{else}
+0
+
+{/if}
+
+
+
+#000000
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+
+
+
+
+1440
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($grandstream_timezone) }
+{$grandstream_timezone}
+{elseif isset($gs_gxp_time_zone) }
+{$gs_gxp_time_zone}
+{else}
+auto
+{/if}
+
+
+
+
+
+0
+
+
+
+
+
+PST+8PDT,M3.2.0,M11.1.0
+
+
+
+
+
+
+
+
+
+3
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+15
+
+
+
+
+c
+
+
+
+
+
+1
+
+
+
+
+CAD/USD;CAD/EUR;CAD/GBP;CAD/AUD;CAD/CNY;CAD/JPY
+
+
+
+
+
+
+
+
+
+
+XMLApp
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_bluetooth_power)}
+{$gs_bluetooth_power}
+{/if}
+
+
+
+
+{if isset($gs_bluetooth_handsfree)}
+{$gs_bluetooth_handsfree}
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$fixed_keys=4}
+{if $template == "grandstream/gxp2130"}{$fixed_keys=3}{/if}
+{if $template == "grandstream/gxp2140"}{$fixed_keys=4}{/if}
+{if $template == "grandstream/gxp2160"}{$fixed_keys=6}{/if}
+{if $template == "grandstream/gxp2170"}{$fixed_keys=12}{/if}
+{if $template == "grandstream/gxp2135"}{$fixed_keys=8}{/if}
+
+{$start_id=1363}
+{assign var=key_types value=["none"=>-1,"line"=>0,"shared line"=>1,"speed dial"=>10, "blf"=>11, "presence watcher"=>12, "eventlist blf"=>13,"speed dial active"=>14,"dial dtmf"=>15,"voicemail"=>16,"call return"=>17,"transfer"=>18,"call park"=>19,"intercom"=>20,"ldap search"=>21,"multicast paging"=>23,"record"=>24,"call log"=>25,"monitored call park"=>26,"menu"=>27]}
+
+{for $line=1 to 6}
+{$pid=$line*2-2}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+0
+{$line-1}
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+{$start_id=23800}
+{for $line=7 to 32}
+{$pid=($line-6)*4-4}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+-1
+0
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>17]}
+{$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}
+{$key_types[$keys.programmable.$prog.device_key_type]}
+{$keys.programmable.$prog.device_key_line}
+{$keys.programmable.$prog.device_key_label}
+{$keys.programmable.$prog.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=323}
+{for $mem=1 to 7}
+{$pid=$mem*3-3}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.memory.$mem.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=353}
+{for $mem=8 to 18}
+{$pid=($mem-7)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=1440}
+{for $mem=19 to 24}
+{$pid=($mem-18)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{if $template == "grandstream/gxp2140"||$template == "grandstream/gxp2170"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=23000}
+{for $exp=1 to 160}
+{$pid=$exp*5-5}
+{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types}
+{$key_types[$keys.expansion.$exp.device_key_type]}
+{$keys.expansion.$exp.device_key_line}
+{$keys.expansion.$exp.device_key_label}
+{$keys.expansion.$exp.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+{/if}
+
diff --git a/resources/templates/provision/grandstream/gxp2160/README.txt b/resources/templates/provision/grandstream/gxp2160/README.txt
new file mode 100644
index 0000000000..247da51b2b
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2160/README.txt
@@ -0,0 +1,77 @@
+======================
+Provision
+======================
+Grandstream looks for {$mac}, then cfg{$mac}.xml.
+I've added symlinks so you can download both files for upload to the phone if auto-provision isn't working.
+
+ - auto provision requires
+ nginx rewrite rules
+ provision enabled text true
+ provision gs_config_server_path text mydomain.com/provision
+ # to enable phonebook contacts see below...
+
+======================
+label.txt - is a phone label for gxp2160 memory keys
+======================
+Plain text is copy/pasted into openoffice template that formats the label.
+
+
+======================
+phonebook.xml
+======================
+This provisions the phonebook button and the phone's display for incoming/outgoing calls.
+
+ - requires nginx rewrite rules
+ rewrite "^.*/provision/pb([A-Fa-f0-9-]{12,17})/phonebook\.xml$" /app/provision/?mac=$1&file=phonebook.xml;
+
+ - requires Default Settings:
+ provision enabled text true
+ provision contact_extensions boolean false
+ provision contact_grandstream text true
+ provision gs_phonebook_xml_server_path text mydomain.com/provision/pb # note provision template adds {$mac} on the end
+ handled by nginx (above).
+ provision gs_config_server_path text mydomain.com/provision
+ provision gs_phonebook_download_interval text 720
+ provision gs_global_contact_groups text contacts_it,contacts_finance # these are setup in Group Manager (see below).
+ Comma seperated groups listed here will be on all phones, saving the need to add these groups to every user.
+
+
+ - Grandstream and FusionPBX supports contact groups. To setup groups
+ 1) Advanced=>Group Manager=> Add
+ 2) Group NAME is prefixed with "contacts_". eg. contacts_it contacts_finance contacts_purchasing
+ 3) Group DESCRIPTION is what appears on the Phone's display. Best view is 1 word 10 characters max width.
+
+
+ - Contacts can be two types:
+ A) User/Extention local to Fusionpbx
+ B) Customer/External phone number.
+
+ A) Setup User/Extension contact
+ 1) Create a new user Accounts=>Users
+ 2) Assign contact_GROUPS (above) to that user will be assigned to on the phone's group display.
+ 2) Create a new extension and assign it to that user Accounts=>Extensions ( this auto adds user's extention to the phonebook )
+ 3) Create a new device and assign it to that user Accounts=>Devices ( this tells device which phonebook contacts to download )
+ 4) Apps=>Contacts
+ - Type "User"
+ - Organization - Appears on phone. e.g. School Board Office, Aberdeen Elementary
+ - First Name
+ - Last Name
+ - Category - is used for "Department". e.g. IT, Finance, Purchasing
+ - Roll - Roll in the company. e.g. Network Support Technitian, Teacher, Stenno1.
+ - Users - Users who can see this contact on their phone.
+ - Groups - Groups that can see this contact on their phone.
+ - Extensions - this is the default "Work" number that appears on the phone.
+ - Numbers - make sure they are type "Voice"
+ - "Work" can be assigned
+ - "Home"
+ - "Mobile"
+ - Some want their extension shown but restrict their cell number to certain users.
+ This may be done by Numbers Description field allow:username1,username2
+ ( NOTE private cell numbers, could be better coded )
+
+ B) Setup Costomer/External phone numbers similar to step #4) Apps=>Contacts
+ - Type "Customer"
+ - Fill in Organiation, First Name, Last Name, Category, Roll, Users, Groups
+ - Numbers - Add "Work" "Voice" number
+
+
diff --git a/resources/templates/provision/grandstream/gxp2160/gxp2160_labels.ott b/resources/templates/provision/grandstream/gxp2160/gxp2160_labels.ott
new file mode 100644
index 0000000000..7226636f93
Binary files /dev/null and b/resources/templates/provision/grandstream/gxp2160/gxp2160_labels.ott differ
diff --git a/resources/templates/provision/grandstream/gxp2160/label.txt b/resources/templates/provision/grandstream/gxp2160/label.txt
new file mode 100644
index 0000000000..be9976d487
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2160/label.txt
@@ -0,0 +1,31 @@
+{$rows=8}
+{$cols=1}
+{if $template == "grandstream/gxp16xx"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1628"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1630"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp2160"}{$rows=12}{$cols=2}{/if}
+{if $template == "grandstream/gxp2130"}{$rows=4}{$cols=2}{/if}
+{if $cols == 2}
+{for $row=1 to $rows}
+{$mem=$row+$rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+ {$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{$mem=$row}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{else}
+{for $mem=1 to $rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{/if}
diff --git a/resources/templates/provision/grandstream/gxp2160/phonebook.xml b/resources/templates/provision/grandstream/gxp2160/phonebook.xml
new file mode 100644
index 0000000000..62c745db9f
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2160/phonebook.xml
@@ -0,0 +1,49 @@
+
+
+1
+{foreach $contacts as $contact}
+{if $contact.contact_type == "group"}
+
+{$contact.id}
+{$contact.group_description|truncate:10}
+
+{/if}
+{/foreach}
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+{if $contact.contact_role != "" }
+{$contact.contact_role}
+{/if}
+{if $contact.contact_category != "" }
+{$contact.contact_category}
+{/if}
+
+{$contact.contact_work}
+1
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home}
+1
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell}
+1
+
+{/if}
+{if $contact.contact_organization != "" }
+{$contact.contact_organization}
+{/if}
+{foreach $contact.groups as $group}
+{$group}
+{/foreach}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/gxp2160/{$mac}.xml b/resources/templates/provision/grandstream/gxp2160/{$mac}.xml
index 31fdb2aa45..52cec2e55e 100644
--- a/resources/templates/provision/grandstream/gxp2160/{$mac}.xml
+++ b/resources/templates/provision/grandstream/gxp2160/{$mac}.xml
@@ -1,615 +1,6623 @@
-
-
-
-
-
-
- 1
-
- {$display_name_1}
-
- {$server_address_1}
-
-
-
-
-
- {$user_id_1}
-
- {$auth_id_1}
-
- {$user_password_1}
-
- {$display_name_1}
-
- *97
-
-
- 0
-
- 0
-
- {if $sip_transport_1 == 'udp'}0
- {elseif $sip_transport_1 == 'tcp'}1
- {elseif $sip_transport_1 == 'tls'}2
- {elseif $sip_transport_1 == 'dns srv'}1
- {/if}
+{$mac|replace:'-':''}
+
+
+
+
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_2}
-
- {$server_address_2}
-
- {$user_id_2}
-
- {$user_id_2}
-
- {$user_password_2}
-
- {$display_name_2}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_2 == 'udp'}0{/if}
- {if $sip_transport_2 == 'tcp'}1{/if}
- {if $sip_transport_2 == 'tls'}2{/if}
- {if $sip_transport_2 == 'dns srv'}1{/if}
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_3}
-
- {$server_address_3}
-
- {$user_id_3}
-
- {$user_id_3}
-
- {$user_password_3}
-
- {$display_name_3}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_3 == 'udp'}0{/if}
- {if $sip_transport_3 == 'tcp'}1{/if}
- {if $sip_transport_3 == 'tls'}2{/if}
- {if $sip_transport_3 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_4}
-
- {$server_address_4}
-
- {$user_id_4}
-
- {$user_id_4}
-
- {$user_password_4}
-
- {$display_name_4}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_4 == 'udp'}0{/if}
- {if $sip_transport_4 == 'tcp'}1{/if}
- {if $sip_transport_4 == 'tls'}2{/if}
- {if $sip_transport_4 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_5}
-
- {$server_address_5}
-
- {$user_id_5}
-
- {$user_id_5}
-
- {$user_password_5}
-
- {$display_name_5}
-
- *97
-
- 4
-
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
+{/if}
- {if $sip_transport_5 == 'udp'}0{/if}
- {if $sip_transport_5 == 'tcp'}1{/if}
- {if $sip_transport_5 == 'tls'}2{/if}
- {if $sip_transport_5 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
- 60
-
-
-
- 1
-
- {$display_name_6}
-
- {$server_address_6}
-
- {$user_id_6}
-
- {$user_id_6}
-
- {$user_password_6}
-
- {$display_name_6}
-
- *97
-
-
- 4
-
- {if $sip_transport_6 == 'udp'}0{/if}
- {if $sip_transport_6 == 'tcp'}1{/if}
- {if $sip_transport_6 == 'tls'}2{/if}
- {if $sip_transport_6 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 60
-
-
- 0
-
- 0
-
-
- phone-{$display_name_1}
-
- 0
-
-
-
- {$user_password}
-
- {$admin_password}
-
-
-
-
-
- 0
-
-
-
- {$http_auth_username}
-
- {$http_auth_password}
-
- 2
-
- {$domain_name}{$project_path}/app/provision
-
- {$domain_name}{$project_path}/app/provision
-
- 0
-
-
- 0
-
- 0
-
- 10080
-
- 1
-
- 1
-
- 0
-
-
-
-
- 0
-
- 0
-
-
- 0
-
- 1
-
- 0
-
- {if isset($public_mode) }
- {if $public_mode|strtolower == 'true'}
- 1
- {elseif $public_mode|strtolower == 'yes'}
- 1
- {elseif $public_mode == '1'}
- 1
- {else}
- 0
- {/if}
- {else}
- 0
- {/if}
-
-
- 0
-
- 0
-
-
- 0
-
-
-
-
-
-
-
- 1
-
- 0
-
-
- 100
-
- 40
-
- 7
-
-
-
- 0
-
- 0
-
- 1
-
-
-
- us.pool.ntp.org
-
-
- 1
-
+
+
+{$display_name_1}
+
+
+
+{$server_address_1}
+
+
+
+{$secondary_server_address_1}
+
+
+
+{$outbound_proxy_1}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_1}
+
+
+
+{$auth_id_1}
+
+
+
+{$user_password_1}
+
+
+
+{$display_name_1}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_mode_1) }
+{$gs_dns_mode_1}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_1) }
+{$nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+123
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_1)||$gs_account_ring_tone_1==0}
+{$gs_account_ring_tone_1}
+{/if}
+
+
+
+
+{if isset($gs_ring_tone_caller_id_1_1)}
+{$gs_ring_tone_caller_id_1_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_1_1)||$gs_ring_tone_1_1==0}
+{$gs_ring_tone_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_2_1)}
+{$gs_ring_tone_caller_id_2_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_2_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_3_1)}
+{$gs_ring_tone_caller_id_3_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_3_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_3_1}
+{/if}
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_2}
+
+
+
+{$server_address_2}
+
+
+
+
+
+
+
+{$outbound_proxy_2}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_2}
+
+
+
+{$auth_id_2}
+
+
+
+{$user_password_2}
+
+
+
+{$display_name_2}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_2) }
+{$gs_dns_modee_2}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_2) }
+{$nat_traversal_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_2)||$gs_account_ring_tone_2==0}
+{$gs_account_ring_tone_2}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*79
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_3}
+
+
+
+{$server_address_3}
+
+
+
+
+
+
+
+{$outbound_proxy_3}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_3}
+
+
+
+{$auth_id_3}
+
+
+
+{$user_password_3}
+
+
+
+{$display_name_3}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_3) }
+{$gs_dns_modee_3}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_3) }
+{$nat_traversal_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5064
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_3)||$gs_account_ring_tone_3==0}
+{$gs_account_ring_tone_3}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_4)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_4}
+
+
+
+{$server_address_4}
+
+
+
+
+
+
+
+{$outbound_proxy_4}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_4}
+
+
+
+{$auth_id_4}
+
+
+
+{$user_password_4}
+
+
+
+{$display_name_4}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_4) }
+{$gs_dns_modee_4}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_4) }
+{$nat_traversal_4}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5066
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_4 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_4 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_4 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_4 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_4)||$gs_account_ring_tone_4==0}
+{$gs_account_ring_tone_4}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_5)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_5}
+
+
+
+{$server_address_5}
+
+
+
+
+
+
+
+{$outbound_proxy_5}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_5}
+
+
+
+{$auth_id_5}
+
+
+
+{$user_password_5}
+
+
+
+{$display_name_5}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_5) }
+{$gs_dns_modee_5}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_5) }
+{$nat_traversal_5}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5068
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_5 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_5 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_5 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_5 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_5)||$gs_account_ring_tone_5==0}
+{$gs_account_ring_tone_5}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_6)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_6}
+
+
+
+{$server_address_6}
+
+
+
+
+
+
+
+{$outbound_proxy_6}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_6}
+
+
+
+{$auth_id_6}
+
+
+
+{$user_password_6}
+
+
+
+{$display_name_6}
+
+
+
+*97
+
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_6) }
+{$gs_dns_modee_6}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_6) }
+{$nat_traversal_6}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5070
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_6 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_6 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_6 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_6 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_6)||$gs_account_ring_tone_6==0}
+{$gs_account_ring_tone_6}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+26
+
+
+
+
+46
+
+
+
+
+0
+
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_pc_port_vlan) }
+{$gs_pc_port_vlan}
+{else}
+1
+{/if}
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+1194
+
+
+
+
+0
+
+
+
+
+
+
+
+{$user_password}
+
+
+
+{$admin_password}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{$http_auth_username}
+
+
+
+{$http_auth_password}
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10080
+
+
+
+1
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Auto
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+86400
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+
+80
+
+
+
+
+443
+
+
+
+5
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+1
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+
+{if isset($gs_phonebook_download_interval)}
+{$gs_phonebook_download_interval}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+{if isset($contact_grandstream)}
+2
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+3
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+givenName sn title
+
+
+
+
+
+50
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+1
+
+
+1
+
+
+
+givenName sn title
+
+
+
+
+
+
+
+5004
+
+
+
+
+200
+
+
+
+
+5204
+
+
+
+
+0
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($public_mode) }
+{if $public_mode|strtolower == 'true'}
+1
+{elseif $public_mode|strtolower == 'yes'}
+1
+{elseif $public_mode == '1'}
+1
+{else}
+0
+{/if}
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{if isset($gs_auto_attended_transfer) }
+{$gs_auto_attended_transfer}
+{else}
+1
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440,c=10/10;
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=440,f2=440,c=25/525;
+
+
+
+
+0
+
+
+
+
+f1=480,f2=620,c=50/50;
+
+
+
+
+f1=480,f2=620,c=25/25;
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_handset_tx_gain) }
+{$gs_handset_tx_gain}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+100
+
+
+
+
+60
+
+
+
+
+5
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($gs_wallpaper_url)}
+1
+{$gs_wallpaper_url}
+{else}
+0
+
+{/if}
+
+
+
+#000000
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+
+
+
+
+1440
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{if isset($grandstream_timezone) }
- {$grandstream_timezone}
- {else}
- auto
- {/if}
-
-
-
- 1
- a
-
-
- 1
-
-
-
- 15
-
-
- auto
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-{foreach $keys["line"] as $row}
-{$key_id = $row.device_key_id - 1}
-
-{if $key_id < 6}
-{$start_id = 1363}
-{$type_id = $start_id + ($key_id * 2)}
-{$line_id = ($start_id + 1) + ($key_id * 2)}
-{$label_id = ($start_id + 102) + ($key_id * 2)}
-{$value_id = ($start_id + 103) + ($key_id * 2)}
-{if $row.device_key_type == "speed dial"} 10 {/if}
-{if $row.device_key_type == "blf"} 11 {/if}
-{if $row.device_key_type == "presence watcher"} 12 {/if}
-{if $row.device_key_type == "eventlist blf"} 13 {/if}
-{if $row.device_key_type == "speed dial active"} 14 {/if}
-{if $row.device_key_type == "dial dtmf"} 15 {/if}
-{if $row.device_key_type == "voicemail"} 16 {/if}
-{if $row.device_key_type == "call return"} 17 {/if}
-{if $row.device_key_type == "transfer"} 18 {/if}
-{if $row.device_key_type == "call park"} 26 {/if}
-{if $row.device_key_type == "intercom"} 20 {/if}
-{if $row.device_key_type == "ldap search"} 21 {/if}
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 24}
-{$start_id = 23800}
-{$type_id = $start_id + (($key_id - 6) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 6) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 6) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 6) * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-
+{$grandstream_timezone}
+{elseif isset($gs_gxp_time_zone) }
+{$gs_gxp_time_zone}
+{else}
+auto
{/if}
-{/foreach}
-
-
+
+
+
+
+0
-{foreach $keys["memory"] as $row}
-{$key_id = $row.device_key_id - 1}
+
+
+
+
+PST+8PDT,M3.2.0,M11.1.0
-{if $key_id < 7}
-{$start_id = 301}
-{$type_id = $start_id + 22 + ($key_id)}
-{$line_id = ($start_id) + ($key_id * 3)}
-{$label_id = ($start_id + 1) + ($key_id * 3)}
-{$value_id = ($start_id + 2) + ($key_id * 3)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
+
+
+
+
+
+
+
+
+3
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+
+
+
+0
-{elseif $key_id < 18}
-{$start_id = 353}
-{$type_id = $start_id + (($key_id - 7) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 7) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 7) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 7) * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+
+
+
+
-{elseif $key_id < 24}
-{$start_id = 1440}
-{$type_id = $start_id + ($key_id * 4)}
-{$line_id = ($start_id + 1) + ($key_id * 4)}
-{$label_id = ($start_id + 2) + ($key_id * 4)}
-{$value_id = ($start_id + 3) + ($key_id * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+
+
+
+1
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+
+
+
+15
+
+
+
+
+c
+
+
+
+
+
+1
+
+
+
+
+CAD/USD;CAD/EUR;CAD/GBP;CAD/AUD;CAD/CNY;CAD/JPY
+
+
+
+
+
+
+
+
+
+
+XMLApp
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_bluetooth_power)}
+{$gs_bluetooth_power}
{/if}
-{/foreach}
+
+
+
+
+{if isset($gs_bluetooth_handsfree)}
+{$gs_bluetooth_handsfree}
+{/if}
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$fixed_keys=4}
+{if $template == "grandstream/gxp2130"}{$fixed_keys=3}{/if}
+{if $template == "grandstream/gxp2140"}{$fixed_keys=4}{/if}
+{if $template == "grandstream/gxp2160"}{$fixed_keys=6}{/if}
+{if $template == "grandstream/gxp2170"}{$fixed_keys=12}{/if}
+{if $template == "grandstream/gxp2135"}{$fixed_keys=8}{/if}
+
+{$start_id=1363}
+{assign var=key_types value=["none"=>-1,"line"=>0,"shared line"=>1,"speed dial"=>10, "blf"=>11, "presence watcher"=>12, "eventlist blf"=>13,"speed dial active"=>14,"dial dtmf"=>15,"voicemail"=>16,"call return"=>17,"transfer"=>18,"call park"=>19,"intercom"=>20,"ldap search"=>21,"multicast paging"=>23,"record"=>24,"call log"=>25,"monitored call park"=>26,"menu"=>27]}
+
+{for $line=1 to 6}
+{$pid=$line*2-2}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+0
+{$line-1}
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+{$start_id=23800}
+{for $line=7 to 32}
+{$pid=($line-6)*4-4}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+-1
+0
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>17]}
+{$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}
+{$key_types[$keys.programmable.$prog.device_key_type]}
+{$keys.programmable.$prog.device_key_line}
+{$keys.programmable.$prog.device_key_label}
+{$keys.programmable.$prog.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=323}
+{for $mem=1 to 7}
+{$pid=$mem*3-3}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.memory.$mem.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=353}
+{for $mem=8 to 18}
+{$pid=($mem-7)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=1440}
+{for $mem=19 to 24}
+{$pid=($mem-18)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{if $template == "grandstream/gxp2140"||$template == "grandstream/gxp2170"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=23000}
+{for $exp=1 to 160}
+{$pid=$exp*5-5}
+{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types}
+{$key_types[$keys.expansion.$exp.device_key_type]}
+{$keys.expansion.$exp.device_key_line}
+{$keys.expansion.$exp.device_key_label}
+{$keys.expansion.$exp.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+{/if}
+
diff --git a/resources/templates/provision/grandstream/gxp2170/README.txt b/resources/templates/provision/grandstream/gxp2170/README.txt
new file mode 100644
index 0000000000..247da51b2b
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2170/README.txt
@@ -0,0 +1,77 @@
+======================
+Provision
+======================
+Grandstream looks for {$mac}, then cfg{$mac}.xml.
+I've added symlinks so you can download both files for upload to the phone if auto-provision isn't working.
+
+ - auto provision requires
+ nginx rewrite rules
+ provision enabled text true
+ provision gs_config_server_path text mydomain.com/provision
+ # to enable phonebook contacts see below...
+
+======================
+label.txt - is a phone label for gxp2160 memory keys
+======================
+Plain text is copy/pasted into openoffice template that formats the label.
+
+
+======================
+phonebook.xml
+======================
+This provisions the phonebook button and the phone's display for incoming/outgoing calls.
+
+ - requires nginx rewrite rules
+ rewrite "^.*/provision/pb([A-Fa-f0-9-]{12,17})/phonebook\.xml$" /app/provision/?mac=$1&file=phonebook.xml;
+
+ - requires Default Settings:
+ provision enabled text true
+ provision contact_extensions boolean false
+ provision contact_grandstream text true
+ provision gs_phonebook_xml_server_path text mydomain.com/provision/pb # note provision template adds {$mac} on the end
+ handled by nginx (above).
+ provision gs_config_server_path text mydomain.com/provision
+ provision gs_phonebook_download_interval text 720
+ provision gs_global_contact_groups text contacts_it,contacts_finance # these are setup in Group Manager (see below).
+ Comma seperated groups listed here will be on all phones, saving the need to add these groups to every user.
+
+
+ - Grandstream and FusionPBX supports contact groups. To setup groups
+ 1) Advanced=>Group Manager=> Add
+ 2) Group NAME is prefixed with "contacts_". eg. contacts_it contacts_finance contacts_purchasing
+ 3) Group DESCRIPTION is what appears on the Phone's display. Best view is 1 word 10 characters max width.
+
+
+ - Contacts can be two types:
+ A) User/Extention local to Fusionpbx
+ B) Customer/External phone number.
+
+ A) Setup User/Extension contact
+ 1) Create a new user Accounts=>Users
+ 2) Assign contact_GROUPS (above) to that user will be assigned to on the phone's group display.
+ 2) Create a new extension and assign it to that user Accounts=>Extensions ( this auto adds user's extention to the phonebook )
+ 3) Create a new device and assign it to that user Accounts=>Devices ( this tells device which phonebook contacts to download )
+ 4) Apps=>Contacts
+ - Type "User"
+ - Organization - Appears on phone. e.g. School Board Office, Aberdeen Elementary
+ - First Name
+ - Last Name
+ - Category - is used for "Department". e.g. IT, Finance, Purchasing
+ - Roll - Roll in the company. e.g. Network Support Technitian, Teacher, Stenno1.
+ - Users - Users who can see this contact on their phone.
+ - Groups - Groups that can see this contact on their phone.
+ - Extensions - this is the default "Work" number that appears on the phone.
+ - Numbers - make sure they are type "Voice"
+ - "Work" can be assigned
+ - "Home"
+ - "Mobile"
+ - Some want their extension shown but restrict their cell number to certain users.
+ This may be done by Numbers Description field allow:username1,username2
+ ( NOTE private cell numbers, could be better coded )
+
+ B) Setup Costomer/External phone numbers similar to step #4) Apps=>Contacts
+ - Type "Customer"
+ - Fill in Organiation, First Name, Last Name, Category, Roll, Users, Groups
+ - Numbers - Add "Work" "Voice" number
+
+
diff --git a/resources/templates/provision/grandstream/gxp2170/label.txt b/resources/templates/provision/grandstream/gxp2170/label.txt
new file mode 100644
index 0000000000..be9976d487
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2170/label.txt
@@ -0,0 +1,31 @@
+{$rows=8}
+{$cols=1}
+{if $template == "grandstream/gxp16xx"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1628"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp1630"}{$rows=8}{$cols=1}{/if}
+{if $template == "grandstream/gxp2160"}{$rows=12}{$cols=2}{/if}
+{if $template == "grandstream/gxp2130"}{$rows=4}{$cols=2}{/if}
+{if $cols == 2}
+{for $row=1 to $rows}
+{$mem=$row+$rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+ {$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{$mem=$row}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{else}
+{for $mem=1 to $rows}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type)}
+{$keys.memory.$mem.device_key_label}
+{else}
+
+{/if}
+{/for}
+{/if}
diff --git a/resources/templates/provision/grandstream/gxp2170/phonebook.xml b/resources/templates/provision/grandstream/gxp2170/phonebook.xml
new file mode 100644
index 0000000000..62c745db9f
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxp2170/phonebook.xml
@@ -0,0 +1,49 @@
+
+
+1
+{foreach $contacts as $contact}
+{if $contact.contact_type == "group"}
+
+{$contact.id}
+{$contact.group_description|truncate:10}
+
+{/if}
+{/foreach}
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+{if $contact.contact_role != "" }
+{$contact.contact_role}
+{/if}
+{if $contact.contact_category != "" }
+{$contact.contact_category}
+{/if}
+
+{$contact.contact_work}
+1
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home}
+1
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell}
+1
+
+{/if}
+{if $contact.contact_organization != "" }
+{$contact.contact_organization}
+{/if}
+{foreach $contact.groups as $group}
+{$group}
+{/foreach}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/gxp2170/{$mac}.xml b/resources/templates/provision/grandstream/gxp2170/{$mac}.xml
index b62359d1d2..52cec2e55e 100644
--- a/resources/templates/provision/grandstream/gxp2170/{$mac}.xml
+++ b/resources/templates/provision/grandstream/gxp2170/{$mac}.xml
@@ -1,589 +1,6623 @@
-
-
-
-
-
-
- 1
-
- {$display_name_1}
-
- {$server_address_1}
-
-
-
-
-
- {$user_id_1}
-
- {$auth_id_1}
-
- {$user_password_1}
-
- {$display_name_1}
-
- *97
-
-
- 0
-
- 0
-
- {if $sip_transport_1 == 'udp'}0
- {elseif $sip_transport_1 == 'tcp'}1
- {elseif $sip_transport_1 == 'tls'}2
- {elseif $sip_transport_1 == 'dns srv'}1
- {/if}
-
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_2}
-
- {$server_address_2}
-
- {$user_id_2}
-
- {$user_id_2}
-
- {$user_password_2}
-
- {$display_name_2}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_2 == 'udp'}0{/if}
- {if $sip_transport_2 == 'tcp'}1{/if}
- {if $sip_transport_2 == 'tls'}2{/if}
- {if $sip_transport_2 == 'dns srv'}1{/if}
-
- **
-
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_3}
-
- {$server_address_3}
-
- {$user_id_3}
-
- {$user_id_3}
-
- {$user_password_3}
-
- {$display_name_3}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_3 == 'udp'}0{/if}
- {if $sip_transport_3 == 'tcp'}1{/if}
- {if $sip_transport_3 == 'tls'}2{/if}
- {if $sip_transport_3 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_4}
-
- {$server_address_4}
-
- {$user_id_4}
-
- {$user_id_4}
-
- {$user_password_4}
-
- {$display_name_4}
-
- *97
-
-
- 0
-
- 4
-
- {if $sip_transport_4 == 'udp'}0{/if}
- {if $sip_transport_4 == 'tcp'}1{/if}
- {if $sip_transport_4 == 'tls'}2{/if}
- {if $sip_transport_4 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 1
-
-
-
- 1
-
- {$display_name_5}
-
- {$server_address_5}
-
- {$user_id_5}
-
- {$user_id_5}
-
- {$user_password_5}
-
- {$display_name_5}
-
- *97
-
- 4
-
-
- {if $sip_transport_5 == 'udp'}0{/if}
- {if $sip_transport_5 == 'tcp'}1{/if}
- {if $sip_transport_5 == 'tls'}2{/if}
- {if $sip_transport_5 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
- 60
-
-
-
- 1
-
- {$display_name_6}
-
- {$server_address_6}
-
- {$user_id_6}
-
- {$user_id_6}
-
- {$user_password_6}
-
- {$display_name_6}
-
- *97
-
-
- 4
-
- {if $sip_transport_6 == 'udp'}0{/if}
- {if $sip_transport_6 == 'tcp'}1{/if}
- {if $sip_transport_6 == 'tls'}2{/if}
- {if $sip_transport_6 == 'dns srv'}1{/if}
-
- **
-
- { x+ | \+x+ | *x+ | *xx*x+ | \p\a\r\k\+*x+ }
-
- 0
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 0
-
- 60
-
-
- 0
-
- 0
-
-
- phone-{$display_name_1}
-
- 0
-
-
-
- {$user_password}
-
- {$admin_password}
-
-
-
-
-
- 0
-
-
-
- {$http_auth_username}
-
- {$http_auth_password}
-
- 2
-
- {$domain_name}{$project_path}/app/provision
-
- {$domain_name}{$project_path}/app/provision
-
- 0
-
-
- 0
-
- 0
-
- 10080
-
- 1
-
- 1
-
- 0
-
-
-
-
- 0
-
- 0
-
-
- 0
-
- 1
-
- 0
-
- {if isset($public_mode) }
- {if $public_mode|strtolower == 'true'}
- 1
- {elseif $public_mode|strtolower == 'yes'}
- 1
- {elseif $public_mode == '1'}
- 1
- {else}
- 0
- {/if}
- {else}
- 0
- {/if}
-
-
- 0
-
- 0
-
-
- 0
-
-
-
-
-
-
-
- 1
-
- 0
-
-
- 100
-
- 40
-
- 7
-
-
-
- 0
-
- 0
-
- 1
-
-
-
- us.pool.ntp.org
-
-
- 1
-
-{if isset($grandstream_timezone) }
- {$grandstream_timezone}
- {else}
- auto
- {/if}
-
-
-
- 1
- a
-
-
- 1
-
-
-
- 15
-
-
- auto
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-{foreach $keys["line"] as $row}
-{$key_id = $row.device_key_id - 1}
-
-{if $key_id < 6}
-{$start_id = 1363}
-{$type_id = $start_id + ($key_id * 2)}
-{$line_id = ($start_id + 1) + ($key_id * 2)}
-{$label_id = ($start_id + 102) + ($key_id * 2)}
-{$value_id = ($start_id + 103) + ($key_id * 2)}
-{if $row.device_key_type == "speed dial"} 10 {/if}
-{if $row.device_key_type == "blf"} 11 {/if}
-{if $row.device_key_type == "presence watcher"} 12 {/if}
-{if $row.device_key_type == "eventlist blf"} 13 {/if}
-{if $row.device_key_type == "speed dial active"} 14 {/if}
-{if $row.device_key_type == "dial dtmf"} 15 {/if}
-{if $row.device_key_type == "voicemail"} 16 {/if}
-{if $row.device_key_type == "call return"} 17 {/if}
-{if $row.device_key_type == "transfer"} 18 {/if}
-{if $row.device_key_type == "call park"} 26 {/if}
-{if $row.device_key_type == "intercom"} 20 {/if}
-{if $row.device_key_type == "ldap search"} 21 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 12}
-{$start_id = 23800}
-{$type_id = $start_id + (($key_id - 6) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 6) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 6) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 6) * 4)}
-{if $row.device_key_type == "speed dial"} 10 {/if}
-{if $row.device_key_type == "blf"} 11 {/if}
-{if $row.device_key_type == "presence watcher"} 12 {/if}
-{if $row.device_key_type == "eventlist blf"} 13 {/if}
-{if $row.device_key_type == "speed dial active"} 14 {/if}
-{if $row.device_key_type == "dial dtmf"} 15 {/if}
-{if $row.device_key_type == "voicemail"} 16 {/if}
-{if $row.device_key_type == "call return"} 17 {/if}
-{if $row.device_key_type == "transfer"} 18 {/if}
-{if $row.device_key_type == "call park"} 26 {/if}
-{if $row.device_key_type == "intercom"} 20 {/if}
-{if $row.device_key_type == "ldap search"} 21 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-
-{elseif $key_id < 48}
-{$start_id = 23824}
-{$type_id = $start_id + (($key_id - 12) * 4)}
-{$line_id = ($start_id + 1) + (($key_id - 12) * 4)}
-{$label_id = ($start_id + 2) + (($key_id - 12) * 4)}
-{$value_id = ($start_id + 3) + (($key_id - 12) * 4)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
-
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
+{$mac|replace:'-':''}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
{/if}
-{/foreach}
-
-
-
-{$start_id = 23000}
-{foreach $keys["expansion"] as $row}
-{$key_id = $row.device_key_id - 1}
-{$type_id = $start_id + ($key_id * 5)}
-{$line_id = ($start_id + 1) + ($key_id * 5)}
-{$label_id = ($start_id + 2) + ($key_id * 5)}
-{$value_id = ($start_id + 3) + ($key_id * 5)}
-{if $row.device_key_type == "speed dial"} 0 {/if}
-{if $row.device_key_type == "blf"} 1 {/if}
-{if $row.device_key_type == "presence watcher"} 2 {/if}
-{if $row.device_key_type == "eventlist blf"} 3 {/if}
-{if $row.device_key_type == "speed dial active"} 4 {/if}
-{if $row.device_key_type == "dial dtmf"} 5 {/if}
-{if $row.device_key_type == "voicemail"} 6 {/if}
-{if $row.device_key_type == "call return"} 7 {/if}
-{if $row.device_key_type == "transfer"} 8 {/if}
-{if $row.device_key_type == "call park"} 16 {/if}
-{if $row.device_key_type == "intercom"} 10 {/if}
-{if $row.device_key_type == "ldap search"} 11 {/if}
+
+
+{$display_name_1}
- {$row.device_key_line}
- {$row.device_key_label}
- {$row.device_key_value}
-{/foreach}
+
+
+{$server_address_1}
-
+
+
+{$secondary_server_address_1}
+
+
+
+{$outbound_proxy_1}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_1}
+
+
+
+{$auth_id_1}
+
+
+
+{$user_password_1}
+
+
+
+{$display_name_1}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_mode_1) }
+{$gs_dns_mode_1}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_1) }
+{$nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+123
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_1)||$gs_account_ring_tone_1==0}
+{$gs_account_ring_tone_1}
+{/if}
+
+
+
+
+{if isset($gs_ring_tone_caller_id_1_1)}
+{$gs_ring_tone_caller_id_1_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_1_1)||$gs_ring_tone_1_1==0}
+{$gs_ring_tone_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_2_1)}
+{$gs_ring_tone_caller_id_2_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_2_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_3_1)}
+{$gs_ring_tone_caller_id_3_1}
+{/if}
+
+
+
+
+
+{if isset($gs_ring_tone_3_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_3_1}
+{/if}
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_2}
+
+
+
+{$server_address_2}
+
+
+
+
+
+
+
+{$outbound_proxy_2}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_2}
+
+
+
+{$auth_id_2}
+
+
+
+{$user_password_2}
+
+
+
+{$display_name_2}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_2) }
+{$gs_dns_modee_2}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_2) }
+{$nat_traversal_2}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+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
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_2)||$gs_account_ring_tone_2==0}
+{$gs_account_ring_tone_2}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*79
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_3}
+
+
+
+{$server_address_3}
+
+
+
+
+
+
+
+{$outbound_proxy_3}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_3}
+
+
+
+{$auth_id_3}
+
+
+
+{$user_password_3}
+
+
+
+{$display_name_3}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_3) }
+{$gs_dns_modee_3}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_3) }
+{$nat_traversal_3}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5064
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_3)||$gs_account_ring_tone_3==0}
+{$gs_account_ring_tone_3}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_4)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_4}
+
+
+
+{$server_address_4}
+
+
+
+
+
+
+
+{$outbound_proxy_4}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_4}
+
+
+
+{$auth_id_4}
+
+
+
+{$user_password_4}
+
+
+
+{$display_name_4}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_4) }
+{$gs_dns_modee_4}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_4) }
+{$nat_traversal_4}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5066
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_4 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_4 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_4 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_4 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_4)||$gs_account_ring_tone_4==0}
+{$gs_account_ring_tone_4}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_5)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_5}
+
+
+
+{$server_address_5}
+
+
+
+
+
+
+
+{$outbound_proxy_5}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_5}
+
+
+
+{$auth_id_5}
+
+
+
+{$user_password_5}
+
+
+
+{$display_name_5}
+
+
+
+*97
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_5) }
+{$gs_dns_modee_5}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_5) }
+{$nat_traversal_5}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5068
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_5 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_5 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_5 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_5 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_5)||$gs_account_ring_tone_5==0}
+{$gs_account_ring_tone_5}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_6)}
+1
+{else}
+0
+{/if}
+
+
+
+{$display_name_6}
+
+
+
+{$server_address_6}
+
+
+
+
+
+
+
+{$outbound_proxy_6}
+
+
+
+
+
+
+
+
+
+
+
+{$user_id_6}
+
+
+
+{$auth_id_6}
+
+
+
+{$user_password_6}
+
+
+
+{$display_name_6}
+
+
+
+*97
+
+
+
+
+
+
+
+
+{if isset($gs_dns_modee_6) }
+{$gs_dns_modee_6}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($nat_traversal_6) }
+{$nat_traversal_6}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+5070
+
+
+
+
+20
+
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+
+{$tp=0}
+{if $sip_transport_6 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_6 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_6 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_6 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+**
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+100
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+180
+
+
+
+
+90
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+123
+
+
+
+
+101
+
+
+
+
+
+
+0
+
+
+
+
+8
+
+
+
+
+4
+
+
+
+
+18
+
+
+
+
+9
+
+
+
+
+98
+
+
+
+
+2
+
+
+
+
+125
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+97
+
+
+
+
+1
+
+
+
+
+2
+
+
+
+
+
+0
+
+
+
+
+250
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+
+0
+
+
+
+
+{if isset($gs_account_ring_tone_6)||$gs_account_ring_tone_6==0}
+{$gs_account_ring_tone_6}
+{/if}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+60
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+4
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+*72
+
+
+
+*73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+26
+
+
+
+
+46
+
+
+
+
+0
+
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_pc_port_vlan) }
+{$gs_pc_port_vlan}
+{else}
+1
+{/if}
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+1194
+
+
+
+
+0
+
+
+
+
+
+
+
+{$user_password}
+
+
+
+{$admin_password}
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+{$http_auth_username}
+
+
+
+{$http_auth_password}
+
+
+
+
+0
+
+
+
+
+2
+
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10080
+
+
+
+1
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Auto
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+86400
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+
+80
+
+
+
+
+443
+
+
+
+5
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+1
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+
+{if isset($gs_phonebook_download_interval)}
+{$gs_phonebook_download_interval}
+{else}
+0
+{/if}
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+{if isset($contact_grandstream)}
+2
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+3
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+givenName sn title
+
+
+
+
+
+50
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+1
+
+
+1
+
+
+
+givenName sn title
+
+
+
+
+
+
+
+5004
+
+
+
+
+200
+
+
+
+
+5204
+
+
+
+
+0
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($public_mode) }
+{if $public_mode|strtolower == 'true'}
+1
+{elseif $public_mode|strtolower == 'yes'}
+1
+{elseif $public_mode == '1'}
+1
+{else}
+0
+{/if}
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+30
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+{if isset($gs_auto_attended_transfer) }
+{$gs_auto_attended_transfer}
+{else}
+1
+{/if}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+0
+
+
+
+
+10
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440;
+
+
+
+
+f1=350,f2=440,c=10/10;
+
+
+
+
+f1=440,f2=480,c=200/400;
+
+
+
+
+f1=440,f2=440,c=25/525;
+
+
+
+
+0
+
+
+
+
+f1=480,f2=620,c=50/50;
+
+
+
+
+f1=480,f2=620,c=25/25;
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{if isset($gs_handset_tx_gain) }
+{$gs_handset_tx_gain}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+100
+
+
+
+
+60
+
+
+
+
+5
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+{if isset($gs_wallpaper_url)}
+1
+{$gs_wallpaper_url}
+{else}
+0
+
+{/if}
+
+
+
+#000000
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+3
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+
+
+
+
+1440
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($grandstream_timezone) }
+{$grandstream_timezone}
+{elseif isset($gs_gxp_time_zone) }
+{$gs_gxp_time_zone}
+{else}
+auto
+{/if}
+
+
+
+
+
+0
+
+
+
+
+
+PST+8PDT,M3.2.0,M11.1.0
+
+
+
+
+
+
+
+
+
+3
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+1
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+15
+
+
+
+
+c
+
+
+
+
+
+1
+
+
+
+
+CAD/USD;CAD/EUR;CAD/GBP;CAD/AUD;CAD/CNY;CAD/JPY
+
+
+
+
+
+
+
+
+
+
+XMLApp
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($gs_bluetooth_power)}
+{$gs_bluetooth_power}
+{/if}
+
+
+
+
+{if isset($gs_bluetooth_handsfree)}
+{$gs_bluetooth_handsfree}
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$fixed_keys=4}
+{if $template == "grandstream/gxp2130"}{$fixed_keys=3}{/if}
+{if $template == "grandstream/gxp2140"}{$fixed_keys=4}{/if}
+{if $template == "grandstream/gxp2160"}{$fixed_keys=6}{/if}
+{if $template == "grandstream/gxp2170"}{$fixed_keys=12}{/if}
+{if $template == "grandstream/gxp2135"}{$fixed_keys=8}{/if}
+
+{$start_id=1363}
+{assign var=key_types value=["none"=>-1,"line"=>0,"shared line"=>1,"speed dial"=>10, "blf"=>11, "presence watcher"=>12, "eventlist blf"=>13,"speed dial active"=>14,"dial dtmf"=>15,"voicemail"=>16,"call return"=>17,"transfer"=>18,"call park"=>19,"intercom"=>20,"ldap search"=>21,"multicast paging"=>23,"record"=>24,"call log"=>25,"monitored call park"=>26,"menu"=>27]}
+
+{for $line=1 to 6}
+{$pid=$line*2-2}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+0
+{$line-1}
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+{$start_id=23800}
+{for $line=7 to 32}
+{$pid=($line-6)*4-4}
+{if isset($keys.line.$line.device_key_category) && isset($keys.line.$line.device_key_type) && isset($key_types[$keys.line.$line.device_key_type])}
+{if $line <= $fixed_keys}
+{$key_types[$keys.line.$line.device_key_type]}
+{else}
+{$key_types[$keys.line.$line.device_key_type]-10}
+{/if}
+{$keys.line.$line.device_key_line}
+{$keys.line.$line.device_key_label}
+{$keys.line.$line.device_key_value}
+{else}
+{if $line <= $fixed_keys}
+-1
+0
+
+
+{else}
+-1
+{/if}
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>10, "speed dial active"=>14,"voicemail"=>16,"call return"=>17,"intercom"=>20,"ldap search"=>21,"menu"=>17]}
+{$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}
+{$key_types[$keys.programmable.$prog.device_key_type]}
+{$keys.programmable.$prog.device_key_line}
+{$keys.programmable.$prog.device_key_label}
+{$keys.programmable.$prog.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"conference"=>12,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=323}
+{for $mem=1 to 7}
+{$pid=$mem*3-3}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.memory.$mem.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=353}
+{for $mem=8 to 18}
+{$pid=($mem-7)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{$start_id=1440}
+{for $mem=19 to 24}
+{$pid=($mem-18)*4-4}
+{if isset($keys.memory.$mem.device_key_category) && isset($keys.memory.$mem.device_key_type) && $keys.line.$line.device_key_type|in_array:$key_types}
+{$key_types[$keys.memory.$mem.device_key_type]}
+{$keys.memory.$mem.device_key_line}
+{$keys.memory.$mem.device_key_label}
+{$keys.memory.$mem.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+
+{if $template == "grandstream/gxp2140"||$template == "grandstream/gxp2170"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["none"=>-1,"speed dial"=>0, "blf"=>1, "presence watcher"=>2, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"voicemail"=>6,"call return"=>7,"transfer"=>8,"call park"=>9,"intercom"=>10,"ldap search"=>11,"multicast paging"=>13,"record"=>14,"call log"=>15,"monitored call park"=>16,"menu"=>17]}
+{$start_id=23000}
+{for $exp=1 to 160}
+{$pid=$exp*5-5}
+{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types}
+{$key_types[$keys.expansion.$exp.device_key_type]}
+{$keys.expansion.$exp.device_key_line}
+{$keys.expansion.$exp.device_key_label}
+{$keys.expansion.$exp.device_key_value}
+{else}
+-1
+0
+
+
+{/if}
+
+{/for}
+{/if}
+
diff --git a/resources/templates/provision/grandstream/gxv3240/phonebook.xml b/resources/templates/provision/grandstream/gxv3240/phonebook.xml
new file mode 100644
index 0000000000..408336fb53
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxv3240/phonebook.xml
@@ -0,0 +1,54 @@
+
+
+1
+{foreach $contacts as $contact}
+{if $contact.contact_type == "group"}
+
+{$contact.id}
+{$contact.group_description}
+
+
+{/if}
+{/foreach}
+{$i=0}
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+0
+0
+{if $contact.contact_title != "" }
+{$contact.contact_title}
+{/if}
+
+{$contact.contact_work}
+1
+
+{if $contact.contact_home != "" }
+
+{$contact.contact_home}
+1
+
+{/if}
+{if $contact.contact_cell != "" }
+
+{$contact.contact_cell}
+1
+
+{/if}
+{if false}
+{if $contact.contact_role != "" }
+{$contact.contact_role}
+{/if}
+{if $contact.contact_organization != "" }
+{$contact.contact_organization}
+{/if}
+{/if}
+{foreach $contact.groups as $group}
+{$group}
+{/foreach}
+
+{/if}
+{/foreach}
+
diff --git a/resources/templates/provision/grandstream/gxv3240/{$mac}.xml b/resources/templates/provision/grandstream/gxv3240/{$mac}.xml
new file mode 100644
index 0000000000..5a845fe2a3
--- /dev/null
+++ b/resources/templates/provision/grandstream/gxv3240/{$mac}.xml
@@ -0,0 +1,5451 @@
+
+
+{$mac|replace:'-':''}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_1)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_1}
+
+
+{$server_address_1}
+
+
+{$user_id_1}
+
+
+{$user_id_1}
+
+
+{$user_password_1}
+
+
+*97
+
+
+{$display_name_1}
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+{if isset($gs_nat_traversal_1)}
+{$gs_nat_traversal_1}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+1
+
+
+
+2
+
+
+
+3
+
+
+
+0
+
+
+
+20
+
+
+
+5060
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+1
+
+
+
+30
+
+
+
+3
+
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+{$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
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+{if isset($gs_validate_incoming_sip)}
+1
+{else}
+0
+{/if}
+
+
+
+
+
+{if isset($gs_check_sip_user_id)}
+1
+{else}
+0
+{/if}
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+{if isset($gs_sip_only_known_servers)}
+1
+{else}
+0
+{/if}
+
+
+0
+
+
+
+
+50
+
+
+
+
+
+400
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+1
+
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+0
+
+
+
+8
+
+
+
+4
+
+
+
+18
+
+
+
+9
+
+
+
+98
+
+
+
+2
+
+
+
+123
+
+
+
+99
+
+
+
+34
+
+
+
+1
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+126
+
+
+
+123
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+120
+
+
+
+1
+
+
+
+9
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+2048
+
+
+
+
+1
+
+
+
+99
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+60
+
+
+
+
+-1
+
+
+
+0
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+{if isset($gs_account_ring_tone_1)||$gs_account_ring_tone_1==0}
+{$gs_account_ring_tone_1}
+{else}
+content://settings/system/ringtone
+{/if}
+
+
+
+0
+
+
+
+
+
+
+
+20
+
+
+
+{if isset($gs_ring_tone_caller_id_1_1)}
+{$gs_ring_tone_caller_id_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_1_1)||$gs_ring_tone_1_1==0}
+{$gs_ring_tone_1_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_2_1)}
+{$gs_ring_tone_caller_id_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_2_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_2_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_caller_id_3_1)}
+{$gs_ring_tone_caller_id_3_1}
+{/if}
+
+
+
+{if isset($gs_ring_tone_3_1)||$gs_ring_tone_2_1==0}
+{$gs_ring_tone_3_1}
+{/if}
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_2)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_2}
+
+
+{$server_address_2}
+
+
+{$user_id_2}
+
+
+{$user_id_2}
+
+
+{$user_password_2}
+
+
+*97
+
+
+{$display_name_2}
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+60
+
+
+
+0
+
+
+
+20
+
+
+
+5062
+
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+30
+
+
+
+3
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+{$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
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+50
+
+
+
+
+400
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+0
+
+
+
+8
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+99
+
+
+
+99
+
+
+
+1
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+126
+
+
+
+123
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+120
+
+
+
+1
+
+
+
+9
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+2048
+
+
+
+1
+
+
+99
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+60
+
+
+
+
+-1
+
+
+
+0
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_3)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_3}
+
+
+{$server_address_3}
+
+
+{$user_id_3}
+
+
+{$user_id_3}
+
+
+{$user_password_3}
+
+
+*97
+
+
+{$display_name_3}
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+60
+
+
+
+0
+
+
+
+20
+
+
+
+5064
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+30
+
+
+
+3
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+{$tp=0}
+{if $sip_transport_3 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_3 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_3 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_3 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+50
+
+
+
+
+400
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+15
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+0
+
+
+
+8
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+99
+
+
+
+99
+
+
+
+1
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+126
+
+
+
+123
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+120
+
+
+
+1
+
+
+
+9
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+2048
+
+
+
+1
+
+
+99
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+60
+
+
+
+
+-1
+
+
+
+0
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_4)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_4}
+
+
+{$server_address_4}
+
+
+{$user_id_4}
+
+
+{$user_id_4}
+
+
+{$user_password_4}
+
+
+*97
+
+
+{$display_name_4}
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+60
+
+
+
+0
+
+
+
+20
+
+
+
+5066
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+30
+
+
+
+3
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+{$tp=0}
+{if $sip_transport_4 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_4 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_4 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_4 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+50
+
+
+
+
+400
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+0
+
+
+
+8
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+99
+
+
+
+99
+
+
+
+1
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+126
+
+
+
+123
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+120
+
+
+
+1
+
+
+
+9
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+2048
+
+
+
+1
+
+
+99
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+60
+
+
+
+
+-1
+
+
+
+0
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+
+
+
+
+0
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+20
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_5)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_5}
+
+
+{$server_address_5}
+
+
+{$user_id_5}
+
+
+{$user_id_5}
+
+
+{$user_password_5}
+
+
+*97
+
+
+{$display_name_5}
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+60
+
+
+
+0
+
+
+
+20
+
+
+
+5068
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+30
+
+
+
+3
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+{$tp=0}
+{if $sip_transport_5 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_5 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_5 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_5 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+50
+
+
+
+
+400
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+0
+
+
+
+8
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+99
+
+
+
+99
+
+
+
+1
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+126
+
+
+
+123
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+120
+
+
+
+1
+
+
+
+9
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+2048
+
+
+
+1
+
+
+99
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+
+-1
+
+
+
+60
+
+
+
+0
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+20
+
+
+
+0
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($user_password_6)}
+1
+{else}
+0
+{/if}
+
+
+{$display_name_6}
+
+
+{$server_address_6}
+
+
+{$user_id_6}
+
+
+{$user_id_6}
+
+
+{$user_password_6}
+
+
+*97
+
+
+{$display_name_6}
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+60
+
+
+
+0
+
+
+
+20
+
+
+
+5070
+
+
+
+{if isset($subscribe_mwi)}
+1
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+30
+
+
+
+3
+
+
+
+180
+
+
+
+90
+
+
+
+0
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+{$tp=0}
+{if $sip_transport_6 == 'udp'}{$tp=0}{/if}
+{if $sip_transport_6 == 'tcp'}{$tp=1}{/if}
+{if $sip_transport_6 == 'tls'}{$tp=2}{/if}
+{if $sip_transport_6 == 'dns srv'}{$tp=1}{/if}
+{$tp}
+
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+50
+
+
+
+
+400
+
+
+
+0
+
+
+
+0
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+15
+
+
+
+
+
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+101
+
+
+
+
+0
+
+
+
+8
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+9
+
+
+
+99
+
+
+
+99
+
+
+
+1
+
+
+
+0
+
+
+
+1
+
+
+
+0
+
+
+
+126
+
+
+
+123
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+120
+
+
+
+1
+
+
+
+9
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+2048
+
+
+
+1
+
+
+99
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+0
+
+
+{ x+ | *x+ | *xx | *xxx | *xxxx | *xxxxx | *xxxxxx | **xx | **xxx | **xxxx | **xxxxx | **xxxxxx | **xxxxxxx | **xxxxxxxx | *xx*x+ | \+x+ | \p\a\r\k\+*x+ }
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+100
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+4
+
+
+
+
+-1
+
+
+
+60
+
+
+
+0
+
+
+
+1
+
+
+
+*78
+
+
+
+*79
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+20
+
+
+
+0
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+
+
+
+
+content://settings/system/ringtone
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+5004
+
+
+
+0
+
+
+
+0
+
+
+0
+
+
+
+
+
+20
+
+
+
+{if isset($gs_stun_server) }
+{$gs_stun_server}
+{else}
+
+{/if}
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+s1pphone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+
+
+30
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+15
+
+
+
+1
+
+
+
+1
+
+
+
+
+
+
+
+0
+
+
+f1=350@-13,f2=440@-13,c=0/0;
+
+
+
+
+
+f1=440@-19,f2=480@-19,c=2000/4000;
+
+
+f1=480@-24,f2=620@-24,c=500/500;
+
+
+f1=480@-24,f2=620@-24,c=250/250;
+
+
+f1=350@-11,f2=440@-11,c=100/100-100/100-100/100;
+
+
+f1=440@-13,c=300/10000-300/10000-0/0;
+
+
+0
+
+
+f1=480@-32,f2=620@-32,c=500/500;
+
+
+c=2000/4000;
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+99
+
+
+
+1
+
+
+
+
+
+256
+
+
+
+15
+
+
+
+1
+
+
+
+99
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+**
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+**
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+**
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+**
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+**
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+**
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+Grandstream GXV3240
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+60
+
+
+
+0
+
+
+48
+
+
+48
+
+
+48
+
+
+
+{if isset($gs_lan_port_vlan) }
+{$gs_lan_port_vlan}
+{$gs_lan_port_vlan}
+{else}
+0
+0
+{/if}
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+{if isset($gs_pc_port_vlan) }
+{$gs_pc_port_vlan}
+{else}
+1
+{/if}
+
+
+0
+
+
+
+0
+
+
+
+
+
+Grandstream GXV3275 1.0.3.75
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{if isset($ntp_server_primary)}
+{$ntp_server_primary}
+{else}
+pool.ntp.org
+{/if}
+
+
+
+
+1
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{$gs_gxp_time_zone}
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+80
+
+
+{$admin_password}
+
+
+{$user_password}
+
+
+
+
+
+
+
+1
+
+
+{if isset($gs_firmware_path)}
+{$gs_firmware_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+{if $gs_config_server_path=="none"}
+
+{elseif isset($gs_config_server_path)}
+{$gs_config_server_path}
+{else}
+{$domain_name}{$project_path}/app/provision
+{/if}
+
+
+{$http_auth_username}
+
+
+{$http_auth_password}
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+fm.grandstream.com/gs
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+1
+
+
+
+1
+
+
+
+1
+
+
+
+0
+
+
+
+
+
+
+1
+
+
+
+{if isset($gs_auto_upgrade)}
+{$gs_auto_upgrade}
+{else}
+0
+{/if}
+
+
+
+10080
+
+
+
+1
+
+
+
+1
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+1
+
+
+
+
+
+
+{$gs_syslog_server}
+
+
+
+
+{if isset($gs_syslog_level)}
+{$gs_syslog_level}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+{if isset($gs_send_sip_log)}
+{$gs_send_sip_log}
+{else}
+0
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+86400
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+2
+
+
+
+
+911
+
+
+
+
+1
+
+
+
+0
+
+
+
+2
+
+
+
+
+
+UTF-8
+
+
+
+
+{if isset($contact_grandstream)}
+{$gs_phonebook_xml_server_path}{$mac}/
+{elseif isset($gs_phonebook_xml_server_path)}
+{$gs_phonebook_xml_server_path}
+{else}
+
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+720
+
+
+
+
+
+
+
+0
+
+
+
+{$gs_ldap_server}
+
+
+
+389
+
+
+
+
+
+{$gs_ldap_base_dn}
+
+
+
+{$ldap_username}
+
+
+
+{$ldap_password}
+
+
+
+
+{$gs_ldap_name_attr}
+
+
+
+
+{$gs_ldap_number_attr}
+
+
+
+
+{$gs_ldap_mail_attr}
+
+
+
+
+{$gs_ldap_name_filter}
+
+
+
+
+{$gs_ldap_number_filter}
+
+
+
+
+{$gs_ldap_mail_filter}
+
+
+
+givenName sn title
+
+
+
+
+50
+
+
+
+
+4
+
+
+1
+
+
+1
+
+
+
+0
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+{if isset($gs_headset_type)}
+{$gs_headset_type}
+{else}
+0
+{/if}
+
+
+
+0
+
+
+
+0
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{assign var=key_types value=["speed dial"=>0, "blf"=>1, "eventlist blf"=>3,"speed dial active"=>4,"dial dtmf"=>5,"transfer"=>8,"call park"=>9,"intercom"=>10,"multicast paging"=>13,"call log"=>15]}
+{$start_id=23000}
+{for $exp=1 to 160}
+{$pid=$exp*5-5}
+
+{if isset($keys.expansion.$exp.device_key_category) && isset($keys.expansion.$exp.device_key_type) && $keys.expansion.$exp.device_key_type|in_array:$key_types}
+{$key_types[$keys.expansion.$exp.device_key_type]}
+{$keys.expansion.$exp.device_key_line}
+{$keys.expansion.$exp.device_key_label}
+{$keys.expansion.$exp.device_key_value}
+{else}
+0
+0
+
+
+{/if}
+
+{/for}
+
+
+
+
+
+
+
+1
+
+
+
+1
+
+
+
+1
+
+
+
+1
+
+
+
diff --git a/resources/templates/provision/vtech/vcs754/directory.xml b/resources/templates/provision/vtech/vcs754/directory.xml
new file mode 100644
index 0000000000..d8d5a33075
--- /dev/null
+++ b/resources/templates/provision/vtech/vcs754/directory.xml
@@ -0,0 +1,23 @@
+
+
+
+{foreach $contacts as $contact}
+{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
+
+{$contact.contact_name_given}
+{$contact.contact_name_family}
+{$contact.contact_work}
+{if $contact.contact_cell != "" }
+{$contact.contact_cell}
+{/if}
+{if $contact.contact_home != "" }
+{$contact.contact_home}
+{/if}
+0
+0
+0
+
+{/if}
+{/foreach}
+
+
diff --git a/resources/templates/provision/vtech/vcs754/{$mac}.cfg b/resources/templates/provision/vtech/vcs754/{$mac}.cfg
new file mode 100644
index 0000000000..3b8b5e6805
--- /dev/null
+++ b/resources/templates/provision/vtech/vcs754/{$mac}.cfg
@@ -0,0 +1,550 @@
+# Model Number = VCS754
+# SW Version = 1.1.1.1-0
+time_date.date_format = DD/MM/YY
+time_date.24hr_clock = 1
+time_date.ntp_dhcp_option = 0
+time_date.ntp_server = 1
+{if isset($ntp_server_primary)}
+time_date.ntp_server_addr = {$ntp_server_primary}
+{else}
+time_date.ntp_server_addr = pool.ntp.org
+{/if}
+time_date.ntp_server_update_interval = 1000
+time_date.timezone_dhcp_option = 0
+time_date.selected_timezone = America/Los_Angeles
+time_date.daylight_saving_auto_adjust = 1
+time_date.daylight_saving_user_defined = 0
+time_date.daylight_saving_start_month = March
+time_date.daylight_saving_start_week = 2
+time_date.daylight_saving_start_day = Sunday
+time_date.daylight_saving_start_hour = 2
+time_date.daylight_saving_end_month = November
+time_date.daylight_saving_end_week = 1
+time_date.daylight_saving_end_day = Sunday
+time_date.daylight_saving_end_hour = 2
+time_date.daylight_saving_amount = 60
+profile.admin.access_password = {$admin_password}
+profile.user.access_password = {$user_password}
+remoteDir.ldap_directory_name = LDAP
+remoteDir.ldap_number_filter = {$gs_ldap_number_filter}
+remoteDir.ldap_firstname_filter = (givenName=%)
+remoteDir.ldap_lastname_filter = (sn=%)
+remoteDir.ldap_server_address = {$gs_ldap_server}
+remoteDir.ldap_port = 389
+remoteDir.ldap_authentication_type = simple
+remoteDir.ldap_base = {$gs_ldap_base_dn}
+remoteDir.ldap_user_name = {$ldap_username}
+remoteDir.ldap_access_password = {$ldap_password}
+remoteDir.ldap_max_hits = 200
+remoteDir.ldap_work_number_attributes = telephoneNumber
+remoteDir.ldap_mobile_number_attributes = mobile
+remoteDir.ldap_other_number_attributes = homePhone
+remoteDir.ldap_protocol_version = version_3
+remoteDir.ldap_search_delay = 0
+remoteDir.ldap_incall_lookup_enable = 1
+remoteDir.ldap_outcall_lookup_enable = 1
+remoteDir.ldap_enable = 1
+remoteDir.ldap_firstname_attribute = givenName
+remoteDir.ldap_lastname_attribute = sn
+remoteDir.ldap_check_certificate = 0
+remoteDir.broadsoft_enable = 0
+remoteDir.broadsoft_display_name =
+remoteDir.broadsoft_server =
+remoteDir.broadsoft_port = 0
+remoteDir.broadsoft_user_name =
+remoteDir.broadsoft_access_password =
+remoteDir.broadsoft_dir_type = Group
+remoteDir.broadsoft_check_certificate = 0
+{if isset($user_password_1) }
+sip_account.1.sip_account_enable = 1
+{else}
+sip_account.1.sip_account_enable = 0
+{/if}
+sip_account.1.label = {$display_name_1}
+sip_account.1.display_name = {$display_name_1}
+sip_account.1.user_id = {$auth_id_1}
+sip_account.1.authentication_name = {$auth_id_1}
+sip_account.1.authentication_access_password = {$user_password_1}
+sip_account.1.dial_plan = x+P
+sip_account.1.inter_digit_timeout = 3
+sip_account.1.maximum_call_number = 6
+sip_account.1.auto_answer_enable = 0
+sip_account.1.auto_answer_during_active_call = 0
+sip_account.1.feature_sync_enable = 0
+sip_account.1.music_on_hold_enable = 1
+sip_account.1.mwi_enable = 1
+sip_account.1.mwi_ignore_unsolicited = 1
+sip_account.1.mwi_uri =
+sip_account.1.mwi_subscription_expires = 3600
+sip_account.1.stutter_dial_tone_enable = 1
+sip_account.1.voice_encryption_enable = 0
+sip_account.1.primary_sip_server_port = {$sip_port_1}
+sip_account.1.primary_sip_server_address = {$server_address_1}
+sip_account.1.primary_outbound_proxy_server_port = 5060
+sip_account.1.primary_outbound_proxy_server_address = {$outbound_proxy_1}
+sip_account.1.primary_registration_server_port = 5060
+sip_account.1.primary_registration_server_address = {$server_address_1}
+sip_account.1.primary_registration_expires = 3600
+sip_account.1.access_code_page =
+sip_account.1.access_code_park_call =
+sip_account.1.access_code_retrieve_parked_call =
+sip_account.1.access_code_retrieve_voicemail = *97
+sip_account.1.access_code_dnd_on = *78
+sip_account.1.access_code_dnd_off = *79
+sip_account.1.access_code_cfa_on = *72
+sip_account.1.access_code_cfa_off = *73
+sip_account.1.access_code_cfna_on =
+sip_account.1.access_code_cfna_off =
+sip_account.1.access_code_cfb_on =
+sip_account.1.access_code_cfb_off =
+sip_account.1.access_code_anonymous_call_block_on =
+sip_account.1.access_code_anonymous_call_block_off =
+sip_account.1.access_code_outgoing_call_anonymous_on =
+sip_account.1.access_code_outgoing_call_anonymous_off =
+sip_account.1.access_code_call_waiting_on =
+sip_account.1.access_code_call_waiting_off =
+sip_account.1.access_code_group_call_pickup =
+sip_account.1.access_code_direct_call_pickup =
+sip_account.1.nat_traversal_stun_enable = 0
+sip_account.1.nat_traversal_stun_server_port = 3478
+sip_account.1.nat_traversal_stun_server_address =
+sip_account.1.nat_traversal_udp_keep_alive_enable = 1
+sip_account.1.nat_traversal_udp_keep_alive_interval = 60
+sip_account.1.network_conference_enable = 0
+sip_account.1.network_bridge_uri =
+sip_account.1.sip_session_timer_enable = 0
+sip_account.1.sip_session_timer_min = 90
+sip_account.1.sip_session_timer_max = 1800
+sip_account.1.dtmf_transport_method = auto
+sip_account.1.codec_priority.1 = g711u
+sip_account.1.codec_priority.2 = g711a
+sip_account.1.codec_priority.3 = g726
+sip_account.1.codec_priority.4 = g722
+sip_account.1.codec_priority.5 = g729
+sip_account.1.unregister_after_reboot_enable = 0
+sip_account.1.transport_mode = udp
+sip_account.1.backup_outbound_proxy_server_port = 5060
+sip_account.1.backup_outbound_proxy_server_address =
+sip_account.1.registration_retry_time = 10
+sip_account.1.local_sip_port = 5060
+sip_account.1.dscp = 46
+sip_account.1.sip_dscp = 26
+sip_account.1.check_trusted_certificate = 0
+sip_account.1.normal_jitter = 80
+sip_account.1.g729_annexb_enable = 0
+sip_account.1.park_variant = broadsoft
+sip_account.1.preferred_ptime = 20
+{if isset($user_password_2) }
+sip_account.2.sip_account_enable = 1
+{else}
+sip_account.2.sip_account_enable = 0
+{/if}
+sip_account.2.label = {$display_name_2}
+sip_account.2.display_name = {$display_name_2}
+sip_account.2.user_id = {$user_id_2}
+sip_account.2.authentication_name = {$auth_id_2}
+sip_account.2.authentication_access_password = {$user_password_2}
+sip_account.2.dial_plan = x+P
+sip_account.2.inter_digit_timeout = 3
+sip_account.2.maximum_call_number = 6
+sip_account.2.auto_answer_enable = 0
+sip_account.2.auto_answer_during_active_call = 0
+sip_account.2.feature_sync_enable = 0
+sip_account.2.music_on_hold_enable = 1
+sip_account.2.mwi_enable = 0
+sip_account.2.mwi_ignore_unsolicited = 1
+sip_account.2.mwi_uri =
+sip_account.2.mwi_subscription_expires = 3600
+sip_account.2.stutter_dial_tone_enable = 1
+sip_account.2.voice_encryption_enable = 0
+sip_account.2.primary_sip_server_port = {$sip_port_2}
+sip_account.2.primary_sip_server_address = {$server_address_2}
+sip_account.2.primary_outbound_proxy_server_port = 5060
+sip_account.2.primary_outbound_proxy_server_address = {$outbound_proxy_2}
+sip_account.2.primary_registration_server_port = 5060
+sip_account.2.primary_registration_server_address = {$server_address_2}
+sip_account.2.primary_registration_expires = 3600
+sip_account.2.access_code_page =
+sip_account.2.access_code_park_call =
+sip_account.2.access_code_retrieve_parked_call =
+sip_account.2.access_code_retrieve_voicemail = *97
+sip_account.2.access_code_dnd_on = *78
+sip_account.2.access_code_dnd_off = *79
+sip_account.2.access_code_cfa_on = *72
+sip_account.2.access_code_cfa_off = *73
+sip_account.2.access_code_cfna_on =
+sip_account.2.access_code_cfna_off =
+sip_account.2.access_code_cfb_on =
+sip_account.2.access_code_cfb_off =
+sip_account.2.access_code_anonymous_call_block_on =
+sip_account.2.access_code_anonymous_call_block_off =
+sip_account.2.access_code_outgoing_call_anonymous_on =
+sip_account.2.access_code_outgoing_call_anonymous_off =
+sip_account.2.access_code_call_waiting_on =
+sip_account.2.access_code_call_waiting_off =
+sip_account.2.access_code_group_call_pickup =
+sip_account.2.access_code_direct_call_pickup =
+sip_account.2.nat_traversal_stun_enable = 0
+sip_account.2.nat_traversal_stun_server_port = 3478
+sip_account.2.nat_traversal_stun_server_address =
+sip_account.2.nat_traversal_udp_keep_alive_enable = 1
+sip_account.2.nat_traversal_udp_keep_alive_interval = 60
+sip_account.2.network_conference_enable = 0
+sip_account.2.network_bridge_uri =
+sip_account.2.sip_session_timer_enable = 0
+sip_account.2.sip_session_timer_min = 90
+sip_account.2.sip_session_timer_max = 1800
+sip_account.2.dtmf_transport_method = auto
+sip_account.2.codec_priority.1 = g711u
+sip_account.2.codec_priority.2 = g711a
+sip_account.2.codec_priority.3 = g726
+sip_account.2.codec_priority.4 = g722
+sip_account.2.codec_priority.5 = g729
+sip_account.2.unregister_after_reboot_enable = 0
+sip_account.2.transport_mode = udp
+sip_account.2.backup_outbound_proxy_server_port = 5060
+sip_account.2.backup_outbound_proxy_server_address =
+sip_account.2.registration_retry_time = 10
+sip_account.2.local_sip_port = 5070
+sip_account.2.dscp = 46
+sip_account.2.sip_dscp = 26
+sip_account.2.check_trusted_certificate = 0
+sip_account.2.normal_jitter = 80
+sip_account.2.g729_annexb_enable = 0
+sip_account.2.park_variant = broadsoft
+sip_account.2.preferred_ptime = 20
+{if isset($user_password_3) }
+sip_account.3.sip_account_enable = 1
+{else}
+sip_account.3.sip_account_enable = 0
+{/if}
+sip_account.3.label = {$display_name_3}
+sip_account.3.display_name = {$display_name_3}
+sip_account.3.user_id = {$user_id_3}
+sip_account.3.authentication_name = {$auth_id_3}
+sip_account.3.authentication_access_password = {$user_password_3}
+sip_account.3.dial_plan = x+P
+sip_account.3.inter_digit_timeout = 3
+sip_account.3.maximum_call_number = 6
+sip_account.3.auto_answer_enable = 0
+sip_account.3.auto_answer_during_active_call = 0
+sip_account.3.feature_sync_enable = 0
+sip_account.3.music_on_hold_enable = 1
+sip_account.3.mwi_enable = 0
+sip_account.3.mwi_ignore_unsolicited = 1
+sip_account.3.mwi_uri =
+sip_account.3.mwi_subscription_expires = 3600
+sip_account.3.stutter_dial_tone_enable = 1
+sip_account.3.voice_encryption_enable = 0
+sip_account.3.primary_sip_server_port = {$sip_port_3}
+sip_account.3.primary_sip_server_address = {$server_address_3}
+sip_account.3.primary_outbound_proxy_server_port = 5060
+sip_account.3.primary_outbound_proxy_server_address = {$outbound_proxy_3}
+sip_account.3.primary_registration_server_port = 5060
+sip_account.3.primary_registration_server_address = {$server_address_3}
+sip_account.3.primary_registration_expires = 3600
+sip_account.3.access_code_page =
+sip_account.3.access_code_park_call =
+sip_account.3.access_code_retrieve_parked_call =
+sip_account.3.access_code_retrieve_voicemail = *97
+sip_account.3.access_code_dnd_on = *78
+sip_account.3.access_code_dnd_off = *79
+sip_account.3.access_code_cfa_on = *72
+sip_account.3.access_code_cfa_off = *73
+sip_account.3.access_code_cfna_on =
+sip_account.3.access_code_cfna_off =
+sip_account.3.access_code_cfb_on =
+sip_account.3.access_code_cfb_off =
+sip_account.3.access_code_anonymous_call_block_on =
+sip_account.3.access_code_anonymous_call_block_off =
+sip_account.3.access_code_outgoing_call_anonymous_on =
+sip_account.3.access_code_outgoing_call_anonymous_off =
+sip_account.3.access_code_call_waiting_on =
+sip_account.3.access_code_call_waiting_off =
+sip_account.3.access_code_group_call_pickup =
+sip_account.3.access_code_direct_call_pickup =
+sip_account.3.nat_traversal_stun_enable = 0
+sip_account.3.nat_traversal_stun_server_port = 3478
+sip_account.3.nat_traversal_stun_server_address =
+sip_account.3.nat_traversal_udp_keep_alive_enable = 1
+sip_account.3.nat_traversal_udp_keep_alive_interval = 60
+sip_account.3.network_conference_enable = 0
+sip_account.3.network_bridge_uri =
+sip_account.3.sip_session_timer_enable = 0
+sip_account.3.sip_session_timer_min = 90
+sip_account.3.sip_session_timer_max = 1800
+sip_account.3.dtmf_transport_method = auto
+sip_account.3.codec_priority.1 = g711u
+sip_account.3.codec_priority.2 = g711a
+sip_account.3.codec_priority.3 = g726
+sip_account.3.codec_priority.4 = g722
+sip_account.3.codec_priority.5 = g729
+sip_account.3.unregister_after_reboot_enable = 0
+sip_account.3.transport_mode = udp
+sip_account.3.backup_outbound_proxy_server_port = 5060
+sip_account.3.backup_outbound_proxy_server_address =
+sip_account.3.registration_retry_time = 10
+sip_account.3.local_sip_port = 5080
+sip_account.3.dscp = 46
+sip_account.3.sip_dscp = 26
+sip_account.3.check_trusted_certificate = 0
+sip_account.3.normal_jitter = 80
+sip_account.3.g729_annexb_enable = 0
+sip_account.3.park_variant = broadsoft
+sip_account.3.preferred_ptime = 20
+sip_account.use_first_trusted_certificate_for_all = 0
+network.ip.dhcp_enable = 1
+network.ip.dns1 =
+network.ip.dns2 =
+network.ip.static_ip_addr =
+network.ip.subnet_mask =
+network.ip.gateway_addr =
+network.ip.dns_cache_clear_timeout = 60
+network.nat.masquerading_enable = 0
+network.nat.public_ip_addr =
+network.nat.public_sip_port = 5060
+network.nat.public_rtp_port_start = 18000
+network.nat.public_rtp_port_end = 19000
+network.vlan.wan.enable = {$vtech_vlan_wan_enable}
+network.vlan.wan.id = {$vtech_vlan_wan_id}
+network.vlan.wan.priority = {$vtech_vlan_wan_priority}
+network.rtp.port_start = 18000
+network.rtp.port_end = 19000
+network.lldp_med.enable = 0
+network.lldp_med.interval = 30
+network.eapol.enable = 0
+network.eapol.identity =
+network.eapol.access_password =
+network.vendor_class_id = Vtech Vesa VCS754
+network.user_class = Vtech Vesa VCS754
+provisioning.bootup_check_enable = 1
+provisioning.crypto_enable = 0
+provisioning.crypto_passphrase =
+provisioning.dhcp_option_enable = 1
+provisioning.dhcp_option_priority_1 = 66
+provisioning.dhcp_option_priority_2 = 159
+provisioning.dhcp_option_priority_3 = 160
+provisioning.firmware_url =
+provisioning.fw_server_username =
+provisioning.fw_server_access_password =
+provisioning.resync_mode = config_and_firmware
+provisioning.resync_time = 0
+{if isset($vt_config_server_path)}
+provisioning.server_address = {$vt_config_server_path}
+{else}
+provisioning.server_address = {$domain_name}{$project_path}/app/provision
+{/if}
+provisioning.server_username =
+provisioning.server_access_password =
+provisioning.check_trusted_certificate = 0
+provisioning.click_to_dial = 1
+provisioning.remote_check_sync_enable = 1
+provisioning.pnp_enable = 1
+provisioning.pnp_response_timeout = 10
+provisioning.schedule_mode = weekday
+provisioning.weekdays = 0,1,2,3,4,5,6
+provisioning.weekdays_start_hr = 1
+provisioning.weekdays_end_hr = 2
+user_pref.language = en
+user_pref.web_language = en
+user_pref.lcd_contrast = 4
+user_pref.backlight = high
+user_pref.idle_backlight = off
+user_pref.backlight_timeout = 30
+user_pref.absent_timeout = 30
+user_pref.idle_to_logo_timeout = 0
+user_pref.logo_to_idle_timeout = 60
+user_pref.account.1.ringer = 1
+user_pref.account.2.ringer = 1
+user_pref.account.3.ringer = 1
+user_pref.ringer_volume = 5
+user_pref.speaker_volume = 5
+user_pref.key_beep_enable = 1
+user_pref.hold_reminder.enable = 1
+user_pref.hold_reminder.interval = 30
+user_pref.call_waiting.mode = enable
+user_pref.call_waiting.tone_enable = 1
+user_pref.call_waiting.tone_interval = 30
+user_pref.notify.led.missed_call.enable = 0
+log.syslog_enable = 0
+log.syslog_level = 2
+log.syslog_server_address =
+log.syslog_server_port = 514
+page_zone.call_priority_threshold = 2
+page_zone.1.name =
+page_zone.1.multicast_address =
+page_zone.1.multicast_port =
+page_zone.1.accept_incoming_page = 1
+page_zone.1.priority = 5
+page_zone.2.name =
+page_zone.2.multicast_address =
+page_zone.2.multicast_port =
+page_zone.2.accept_incoming_page = 1
+page_zone.2.priority = 5
+page_zone.3.name =
+page_zone.3.multicast_address =
+page_zone.3.multicast_port =
+page_zone.3.accept_incoming_page = 1
+page_zone.3.priority = 5
+page_zone.4.name =
+page_zone.4.multicast_address =
+page_zone.4.multicast_port =
+page_zone.4.accept_incoming_page = 1
+page_zone.4.priority = 5
+page_zone.5.name =
+page_zone.5.multicast_address =
+page_zone.5.multicast_port =
+page_zone.5.accept_incoming_page = 1
+page_zone.5.priority = 5
+page_zone.6.name =
+page_zone.6.multicast_address =
+page_zone.6.multicast_port =
+page_zone.6.accept_incoming_page = 1
+page_zone.6.priority = 5
+page_zone.7.name =
+page_zone.7.multicast_address =
+page_zone.7.multicast_port =
+page_zone.7.accept_incoming_page = 1
+page_zone.7.priority = 5
+page_zone.8.name =
+page_zone.8.multicast_address =
+page_zone.8.multicast_port =
+page_zone.8.accept_incoming_page = 1
+page_zone.8.priority = 5
+page_zone.9.name =
+page_zone.9.multicast_address =
+page_zone.9.multicast_port =
+page_zone.9.accept_incoming_page = 1
+page_zone.9.priority = 5
+page_zone.10.name =
+page_zone.10.multicast_address =
+page_zone.10.multicast_port =
+page_zone.10.accept_incoming_page = 1
+page_zone.10.priority = 5
+tone.call_waiting_tone.num_of_elements = 1
+tone.call_waiting_tone.element.1 = 1 440 -150 0 0 0 0 0 0 500 0 1
+tone.call_waiting_tone.element.2 =
+tone.call_waiting_tone.element.3 =
+tone.call_waiting_tone.element.4 =
+tone.call_waiting_tone.element.5 =
+tone.hold_reminder.num_of_elements = 1
+tone.hold_reminder.element.1 = 1 770 -120 0 0 0 0 0 0 300 0 1
+tone.hold_reminder.element.2 =
+tone.hold_reminder.element.3 =
+tone.hold_reminder.element.4 =
+tone.hold_reminder.element.5 =
+tone.inside_dial_tone.num_of_elements = 1
+tone.inside_dial_tone.element.1 = 2 440 -180 350 -180 0 0 0 0 4294967295 0 65535
+tone.inside_dial_tone.element.2 =
+tone.inside_dial_tone.element.3 =
+tone.inside_dial_tone.element.4 =
+tone.inside_dial_tone.element.5 =
+tone.stutter_dial_tone.num_of_elements = 2
+tone.stutter_dial_tone.element.1 = 2 440 -180 350 -180 0 0 0 0 100 100 10
+tone.stutter_dial_tone.element.2 = 2 440 -180 350 -180 0 0 0 0 4294967295 0 65535
+tone.stutter_dial_tone.element.3 =
+tone.stutter_dial_tone.element.4 =
+tone.stutter_dial_tone.element.5 =
+tone.busy_tone.num_of_elements = 1
+tone.busy_tone.element.1 = 2 480 -180 620 -180 0 0 0 0 500 500 65535
+tone.busy_tone.element.2 =
+tone.busy_tone.element.3 =
+tone.busy_tone.element.4 =
+tone.busy_tone.element.5 =
+tone.ring_back_tone.num_of_elements = 1
+tone.ring_back_tone.element.1 = 2 440 -180 480 -180 0 0 0 0 2000 4000 65535
+tone.ring_back_tone.element.2 =
+tone.ring_back_tone.element.3 =
+tone.ring_back_tone.element.4 =
+tone.ring_back_tone.element.5 =
+web.http_port = 80
+web.https_port = 443
+web.https_enable = 0
+call_settings.account.1.block_anonymous_enable = 0
+call_settings.account.1.outgoing_anonymous_enable = 0
+call_settings.account.1.dnd_enable = 0
+call_settings.account.1.dnd_incoming_calls = reject
+call_settings.account.1.call_fwd_always_enable = 0
+call_settings.account.1.call_fwd_always_target =
+call_settings.account.1.call_fwd_busy_enable = 0
+call_settings.account.1.call_fwd_busy_target =
+call_settings.account.1.cfna_enable = 0
+call_settings.account.1.cfna_target =
+call_settings.account.1.cfna_delay = 6
+call_settings.account.2.block_anonymous_enable = 0
+call_settings.account.2.outgoing_anonymous_enable = 0
+call_settings.account.2.dnd_enable = 0
+call_settings.account.2.dnd_incoming_calls = reject
+call_settings.account.2.call_fwd_always_enable = 0
+call_settings.account.2.call_fwd_always_target =
+call_settings.account.2.call_fwd_busy_enable = 0
+call_settings.account.2.call_fwd_busy_target =
+call_settings.account.2.cfna_enable = 0
+call_settings.account.2.cfna_target =
+call_settings.account.2.cfna_delay = 6
+call_settings.account.3.block_anonymous_enable = 0
+call_settings.account.3.outgoing_anonymous_enable = 0
+call_settings.account.3.dnd_enable = 0
+call_settings.account.3.dnd_incoming_calls = reject
+call_settings.account.3.call_fwd_always_enable = 0
+call_settings.account.3.call_fwd_always_target =
+call_settings.account.3.call_fwd_busy_enable = 0
+call_settings.account.3.call_fwd_busy_target =
+call_settings.account.3.cfna_enable = 0
+call_settings.account.3.cfna_target =
+call_settings.account.3.cfna_delay = 6
+call_settings.missed_call_alert_enable = 1
+call_settings.hotline_enable = 0
+call_settings.hotline_number =
+call_settings.hotline_delay = 0
+softkey.idle = redial,line,pc_spk,call_log,blank,dir
+softkey.call_active = end,transfer,conf,xferline,confline
+softkey.call_held = end,new,resume,transfer,conf,xferline,confline
+softkey.live_dial = backspc,input,dial
+speed_dial.0.name =
+speed_dial.0.number =
+speed_dial.0.account = 0
+speed_dial.1.name =
+speed_dial.1.number =
+speed_dial.1.account = 0
+speed_dial.2.name =
+speed_dial.2.number =
+speed_dial.2.account = 0
+speed_dial.3.name =
+speed_dial.3.number =
+speed_dial.3.account = 0
+speed_dial.4.name =
+speed_dial.4.number =
+speed_dial.4.account = 0
+speed_dial.5.name =
+speed_dial.5.number =
+speed_dial.5.account = 0
+speed_dial.6.name =
+speed_dial.6.number =
+speed_dial.6.account = 0
+speed_dial.7.name =
+speed_dial.7.number =
+speed_dial.7.account = 0
+speed_dial.8.name =
+speed_dial.8.number =
+speed_dial.8.account = 0
+speed_dial.9.name =
+speed_dial.9.number =
+speed_dial.9.account = 0
+ringersetting.1.ringer_text =
+ringersetting.1.ringer_type = 1
+ringersetting.2.ringer_text =
+ringersetting.2.ringer_type = 1
+ringersetting.3.ringer_text =
+ringersetting.3.ringer_type = 1
+ringersetting.4.ringer_text =
+ringersetting.4.ringer_type = 1
+ringersetting.5.ringer_text =
+ringersetting.5.ringer_type = 1
+ringersetting.6.ringer_text =
+ringersetting.6.ringer_type = 1
+ringersetting.7.ringer_text =
+ringersetting.7.ringer_type = 1
+ringersetting.8.ringer_text =
+ringersetting.8.ringer_type = 1
+file.contact.directory.overwrite = {$gs_phonebook_xml_server_path}{$mac}/directory.xml
|