Add domain_uuid to the provision SQL queries and add debug SQL option.
This commit is contained in:
@@ -23,6 +23,9 @@
|
|||||||
-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
-- POSSIBILITY OF SUCH DAMAGE.
|
-- POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
--set the debug options
|
||||||
|
debug["sql"] = false;
|
||||||
|
|
||||||
--define explode
|
--define explode
|
||||||
function explode ( seperator, str )
|
function explode ( seperator, str )
|
||||||
local pos, arr = 0, {}
|
local pos, arr = 0, {}
|
||||||
@@ -82,9 +85,6 @@
|
|||||||
password = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, "#", "phrase:voicemail_enter_pass:#", "", "\\d+");
|
password = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, "#", "phrase:voicemail_enter_pass:#", "", "\\d+");
|
||||||
--password = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, "#", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-please_enter_pin_followed_by_pound.wav", "", "\\d+");
|
--password = session:playAndGetDigits(min_digits, max_digits, max_tries, digit_timeout, "#", sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-please_enter_pin_followed_by_pound.wav", "", "\\d+");
|
||||||
|
|
||||||
--failed authentication
|
|
||||||
--result = session:play("phrase:voicemail_fail_auth:#");
|
|
||||||
|
|
||||||
--get the user and domain name from the user argv user@domain
|
--get the user and domain name from the user argv user@domain
|
||||||
sip_from_uri = session:getVariable("sip_from_uri");
|
sip_from_uri = session:getVariable("sip_from_uri");
|
||||||
user_table = explode("@",sip_from_uri);
|
user_table = explode("@",sip_from_uri);
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
domain = user_table[2];
|
domain = user_table[2];
|
||||||
|
|
||||||
--show the phone that will be overridden
|
--show the phone that will be overridden
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] sip_from_uri: ".. sip_from_uri .. " [69]\n");
|
freeswitch.consoleLog("NOTICE", "[provision] sip_from_uri: ".. sip_from_uri .. "\n");
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] user: ".. user .. "\n");
|
freeswitch.consoleLog("NOTICE", "[provision] user: ".. user .. "\n");
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] domain: ".. domain .. "\n");
|
freeswitch.consoleLog("NOTICE", "[provision] domain: ".. domain .. "\n");
|
||||||
|
|
||||||
@@ -100,12 +100,11 @@
|
|||||||
sql = [[SELECT * FROM v_device_lines ]];
|
sql = [[SELECT * FROM v_device_lines ]];
|
||||||
sql = sql .. [[WHERE user_id = ']] .. user .. [[' ]];
|
sql = sql .. [[WHERE user_id = ']] .. user .. [[' ]];
|
||||||
sql = sql .. [[AND server_address = ']]..domain..[[' ]];
|
sql = sql .. [[AND server_address = ']]..domain..[[' ]];
|
||||||
--sql = sql .. [[AND domain_uuid = ']]..domain_uuid..[[' ]];
|
sql = sql .. [[AND domain_uuid = ']]..domain_uuid..[[' ]];
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
if (debug["sql"]) then
|
||||||
|
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
||||||
|
end
|
||||||
dbh:query(sql, function(row)
|
dbh:query(sql, function(row)
|
||||||
--set the default
|
|
||||||
authorized = 'false';
|
|
||||||
|
|
||||||
--get device uuid
|
--get device uuid
|
||||||
device_uuid = row.device_uuid;
|
device_uuid = row.device_uuid;
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] device_uuid: ".. device_uuid .. "\n");
|
freeswitch.consoleLog("NOTICE", "[provision] device_uuid: ".. device_uuid .. "\n");
|
||||||
@@ -113,36 +112,24 @@
|
|||||||
--remove the previous alternate device uuid
|
--remove the previous alternate device uuid
|
||||||
sql = [[UPDATE v_devices SET device_uuid_alternate = null ]];
|
sql = [[UPDATE v_devices SET device_uuid_alternate = null ]];
|
||||||
sql = sql .. [[WHERE device_uuid_alternate = ']]..device_uuid..[[' ]];
|
sql = sql .. [[WHERE device_uuid_alternate = ']]..device_uuid..[[' ]];
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
sql = sql .. [[AND domain_uuid = ']]..domain_uuid..[[' ]];
|
||||||
dbh:query(sql);
|
if (debug["sql"]) then
|
||||||
|
--freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
||||||
|
end
|
||||||
|
--dbh:query(sql);
|
||||||
|
|
||||||
--get the device line info user_id and server_address
|
|
||||||
sql = [[SELECT * FROM v_device_lines ]];
|
|
||||||
sql = sql .. [[WHERE device_uuid = ']]..device_uuid..[[' ]];
|
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
|
||||||
dbh:query(sql, function(row)
|
|
||||||
--create the event notify object
|
|
||||||
local event = freeswitch.Event('NOTIFY');
|
|
||||||
--add the headers
|
|
||||||
event:addHeader('profile', profile);
|
|
||||||
event:addHeader('user', row.user_id);
|
|
||||||
event:addHeader('host', row.server_address);
|
|
||||||
event:addHeader('content-type', 'application/simple-message-summary');
|
|
||||||
--check sync
|
|
||||||
event:addHeader('event-string', 'check-sync;reboot=true');
|
|
||||||
--send the event
|
|
||||||
event:fire();
|
|
||||||
end);
|
|
||||||
end);
|
end);
|
||||||
|
|
||||||
--get the device uuid of the mobile provision
|
--get the device uuid of the mobile provision
|
||||||
if (user_id and password) then
|
authorized = 'false';
|
||||||
|
if (user_id ~= '' and password ~= '') then
|
||||||
sql = [[SELECT * FROM v_devices ]];
|
sql = [[SELECT * FROM v_devices ]];
|
||||||
sql = sql .. [[WHERE device_username = ']]..user_id..[[' ]];
|
sql = sql .. [[WHERE device_username = ']]..user_id..[[' ]];
|
||||||
sql = sql .. [[AND device_password = ']]..password..[[' ]]
|
sql = sql .. [[AND device_password = ']]..password..[[' ]]
|
||||||
--sql = sql .. [[AND domain_uuid = ']]..domain_uuid..[[' ]];
|
sql = sql .. [[AND domain_uuid = ']]..domain_uuid..[[' ]];
|
||||||
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
if (debug["sql"]) then
|
||||||
authorized = 'false';
|
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
||||||
|
end
|
||||||
dbh:query(sql, function(row)
|
dbh:query(sql, function(row)
|
||||||
--get the altnerat device_uuid
|
--get the altnerat device_uuid
|
||||||
device_uuid_alternate = row.device_uuid;
|
device_uuid_alternate = row.device_uuid;
|
||||||
@@ -162,7 +149,10 @@
|
|||||||
if (device_uuid_alternate ~= nil) then
|
if (device_uuid_alternate ~= nil) then
|
||||||
sql = [[UPDATE v_devices SET device_uuid_alternate = ']]..device_uuid_alternate..[[']];
|
sql = [[UPDATE v_devices SET device_uuid_alternate = ']]..device_uuid_alternate..[[']];
|
||||||
sql = sql .. [[WHERE device_uuid = ']]..device_uuid..[[' ]];
|
sql = sql .. [[WHERE device_uuid = ']]..device_uuid..[[' ]];
|
||||||
--freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
sql = sql .. [[AND domain_uuid = ']]..domain_uuid..[[' ]];
|
||||||
|
if (debug["sql"]) then
|
||||||
|
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
||||||
|
end
|
||||||
dbh:query(sql);
|
dbh:query(sql);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -172,7 +162,10 @@
|
|||||||
if (device_uuid_alternate ~= nil) then
|
if (device_uuid_alternate ~= nil) then
|
||||||
sql = [[UPDATE v_devices SET device_uuid_alternate = null ]];
|
sql = [[UPDATE v_devices SET device_uuid_alternate = null ]];
|
||||||
sql = sql .. [[WHERE device_uuid_alternate = ']]..device_uuid..[[' ]];
|
sql = sql .. [[WHERE device_uuid_alternate = ']]..device_uuid..[[' ]];
|
||||||
--freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
sql = sql .. [[AND domain_uuid = ']]..domain_uuid..[[' ]];
|
||||||
|
if (debug["sql"]) then
|
||||||
|
freeswitch.consoleLog("NOTICE", "[provision] sql: ".. sql .. "\n");
|
||||||
|
end
|
||||||
dbh:query(sql);
|
dbh:query(sql);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user