Add new and old message count to the mwi event to the dev branch.
This commit is contained in:
@@ -264,12 +264,35 @@
|
|||||||
end
|
end
|
||||||
dbh:query(sql);
|
dbh:query(sql);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--get saved and new message counts
|
||||||
|
sql = [[SELECT count(*) as new_messages FROM v_voicemail_messages
|
||||||
|
WHERE domain_uuid = ']] .. domain_uuid ..[['
|
||||||
|
AND voicemail_uuid = ']] .. voicemail_uuid ..[['
|
||||||
|
AND (message_status is null or message_status = '') ]];
|
||||||
|
if (debug["sql"]) then
|
||||||
|
freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n");
|
||||||
|
end
|
||||||
|
status = dbh:query(sql, function(row)
|
||||||
|
new_messages = row["new_messages"];
|
||||||
|
end);
|
||||||
|
sql = [[SELECT count(*) as saved_messages FROM v_voicemail_messages
|
||||||
|
WHERE domain_uuid = ']] .. domain_uuid ..[['
|
||||||
|
AND voicemail_uuid = ']] .. voicemail_uuid ..[['
|
||||||
|
AND message_status = 'saved' ]];
|
||||||
|
if (debug["sql"]) then
|
||||||
|
freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n");
|
||||||
|
end
|
||||||
|
status = dbh:query(sql, function(row)
|
||||||
|
saved_messages = row["saved_messages"];
|
||||||
|
end);
|
||||||
|
|
||||||
--set the message waiting event
|
--set the message waiting event
|
||||||
if (message_length > 2) then
|
if (message_length > 2) then
|
||||||
local event = freeswitch.Event("message_waiting");
|
local event = freeswitch.Event("message_waiting");
|
||||||
event:addHeader("MWI-Messages-Waiting", "yes");
|
event:addHeader("MWI-Messages-Waiting", "yes");
|
||||||
event:addHeader("MWI-Message-Account", "sip:"..voicemail_id.."@"..domain_name);
|
event:addHeader("MWI-Message-Account", "sip:"..voicemail_id.."@"..domain_name);
|
||||||
|
event:addHeader("MWI-Voice-Message", new_messages.."/"..saved_messages.." (0/0)");
|
||||||
event:fire();
|
event:fire();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,29 @@
|
|||||||
freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n");
|
freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n");
|
||||||
end
|
end
|
||||||
status = dbh:query(sql, function(row)
|
status = dbh:query(sql, function(row)
|
||||||
|
|
||||||
|
--get saved and new message counts
|
||||||
|
sql = [[SELECT count(*) as new_messages FROM v_voicemail_messages
|
||||||
|
WHERE domain_uuid = ']] .. row["domain_uuid"] ..[['
|
||||||
|
AND voicemail_uuid = ']] .. row["voicemail_uuid"] ..[['
|
||||||
|
AND (message_status is null or message_status = '') ]];
|
||||||
|
if (debug["sql"]) then
|
||||||
|
freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n");
|
||||||
|
end
|
||||||
|
status = dbh:query(sql, function(r)
|
||||||
|
new_messages = r["new_messages"];
|
||||||
|
end);
|
||||||
|
sql = [[SELECT count(*) as saved_messages FROM v_voicemail_messages
|
||||||
|
WHERE domain_uuid = ']] .. row["domain_uuid"] ..[['
|
||||||
|
AND voicemail_uuid = ']] .. row["voicemail_uuid"] ..[['
|
||||||
|
AND message_status = 'saved' ]];
|
||||||
|
if (debug["sql"]) then
|
||||||
|
freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n");
|
||||||
|
end
|
||||||
|
status = dbh:query(sql, function(r)
|
||||||
|
saved_messages = r["saved_messages"];
|
||||||
|
end);
|
||||||
|
|
||||||
--send the message waiting event
|
--send the message waiting event
|
||||||
local event = freeswitch.Event("message_waiting");
|
local event = freeswitch.Event("message_waiting");
|
||||||
if (row["message_count"] == "0") then
|
if (row["message_count"] == "0") then
|
||||||
@@ -85,6 +108,7 @@
|
|||||||
event:addHeader("MWI-Messages-Waiting", "yes");
|
event:addHeader("MWI-Messages-Waiting", "yes");
|
||||||
end
|
end
|
||||||
event:addHeader("MWI-Message-Account", "sip:"..row["voicemail_id"].."@"..row["domain_name"]);
|
event:addHeader("MWI-Message-Account", "sip:"..row["voicemail_id"].."@"..row["domain_name"]);
|
||||||
|
event:addHeader("MWI-Voice-Message", new_messages.."/"..saved_messages.." (0/0)");
|
||||||
event:fire();
|
event:fire();
|
||||||
--log to console
|
--log to console
|
||||||
if (debug["info"]) then
|
if (debug["info"]) then
|
||||||
|
|||||||
Reference in New Issue
Block a user