[asterisk-users] cached VMI on manual voicemail update
Tzafrir Cohen
tzafrir.cohen at xorcom.com
Sun Jan 8 06:30:03 CST 2012
Hi
I use a simple script to enable/disable for voicemail on an extension
for testing (attached: test_voicemail). The script only created the txt
file, but I don't suppose this should matter.
I set up a mailbox. The new message shows fine in 'voicemail show users'
(The new user takes 'voicemail reload' for it to be added on the list,
but after it has been initially added , it seems to be updated
immediately (or by running 'voicemail show users'?).
However the voicemail indication to the tested phone (in chan_dahdi, in
this case) did not follow suit: it never updates. Even a full 'dahdi
restart' is not good enough. Nothing short of a restart of asterisk
seems to make it update.
Looking further I see that the MWI values are cached:
kemeny*CLI> event dump cache MWI
Event Type: MWI
Cache Unique Keys:
--> Mailbox
--> Context
--- Begin Cache Dump ---
Event: MWI
Mailbox: 4004
Context: default
NewMessages: 1
OldMessages: 0
EntityID: 00:1c:c0:fc:f0:ad
--- End Cache Dump ---
kemeny*CLI> voicemail show users
Context Mbox User Zone NewMsg
default 4004 0
1 voicemail users configured.
Is there any way to tell Asterisk to flush that cache? Is this
considered a bug?
Tested on 1.8 (1.8.7.0 and SVN-branch-1.8-r349672).
--
Tzafrir Cohen
icq#16849755 jabber:tzafrir.cohen at xorcom.com
+972-50-7952406 mailto:tzafrir.cohen at xorcom.com
http://www.xorcom.com iax:guest at local.xorcom.com/tzafrir
-------------- next part --------------
#!/bin/sh
NUM=${2-:4001}
vm_base="/var/spool/asterisk/voicemail/default"
vm_dir="$vm_base/$NUM/INBOX"
setup() {
sed -i -e "/^$NUM/d" -e "\$a$NUM => ," /etc/asterisk/voicemail.conf
}
on() {
mkdir -p "$vm_dir"
cat <<EOF >"$vm_dir/msg0000.txt"
;
; Message Information file
;
[message]
origmailbox=$NUM
context=from-internal
macrocontext=
exten=s
priority=1
callerchan=DAHDI/1-1
callerid="Channel 1" <$NUM>
origdate=`date -R`
origtime=`date +'%s'`
category=
duration=4
EOF
}
off() {
rm -f "$vm_dir/"*
}
case "$1" in
setup | on | off) "$1";;
esac
More information about the asterisk-users
mailing list