summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-06-13 09:48:57 +0000
committerTed Trask <ttrask01@yahoo.com>2011-06-13 09:48:57 +0000
commite0308d521cf9ee608725aa21c5e129f1b8548954 (patch)
tree6bb62b1441bf2dcf3efaad1bc4838231ee9413bc
parent910e88b0857d80d318f6e6e040917f2fa84b254b (diff)
downloadacf-freeswitch-vmail-e0308d521cf9ee608725aa21c5e129f1b8548954.tar.bz2
acf-freeswitch-vmail-e0308d521cf9ee608725aa21c5e129f1b8548954.tar.xz
Notify voicemail module on message move or delete so it can update MWI
-rw-r--r--vmail-model.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/vmail-model.lua b/vmail-model.lua
index 2b53a9e..9b6e87c 100644
--- a/vmail-model.lua
+++ b/vmail-model.lua
@@ -85,6 +85,17 @@ local function voicemail_callback(extension, sound_file, username)
return result
end
+-- Need to update the voicemail module to turn off MWI
+local function voicemail_update(user, domain)
+ local cmd = "echo -e 'auth "..escape_quotes(config.event_socket_password).."\n\n"
+ cmd = cmd.."api vm_list "..escape_quotes(user).."@"..escape_quotes(domain)
+ cmd = cmd.."\n\nexit\n\n' | nc "..format.escapespecialcharacters(config.event_socket_ip).." "..format.escapespecialcharacters(config.event_socket_port).." 2>&1"
+ local f = io.popen( cmd )
+ local result = f:read("*a") or ""
+ f:close()
+ return result
+end
+
local function assert (v, m)
if not v then
m = m or "Assertion failed!"
@@ -426,6 +437,7 @@ delete_message = function(message, username)
retval.value = "Deleted "..#messages.." messages"
end
retval.errtxt = nil
+ voicemail_update(username, config.domain)
end
if connected then databasedisconnect() end
end)
@@ -550,6 +562,7 @@ move_message = function(message, newfolder, username)
else
retval.value = "Moved "..#mess.." messages"
end
+ voicemail_update(username, config.domain)
else
retval.errtxt = "Failed to move message - invalid folder"
end