Play only the Conference Center Greeting if it has been provided.

This commit is contained in:
Mark Crane 2014-12-05 02:40:21 +00:00
parent 978e336798
commit 71dc8fbc77
1 changed files with 13 additions and 9 deletions

View File

@ -325,6 +325,9 @@
--answer the call --answer the call
session:preAnswer(); session:preAnswer();
--set the session sleep
session:sleep(1000);
--get session variables --get session variables
sounds_dir = session:getVariable("sounds_dir"); sounds_dir = session:getVariable("sounds_dir");
hold_music = session:getVariable("hold_music"); hold_music = session:getVariable("hold_music");
@ -357,8 +360,9 @@
conference_center_greeting = string.lower(row["conference_center_greeting"]); conference_center_greeting = string.lower(row["conference_center_greeting"]);
end); end);
if (conference_center_greeting) then if (conference_center_greeting) then
session:sleep(1000); --conference_center_greeting is ready to be used with get_pin_number
session:execute("playback", conference_center_greeting); else
conference_center_greeting = sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-pin.wav";
end end
--connect to the switch database --connect to the switch database
@ -429,14 +433,14 @@
chan_name = session:getVariable("chan_name"); chan_name = session:getVariable("chan_name");
--define the function get_pin_number --define the function get_pin_number
function get_pin_number(domain_uuid) function get_pin_number(domain_uuid, prompt_audio_file)
--if the pin number is provided then require it --if the pin number is provided then require it
if (not pin_number) then if (not pin_number) then
min_digits = 2; min_digits = 2;
max_digits = 20; max_digits = 20;
max_tries = 1; max_tries = 1;
digit_timeout = 5000; digit_timeout = 5000;
pin_number = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, "#", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-pin.wav", "", "\\d+"); pin_number = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, "#", prompt_audio_file, "", "\\d+");
end end
if (pin_number ~= "") then if (pin_number ~= "") then
sql = [[SELECT * FROM v_conference_rooms as r, v_meetings as m sql = [[SELECT * FROM v_conference_rooms as r, v_meetings as m
@ -469,21 +473,21 @@
end end
--get the pin --get the pin
pin_number = session:getVariable("pin_number"); pin_number = session:getVariable("pin_number", conference_center_greeting);
if (not pin_number) then if (not pin_number) then
pin_number = nil; pin_number = nil;
pin_number = get_pin_number(domain_uuid); pin_number = get_pin_number(domain_uuid, conference_center_greeting);
end end
if (pin_number == nil) then if (pin_number == nil) then
pin_number = get_pin_number(domain_uuid); pin_number = get_pin_number(domain_uuid, conference_center_greeting);
end end
if (pin_number == nil) then if (pin_number == nil) then
session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-bad-pin.wav"); session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-bad-pin.wav");
pin_number = get_pin_number(domain_uuid); pin_number = get_pin_number(domain_uuid, conference_center_greeting);
end end
if (pin_number == nil) then if (pin_number == nil) then
session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-bad-pin.wav"); session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/conference/conf-bad-pin.wav");
pin_number = get_pin_number(domain_uuid); pin_number = get_pin_number(domain_uuid, conference_center_greeting);
end end
if (pin_number ~= nil) then if (pin_number ~= nil) then
sql = [[SELECT * FROM v_conference_rooms as r, v_meetings as m sql = [[SELECT * FROM v_conference_rooms as r, v_meetings as m