From 3e38d01b353823358c8163f30f9124f837b1658b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20de=20Jesus?= Date: Mon, 4 Apr 2016 11:23:55 -0300 Subject: Add Cyberdata Device parameters Signed-off-by: Ted Trask --- config/templates/cyberdata-template.lua | 33 ++++++++++++++++++++ provisioning-scripts.lua | 55 ++++++++++++++++++++++++++++++--- upgradeprovisioning | 33 ++++++++++++++++++++ 3 files changed, 117 insertions(+), 4 deletions(-) diff --git a/config/templates/cyberdata-template.lua b/config/templates/cyberdata-template.lua index 11206ba..3d3f0b8 100644 --- a/config/templates/cyberdata-template.lua +++ b/config/templates/cyberdata-template.lua @@ -28,6 +28,17 @@ local function setValue(xmlobj, name, value) end end +local function yesno(xmlobj, name, value) + if value ~= nil then + if (value == false) then + value = "No" + elseif (value == true) then + value = "Yes" + end + setValue(xmlobj, ''..name..'', ''..value..'') + end +end + -- Load the initial config local init_cfg local res, err = pcall(function() @@ -51,8 +62,30 @@ if values.reg1 then setValue(sipsettings, "SIPAuthPassword", values.reg1.password) setValue(sipsettings, "DialoutExtension0", values.reg1.hotlinedestination) setValue(sipsettings, "DialoutID0", values.reg1.callerid) + +end + +-- + +if values.device then + local DeviceSettings = findOrAppendSection(init_cfg, "DeviceSettings") + setValue(DeviceSettings, "SpeakerVolume", values.device.cyberspeakervolume) + setValue(DeviceSettings, "AdminPassword", values.device.adminpassword) + setValue(DeviceSettings, "RingVolume", values.device.cyberringvolume) + setValue(DeviceSettings, "MicGain", values.device.cybermicgain) + yesno (DeviceSettings, "ActivateRelayWithDTMF", values.device.activaterelaywithdtmf) + setValue(DeviceSettings, "DTMFActivationCode", values.device.dtmfactivationcode) + setValue(DeviceSettings, "DTMFActivationDuration", values.device.dtmfactivationduration) + yesno (DeviceSettings, "ActivateRelayDuringRing", values.device.activaterelayduringring) + yesno (DeviceSettings, "ActivateRelayDuringCall", values.device.activaterelayduringcall) end +-- + +if values.device then + local ButtonSettings = findOrAppendSection(init_cfg, "ButtonSettings") + yesno (ButtonSettings, "PlayToneWhileRelayActive", values.device.playtonewhilerelayactive) +end -- diff --git a/provisioning-scripts.lua b/provisioning-scripts.lua index d3c2fb5..a95e83d 100644 --- a/provisioning-scripts.lua +++ b/provisioning-scripts.lua @@ -484,6 +484,16 @@ mymodule.param_groups_to_params = { "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='registrar'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='sntpserver'), null, false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='timezone'), null, false)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='adminpassword'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelaywithdtmf'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='dtmfactivationcode'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='dtmfactivationduration'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='playtonewhilerelayactive'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelayduringring'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelayduringcall'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Grandstream Device'), (SELECT param_id FROM provisioning_params WHERE name='template'), '/etc/provisioning/templates/grandstream-template.lua', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Grandstream Device'), (SELECT param_id FROM provisioning_params WHERE name='mac'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Grandstream Device'), (SELECT param_id FROM provisioning_params WHERE name='registrar'), null, false)", @@ -1105,8 +1115,16 @@ mymodule.provisioning_params = { "INSERT INTO provisioning_params VALUES(default, 'displaylang', 'select', 'Display screen language', 'Check if your phone supports the selected language', '', '15', '', null)", "INSERT INTO provisioning_params VALUES(default, 'algoringvol', 'select', 'Ring Volume (Algo)', '', '5', '16', '', null)", "INSERT INTO provisioning_params VALUES(default, 'algopagevol', 'select', 'Page Volume (Algo)', '', '5', '17', '', null)", - "INSERT INTO provisioning_params values(default, 'algospkmode', 'select', 'Speaker Mode (Algo)', '', '0', '18', '', null)"; - + "INSERT INTO provisioning_params values(default, 'algospkmode', 'select', 'Speaker Mode (Algo)', '', '0', '18', '', null)", + "INSERT INTO provisioning_params values(default, 'cyberspeakervolume', 'select', 'Speaker Volume (CyberData)', '', '4', '19', '', null)", + "INSERT INTO provisioning_params values(default, 'cyberringvolume', 'select', 'Ring Volume (CyberData)', '', '4', '20', '', null)", + "INSERT INTO provisioning_params values(default, 'cybermicgain', 'select', 'Microphone Gain (CyberData)', '', '4', '21', '', null)", + "INSERT INTO provisioning_params values(default, 'activaterelaywithdtmf', 'boolean', 'Activate Relay with DTMF Enable', '', 'true', '22', '', null)", + "INSERT INTO provisioning_params values(default, 'dtmfactivationcode', 'text', 'Relay DTMF Activation Code', '', '321', '23', '^[*#0-9]*$', E'local value, functions, params = ...\nif value ~= \'\' then\nlocal len = string.len(value)\n if len >= 26 then\n return value, \'Maximum 25 digits\'\n end\nend\nreturn value')", + "INSERT INTO provisioning_params values(default, 'dtmfactivationduration', 'text', 'Relay DTMF Activation Duration', 'Value in seconds', '2', '24', '^%d*$', E'local value, functions, params = ...\nif value ~= \'\' then\nlocal len = string.len(value)\n if len >= 6 then\n return value, \'Maximum 5 digits\'\n end\nend\nreturn value')", + "INSERT INTO provisioning_params values(default, 'playtonewhilerelayactive', 'boolean', 'Relay Activation Tone Enable', '', 'true', '25', '', null)", + "INSERT INTO provisioning_params values(default, 'activaterelayduringring', 'boolean', 'Activate Relay During Ring Enable', '', 'false', '26', '', null)", + "INSERT INTO provisioning_params values(default, 'activaterelayduringcall', 'boolean', 'Activate Relay While Call Active Enable', '', 'false', '27', '', null)", "INSERT INTO provisioning_params VALUES(default, 'extension', 'text', 'Extension', '', '', '101', '^%d*$', null)", "INSERT INTO provisioning_params VALUES(default, 'password', 'text', 'Password', '', '', '102', '', null)", "INSERT INTO provisioning_params VALUES(default, 'forwardnoanswerenable', 'boolean', 'Forward on No-answer Enable', '', 'false', '103', '', null)", @@ -1139,7 +1157,7 @@ mymodule.provisioning_params = { "INSERT INTO provisioning_params VALUES(default, 'softkey8', 'boolean', 'Soft Key 8 Enable', '', 'false', '308', '', null)", "INSERT INTO provisioning_params VALUES(default, 'softkey9', 'boolean', 'Soft Key 9 Enable', '', 'false', '309', '', null)", "INSERT INTO provisioning_params VALUES(default, 'softkey10', 'boolean', 'Soft Key 10 Enable', '', 'false', '310', '', null)", - "INSERT INTO provisioning_params VALUES(default, 'databaseversion', 'text', 'Provisioning Database Version', 'Do not edit or delete!', '8', '999', '', null)" + "INSERT INTO provisioning_params VALUES(default, 'databaseversion', 'text', 'Provisioning Database Version', 'Do not edit or delete!', '9', '999', '', null)", } -- All of the (non-default) parameter values for all devices are stored here @@ -1283,7 +1301,36 @@ mymodule.provisioning_options = { "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='algospkmode'), 'External', '1', '1')", "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='algospkmode'), 'Internal', '2', '2')", "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='algospkmode'), 'Disabled', '3', '3')", - + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '0', '0', '0')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '1', '1', '1')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '2', '2', '2')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '3', '3', '3')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '4', '4', '4')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '5', '5', '5')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '6', '6', '6')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '7', '7', '7')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '8', '8', '8')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '9', '9', '9')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '0', '0', '0')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '1', '1', '1')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '2', '2', '2')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '3', '3', '3')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '4', '4', '4')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '5', '5', '5')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '6', '6', '6')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '7', '7', '7')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '8', '8', '8')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '9', '9', '9')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '0', '0', '0')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '1', '1', '1')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '2', '2', '2')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '3', '3', '3')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '4', '4', '4')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '5', '5', '5')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '6', '6', '6')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '7', '7', '7')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '8', '8', '8')", + "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '9', '9', '9')", } -- List of getfile requests diff --git a/upgradeprovisioning b/upgradeprovisioning index ecca00e..92ea343 100755 --- a/upgradeprovisioning +++ b/upgradeprovisioning @@ -568,4 +568,37 @@ if [ "$version" -lt "8" ]; then psql -U postgres -c "UPDATE provisioning_params SET value='8' WHERE name='databaseversion'" provisioning fi +if [ "$version" -lt "9" ]; then + echo "Upgrading to database version 9" + + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'cyberspeakervolume', 'select', 'Speaker Volume (CyberData)', '', '4', '19', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'cyberringvolume', 'select', 'Ring Volume (CyberData)', '', '4', '20', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'cybermicgain', 'select', 'Microphone Gain (CyberData)', '', '4', '21', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'activaterelaywithdtmf', 'boolean', 'Activate Relay with DTMF Enable', '', 'true', '22', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'dtmfactivationcode', 'text', 'Relay DTMF Activation Code', '', '321', '23', '^[*#0-9]*$', E'local value, functions, params = ...\nif value ~= \'\' then\nlocal len = string.len(value)\n if len >= 26 then\n return value, \'Maximum 25 digits\'\n end\nend\nreturn value')" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'dtmfactivationduration', 'text', 'Relay DTMF Activation Duration', 'Value in seconds', '2', '24', '^%d*$', E'local value, functions, params = ...\nif value ~= \'\' then\nlocal len = string.len(value)\n if len >= 6 then\n return value, \'Maximum 5 digits\'\n end\nend\nreturn value')" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'playtonewhilerelayactive', 'boolean', 'Relay Activation Tone Enable', '', 'true', '25', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'activaterelayduringring', 'boolean', 'Activate Relay During Ring Enable', '', 'false', '26', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'activaterelayduringcall', 'boolean', 'Activate Relay While Call Active Enable', '', 'false', '27', '', null)" provisioning + + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='adminpassword'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelaywithdtmf'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='dtmfactivationcode'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='dtmfactivationduration'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='playtonewhilerelayactive'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelayduringring'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelayduringcall'), null, true)" provisioning + + for a in $(seq 0 9); do + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberspeakervolume'), '$a', '$a', '$a')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cyberringvolume'), '$a', '$a', '$a')" provisioning + psql -U postgres -c "INSERT INTO provisioning_options VALUES((SELECT param_id FROM provisioning_params WHERE name='cybermicgain'), '$a', '$a', '$a')" provisioning + done + + # database + psql -U postgres -c "UPDATE provisioning_params SET value='9' WHERE name='databaseversion'" provisioning +fi exit 0 -- cgit v1.2.3