Monday, October 29, 2007

OCS/Asterisk integration work in progress

UPDATE 17/12/2007: This information has been superseded by a more detailed post.

So I have finally gotten my act together and started my OCS/Asterisk integration. For those of you that don't want to wait for the full guide, you can start by configuring your dial plans in Asterisk and sipX to point to your mediation server. Add the following code into extensions_custom.conf

exten => s,1,NoOp(Entering custom-exchangevm for a call to ${DNID})
exten => s,n,Set(EXTTOCALL=${BLKVM_BASE})
exten => s,n,NoOp(Sending to Voicemail box ${EXTTOCALL})
exten => s,n,SIPAddHeader(Diversion: <tel:${EXTTOCALL}>\;reason=no-answer\;screen=no\;privacy=off)
exten => s,n,Dial(SIP/222@sipx.lithnet.local|30)

You will need to install the "Follow me" module in FreePBX. Then configure the follow me settings for each extension as shown so that both the Asterisk extension and the OCS phone ring at the same time. Note for each number that is external to the Asterisk system, you must append a hash (#) to the end of the number as shown below for 800 - my OCS extension.


More to come.


dave said...

I've spent most of today setting up Asterisk, SipX and Exchange 2007 as you've described in your article. I'm utterly astonished at how well written, and how very useful it's all been from a learning, and practical point of view.

This morning, I had two boxed IP phones and a partitionless PC and no knowledge whatsoever of VoIP; I've now got a fully functional phone system - amazing.

Please continue with your guide to connecting up OCS to Asterisk, I'm very eager to get it running.

It's people like you that make IT fun :)

Ryan Newington said...

Hi Dave,

Thanks for your message. I'm very happy that you were able to get your system up and running so quickly and learn a bit about VoIP at the same time.

The OCS integration is progressing. I did a whole lot of work tonight thats currently being 'peer-reviewed'. I will hopefully get some more info posted this week.

Thanks again for your feedback - it is appreciated.


Ron said...


I agree wholeheartedly with Dave's comments. This guide is amazing!

I followed your partial directions to start the OCS integration pieces, and figured out the rest on my own based on your Exchange integration instructions. I am able to fully route calls back and forth between Asterisk, OCS/Communicator, and Exchange seamlessly, including simultaneous ringing!

However, I am having problems getting the audio to work between OCS/Communicator and everything else. The funny part is - the call actually routes and connects properly, and even shows as connected when I answer...I just can't actually hear any audio on either end once the call is connected. Communicator to Communicator audio calls are working fine. Trixbox to Exchange calls are working fine. Communicator to Asterisk and vice versa - no audio. Any ideas? I'm not sure where to start, if this is a codec issue, or what.

I would appreciate any guidance (beta or otherwise) you can provide...

Thanks again for all your hard work!


Ryan Newington said...

Hi Ron,

This is exactly where I am at. I am working with other readers of this site and trying to get some assistance from Microsoft and the various Asterisk forums on this issue. Its not a codec problem. It looks like that both the OCS and Asterisk RTP stacks have a different bug in them, that when combined, cause the no audio problem we are experiencing.

Not the easiest of problems to resolve. :S


Dalcyon said...

Hi, maybe I could help.

I had this problem too with asterisk 1.2.x

I've just build 1.4.9 on the trixbox and it's seem to work.

There's sound but low quality.


Ryan Newington said...

Hi Dalcyon,

I would be interested in talking to you about your experiences. I am about to try a 1.4 build myself. Send me an email.



Anonymous said...

I'm quite interested in implementing all of this as a small project with MS's trial software. Have any of you made any more headway on the incompatibility?

Ryan Newington said...


Not yet. There are some real problems. We are working on it, and there seems to be some light at the end of the tunnel with the newer builds of Asterisk.


Anonymous said...

Okay cool. I'll keep an eye on the site via your RSS feed until there is more information. Thanks again.

hinsong said...

Hi all;

I am working on a project that would allow us to place a video call between OCS and Cisco CallManager 6.x. Today this doesn't work because the mediation server supports only voice traversal. The idea was that we could possibly "exchange" the Asterisk PBX with the mediation server in order to send both audio and video between Cisco and Microsoft platforms. Anyone use Asterisk in this fashion? I installed Asterisk 1.6beta9, because of its TCP support with SIP.

Ryan Newington said...

Hi hinsong,

You wont be able to use Asterisk in this manner. The mediation server is require to reencode the proprietry RT codecs to ones that the other system can handle. For any external integration, you will need a mediation server, unless the devices you are communciation with understand RTAudio and RTVideo.


john said...

Hi all,

Is any progress with the RTP problem with OCS and asterisk ?