Update Grandstream provisioning (#2652)

* Update Grandstream provisioning

* Add Vtech

* Create app_config.php

fix typo

* Update app_config.php

remove newline at end as it can break php

* Update app_config.php

remove newline at end as it can break php

* Create app_config.php

remove newline at end.

* Update app_config.php

remove trailing newline

* Create device_edit.php

Add both http and https

* Create app_config.php

remove newline

* Add gxp16xx and fix typos
This commit is contained in:
Dean Montgomery
2017-06-08 16:21:47 -06:00
committed by FusionPBX
parent 137a282a1b
commit 66b849d946
39 changed files with 47198 additions and 2922 deletions
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given}</FirstName>
<LastName>{$contact.contact_name_family}</LastName>
<Phone type="Work">
<phonenumber>{$contact.contact_work}</phonenumber>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home}</phonenumber>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Mobile">
<phonenumber>{$contact.contact_cell}</phonenumber>
</Phone>
{/if}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,324 @@
<?xml version="1.0" encoding="UTF-8" ?>
<gs_provision version="1">
<config version="1">
<!-- ############################################################################################## -->
<!-- ### Configuration Template for Grandstream Wave #### -->
<!-- ############################################################################################## -->
<!-- ############################################################################# -->
<!-- # Account 1 Settings ## -->
<!-- ############################################################################# -->
<!-- ###################################################################### -->
<!-- # Account 1 General Settings ## -->
<!-- ###################################################################### -->
<!-- Account Active. 0 - No, 1 - Yes. Default value is 0 -->
<!-- Number: 0, 1 -->
{if isset($user_password_1)}
<P271>1</P271>
{else}
<P271>0</P271>
{/if}
<!-- Account Name -->
<P270>{$display_name_1}</P270>
<!-- SIP Server -->
<P47>{$server_address_1}</P47>
<!-- SIP User ID -->
<P35>{$user_id_1}</P35>
<!-- SIP Authentication ID -->
<P36>{$user_id_1}</P36>
<!-- SIP Authentication Password -->
<P34>{$user_password_1}</P34>
<!-- Voice Mail Access Number -->
<!--<P33>*97</P33> -->
<P33>*98</P33>
<!-- Name (Display Name, e.g., John Doe) -->
<P3>{$display_name_1}</P3>
<!-- Show Account Name Only. 0 - No, 1 - Yes. Default value is 0 -->
<!-- Number: 0, 1 -->
<P2380>0</P2380>
<!-- Tel URI. 0 - Disable, 1 - User=Phone, 2 - Enabled. Default value is 0 -->
<!-- Number: 0, 1, 2 -->
<P63>0</P63>
<!-- ###################################################################### -->
<!-- # Account 1 Network Settings ## -->
<!-- ###################################################################### -->
<!-- Outbound Proxy -->
<P48></P48>
<!-- Secondary Outbound Proxy -->
<P2333></P2333>
<!-- DNS Mode. 0 - A Record, 1 - SRV, 2 - NAPTR/SRV. Default value is 0 -->
<!-- Number: 0, 1, 2 -->
<P103>0</P103>
<!-- NAT Traversal. 0 - NAT No, 1 - STUN, 2 - Keep-alive, 3 - UPnP, 4 - Auto, 5 - VPN. Default value is 2 -->
<!-- Number: 0, 1, 2, 3, 4, 5 -->
<P52>2</P52>
<!-- Proxy-Require -->
<!-- <P197></P197> -->
<!-- Disable DialPlan. 0 - No Selection, 1 - Dial Page, 2 - Contact, 4 - Incoming Call History, 8 - Outgoing Call History, 16, MPK & Click2Dial. -->
<!-- If need to check multiple selections, add the specific values for each selections together. Default value is 0 -->
<!-- Number: 0-31 -->
<!--<P2382>0</P2382> -->
<!-- Dial Plan. Default value is { x+ | \+x+ | *x+ | *xx*x+ } -->
<!-- <P290>{ x+ | \+x+ | *x+ | *xx*x+ }</P290> -->
<!-- Use # as Dial Key. 0 - No, 1 - Yes. Default value is 1 -->
<!-- Number: 0, 1 -->
<!-- <P72>1</P72> -->
<!-- ###################################################################### -->
<!-- # Account 1 SIP Settings ## -->
<!-- ###################################################################### -->
<!-- SIP Registration. 0 - No, 1 - Yes. Default value is 1 -->
<!-- Number: 0, 1 -->
<!-- <P31>1</P31> -->
<!-- Unregister Before New Registration. 0 - No, 1 - All, 2 - Instance . Default value is 2 -->
<!-- Number: 0, 1, 2 -->
<!-- <P81>2</P81> -->
<!-- Register Expiration (m). In minutes. Default value is 60 -->
<!-- Number: 0 - 64800 -->
<!-- <P32>3</P32> -->
<!-- Re-register before Expiration (s). Default Value is 0 -->
<!-- Number : 0 -->
<!-- <P2330>0</P2330> -->
<!-- Registration Retry Wait Time (s). In seconds. Default value is 20 -->
<!-- Number: 1 - 3600 -->
<!-- <P138>20</P138> -->
<!-- Local SIP Port. Default value is 5060 -->
<!-- Number: 5 - 65535 -->
<P40>5060</P40>
<!-- SIP Transport -->
<!-- 0 - UDP , 1 - TCP, 2 - TLS. Default value is 0 -->
<!-- Number: 0, 1, 2 -->
<P130>0</P130>
<!-- ###################################################################### -->
<!-- # Account 1 Codec Settings ## -->
<!-- ###################################################################### -->
<!-- DTMF: in audio. 0 - No, 1 - Yes. Default value is 0 -->
<!-- Number: 0, 1 -->
<P2301>0</P2301>
<!-- DTMF: via RFC2833. 0 - No, 1 - Yes. Default value is 1 -->
<!-- Number: 0, 1 -->
<P2302>1</P2302>
<!-- DTMF: via SIP INFO. 0 - No, 1 - Yes. Default value is 0 -->
<!-- Number: 0, 1 -->
<P2303>0</P2303>
<!-- Preferred Vocoder -->
<!-- First codec. 0 - PCMU, 8 - PCMA, 9 - G.722, 2 - G.726-32, 18 - G729A/B, 98 - iLBC, 123 - Opus. Default value is 0 -->
<!-- Number: 0, 8, 9, 2, 18, 98, 123 -->
<P57>9</P57>
<!-- Second codec. 0 - PCMU, 8 - PCMA, 9 - G.722, 2 - G.726-32, 18 - G729A/B, 98 - iLBC, 123 - Opus. Default value is 8 -->
<!-- Number: 0, 8, 9, 2, 18, 98, 123 -->
<P58>0</P58>
<!-- Third codec. 0 - PCMU, 8 - PCMA, 9 - G.722, 2 - G.726-32, 18 - G729A/B, 98 - iLBC, 123 - Opus. Default value is 9 -->
<!-- Number: 0, 8, 9, 2, 18, 98, 123 -->
<P59>8</P59>
<!-- Forth codec. 0 - PCMU, 8 - PCMA, 9 - G.722, 2 - G.726-32, 18 - G729A/B, 98 - iLBC, 123 - Opus. Default value is 9 -->
<!-- Number: 0, 8, 9, 2, 18, 98, 123 -->
<P60>98</P60>
<!-- Fifth codec. 0 - PCMU, 8 - PCMA, 9 - G.722, 2 - G.726-32, 18 - G729A/B, 98 - iLBC, 123 - Opus. Default value is 9 -->
<!-- Number: 0, 8, 9, 2, 18, 98, 123 -->
<P61>2</P61>
<!-- Sixth codec. 0 - PCMU, 8 - PCMA, 9 - G.722, 2 - G.726-32, 18 - G729A/B, 98 - iLBC, 123 - Opus. Default value is 9 -->
<!-- Number: 0, 8, 9, 2, 18, 98, 123 -->
<P62>9</P62>
<!-- Seventh codec. 0 - PCMU, 8 - PCMA, 9 - G.722, 2 - G.726-32, 18 - G729A/B, 98 - iLBC, 123 - Opus. Default value is 9 -->
<!-- Number: 0, 8, 9, 2, 18, 98, 123 -->
<P46>9</P46>
<!-- SRTP Mode. Default value is 0. 0 - Disable, 1 - Enable but not forced, 2 - Enable and forced. -->
<!-- Number: 0, 1, 2 -->
<!-- <P183>0</P183> -->
<!-- Enable SRTP Key Lifetime. 0 - No, 1 - Yes. -->
<!-- Number: 0,1 -->
<!-- <P2363>0</P2363> -->
<!-- ###################################################################### -->
<!-- # Maintenance - Contacts ## -->
<!-- ###################################################################### -->
<!-- Sort Phonebook by. 0 - Last Name, 1 - First Name. Default Value is 0 -->
<!-- Number : 0, 1 -->
<P2914>1</P2914>
<!-- Phonebook Key Function. 0 - Default, 1 - LDAP Search, 2 - Local Phonebook, 3 - Local Group, 4 - Broadsoft Phonebook. Default value is 0. -->
<!-- Number : 0, 1, 2, 3, 4 -->
<P1526>2</P1526>
<!-- Emergency Call Numbers. Default Value is 911 -->
<!-- String -->
<!-- Example 911,921,931,941 -->
<P25675>911</P25675>
<!-- Clear The Old List. 0 - No, 1 - Yes. Default value is 0 -->
<!-- Number: 0, 1 -->
<P1435>1</P1435>
<!-- Replace Duplicate Items. 0 - No, 1 - Yes. Default value is 0 -->
<!-- Number: 0, 1 -->
<P1436>0</P1436>
<!-- Download Mode. 0 - OFF, 1 - TFTP, 2 - HTTP. Default value is 0 -->
<!-- Number: 0, 1, 2 -->
<P330>2</P330>
<!-- File Encoding. GBK - GBK, UTF-8 - UTF-8, UTF-16 - UTF-16, UTF-32 - UTF-32, Big5 - Big5, Big5-HKSCS - Big5-HKSCS, Shift-JIS - Shift-JIS -->
<!-- ISO 2022-JP - ISO 2022-JP, KOI8-R - KOI8-R, ISO8859-1 - ISO8859-1, ISO8859-15 - ISO8859-15, Windows-1251 - Windows-1251, EUC-KR - EUC-KR -->
<!-- Default Value is UTF-8 -->
<!-- String : GBK, UTF-8, UTF-16, UTF-32, Big5, Big5-HKSCS, Shift-JIS, ISO 2022-JP, KOI8-R, ISO8859-1, ISO8859-15, Windows-1251, EUC-KR -->
<P1681>UTF-8</P1681>
<!-- Download Server. It MUST be in the host/path format -->
<!-- For example: directory.grandstream.com/engineering -->
<!-- String -->
{if isset($contact_grandstream)}
<P331>{$gs_phonebook_xml_server_path}{$user_id_1}/</P331>
{elseif isset($gs_phonebook_xml_server_path)}
<P331>{$gs_phonebook_xml_server_path}</P331>
{else}
<P331></P331>
{/if}
<!-- HTTP/HTTPS User Name -->
<P6713></P6713>
<!-- HTTP/HTTPS Password -->
<P6714></P6714>
<!-- Download Interval. Default is 0 for disabled -->
<!-- Number: 0, 120, 240, 360, 480, 720 -->
<P332>0</P332>
<!-- ###################################################################### -->
<!-- # Maintenance - LDAP Phonebook ## -->
<!-- ###################################################################### -->
<!-- Connection Mode. 0 - LDAP, 1 - LDAPS. Default Value is 0 -->
<!-- Number : 0, 1 -->
<P8037>0</P8037>
<!-- Server Address, up to 256 characters can be used. It can be IP address or Domain name -->
<!-- String -->
<P8020>{$gs_ldap_server}</P8020>
<!-- Port. Default value is 389 -->
<!-- Number: 1 - 65535 -->
<P8021>389</P8021>
<!-- Base DN. The LDAP search base refers to the location in the directory where the search is requested to begin -->
<!-- Example 1: dc=grandstream,dc=com -->
<!-- Example 2: ou=Boston, dc=grandstream,dc=com -->
<!-- String -->
<P8022>{$gs_ldap_base_dn}</P8022>
<!-- User Name. The bind "Username" for querying LDAP servers. Some LDAP servers allow anonymous binds in which case the setting can be left blank -->
<!-- String -->
<P8023>{$ldap_username}</P8023>
<!-- Password. The bind "Password" for querying LDAP servers. And the field can be left blank if the LDAP server allows anonymous binds -->
<!-- String -->
<P8024>{$ldap_password}</P8024>
<!-- LDAP Name Attributes. This setting specifies the "name" attributes of each record which are returned in the LDAP search result -->
<!-- The setting allows the users to configure multiple space separated name attributes -->
<!-- String -->
<P8028>{$gs_ldap_name_attr}</P8028>
<!-- LDAP Number Attributes. This setting specifies the "number" attributes of each record which are returned in the LDAP search result -->
<!-- The setting allows the users to configure multiple space separated number attributes -->
<!-- String -->
<P8029>{$gs_ldap_number_attr}</P8029>
<!-- LDAP Mail Attributes. This setting specifies the "mail" attributes of each record which are returned in the LDAP search result -->
<!-- The setting allows the users to configure multiple space separated mail attributes -->
<!-- String -->
<P8038>{$gs_ldap_mail_attr}</P8038>
<!-- LDAP Name Filter -->
<!-- LDAP name filter is the filter used for name look ups. Please refer to usermanual for examples -->
<!-- P8025 and P8026 are reversed on gswave -->
<!-- String -->
<P8025>{$gs_ldap_name_filter}</P8025>
<!-- LDAP Number Filter -->
<!-- LDAP name filter is the filter used for number look ups. Please refer to usermanual for examples -->
<!-- P8025 and P8026 are reversed on gswave -->
<!-- String -->
<P8026>{$gs_ldap_number_filter}</P8026>
<!-- LDAP Mail Filter -->
<!-- LDAP mail filter is the filter used for mail look ups. Please refer to usermanual for examples -->
<!-- String -->
<P8039>{$gs_ldap_mail_filter}</P8039>
<!-- LDAP Displaying Name Attributes. The entry information to be shown on phone LCD. Grandstream phones will display up to 3 fields -->
<!-- String -->
<P8030>givenName sn title</P8030>
<!-- Max Hits. The setting specifies the maximum number of results to be returned by the LDAP server -->
<!-- If the value is set to 0, server will return all search results. Default is 50 -->
<!-- Number: 0 - 32000 -->
<P8032>50</P8032>
<!-- Search Timeout (in seconds). Default is 4 -->
<!-- The setting specifies how long the server should process the request and client waits for server to return -->
<!-- Number: 0 - 180 -->
<P8031>4</P8031>
<!-- LDAP Lookup For Dial. 0 - No, 1 - Yes. Default is 0 -->
<P8034>1</P8034>
<!-- LDAP Lookup For Incoming Calls. 0 - No, 1 - Yes. Default is 0 -->
<P8035>1</P8035>
<!-- LDAP Dialing Default Account. 0 - Default, 1 - Account 1, 2 - Account 2, 3 - Account 3, 4 - Account 4, 5 - Account 5, 6 - Account 6. Default is 0 -->
<!-- Number : 0-6 -->
<P22039>0</P22039>
</config>
</gs_provision>
@@ -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}
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{foreach $contacts as $contact}
{if $contact.contact_type == "group"}
<pbgroup>
<id>{$contact.id}</id>
<name>{$contact.group_description|truncate:10}</name>
</pbgroup>
{/if}
{/foreach}
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given|truncate:24}</FirstName>
<LastName>{$contact.contact_name_family|truncate:24}</LastName>
{if $contact.contact_title != "" }
<JobTitle>{$contact.contact_title|truncate:24}</JobTitle>
{/if}
<Phone type="Work">
<phonenumber>{$contact.contact_work|truncate:24}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home|truncate:24}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Cell">
<phonenumber>{$contact.contact_cell|truncate:24}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_role != "" }
<Department>{$contact.contact_role|truncate:24}</Department>
{/if}
{if $contact.contact_organization != "" }
<Company>{$contact.contact_organization|truncate:24}</Company>
{/if}
{foreach $contact.groups as $group}
<Group>{$group}</Group>
{/foreach}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -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
@@ -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}
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{foreach $contacts as $contact}
{if $contact.contact_type == "group"}
<pbgroup>
<id>{$contact.id}</id>
<name>{$contact.group_description|truncate:10}</name>
</pbgroup>
{/if}
{/foreach}
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given}</FirstName>
<LastName>{$contact.contact_name_family}</LastName>
{if $contact.contact_role != "" }
<JobTitle>{$contact.contact_role}</JobTitle>
{/if}
{if $contact.contact_category != "" }
<Department>{$contact.contact_category}</Department>
{/if}
<Phone type="Work">
<phonenumber>{$contact.contact_work}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Cell">
<phonenumber>{$contact.contact_cell}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_organization != "" }
<Company>{$contact.contact_organization}</Company>
{/if}
{foreach $contact.groups as $group}
<Group>{$group}</Group>
{/foreach}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -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
@@ -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}
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{foreach $contacts as $contact}
{if $contact.contact_type == "group"}
<pbgroup>
<id>{$contact.id}</id>
<name>{$contact.group_description|truncate:10}</name>
</pbgroup>
{/if}
{/foreach}
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given}</FirstName>
<LastName>{$contact.contact_name_family}</LastName>
{if $contact.contact_role != "" }
<JobTitle>{$contact.contact_role}</JobTitle>
{/if}
{if $contact.contact_category != "" }
<Department>{$contact.contact_category}</Department>
{/if}
<Phone type="Work">
<phonenumber>{$contact.contact_work}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Cell">
<phonenumber>{$contact.contact_cell}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_organization != "" }
<Company>{$contact.contact_organization}</Company>
{/if}
{foreach $contact.groups as $group}
<Group>{$group}</Group>
{/foreach}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -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
@@ -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}
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{foreach $contacts as $contact}
{if $contact.contact_type == "group"}
<pbgroup>
<id>{$contact.id}</id>
<name>{$contact.group_description|truncate:10}</name>
</pbgroup>
{/if}
{/foreach}
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given}</FirstName>
<LastName>{$contact.contact_name_family}</LastName>
{if $contact.contact_role != "" }
<JobTitle>{$contact.contact_role}</JobTitle>
{/if}
{if $contact.contact_category != "" }
<Department>{$contact.contact_category}</Department>
{/if}
<Phone type="Work">
<phonenumber>{$contact.contact_work}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Cell">
<phonenumber>{$contact.contact_cell}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_organization != "" }
<Company>{$contact.contact_organization}</Company>
{/if}
{foreach $contact.groups as $group}
<Group>{$group}</Group>
{/foreach}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -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
@@ -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}
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{foreach $contacts as $contact}
{if $contact.contact_type == "group"}
<pbgroup>
<id>{$contact.id}</id>
<name>{$contact.group_description|truncate:10}</name>
</pbgroup>
{/if}
{/foreach}
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given}</FirstName>
<LastName>{$contact.contact_name_family}</LastName>
{if $contact.contact_role != "" }
<JobTitle>{$contact.contact_role}</JobTitle>
{/if}
{if $contact.contact_category != "" }
<Department>{$contact.contact_category}</Department>
{/if}
<Phone type="Work">
<phonenumber>{$contact.contact_work}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Cell">
<phonenumber>{$contact.contact_cell}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_organization != "" }
<Company>{$contact.contact_organization}</Company>
{/if}
{foreach $contact.groups as $group}
<Group>{$group}</Group>
{/foreach}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -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
@@ -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}
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{foreach $contacts as $contact}
{if $contact.contact_type == "group"}
<pbgroup>
<id>{$contact.id}</id>
<name>{$contact.group_description|truncate:10}</name>
</pbgroup>
{/if}
{/foreach}
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given}</FirstName>
<LastName>{$contact.contact_name_family}</LastName>
{if $contact.contact_role != "" }
<JobTitle>{$contact.contact_role}</JobTitle>
{/if}
{if $contact.contact_category != "" }
<Department>{$contact.contact_category}</Department>
{/if}
<Phone type="Work">
<phonenumber>{$contact.contact_work}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Cell">
<phonenumber>{$contact.contact_cell}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_organization != "" }
<Company>{$contact.contact_organization}</Company>
{/if}
{foreach $contact.groups as $group}
<Group>{$group}</Group>
{/foreach}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<version>1</version>
{foreach $contacts as $contact}
{if $contact.contact_type == "group"}
<pbgroup>
<id>{$contact.id}</id>
<name>{$contact.group_description}</name>
<ringtones/>
</pbgroup>
{/if}
{/foreach}
{$i=0}
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<Contact>
<FirstName>{$contact.contact_name_given}</FirstName>
<LastName>{$contact.contact_name_family}</LastName>
<Primary>0</Primary>
<Frequent>0</Frequent>
{if $contact.contact_title != "" }
<JobTitle>{$contact.contact_title}</JobTitle>
{/if}
<Phone type="Work">
<phonenumber>{$contact.contact_work}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{if $contact.contact_home != "" }
<Phone type="Home">
<phonenumber>{$contact.contact_home}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if $contact.contact_cell != "" }
<Phone type="Cell">
<phonenumber>{$contact.contact_cell}</phonenumber>
<accountindex>1</accountindex>
</Phone>
{/if}
{if false}
{if $contact.contact_role != "" }
<Department>{$contact.contact_role}</Department>
{/if}
{if $contact.contact_organization != "" }
<Company>{$contact.contact_organization}</Company>
{/if}
{/if}
{foreach $contact.groups as $group}
<Group>{$group}</Group>
{/foreach}
</Contact>
{/if}
{/foreach}
</AddressBook>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,23 @@
<?xml version="1.0"?>
<directory>
<DIR_GROUP>
{foreach $contacts as $contact}
{if $contact.contact_name_given != "" && $contact.contact_type == "contact"}
<DIR_ENTRY>
<DIR_ENTRY_NAME_FIRST>{$contact.contact_name_given}</DIR_ENTRY_NAME_FIRST>
<DIR_ENTRY_NAME_LAST>{$contact.contact_name_family}</DIR_ENTRY_NAME_LAST>
<DIR_ENTRY_NUMBER_WORK>{$contact.contact_work}</DIR_ENTRY_NUMBER_WORK>
{if $contact.contact_cell != "" }
<DIR_ENTRY_NUMBER_MOBILE>{$contact.contact_cell}</DIR_ENTRY_NUMBER_MOBILE>
{/if}
{if $contact.contact_home != "" }
<DIR_ENTRY_NUMBER_OTHER>{$contact.contact_home}</DIR_ENTRY_NUMBER_OTHER>
{/if}
<DIR_ENTRY_LINE_NUMBER>0</DIR_ENTRY_LINE_NUMBER>
<DIR_ENTRY_BLOCK>0</DIR_ENTRY_BLOCK>
<DIR_ENTRY_RINGER>0</DIR_ENTRY_RINGER>
</DIR_ENTRY>
{/if}
{/foreach}
</DIR_GROUP>
</directory>
@@ -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