Sunday, April 29, 2007

Accessing Exchange 2007 Unified Messaging: Introduction

This how-to guide takes you through the steps required to access Exchange 2007 Unified Messaging features, such as Outlook Voice Access, using the open source tools Asterisk/Trixbox and sipX.

I’ve worked in several IT departments over the years, and thankfully, I have never been required to provide support for a company’s telephony systems. It has been an arrangement that has served me well over time. As an IT Pro, I have never seen the need to know or care about how telephony systems worked. As long as I could configure the odd ADSL modem, as far as I was concerned, I didn’t need to know any more. In most organisations, PBX support is usually outsourced to an external company. Sometimes the IT department manages this relationship, but in my experience, wherever possible, the IT department tries to stay as far away from the phone system as possible.

Recently, I’ve come to the realisation that my telephony-ignorance is unavoidably going to have to go. The rapid expansion of VoIP technologies is seeing more and more businesses replace their aging legacy PBXs with IP based PBXs and handsets. Telephony systems will be integrated into our physical networks, run on our servers, and even integrate with our desktop PCs. There’s just no escaping it.

The IP-PBX does provide an array of benefits over traditional systems. It provides integration with existing infrastructure, lower overheads and allows for a high level of customisation. By making use of standards based technologies, businesses have a lot more options available to them for managing their internal and external business communications. The Unified Messaging features integrated into Microsoft Exchange Server 2007 highlight the industry trend of moving to IP-PBXs. A company can integrate their IP-PBX with Microsoft Exchange, and truly unify their business communications in a single place, which is accessible through all the well-known interface of Microsoft Outlook.

This means that it is time for IT Pros, especially those that work with Microsoft Exchange, to start getting familiar with the technologies associated with VoIP. Traditional telephony will eventually be replaced in the workplace, and I’m afraid the IT department will not be able to weasel its way out of it this time. :)

Fortunately, we can get experience working with VoIP and Exchange UM without an existing IP-PBX or Exchange 2007 infrastructure, and we can do so at little or no cost. Leveraging the power of virtualisation, we can setup a working system on a single PC. These instructions will detail how to set up a system that will allow you to make use of Exchange UM and familiarise yourself with the VoIP protocols, giving you a valuable heads-up for when VoIP makes its way into your workplace. This guide will take you though the steps required to connect to your Exchange Server via a SIP based phone, or through a standard PSTN telephone connection.

We will use two open source products, Asterisk and sipX, to access Exchange UM. Exchange utilises SIP (Session Initiation Protocol) over TCP to provide access to its Unified Messaging features. The IP-PBX software we will use is called Asterisk, and it uses SIP over UDP for communications. We will use a third product, sipX which handles both SIP/TCP and SIP/UDP and acts as a gateway between the two systems.

12 comments:

Alginald said...

Hi Ryan, Fantastic instructions, very clear. Much better than mine at alginald.blogger.com. Well done.

Ryan said...

Hi Alginald,

Couldn't have done it without yours to start with. In fact, I probably wouldn't have known it was even possible! hahaha.

Thanks for doing the research and 'piloting' this.

Ryan

Roger said...

Ryan,
I am trying to get the sipxpbx running on a FC server. I have downloaded and installed the the server per instructions on the source foundry website. However, the sipxpbx portion install seems to fail every time I attempt it. I thought this 3.7 install cd was both products together, but I only end up with the os installed when finished and have to manually try to install the sipx portion.

Any ideas or suggestions to try? I am trying to install this on a VMWare ESX host.

Ryan said...

Hi Roger,

I assume you are referring to the instructions at http://sipx-wiki.calivia.com/index.php/Installing_sipX_on_Fedora_and_Centos. Is the installation failing with any specific error messages? Check /var/log/messages for information that could be related to the failure. Email me - ryan at lithiumblue dot com with the details.

Anonymous said...

there is an easier way to do this, all you have to do is add a user on the sipx server and enable forward to external numbers for that extension, enter the forward as XXX@exchange.domain.tld, add the exchange fqdn (exchange.domain.tld.) to the sipx domain.tld.zone in /var/named add the record like this: exchange.domain.tld. (perid at end a must) IN A 192.x.x.x the will tell the phones where to find your exchange server, restart the sipx server and then make sure the forward is set to answer at same time and 1 second, and turn of voice mail for this extension. when you restart press the XXX and it will connect to the exchagne UM. it will do it in tcp because it's a forward. no need to modify any files on the server except the dns entry, and this is reachable from external PSTN Lines if you have sip trunk/gateway setup.

if you need help e-mail me jpinder@1uvoip.com

Mimmus said...

Can I use OpenSER, to do TCP <--> UDP conversion?

Ryan Newington said...

Hi Mimmus,

I believe so, but I haven't tried this myself.

Ryan

Anonymous said...

Great instructions, but I have a slightly different situation, I want to test right now using only sipx, using a simple 4 digit dial plan 4xxx, I get request timeout when testing, so I'm wondering what I need to do. Very shortly we will be going to a dialogic IP gateway, which I hope will handle everthing.

I like that what jpinder posted but not quite sure whathe means by XXX@server.com, is the XXX the extension?

And Ryan, what a great blog, best thing out there I can find.

Thanks,

Bernie

bmanderville(AT)cns-inc.com

LLee said...

Im very new to this realm but why would you even need Asterisk when SipX is already a SIP gateway to begin with? Why hot just use SipX as your VoIP PBX solution and tie in Exchange 2007 UM features?

Ryan Newington said...

Hi LLee,

You can, but Asterisk offers a lot more features. Some E2k7 UM features dont work with sipX either.

But for basic integration, as my guide says, you can stop after the sipx configuration.

Ryan

Anonymous said...

Hi Ryan, thanks for your excellent guide, worked like a charm.

Of course asterisk 1.6 now supports SIP over TCP, so I tried it today. First I tried to connect my eyebeam softphone with asterisk using TCP instead of UDP and that worked. Then I powered the SIPX proxy down, created a new trunk in asterisk, and modified the outbound route. In exchange I added a new gateway to asterisk. Outbound calling through Exchange UM (using the "listen on phone" feature in OWA did actually connect directly to the asterisk box and my phone was ringing and I was able to listen to the voicemailmessage.

The other way around isn't working now, when I do a sip show channels in asterisk CLI, I see that the channel is there, but all I get is invites and info request, after a while asterisk drops the call.

Damm halfway there..

Anonymous said...

awesome work ! thanks