[Asterisk-Users] External MW Lamp On/Off

Dunc duncan at fizzypop.org
Wed Aug 18 05:19:29 MST 2004


Greg,

 > Yes, it helps quite a bit.  It shows me where Comedian Mail spawns the
 > external app.
 >
 > Do you have a copy of your SIP MWI script?  I may be able to use it as a
 > starting point.

FWIW, I've been using my extensions.conf to set/unset MWI on phones 
attached to Cisco Call Manager - it's a bit of a hack but I couldn't 
find anything better searching around.  We've got CM4 interconnected to 
* with a SIP trunk.

To change the MWI status I spoof the caller ID and send a call from * to 
the CM set or unset number, which doesn't sound so different from what 
you need to do other than it's a SIP call that changes the MWI.  I guess 
you wouldn't need to worry about caller id as you'd be dialling out on 
an analogue line.

It's not very pretty, but it seems to work OK, the main drawback is that 
if a user retrieves their mail from someone else's phone the light stays 
lit.  I think that's fixable, but at the moment it's not a big deal for me.

Extract below - 100 is the voicemail entry point, and the 600/700 
sequences in the h extension deal with figuring out what to do after 
exit from voicemail.

Dunc

---

[globals]
VMAIL=0
[local]
; h - hangup
;
exten => h,1,GotoIf($[${VMAIL} != 0]?600)
exten => h,2,Hangup
;
; When exiting voicemail, check for new messages in the recipients
; mailbox and check that their MWI is set accordingly.  102022 at ccm
; unsets MWI, 112022 at ccm sets.  Silly numbers that came about from
; getting the config togther.  They need changing.
;
; This stuff actually needs to be in a context of its own, so that
; the h extension doesn't have to have the gotoif stuff. (maybe)
exten => h,600,SetCIDNum(${VMAIL})
exten => h,601,SetGlobalVar(VMAIL=0)
exten => h,602,HasNewVoicemail(${CALLERIDNUM}@default:INBOX)
exten => h,603,Dial(SIP/102022 at ccm)
exten => h,604,Hangup
exten => h,703,Dial(SIP/112022 at ccm)
exten => h,704,Hangup
;
;
;
; Voicemail.
; First, check if the call is a redirection (ie someone
; being transferred in to leave a message) - CM redirects to 1+<ccm ext>
; to indicate that this is the case.  Set $VMAIL to the destination
; mailbox for exit handling (ugly).
;
; If it's not a redirect, send to voicemail with the callerid as the
; mailbox, otherwise use the diversion field.
exten => 100,1,Wait(1)
exten => 100,2,GotoIf($[${RDNIS}:1....]?9)
exten => 100,3,SetGlobalVar(VMAIL=${CALLERIDNUM})
exten => 100,4,VoicemailMain(${CALLERIDNUM})
exten => 100,5,Hangup
exten => 100,9,SetGlobalVar(VMAIL=${RDNIS:1})
exten => 100,10,Voicemail(u${RDNIS:1})
exten => 100,11,Hangup




More information about the asterisk-users mailing list