From 28b7905c761004e607efcdef4dab2e33b2ab62fb Mon Sep 17 00:00:00 2001 From: markjcrane Date: Sun, 31 Jan 2016 10:10:08 -0700 Subject: [PATCH] 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'. --- .../resources/functions/format_ringback.lua | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/resources/install/scripts/resources/functions/format_ringback.lua b/resources/install/scripts/resources/functions/format_ringback.lua index 832a6d625a..032b666cb6 100644 --- a/resources/install/scripts/resources/functions/format_ringback.lua +++ b/resources/install/scripts/resources/functions/format_ringback.lua @@ -1,22 +1,21 @@ --add the format_ringback function - function format_ringback ( ringback ) - if (ringback == "default_ringback") then - --fetch the default_ringback - ringback = session:getVariable("ringback"); - end - if (ringback:match("%${.*}")) then - ringback = ringback:gsub("%${", ""); - ringback = ringback:gsub("}", ""); - ringback = session:getVariable(ringback); - if (ringback == "") then + function format_ringback (ringback) + if (ringback == nil or ringback == "") then + --get the default ring back + ringback = session:getVariable("hold_music"); + elseif (ringback:match("%${.*}")) then + --strip the ${ and } + ringback = ringback:gsub("%${", ""); + ringback = ringback:gsub("}", ""); + --get the ringback variable + ringback = session:getVariable(ringback); --fallback to us-ring - ringback = session:getVariable("us-ring"); - end + if (ringback == "") then + ringback = session:getVariable("us-ring"); + end --convert to tone_stream - ringback = "tone_stream://" .. ringback .. ";loops=-1"; - elseif (ringback == "") then - ringback = session:getVariable(hold_music); + ringback = "tone_stream://" .. ringback .. ";loops=-1"; end return ringback; end \ No newline at end of file