FreePBX and Exchange 2007/2010 Unified Messaging

I’m currently testing Microsoft’s Small Business Server 2011, and trying to get Unified Messaging, and Elastix 2.0.3 to play nice together. I’ve managed to get the Exchange 2010 side of things up and running, but I want to replace all of FreePBX’s voicemail macros and the like, and direct them straight to Exchange 2010 instead.

I’ve read several guides on this, but most of them are complete hack jobs - several telling you to edit extensions.conf directly, and just replacing the [macro-exten-vm] section (and their suggestions don’t even appear to work properly).

I want to gut the whole thing, and start anew so that the entire voicemail system is handled by Unified Messaging, and not Asterisk.

This should mean:

  • If you dial *97, it will dial the Exchange server, ie: Dial(SIP/4444@Exchange2010)

  • If a phone rings out, and has voicemail enabled, it will dial the Exchange server and add the following SIP header: SIPAddHeader(“Diversion=<tel:${CALLERID}>;reason=no-answer;screen=no;privacy=off”).

  • Likewise, if a phone is otherwise offline (ie, extension isn’t logged in) or busy, it should do the same as above.

  • If an extension hasn’t got voicemail enabled, then it should hangup as usual.

  • Once the call is diverted to Exchange’s Voicemail (dialed the Exchange number), then it should just hangup at the end of it (no need to worry about IVR’s, etc).

To this end, I’ve grabbed a copy of all the various macros and/or references to voicemail that I could find from extensions_additional.conf and extensions.conf, but I can’t make heads or tails of it - it’s all horrifically complex.

I’m guessing if I replace [app-vmmain] and [macro-vm] with my simplified versions in extensions_override_freepbx.conf, then the rest should fall in place? My problem is that I’m having a hard time reading what everything expects from [macro-vm], and coming up with a replacement script. It also doesn’t help that I’m somewhat of a newbie when it comes to Asterisk scripting.

Can anyone direct me towards a better solution?

tlgjaymz - Did you get this figured out? I am having the same exact issue.

I am stuck at the part listed in your post. I need outbound calls to show with the correct outbound DID in the caller ID and voicemail needs to be Exchange only.