diff --git a/app/conference_centers/app_languages.php b/app/conference_centers/app_languages.php
index 3d5be3fd24..443c0c9a92 100644
--- a/app/conference_centers/app_languages.php
+++ b/app/conference_centers/app_languages.php
@@ -162,6 +162,9 @@
$text['button-save']['en-us'] = 'Save';
$text['button-save']['pt-pt'] = 'Guardar';
+ $text['button-search']['en-us'] = 'Search';
+ $text['button-search']['pt-pt'] = '';
+
//Conference Sessions
$text['title-conference-sessions']['en-us'] = 'Conference Sessions';
$text['title-conference-sessions']['pt-pt'] = '';
diff --git a/app/conference_centers/conference_rooms.php b/app/conference_centers/conference_rooms.php
index 3c7d256dd9..aabb895315 100644
--- a/app/conference_centers/conference_rooms.php
+++ b/app/conference_centers/conference_rooms.php
@@ -44,8 +44,22 @@ else {
require_once "includes/header.php";
require_once "includes/paging.php";
+//get the meeting_uuid using the pin number
+ $search = check_str($_GET["search"]);
+ if (strlen($search) > 0) {
+ $sql = "select * from v_meeting_pins ";
+ $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
+ $sql .= "and member_pin = '".$search."' ";
+ $prep_statement = $db->prepare(check_sql($sql));
+ if ($prep_statement) {
+ $prep_statement->execute();
+ $row = $prep_statement->fetch(PDO::FETCH_ASSOC);
+ $meeting_uuid = $row['meeting_uuid'];
+ }
+ }
+
//if the $_GET array exists then process it
- if (count($_GET) > 0) {
+ if (count($_GET) > 0 && strlen($_GET["search"]) == 0) {
//get http GET variables and set them as php variables
$conference_room_uuid = check_str($_GET["conference_room_uuid"]);
$record = check_str($_GET["record"]);
@@ -56,7 +70,7 @@ else {
$enabled = check_str($_GET["enabled"]);
$meeting_uuid = check_str($_GET["meeting_uuid"]);
- //record announcment
+ //record announcement
if ($record == "true") {
//prepare the values
$default_language = 'en';
@@ -143,8 +157,13 @@ else {
echo "
\n";
echo " \n";
- echo " | ".$text['title-conference-rooms']." | \n";
- echo " | \n";
+ echo " \n";
echo "
\n";
echo "
\n";
@@ -155,6 +174,12 @@ else {
$conference_center->domain_uuid = $_SESSION['domain_uuid'];
$conference_center->voicemail_uuid = $voicemail_uuid;
$conference_center->voicemail_id = $voicemail_id;
+ if (strlen($meeting_uuid) > 0) {
+ $conference_center->meeting_uuid = $meeting_uuid;
+ }
+ if (strlen($search) > 0) {
+ $conference_center->search = $search;
+ }
$row_count = $conference_center->room_count() * 2;
//prepare to page the results
@@ -171,6 +196,12 @@ else {
$conference_center->offset = $offset;
$conference_center->order_by = $order_by;
$conference_center->order = $order;
+ if (strlen($meeting_uuid) > 0) {
+ $conference_center->meeting_uuid = $meeting_uuid;
+ }
+ if (strlen($search) > 0) {
+ $conference_center->search = $search;
+ }
$result = $conference_center->rooms();
$result_count = $conference_center->count;
diff --git a/app/conference_centers/resources/classes/conference_center.php b/app/conference_centers/resources/classes/conference_center.php
index f6fd421512..cef1b63be5 100644
--- a/app/conference_centers/resources/classes/conference_center.php
+++ b/app/conference_centers/resources/classes/conference_center.php
@@ -28,21 +28,31 @@
class conference_center {
public $db;
public $domain_uuid;
+ public $meeting_uuid;
public $order_by;
public $order;
public $rows_per_page;
public $offset;
private $fields;
+ public $search;
public $count;
public function room_count() {
//get the room count
- $sql = "select count(*) as num_rows from v_conference_rooms as r, v_meeting_users as u ";
+ $sql = "select count(*) as num_rows from v_conference_rooms as r, v_meeting_users as u, v_meeting_pins as p ";
$sql .= "where r.domain_uuid = '".$this->domain_uuid."' ";
$sql .= "and r.meeting_uuid = u.meeting_uuid ";
+ $sql .= "and r.meeting_uuid = p.meeting_uuid ";
+ $sql .= "and p.member_type = 'moderator' ";
if (!if_group("admin") && !if_group("superadmin")) {
$sql .= "and u.user_uuid = '".$_SESSION["user_uuid"]."' ";
}
+ //if (is_numeric($this->search)) {
+ // $sql .= "and p.member_pin = '".$this->search."' ";
+ //}
+ if (isset($this->search)) {
+ $sql .= "and r.meeting_uuid = '".$this->meeting_uuid."' ";
+ }
$prep_statement = $this->db->prepare(check_sql($sql));
if ($prep_statement) {
$prep_statement->execute();
@@ -68,6 +78,12 @@
if (!if_group("admin") && !if_group("superadmin")) {
$sql .= "and u.user_uuid = '".$_SESSION["user_uuid"]."' ";
}
+ //if (is_numeric($this->search)) {
+ // $sql .= "and p.member_pin = '".$this->search."' ";
+ //}
+ if (isset($this->search)) {
+ $sql .= "and r.meeting_uuid = '".$this->meeting_uuid."' ";
+ }
if (strlen($this->order_by) == 0) {
$sql .= "order by description, meeting_uuid asc ";
} else {
diff --git a/includes/install/scripts/app/conference_center/index.lua b/includes/install/scripts/app/conference_center/index.lua
index 875a67d445..5448a22f26 100644
--- a/includes/install/scripts/app/conference_center/index.lua
+++ b/includes/install/scripts/app/conference_center/index.lua
@@ -29,11 +29,6 @@
max_tries = 3;
digit_timeout = 5000;
---include the lua script
- scripts_dir = string.sub(debug.getinfo(1).source,2,string.len(debug.getinfo(1).source)-(string.len(argv[0])+1));
- include = assert(loadfile(scripts_dir .. "/resources/config.lua"));
- include();
-
--connect to the database
--ODBC - data source name
if (dsn_name) then
@@ -581,7 +576,9 @@
end
end
end
- --session:setHangupHook("session_hangup_hook");
+
+ --set the hangup hook function
+ session:setHangupHook("session_hangup_hook");
--send the call to the conference
profile = "default";
diff --git a/includes/install/scripts/app/conference_center/resources/templates/en/gb/email_body.tpl b/includes/install/scripts/app/conference_center/resources/templates/en/gb/email_body.tpl
deleted file mode 100644
index c4fc58960c..0000000000
--- a/includes/install/scripts/app/conference_center/resources/templates/en/gb/email_body.tpl
+++ /dev/null
@@ -1,7 +0,0 @@
-
-Message From "${caller_id_name}" ${caller_id_number}
-
-Created: ${message_date}
-Duration: ${message_duration}
-Account: ${account}@${domain_name}
-
\ No newline at end of file
diff --git a/includes/install/scripts/app/conference_center/resources/templates/en/gb/email_subject.tpl b/includes/install/scripts/app/conference_center/resources/templates/en/gb/email_subject.tpl
deleted file mode 100644
index cc19e1ef09..0000000000
--- a/includes/install/scripts/app/conference_center/resources/templates/en/gb/email_subject.tpl
+++ /dev/null
@@ -1 +0,0 @@
-Voicemail from ${caller_id_name} <${caller_id_number}> ${message_duration}
\ No newline at end of file
diff --git a/includes/install/scripts/app/conference_center/resources/templates/en/us/email_body.tpl b/includes/install/scripts/app/conference_center/resources/templates/en/us/email_body.tpl
index c4fc58960c..7d8dc43ec8 100644
--- a/includes/install/scripts/app/conference_center/resources/templates/en/us/email_body.tpl
+++ b/includes/install/scripts/app/conference_center/resources/templates/en/us/email_body.tpl
@@ -1,7 +1,7 @@
-Message From "${caller_id_name}" ${caller_id_number}
+The conference moderator pin is ${moderator_pin} and it ended on ${conference_date_end}.
+You can download your conference recording by clicking here.
-Created: ${message_date}
-Duration: ${message_duration}
-Account: ${account}@${domain_name}
+Moderator PIN: ${moderator_pin}
+Ended: ${conference_date_end}
\ No newline at end of file
diff --git a/includes/install/scripts/app/conference_center/resources/templates/en/us/email_subject.tpl b/includes/install/scripts/app/conference_center/resources/templates/en/us/email_subject.tpl
index cc19e1ef09..099d2672c4 100644
--- a/includes/install/scripts/app/conference_center/resources/templates/en/us/email_subject.tpl
+++ b/includes/install/scripts/app/conference_center/resources/templates/en/us/email_subject.tpl
@@ -1 +1 @@
-Voicemail from ${caller_id_name} <${caller_id_number}> ${message_duration}
\ No newline at end of file
+New recording available for conference ${moderator_pin} ${conference_date_end}.
\ No newline at end of file
diff --git a/includes/install/scripts/conference_center.lua b/includes/install/scripts/conference_center.lua
deleted file mode 100644
index e66b3f45c8..0000000000
--- a/includes/install/scripts/conference_center.lua
+++ /dev/null
@@ -1,412 +0,0 @@
--- conference.lua
--- Part of FusionPBX
--- Copyright (C) 2012 Mark J Crane
--- All rights reserved.
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are met:
---
--- 1. Redistributions of source code must retain the above copyright notice,
--- this list of conditions and the following disclaimer.
---
--- 2. Redistributions in binary form must reproduce the above copyright
--- notice, this list of conditions and the following disclaimer in the
--- documentation and/or other materials provided with the distribution.
---
--- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
--- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
--- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
--- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
--- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
--- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
--- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
--- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
---set variables
- flags = "";
- max_tries = 3;
- digit_timeout = 5000;
-
---include the lua script
- scripts_dir = string.sub(debug.getinfo(1).source,2,string.len(debug.getinfo(1).source)-(string.len(argv[0])+1));
- include = assert(loadfile(scripts_dir .. "/resources/config.lua"));
- include();
-
---connect to the database
- --ODBC - data source name
- if (dsn_name) then
- dbh = freeswitch.Dbh(dsn_name,dsn_username,dsn_password);
- end
- --FreeSWITCH core db handler
- if (db_type == "sqlite") then
- dbh = freeswitch.Dbh("core:"..db_path.."/"..db_name);
- end
-
---prepare the api object
- api = freeswitch.API();
-
---define the trim function
- function trim(s)
- return s:gsub("^%s+", ""):gsub("%s+$", "")
- end
-
---define the session hangup
- function session_hangup_hook()
-
- --get the session variables
- conference_session_detail_uuid = api:executeString("create_uuid");
- --conference_name = session:getVariable("conference_name");
- conference_session_uuid = session:getVariable("conference_uuid");
- conference_recording = session:getVariable("conference_recording");
- conference_moderator = session:getVariable("conference_moderator");
- --start_epoch = session:getVariable("start_epoch");
-
- --set the epoch
- end_epoch = os.time();
-
- --get the conference sessions
- sql = [[SELECT count(*) as num_rows
- FROM v_conference_sessions
- WHERE conference_session_uuid = ']] .. conference_session_uuid ..[[']];
- status = dbh:query(sql, function(row)
- num_rows = string.lower(row["num_rows"]);
- end);
- freeswitch.consoleLog("notice", "[conference] SQL: " .. sql .. " Rows:"..num_rows.."\n");
- if (num_rows == "0") then
- local sql = {}
- table.insert(sql, "INSERT INTO v_conference_sessions ");
- table.insert(sql, "(");
- table.insert(sql, "conference_session_uuid, ");
- table.insert(sql, "domain_uuid, ");
- table.insert(sql, "meeting_uuid, ");
- table.insert(sql, "profile, ");
- if (conference_recording) then
- table.insert(sql, "recording, ");
- end
- --if (wait_mod) then
- -- table.insert(sql, "wait_mod, ");
- --end
- table.insert(sql, "start_epoch, ");
- table.insert(sql, "end_epoch ");
- table.insert(sql, ") ");
- table.insert(sql, "VALUES ");
- table.insert(sql, "( ");
- table.insert(sql, "'".. conference_session_uuid .."', ");
- table.insert(sql, "'".. domain_uuid .."', ");
- table.insert(sql, "'".. meeting_uuid .."', ");
- table.insert(sql, "'".. profile .."', ");
- if (conference_recording) then
- table.insert(sql, "'".. conference_recording .."', ");
- end
- --if (wait_mod) then
- -- table.insert(sql, "'".. wait_mod .."', ");
- --end
- table.insert(sql, "'".. start_epoch .."', ");
- table.insert(sql, "'".. end_epoch .."' ");
- table.insert(sql, ") ");
- SQL_STRING = table.concat(sql, "\n");
- dbh:query(SQL_STRING);
- freeswitch.consoleLog("notice", "[conference] SQL: " .. SQL_STRING .. "\n");
- else
- freeswitch.consoleLog("notice", "[conference] number is greater than 0 \n");
- end
-
- local sql = {}
- table.insert(sql, "INSERT INTO v_conference_session_details ");
- table.insert(sql, "(");
- table.insert(sql, "conference_session_detail_uuid, ");
- table.insert(sql, "domain_uuid, ");
- table.insert(sql, "conference_session_uuid, ");
- table.insert(sql, "meeting_uuid, ");
- table.insert(sql, "username, ");
- table.insert(sql, "caller_id_name, ");
- table.insert(sql, "caller_id_number, ");
- table.insert(sql, "network_addr, ");
- table.insert(sql, "uuid, ");
- if (conference_moderator) then
- table.insert(sql, "moderator, ");
- end
- table.insert(sql, "start_epoch, ");
- table.insert(sql, "end_epoch ");
- table.insert(sql, ") ");
- table.insert(sql, "VALUES ");
- table.insert(sql, "( ");
- table.insert(sql, "'".. conference_session_detail_uuid .."', ");
- table.insert(sql, "'".. domain_uuid .."', ");
- table.insert(sql, "'".. conference_session_uuid .."', ");
- table.insert(sql, "'".. meeting_uuid .."', ");
- table.insert(sql, "'".. username .."', ");
- table.insert(sql, "'".. caller_id_name .."', ");
- table.insert(sql, "'".. caller_id_number .."', ");
- table.insert(sql, "'".. network_addr .."', ");
- table.insert(sql, "'".. uuid .."', ");
- if (conference_moderator) then
- table.insert(sql, "'".. conference_moderator .."', ");
- end
- table.insert(sql, "'".. start_epoch .."', ");
- table.insert(sql, "'".. end_epoch .."' ");
- table.insert(sql, ") ");
- SQL_STRING = table.concat(sql, "\n");
- dbh:query(SQL_STRING);
- end
-
---make sure the session is ready
- if (session:ready()) then
- session:answer();
- session:setHangupHook("session_hangup_hook");
- sounds_dir = session:getVariable("sounds_dir");
- hold_music = session:getVariable("hold_music");
- domain_name = session:getVariable("domain_name");
- pin_number = session:getVariable("pin_number");
-
- --get the domain_uuid
- if (domain_name ~= nil) then
- sql = "SELECT domain_uuid FROM v_domains ";
- sql = sql .. "WHERE domain_name = '" .. domain_name .."' ";
- if (debug["sql"]) then
- freeswitch.consoleLog("notice", "[conference] SQL: " .. sql .. "\n");
- end
- status = dbh:query(sql, function(rows)
- domain_uuid = string.lower(rows["domain_uuid"]);
- end);
- end
-
- --add the domain to the recording directory
- if (domain_count > 1) then
- recordings_dir = recordings_dir.."/"..domain_name;
- end
-
- --set the sounds path for the language, dialect and voice
- default_language = session:getVariable("default_language");
- default_dialect = session:getVariable("default_dialect");
- default_voice = session:getVariable("default_voice");
- if (not default_language) then default_language = 'en'; end
- if (not default_dialect) then default_dialect = 'us'; end
- if (not default_voice) then default_voice = 'callie'; end
-
- --sounds
- enter_sound = "tone_stream://%(200,0,500,600,700)";
- exit_sound = "tone_stream://%(500,0,300,200,100,50,25)";
-
- --get the variables
- username = session:getVariable("username");
- caller_id_name = session:getVariable("caller_id_name");
- caller_id_number = session:getVariable("caller_id_number");
- callee_id_name = session:getVariable("callee_id_name");
- callee_id_number = session:getVariable("callee_id_number");
- dialplan = session:getVariable("dialplan");
- network_addr = session:getVariable("network_addr");
- uuid = session:getVariable("uuid");
- --context = session:getVariable("context");
- chan_name = session:getVariable("chan_name");
-
- --if the pin number is provided then require it
- if (not pin_number) then
- min_digits = 3;
- max_digits = 12;
- pin_number = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, "#", "phrase:voicemail_enter_pass:#", "", "\\d+");
- end
-
- --get the conference sessions
- sql = [[SELECT * FROM v_conference_rooms as s, v_meeting_pins as p
- WHERE s.domain_uuid = ']] .. domain_uuid ..[['
- AND s.meeting_uuid = p.meeting_uuid
- AND p.domain_uuid = ']] .. domain_uuid ..[['
- AND p.member_pin = ']] .. pin_number ..[['
- AND enabled = 'true' ]];
- if (debug["sql"]) then
- freeswitch.consoleLog("notice", "[conference] SQL: " .. sql .. "\n");
- end
- status = dbh:query(sql, function(row)
- conference_room_uuid = string.lower(row["conference_room_uuid"]);
- conference_center_uuid = string.lower(row["conference_center_uuid"]);
- meeting_uuid = string.lower(row["meeting_uuid"]);
- record = string.lower(row["record"]);
- profile = string.lower(row["profile"]);
- max_members = row["max_members"];
- wait_mod = row["wait_mod"];
- member_type = row["member_type"];
- announce = row["announce"];
- mute = row["mute"];
- sounds = row["sounds"];
- created = row["created"];
- created_by = row["created_by"];
- enabled = row["enabled"];
- description = row["description"];
- end);
-
- --set the meeting uuid
- session:setVariable("meeting_uuid", meeting_uuid);
-
- if (conference_center_uuid == nil) then
- --invalid pin number
- session:streamFile("phrase:voicemail_fail_auth:#");
- session:hangup("NORMAL_CLEARING");
- else
- --check if the conference exists
- cmd = "conference "..meeting_uuid.."-"..domain_name.." xml_list";
- result = trim(api:executeString(cmd));
- if (string.sub(result, -9) == "not found") then
- conference_exists = false;
- else
- conference_exists = true;
- end
-
- --set a conference parameter
- if (max_members ~= nil) then
- if (tonumber(max_members) > 0) then
- --max members must be 2 or more
- session:execute("set","conference_max_members="..max_members);
- if (conference_exists) then
- cmd = "conference "..meeting_uuid.."-"..domain_name.." get count";
- count = trim(api:executeString(cmd));
- if (count ~= nil) then
- if (tonumber(count) >= tonumber(max_members)) then
- session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-locked.wav");
- session:hangup("CALL_REJECTED");
- end
- end
- end
- end
- end
-
- --announce the caller
- if (announce == "true") then
- --prompt for the name of the caller
- session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-say_name.wav");
- session:execute("playback", "tone_stream://v=-7;%%(500,0,500.0)");
- --record the response
- max_len_seconds = 5;
- silence_threshold = "500";
- silence_secs = "2";
- session:recordFile("/tmp/conference-"..uuid..".wav", max_len_seconds, silence_threshold, silence_secs);
- end
-
- --play a message that the conference is being a recorded
- if (record == "true") then
- session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-recording_started.wav");
- end
-
- --wait for moderator
- if (wait_mod == "true") then
- if (conference_exists) then
- --continue
- else
- if (member_type == "participant") then
- --set music on hold variable
- cmd = "uuid_setvar "..uuid.." hold_music "..hold_music;
- result = api:executeString(cmd);
- --put the call on hold
- --cmd = "uuid_hold "..uuid;
- --result = api:executeString(cmd);
-
- --loop until the conference exists
- x = 0;
- y = 0;
- while true do
- --sleep a moment to prevent using unecessary resources
- session:sleep(3000);
-
- --play a tone
- if (x > 2) then
- session:execute("playback", "tone_stream://L=2;%(25,200,440,40);");
- --session:execute("playback", "ivr/ivr-stay_on_line_call_answered_momentarily.wav");
- x = 1;
- end
-
- --check if the conference exists
- cmd = "conference "..meeting_uuid.."-"..domain_name.." xml_list";
- result = trim(api:executeString(cmd));
- if (string.sub(result, -9) == "not found") then
- --continue the loop
- else
- --set hold to off
- --cmd = "uuid_hold off "..uuid;
- --result = api:executeString(cmd);
- --exit the loop;
- break;
- end
-
- --end the conference when the limit is reached
- park_timeout_seconds = 1200;
- if (y > tonumber(park_timeout_seconds)) then
- break;
- end
- --increment the value of x and y
- x = x + 1;
- y = y + 1;
- end
- end
- end
- end
-
- --set the exit sound
- if (sounds == "true") then
- session:execute("set","conference_exit_sound="..exit_sound);
- end
-
- --set flags and moderator controls
- if (mute == "true") then
- if (member_type == "participant") then
- flags = flags .. "mute";
- end
- end
- if (member_type == "moderator") then
- --set as the moderator
- flags = flags .. "|moderator";
- --when the moderator leaves end the conference
- --flags = flags .. "|endconf";
- --set the moderator controls
- session:execute("set","conference_controls=moderator");
- end
-
- --set the start epoch
- start_epoch = os.time();
-
- --get the session uuid
- if (record == "true") then
- --get the conference xml_list
- cmd = "conference "..meeting_uuid.."-"..domain_name.." xml_list";
- result = trim(api:executeString(cmd));
- if (conference_exists) then
- --get the content to the tag
- result = string.match(result,[[]],1);
- --get the uuid out of the xml tag contents
- conference_session_uuid = string.match(result,[[uuid="(.-)"]],1);
- --log entry
- freeswitch.consoleLog("INFO","conference_session_uuid: " .. conference_session_uuid .. "\n");
- --record the conference
- cmd = "conference "..meeting_uuid.."-"..domain_name.." record "..recordings_dir.."/archive/"..os.date("%Y").."/"..os.date("%b").."/"..os.date("%d") .."/"..conference_session_uuid..".wav";
- response = api:executeString(cmd);
- --play a message that the conference is being a recorded
- cmd = "conference "..meeting_uuid.."-"..domain_name.." play "..sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-recording_started.wav";
- freeswitch.consoleLog("notice", "[conference] ".. cmd .."\n");
- response = api:executeString(cmd);
- end
- end
-
- --announce the caller
- if (announce == "true") then
- --announce the caller - play the recording
- cmd = "conference "..meeting_uuid.."-"..domain_name.." play /tmp/conference-"..uuid..".wav";
- freeswitch.consoleLog("notice", "[conference] ".. cmd .."\n");
- response = api:executeString(cmd);
- --play has entered the conference
- cmd = "conference "..meeting_uuid.."-"..domain_name.." play "..sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-has_joined.wav";
- freeswitch.consoleLog("notice", "[conference] ".. cmd .."\n");
- response = api:executeString(cmd);
- else
- if (sounds == "true") then
- cmd = "conference "..meeting_uuid.."-"..domain_name.." play "..enter_sound;
- response = api:executeString(cmd);
- end
- end
-
- --send the call to the conference
- cmd = meeting_uuid.."-"..domain_name.."@"..profile.."+flags{".. flags .."}";
- session:execute("conference", cmd);
- end
-
- end