[asterisk-dev] Event based MWI

Russell Bryant russell at digium.com
Wed Mar 28 10:33:44 MST 2007

I have been working on a generic event system for Asterisk.  As a part 
of this project, I have converted the way that Asterisk handles message 
waiting indication to be event based instead of polling based.

For example, instead of chan_sip checking each mailbox every 10 seconds 
to see if there has been a change, it now waits for app_voicemail to 
generate an event to indicate that has a change has been made.

However, I just realized a pretty big problem with this approach. 
app_voicemail does not know every time that a mailbox gets changed.  It 
only knows about the instances where it gets changed by a caller.  There 
are other ways voicemail can get modified, such as with a web based 
voicemail interface, or an email client in the case of using IMAP storage.

If anyone has any thoughts on the subject, I would be interested to hear 
them.  I can probably still keep going with this and still get MWI 
shared between servers.  However, it may mean that the change won't have 
the efficiency gain that I had hoped for.  app_voicemail may have to do 
its own polling of mailboxes that have been subscribed to so that it 
knows about changes.

Russell Bryant
Software Engineer
Digium, Inc.

More information about the asterisk-dev mailing list