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