Conference center announcement control (#5224)

* Update conference_room_edit.php
This commit is contained in:
agree
2020-03-31 15:51:00 -06:00
committed by GitHub
parent 58061a188b
commit 31d199a637
4 changed files with 186 additions and 56 deletions
+20 -2
View File
@@ -123,7 +123,17 @@
$apps[$x]['permissions'][$y]['groups'][] = "admin"; $apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user"; $apps[$x]['permissions'][$y]['groups'][] = "user";
$y++; $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'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin"; $apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user"; $apps[$x]['permissions'][$y]['groups'][] = "user";
@@ -300,10 +310,18 @@
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $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."; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Wait for the moderator to join before starting the conference.";
$z++; $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]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Introduce participants as they enter the conference."; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Introduce participants as they enter the conference.";
$z++; $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]['name'] = "sounds";
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $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."; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Play sound when someone enters or exists the conference.";
+63 -21
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']['sv-se'] = "Namnpresentation";
$text['label-caller-id-name']['uk-ua'] = "Caller ID Ім’я"; $text['label-caller-id-name']['uk-ua'] = "Caller ID Ім’я";
$text['label-announce']['en-us'] = "Announce"; $text['label-announce_name']['en-us'] = "Announce Name";
$text['label-announce']['en-gb'] = "Announce"; $text['label-announce_name']['en-gb'] = "Announce Name";
$text['label-announce']['ar-eg'] = ""; $text['label-announce_name']['ar-eg'] = "";
$text['label-announce']['de-at'] = "Ankündigen"; //copied from de-de $text['label-announce_name']['de-at'] = "Ankündigen"; //copied from de-de
$text['label-announce']['de-ch'] = "Ankündigen"; //copied from de-de $text['label-announce_name']['de-ch'] = "Ankündigen"; //copied from de-de
$text['label-announce']['de-de'] = "Ankündigen"; $text['label-announce_name']['de-de'] = "Ankündigen";
$text['label-announce']['es-cl'] = "Anunciar"; $text['label-announce_name']['es-cl'] = "Anunciar";
$text['label-announce']['es-mx'] = "Anunciar"; //copied from es-cl $text['label-announce_name']['es-mx'] = "Anunciar"; //copied from es-cl
$text['label-announce']['fr-ca'] = "Annonce"; //copied from fr-fr $text['label-announce_name']['fr-ca'] = "Annonce"; //copied from fr-fr
$text['label-announce']['fr-fr'] = "Annonce"; $text['label-announce_name']['fr-fr'] = "Annonce";
$text['label-announce']['he-il'] = ""; $text['label-announce_name']['he-il'] = "";
$text['label-announce']['it-it'] = "Annuncio"; $text['label-announce_name']['it-it'] = "Annuncio";
$text['label-announce']['nl-nl'] = "Aankondiging"; $text['label-announce_name']['nl-nl'] = "Aankondiging";
$text['label-announce']['pl-pl'] = "Zapowiedz"; $text['label-announce_name']['pl-pl'] = "Zapowiedz";
$text['label-announce']['pt-br'] = "Anunciar"; //copied from pt-pt $text['label-announce_name']['pt-br'] = "Anunciar"; //copied from pt-pt
$text['label-announce']['pt-pt'] = "Anunciar"; $text['label-announce_name']['pt-pt'] = "Anunciar";
$text['label-announce']['ro-ro'] = ""; $text['label-announce_name']['ro-ro'] = "";
$text['label-announce']['ru-ru'] = "Анонс"; $text['label-announce_name']['ru-ru'] = "Анонс";
$text['label-announce']['sv-se'] = "Meddela"; $text['label-announce_name']['sv-se'] = "Meddela";
$text['label-announce']['uk-ua'] = "Анонс"; $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-us'] = "Assign additional users as administrators of this conference room.";
$text['description-users']['en-gb'] = "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']['sv-se'] = "Visa Aktiva";
$text['button-view_active']['uk-ua'] = ""; $text['button-view_active']['uk-ua'] = "";
?> ?>
+77 -13
View File
@@ -66,7 +66,9 @@
$start_datetime = $_POST["start_datetime"]; $start_datetime = $_POST["start_datetime"];
$stop_datetime = $_POST["stop_datetime"]; $stop_datetime = $_POST["stop_datetime"];
$wait_mod = $_POST["wait_mod"]; $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"]; $sounds = $_POST["sounds"];
$mute = $_POST["mute"]; $mute = $_POST["mute"];
$created = $_POST["created"]; $created = $_POST["created"];
@@ -285,7 +287,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($record) == 0) { $record = 'false'; } if (strlen($record) == 0) { $record = 'false'; }
if (strlen($max_members) == 0) { $max_members = 0; } if (strlen($max_members) == 0) { $max_members = 0; }
if (strlen($wait_mod) == 0) { $wait_mod = 'true'; } 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($mute) == 0) { $mute = 'false'; }
if (strlen($enabled) == 0) { $enabled = 'true'; } if (strlen($enabled) == 0) { $enabled = 'true'; }
if (strlen($sounds) == 0) { $sounds = 'false'; } 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]['start_datetime'] = $start_datetime;
$array['conference_rooms'][0]['stop_datetime'] = $stop_datetime; $array['conference_rooms'][0]['stop_datetime'] = $stop_datetime;
$array['conference_rooms'][0]['wait_mod'] = $wait_mod; $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]['sounds'] = $sounds;
$array['conference_rooms'][0]['mute'] = $mute; $array['conference_rooms'][0]['mute'] = $mute;
$array['conference_rooms'][0]['created'] = 'now()'; $array['conference_rooms'][0]['created'] = 'now()';
@@ -415,8 +421,14 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($wait_mod) > 0) { if (strlen($wait_mod) > 0) {
$array['conference_rooms'][0]['wait_mod'] = $wait_mod; $array['conference_rooms'][0]['wait_mod'] = $wait_mod;
} }
if (strlen($announce) > 0) { if (strlen($announce_name) > 0) {
$array['conference_rooms'][0]['announce'] = $announce; $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) { if (strlen($mute) > 0) {
$array['conference_rooms'][0]['mute'] = $mute; $array['conference_rooms'][0]['mute'] = $mute;
@@ -490,7 +502,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$start_datetime = $row["start_datetime"]; $start_datetime = $row["start_datetime"];
$stop_datetime = $row["stop_datetime"]; $stop_datetime = $row["stop_datetime"];
$wait_mod = $row["wait_mod"]; $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"]; $sounds = $row["sounds"];
$mute = $row["mute"]; $mute = $row["mute"];
$created = $row["created"]; $created = $row["created"];
@@ -555,7 +569,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($record) == 0) { $record = 'false'; } if (strlen($record) == 0) { $record = 'false'; }
if (strlen($max_members) == 0) { $max_members = 0; } if (strlen($max_members) == 0) { $max_members = 0; }
if (strlen($wait_mod) == 0) { $wait_mod = 'true'; } 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($mute) == 0) { $mute = 'false'; }
if (strlen($sounds) == 0) { $sounds = 'false'; } if (strlen($sounds) == 0) { $sounds = 'false'; }
if (strlen($enabled) == 0) { $enabled = 'true'; } if (strlen($enabled) == 0) { $enabled = 'true'; }
@@ -756,19 +772,67 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
echo "</tr>\n"; echo "</tr>\n";
} }
if (permission_exists('conference_room_announce')) { if (permission_exists('conference_room_announce_name')) {
echo "<tr>\n"; 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 "<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"; echo " <option value=''></option>\n";
if ($announce == "true") { if ($announce_name == "true") {
echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n"; echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n";
} }
else { else {
echo " <option value='true'>".$text['label-true']."</option>\n"; 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"; echo " <option value='false' selected='selected'>".$text['label-false']."</option>\n";
} }
else { else {
@@ -890,4 +954,4 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
//include the footer //include the footer
require_once "resources/footer.php"; require_once "resources/footer.php";
?> ?>
@@ -568,7 +568,9 @@
wait_mod = row["wait_mod"]; wait_mod = row["wait_mod"];
moderator_pin = row["moderator_pin"]; moderator_pin = row["moderator_pin"];
participant_pin = row["participant_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"]; mute = row["mute"];
sounds = row["sounds"]; sounds = row["sounds"];
created = row["created"]; created = row["created"];
@@ -640,7 +642,7 @@
if (conference_locked) then if (conference_locked) then
announce = "false"; announce = "false";
end end
if (announce == "true") then if (announce_name == "true") then
--prompt for the name of the caller --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", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-say_name.wav");
session:execute("playback", "tone_stream://v=-7;%%(500,0,500.0)"); session:execute("playback", "tone_stream://v=-7;%%(500,0,500.0)");
@@ -728,17 +730,19 @@
end end
--record the conference --record the conference
if (record == "true") then if (announce_recording == "true") then
--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"); --play a message that the conference is being a recorded
--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");
--cmd = "conference "..meeting_uuid.."@"..domain_name.." play "..sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-recording_started.wav"; --play a message that the conference is being a recorded
--freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n"); --cmd = "conference "..meeting_uuid.."@"..domain_name.." play "..sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-recording_started.wav";
--response = api:executeString(cmd); --freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n");
--response = api:executeString(cmd);
end
end end
--announce the caller --announce the caller
if (announce == "true") then if (announce_name == "true") then
--announce the caller - play the recording --announce the caller - play the recording
cmd = "conference "..meeting_uuid.."@"..domain_name.." play " .. temp_dir:gsub("\\", "/") .. "/conference-"..uuid..".wav"; cmd = "conference "..meeting_uuid.."@"..domain_name.." play " .. temp_dir:gsub("\\", "/") .. "/conference-"..uuid..".wav";
--freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n"); --freeswitch.consoleLog("notice", "[conference center] ".. cmd .."\n");
@@ -765,16 +769,18 @@
end end
--play member count --play member count
if (member_count == "1") then if (announce_count == "true") then
--there is one other member in this conference if (member_count == "1") then
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-one_other_member_conference.wav"); --there is one other member in this conference
elseif (member_count == "0") then session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-one_other_member_conference.wav");
--conference profile defines the alone sound file elseif (member_count == "0") then
else --conference profile defines the alone sound file
--say the count else
session:execute("say", default_language.." number pronounced "..member_count); --say the count
--members in this conference session:execute("say", default_language.." number pronounced "..member_count);
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-members_in_conference.wav"); --members in this conference
session:execute("playback", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-members_in_conference.wav");
end
end end
--record the conference --record the conference
if (record == "true") then if (record == "true") then