Conference center announcement control (#5224)

* Update conference_room_edit.php
This commit is contained in:
agree
2020-03-31 17:51:00 -04:00
committed by GitHub
parent 58061a188b
commit 31d199a637
4 changed files with 186 additions and 56 deletions

View File

@@ -123,7 +123,17 @@
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$y++;
$apps[$x]['permissions'][$y]['name'] = "conference_room_announce";
$apps[$x]['permissions'][$y]['name'] = "conference_room_announce_name";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$y++;
$apps[$x]['permissions'][$y]['name'] = "conference_room_announce_count";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$y++;
$apps[$x]['permissions'][$y]['name'] = "conference_room_announce_recording";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user";
@@ -300,10 +310,18 @@
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Wait for the moderator to join before starting the conference.";
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = "announce";
$apps[$x]['db'][$y]['fields'][$z]['name'] = "announce_name";
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Introduce participants as they enter the conference.";
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = "announce_count";
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Announce number of participants when entering the conference.";
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = "announce_recording";
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Announce to participants that conference is being recorded.";
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = "sounds";
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Play sound when someone enters or exists the conference.";

View File

@@ -1304,26 +1304,68 @@ $text['label-caller-id-name']['ru-ru'] = "Caller ID имя звонящего";
$text['label-caller-id-name']['sv-se'] = "Namnpresentation";
$text['label-caller-id-name']['uk-ua'] = "Caller ID Ім’я";
$text['label-announce']['en-us'] = "Announce";
$text['label-announce']['en-gb'] = "Announce";
$text['label-announce']['ar-eg'] = "";
$text['label-announce']['de-at'] = "Ankündigen"; //copied from de-de
$text['label-announce']['de-ch'] = "Ankündigen"; //copied from de-de
$text['label-announce']['de-de'] = "Ankündigen";
$text['label-announce']['es-cl'] = "Anunciar";
$text['label-announce']['es-mx'] = "Anunciar"; //copied from es-cl
$text['label-announce']['fr-ca'] = "Annonce"; //copied from fr-fr
$text['label-announce']['fr-fr'] = "Annonce";
$text['label-announce']['he-il'] = "";
$text['label-announce']['it-it'] = "Annuncio";
$text['label-announce']['nl-nl'] = "Aankondiging";
$text['label-announce']['pl-pl'] = "Zapowiedz";
$text['label-announce']['pt-br'] = "Anunciar"; //copied from pt-pt
$text['label-announce']['pt-pt'] = "Anunciar";
$text['label-announce']['ro-ro'] = "";
$text['label-announce']['ru-ru'] = "Анонс";
$text['label-announce']['sv-se'] = "Meddela";
$text['label-announce']['uk-ua'] = "Анонс";
$text['label-announce_name']['en-us'] = "Announce Name";
$text['label-announce_name']['en-gb'] = "Announce Name";
$text['label-announce_name']['ar-eg'] = "";
$text['label-announce_name']['de-at'] = "Ankündigen"; //copied from de-de
$text['label-announce_name']['de-ch'] = "Ankündigen"; //copied from de-de
$text['label-announce_name']['de-de'] = "Ankündigen";
$text['label-announce_name']['es-cl'] = "Anunciar";
$text['label-announce_name']['es-mx'] = "Anunciar"; //copied from es-cl
$text['label-announce_name']['fr-ca'] = "Annonce"; //copied from fr-fr
$text['label-announce_name']['fr-fr'] = "Annonce";
$text['label-announce_name']['he-il'] = "";
$text['label-announce_name']['it-it'] = "Annuncio";
$text['label-announce_name']['nl-nl'] = "Aankondiging";
$text['label-announce_name']['pl-pl'] = "Zapowiedz";
$text['label-announce_name']['pt-br'] = "Anunciar"; //copied from pt-pt
$text['label-announce_name']['pt-pt'] = "Anunciar";
$text['label-announce_name']['ro-ro'] = "";
$text['label-announce_name']['ru-ru'] = "Анонс";
$text['label-announce_name']['sv-se'] = "Meddela";
$text['label-announce_name']['uk-ua'] = "Анонс";
$text['label-announce_count']['en-us'] = "Announce Count";
$text['label-announce_count']['en-gb'] = "Announce Count";
$text['label-announce_count']['ar-eg'] = "";
$text['label-announce_count']['de-at'] = "Ankündigen"; //copied from de-de
$text['label-announce_count']['de-ch'] = "Ankündigen"; //copied from de-de
$text['label-announce_count']['de-de'] = "Ankündigen";
$text['label-announce_count']['es-cl'] = "Anunciar";
$text['label-announce_count']['es-mx'] = "Anunciar"; //copied from es-cl
$text['label-announce_count']['fr-ca'] = "Annonce"; //copied from fr-fr
$text['label-announce_count']['fr-fr'] = "Annonce";
$text['label-announce_count']['he-il'] = "";
$text['label-announce_count']['it-it'] = "Annuncio";
$text['label-announce_count']['nl-nl'] = "Aankondiging";
$text['label-announce_count']['pl-pl'] = "Zapowiedz";
$text['label-announce_count']['pt-br'] = "Anunciar"; //copied from pt-pt
$text['label-announce_count']['pt-pt'] = "Anunciar";
$text['label-announce_count']['ro-ro'] = "";
$text['label-announce_count']['ru-ru'] = "Анонс";
$text['label-announce_count']['sv-se'] = "Meddela";
$text['label-announce_count']['uk-ua'] = "Анонс";
$text['label-announce_recording']['en-us'] = "Announce Recording";
$text['label-announce_recording']['en-gb'] = "Announce Recording";
$text['label-announce_recording']['ar-eg'] = "";
$text['label-announce_recording']['de-at'] = "Ankündigen"; //copied from de-de
$text['label-announce_recording']['de-ch'] = "Ankündigen"; //copied from de-de
$text['label-announce_recording']['de-de'] = "Ankündigen";
$text['label-announce_recording']['es-cl'] = "Anunciar";
$text['label-announce_recording']['es-mx'] = "Anunciar"; //copied from es-cl
$text['label-announce_recording']['fr-ca'] = "Annonce"; //copied from fr-fr
$text['label-announce_recording']['fr-fr'] = "Annonce";
$text['label-announce_recording']['he-il'] = "";
$text['label-announce_recording']['it-it'] = "Annuncio";
$text['label-announce_recording']['nl-nl'] = "Aankondiging";
$text['label-announce_recording']['pl-pl'] = "Zapowiedz";
$text['label-announce_recording']['pt-br'] = "Anunciar"; //copied from pt-pt
$text['label-announce_recording']['pt-pt'] = "Anunciar";
$text['label-announce_recording']['ro-ro'] = "";
$text['label-announce_recording']['ru-ru'] = "Анонс";
$text['label-announce_recording']['sv-se'] = "Meddela";
$text['label-announce_recording']['uk-ua'] = "Анонс";
$text['description-users']['en-us'] = "Assign additional users as administrators of this conference room.";
$text['description-users']['en-gb'] = "Assign additional users as administrators of this conference room.";
@@ -1598,4 +1640,4 @@ $text['button-view_active']['ru-ru'] = "Просмотр Активных";
$text['button-view_active']['sv-se'] = "Visa Aktiva";
$text['button-view_active']['uk-ua'] = "";
?>
?>

View File

@@ -66,7 +66,9 @@
$start_datetime = $_POST["start_datetime"];
$stop_datetime = $_POST["stop_datetime"];
$wait_mod = $_POST["wait_mod"];
$announce = $_POST["announce"];
$announce_name = $_POST["announce_name"];
$announce_recording = $_POST["announce_recording"];
$announce_count = $_POST["announce_count"];
$sounds = $_POST["sounds"];
$mute = $_POST["mute"];
$created = $_POST["created"];
@@ -285,7 +287,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($record) == 0) { $record = 'false'; }
if (strlen($max_members) == 0) { $max_members = 0; }
if (strlen($wait_mod) == 0) { $wait_mod = 'true'; }
if (strlen($announce) == 0) { $announce = 'true'; }
if (strlen($announce_name) == 0) { $announce_name = 'true'; }
if (strlen($announce_recording) == 0) { $announce_recording = 'true'; }
if (strlen($announce_count) == 0) { $announce_count = 'true'; }
if (strlen($mute) == 0) { $mute = 'false'; }
if (strlen($enabled) == 0) { $enabled = 'true'; }
if (strlen($sounds) == 0) { $sounds = 'false'; }
@@ -323,7 +327,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$array['conference_rooms'][0]['start_datetime'] = $start_datetime;
$array['conference_rooms'][0]['stop_datetime'] = $stop_datetime;
$array['conference_rooms'][0]['wait_mod'] = $wait_mod;
$array['conference_rooms'][0]['announce'] = $announce;
$array['conference_rooms'][0]['announce_name'] = $announce_name;
$array['conference_rooms'][0]['announce_recording'] = $announce_recording;
$array['conference_rooms'][0]['announce_count'] = $announce_count;
$array['conference_rooms'][0]['sounds'] = $sounds;
$array['conference_rooms'][0]['mute'] = $mute;
$array['conference_rooms'][0]['created'] = 'now()';
@@ -415,8 +421,14 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($wait_mod) > 0) {
$array['conference_rooms'][0]['wait_mod'] = $wait_mod;
}
if (strlen($announce) > 0) {
$array['conference_rooms'][0]['announce'] = $announce;
if (strlen($announce_name) > 0) {
$array['conference_rooms'][0]['announce_name'] = $announce_name;
}
if (strlen($announce_name) > 0) {
$array['conference_rooms'][0]['announce_recording'] = $announce_recording;
}
if (strlen($announce_name) > 0) {
$array['conference_rooms'][0]['announce_count'] = $announce_count;
}
if (strlen($mute) > 0) {
$array['conference_rooms'][0]['mute'] = $mute;
@@ -490,7 +502,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$start_datetime = $row["start_datetime"];
$stop_datetime = $row["stop_datetime"];
$wait_mod = $row["wait_mod"];
$announce = $row["announce"];
$announce_name = $row["announce_name"];
$announce_recording = $row["announce_recording"];
$announce_count = $row["announce_count"];
$sounds = $row["sounds"];
$mute = $row["mute"];
$created = $row["created"];
@@ -555,7 +569,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($record) == 0) { $record = 'false'; }
if (strlen($max_members) == 0) { $max_members = 0; }
if (strlen($wait_mod) == 0) { $wait_mod = 'true'; }
if (strlen($announce) == 0) { $announce = 'true'; }
if (strlen($announce_name) == 0) { $announce_name = 'true'; }
if (strlen($announce_recording) == 0) { $announce_recording = 'true'; }
if (strlen($announce_count) == 0) { $announce_count = 'true'; }
if (strlen($mute) == 0) { $mute = 'false'; }
if (strlen($sounds) == 0) { $sounds = 'false'; }
if (strlen($enabled) == 0) { $enabled = 'true'; }
@@ -756,19 +772,67 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
echo "</tr>\n";
}
if (permission_exists('conference_room_announce')) {
if (permission_exists('conference_room_announce_name')) {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>".$text['label-announce']."</td>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>".$text['label-announce_name']."</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select class='formfld' name='announce'>\n";
echo " <select class='formfld' name='announce_name'>\n";
echo " <option value=''></option>\n";
if ($announce == "true") {
if ($announce_name == "true") {
echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n";
}
else {
echo " <option value='true'>".$text['label-true']."</option>\n";
}
if ($announce == "false") {
if ($announce_name == "false") {
echo " <option value='false' selected='selected'>".$text['label-false']."</option>\n";
}
else {
echo " <option value='false'>".$text['label-false']."</option>\n";
}
echo " </select>\n";
echo "<br />\n";
echo "</td>\n";
echo "</tr>\n";
}
if (permission_exists('conference_room_announce_count')) {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>".$text['label-announce_count']."</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select class='formfld' name='announce_count'>\n";
echo " <option value=''></option>\n";
if ($announce_count == "true") {
echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n";
}
else {
echo " <option value='true'>".$text['label-true']."</option>\n";
}
if ($announce_count == "false") {
echo " <option value='false' selected='selected'>".$text['label-false']."</option>\n";
}
else {
echo " <option value='false'>".$text['label-false']."</option>\n";
}
echo " </select>\n";
echo "<br />\n";
echo "</td>\n";
echo "</tr>\n";
}
if (permission_exists('conference_room_announce_recording')) {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>".$text['label-announce_recording']."</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select class='formfld' name='announce_recording'>\n";
echo " <option value=''></option>\n";
if ($announce_recording == "true") {
echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n";
}
else {
echo " <option value='true'>".$text['label-true']."</option>\n";
}
if ($announce_recording == "false") {
echo " <option value='false' selected='selected'>".$text['label-false']."</option>\n";
}
else {
@@ -890,4 +954,4 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
//include the footer
require_once "resources/footer.php";
?>
?>

View File

@@ -568,7 +568,9 @@
wait_mod = row["wait_mod"];
moderator_pin = row["moderator_pin"];
participant_pin = row["participant_pin"];
announce = row["announce"];
announce_name = row["announce_name"];
announce_count = row["announce_count"];
announce_recording = row["announce_recording"];
mute = row["mute"];
sounds = row["sounds"];
created = row["created"];
@@ -640,7 +642,7 @@
if (conference_locked) then
announce = "false";
end
if (announce == "true") then
if (announce_name == "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)");
@@ -728,17 +730,19 @@
end
--record the conference
if (record == "true") then
--play a message that the conference is being a recorded
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-recording_started.wav");
--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 center] ".. cmd .."\n");
--response = api:executeString(cmd);
if (announce_recording == "true") then
if (record == "true") then
--play a message that the conference is being a recorded
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-recording_started.wav");
--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 center] ".. cmd .."\n");
--response = api:executeString(cmd);
end
end
--announce the caller
if (announce == "true") then
if (announce_name == "true") then
--announce the caller - play the recording
cmd = "conference "..meeting_uuid.."@"..domain_name.." play " .. temp_dir:gsub("\\", "/") .. "/conference-"..uuid..".wav";
--freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n");
@@ -765,16 +769,18 @@
end
--play member count
if (member_count == "1") then
--there is one other member in this conference
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-one_other_member_conference.wav");
elseif (member_count == "0") then
--conference profile defines the alone sound file
else
--say the count
session:execute("say", default_language.." number pronounced "..member_count);
--members in this conference
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-members_in_conference.wav");
if (announce_count == "true") then
if (member_count == "1") then
--there is one other member in this conference
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-one_other_member_conference.wav");
elseif (member_count == "0") then
--conference profile defines the alone sound file
else
--say the count
session:execute("say", default_language.." number pronounced "..member_count);
--members in this conference
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-members_in_conference.wav");
end
end
--record the conference
if (record == "true") then