Update conference.conf.lua
Conference profile parameters are now working from the database.
This commit is contained in:
+35
-170
@@ -24,6 +24,13 @@
|
|||||||
-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
-- POSSIBILITY OF SUCH DAMAGE.
|
-- POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
--connect to the database
|
||||||
|
require "resources.functions.database_handle";
|
||||||
|
dbh = database_handle('system');
|
||||||
|
|
||||||
|
--exits the script if we didn't connect properly
|
||||||
|
assert(dbh:connected());
|
||||||
|
|
||||||
--set the xml array
|
--set the xml array
|
||||||
local xml = {}
|
local xml = {}
|
||||||
table.insert(xml, [[<?xml version="1.0" encoding="UTF-8" standalone="no"?>]]);
|
table.insert(xml, [[<?xml version="1.0" encoding="UTF-8" standalone="no"?>]]);
|
||||||
@@ -76,180 +83,35 @@
|
|||||||
table.insert(xml, [[ <control action="hangup" digits=""/>]]);
|
table.insert(xml, [[ <control action="hangup" digits=""/>]]);
|
||||||
table.insert(xml, [[ </group>]]);
|
table.insert(xml, [[ </group>]]);
|
||||||
table.insert(xml, [[ </caller-controls>]]);
|
table.insert(xml, [[ </caller-controls>]]);
|
||||||
table.insert(xml, [[ <profiles>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ <profile name="default">]]);
|
--start the conference profiles
|
||||||
table.insert(xml, [[ <param name="cdr-log-dir" value="auto"/>]]);
|
table.insert(xml, [[ <profiles>]]);
|
||||||
table.insert(xml, [[ <param name="conference-flags" value="livearray-sync" />]]);
|
sql = [[SELECT * FROM v_conference_profiles
|
||||||
table.insert(xml, [[ <param name="domain" value="$${domain}"/>]]);
|
WHERE profile_enabled = 'true' ]];
|
||||||
table.insert(xml, [[ <param name="rate" value="8000"/>]]);
|
if (debug["sql"]) then
|
||||||
table.insert(xml, [[ <param name="interval" value="20"/>]]);
|
freeswitch.consoleLog("notice", "[conference_profiles] SQL: " .. sql .. "\n");
|
||||||
table.insert(xml, [[ <param name="energy-level" value="15"/>]]);
|
end
|
||||||
table.insert(xml, [[ <param name="auto-gain-level" value="0"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moderator-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="muted-sound" value="conference/conf-muted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="alone-sound" value="conference/conf-alone.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moh-sound" value="local_stream://default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="kicked-sound" value="conference/conf-kicked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="locked-sound" value="conference/conf-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="pin-sound" value="conference/conf-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-name" value="$${outbound_caller_name}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-number" value="$${outbound_caller_id}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="comfort-noise" value="true"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-record" value="]] .. temp_dir:gsub("\\","/") .. [[/test.wav"/>]]);
|
|
||||||
table.insert(xml, [[ </profile>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ <profile name="wideband">]]);
|
status = dbh:query(sql, function(field)
|
||||||
table.insert(xml, [[ <param name="cdr-log-dir" value="auto"/>]]);
|
conference_profile_uuid = field["conference_profile_uuid"];
|
||||||
table.insert(xml, [[ <param name="conference-flags" value="livearray-sync" />]]);
|
table.insert(xml, [[ <profile name="]]..field["profile_name"]..[[">]]);
|
||||||
table.insert(xml, [[ <param name="domain" value="$${domain}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="rate" value="16000"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="interval" value="20"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="energy-level" value="15"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-gain-level" value="0"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moderator-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="muted-sound" value="conference/conf-muted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="alone-sound" value="conference/conf-alone.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moh-sound" value="local_stream://default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="kicked-sound" value="conference/conf-kicked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="locked-sound" value="conference/conf-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="pin-sound" value="conference/conf-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-name" value="$${outbound_caller_name}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-number" value="$${outbound_caller_id}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="comfort-noise" value="true"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-record" value="]] .. temp_dir:gsub("\\","/") .. [[/test.wav"/>]]);
|
|
||||||
table.insert(xml, [[ </profile>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ <profile name="ultrawideband">]]);
|
--get the conference profile parameters from the database
|
||||||
table.insert(xml, [[ <param name="cdr-log-dir" value="auto"/>]]);
|
sql = [[SELECT * FROM v_conference_profile_params
|
||||||
table.insert(xml, [[ <param name="conference-flags" value="livearray-sync" />]]);
|
WHERE conference_profile_uuid = ']] .. conference_profile_uuid ..[['
|
||||||
table.insert(xml, [[ <param name="domain" value="$${domain}"/>]]);
|
AND profile_param_enabled = 'true' ]];
|
||||||
table.insert(xml, [[ <param name="rate" value="32000"/>]]);
|
if (debug["sql"]) then
|
||||||
table.insert(xml, [[ <param name="interval" value="20"/>]]);
|
freeswitch.consoleLog("notice", "[conference_profiles] SQL: " .. sql .. "\n");
|
||||||
table.insert(xml, [[ <param name="energy-level" value="15"/>]]);
|
end
|
||||||
table.insert(xml, [[ <param name="auto-gain-level" value="0"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moderator-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="muted-sound" value="conference/conf-muted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="alone-sound" value="conference/conf-alone.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moh-sound" value="local_stream://default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="kicked-sound" value="conference/conf-kicked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="locked-sound" value="conference/conf-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="pin-sound" value="conference/conf-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-name" value="$${outbound_caller_name}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-number" value="$${outbound_caller_id}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="comfort-noise" value="true"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-record" value="]] .. temp_dir:gsub("\\","/") .. [[/test.wav"/>]]);
|
|
||||||
table.insert(xml, [[ </profile>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ <profile name="cdquality">]]);
|
status = dbh:query(sql, function(row)
|
||||||
table.insert(xml, [[ <param name="cdr-log-dir" value="auto"/>]]);
|
--conference_profile_uuid = row["conference_profile_uuid"];
|
||||||
table.insert(xml, [[ <param name="conference-flags" value="livearray-sync" />]]);
|
--conference_profile_param_uuid = row["conference_profile_param_uuid"];
|
||||||
table.insert(xml, [[ <param name="domain" value="$${domain}"/>]]);
|
--profile_param_description = row["profile_param_description"];
|
||||||
table.insert(xml, [[ <param name="rate" value="48000"/>]]);
|
table.insert(xml, [[ <param name="]]..row["profile_param_name"]..[[" value="]]..row["profile_param_value"]..[["/>]]);
|
||||||
table.insert(xml, [[ <param name="interval" value="20"/>]]);
|
end);
|
||||||
table.insert(xml, [[ <param name="energy-level" value="15"/>]]);
|
table.insert(xml, [[ </profile>]]);
|
||||||
table.insert(xml, [[ <param name="auto-gain-level" value="0"/>]]);
|
end);
|
||||||
table.insert(xml, [[ <param name="caller-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moderator-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="muted-sound" value="conference/conf-muted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="alone-sound" value="conference/conf-alone.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moh-sound" value="local_stream://default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="kicked-sound" value="conference/conf-kicked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="locked-sound" value="conference/conf-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="pin-sound" value="conference/conf-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-name" value="$${outbound_caller_name}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-number" value="$${outbound_caller_id}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="comfort-noise" value="true"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-record" value="]] .. temp_dir:gsub("\\","/") .. [[/test.wav"/>]]);
|
|
||||||
table.insert(xml, [[ </profile>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ <profile name="sla">]]);
|
|
||||||
--table.insert(xml, [[ <param name="domain" value="$${domain}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="rate" value="16000"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="interval" value="20"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="energy-level" value="300"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-gain-level" value="0"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-controls" value="none"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moderator-controls" value="none"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moh-sound" value="silence"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="comfort-noise" value="true"/>]]);
|
|
||||||
table.insert(xml, [[ </profile>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ <profile name="page">]]);
|
|
||||||
--table.insert(xml, [[ <param name="domain" value="$${domain}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="rate" value="8000"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="interval" value="20"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="energy-level" value="300"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-gain-level" value="0"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-controls" value="page"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moderator-controls" value="moderator"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="muted-sound" value="conference/conf-muted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moh-sound" value="local_stream://default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="kicked-sound" value="conference/conf-kicked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="locked-sound" value="conference/conf-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="pin-sound" value="conference/conf-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-name" value="$${outbound_caller_name}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-number" value="$${outbound_caller_id}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="comfort-noise" value="true"/>]]);
|
|
||||||
table.insert(xml, [[ </profile>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ <profile name="wait-mod">]]);
|
|
||||||
--table.insert(xml, [[ <param name="domain" value="$${domain}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="cdr-log-dir" value="auto"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="conference-flags" value="wait-mod,livearray-sync" />]]);
|
|
||||||
table.insert(xml, [[ <param name="rate" value="8000"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="interval" value="20"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="energy-level" value="15"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="auto-gain-level" value="0"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moderator-controls" value="default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="muted-sound" value="conference/conf-muted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="alone-sound" value="conference/conf-alone.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="moh-sound" value="local_stream://default"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="kicked-sound" value="conference/conf-kicked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="locked-sound" value="conference/conf-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="pin-sound" value="conference/conf-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-name" value="$${outbound_caller_name}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="caller-id-number" value="$${outbound_caller_id}"/>]]);
|
|
||||||
table.insert(xml, [[ <param name="comfort-noise" value="true"/>]]);
|
|
||||||
table.insert(xml, [[ </profile>]]);
|
|
||||||
|
|
||||||
table.insert(xml, [[ </profiles>]]);
|
table.insert(xml, [[ </profiles>]]);
|
||||||
|
|
||||||
@@ -258,6 +120,9 @@
|
|||||||
table.insert(xml, [[ </section>]]);
|
table.insert(xml, [[ </section>]]);
|
||||||
table.insert(xml, [[</document>]]);
|
table.insert(xml, [[</document>]]);
|
||||||
XML_STRING = table.concat(xml, "\n");
|
XML_STRING = table.concat(xml, "\n");
|
||||||
|
if (debug["xml_string"]) then
|
||||||
|
freeswitch.consoleLog("notice", "[xml_handler] XML_STRING: " .. XML_STRING .. "\n");
|
||||||
|
end
|
||||||
|
|
||||||
--send the xml to the console
|
--send the xml to the console
|
||||||
if (debug["xml_string"]) then
|
if (debug["xml_string"]) then
|
||||||
|
|||||||
Reference in New Issue
Block a user