From 2e8e2b4454547e97625912e201fe1877ad800654 Mon Sep 17 00:00:00 2001 From: Joao Arruda Date: Wed, 20 May 2015 15:59:16 +0000 Subject: Add provisioning polling time option for Polycom Signed-off-by: Ted Trask --- config/templates/polycom-template.lua | 7 +++++++ provisioning-scripts.lua | 29 +++++++++++++++++++++++++++++ upgradeprovisioning | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/config/templates/polycom-template.lua b/config/templates/polycom-template.lua index 9b02cb2..7c3b46c 100644 --- a/config/templates/polycom-template.lua +++ b/config/templates/polycom-template.lua @@ -187,6 +187,13 @@ if values.services then if not values.services.speeddialenable then xml_attr({ 'dir.local.contacts.maxNum' }, 0) end + -- Set Provisioning Polling to enable as random starting at the time configured in the provpollingtime param and stoping 59 minutes later + if values.services.provpollingtime then + xml_attr({ 'prov.polling.enabled' }, 1) + xml_attr({ 'prov.polling.mode' }, "random") + xml_attr({ 'prov.polling.time' }, values.services.provpollingtime) + xml_attr({ 'prov.polling.timeRandomEnd' }, string.gsub(values.services.provpollingtime, "(%d%d):(%d%d)", "%1:59")) + end end diff --git a/provisioning-scripts.lua b/provisioning-scripts.lua index e15283f..04040b7 100644 --- a/provisioning-scripts.lua +++ b/provisioning-scripts.lua @@ -849,6 +849,7 @@ mymodule.param_groups_to_params = { "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Office Phone'), (SELECT param_id FROM provisioning_params WHERE name='speeddialenable'), 'true', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Office Phone'), (SELECT param_id FROM provisioning_params WHERE name='mailbox'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Office Phone'), (SELECT param_id FROM provisioning_params WHERE name='mailcallback'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Office Phone'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='forwarding'), 'true', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='hotlineenable'), 'false', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='callhistoryenable'), 'true', false)", @@ -856,17 +857,20 @@ mymodule.param_groups_to_params = { "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='speeddialenable'), 'true', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='mailbox'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='mailcallback'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '10:00', true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Public Phone'), (SELECT param_id FROM provisioning_params WHERE name='forwarding'), 'false', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Public Phone'), (SELECT param_id FROM provisioning_params WHERE name='hotlineenable'), 'false', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Public Phone'), (SELECT param_id FROM provisioning_params WHERE name='callhistoryenable'), 'false', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Public Phone'), (SELECT param_id FROM provisioning_params WHERE name='callwaitingenable'), 'true', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Public Phone'), (SELECT param_id FROM provisioning_params WHERE name='speeddialenable'), 'false', false)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Public Phone'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='forwarding'), 'false', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='hotlineenable'), 'true', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='hotlinedestination'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='callhistoryenable'), 'false', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='callwaitingenable'), 'true', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='speeddialenable'), 'false', false)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', true)", } -- List of each parameter used in any way for any device - mostly for how to display @@ -885,6 +889,7 @@ mymodule.provisioning_params = { "INSERT INTO provisioning_params VALUES(default, 'adminpassword', 'text', 'Administration Password', '', '', '10', '', null)", "INSERT INTO provisioning_params VALUES(default, 'pcportenable', 'boolean', 'PC Ethernet Port Enable', '', 'true', '11', '', null)", "INSERT INTO provisioning_params VALUES(default, 'urldialingenable', 'boolean', 'URL Dialing Enable', '', 'false', '12', '', null)", + "INSERT INTO provisioning_params VALUES(default, 'provpollingtime', 'select', 'Provisioning polling start time', 'The provisioning server is automatically polled for upgrades at random between the start time and one hour later', '02:00', '13', '', null)", "INSERT INTO provisioning_params VALUES(default, 'extension', 'text', 'Extension', '', '', '101', '^%d*$', null)", "INSERT INTO provisioning_params VALUES(default, 'password', 'text', 'Password', '', '', '102', '', null)", @@ -954,6 +959,30 @@ mymodule.provisioning_options = { "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='polycomringtone'), 'Ringback-style', '12', '12')", "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='polycomringtone'), 'Low Trill Precedence', '13', '13')", "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='polycomringtone'), 'Ring Splash', '14', '14')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '01:00', '01:00', '1')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', '02:00', '2')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '03:00', '03:00', '3')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '04:00', '04:00', '4')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '05:00', '05:00', '5')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '06:00', '06:00', '6')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '07:00', '07:00', '7')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '08:00', '08:00', '8')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '09:00', '09:00', '9')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '10:00', '10:00', '10')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '11:00', '11:00', '11')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '12:00', '12:00', '12')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '13:00', '13:00', '13')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '14:00', '14:00', '14')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '15:00', '15:00', '15')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '16:00', '16:00', '16')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '17:00', '17:00', '17')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '18:00', '18:00', '18')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '19:00', '19:00', '19')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '20:00', '20:00', '20')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '21:00', '21:00', '21')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '22:00', '22:00', '22')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '23:00', '23:00', '23')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '00:00', '00:00', '24')", } -- List of getfile requests diff --git a/upgradeprovisioning b/upgradeprovisioning index 2336d3e..8b47e62 100755 --- a/upgradeprovisioning +++ b/upgradeprovisioning @@ -311,7 +311,40 @@ if [ "$version" -lt "3" ]; then # classes_to_param_groups psql -U postgres -c "INSERT INTO classes_to_param_groups VALUES((SELECT class_id FROM provisioning_classes WHERE label='Residential Phone'), (SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'))" provisioning + # provisioning_params + psql -U postgres -c "INSERT INTO provisioning_params VALUES(default, 'provpollingtime', 'select', 'Provisioning polling start time', 'The provisioning server is automatically polled for upgrades at random between the start time and one hour later', '02:00', '13', '', null)" provisioning + + # provisioning_options + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '01:00', '01:00', '1')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', '02:00', '2')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '03:00', '03:00', '3')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '04:00', '04:00', '4')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '05:00', '05:00', '5')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '06:00', '06:00', '6')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '07:00', '07:00', '7')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '08:00', '08:00', '8')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '09:00', '09:00', '9')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '10:00', '10:00', '10')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '11:00', '11:00', '11')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '12:00', '12:00', '12')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '13:00', '13:00', '13')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '14:00', '14:00', '14')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '15:00', '15:00', '15')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '16:00', '16:00', '16')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '17:00', '17:00', '17')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '18:00', '18:00', '18')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '19:00', '19:00', '19')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '20:00', '20:00', '20')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '21:00', '21:00', '21')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '22:00', '22:00', '22')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '23:00', '23:00', '23')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '00:00', '00:00', '24')" provisioning + + # param_groups_to_params + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Office Phone'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Public Phone'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Hotline'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '02:00', true)" provisioning psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='forwarding'), 'true', false)" provisioning psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='hotlineenable'), 'false', false)" provisioning psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='callhistoryenable'), 'true', false)" provisioning @@ -319,6 +352,7 @@ if [ "$version" -lt "3" ]; then psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='speeddialenable'), 'true', false)" provisioning psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='mailbox'), null, true)" provisioning psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='mailcallback'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Residential Phone'), (SELECT param_id FROM provisioning_params WHERE name='provpollingtime'), '10:00', true)" provisioning # database psql -U postgres -c "UPDATE provisioning_params SET value='3' WHERE name='databaseversion'" provisioning -- cgit v1.2.3