LUA function format_ringback the session:getVariable must have quotes around the 'hold_music' string. Next check to see if the ringback is nil or an empty string first before trying to use 'match'.

This commit is contained in:
markjcrane 2016-01-31 10:10:08 -07:00
parent 099aad8c98
commit 9ec2da1b7e
1 changed files with 14 additions and 15 deletions

View File

@ -1,22 +1,21 @@
--add the format_ringback function --add the format_ringback function
function format_ringback ( ringback ) function format_ringback (ringback)
if (ringback == "default_ringback") then if (ringback == nil or ringback == "") then
--fetch the default_ringback --get the default ring back
ringback = session:getVariable("ringback"); ringback = session:getVariable("hold_music");
end elseif (ringback:match("%${.*}")) then
if (ringback:match("%${.*}")) then --strip the ${ and }
ringback = ringback:gsub("%${", ""); ringback = ringback:gsub("%${", "");
ringback = ringback:gsub("}", ""); ringback = ringback:gsub("}", "");
ringback = session:getVariable(ringback); --get the ringback variable
if (ringback == "") then ringback = session:getVariable(ringback);
--fallback to us-ring --fallback to us-ring
ringback = session:getVariable("us-ring"); if (ringback == "") then
end ringback = session:getVariable("us-ring");
end
--convert to tone_stream --convert to tone_stream
ringback = "tone_stream://" .. ringback .. ";loops=-1"; ringback = "tone_stream://" .. ringback .. ";loops=-1";
elseif (ringback == "") then
ringback = session:getVariable(hold_music);
end end
return ringback; return ringback;
end end