after following various bits of info, I’m real close to having a work-around for MWI with SIP devices registered via Asterisk realtime. In summary, the approach I followed is consistent with this lead: mail.iptel.org/pipermail/seruser … 11545.html
I had to make various modifications to the scripts to solve problems I encountered, make it work with voicemail contexts, etc.
Here is the main nasty part… this setup assumes that end devices register via SER, so it’s OK to send a NOTIFY message to @<domain.com> toward SER and let it resolve the endpoint IP address via its registration database. I have endpoints registered directly to Asterisk, so I need to send my NOTIFY messages to their explicit IP address.
Only way I can do this is to add mySQL queries to the shell scripts that process MWI (to get IP addr from asterisk.sip_peers), but it would be nicer if I could get this via externnotify= in the voicemail.conf file.
FEATURE REQUEST: enable externnotify= to have access to IP addr of the registered endpoint associated with a mailbox context. Better yet, just add support in voicemail to look up user in database and make MWI work natively with realtime sip.
FYI to folks interested in this work-around… here’s how I have it working in my system (all SIP endpoints registered to Asterisk and using canreinvite=yes instead of registering endpoints via SER)…
>>>>> in voicemail.conf
externnotify=/usr/bin/mwi2spool
>>>>> in /usr/bin/mwi2spool
#!/bin/sh
USE: this script is to be called via system() command in Asterisk dialplan
and also via the externnotify= parameter in voicemail.conf
PURPOSE: enable MWI on and off on phones when asterisk can’t directly
respond because sip friends are in realtime database
BEHAVIOR: “touches” files in the spool directory which a
cron jobs later processes. The cron job is where we actually