Open Source Software, such as Asterisk, can be very useful. What I’ve found, however, is that there are many cases where getting an Open Source Software package to work properly for your requirements can suck you into a focus where determination and will power pass countless hours as you study numerous articles and write-ups trying to find all of the tidbits of information to get the installation and configuration right…. A learning curve, if you will.
Well folks – my latest one track minded excursion into Open Source was with Elastix. Using version 2.2, there wasn’t a whole lot of effort required until I set myself out to integrate Exchange 2007 Unified Messaging. There are many articles out there with fragments of information and misinformation. I wanted to consolidate the useful tidbits here to supplement the other great write ups out there. This is not a step-by-step tutorial, but rather a collection of solutions to the challenges I faced during the integration of Asterisk and Exchange Unified Messaging on Exchange Server 2007 using the Elastix 2.2 distribution.
Problem: When an outside caller is transferred to Voicemail, the call is disconnected. Inside callers (other extensions) hear the greeting and can leave a message but outside callers cannot.
Resolution: I had to add “canreinvite=no” in the trunk configuration to Exchange. This setting is required for proper Exchange Unified Messaging integration with Exchange 2007 or 2010.
Problem: Configure Incoming Call to be answered by Exchange Auto Attendant.
Answer: In Elastix OR FreePBX, go to Misc Destinations. Create a destination called “Exchange AA” and use the initiator extension you setup for AA (Auto Attendant) in Exchange Unified Messaging configuration as the extension. Now go to the Inbound Route for the number you’d like to ring to AA and near the bottom of the page, set destination to “Misc Destinations” and then choose “Exchange AA” – submit and apply.
Problem: Voicemail buttons on phones (*97) should call Exchange Voicemail. You want *97 to use Exchange Unified Messaging Voicemail instead of Asterisk Voicemail.
Answer: Go to Misc Destinations. Create a destination called “Exchange VM” and use the initiator extension you setup for Voicemail in Exchange Unified Messaging as the extension. Go to Feature Codes and disable “My Voicemail” (*97) near the bottom of the page. Go to Misc Applications and add one. Call it “My Voicemail” with feature code “*97″ Feature Status set to enabled. Set destination to “Misc Destinations” and select “Exchange VM”
Problem: Configure Asterisk to use Exchange Unified Messaging Voicemail instead of its own.
Answer: You need to add the following to the extensions_override_elastix.conf file or extensions_override_freepbx.conf file. Either file is fine (but not both):
[macro-vm]
; ARG1 – extension
; ARG2 – DIRECTDIAL/BUSY
; ARG3 – RETURN makes macro return, otherwise hangup
exten => s,1,Macro(user-callerid,SKIPTTL)
exten => s,n,GotoIf($["foo${DB(${BLKVM_OVERRIDE})}" != "fooTRUE"]?vmx,1)
exten => s,n,Noop(CAME FROM: ${NODEST} – Blocking VM cause of key: ${DB(BLKVM_OVERRIDE)})
exten => s,n,Hangup
exten => vmx,1,GotoIf($["${ARG2}" = "DIRECTDIAL"]?3)
exten => vmx,2,SIPAddHeader(Diversion:<tel:${ARG1}>\;reason=no-answer\;screen=no\;privacy=off)
exten => vmx,3,Dial(SIP/ExchangeUM/222) exten => vmx,4,Hangup
*** in the last line “exten => vmx,3,Dial(SIP/ExchangeUM/222) exten => vmx,4,Hangup” you must replace “ExchangeUM” with the name you gave your trunk to exchange and you must replace “222″ with the initiator extension you assigned for voicemail in your Exchange Config. ***
Problem: When an outside caller is transferred to voicemail, they can leave a voicemail but it is not delivered to the users mailbox. Voicemails from inside callers are delivered but voicemails from outside callers are not.
Answer: You need to have the Hub Transport Service installed as well as the Exchange Unified Messaging role. This is true even if you do receive voicemails from inside callers (other extensions.) This is definitely true if you installed the UM role on a separate Exchange Server than your Mailbox server. Check the Application Event Log on the Exchange Unified Messaging role server and check http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Exchange&ProdVer=8.0&EvtID=1082&EvtSrc=MSExchange%20Unified%20Messaging&LCID=1033 , especially if you’re getting error 1082.
Hope you found this article useful. If you have any questions or require assistance with your computer or network in the Los Angeles, Orange County and Inland Empire area, give us a call at (888) 777-WURX.
Please like our company at http://www.facebook.com/itwurx
Even if it wasn’t useful, like us anyway!