diff --git a/includes/install/scripts/dial_string.lua b/includes/install/scripts/dial_string.lua index 935dfa3ad9..734895b234 100644 --- a/includes/install/scripts/dial_string.lua +++ b/includes/install/scripts/dial_string.lua @@ -49,10 +49,10 @@ if ( session:ready() ) then session:answer(); - domain_name = session:getVariable("domain_name"); pin_number = session:getVariable("pin_number"); sounds_dir = session:getVariable("sounds_dir"); sip_from_user = session:getVariable("sip_from_user"); + sip_from_host = session:getVariable("sip_from_host"); direction = session:getVariable("direction"); --in, out, both extension = tostring(session:getVariable("extension")); --true, false dial_string = tostring(session:getVariable("dial_string")); @@ -109,7 +109,7 @@ if ( session:ready() ) then freeswitch.consoleLog("NOTICE", "sql: ".. sql .. "\n"); end dbh:query(sql, function(row) - --domain_uuid = row.domain_uuid; + db_domain_uuid = row.domain_uuid; db_extension_uuid = row.extension_uuid; db_dial_string = row.dial_string; db_dial_user = row.dial_user; @@ -128,31 +128,18 @@ if ( session:ready() ) then --add the dial string if (direction == "in") then if (string.len(dial_string) == 0) then - dial_string = [[{sip_invite_domain=]] .. domain_name .. [[,presence_id=]] .. sip_from_user .. [[@]] .. domain_name .. [[}${sofia_contact(]] .. sip_from_user .. [[@]] .. domain_name .. [[)}]]; + dial_string = [[{sip_invite_domain=]] .. sip_from_host .. [[,presence_id=]] .. sip_from_user .. [[@]] .. sip_from_host .. [[}${sofia_contact(]] .. sip_from_user .. [[@]] .. sip_from_host .. [[)}]]; end - if (string.len(db_dial_user) > 0) then - sql = "UPDATE v_extensions SET "; - sql = sql .. "dial_string = null, "; - sql = sql .. "dial_user = null, "; - sql = sql .. "dial_domain = null "; - sql = sql .. "WHERE extension_uuid = '" .. db_extension_uuid .."' "; - if (debug["sql"]) then - freeswitch.consoleLog("NOTICE", "[dial_string] sql: ".. sql .. "\n"); - end - dbh:query(sql); - session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/voicemail/vm-deleted.wav"); - else - sql = "UPDATE v_extensions SET "; - sql = sql .. "dial_string = '" .. dial_string .."', "; - sql = sql .. "dial_user = '" .. sip_from_user .."', "; - sql = sql .. "dial_domain = '" .. domain_name .."' "; - sql = sql .. "WHERE extension_uuid = '" .. db_extension_uuid .."' "; - if (debug["sql"]) then - freeswitch.consoleLog("NOTICE", "[dial_string] sql: ".. sql .. "\n"); - end - dbh:query(sql); - session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/voicemail/vm-saved.wav"); + sql = "UPDATE v_extensions SET "; + sql = sql .. "dial_string = '" .. dial_string .."', "; + sql = sql .. "dial_user = '" .. sip_from_user .."', "; + sql = sql .. "dial_domain = '" .. sip_from_host .."' "; + sql = sql .. "WHERE extension_uuid = '" .. db_extension_uuid .."' "; + if (debug["sql"]) then + freeswitch.consoleLog("NOTICE", "[dial_string] sql: ".. sql .. "\n"); end + dbh:query(sql); + session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/voicemail/vm-saved.wav"); end --remove the dialstring if (direction == "out") then @@ -185,12 +172,12 @@ if ( session:ready() ) then else --if the dial string is empty then set the dial string if (string.len(dial_string) == 0) then - dial_string = [[{sip_invite_domain=]] .. domain_name .. [[,presence_id=]] .. sip_from_user .. [[@]] .. domain_name .. [[}${sofia_contact(]] .. sip_from_user .. [[@]] .. domain_name .. [[)}]]; + dial_string = [[{sip_invite_domain=]] .. sip_from_host .. [[,presence_id=]] .. sip_from_user .. [[@]] .. sip_from_host .. [[}${sofia_contact(]] .. sip_from_user .. [[@]] .. sip_from_host .. [[)}]]; end sql = "UPDATE v_extensions SET "; sql = sql .. "dial_string = '" .. dial_string .."', "; sql = sql .. "dial_user = '" .. sip_from_user .."', "; - sql = sql .. "dial_domain = '" .. domain_name .."' "; + sql = sql .. "dial_domain = '" .. sip_from_host .."' "; sql = sql .. "WHERE extension_uuid = '" .. db_extension_uuid .."' "; if (debug["sql"]) then freeswitch.consoleLog("NOTICE", "[dial_string] sql: ".. sql .. "\n"); @@ -207,7 +194,7 @@ if ( session:ready() ) then --log to the console if (debug["var"]) then - freeswitch.consoleLog("NOTICE", "domain_name: ".. domain_name .. "\n"); + freeswitch.consoleLog("NOTICE", "sip_from_host: ".. sip_from_host .. "\n"); freeswitch.consoleLog("NOTICE", "extension_uuid: ".. extension_uuid .. "\n"); freeswitch.consoleLog("NOTICE", "dial_string: ".. dial_string .. "\n"); end